核心概念之二---编程语言(Programming Language)

编程语言(programming language),是用来定义计算机程序的形式语言。它是一种被标准化的交流技巧,用来向计算机发出指令。一种计算机语言让程序员可以准确地定义计算机所须要使用的数据,并精确地定义在不一样状况下所应当采起的行动。[1] javascript

最先的编程语言是在电脑发明以后产生的,当时是用来控制提花织布机及自动演奏钢琴的动做。在电脑领域已发明了上千不一样的编程语言,并且每一年仍有新的编程语言诞生。不少编程语言须要用指令方式说明计算的程序,而有些编程语言则属于声明式编程,说明须要的结果,而不说明如何计算。[1] html

编程语言的描述通常能够分为语法及语义语法是说明编程语言中,哪些符号或文字的组合方式是正确的语义则是对于编程的解释。有些语言是用规格文件定义,例如C语言的规格文件也是ISO标准中一部份,2011年后的版本为ISO/IEC 9899:2011,而其余语言(像Perl)有一份主要的编程语言实现文件,视为是参考实现。[1] 前端

编程语言俗称“计算机语言”,种类很是的多,总的来讲能够分红机器语言、汇编语言、高级语言三大类。电脑每作的一次动做,一个步骤,都是按照已经用计算机语言编好的程序来执行的,程序是计算机要执行的指令的集合,而程序所有都是用咱们所掌握的语言来编写的。因此人们要控制计算机必定要经过计算机语言向计算机发出命令。 目前通用的编程语言有两种形式:汇编语言高级语言[1] java

  • 中文名c++

  • 编程语言程序员

  • 外文名web

  • programming language算法

  • 俗    称数据库

  • 计算机语言编程

  • 分    成

  • 机器语言、汇编语言、高级语言

  • 形    式

  • 汇编语言和高级语言

概论

编程语言本来是被设计成专门使用在计算机上的,但它们也能够用来定义算法或者数据结构。正是由于如此,程序员才会试图使程序代码更容易阅读。[1] 

编程语言每每使程序员可以比使用机器语言更准确地表达他们所想表达的目的。对那些从事计算机科学的人来讲,懂得程序设计语言是十分重要的,由于在当今全部的计算都须要程序设计语言才能完成。[1] 

在过去的几十年间,大量的编程语言被发明、被取代、被修改或组合在一块儿。尽管人们屡次试图创造一种通用的程序设计语言,却没有一次尝试是成功的。之因此有那么多种不一样的编程语言存在的缘由是,编写程序的初衷其实也各不相同;新手与老手之间技术的差距很是大,并且有许多语言对新手来讲太难学;还有,不一样程序之间的运行成本(runtime cost)各不相同。[1] 

有许多用于特殊用途的语言,只在特殊状况下使用。例如,PHP专门用来显示网页;Perl更适合文本处理;C语言被普遍用于操做系统和编译器的开发(所谓的系统编程)。[1] 

高级语言的出现使得计算机程序设计语言再也不过分地依赖某种特定的机器或环境。这是由于高级语言在不一样的平台上会被编译成不一样的机器语言,而不是直接被机器执行。最先出现的编程语言之一FORTRAN的一个主要目标,就是实现平台独立。[1] 

虽然大多数的语言能够既可被编译又可被解译,但大多数仅在一种状况下可以良好运行。在一些编程系统中,程序要通过几个阶段的编译,通常而言,后阶段的编译每每更接近机器语言。这种经常使用的使用技巧最先在1960年代末用于BCPL,编译程序先编译一个叫作“0代码”的转换程序(representation),而后再使用虚拟器转换到能够运行于机器上的真实代码。这种成功的技巧以后又用于Pascal和P-code,以及Smalltalk和二进制码,在不少时候,中间过渡的代码每每是解译,而不是编译的。[1] 

若是所使用的翻译的机制是将所要翻译的程序代码做为一个总体翻译,并以后运行内部格式,那么这个翻译过程就被成为编译。所以,一个编译器是一个将人可阅读的程序文本(叫作源代码)做为输入的数据,而后输出可执行文件(object code)。所输出的可执行文件能够是机器语言,由计算机的中央处理器直接运行,或者是某种模拟器的二进制代码。[1] 

若是程序代码是在运行时才即时翻译,那么这种翻译机制就被称做直译。经直译的程序运行速度每每比编译的程序慢,但每每更具灵活性,由于它们可以与执行环境互相做用。[1]

语言种类

汇编语言

汇编语言的实质和机器语言是相同的,都是直接对硬件操做,只不过指令采用了英文缩写的标识符,更容易识别和记忆。它一样须要编程者将每一步具体的操做用命令的形式写出来。汇编程序一般由三部分组成:指令伪指令宏指令汇编程序的每一句指令只能对应实际操做过程当中的一个很细微的动做。例如移动、自增,所以汇编源程序通常比较冗长、复杂、容易出错,并且使用汇编语言编程须要有更多的计算机专业知识,但汇编语言的优势也是显而易见的,用汇编语言所能完成的操做不是通常高级语言所可以实现的,并且源程序经汇编生成的可执行文件不只比较小,并且执行速度很快。

脚本语言

脚本语言(Script language,scripting language,scripting programming language)是为了缩短传统的编写-编译-连接-运行(edit-compile-link-run)过程而建立的计算机编程语言。此命名起源于一个脚本“screenplay”,每次运行都会使对话框逐字重复。[1] 

早期的脚本语言常常被称为批量处理语言或工做控制语言。一个脚本一般是解释运行而非编译。

虽然许多脚本语言都超越了计算机简单任务自动化的领域,成熟到能够编写精巧的程序,但仍然仍是被称为脚本。几乎全部计算机系统的各个层次都有一种脚本语言。包括操做系统层,如计算机游戏,网络应用程序,字处理文档,网络软件等。在许多方面,高级编程语言和脚本语言之间互相交叉,两者之间没有明确的界限。

脚本编程速度更快,且脚本文件明显小于如同类C程序文件。这种灵活性是以执行效率为代价的。脚本一般是解释执行的,速度可能很慢,且运行时更耗内存。在不少案例中,如编写一些数十行的小脚本,它所带来的编写优点就远远超过了运行时的劣势,尤为是在当前程序员工资趋高和硬件成本趋低时。

脚本语言是一种解释性的语言,例如Python[2] 、vbscript,javascript,installshield script,ActionScript等等,它不象c\c++等能够编译二进制代码,以可执行文件的形式存在.[3] 

机器语言

因为计算机内部只能接受二进制代码,所以,用二进制代码0和1描述的指令称为机器指令,所有机器指令的集合构成计算机的机器语言,用机器语言编程的程序称为目标程序。只有目标程序才能被计算机直接识别和执行。可是机器语言编写的程序无明显特征,难以记忆,不便阅读和书写,且依赖于具体机种,局限性很大,机器语言属于低级语言。

高级语言

高级语言是大多数编程者的选择。和汇编语言相比,它不但将许多相关的机器指令合成为单条指令,而且去掉了与具体操做有关但与完成工做无关的细节,例如使用堆栈寄存器等,这样就大大简化了程序中的指令。同时,因为省略了不少细节,编程者也就不须要有太多的专业知识。

高级语言主要是相对于汇编语言而言,它并非特指某一种具体的语言,而是包括了不少编程语言,像最简单的编程语言PASCAL语言也属于高级语言。

高级语言所编制的程序不能直接被计算机识别,必须通过转换才能被执行,按转换方式可将它们分为两类:

解释类:执行方式相似于咱们平常生活中的“同声翻译”,应用程序源代码一边由相应语言的解释器“翻译”成目标代码(机器语言),一边执行,所以效率比较低,并且不能生成可独立执行的可执行文件,应用程序不能脱离其解释器,但这种方式比较灵活,能够动态地调整、修改应用程序。如较早时期的Qbasic语言。

编译类:编译是指在应用源程序执行以前,就将程序源代码“翻译”成目标代码(机器语言),所以其目标程序能够脱离其语言环境独立执行,使用比较方便、效率较高。但应用程序一旦须要修改,必须先修改源代码,再从新编译生成新的目标文件(* .obj,也就是OBJ文件)才能执行,只有目标文件而没有源代码,修改很不方便。

常见语言

C#

C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言。C#是微软公司研究员Anders Hejlsberg的最新成果。Csharp(音标 [∫a:p])(又被简称为"C#")是微软公司在2000年6月发布的一种新的编程语言,并定于在微软职业开发者论坛(PDC)上登台亮相。C#看起来与Java有着惊人的类似;它包括了诸如单一继承、界面、与Java几乎一样的语法,和编译成中间代码再运行的过程。可是C#与Java有着明显的不一样,它借鉴了Delphi的一个特色,与COM(组件对象模型)是直接集成的,并且它是微软公司.NET windows网络框架的主角。 在本文中,我将考察建立一种新计算机语言的通常动机,并将特别指明是什么缘由致使了C#的出现,而后我将介绍C#和它与JavaCC++的类似之处。其次我将讨论一些存在于Java和C#之间的高层次的、和基础的差异。我将以衡量在用多种语言开发大型应用程序的时候所需的知识(或者对这种知识的缺少程度)来结束本文,而这正是.NET和C#的一个主要战略.以及Windows 2000的一个"d预览版本",还有MSDN上迅速增多的文档集子的形式得到(尚未最终定型)。

Basic

BASIC(Beginners' All-purpose Symbolic Instruction Code,又译培基),意思就是“初学者的全方位符式指令代码”,是一种设计给初学者使用的程序设计语言。BASIC是一种直译式的编程语言,在完成编写后不须经由编译及连结等手续便可执行,但若是须要单独执行时仍然须要将其创建成执行档。

Pascal

Pascal是一种计算机通用的高级程序设计语言。Pascal的取名是为了记念十七世纪法国著名哲学家和数学家Blaise Pascal。它由瑞士Niklaus Wirth教授于六十年代末设计并创立。Pascal语言语法严谨,井井有条,程序易写,具备很强的可读性,是第一个结构化的编程语言。

C语言

C语言是一种计算机程序设计语言,它既具备高级语言的特色,又具备汇编语言的特色。它由美国贝尔研究所的D.M.Ritchie于1972年推出,1978年后,C语言已前后被移植到大、中、小及微型机上,它能够做为工做系统设计语言,编写系统应用程序,也能够做为应用程序设计语言,编写不依赖计算机硬件的应用程序。它的应用范围普遍,具有很强的数据处理能力,不只仅是在软件开发上,并且各种科研都须要用到C语言,适于编写系统软件,三维,二维图形和动画,具体应用好比单片机以及嵌入式系统开发

C++

C++这个词在中国大陆程序员圈子中一般被读作“C加加”,而西方的程序员一般读作“C plus plus”,“CPP”。 它是一种使用很是普遍的计算机编程语言。C++是一种静态数据类型检查的、支持多重编程范式的通用程序设计语言。它支持过程化程序设计数据抽象面向对象程序设计泛型程序设计等多种程序设计风格

JAVA

Java是一种能够撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE, JavaEE, JavaME)的总称。Java 技术具备卓越的通用性、高效性、平台移植性和安全性,普遍应用于我的PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具有了显著优点和广阔前景。

AAuto

AAuto是专用于桌面软件快速开发的新一代混合型编程语言 - 具备动态语言轻便、灵活、快速开发的特性,并且又能够同时支持静态类型开发,象静态语言那样使用。AAuto能够直接支持原生DLL,即便是外部EXE进程中的函数,也可使用一句代码声明为普通的AAuto函数对象(原生call支持),AAuto支持很是多的标准调用约定,例如 stdcall,cdecl,thiscall,fastcall,regparm(n) 等调用约定均可以支持。AAuto虽然小,但支持的接口很丰富、能够支持com静态动态双接口,象VBS同样原生支持com对象。

用一个简单的代码演示一下,下面的AAuto代码定义了一个结构体:

1
2
3
4
5
6
7
//定义类 
classPOINT{  //类点
intx;inty; //“整数”类型x;“整数”类型y
func= function (){  //函数=函数()
//动态类型 
} 
}

这种全新的混合编程语言开创了一种全新的编程方式,也由于这种语言特性,AAuto能够很是方便的嵌入各类第三方语言,AAuto能够嵌入汇编机器码,C语言,Java,PHP,C#,Python,Javascript,VBScript......等等数量众多的第三方编程语言,方便的互调函数,而且这些调用第三方语言的功能模块都是使用AAuto实现( 开放源码 )。混合型语言让咱们能够体验到激动人心的全新编程方式。

AAuto能够将硬盘目录,硬盘文件一键嵌入EXE文件,将所有程序包含全部资源生成独立的绿色EXE文件,全部文件读写的相关函数自动支持,无需更改代码,AAuto制做的程序不须要安装程序,也不须要释放DLL运行库,AAuto制做的程序都是免安装绿色软件。

AAuto属于类C系语言、而且能够自定义一套本身的语法。AAuto在语法风格接近流行类C系语言。有其余语言基础的能够轻松上手,学习AAuto之后学习其余编程语言更可事半功倍。

AAuto支持多线程开发,复杂的多线程开发在AAuto中变得很是简单,标准库也提供大量简化多线程开发的辅助支持库,为多线程软件开发带来很大的方便(请参考快手范例 -> 多线程 )。

AAuto的标准库基本使用纯AAuto源码实现,而且所有开源,标准库提供了大量的简化编程的经常使用函数,涉及到软件开发的方方面面,极大的简化了桌面软件开发过程。

AAuto提供web.form支持库( 开源 ),能够建立web窗体加载网页建立web风格的软件界面,网页与本机代码能够直接交互,在快手工程向导里,就提供了 WEB UI 的模板。在使用web窗体时,你能感觉到AAuto这种混合语言带来的巨大方便,较之传统编程语言,AAuto 能够更快更加方便的建立 WEB UI 程序,在AAuto自带的范例中,就有一个多窗口浏览器的范例,仅仅使用了一页300行源码就实现了一个功能较完整的多窗口网页浏览器,能够看出使用AAuto极大的简化了Web相关开发技术。 另外,AAuto提供了web.layout支持库,封装了轻量快速的界面引擎HTMLayout,可使用传统的HTML,CSS技术,更加方便的实现漂亮的界面,并且运行,响应速度极快,官方也提供了大量HTMLayout的范例,教程。 使用AAuto开发传统界面也很是的方便,AAuto提供可视化开发工具,能够象VB同样(实际上比VB更简单)的经过拖拉控件建立程序。

易语言

[4] 易语言是一门计算机程序语言。以“易”著称,以中文做为程序代码表达的语言形式。易语言的创始人是吴涛。早期版本的名字为E语言。易语言最先的版本的发布可追溯至2000年9月11日。能够说,创造易语言的初衷是进行用中文来编写程序的实践。从2000年至今,易语言已经发展到必定的规模:功能上、用户数量上都十分可观。

建立者:大连吴涛易语言(吴涛)

易语言简称:e、VE、E语言

最新版本:易语言5.3 (201401107) (支持静态编译)

特点:

1.以简体中文做为程序代码进行编程操做。

2.全中文支持,无需跨越英语门槛。

3.全可视化编程,支持所见即所得程序界面设计和程序流程编码。

4.中文语句快速录入。提供多种内嵌专用输入法,完全解决中文语句输入速度慢的问题。

5.代码即文档。自动规范强制代码格式转换,任何人编写的任何程序源代码格式均统一。

6.加入了png支持,所涉及到组件: 标签, 按钮, 选择框, 图片框, 图形按钮, 画板, 窗体, 表格。

SQL

结构化查询语言(Structured Query Language)简称SQL,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。结构化查询语言是高级的非过程化编程语言,容许用户在高层数据结构上工做。它不要求用户指定对数据的存放方法,也不须要用户了解具体的数据存放方式,因此具备彻底不一样底层结构的不一样数据库系统可使用相同的结构化查询语言语言做为数据输入与管理的接口。结构化查询语言语句能够嵌套,这使他具备极大的灵活性和强大的功能。

SQL语言结构简洁,功能强大,简单易学,因此自从IBM公司1981年推出以来,SQL语言,获得了普遍的应用。现在不管是像Oracle,Sybase,Informix,SQL server这些大型的数据库管理系统,仍是像Visual FoxproPowerBuilder这些微机上经常使用的数据库开发系统,都支持SQL语言做为查询语言。

其余语言

习语言

即中文版的C语言[5] 

O语言

O语言是一款中文计算机语言(或称套装:O汇编语言、O中间语言、O高级语言)[6] 

AWK

二十世纪70年代Bells Labs创立了Awk语言,它是一种用于处理大数据量强大的命令行语言。

BASH

Bash(Bourne-Again Shell)是一种专门为GNU操做系统服务的命令行语言。

Common Lisp

Common Lisp,即为你们所熟知的CL,一种遵循ANSI-standard规范高效运行的编程语言.使用Common Lisp最好的地方是用户能够根据应用领域选择合适方法和范例。

Eiffel

Eiffel是一种面向对象的语言。它演变自1985年,是世界上众多最成熟的编程语言中的一种.在解决计算问题中,Eiffel代码是可读的和可重用的。

Emacs Lisp

一种计算机编程语言的变体,Emacs Lisp能够被任何其余的编程语言所使用。

Erlang

Erlang是另一种编程语言,一般分布在网络环境中,被用于构建强大的系统程序,Erlang和Java相似。

Forth

Forth是一种基于堆栈概念的高层次编程语言.它不依赖于变量的使用。这种语言帮助解决了一些编程中的老问题。

Icon

Icon是另一种具备处理数据结构和字符串特征的高层次编程语言。Icon的运行速度比C语言还要快。它在程序员尝试新想法,快速编程,文本处理,图像编程,处理大的数据类型方面颇有做用。

Lisp

在处理大数据演算,解决方案,动态变化的问题,以及多种混杂数据的问题上,Lisp是一种理想的编程语言。它适合定位最具备挑战性的问题。

Lua

Lua是一种强大快速的脚本语言

Mercury

它是一种将逻辑编程方式和功能编程方式联合在一块儿的编程语言。Mercury在复杂的,严格类型风格的系统上运行。

PHP

PHP是一种普遍使用的编程语言.由于它所编写的代码量小,愈来愈多的公司转向PHP编程。

Perl

由Larry Wall设计,Perl是最为普遍使用的编程语言中的一种,Perl第一次被应用在文本编辑器上使用了。

Pike

Pike和C语言以及Java相似。它是一种易学的语言,由于它不牵涉复杂的函数功能。

Python

Python是一种面向对象、直译式计算机程序设计语言。


C#

介绍

C#是一种安全的、稳定的、简单的、优雅的,由C和C++衍生出来的面向对象的编程语言。它在继承C和C++强大功能的同时去掉了一些它们的复杂特性(例如没有以及不容许多重继承)。C#综合了VB简单的可视化操做和C++的高运行效率,以其强大的操做能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。

C#是面向对象的编程语言。它使得程序员能够快速地编写各类基于MICROSOFT .NET平台的应用程序,MICROSOFT .NET提供了一系列的工具和服务来最大程度地开发利用计算与通信领域。

优势

C#是多种语言的混合体,所以它像Java同样语法简洁,像VB6同样使用简单,像C++同样功能强大和灵活(C#没有像C++那样麻烦的位操做)。如下是C#核心特征的一部分,其中大部分特色也是其余支持.NET的程序语言所共有的特征。

不须要指针!C#程序一般不须要直接对指针进行操做(尽管在绝对必要时也能自由地进行底层操做)。

垃圾收集器可以自动管理内存。所以,C#不支持delete关键字。

类、接口枚举、结构和委托都有正式的语法结构。

具备与C++相似的功能,能够简单地重载运算符为自定义类型(例如,不须要操心确保"返回*this以可以连接")。

支持基于特性的编程。这种方式的开发容许咱们注释类型及其成员来进一步限定其行为。

构建泛型类型和泛型成员的能力。使用泛型,咱们能够构建很是高效的而且类型安全的代码,在和泛型项交互的时候能够定义不少"占位符"。

支持匿名方法,它容许咱们在任何须要委托类型的地方提供内联函数。

不少委托/事件模型的简化,包括协变、逆变以及方法组转换。

使用partial关键字跨多个代码文件定义单个类型的能力(或者若是有必要的话,能够做为内存中的表示)。

支持强类型的查询(就像LINQ,即集成查询语言),可用于和各类形式的数据进行交互。

支持匿名类型,它容许咱们建模一个类型的"形"(shape)而不是其行为。

使用扩展方法扩展既有类型功能的能力。

包含了Lambda运算符(=>),它能够进一步简化.NET委托类型的使用。

新的对象初始化语法,它容许咱们在对象建立时设置属性的值。

支持动态类型dynamic。

缺点

  1. 该语言不适用于编写时间紧迫或性能很是高的代码,例如一个要运行1000或1050次循环,并在不须要这些循环时,当即清理它们所占用的资源;

  2. 缺少性能极高的应用程序所须要的关键功能,包括保证在代码的特定地方运行的内联函数和析构函数。

VB

Visual Basic

介绍

Visual Basic是一种由微软公司开发的包含协助开发环境事件驱动编程语言。从任何标准来讲,VB都是世界上使用人数最多的语言——不只是盛赞VB的开发者仍是抱怨VB的开发者的数量。它源自于BASIC编程语言。VB拥有图形用户界面(GUI)和快速应用程序开发(RAD)系统,能够轻易的使用DAO、RDO、ADO链接数据库,或者轻松的建立ActiveX控件程序员能够轻松的使用VB提供的组件快速创建一个应用程序。

优势

⑴Visual Basic 提供了强大的可视化编程能力,可让你轻松地作出漂亮的程序。

⑵众多的控件让编程变得象垒积木同样简单。

⑶Visual Basic 所有汉化,对于不会英语的人也能轻松使用。

缺点

⑴Visual Basic 不是真正的面向对象的开发工具。

⑵Visual Basic 的数据类型太少,并且不支持指针,这使得它的表达能力颇有限。

⑶Visual Basic 不是真正的编译型语言,它产生的最终代码不是可执行的,是一种伪代码。它须要一个动态连接库去解释执行,这使得Visual Basic 的编译速度大大变慢。(Visual Basic 5以及之前的版本产生的代码是伪代码,Visual Basic 6 编译出来的代码是真正的可执行代码。)

综述

Visual Basic对学习者的要求不高,几乎每一个人均可以在一个比较短的时间里学会VB编程,并用VB 作出本身的做品。对于那些把编程当作游戏的朋友来讲,VB 是您最佳的选择。

VC++

Visual C++

MicrosoftVisual C++,(简称Visual C++、MSVC、VC++或VC)微软公司的C++开发工具,具备集成开发环境,可提供编辑C语言,C++以及C++/CLI等编程语言。VC++整合了便利的除错工具,特别是整合了微软视窗程式设计(Windows API)、三维动画DirectX API,Microsoft .NET框架。目前最新的编辑器版本版本是Microsoft Visual C++ 2012。

优势

⑴C语言灵活性好,效率高,能够接触到软件开发比较底层的东西。

⑵微软的MFC库博大精深,学会它可让为所欲为地进行编程。

⑶VC是微软制做的产品,与操做系统的结合更加紧密。

缺点

⑴对使用者的要求比较高,既要具有丰富的C语言编程经验,又要具备必定的WINDOWS编程基础,它的过于专业使得通常的编程爱好者学习起来会有不小的困难。

综述

VC是程序员用的东西。若是你是一个永不知足的人,并且能够在编程上投入很大的精力和时间,那么学习VC你必定不会后悔的。

C++ Builder

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

优势

⑴继承了C语言的所有优势。

⑵彻底的可视化。

⑶极强的兼容性,支持OWL、VCL和MFC三大类库。

⑷编译速度很是快。

缺点

⑴因为离底层较近,开发复杂度较高,对程序员有着较高的要求,且开发效率可能较低。

综述

C++ Builder 既保持了C语言编程的优势,又作到了彻底的可视化。

Delphi

Delphi是Windows平台下著名的快速应用程序开发工具(Rapid Application Development,简称RAD)。它的前身,便是DOS时代盛行一时的“BorlandTurbo Pascal”,最先的版本由美国Borland(宝兰)公司于1995年开发。主创者为Anders Hejlsberg。通过数年的发展,此产品也转移至Embarcadero公司旗下。Delphi是一个集成开发环境(IDE),使用的核心是由传统Pascal语言发展而来的Object Pascal,以图形用户界面为开发环境,透过IDE、VCL工具与编译器,配合连结数据库的功能,构成一个以面向对象程序设计为中心的应用程序开发工具。

优势

⑴Pascal语言结构严谨,能够很好地培养一我的的编程思想。

⑵Delphi是一个真正的面向对象的开发工具,而且是彻底的可视化。

⑶Delphi使用了真编译,可让你的代码编译成为可执行的文件,并且编译速度很是快。

⑷Delphi具备强大的数据库开发能力,可让你轻松地开发数据库。

缺点

⑴Delphi几乎能够说是完美的,只是Pascal语言的过于严谨让人感受有点烦。

综述

Delphi比较适合那些具备必定编程基础而且学过Pascal语言的朋友。

PB

powerbuilder

对于一些传统的数据开发人员来讲,Foxpro系列也许让他们感到更加熟悉。可是对于初学者来讲,PowerBuilder也许是最好的数据库开发工具。各类各样的控件,功能强大的PowerBuilder语言都会帮助你开发出本身的数据库应用程序。

PowerBuilder开发环境由一系列集成的图形画板(Painter)组成,应用开发人员经过简单的鼠标操做便可设计、创建、交互检验和测试客户/服务器应用程序。

PowerBuilder的产生

PowerBuilder是美国著名的数据库应用开发工具生产厂商PowerSoft推出的成功产品,其初版于1991年6月正式投入市场。它是彻底按照客户/服务器体系结构研制设计的,采用面向对象技术,图形化的应用开发环境,是数据库的前端开发工具。

PowerBuilder的特色

它支持应用系统同时访问多种数据库,其中既包括Oracle,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为应用开发提供了全面综合性的支持,能够分别归纳为以下几点:

事件驱动的应用程序

功能强大的编程语言与函数

面向对象的编程

跨平台开发

开放的数据库连结系统

ASP

ASP是Active Server Page的缩写,意为“动态服务器页面”。ASP是微软公司开发的代替CGI脚本程序的一种应用,它能够与数据库和其它程序进行交互,是一种简单、方便的编程工具。ASP的网页文件的格式是 .asp。JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一块儿创建的一种动态网页技术标准。JSP技术有点相似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而造成JSP文件(*.jsp)。 用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其余操做系统上运行。

强势

⑴一次编写,处处运行。在这一点上Java比PHP更出色,除了系统以外,代码不用作任何更改。

⑵系统的多平台支持。基本上能够在全部平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP/PHP的局限性是显而易见的。

⑶强大的可伸缩性。从只有一个小的Jar文件就能够运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。

⑷多样化和功能强大的开发工具支持。这一点与ASP很像,Java已经有了许多很是优秀的开发工具,并且许多能够免费获得,而且其中许多已经能够顺利的运行于多种平台之下。

弱势

⑴ 与ASP同样,Java的一些优点正是它致命的问题所在。正是因为为了跨平台的功能,为了极度的伸缩能力,因此极大的增长了产品的复杂性。

⑵ Java的运行速度是用class常驻内存来完成的,因此它在一些状况下所使用的内存比起用户数量来讲确实是“最低性能价格比”了。从另外一方面,它还须要硬盘空间来储存一系列的.java文件和.class文件,以及对应的版本文件。

  • 参考资料


备注:转自http://baike.baidu.com/link?url=KvOpRqsx8y1P2_X66VL7lPJWPjk-NrHJXkYs_5EMiroKDY65B06hLbQNMiPhZ31Ik-lPVjLSY6EmPaieKdrn-aRcND0_FpuqxeG_yydNzF9GSk4Yac62hjcW6Qo3gg2e

相关文章
相关标签/搜索