C#简介:VC的NET,JAVA的KILLER?
2008-04-24 13:52
309 查看
第一篇 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++有什么区别和联系?
- ASP.NET(C#)-JAVA对接RSA加密签名-第四章
- java.net.URI 简介 文档 API
- J2EE vs. NET, Java vs. C#:比较公正的评价
- 关于vb.net和c#,c#和java语言的语法差异对比
- 将天文数字转换成中文大写(.Net/C#/VB/T-SQL/Java 实现)
- vc6,vc.net,vc7,vc8,vc9,c,c++,c#的区别与联系
- c#利用zlib.net对文件进行deflate流压缩(和java程序压缩生成一样)
- atitit.泛型编程总结最佳实践 vO99 java c++ c#.net php
- 用C#.NET调用Java开发的WebService传递int,double问题,出现java无法获得值!
- atitit.系统托盘图标的设计java swing c# .net c++ js
- C# ASP.NET程序员整合Java门户单点登录PHPwind论坛博客软件集成项目经验总结
- C#.NET中常用的类简介
- VS.NET(C#)-5.20_IIS6运行模型简介
- atitit.D&D drag&drop拖拽文件到界面功能 html5 web 跟个java swing c#.net c++ 的总结
- Atitit. 解压缩zip文件 的实现最佳实践 java c# .net php
- ASP.NET(C#)-JAVA对接RSA加密签名-第二章
- Atitit.跨语言反射api 兼容性提升与增强 java c#。Net php js
- ASP.NET、Java、ASP、C#、VB......编程所有视频教程