随着时代的进步科技的发展C++和C#版本也快速的提升与升级,下面我就对升级前和升级后的C++和C#、,做一下自己的解析。希望能够对大家有帮助,在这里拿出来和大家分享一下。
总的来说,C++和C#、Java的区别集中在以下几点:
(1)C#、Java代码编译后(形成中间代码)是在虚拟机上执行的。C++则不是。
(2)C#、Java语言相对于C++语言来说较为简单,比较容易上手。C++的语法特性多、复杂,较难掌握。
(3)C++语言本身是一个标准,各种实现之间有区别,对标准的理解、执行程度也不同。而C#、Java语言是由商业公司掌握的,在这方面很少有问题。
(4)C#、Java是直接面向应用的,各种标准、模型都很成熟。而C++的各种库在不同的C++编译器实现上可能遇到一些问题。
(5)三者都是面向对象的。C#、Java比C++更为彻底一些。有观点认为C#、Java是彻底地面向对象的语言,这种说法不妥,因为对于面向对象的语言,并没有一个特定的标准,例如也有观点认为最近很流行的Ruby语言比C#、Java更加面向对象。
(6)C++拥有很多现代的、令人激动的语言特性,例如模板、泛型编程等。在这一点上,C#和Java也在迅速跟进。
C++是一门精致的、艺术的编程语言。笔者认为,C++也是所有已知程序设计语言中最灵活、最难学的语言之一。学好C++基本上也意味着可以学好任一种其他的高级程序设计语言。图1.1对C、C++和C#、Java这4种语言的几个方面做了比较。
在介绍C++语言的主要应用领域之前,可以先介绍C++语言的使用者情况。C++语言之父Bjarne Stroustrup博士在一次关于C++的讨论中提到:“C++在经过前10年(1985-1994)的爆炸性增长之后,后10年(1995-2004)的使用人数一直在稳定地增长。”#t#
事实上,就笔者的周围环境来看,也的确如此,虽然这个增长的速度没有Java等语言快,但是使用C++的程序员人数仍然在增长。这说明,C++语言仍然跟得上“潮流”,仍然能够满足程序员和实际应用的需要。
目前,在Web开发上,C++和C#、没有多大的市场。在企业级的应用上,以Java、.NET(C#是其中重要的一员)居多,C++仍然占有一席之地。在系统级的开发上,C/C++应用居多。这3种语言各有特色。总的来说,C++的应用集中在如下主要领域。游戏:C++的效率是一个很重要的原因。
科学计算:在科学计算领域,FORTRAN是使用最多的语言之一。但是近年来,C++凭借先进的数值计算库、泛型编程等优势在这一领域也应用颇多。
网络软件:C++拥有很多成熟的用于网络通信的库,其中最具有代表性的是跨平台的、重量级的ACE库,该库可以说是C++语言最重要的成果之一,在许多重要的企业、部门甚至是军方都有应用。分布式应用。
操作系统:在该领域,C++和C#、是主要使用的编程语言。但是C++凭借其对C的兼容性,面向对象性质也开始在该领域崭露头角。设备驱动程序:也是因为效率的原因。移动(手持)设备。嵌入式系统。教育与科研。部分行业应用。 其他应用。