回 帖 发 新 帖 刷新版面

主题:[原创]各种编程语言的优劣

简介各类顺序语言 

注︰在顺序语言前划有☆号者,表示它有远大影响,但不代表它差劲 

安妥编写商业顺序、对服务有所乞求 

编写商业顺序的顺序语言,最根基的乞求就是不是直译的,令把持者不克不及看到源码;第二就是[url=http://www.mnhomewatch.org/ryokou/ryok623176.html]太陽光発電[/url]
有精良的效用、语法,安妥编写大顺序而恪守不会过慢。 

☆ C/C++ 

自从 C 创举了以后,它就包揽了汇编语言在利用细碎编程的领导职位地方。从效用上说,除了汇编语言, C 语言是最接近机器的语言。各类利用细碎的编程接口的默认语言凡是 C 语言。是以,用 C 语言编程,概略最大限制施展利用细碎的才具。同时,因为绝大部分的商品软件凡是 C 或与 C 兼容的 C++ 完成的,都有 C 编程接口,概略说,没有 C 不克不及完成的听从。 

C++ 是 C 语言的增强版, C++ 添加了面向对象和别的有用的听从,但它的服务并无大减,编程更轻易对付求助;而 C++ 亦支援大部分 C 的顺序,令 C++ 和 C 变得近乎不可宰割,大部分的 C 编译器也支援 C++ 。要是要在学 C 或学 C++ 选择,学 C++ 是明智的选择。 
在 Unix-like 的利用细碎中, C 具备很好的凋谢零落源代码的条件,它有匹敌的编译器 gcc ,有强大但斗劲难掌握的编程情况 emacs ,有匹敌的 API : posix 和 Linux 接口。并且大部分编译器和 API 是凋谢零落源代码的。 
在 Unix-like 上编写图形界面顺序,有两个选择 KDE 和 Gnome ∶ KDE 更成熟,但它把持了不是开源的 Qt 函数库; Gnome 支持多语言和面向对象的顺序间的协同,有它的 GUI 工具 GTK 。 
在 Windows 情况中,现在集体把持 vC ,但有一个缺点, Windows 的降级换代太快,从 dos 情况到 Windows3一 ,从 Windows3一 到 Windows95 ,到 Windows2000 ,到 .NET 。 API 屡屡更改,多么,在 Windows 上的顺序代码的寿命会斗劲短。并且 vC 的编译器和 API 太冗杂,难于掌握,并非凋谢零落源代码的工具。别的选择有从 Unix-like 细碎移植夙昔的 djgpp 、 mingw 。 
因为 C/C++ 具备今世语言的大量特色,现在屡屡庖代 Pascal 作为解说的编程语言。 
理论上,假设不深入学习, C 也是一种很复杂的语言。不学 Basic ,间接学 C 彻底没有标题。 
和别的语言比照,当然 C 和 C++ 都已经定下了其标准,但编译器、函数库、利用细碎 API 5花8门,有些又未必片面支援最新的标准,形成学习的难度大、匹敌性差的标题。 

☆ Visual Basic( 简称 VB) 

VB 是疾速的界面熟成语言,是疾速的数据库顺序开发语言。 vba 是 vb 的独霸版,嵌入在 MS office 中。编写 MS office 上的顺序很好用。缺点是只能在 Windows 平台运作。 

Delphi/Kylix 

和 vb 异样是疾速开发情况,但效用更好,听从更强大,亦概略用于 Linux 平台。语法建基于 Pascal ,是面向对象的顺序语言。 结果飞过海飞过海 

☆ Java 
绝对 C , Java 作为现 [[ 代语言,具有非常丰富的语 == Headline text ==]] 法特色,如模块和类,不像 C 随利用细碎和编译器的差距有极大不同, Java 是一个公司的产品,具备独一的 API ,是以, Java 顺序员没有语言隔阂。有人以为 Java 底子是一个平台,并非真正的跨平台。 
绝对跨平台的语言来说, Java 具备最佳的图形界面编 Media:Example.mp3 程 API 。 
Java 扫数的 API 凡是类库,绝对 C 的函数来说,是特别大的提高。 Java 具备今世语言几近扫数的特色。 
Java 最大的缺点,是它被一所公司牵制着。 

Ada 
Ada 语言和 C/C++ 是一种编译语言,他们最后编译出的实行文件的机器码都很小。是以现在众多的语言只要 C/C++ 大概与 Ada 相提并论。 
和 C/C++ 比照, Ada 的共性是可靠、可移植。 
他的可靠是颠末比别的语言都强大的模范,每种模范还都概略象数据库字段异样终止强模范、范畴的搜查。以此来包管在编译中就创作发明谬误。 
它有强大的标准化组织,善良认证 Ada 编译器[url=http://www.self-improvement-books.biz/Kathe-possessive-particle-company-store/Cass-possessive-particle-import-individual504113.html]太陽光発電 制度[/url]
的标准。有多线程才具。 
适于编写实时顺序。 

Scripting Language 

假设不在意商业秘密,独霸方针也不是太厚道的话,编写大型跨平台顺序的最佳就是脚本语言。有些脚本语言具备片面的库的支持,有和 C 语言的轻易对付的交互才具。他们和 Java 比照,编程恪守更高。同时因为没有编译,顺序更轻易对付修正。因为他们的库凡是 C 完成的,也比 Java 有更高效用。同时,他们凡是开源的,凡是对商业独霸友好的,也是复杂的、轻易对付定制的。也是称心意 Java 的不可牵制的越来越庞大的库的又一个选择。 

Basic 
现在最驰名的 Basic 版本是 vb , Basic 是复杂的高级语言。 Basic 的秀丽在于参数仍是默认传地址。 

☆ Perl 
Perl 的最大共性是有强大的字符串模式匹配,是最佳的文本文件的读取和天生语言,亦是 Unix 细碎办理者的好辅佐,因为它排汇了 awk 、 sed 、 grep 等工具的听从。 Perl 具备很大的岑寂性,象英语异样有很大的轻易性,在 Perl 里根基上无 Type Error 这回事,它的” Type ”就是纯量和串行。 Perl 有一个强大的数据库接口和别的各类接口。 Perl 有大量的顺序库( CPAN )。 
因为 Perl 较早出现,某些听从是后期加之去,显得不答腔,比方它的面向对象听从就被视为不是真正的面向对象。 Perl 有个驰名的缺点是难读懂,关怀艰难,被以为不安妥编写大顺序,只安妥一千行下列的顺序,也有个驰誉的利益是简便。 

Python 
首先, Python 是和 Basic 异样面向初学者的语言,和英语异样繁杂懂。 
Python 有和 Perl 相似的复杂性,但没有模式匹配。 
Python 有和 Lisp 相似的处所,它有将字符串作为顺序实行的 eval 函数,概略对一个对象的扫数数据终止生活保存生计,概略把函数作为参数传给另一个函数。 
Python 具备特别好的扩张性, Python 顺序概略和 C 顺序,以及 Java 顺序很好地扩散。 

Tcl 
Tcl 具备最复杂的语法,最佳的和别的顺序交互的才具,有[url=http://www.bezdekgoz.com/20101113183106/free-pc-collection-sites668009.html]太陽光発電 機器[/url]
编写图形界面顺序的 Tk 。根基上已经没有个人用户学习 Tcl 语言,然而中国一些大型的嵌入式软件公司至今始终把持该语言终止软件测试任务,并且 Tcl 的工具包 Tk 也是很多 Scripting Language 的 GUI 工具。 

Ruby 

Ruby 是罗致了扫数语言英华的语言。 Ruby 当然是纯面向对象语言,但概略”扮成”顺序式的顺序语言;它的文件首要凡是日文和英文。 

Ruby 有 

* Perl 的正则标明式 

* Python 的语言的复杂性可读性、最繁杂的扩大才具,强大的可移植性。 

* PHP 的嵌入听从和多种客户端 

* smalltalk 的纯面向对象语法和单继承 

* Lisp 的无穷嵌套的语法,也就是函数式的语法。 

* 用“块”来完成更快速的数据结构的处理。不知道是不是 sCheme 的宏听从。用块能更邃晓的完成 Python 的表处理听从。 

* Java 和 Ada 的线程编程 

* Java 的安全编程 

不得不招供 Ruby 的确是个逊色的语言,它彻底学会了 Lisp 的扫数编程凡是函数的思想, smalltalk 的扫数工具凡是对象的思想, Perl 的一个方针多种手段的举措, Python 的复杂化的“起码惊喜”的绳尺, Java 的多线程和安全牵制的听从, Tcl 的繁杂扩大的听从, PHP 的嵌入听从和强大客户端的听从,最轻易对付的 shell 呼吁的挪用。 

Lua 

Lua 是一个小巧强大的脚本语言。第一眼看到 Lua 的介绍,感慨它象 Tcl 的经办品,因为它的首要方针是作为脚本语言。但日后就看到它不是象 Tcl 那样是呼吁行式的函数语言,它和别的语言异样有语句结构。它完成和 C 顺序互动的举措和 Python 相似,具备和 Python 异样的和 C 扩散的才具。并且 Lua 全副是用 ansi C 完成的,概略完成彻底的跨平台。 

日后,看到 Lua 的一个明明的共性就是具备对象数据库听从,概略完成变量的永久存储。这个共性让人首先遥想到 fish , fish 的最紧急的共性也是语言内含一个对象数据库,不外 fish 有 outline 的可视界面,和数据库浏览才具。但 fish 不是开源的,是以,假设需要一个非内存的变量存储[url=http://www.ko-cho.co.jp/]横浜中華街[/url]
空间概略选择 Lua 。这类对象数据库凡是不单能存储数据,也能存储利用数据的函数。理论 Python 也具备一个将全副内存存储在一个磁盘文件的听从,别的,还有 zope 的 zodb 概略完成专业的永久变量听从。别的, sCheme 天然具备永久存储才具,它只要把表变量输出到一个文件中即概略了。因为 sCheme 是不分数据和顺序的,是以概略完成将顺序和数据同样存储在文件中。 

Lua 和 Python 比照范畴斗劲小,因为它是和 C 紧密扩散的,概略彻底把持各类 C 库,就不需要有本人的库。 Lua 给人的笼统是小范畴的 Python 。 Lua 也是消息数据模范,也有内存办理听从。只不过 Python 自带强大的库,而 Lua 只陈述一个小型的库,具备字符串和数学计算才具,同时 Lua 标准陈述一个对象数据库。别的,概略把 C 库随时编译到 Lua 中。 Lua 引以骄横的是它的速度很快。 

Lua 的语法斗劲复杂,它把数组、字典、结构等冗杂的数据结构都匹敌为表。别的, Lua 具备正则标明式听从。 

网页编写∶客户端顺序 

JavaScript 

编写消息网页的最佳工具,概略造到很多成果,亦是 Mozilla 扩张套件的语言 jhgjghjgh 。 

VBScript 

VBScript 是 vb 的脚本语言,概略产收效能器端和客户端的消息网页。客户端的消息网页常设只要 IE 系列浏览器支援,以是 VBScript 兼容性很低,不迭 JavaScript 。 

效能器端顺序 

PHP 

PHP 是趁便写网页顺序的语言,它的语法和 Perl 极之接近。 PHP 概略嵌入 HTML ,更繁杂编写效能器端顺序。 PHP 天然和 网站 效能器以及 mysql 数据库相扩散。 PHP 概略消息天生图像。 

我始终以为 PHP 是一个垃圾,因为它只不过完成了脚本语言得嵌入,却单独完成一种语言、完成大量得函数库,节省了大量得开发职员得宝贵时间来重复别的脚本已经完成了得听从,也节省了 PHP 开发职员得大量学习时间,还要单独学一种只能具备于 网站 效能器得语言,节省了 Perl 、 Python 得已有得把持教育。相似得还有 pike ,一种 C 得脚本语言,没甚么新工具,还不如仿照照旧用 C 编译器。 

但我比来看书才相识 PHP 独特的开发方针。 

PHP 为甚么不间接用 Perl 作脚本语言。是因为 Perl 是一种 Unix 语言,带有 Unix 传统得字符秘要高超,让人难于学习。而编消息网页得人不见得会用 Perl 这类 Unix 工具,他们大概只要 HTML 常识。 PHP 就简化了 Perl 得语言,酿成为了一种复杂友好得语言,免去了人们学习 Perl 得艰难。 

PHP 为甚么不选 Python 作脚本。因为 Python 是一种面向对象的语言,大量得听从都要涉及面向对象概念,而 网站 独霸只不过复杂得完成客户机逻辑和示意听从。没须要涉及面向对象得冗杂概念。函数是最复杂,最繁杂了解得,是以, PHP 偏向于扫数得听从都用函数来图谋,而不是用对象来图谋。这有点象 C 和 C++ 之争。应该招供,函数在完成复杂听从得时分是最不利得工具,它得语句量起码。 

PHP 定位于以 HTML 为用户界面,充任各类效能器得客户端,完成得是传统得客户端编程得工作。它有 pop 、 smtp 、 ftp 、多种数据库等各类效能器得客户端得函数,也有图片、 pdf 天生, XML 处理等这类须要得听从。这些凡是别的脚本比不上 PHP 得处所。 

别的趁便写网页顺序的语言有 ASP 、 JSP 和 CGI ,但它们都不迭 PHP 强大。 

Java 、 .NET 、 Zope 

在商业开发中风行的是 Java 和 .NET ,着实 zope 也是选择之一, zope 的共性就是全副开源,层次少,复杂。并且集成一个模式办理器和众多的附加产品。附加产品可[url=http://www.cvphoto.ca/]ウォーターサーバー 汚染[/url]能是开源软件肯定的劣势。 zope 以前的一些缺点在 zope3 中将失掉图谋。别的, zope 的组件架谈判 Cmf 开发架构,着实不用 Java 的组件开发情况差若干(我没构兵很多 Java ,只不过评感慨说,别的人概略有差距见识)。 

PHP 当然看起来不安妥大顺序开发,但在 PHP 平台上已经有了很多大范畴的顺序,比方 puke 。 tiki 。 

别的, 网站 效能器已经被很多顺序缺省支持,用很多语言都能编写出自力的 网站 效能器顺序。 


回复列表 (共1个回复)

沙发


PHP 为甚么不选 Python 作脚本。因为 Python 是一种面向对象的语言,大量得听从都要涉及面向对象概念,而 网站 独霸只不过复杂得完成客户机逻辑和示意听从。没须要涉及面向对象得冗杂概念。函数是最复杂,最繁[url=http://www.pxkeji.cn]石家庄网站建设[/url][url=http://www.hzpisces.com]杭州摄影工作室[/url][url=http://www.zjlbs.com/]燃气表[/url][url=http://www.kasasy.com]金华婚纱摄影[/url]杂了解得,是以, PHP 偏向于扫数得听从都用函数来图谋,而不是用对象来图谋。这有点象 C 和 C++ 之争。应该招供,函数在完成复杂听从得时分是最不利得工具,它得语句量起码

我来回复

您尚未登录,请登录后再回复。点此登录或注册