C#简介:VC的NET,JAVA的KILLER?
2001-02-10 15:45
656 查看
第一篇 C#简介:VC的NET,JAVA的KILLER?
C#是在C,C++的基础上发展起来的,是一种有网络风格,面向对象的跨语言平台的程序设计语言。C#的编译器输出的代码,可以称为‘受控代码’(MANAGED CODE),受控代码并不能在目标机器上直接运行,它形成了一种文件,包含了与传统计算机语言不同的语言:中间语言(INTERMEDIATE LANGUAGE)。同时,C#编译器又在该文件的各个数据类型前面直接插入了表示其相应的变化属性(METADATA),形成了一种可以移植执行的文件。公共语言环境(COMMON LANGUAGE RUNTIME),再对中间语言IL代码进行编译,最终产生可以在目标机器上执行的本地二进制代码。
C#没有了C++的一些特性:没有宏,模板,多重继承,指针及许多重载的操作符,当然还没有全局函数,全局变量,常量。每一样东西都得放在一个类中。你看,这些其实和JAVA的完全一样!
当然还有些不一样的地方:整个C#的类模型是建立在.NET虚对象系统(VIRTUAL OBJECT SYSTEM)之上的。对象模型是基础结构(INFRASTRUCTURE)的一部分。C#遵守CLS, 在此基础上,具有良好的兼容性:可以访问老的COM组件对象,OLE自动化,以及本地的API (它们通常是C格式的DLL)。在开发者需要使用指针时,可以通过非安全代码,不运行在缺省的安全模式,来使用它们。在这种模式下,你得管理好自己的内存,保证类型的安全。
了解了C#的大致原理,我们可以看出,它能够实现各种计算机语言的集成,面向网络应用,从而最终构成微软的.NET构架。同时,将我们的软件开发带入组件化的天地。
C#是在C,C++的基础上发展起来的,是一种有网络风格,面向对象的跨语言平台的程序设计语言。C#的编译器输出的代码,可以称为‘受控代码’(MANAGED CODE),受控代码并不能在目标机器上直接运行,它形成了一种文件,包含了与传统计算机语言不同的语言:中间语言(INTERMEDIATE LANGUAGE)。同时,C#编译器又在该文件的各个数据类型前面直接插入了表示其相应的变化属性(METADATA),形成了一种可以移植执行的文件。公共语言环境(COMMON LANGUAGE RUNTIME),再对中间语言IL代码进行编译,最终产生可以在目标机器上执行的本地二进制代码。
C#没有了C++的一些特性:没有宏,模板,多重继承,指针及许多重载的操作符,当然还没有全局函数,全局变量,常量。每一样东西都得放在一个类中。你看,这些其实和JAVA的完全一样!
当然还有些不一样的地方:整个C#的类模型是建立在.NET虚对象系统(VIRTUAL OBJECT SYSTEM)之上的。对象模型是基础结构(INFRASTRUCTURE)的一部分。C#遵守CLS, 在此基础上,具有良好的兼容性:可以访问老的COM组件对象,OLE自动化,以及本地的API (它们通常是C格式的DLL)。在开发者需要使用指针时,可以通过非安全代码,不运行在缺省的安全模式,来使用它们。在这种模式下,你得管理好自己的内存,保证类型的安全。
了解了C#的大致原理,我们可以看出,它能够实现各种计算机语言的集成,面向网络应用,从而最终构成微软的.NET构架。同时,将我们的软件开发带入组件化的天地。
相关文章推荐
- C#简介:VC的NET,JAVA的KILLER?
- C++,C#,VC,VC.net,java以及VC++有什么区别和联系?
- .Net/C#/VB/T-SQL/Java 实现: 将天文数字转换成中文大写 (2000 年前的思路,打劫的,一点儿技术含量都没有)
- 从java到c# .net的转变(1)
- 将天文数字转换成中文大写(.Net/C#/VB/T-SQL/Java 实现)
- 从java到c# .net的转变——AJAX领悟
- UML工具推荐 Poseidon版本 可以免费下载,自动生成代码 C++ Java C# VB.NET等 (来自德国汉堡的国际性建模软件开发商Gentleware AG的)
- Java vs C# —— J2ee与ASP.NET平台电子企业的两种构想(8)
- 在VC.net MFC对话框中调用C#组件
- Java vs C# —— Sun关于VB.NET和Java对比的文章
- (轉貼) Anders Hejlsberg談C#、Java和C++中的泛型 (.NET) (C#)
- (原創) 一個關於constructor的觀念問題 (C/C++) (.NET) (C#) (Java)
- 从vc++ 到 visual c#.net
- (轉貼) C++,C#,Java功能比較 (.NET) (C#) (C/C++)
- C# vs Java —— Java剑 VS .NET刀 -- 东山再起(论模式)(二)
- vc++.net 移植到 C#中的几点注意事项
- J2EE vs. NET, Java vs. C#:比较公正的评价
- J2EE vs. NET, Java vs. C#:比较公正的评价
- Java vs C# —— JSP与ASP.NET简单之比较!
- .Net/C#/VB/T-SQL/Java 实现: 将天文数字转换成中文大写 (2000 年前的思路,打劫的,一点儿技术含量都没有)