标题：编程语言
汇编语言
汇编语言的实质和机器语言是相同的，都是直接对硬件操作，只不过指令采  汇编语言用了英文缩写的标识符，更容易识别和记忆。它同样需要编程者将每一步具体的操作用命令的形式写出来。汇编程序通常由三部分组成：指令、伪指令和宏指令。汇编程序的每一句指令只能对应实际操作过程中的一个很细微的动作，例如移动、自增，因此汇编源程序一般比较冗长、复杂、容易出错，而且使用汇编语言编程需要有更多的计算机专业知识，但汇编语言的优点也是显而易见的，用汇编语言所能完成的操作不是一般高级语言所能实现的，而且源程序经汇编生成的可执行文件不仅比较小，而且执行速度很快。[1-2]
脚本语言
脚本语言（Script language，scripting language，scripting programming language）是为了缩短传统的编写-编译-链接-运行（edit-compile-link-run）过程而创建的计算机编程语言。此命名起源于一个脚本“screenplay”，每次运行都会使对话框逐字重复。
早期的脚本语言经常被称为批量处理语言或工作控制语言。一个脚本通常是解释运行而非编译。
虽然许多脚本语言都超越了计算机简单任务自动化的领域，成熟到可以编写精巧的程序，但仍然还是被称为脚本。几乎所有计算机系统的各个层次都有一种脚本语言。包括操作系统层，如计算机游戏，网络应用程序，字处理文档，网络软件等。在许多方面，高级编程语言和脚本语言之间互相交叉，二者之间没有明确的界限。
脚本编程速度更快，且脚本文件明显小于如同类C程序文件。这种灵活性是以执行效率为代价的。脚本通常是解释执行的，速度可能很慢，且运行时更耗内存。在很多案例中，如编写一些数十行的小脚本，它所带来的编写优势就远远超过了运行时的劣势，尤其是在当前程序员工资趋高和硬件成本趋低时。
脚本语言是一种解释性的语言，例如Python[3]、vbscript,javascript,installshield script,ActionScript等等，它不象c\c++等可以编译成二进制代码，以可执行文件的形式存在.[4]
机器语言
由于计算机内部只能接受二进制代码，因此，用二进制代码0和1描述的指令称为机器指令，全部机器指令的集合构成计算机的机器语言，用机器语言编程的程序成为目标程序。只有目标程序才能被计算机直接识别和执行。但是机器语言编写的程序无明显特征，难以记忆，不便阅读和书写，且依赖于具体机种，局限性很大，机器语言属于低级语言。[5]
高级语言
高级语言是目前绝大多数编程者的选择。和汇编语言相比，它不但将许多相关的机器指令合成为单条指令，并且去掉了与具体操作有关但与完成工作无关的细节，例如使用堆栈、寄存器等，这样就大大简化了程序中的指令。同时，由于省略了很多细节，编程者也就不需要有太多的专业知识。
高级语言主要是相对于汇编语言而言，它并不是特指某一种具体的语言，而是包括了很多编程语言，如目前流行的VB、C++、FoxPro、Delphi等，这些语言的语法、命令格式都各不相同。像最简单的编程语言PASCAL语言也属于高级语言.
高级语言所编制的程序不能直接被计算机识别，必须经过转换才能被执行，按转换方式可将它们分为两类： 
解释类：执行方式类似于我们日常生活中的“同声翻译”，应用程序源代码一边由相应语言的解释器“翻译”成目标代码（机器语言），一边执行，因此效率比较低，而且不能生成可独立执行的可执行文件，应用程序不能脱离其解释器，但这种方式比较灵活，可以动态地调整、修改应用程序。如较早时期的Qbasic语言。
编译类：编译是指在应用源程序执行之前，就将程序源代码“翻译”成目标代码（机器语言），因此其目标程序可以脱离其语言环境独立执行，使用比较方便、效率较高。但应用程序一旦需要修改，必须先修改源代码，再重新编译生成新的目标文件（* .OBJ）才能执行，只有目标文件而没有源代码，修改很不方便。现在大多数的编程语言都是编译型的，例如C/C++、 Visual Foxpro、Delphi等。
主流编程
学习编程，从何入手？ 如果您想学习编程，却又不知从何入手，使用什么工具，那么您不妨看看下面的几种学习方案，可能会给您一些启示吧！AAutoAAuto语言 & 快手
AAuto是专用于桌面软件快速开发的新一代混合型编程语言， 兼具动态、静态语言优势，语法更可兼容大部分流行语言，学习成本低，开发速度快，并永久免费。
AAuto是一种动态语言，但是同时支持静态类型开发，下面的代码定义了一个结构体，在这个结构体中可以象静态语言一样使用静态类型，又可以象动态语言一样使用动态类型;
//定义类
class POINT {
int x; int y; //静态类型 [6]
func = function(){
//动态类型 
} 
}
这种全新的混合编程语言开创了一种全新的编程方式，AAuto拥有动态语言轻便、灵活、快速开发的特性，同时又可以象静态语言一样强大，直接支持原生DLL，方便的声明API函数，并且可以将AAuto的函数对象转换为C语言兼容的函数指针，即使是外部EXE进程中的函数，也可以使用一句代码声明为普通的AAuto函数对象( 原生call支持 )。
AAuto虽然小，但是支持的接口很丰富，可支持标准DLL的stdcall，cdecl，thiscall等调用约定，可以支持C++导出的类对象，可以支持com静态动态双接口，象VBS一样原生支持com对象。
AAuto还可以直接嵌入汇编机器码，C语言，Java，PHP，C#，Python，Javascript，VBScript......等等数量众多的第三方编程语言，方便的互调函数，并且这些调用第三言语言的功能模块都是使用AAuto实现，并且开放源码。混合型语言让我们可以体验到激动人心的全新编程方式。
AAuto可以将硬盘目录，硬盘文件一键嵌入EXE文件，将全部程序包含所有资源生成独立的绿色EXE文件，所有文件读写的相关函数自动支持，无需更改代码，AAuto制作的程序不需要安装程序，也不需要释放DLL运行库，AAuto制作的程序都是免安装绿色软件。 
AAuto语法优美，最大兼容流行的C系，Pascal语法，并且可以自定义一套自己的语法。有其他语言基础的可以轻松上手，学习AAuto以后学习其他编程语言更可事半功倍，AAuto不象其他的一些编程语言，在语法风格，函数命名上都保持了良好的兼容性、通用性。
AAuto原生支持多线程开发，复杂的多线程开发在AAuto中变得非常简单，AAuto所有对象先天线程安全，自动解决所有并发问题，标准库提供大量简化多线程开发的辅助支持库。例如 thread.command 实现的线程命令订阅模式，为多线程软件开发带来很大的方便。
AAuto的标准库基本使用纯AAuto源码实现，并且全部开源，标准库提供了大量的简化编程的常用函数，涉及到软件开发的方方面面，极大的简化了桌面软件开发过程。Basic  VBBasic语言& Visual Basic
优点 　
⑴Basic 简单易学，很容易上手。
⑵Visual Basic 提供了强大的可视化编程能力，可以让你轻松地做出漂亮的程序。
⑶众多的控件让编程变得象垒积木一样简单。
⑷Visual Basic 的全部汉化让我们这些见了English就头大的人喜不自禁。
缺点 
⑴Visual Basic 不是真正的面向对象的开发文具。
⑵Visual Basic 的数据类型太少，而且不支持指针，这使得它的表达能力很有限。
⑶Visual Basic 不是真正的编译型语言，它产生的最终代码不是可执行的，是一种伪代码。它需要一个动态链接库去解释执行，这使得Visual Basic 的编译速度大大变慢。（Visual Basic 5以及以前的版本产生的代码是伪代码，Visual Basic 6 编译出来的代码是真正的可执行代码。）
综述：方案一适合初涉编程的朋友，它对学习者的要求不高，几乎每个人都可以在一个比较短的时间里学会VB编程，并用VB 做出自己的作品。对于那些把编程当做游戏的朋友来说，VB 是您最佳的选择。Pascal  DelphiPascal语言& Delphi 
优点 
⑴Pascal语言结构严谨，可以很好地培养一个人的编程思想。
⑵Delphi是一个真正的面向对象的开发工具，并且是完全的可视化。
⑶Delphi使用了真编译，可以让你的代码编译成为可执行的文件，而且编译速度非常快。
⑷Delphi具有强大的数据库开发能力，可以让你轻松地开发数据库。
缺点 
⑴Delphi几乎可以说是完美的，只是Pascal语言的过于严谨让人感觉有点烦。
综述： 方案二比较适合那些具有一定编程基础并且学过Pascal语言的朋友。C++  C++优点 
⑴C语言灵活性好，效率高，可以接触到软件开发比较底层的东西。
⑵微软的MFC库博大精深，学会它可以让随心所欲地进行编程。
⑶VC是微软制作的产品，与操作系统的结合更加紧密。
缺点 
⑴对使用者的要求比较高，既要具备丰富的C语言编程经验，又要具有一定的WINDOWS编程基础，它的过于专业使得一般的编程爱好者学习起来会有不小的困难。
综述：VC是程序员用的东西。如果你是一个永不满足的人，而且可以在编程上投入很大的精力和时间，那么学习VC你一定不会后悔的。Builder优点 
⑴继承了C语言的全部优点。
⑵完全的可视化。
⑶极强的兼容性，支持OWL、VCL和MFC三大类库。
⑷编译速度非常快。
缺点 
⑴由于推出的时间太短，关于它的各种资料还不太多。
综述：我认为C++ Builder 是最好的编程工具。它既保持了C语言编程的优点，又做到了完全的可视化。JAVA语言一. Java的由来
  JAVA语言当1995年SUN推出Java语言之后，全世界的目光都被这个神奇的语言所吸引。那么Java到底有何神奇之处呢？ 
Java语言其实最是诞生于1991年，起初被称为OAK语言，是SUN公司为一些消费性电子产品而设计的一个通用环境。他们最初的目的只是为了开发一种独立于平台的软件技术，而且在网络出现之前，OAK可以说是默默无闻，甚至差点夭折。但是，网络的出现改变了OAK的命运。
在Java出现以前。Internet上的信息内容都是一些乏味死板的HTML文档。这对于那些迷恋于WEB浏览的人们来说简直不可容忍。他们迫切希望能在WEB中看到一些交互式的内容，开发人员也极希望能够在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的特点
⒈ 平台无关性 
平台无关性是指Java能运行于不同的平台。Java引进虚拟机 原理，并运行于虚拟机，实现不同平台的Java接口之间，使用Java编写的程序能在世界范围内共享。Java的数据类型与机器无关，Java虚拟机（Java Virtual Machine）是建立在 硬件和操作系统之上，实现Java二进制代码的解释执行功能， 提供于不同平台的接口的。
⒉ 安全性 
Java的编程类似C++，学习过C++的读者将很快掌握Java的精髓。Java舍弃了C++的指针对存储器地址的直接操作，程序运行时，内存由操作系统分配，这样可以避免病毒通过指针侵入系统。Java对程序提供了安全管理器，防止程序的非法访问。
⒊ 面向对象 
Java 吸取了C++面向对象的概念，将数据封装于类中，利用类的优点，实现了程序的简洁性和便于维护性。类的封装性、 继承性等有关对象的特性，使程序代码只需一次编译，然后通过上述特性反复利用。程序员只需把主要精力用在类和接口的设计和应用上。Java 提供了众多的一般对象的类，通过继承即可使用父类的方法。在 Java 中，类的继承关系是单一的非多重的，一个子类只有一个父类，子类的父类又有一个父类。Java 提供的 Object 类及其子类的继承关系如同一棵倒立的树形，根类为Object 类，Object 类功能强大，经常会使用到它及其它派生的子类。
⒋ 分布式 
Java建立在扩展TCP/IP网络平台上。库函数提供了用HTTP和FTP协议传送和接受信息的方法。这使得程序员使用网络上的文件和使用本机文件一样容易。
⒌ 健壮性 
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程序被下载到本地的用户机上，由浏览器解释运行。易语言创建者：大连吴涛易语言（吴涛） 
易语言简称：e、VE、E语言 
最新版本：易语言5.11 （20101221） （支持静态编译） 
特色：第一个中国人自己打造的编程语言！  ★全中文支持，无需跨越英语门槛。
★全可视化编程，支持所见即所得程序界面设计和程序流程编码。
★中文语句快速录入。提供多种内嵌专用输入法，彻底解决中文语句输入速度慢的问题。
★代码即文档。自动规范强制代码格式转换，任何人编写的任何程序源代码格式均统一。
[7]
JSP
在Sun正式发布JSP(Java Server Pages）之后，这种新的Web应用开发技术很快引起了人们的关注。JSP为创建高度动态的Web应用提供了一个独特的开发环境。按照 Sun 的说法，JSP能够适应市场上包括Apache WebServer 、ⅡS4.0在内的85%的服务器产品。
JSP与ASP的简单比较 
JSP与Microsoft的ASP技术非常相似。两者都提供在HTML代码中混合某种程序代码、由语言引擎解释执行程序代码的能力。在ASP或JSP环境下，HTML代码主要负责描述信息的显示样式，而程序代码则用来描述处理逻辑。普通的HTML页面只依赖于Web服务器，而ASP和JSP页面需要附加的语言引擎分析和执行程序代码。程序代码的执行结果被重新嵌入到HTML代码中，然后一起发送给浏览器。ASP和JSP都是面向Web服务器的技术，客户端浏览器不需要任何附加的软件支持。
ASP的编程语言是VBScript之类的脚本语言，JSP使用的是Java，这是两者最明显的区别。
此外，ASP与JSP还有一个更为本质的区别：两种语言引擎用完全不同的方式处理页面中嵌入的程序代码。在ASP下，VBScript代码被ASP引擎解释执行；在JSP下，代码被编译成Servlet并由Java虚拟机执行，这种编译操作仅在对JSP页面的第一次请求时发生。
运行环境 
执行 JSP 代码需要在服务器上安装 JSP 引擎。此处我们使用的是 Sun 的 JavaServer Web Development Kit （JSWDK）。为便于学习，这个软件包提供了大量可供修改的示例。安装 JSWDK 之后，只需执行 startserver 命令即可启动服务器。在默认配置下服务器在端口 8080 监听，使用 http://localhost:8080 即可打开缺省页面。
在运行 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技术的有力竞争者。强势⑴一次编写，到处运行。在这一点上Java比PHP更出色，除了系统之外，代码不用做任何更改。
⑵系统的多平台支持。基本上可以在所有平台上的任意环境中开发，在任意环境中进行系统部署，在任意环境中扩展。相比ASP/PHP的局限性是显而易见的。
⑶强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP，到由多台服务器进行集群和负载均衡，到多台Application进行事务处理，消息处理，一台服务器到无数台服务器，Java显示了一个巨大的生命力。
⑷多样化和功能强大的开发工具支持。这一点与ASP很像，Java已经有了许多非常优秀的开发工具，而且许多可以免费得到，并且其中许多已经可以顺利的运行于多种平台之下。弱势⑴ 与ASP一样，Java的一些优势正是它致命的问题所在。正是由于为了跨平台的功能，为了极度的伸缩能力，所以极大的增加了产品的复杂性。
⑵ Java的运行速度是用class常驻内存来完成的，所以它在一些情况下所使用的内存比起用户数量来说确实是“最低性能价格比”了。从另一方面，它还需要硬盘空间来储存一系列的.java文件和.class文件，以及对应的版本文件。
技术方法
为了快速方便地进行动态网站的开发，JSP在以下几个方面做了改进，使其成为快速建立跨平台的动态网站的首选方案。
1.将内容的生成和显示进行分离 
用JSP技术，Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面，并使用JSP标识或者小脚本来生成页面上的动态内容（内容是根据请求变化的，例如请求账户信息或者特定的一瓶酒的价格等）。生成内容的逻辑被封装在标识和JavaBeans组件中，并且捆绑在脚本中，所有的脚本在服务器端运行。由于核心逻辑被封装在标识和JavaBeans中，所以Web管理人员和页面设计者，能够编辑和使用JSP页面，而不影响内容的生成。
在服务器端，JSP引擎解释JSP标识和脚本，生成所请求的内容（例如，通过访问JavaBeans组件，使用JDBC技术访问数据库或者包含文件），并且将结果以HTML（或者XML）页面的形式发送回浏览器。这既有助于作者保护自己的代码，又能保证任何基于HTML的Web浏览器的完全可用性。
2.可重用组件 
绝大多数JSP页面依赖于可重用的、跨平台的组件（JavaBeans或者Enterprise JavaBeans组件）来执行应用程序所要求的复杂的处理。开发人员能够共享和交换执行普通操作的组件，或者使得这些组件为更多的使用者和客户团体所使用。基于组件的方法加速了总体开发过程，并且使得各种组织在他们现有的技能和优化结果的开发努力中得到平衡。
3.采用标识 
Web页面开发人员不会都是熟悉脚本语言的编程人员。JSP技术封装了许多功能，这些功能是在易用的、与JSP相关的XML标识中进行动态内容生成所需要的。标准的JSP标识能够访问和实例化JavaBeans组件，设置或者检索组件属性，下载Applet，以及执行用其他方法更难于编码和耗时的功能。
4.适应平台 
几乎所有平台都支持Java，JSP+JavaBeans几乎可以在所有平台下通行无阻。从一个平台移植到另外一个平台，JSP和JavaBeans甚至不用重新编译，因为Java字节码都是标准的与平台无关的。
5.数据库连接 
Java中连接数据库的技术是JDBC，Java程序通过JDBC驱动程序与数据库相连，执行查询、提取数据等操作。Sun公司还开发了JDBC－ODBC bridge，利用此技术Java程序可以访问带有ODBC驱动程序的数据库，目前大多数数据库系统都带有ODBC驱动程序，所以Java程序能访问诸如Oracle、Sybase、MS SQL Server和MS Access等数据库。
此外，通过开发标识库，JSP技术可以进一步扩展。第三方开发人员和其他人员可以为常用功能创建自己的标识库。这使得Web页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的构件来进行工作。
JSP技术很容易整合到多种应用体系结构中，以利用现存的工具和技巧，并且能扩展到支持企业级的分布式应用中。作为采用Java技术家族的一部分，以及Java 2（企业版体系结构）的一个组成部分，JSP技术能够支持高度复杂的基于Web的应用。由于JSP页面的内置脚本语言是基于Java的，而且所有的JSP页面都被编译成为Java Servlets，所以JSP页面具有Java技术的所有好处，包括健壮的存储管理和安全性。作为Java平台的一部分，JSP拥有Java编程语言“一次编写，各处运行”的特点。
应用模型
利用JSP技术，动态信息由JSP页面来表现，JSP页面由安装在Web服务器或者使用JSP的应用服务器上的JSP引擎执行。JSP引擎接受客户端对JSP页面的请求，并且生成JSP页面作为对客户端的响应。
JSP页面通常被编译成为Java Servlets，这是一个标准的Java扩展。页面开发人员能够访问全部的Java应用环境，以利用Java技术的扩展性和可移植性。当JSP页面第一次被调用时，如果它还不存在，就会被编译成为一个Java Servlets类，并且存储在服务器的内存中。这就使得在接下来的对该页面的调用中，服务器会有非常快的响应（这避免了CGI－BIN为每个HTTP请求生成一个新的进程的问题）。
JSP页面可以包含在多种不同的应用体系结构或者模型中，可以用于由不同协议、组件和格式所组成的联合体中。基于JSP的动态信息发布技术是一个开放的、可扩展的建立动态Web页面的标准。不论采用什么创建工具，开发人员都可以使用JSP页面来创建可移植的Web应用，在不同的Web应用服务器上运行。
SQL
对于一些传统的数据开发人员来说，Foxpro系列也许让他们感到更加熟悉。但是对于初学者来说，PowerBuilder也许是最好的数据库开发工具。各种各样的控件，功能强大的PowerBuilder语言都会帮助你开发出自己的数据库应用程序。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 
数据操纵语言DML-Data Manipulation Language INSERT,UPDATE,DELETE 
数据定义语言DDL-Data Definition Language CREATE,ALTER,DROP 
数据控制语言DCL-Data Control Language COMMIT WORK,ROLLBACK WORK 
2.SQL的历史 
在70年代初，E.E.Codd首先提出了关系模型。70年代中期，IBM公司在研制 SYSTEM R关系数据库管理系统中研制了SQL语言，最早的SQL语言（叫SEQUEL2）是在1976 年 11 月的IBM Journal of R&D上公布的。
1979年ORACLE公司首先提供商用的SQL，IBM公司在DB2 和SQL/DS数据库系统中也实现了SQL。
1986年10月，美国ANSI采用SQL作为关系数据库管理系统的标准语言（ANSI X3. 135-1986），后为国际标准化组织（ISO）采纳为国际标准。
1989年，美国ANSI采纳在ANSI X3.135-1989报告中定义的关系数据库管理系统的SQL标准语言，称为ANSI SQL 89， 该标准替代ANSI X3.135-1986版本。该标准为下列组织所采纳：
● 国际标准化组织（ISO），为ISO 9075-1989报告“Database Language SQL With Integrity Enhancement” 
● 美国联邦政府，发布在The Federal Information Processing Standard Publication(FIPS PUB)127 
目前，所有主要的关系数据库管理系统支持某些形式的SQL语言， 大部分数据库打算遵守ANSI SQL89标准。
SQL的优点 
SQL广泛地被采用正说明了它的优点。它使全部用户，包括应用程序员、DBA管理员和终端用户受益匪浅。
⑴ 非过程化语言 
SQL是一个非过程化的语言，因为它一次处理一个记录，对数据提供自动导航。SQL允许用户在高层的数据结构上工作，而不对单个记录进行操作，可操作记录集。所有SQL 语句接受集合作为输入，返回集合作为输出。SQL的集合特性允许一条SQL语句的结果作为另一条SQL语句的输入。SQL不要求用户指定对数据的存放方法。这种特性使用户更易集中精力于要得到的结果。所有SQL语句使用查询优化器，它是RDBMS的一部分，由它决定对指定数据存取的最快速度的手段。查询优化器知道存在什么索引，哪儿使用合适，而用户从不需要知道表是否有索引，表有什么类型的索引。
⑵ 统一的语言 
SQL可用于所有用户的DB活动模型，包括系统管理员、数据库管理员、 应用程序员、决策支持系统人员及许多其它类型的终端用户。基本的SQL 命令只需很少时间就能学会，最高级的命令在几天内便可掌握。SQL为许多任务提供了命令，包括：
● 查询数据 
● 在表中插入、修改和删除记录 
● 建立、修改和删除数据对象
● 控制对数据和数据对象的存取 
● 保证数据库一致性和完整性 
以前的数据库管理系统为上述各类操作提供单独的语言，而SQL 将全部任务统一在一种语言中。
⑶ 是所有关系数据库的公共语言 
由于所有主要的关系数据库管理系统都支持SQL语言，用户可将使用SQL的技能从一个RDBMS转到另一个。所有用SQL编写的程序都是可以移植的。PowerPowerBuilder的产生 
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为应用开发提供了全面综合性的支持，可以分别概括为如下几点：
事件驱动的应用程序 
功能强大的编程语言与函数 
面向对象的编程
跨平台开发 
开放的数据库连结系统 
PowerBuilder开发环境 
PowerBuilder开发环境由一系列集成的图形画板（Painter）组成，应用开发人员通过简单的鼠标操作即可设计、建立、交互检验和测试客户/服务器应用程序。
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第一次被应用在文本编辑器上，但是现在也同web中的HTML一起使用了.
Pike
Pike的语言和C语言以及Java类似.它是一种易学的语言，因为它不牵涉复杂的函数功能.
sharp
C sharp（音标 [∫a:p]）（又被简称为"C#")是微软公司在2000年6月发布的一种新的编程语言，并定于在微软职业开发者论坛（PDC）上登台亮相。C#是微软公司研究员Anders Hejlsberg的最新成果。C#看起来与Java有着惊人的相似；它包括了诸如单一继承、界面、与Java几乎同样的语法，和编译成中间代码再运行的过程。但是C#与Java有着明显的不同，它借鉴了Delphi的一个特点，与COM（组件对象模型）是直接集成的，而且它是微软公司.NET windows网络框架的主角。　在本文中，我将考察创建一种新计算机语言的一般动机，并将特别指明是什么原因导致了C#的出现，然后我将介绍C#和它与Java、C、C++的相似之处。其次我将讨论一些存在于Java和C#之间的高层次的、和基础的差别。我将以衡量在用多种语言开发大型应用程序的时候所需的知识（或者对这种知识的缺乏程度）来结束本文，而这正是.NET和C#的一个主要战略。目前，C#和.NET还只能以C#语言规则，以及Windows 2000的一个"d预览版本"，还有MSDN上迅速增多的文档集子的形式获得（还没有最终定型）。