网站建设
移动互联网
品牌设计
创新应用
新闻动态
网站百科

我该学习什么编程语言_编程语言大比拼

时间:2012-05-18 来源:尚品中国 类型:网站百科
字号:   

网站制作公司尚品中国(www.sino-web.net):“我该学习什么语言?”进来看看便知道了
机器语言:纯粹的机器代码
汇编语言:8086汇编、Win32汇编、.NET的汇编
高级语言:
Java、Basic、Pascal、Object Pascal、C、C++、C#、ASP、ASP.NET、Perl、PHP、SQL、FoRTRAN 等等
Visual Basic、Visual Basic.NET、Delphi、Visual C++、C++ Builder、C# Builder、Visual Foxpro 等等
上面一排都是纯粹的编程语言,而下面一排都是经过发展过后的编程语言(应该可以这么说吧)下面我们对各种语言进行简单的介绍:
机器语言:机器语言是有0,1,0,1的二进制代码组成,可以有计算机直接执行。效率最高,但是通用性不强,对于不同的硬件需要不同的程序。说白了,不适合人来编程。
汇编语言:效率稍微低于机器语言,通过简单的助记符来替代繁琐而枯燥的0,1代码。同样的通用性不强,对于不同的硬件需要设计不同语言。学习曲线比较大,需要硬件知识很多。介于其特殊的性质,在某些行业中得到广泛的应用。
高级语言:通过人类可以识别的自然语言(主要是英语)来进行编程,效率再次降低,但是程序编制难度和可读性大幅提高。可移植性好,实用性较好。比较适合大规模开发,是现在大多数人选择的语言。而且Java语言的出现在一定程度上解决了由于平台的不同所导致的移植困难的情况。对于企业来说成本也大大降低了,现在市场上大多数的企业级应用软件几乎都是由JAVA实现的,最近几个月的统计结果表明,JAVA在开发市场所占的比例越来越大!
=======================================
Basic
微软公司上个世纪八十年代(具体什么时候我不记得了)推出的计算机语言,当时造成了计算机软件开发世界的强烈震动,它的出现将很多程序员由枯燥的编码中解放出来,而有更多的精力来进行程序结构的开发。(因为我很早前曾经学习过这个语言,对其有一定程度的了解)但是,它同C、Pascal语言一样,是结构化语言,在对待大型开发中会觉得逐渐力不从心,程序员需要关注的内容实在太多了。其实现在来说,学习Basic已经没有什么意义了。因为它的改进版本Visual Basic和Visual Basic.NET无论是在功能上还是在实用性上都大大地超过了他们的祖先。

 

--------------------------------------------------------------------------------------

多媒体和网络时代中,C++,Delphi,Java,还是C#?
2002-07-13

在应用领域,C/C++不算高级语言,对硬件和系统程序员才算。虽然C++首脑任务坚称C++的地位不会有太大变化,但.net和Java的对抗很可能最终将其踢出主赛局。

在多媒体、游戏等领域,据gamedev.net的资料,此领域以C++为主流。PS2,XBox等纯游戏机上只有C/C++可用,几乎所有的大游戏公司用C++,但近两年有一些采用其他语言的尝试。总的来说,大部分是C++,有一些是用的Delphi,一小部分是VB,很少的Java。从很久之前起,个人和小团体开发用VB的就较多,基本上都是不喜欢C/C++的人,现在因为考虑移植能力而转向Delphi和Java,当然也有转用C++的。最近由于新技术出现较多,基于C++的支持库变得更为复杂,于是出现很多对于Java替代C++的可行性的讨论,有比较可靠的说法是在较好的优化下配合最新的JIT,可以达到同等C++程序速度的1/4,图形密集程序在使用OpenGL生接口时与同等C++程序速度差不多,但Java3D接口很慢。现在有微软在力推.NET平台,C++在此没有什么优势,可能对今后的局势有较大的影响。

Pascal前途难料,苹果出了基于FreeBSD核心的MacOS X,这回是彻底的C/C++系统了,CodeWarrior放弃了Pascal编译器的开发,主推C++、Objective-C、Java,只剩下Pascal社区和民间的编译器在撑腰呐喊。Borland的OP倒是火得很,可惜Pascal没有严格标准,没有其他编译器能很好的兼容Borland的OP。

网络,当前商家的淘金之地,继浏览器之争之后,微软又被Sun的Java抢了先,不得不和与他一样的behemoth抢夺地盘。C++默默地筑造着网络的基础。

C++:在传统领域,如算法研究、数据计算、各种底层系统,几乎就是C/C++的天下,尤其在Unix类机器上。由于编程资源非常集中,以致很难不选择C++。C++有统一的标准,各种硬件平台都有它的编译器。有几年历史的大公司的软件也大多是基于C++的,大量的编程库资源也是基于C/C++的。理论上,C++能做任何事情。C++有强大的类型定义能力,如无所不包的对象模型、算符重载、模版、宏,可以对自己做扩充和定义;另一方面,也导致C++异常复杂、难维护,且编译速度很慢。因此也有很多人把C++当成更好的C用,不用C++中的复杂功能,这在游戏编程中很常见,因为他们更愿意把大部分精力放在实现感兴趣的功能而不是代码上。而兴趣在程式上的人则偏爱竭尽语言的能力,写出各种高明的代码,很可能是非常难懂的代码,但非常高效好用,例如C++标准模版库。在新兴领域,C++的处境就比较艰难,没有统一的高层工具库,而且工作量很大,而且是不必要又不得不的大。而且C++背后的权威人物Bjarne Stroustrup(就是在C++中加入dynamic_case<type>“这种丑陋语法”的人,用他自己的话说:P)拒绝改进C++语言,只推动改进C++库。所以C++的地位基本稳定的固定,既不会消亡,也不会扩大。其他评价:黑客级人物必用,不适合入门教学用途。

Delphi:确切的说是Object Pascal。简单直观而又强大是最直接的理由。不需要去花多少心思考虑语言实现,想什么写什么,而又不失C++的高效,甚至某些部分执行速度快过C++,如部分字符串操作和文件读写缓冲等,编译速度狂快(由语言特性决定)。包含大量好的新语言特性,拥有既简洁又强大的运行库和对象库,直接集成COM、Corba、网络组件、数据库,支持Windows、Linux,并即将支持.NET平台。在Delphi社区,对Delphi的支持是近乎狂热的,成员们拿出自己最得意的源代码来共享,如果你是新手,又想快速成为高手,Delphi是最佳选择。但你来自C++背景,你会对begin..end、不能随处声明变量、没有++运算符等感到反感;如果你喜欢复杂的代码且很熟悉STL并大量使用,你会因Delphi没有模版而失望。Delphi提供了大部分的系统API接口,但也有很多欠缺,Delphi社区提供了大量的API接口或封装,如DirectX(Delphi不需要导入库和静态库,百兆的C/C++SDK的Delphi版只有几兆:P)、OpenGL1.2的接口和封装,但一般会有几种不同的版本,质量好坏不一,当然也未必比Borland提供的差,事实上Borland也用社区提供的源代码。只有Borland一家做OP的编译器,没有业内标准,没有其他选择,虽有可部分兼容OP的FreePascal,可没有了Delphi的库的编译器的吸引力就少了大半。由于Delphi刚兴起没几年,使用它的公司还不多,组织倒有不少。如果你将找工作,一定弄清你要工作的领域是否多用Delphi,如数据库领域就是。其他评价:节省你一大笔时间,可以给你充分的机会改进你的程序或出去玩;)。

Java:由C++简化而来。Sun对Java语言的设计上的确有很大创新,当年博得一致的喝采。语言并不必须复杂才能强大,就像在微软还是英雄的年代Bill Gates说他能用Basic做到C能做到的任何事情。Java也正是如此。由虚拟机执行Java程序,不依赖于平台,这是给程序员的一大福音。尤其对于互联网,Java是具有天生的资质。但由于Sun的一些失误,也使Java有了些不好的名声和导致Java没有达到预期的前景。一是Sun的虚拟机速度太慢且不好的垃圾收集算法导致宝贵的内存资源极度浪费,除非空闲物理内存大于程序所需全部内存,否则系统就会严重受垃圾收集的影响,这个弊病遭到强烈的抨击。现在的虚拟机技术要比以前强了不少,我个人觉得其他厂商提供的Java虚拟机都比Sun的好。二是糟糕的类库。Sun对PC的了解远不如对他们的高端服务器和工作站,设计的类库也是浓烈的Sun的味道,而且各部分风格不一,似乎是很多缺少交流的人写出的。熟悉PC编程的人会觉得极为罗索冗长且怪异低效,以致出现很多其他替代类库(微软就做了两套)。这个问题到1.2版出台时才有些改善。三是Sun拒将Java交给标准局,做虚拟机需Sun授权。因此,Java现在集中在电子商务领域,由于其跨平台能力,其地位基本上是不可替代的。其他评价:网络应用必学。

C#:新品种的C++,被称作C++--。可以说迎合了大部分C++程序员的愿望,即保持C++的强大又做了适度的简化,同时加入了时髦的语言特性,基于.NET平台,简单的说,太棒了。但是等等,C#并不完美,如果你是C++程序员,你未必完全喜欢它。而且由于C#是新东西,还没有多少资源可用。总之,这里还是未开垦的土地,虽然很有吸引力,但你必须对是否踏进这片土地非常谨慎。如果你是决心跟着微软走的,而且已有编程经验,那么可以放心地拿起C#。其他评价:将来很可能是Java的劲敌,微软的主要开发工具。

Pascal
结构化语言,语法结构严谨,易于教学。相对于C语言,缺乏一定的灵活性。但是正是其严谨的语法,很多Pascal程序员倾心于其“诗篇一样的结构”,曾经一直是大专院校计算机专业必学的语言。它的改进版本Object Pascal和Delphi都超过了它。
Object Pascal
改进版的Pascal,它是面向对象的Pascal,是Delphi语言的核心。
C
上个世纪七十年代又贝尔实验室开发,当时他们是为了解决一个实际问题,将B语言改进后得到的,后来贝尔实验室又用它重写了UNIX操作系统。是所有工科学生和计算机学生必须学习的语言。它的特点很多了:贴近硬件,执行效率高,使用灵活,功能强大。但它毕竟还是结构化编程语言。在进行大型开发上显得还是有点力不从心,往往编程人员需要绞尽脑汁想出各种“精巧”的算法来实现某个目的。不过在学习操作系统和进行单片机开发上,它的作用是举足轻重的。
C++
C语言的改进版本,保留了C语言所有特性的同时添加进了面向对象思想。这个特性导致了他在很多大型开发上有得天独厚的优势。在很多领域中有很强的生命力,直至今日,此语言还是在不断发展中,新技术曾出不穷。关于C++的介绍是在实太多了,网上随便一搜一大堆。我就不多说了。

Java
Java是一种简单的,面象对象的,分布式的,解释的,键壮的安全的,结构的中立的,可移植的,性能很优异的多线程的,动态的语言。Java语言其实最是诞生于1991年,起初被称为OAK语言,是SUN公司为一些消费性电子产品而设计的一个通用环境。他们最初的目的只是为了开发一种独立于平台的软件技术,而且在网络出现之前,OAK可以说是默默无闻,甚至差点夭折。但是,网络的出现改变了OAK的命运。在Java出现以前。Internet上的信息内容都是一些乏味死板的HTML文档。这对于那些迷恋于WEB浏览的人们来说简直不可容忍。他们迫切希望能在WEN中看到一些交互式的内容,开发人员也极希望能够在WEB上创建一类无需考虑软硬件平台就可以执行的应用程序,当然这些程序还要有极大的安全保障。对于用户的这种要求,传统的编程语言显得无能为力,面SUN的工程师敏锐地察觉到了这一点,从1994年起,他们开始将OAK技术应用于WEB上,并且开发出了HotJava的第一个版本。当SUN公司1995年正式以Java这个名字推出的时候,几乎所有的WEB开发人员都想到:噢,这正是我想要的。于是Java成了一颗耀眼的明星,丑小鸭一下了变成了白天鹅。Java语言具有:与平台无关性、安全性、面向对象,分布式等诸多特点,使它成为了当今计算机界炙手可热的语言,具有大量的拥护者。
ASP/ASP.NET/PHP/Perl
这些都是网页开发使用的语言。所有有志于网页开发的朋友应该考虑他们,我其实不是很熟悉这些语言(只简单的接触过ASP),不敢乱说,以免误人子弟。有兴趣的朋友可以考虑一下。
SQL
结构化查询语言,主要用于数据库开发。但很多现代的语言(Delphi等)都支持内嵌SQL,有数据库开发需求的朋友要考虑一下此语言。
FORTRAN
最初应美国国防部需要而开发的语言。擅长于科学计算,主要用于高校之中。据说前不久推出的FoRTRAN改进版本有很大的改进。
Visual Baisc、Visual Baisc.NET
它们都是由basic改进而来。其中Visual basic是解释型语言,编译速度快,可以实时调试,但它并不是完全的面向对象,多线程开发比较困难。但其最大的优点是简单!Visual Baisc.NET是基于微软.net平台的新的语言,(注意它和VisualBasic是完全不同的语言)面向对象,可以进行嵌入式开发。与asp.NET结合紧密。并且在性能上大大提高。可以说也很有发展前途。
Visual C++/C++ Builder
都是C++语言的开发环境,可以使用户更方便的开发Windows程序。Visual C++是微软公司的产品,而C++ Builder是Borland 公司的产品。
C# builder
Borland公司的C#开发环境。
Delphi
Borland公司的旗舰产品。Object Pascal的集成开发环境,具有强大的数据库功能、高效的编译速度和方便快捷的开发,使得很多公司选用Delphi作为首选开发语言。
那么这样种类繁多的语言我们该选什么呢?总的原则是,你需要什么样的语言,那你就选择什么样的语言。你对什么语言感兴趣就选择什么语方言,我个人还是比较看重JAVA的前景的,大家可以从最近几个月的开发语言排行榜中看出来,下面针对几类人进行分析:
完全新手:
以前并没有接触过编程,对计算机编程没有什么了解,学习编程的目的是想探究看似神秘无比的程序别后到底隐藏了什么。这样的朋友建议学习Java,或asp.net。原因是足够简单,上手快,成就感强,而且JAVA相对来说实用性更强一些,更容易就业。
工作性质偏向硬件(嵌入式开发):
汇编和C语言,尽管汇编比较难学,对硬件知识要求很高,但是你的工作性质决定了你必须走这条路线。C语言虽然不适合大规模开发,但其对硬件的操控还是有得天独厚的优势的,目前为止C还是占据了硬件开发相当大的市场。
高校工科学生:
java/C++,C++固然优秀,但是如果你想用C++开发优秀而稳定的Windows程序并非易事,而且学习曲线比较大,需要投入大量时间。Delphi,有很多人说它已经没有前途了,其实我不这样认为的,也许它的未来是前途未卜,但是它的过去和现在还是做得很优秀!对于一些中小型的电子商务类的网站,PHP还是有他的市场,java是最近几年新兴的语言,它的发展速度惊人,现在越来越多的软件都在基于JAVA的基础上开发,特别是web方面的,现在JAVA已经开向往硬件的方向延伸,现在整个开发市场大概百分之六十被JAVA占据,它上手比C++快,可移植性能比较强,对硬件的控制能力也不差。
高校的文科学生:
Visual Foxpro好像是你们必须学习的吧,至少在我们学校是这样的。这个主要是面向数据库开发的。其实对于你们将来的应用,这个已经是够了。如果还有更强烈的编程兴趣,学习JAVA吧。
短时间要拿出成果的工作人员:
以前在学校中学习过编程,有一定的基础,不过学习完后就没有怎么用过编程了。但是由于工作需要,必须在短时间内拿出个像样的程序。那么你还是选择JAVA吧,理由前面已经说过了。
反对微软垄断、喜爱开源的朋友:
C++或Java都是不错的选择,只要你学习了C++,那么你一定要关注开源社区,Java现在具有强大的生命力,在各个领域都遍地开花,并且在整个语言在不断发展和完善之中。
搞互联网开发的朋友:
Java,C#,ASP/ASP.Net/PHP都可以。建议你们能结合开发工具(如Dreamweaver),那样必然会事半功倍。

------------------------------------------------------------------------------------

C语言和C#、C++有 什么区别
2008-11-15

C++ Builder
C++ Builder是由Borland公司 继Delphi之后又推出的一款高性能可视化集成开发工具。C++ Builder具有快速的可视化开发环境:只要简单地把控件(Component)拖到窗体(Form)上,定义一下它的属性,设置一下它的外观,就可以快速地建立应用程序界面;C++ Builder内置了100多个完全封装了Windows公用特性且具有完全可扩展性(包括全面支持ActiveX控件)的可重用控件;C++ Builder具有一个专业C++开发环境所能提供的全部功能:快速、高效、灵活的编译器优化,逐步连接,CPU透视,命令行工具等。它实现了可视化的编程环境和功能强大的编程语言(C++)的完美结合。

C++ Builder优化的32位原码(Native Code)编译器建立在Borland公司久经考验的编译技术基础之上,提供了高度安全性、可靠性、快速性的编译优化方法,完全编译出原始机器码而非中间码,软件执行速度大大提高。在编译和连接过程中,C++ Builder自动忽略未被修改的原代码和没有使用的函数,从而大大提高了编译和连接速度。C++ Builder的CPU透视工具包括五个独立的小面板,可以对正在运行程序从内部进行深层次的了解。另外C++ Builder还提供了一个专业开发环境所必需的命令行工具,以帮助建立C++程序或者准备编译和连接的程序进行更精细的控制。

C++ Builder可以编译所有符合ANSI/ISO标准的原代码,支持最新ANSI C++/C语言特征:模板(Templates)、例外(Exceptions)、运行类型信息(Runtime Type Information)、Namespaces等,另外它还可以使用标准C++库且支持标准模板库(STL),以前的所有C++/C原代码可以不经过修改,直接移植到C++ Builder环境下来。C++ Builder完全支持32位长文件名、多线程程序设计,且允许程序员直接调用任何Win95和NT API函数。

C++ Builder的集成开发环境(IDE)提供了可视化窗体设计器、对象观察器、控件板、工程管理器、集成编辑器和调试器等一系列可视化快速应用程序开发(RAD)工具,让程序员可以很轻松地建立和管理自己的程序和资源。

----------------
Visual C++
Visual C++是一个功能强大的可视化软件开发工具。自1993年Microsoft公司推出Visual C++1.0后,随着其新版本的不断问世,Visual C++已成为专业程序员进行软件开发的首选工具。

虽然微软公司推出了Visual C++.NET(Visual C++7.0),但它的应用的很大的局限性,只适用于Windows 2000,Windows XP和Windows NT4.0。所以实际中,更多的是以Visual C++6.0为平台。

Visual C++6.0不仅是一个C++编译器,而且是一个基于Windows操作系统的可视化集成开发环境(integrated development environment,IDE)。Visual C++6.0由许多组件组成,包括编辑器、调试器以及程序向导AppWizard、类向导Class Wizard等开发工具。 这些组件通过一个名为Developer Studio的组件集成为和谐的开发环境。

Visual C++它大概可以分成三个主要的部分:

1. Developer Studio,这是一个集成开发环境,我们日常工作的99%都是在它上面完成的,再加上它的标题赫然写着“Microsoft Visual C++”,所以很多人理所当然的认为,那就是Visual C++了。其实不然,虽然Developer Studio提供了一个很好的编辑器和很多Wizard,但实际上它没有任何编译和链接程序的功能,真正完成这些工作的幕后英雄后面会介绍。我们也知道,Developer Studio并不是专门用于VC的,它也同样用于VB,VJ,VID等Visual Studio家族的其他同胞兄弟。所以不要把Developer Studio当成Visual C++, 它充其量只是Visual C++的一个壳子而已。这一点请切记!

2. MFC。从理论上来讲,MFC也不是专用于Visual C++,Borland C++,C++Builder和Symantec C++同样可以处理MFC。同时,用Visual C++编写代码也并不意味着一定要用MFC,只要愿意,用Visual C++来编写SDK程序,或者使用STL,ATL,一样没有限制。不过,Visual C++本来就是为MFC打造的,Visual C++中的许多特征和语言扩展也是为MFC而设计的,所以用Visual C++而不用MFC就等于抛弃了Visual C++中很大的一部分功能。但是,Visual C++也不等于MFC。

3. Platform SDK。这才是Visual C++和整个Visual Studio的精华和灵魂,虽然我们很少能直接接触到它。大致说来,Platform SDK是以Microsoft C/C++编译器为核心(不是Visual C++,看清楚了),配合MASM,辅以其他一些工具和文档资料。上面说到Developer Studio没有编译程序的功能,那么这项工作是由谁来完成的呢?是CL,是NMAKE,和其他许许多多命令行程序,这些我们看不到的程序才是构成Visual Studio的基石。
---------------------------
c#
C#(读做 "C sharp",中文译音“夏普”)是微软公司在去年六月发布的一种新的编程语言,并定于在微软职业开发者论坛(PDC)上登台亮相.C#是微软公司研究员Anders Hejlsberg的最新成果.C#看起来与Java有着惊人的相似;它包括了诸如单一继承,界面,与Java几乎同样的语法,和编译成中间代码再运行的过程.但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司.NET windows网络框架的主角.
-----------------------------
c语言
C语言是目前世界上流行、使用非常广泛的高级程序设计语言。

C语言对操作系统和系统使用程序以及需要对硬件进行操作的场合,用C语言明显优于其它高级语言,许多大型应用软件都是用C语言编写的。

C语言具有绘图能力强,可移植性,并具备很强的数据处理能力,因此适于编写系统软件,三维,二维图形和动画它是数值计算的高级语言。

常用的编译软件有Microsoft Visual C++,Borland C++,Watcom C++ ,Borland C++ ,Borland C++ Builder,Borland C++ 3.1 for DOS,Watcom C++ 11.0 for DOS,GNU DJGPP C++ ,Lccwin32 C Compiler 3.1,Microsoft C,High C,TurboC等等......


C语言的发展历史

C语言的发展颇为有趣。它的原型ALGOL 60语言。(也成为A语言)

1963年,剑桥大学将ALGOL 60语言发展成为CPL(Combined Programming Language)语言。

1967年,剑桥大学的Matin Richards 对CPL语言进行了简化,于是产生了BCPL语言。

1970年,美国贝尔实验室的Ken Thompson将BCPL进行了修改,并为它起了一个有趣的名字“B语言”。意思是将CPL语言煮干,提炼出它的精华。并且他用B语言写了第一个UNIX操作系统。

而在1973年,B语言也给人“煮”了一下,美国贝尔实验室的D.M.RITCHIE在B语言的基础上最终设计出了一种新的语言,他取了BGPL的第二个字母作为这种语言的名字,这就是C语言。

为了使UNIX操作系统推广,1977年Dennis M.Ritchie 发表了不依赖于具体机器系统的C语言编译文本《可移植的C语言编译程序》。

1978年Brian W.Kernighian和Dennis M.Ritchie出版了名著《The C Programming Language》,从而使C语言成为目前世界上流行最广泛的高级程序设计语言。

1988年,随着微型计算机的日益普及, 出现了许多C语言版本。由于没有统一的标准,使得这些C语言之间出现了一些不一致的地方。为了改变这种情况,美国国家标准研究所(ANSI)为C语言制定了一套ANSI标准, 成为现行的C语言标准 3.C语言的主要特点 。C语言发展迅速, 而且成为最受欢迎的语言之一, 主要因为它具有强大的功能。许多著名的系统软件, 如DBASE Ⅲ PLUS、DBASE Ⅳ 都是由C 语言编写的。用C语言加上一些汇编语言子程序, 就更能显示C语言的优势了,象PC- DOS 、WORDSTAR等就是用这种方法编写的。

C语言的特点

1. 简洁紧凑、灵活方便

C语言一共只有32个关键字,9种控制语句,程序书写自由,主要用小写字母表示。它把高级语言的基本结构和语句与低级语言的实用性结合起来。 C 语言可以象汇编语言一样对位、字节和地址进行操作, 而这三者是计算机最基本的工作单元。

2. 运算符丰富

C的运算符包含的范围很广泛,共有种34个运算符。C语言把括号、赋值、强制类型转换等都作为运算符处理。从而使C的运算类型极其丰富表达式类型多样化,灵活使用各种运算符可以实现在其它高级语言中难以实现的运算。

3. 数据结构丰富

C的数据类型有:整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等。能用来实现各种复杂的数据类型的运算。并引入了指针概念,使程序效率更高。另外C语言具有强大的图形功能, 支持多种显示器和驱动器。且计算功能、逻辑判断功能强大。

4. C是结构式语言

结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰, 便于使用、维护以及调试。C语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。

5. C语法限制不太严格、程序设计自由度大

一般的高级语言语法检查比较严,能够检查出几乎所有的语法错误。而C语言允许程序编写者有较大的自由度。

6. C语言允许直接访问物理地址,可以直接对硬件进行操作

因此既具有高级语言的功能,又具有低级语言的许多功能,能够象汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元,可以用来写系统软件。

7. C语言程序生成代码质量高,程序执行效率高

一般只比汇编程序生成的目标代码效率低10へ20%。

8. C语言适用范围大,可移植性好

C语言有一个突出的优点就是适合于多种操作系统, 如DOS、UNIX,也适用于多种机型。

当然,C语言也有自身的不足,比如:C语言的语法限制不太严格,对变量的类型约束不严格,影响程序的安全性,对数族下标越界不作检查等。从应用的角度,C语言比其他高级语言较难掌握。

总之,C语言既有高级语言的特点,又具有汇编语言的特点;既是一个成功的系统设计语言,有时一个使用的程序设计语言;既能用来编写不依赖计算机硬件的应用程序,又能用来编写各种系统程序;是一种受欢迎、应用广泛的程序设计语言。

---------------------------------------------------------------------------------
[转]Visual C#、Java(或JBuilder)与Delphi编程语言的比较2007-11-10 21:30Delphi:我最喜欢,也是最常听到的一句口号是“真正的程序员用C语言,最聪明的程序员用Delphi”。Java:当然它也不干似弱也有自已的经典口号“Write Once , Run anywhere”。更响亮的吧?C# :好像没什么很响亮的口号,不过据老Bill的话讲,今后Microsoft公司的产品都要用这个语言去开发。呵呵,老Bill够实际的吧?这样的话,也是够吸引程序员的了。Delphi的跨平台性就不讲了,可以说是不行的。Java是一流的了,象我们现在用的电信产品,家电、航空航天,大部分都是用Java 的。C#倒是号称也可以跨平台,不过我倒不觉得它在这方面有多强。可能是我一直对微软的产品有偏见的缘故吧。Delphi常用在C/S结构程序开发中。尽管Borland公司也讲强大的Internet/Intranet开发支持功能,不过如果你用过Java/C#等产品,Borland的这种讲法已经显得微不足道了。JAVA/C#我以前一直认为它们只能做WEB,或者说做网站之类的。基实不然,这两种语言可以说什么都能做,Borland能实现的它们也能实现。当然我们经常称它们做出来的东西为B/S结构的。以前我总认为,它们不能实现像Delphi那样的OnChange,OnCreate之类的,以及动态计算,其实这些都是小儿科了,都可以实现的。唯一不好的就是,Java/C#在Report方面就要比Delphi差了些。尽管Java/C#有很多第三方组件,如:crystalreport以及国内用友公司的“华表”,好像KingSoft公司也有类似的报表工具。不过我都觉得它们还不能做得像Delphi的那样精。当然,从另一个角度来看,B/S结构的东东在减少成本,方便维护等方面讲是相当高的了。这也是B/S结构的产品这几年能够讯速流行起来的原因。讲到这里,我还得提一下,因为B/S结构可能会在Internet上运行,所以安全性也是一大问题。不过,这是网管的事啦,我们程序员不用太担心了。(这句话我在想,也不太正确,我们做coding时也必须要考虑安全性了)。

a)Delphi作为Borland 公司的旗舰产品,Delphi以其快速高效的开发方式和强大的功能,成为软件开发商和程序员最欢迎、使用最广泛的开发工具。Delphi是占全球编程市场70%的新一代编程工具,开发人员的需求量越来越大(呵呵,这个统计数据不知Borland公司哪年统计的哦?我想现在可能没这么大的份额了吧)呵呵,讲一个笑话。听说Borland公司的创始人还是持旅游签证从法国进入到美国硅谷的呢?谁知道,他去了硅谷就不想走了呢,并且还创办了后来大名鼎鼎的Borland公司呢。这还没完呢,Borland创业之初,他曾经想为公司取名叫“MIT(Market In Time)”,够牛吧?这样一来,人家麻省理工学院(MIT,Massachusettes Institute of Technology)肯定不同意了——你干嘛要挣我的名字呢?所以后来就用了Borland这样的名字。不过从我个人角度来看,我觉得用Borland比用MIT要好。Delphi作为专业软件开发技术人员的专用工具,对业界的影响深远,乃至以后Sun公司推出著名的Java以后,在Borland的帮助下研制出了Java版的构件-JavaBean。b)JavaJava 的产生和发展是有点传奇色彩的。Java是Sun公司的产品,最初Sun 公司不是想要发明Java这种语言,更没想到Java会发展成为今天比Sun公司还知名的程度。上世纪90年代初,Sun公司是想开发一种可以家用电器上运行的软件,而这种软件必须具有可移植性、安全性和跨平台性,于是Sun公司成立了一个以James,Gosling等为核心的叫“Green”的语言开发小组。最初他们是将C++作为编译器进行,但很快发现这种语言的跨平台性,和安全性还是不足,如果他们自已发明了一种语言,称这为“Oak”(也称为“橡树”)。后来Internet的发展,为Oak的发展提供了无限的生机,刚好Oak大大满足了WWW的特性(尽管它在最初只是作为一个applet小应用程序镶嵌在web中使用)。后来,同样还是Oak的几位工程师又在一次喝咖啡时给他命名为Java优美的名字。如同一个美人的出世一样,1995年Java的正式发布面世,已经引起强烈的反响。1995年,Java也向世界公布了它的完整技术规范,这为以后的其它IT公司的发展又是一针强行针。所以老Bill在反复仔细研究了Java的技术规范之后,不得不承认“Java确定是有史以来最伟大的程序设计语言”,因为Java语言源于C++,而C++又源自于C,故Java语言继承和发扬了C++和C的优点,故很多程序员在学习Java时,会发展它和C++/C多么的相似。总之,Java是在无识中,不知不觉成长起来的。c)Visual C#提到C#,我们不得不提一位世界上最伟大的创造者:Anders Hejlsberg。Hejlsberg原为丹麦人,上世纪80年代,他设计出了Pascal的编译器,后来被Borland公司看中,并买下了他的这个产品(Borland公司称之为Turbo Pascal),而且还雇佣了他。而Hejlsberg也不负众望,在他的代领下,开发出了历史上的奇迹:Delphi语言。Hejlsberg在Borland工作13个春秋,一直到上世纪90年代中期(1996年),这位奇迹般的创造者,又跳到了Microsoft公司,并且他又经过四年的潜心研究,于2001年再次奇迹般的研发出了C#语言和.Net Framework。所以说Hejlsberg可以堪称世界最伟大的发明者了。说起C#,我还是不得不提一下Sun公司,也是世界很多大的Soft Corp.的死对头,同时又是亲密合作伙伴的Microsoft了,老 Bill的聪明之处就是学习吸收别人的东西,再发展自已的产品。C#的横空出世,比Java整整落后了5年的时间,但同时C#语言后来居上,C#语言结合了已有计算机编程语言和软件的优点:Visual C++,Visual Basic,Delphi,C++ Builder,J Builder, Java等。
也正是这样,C#已成为微软公司反击Java语言的最有力武器。市场分析人员认为微软公司希望利用C#来阻止原来的C++开发人员投向Java阵营。举例来说,C#摹仿了Java提供的多种特性,包括“碎片回收机制”(garbage collection)、可以利用多种类型的语言进行开发的“通用引擎”等等。

(3)三种语言的比较C#和Delphi比较Delphi是通过Begin…end来组织语句块,相对于C#我觉得要笨拙些。Delphi是机器码。跨平台性有赖于Borland公司继续提高。当然在开发一些复杂的C/S结构和富有特色的报表方面,Delphi仍然是众多程序员的第一选择。C#和Java比较C#和Java都是字节码。所以它们两个的跨平台性理论上都要强过Delphi了当然,到目前为止,我认为C#仍然比不过Java,因为在平台独立性上,我始终觉得C#还是比不上Java。尽管这两种语言都是继承了C++的语言特点,并由它发展而来的。当然C#也有强过去时Java的地方。因为C#比Java的出世晚了整整5年,所以C#的创始人Hejlsberg在创造C#是深受Java的影响,所以他也吸收了大量Java的优势。比如,C#支持运算符的重载和类型安全的枚举及安全性的嵌入式指针。C#可以和其它.NET程序无缝链接。成本远低于Java,甚至可以将C#看作是Java的低级替代品。另外C#与Web服务的结合也要比Java稍强,尽管Java与Web服务的结合也不差,但它毕竟是后来加上去的。所以说,如果在短期内,这三门语言如果有谁想吃掉谁,还是不可能的。三足鼎立的局势,我觉得至少还得维持一段时间。

(4)相同之处:我分别翻了这三门语言的特点,三家的相同之处倒是蛮惊人的:a)强大的集成开发环境(IDE)。我在想这是不是就是可视化的精髓呢?b)面向对象。这有点废话了,现在如果还不面向对象,那还真不知道是什么样子的。当然VB号称面向对象,但不是真正意义上的面向对象。其实应该说它们都是OOP的。c)丰富的构件库。这也是废话了。类库当然重要了。在Delphi中叫构件库,在JAVA中和C#中都叫类。d)模板类型使编程更加简便。e)强有力的异常处理机制。这年头,防人之心不是要有的,所以,对异常的处理我们还是要有预案在心的。^..^f)强大的数据库应用开发能力。晕,什么年代了嘛。还在讲数据库开发能力强大,现在写程序还能少了数据库吗?你们三家公司,我想如果谁要是脱离数据库,那可能真是要回老家了。g)支持多线程。这个自然不用讲了,什么都在提倡多线程了。不过线程,进程你能分清他们的含义吗?

(5)语言基础:Delphi 是 Pascal的Java 是C++/C的;C#也是源于C/C++的,所以如果先学Java的程序员,再来学C#那就比较容易了。也有资料讲“C#语言结合和已有计算机编程语言和软件的优点:Visual C++,Visual Basic,Delphi,C++ Builder,J Builder, Java等。”这也说明了,C语言是非常重要的基础了。可惜都大学时,我的C学得不是太好

--------------------------------------------------------------------------------------
http://www.cn-java.com/
http://www.java-cn.com/
这些网站你可以看看,下面给你介绍java:
Java语言简介
一. Java的由来
当1995年SUN推出Java语言之后,全世界的目光都被这个神奇的语言所吸引。那么Java到底有何神奇之处
呢?
Java语言其实最是诞生于1991年,起初被称为OAK语言,是SUN公司为一些消费性电子产品而设计的一个通
用环境。他们最初的目的只是为了开发一种独立于平台的软件技术,而且在网络出现之前,OAK可以说是
默默无闻,甚至差点夭折。但是,网络的出现改变了OAK的命运。
在Java出现以前。Internet上的信息内容都是一些乏味死板的HTML文档。这对于那些迷恋于WEB浏览的人
们来说简直不可容忍。他们迫切希望能在WEN中看到一些交互式的内容,开发人员也极希望能够在WEB上创
建一类无需考虑软硬件平台就可以执行的应用程序,当然这些程序还要有极大的安全保障。对于用户的这
种要求,传统的编程语言显得无能为力,面SUN的工程师敏锐地察觉到了这一点,从1994年起,他们开始
将OAK技术应用于WEB上,并且开发出了HotJava的第一个版本。当SUN公司1995年正式以Java这个名字推出
的时候,几乎所有的WEB开发人员都想到:噢,这正是我想要的。于是Java成了一颗耀眼的明星,丑小鸭
一下了变成了白天鹅。
二. Java的定义

Java是一种简单的,面象对象的,分布式的,解释的,键壮的安全的,结构的中立的,可移植的,性能很
优异的多线程的,动态的语言。
Java的开发环境有不同的版本,如sun公司的Java Developers Kit, 简称 JDK。后来微软公司推出了支
持Java规范的Microsoft Visual J++ Java开发环境,简称 VJ++。
三. Java的特点
1. 平台无关性
平台无关性是指Java能运行于不同的平台。Java引进虚拟机原理,并运行于虚拟机,实现不同平台的
Java接口之间。使用Java编写的程序能在世界范围内共享。Java的数据类型与机器无关,Java虚拟机(
Java Virtual Machine)是建立在硬件和操作系统之上,实现Java二进制代码的解释执行功能,提供于
不同平台的接口的。
2. 安全性
Java的编程类似C++,学习过C++的读者将很快掌握Java的精髓。Java舍弃了C++的指针对存储器地址的直
接操作,程序运行时,内存由操作系统分配,这样可以避免病毒通过指针侵入系统。Java对程序提供了
安全管理器,防止程序的非法访问。
3. 面向对象
Java 吸取了C++面向对象的概念,将数据封装于类中,利用类的优点,实现了程序的简洁性和便于维护性。
类的封装性、继承性等有关对象的特性,使程序代码只需一次编译,然后通过上述特性反复利用。程序
员只需把主要精力用在类和接口的设计和应用上。Java 提供了众多的一般对象的类,通过继承即可使
用父类的方法。在 Java 中,类的继承关系是单一的非多重的,一个子类只有一个父类,子类的父类又
有一个父类。Java 提供的 Object 类及其子类的继承关系如同一棵倒立的树形,根类 为 Object 类,
Object 类功能强大,经常会使用到它及其它派生的子类。

4. 分布式
Java建立在扩展TCP/IP网络平台上。库函数提供了用HTTP和FTP协议传送和接受信息的方法。这使得程序
员使用网络上的文件和使用本机文件一样容易。
5. 键壮性
Java致力于检查程序在编译和运行时的错误。类型检查帮助检查出许多开发早期出现的错误。Java自已操
纵内存减少了内存出错的可能性。Java还实现了真数组,避免了覆盖数据的可能。这些功能特征大大提高
了开发Java应用程序的周期。Java提供: Null指针检测、 数组边界检测、 异常出口、 Byte code校验

四. Java与C/C++语言
Java提供了一个功能强大语言的所有功能,但几乎没有一点含混特征。C++安全性不好,但C和C++被大家
接受,所以Java设计成C++形式,让大家很容易学习。
Java去掉了C++语言的许多功能,让Java的语言功能很精炼,并增加了一些很有用的功能,如自动收集碎
片。
Java去掉了以下几个C和C++功能:
指针运算
结构
typedefs
#define
需要释放内存
这将减少了平常出错的50%。而且,Java很小,整个解释器只需215K的RAM。
面象对象:Java实现了C++的基本面象对象技术并有一些增强,(为了语言简单,删除了一些功能)。
Java处理数据方式和用对象接口处理对象数据方式一样。

五. Java与Internet
我们知道,早先的 www 仅可以传送文本和图片,Java的出现实现了互动的页面,是一次伟大的革命。
Java并不是为 Internet,WWW而设计的,它也可以用来编写独立的应用程序。Java 是一种面向对象语言。
Java 语言类似于 C++ 语言,所以已熟练掌握 C++语言的编程人员,再学习 Java 语言就容易得多!Java
程序需要编译。实际上有两种 Java 程序:一种 Java 应用程序是一个完整的程序,如 Web 浏览器。一
种 Java 小应用程序是运行于 Web 浏览器中的一个程序.

Java程序和它的浏览器HotJava,提供了可让你的浏览器运行程序的方法。你能从你的浏览器里直接播放
声音。你还能播放页面里的动画。Java还能告诉你的浏览器怎样处理新的类型文件。当我们能在2400
baud线上传输视频图象时,HotJava将能显示这些视频。
当今Internet的一大发展趋势是电子商务,而Internet的安全问题是必须解决的问题,通常大的部门应设
置防火墙,阻止非法侵入。
电子商务是当今的热门话题,然而传统的编程语言难以胜任电子商务系统,电子商务要求程序代码具有基
本的要求:安全、可靠、同时要求能与运行于不同平台的机器的全世界客户开展业务。Java以其强安全
性、平台无关性、硬件结构无关性、语言简洁同时面向对象,在网络编程语言中占据无可比拟的优势,成
为实现电子商务系统的首选语言。
Java程序被放置在Internet服务器上,当用户访问服务器时,Java程序被下载到本地的用户机上,由浏览器
解释运行。
[NextPage]
PowerBuilder简介
PowerBuilder的产生
PowerBuilder是美国著名的数据库应用开发工具生产厂商PowerSoft推出的成功产品,其第一版于1991年6
月正式投入市场。它是完全按照客户/服务器体系结构研制设计的,采用面向对象技术,图形化的应用开
发环境,是数据库的前端开发工具。
PowerBuilder的特点
它支持应用系统同时访问多种数据库,其中既包括Oracel,Sybase之类的大型数据库,又包括FOXPRO之类
支持ODBC接口的小型数据库,PowerBuilder是完全可视化的数据库开发工具,它提供了大量的控件,大大
加快了项目的开发速度,也使开发者更容易掌握数据库的开发。
它使用的编程语言叫做工PowerScripr,它也是一种高级的,结构化的编程语言。PowerScript提供了一套
完整的嵌入式SQL语句,开发人员可以像使用其它语句一样自由地使用SQL语言,这样就大大增强了程序操
纵和访问数据库的能力。可以说PowerBuilder既适合初学者快速学习数据库的开发,又可以让有经验的开
发人员开发出功能强大的数据库,是一种适用面非常广的开发工具。
PowerBuilder是一个用来进行客户/服务器开发的完全的可视化开发环境。使用PowerBuilder,你可以用一
种可视的直观的方式来创建应用程序的用户界面和数据库接口。这是一个总的概念,实际上是开发人员使
用PowerBuilder去开发应用程序,由于所开发的各种应用程序充分利用了图形用户接口(GUI)的优点,所
以PowerBuilder被认为是一个图形工具。
在客户/服务器结构的应用中,PowerBuilder具有描述多个数据库连接与检索的能力。特别是
PowerBuilder能从大多数流行的RDBMS中存取数据,且不管数据存放在什麽地方;另外,各种应用程序又
可以独立于RDBMS,因为PowerBuilder可以使用数据库的标准操作语言SQL(结构化查询语言)进行。
使用PowerBuilder,可以很容易地开发出功能强大的图形界面的访问服务器数据库的应用程序,
PowerBuilder提供了建立符合工业标准的应用程序(例如订单登记、会计及制造系统)所需的所有工具。
PowerBuilder应用程序由窗口组成,这些窗口包含用户与之交互的控件。开发人员可以使用所有标准空间
(如按钮、复选框、下拉式列表框或编辑框)以及PowerBuilder提供的特殊的使应用程序更易于开发和使
用的控件。
通常人们把PowerBuilder看成是一种开发工具,实际上它比其他工具强得多,是一种强有力的开发环境。
开发人员不仅能用它来开发用户容易使用的各种应用程序还可以通过PowerBuilder修改数据库,利用400
多个内部定义函数,可以开发能和其他应用程序进行的各种应用程序。
PowerBuilder正在成为客户/服务器应用开发的标准。相对于其他任何客户/服务器开发环境,
PowerBuilder使开发人员的工作更快、成本更低、质量更高、功能更强。
PowerBuilder为应用开发提供了全面综合性的支持,可以分别概括为如下几点:
事件驱动的应用程序
功能强大的编程语言与函数
面向对象的编程
跨平台开发
开放的数据库连结系统
PowerBuilder开发环境
PowerBuilder开发环境由一系列集成的图形画板(Painter)组成,应用开发人员通过简单的鼠标操作即可
设计、建立、交互检验和测试客户/服务器应用程序。
[NextPage]
Delphi简介

Delphi这个名字源于古希腊的城市名。它集中了第三代语言的优点。以Object Pascal为基础,扩充了面
向对象的能力,并且完美地结合了可视化的开发手段。Delphi自1995年3 月一推出就受到了人们的关注,
并在当年一举夺得了多项大奖。
Delphi的出现打破了V承可视化编程领域一统天下的局面。并且Delphi使用了本地编译器直接生成技术,
使程序的执行性能远远高于其它产品生成的程序。它还是真正的面向对象的编程语言。PASCAL语言的严谨
加上可视化的优势和强大的数据库功能使得它有充分的资本和微软的VB叫板。许多人当时都认为Pascal
是最有前途的程序设计语言,并预测Delphi将会成为可视化编程的主流环境。
Delphi在你编好程序后自动转换成.EXE文件它运行时速度比VB快,而且编译后不需要其他的支持库就能运
行。它的数据库功能也挺强的,是开发中型数据库软件理想的编程工具。 Delphi适用于应用软件、数据
库系统、系统软件等类型的开发。而且它拥有和VB差不多一样的功能,而且一样能应用API函数,这在控
制Windows很有用。
Delphi是全新的可视化编程环境,为我们提供了一种方便、快捷的Windows应用程序开发工具。它使用了
Microsoft Windows图形用户界面的许多先进特性和设计思想,采用了弹性可重复利用的完整的面向对象
程序语言(Object-Oriented Language)、当今世界上最快的编辑器、最为领先的数据库技术。对于广大的
程序开发人员来讲,使用Delphi开发应用软件,无疑会大大地提高编程效率,而且随着应用的深入,您将
会发现编程不再是枯燥无味的工作——Delphi的每一个设计细节,都将带给您一份欣喜。
Delphi的基本形式
Delphi实际上是Pascal语言的一种版本,但它与传统的Pascal语言有天壤之别。一个Delphi程序首先是应
用程序框架,而这一框架正是应用程序的“骨架”。在骨架上即使没有附着任何东西,仍可以严格地按照
设计运行。您的工作只是在“骨架”中加入您的程序。缺省的应用程序是一个空白的窗体(form),您可以
运行它,结果得到一个空白的窗口。这个窗口具有Windows窗口的全部性质:可以被放大缩小、移动、最
大最小化等,但您却没有编写一行程序。因此,可以说应用程序框架通过提供所有应用程序共有的东西,
为用户应用程序的开发打下了良好的基础。
Delphi已经为您做好了一切基础工作——程序框架就是一个已经完成的可运行应用程序,只是不处理任何
事情。您所需要做的,只是在程序中加入完成您所需功能的代码而已。在空白窗口的背后,应用程序的
框架正在等待用户的输入。由于您并未告诉它接收到用户输入后作何反应,窗口除了响应Windows的基本
操作(移动、缩放等)外,它只是接受用户的输入,然后再忽略。

正式的编程人员工资应该在2000以上,多的就上万了
在运行 JSP 示例页面之前,请注意一下安装 JSWDK 的目录,特别是" work "子目录下的内容。执行示例
页面时,可以在这里看到 JSP 页面如何被转换成 Java 源文件,然后又被编译成 class 文件(即
Servlet )。 JSWDK 软件包中的示例页面分为两类,它们或者是 JSP 文件,或者是包含一个表单的
HTML 文件,这些表单均由 JSP 代码处理。与 ASP 一样, JSP 中的 Java 代码均在服务器端执行。因此
,在浏览器中使用"查看源文件"菜单是无法看到 JSP 源代码的,只能看到结果 HTML 代码。所有示例的
源代码均通过一个单独的" examples "页面提供。
Java Servlet是一种开发Web应用的理想构架。 JSP以Servlet技术为基础,又在许多方面作了改进。JSP
页面看起来象普通HTML页面,但它允许嵌入执行代码,在这一点上,它和ASP技术非常相似。利用跨平台
运行的JavaBean 组件,JSP为分离处理逻辑与显示样式提供了卓越的解决方案。JSP必将成为ASP技术的有
力竞争者。
[NextPage]
SQL语言简介
SQL全称是“结构化查询语言(Structured Query Language)”,最早的是IBM的圣约瑟研究实验室为其关
系数据库管理系统SYSTEM R开发的一种查询语言,它的前身是SQUARE语言。SQL语言结构简洁,功能强大
,简单易学,所以自从IBM公司1981年推出以来,SQL语言,得到了广泛的应用。如今无论是像Oracle
,Sybase,Informix,SQL server这些大型的数据库管理系统,还是像Visual Foxporo,PowerBuilder这些微
机上常用的数据库开发系统,都支持SQL语言作为查询语言。
Structured Query Language包含4个部分:
数据查询语言DQL-Data Query Language SELECT
数据操纵语言DQL-Data Manipulation Language INSERT, UPDATE, DELETE
数据定义语言DQL-Data Definition Language CREATE, ALTER, DROP
数据控制语言DQL-Data Control Language COMMIT WORK, ROLLBACK WORK

------------------------------------------------------------------------------------------
Java是一种简单的,面向对象的,分布式的,解释型的,健壮安全的,结构中立的,可移植的,性能优异、多线程的动态语言。
Java语言是简单的,Java语言是一个面向对象的,Java语言是分布式的,Java语言是安全的。Java语言是体系结构中立的。Java语言是可移植的。Java语言是解释型的。Java是高性能的。Java语言是多线程的。Java语言是动态的。

Delphi是Borland公司研制的新一代可视化开发工具,可在Windows3.x、Windows95、WindowsNT等环境下使用。当前,DELPHI 也可以为LINUX平台上开发应用,其在LINUX上的对应产品Kylix。
直接编译生成可执行代码,编译速度快。
支持将存取规则分别交给客户机或服务器处理的两种方案,而且允许开发人员建立一个简单的部件或部件集合,封装起所有的规则,并独立于服务器和客户机,所有的数据转移通过这些部件来完成。
提供了许多快速方便的开发方法,
具有可重用性和可扩展性。
具有强大的数据存取功能。
拥有强大的网络开发能力
---------------------------------------------------------------------------------------------
5、Delphi中的所有类都必须从TObject派生,TList,TCollection实现起来很简单(当初为了这些特性C++引入多继承和模版的)

6、Delphi的RTTI(Run Time Type Information)直接由编译器支持(C++规范也是这样的,VC4.0以后的编译器也支持这个特性,但是MFC为了兼容的关系一直采用很古老的自己的方式实现,所以有了DECLARE_DYNAMICIMPLEMENT_DYNAMIC这两个设计非常精巧的宏,我觉得它的设计非常好,但是我不认为这样打补丁出来的东西有编译器直接支持的特性来的简洁和优美)

7、Dynamic Create,同样因为上面的原因MFC引入了另外两个宏DECLARE_DYNCREATE、IMPLEMENT_DYNCREATE

8、Delphi的序列化(Persistent)只要是从TPersistent派生来的类都可以支持(TComponent就是从他派生来的,Delphi的.DFM就是它的一个使用的例子)

9、MFC的文档视图结构应该也能成为经典设计了,很可惜我在Delphi中找不到

10、C++中可以声明如下结构,我也不知道Delphi应该如何做
  Struct ABC{
    A:1;
    B:3;
    }
  Delphi中最下的单位好像是Byte,只能自己程序处理(就像MFC那些宏一样,很讨厌)

11、Windows的接口文档是基于C的,所以对最新技术的应用上没有VC那么方便,你需要自己成立很多很多的头文件.h,这一点会把人烦死
(我觉得这个是最重要的一点,不知道宝蓝为什么不出一个转换工具)

12、使用C,C++的人应为开发Windows程序和使用MFC总的说来都是一件费力的事情,所以这些程序员对系统比较了解,不了解就没办法工作。
Delphi的程序员就不同了,他们应为VCL的巨大便利,变得主要是使用控件,相对的对系统的理解没有VC程序员深刻。

13、因为从总体上来说Delphi的语法比C++简洁(不用背负兼容性的包袱),编译速度比较快,另外如果我说MS的编译器技术没有宝蓝的好我想没有人会反对吧,无论什么特性都是宝蓝的编译器首先实现的

14、从工具使用的难度上看(在Windows平台上)
  汇编  >>  C >> C++ >> VC >> Delphi
但是从语言所能使想的功能来说,大家都一样,正如简单的顺序、选择、循环可以实现所有的程序逻辑一样,只要可以在程序中直接使用汇编,他的能力应该和汇编是一样的(最夸张的情形,所有的地方我都使用汇编)如果单纯因为VC比Delphi难以入门就认为VC比Delphi好是非常偏见的,要不然为什么不直接使用SDK,而要使用MFC,要是纯粹为了显示变成的能力,我们应该使用机器码,因为汇编比他简单


其实VC和Delphi的比较实际上是连个层次上的
C++  VS  Object Pascal
MFC  VS  VCL
显然的C++语言和Object Pascal个有特色,可以说平手
MFC的结构中因为要保持兼容性有很多的垃圾,不过已经很难为开发MFC的人了,
VCL非常优美、精巧
但是不要以为VCL就胜过MFC了别忘了MFC是MS的东西,但是这一点其实就是一切了。

不过我个人认为单纯从语言的角度来看
汇编        第一代通用语言
C,Pascal      第二代通用语言
C++,OBject Pascal  二点五代  (过程式和Object混合)
SmallTask    第三代(纯Object)
Jave、C#    三点五代(与网络为核心的纯Object)

至一VB,PowerBuild(基于C++),VF都不能算是通用语言,没办法比较
还有这些都只是工具,就象刀和剑一样,同样的刀和同样的剑再不同的人手中有不同的威力 本文发布于北京网站制作公司尚品中国http://www.sino-web.net/

400-700-4979

无论您在哪里,尚品都愿意为您提供高价值服务! 请选择您方便的咨询方式: