先说C和C++ C面向过程,C++面向对象,但与C向后兼容,也就是有C语言的东西。效率C比C++更高点 Java和C#,可以归为一类,都是完全面向对象的。C#有80%是模仿Java再添加自己的20%的东西,例如有了属性这么一个概念,其实就和Java的get、set差不多。Java是运行在Java虚拟机上的,C#是运行在微软运行时环境的,好像简称CRL什么的,忘了。 Java是完全跨平台的,不需要做任何更改便可以移植到其他平台,C#理论上来说也可以跨平台,但是,微软为了自己的利益(暂且这么说),没有开发其他平台相关的运行时环境。 C++和C也是跨平台的,不过移植的时候大部分时候需要进行一定修改,不过写的好的程序只进行少量修改就行。之所以没有Java的跨平台性那么好,是因为他们并非运行在虚拟机上,所以效率自然比Java高很多。 这几种语言都接触过,不过我的方向是Java,另外C++自学。 其实搞懂这些没什么用处,主要是看你用来做什么,如果做B/S程序,Java是首选、C#也不错。 如果开发应用软件,现在一般是C++、做游戏也是C++。 如果更底层,当然是C和汇编了
C语言:
目前最著名、最有影响、应用最广泛的windows、linux和UNIX三个操作系统都是用C语言编写的。0S是计算机系统(由软硬件两个子系统构成)的核心和灵魂,它是软件中最庞大最复杂的系统软件。既然如此庞大复杂的0S都可以用c语言编写,从狭义而言,还有什么系统软件和应用软件不能用c语言编写呢?由此可以肯定的说,c语言是一门十分优秀而又重要的语言。
c语言程序设计是过程性程序设计语言,它的发展贯穿了计算机发展的历程,它蕴含了程序设计的基本思想,囊括了程序设计的基本概念,所以它是理工科高等院校的一门基础课程。
从市面上有关c语言的书籍和高等院校采用的教材来看,它们有一个共性,那就是:脱离了实际应用(全是小打小闹的小例子),纯粹的过程性程序设计,没有软件工程思想的体现,没有一定程序设计风格,仅仅是为了让大家明白什么是c语言而已。
高等院校开设c语言程序设计的目的是让学生对程序设计有个入门,有个直观的理解,同时为其他后续课程作铺垫。
C++:
C++语言是在C语言的基础是扩展而成的.所以两种语言的基本语法和语义是相同。C++中加入了面向对程序设计(OOP)的特征。
下面的三个主要性质刻划OOP语言的特点:
封装性:把一个数据结构同操作的函数(行为或方法)组合在一起。封装性是借助于一种新的结构和数据类型机制——类实现的。
继承性:建立一个新的派生类,它从一个或多个先前定义的基类中继承函数和数据,而且可能重新定义或加进新的数据行为,这样就建立了类的层次。
多态性:给行为取一个名字或符号,它共享一个类的层次,在这个层次中的每个类都以适合自己的方式实现这个行为。
C#:
C#(读做 "C sharp",中文译音“夏普”)是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言,并定于在微软职业开发者论坛(PDC)上登台亮相.C#是微软公司研究员Anders Hejlsberg的最新成果.C#看起来与Java有着惊人的相似;它包括了诸如单一继承,界面,与Java几乎同样的语法,和编译成中间代码再运行的过程.但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司.NET windows网络框架的主角.
Java:
Java是一种可以编写跨平台应用软件的面向对象的程序设计语言,由升阳(太阳微电子,Sun Microsystems)公司的James Gosling等人于1990年代初开发的.具有以下特征的高级程序语言:
简单 面向对象 可分布 可解释 强壮 安全性 结构化 轻便 功能强大 多线程 动态...
Java既可以被编译,也可以被解释。通过编译器,可以把Java 程序翻译成一种中间代码 - 称为字节码 - 可以被Java解释器 解释的独立于平台的代码。通过解释器,每条Java字节指令被 分析,然后在计算机上运行。只需编译一次,程序运行时解释 执行。