【发布时间】:2011-11-17 17:49:35
【问题描述】:
我对 .NET 究竟是什么感到困惑。我是一名计算机科学专业的学生,使用 C++ 完成了大量 Win32 (WinAPI) 编程,并且非常了解 Win32 函数如何与 COM 和 Windows 内核本身交互。
但是 .NET 在哪里适合这一切呢?
具体来说,如果 Win32 是用 C 编写的 API,那么 .NET 是什么?它也是用 C 编写的 API 吗?是否只能在 Win32 等 Windows 操作系统上运行?
.NET 是否在 Win32 API 之上运行?例如,一个 .NET 函数
showWindow()(显然是我编造的)在幕后调用 Win32 函数来显示窗口,还是直接进入内核执行此操作?还是 .NET 就像 Java 虚拟机?.NET 是否直接与 Windows 内核交互(如 Win32)并与 COM 对象交互? .NET 是否在沙盒中运行并且不允许对某些操作系统区域进行某些访问?
我可以使用 Win32 API 以不同的语言编写代码,例如 c/c++、VB、Perl。我可以在 .NET 中编写哪些语言?
这才是真正让我难过的地方。我听说过用 .NET 编写的 Web 应用程序?什么,怎么,什么?它是用什么语言写的? .NET 是否在 IE 之上运行? .NET Web 应用程序可以在 Firefox 或 Safari(MacOS) 上运行吗?是像 java 小程序一样的 .NET Web 应用程序,您是否也获得了 .NET 驱动程序。
【问题讨论】:
-
值得先搜索一下,这里是一个很好的起点:en.wikipedia.org/wiki/.NET_Framework
-
什么是框架...,总之.Net就像Java虚拟机
-
@Jodrell 不,Net Framework 就像 Java 平台。 .NET 运行时类似于 JVM,.NET 库类似于 Java 类库。
-
@xanatos,好的,你找到我了。我的评论不合时宜,但仍然很短。