⑴ 如何让mysqlworkbench支持emacs
1 配置.emacs
(setq sql-mysql-options '("-C" "-f" "-t" "-n")) ; for windows
(setq sql-user "root")
(setq sql-password "")
2 连接MySQL服务器
执行M-x sql-mysql / 在菜单中选择SQL->start SQLi session
根据提示输入用户,密码,mysql服务器地址,端口等信息。
emacs会新建一个名为*SQL*的buffer
3 连接sql文件与*SQL* buffer
打开sql文件并进入sql-mode
直接打开sql文件
或者
打开一个文件后再执行M-x sql-mode
设置产品类型为mysql
从带单中选择 SQL -> Proct -> MySQL
或
执行M-x sql-set-proct,然后输入mysql
连接sql文件与*SQL* buffer
使用菜单 SQL -> set SQLi buffer
或
执行命令M-x sql-set-sqli-buffer
然后输入想要连接的那个connection buffer,默认为*SQL* buffer
4 使用emacs作为mysql的客户端
4.1 在*SQL* Buffer中执行sql语句:
直接输入SQL语句,以“;”结尾,按下回车键自动执行
4.2 在sql文件buffer中执行sql语句
输入SQL语句,按C-c C-c执行当前段落中的所有语句, 或者选择要执行的语句按下C-c C-b
⑵ mysql数据库备份
在数据库表丢失或损坏的情况下,备份你的数据库是很重要的。如果发生系统崩溃,你肯定想能够将你的表尽可能丢失最少的数据恢复到崩溃发生时的状态。有时,正是MySQL管理员造成破坏。管理员已经知道表以破坏,用诸如vi或Emacs等编辑器试图直接编辑它们,这对表绝对不是件好事!
备份数据库两个主要方法是用mysqlmp程序或直接拷贝数据库文件(如用cp、cpio或tar等)。每种方法都有其优缺点:
• mysqlmp与MySQL服务器协同操作。直接拷贝方法在服务器外部进行,并且你必须采取措施保证没有客户正在修改你将拷贝的表。如果你想用文件系统备份来备份数据库,也会发生同样的问题:如果数据库表在文件系统备份过程中被修改,进入备份的表文件主语不一致的状态,而对以后的恢复表将失去意义。文件系统备份与直接拷贝文件的区别是对后者你完全控制了备份过程,这样你能采取措施确保服务器让表不受干扰。
• mysqlmp比直接拷贝要慢些。
• mysqlmp生成能够移植到其它机器的文本文件,甚至那些有不同硬件结构的机器上。直接拷贝文件不能移植到其它机器上,除非你正在拷贝的表使用MyISAM存储格式。ISAM表只能在相似的硬件结构的机器上拷贝。在MySQL 3.23中引入的MyISAM表存储格式解决了该问题,因为该格式是机器无关的,所以直接拷贝文件可以移植到具有不同硬件结构的机器上。只要满足两个条件:另一台机器必须也运行MySQL 3.23或以后版本,而且文件必须以MyISAM格式表示,而不是ISAM格式。
不管你使用哪种备份方法,如果你需要恢复数据库,有几个原则应该遵守,以确保最好的结果:
• 定期实施备份。建立一个计划并严格遵守。
• 让服务器执行更新日志。当你在崩溃后需要恢复数据时,更新日志将帮助你。在你用备份文件恢复数据到备份时的状态后,你可以通过运行更新日志中的查询再次运用备份后面的修改,这将数据库中的表恢复到崩溃发生时的状态。
• 以文件系统备份的术语讲,数据库备份文件代表完全倾倒(full mp),而更新日志代表渐进倾倒(incremental mp)。
• 使用一种统一的和易理解的备份文件命名机制。象backup1、buckup2等不是特别有意义。当实施你的恢复时,你将浪费时间找出文件里是什么东西。你可能发觉用数据库名和日期构成备份文件名会很有用。例如:
• %mysqlmp samp_db >/usr/archives/mysql/samp_db.1999-10-02
• %mysqlmp menagerie >/usr/archives/mysql/menagerie.1999-10-02
• 你可能想在生成备份后压缩它们。备份一般都很大!你也需要让你的备份文件有过期期限以避免它们填满你的磁盘,就象你让你的日志文件过期那样。
• 用文件系统备份备份你的备份文件。如果遇上了一个彻底崩溃,不仅清除了你的数据目录,也清除了包含你的数据库备份的磁盘驱动器,你将真正遇上了麻烦。也要备份你的更新日志。
• 将你的备份文件放在不同于用于你的数据库的文件系统上。这将降低由于生成备份而填满包含数据目录的文件系统的可能性。
用于创建备份的技术同样对拷贝数据库到另一台机器有用。最常见地,一个数据库被转移到了运行在另一台主机上的服务器,但是你也可以将数据转移到同一台主机上的另一个服务器。
1 使用mysqlmp备份和拷贝数据库
当你使用mysqlmo程序产生数据库备份文件时,缺省地,文件内容包含创建正在倾倒的表的CREATE语句和包含表中行数据的INSERT语句。换句话说,mysqlmp产生的输出可在以后用作mysql的输入来重建数据库。
你可以将整个数据库倾倒进一个单独的文本文件中,如下:
%mysqlmp samp_db >/usr/archives/mysql/samp_db.1999-10-02
输出文件的开头看起来象这样:
# MySQL Dump 6.0# # Host: localhost Database: samp_db#---------------------------------------# Server version 3.23.2-alpha-log## Table structure for table 'absence'#CREATE TABLE absence( student_id int(10) unsigned DEFAULT '0' NOT NULL, date date DEFAULT '0000-00-00' NOT NULL, PRIMARY KEY (student_id,date));## Dumping data for table 'absence'#INSERT INTO absence VALUES (3,'1999-09-03');INSERT INTO absence VALUES (5,'1999-09-03');INSERT INTO absence VALUES (10,'1999-09-08');......
文件剩下的部分有更多的INSERT和CREATE TABLE语句组成。
如果你想压缩备份,使用类似如下的命令:
%mysqlmp samp_db | gzip >/usr/archives/mysql/samp_db.1999-10-02.gz
如果你要一个庞大的数据库,输出文件也将很庞大,可能难于管理。如果你愿意,你可以在mysqlmp命令行的数据库名后列出单独的表名来倾到它们的内容,这将倾倒文件分成较小、更易于管理的文件。下例显示如何将samp_db数据库的一些表倾到进分开的文件中:
%mysqlmp samp_db student score event absence >grapbook.sql
%mysqlmp samp_db member president >hist-league.sql
如果你生成准备用于定期刷新另一个数据库内容的备份文件,你可能想用--add-drop-table选项。这告诉服务器将DROP TABLE IF EXISTS语句写入备份文件,然后,当你取出备份文件并把它装载进第二个数据库时,如果表已经存在,你不会得到一个错误。
如果你倒出一个数据库以便能把数据库转移到另一个服务器,你甚至不必创建备份文件。要保证数据库存在于另一台主机,然后用管道倾倒数据库,这样mysql能直接读取mysqlmp的输出。例如:你想从主机pit-viper.snake.net拷贝数据库samp_db到boa.snake.net,可以这样很容易做到:
%mysqladmin -h boa.snake.net create samp_db
%mysqlmp samp_db | mysql -h boa.snake.net samp_db
以后,如果你想再次刷新boa.snake.net上的数据库,跳过mysqladmin命令,但要对mysqlmp加上--add-drop-table以避免的得到表已存在的错误:
%mysqlmp --add-drop-table samp_db | mysql -h boa.snake.net samp_db
mysqlmp其它有用的选项包括:
• --flush-logs和--lock-tables组合将对你的数据库检查点有帮助。--lock-tables锁定你正在倾倒的所有表,而--flush-logs关闭并重新打开更新日志文件,新的更新日志将只包括从备份点起的修改数据库的查询。这将设置你的更新日志检查点位备份时间。(然而如果你有需要执行个更新的客户,锁定所有表对备份期间的客户访问不是件好事。)
• 如果你使用--flush-logs设置检查点到备份时,有可能最好是倾倒整个数据库。如果你倾倒单独的文件,较难将更新日志检查点与备份文件同步。在恢复期间,你通常按数据库为基础提取更新日志内容,对单个表没有提取更新的选择,所以你必须自己提取它们。
• 缺省地,mysqlmp在写入前将一个表的整个内容读进内存。这通常确实不必要,并且实际上如果你有一个大表,几乎是失败的。你可用--quick选项告诉mysqlmp只要它检索出一行就写出每一行。为了进一步优化倾倒过程,使用--opt而不是--quick。--opt选项打开其它选项,加速数据的倾倒和把它们读回。
• 用--opt实施备份可能是最常用的方法,因为备份速度上的优势。然而,要警告你,--opt选项确实有代价,--opt优化的是你的备份过程,不是其他客户对数据库的访问。--opt选项通过一次锁定所有表阻止任何人更新你正在倾倒的任何表。你可在一般数据库访问上很容易看到其效果。当你的数据库一般非常频繁地使用,只是一天一次地调节备份。
• 一个具有--opt的相反效果的选项是--dedayed。该选项使得mysqlmp写出INSERT DELAYED语句而不是INSERT语句。如果你将数据文件装入另一个数据库并且你想是这个操作对可能出现在该数据库中的查询的影响最小,--delayed对此很有帮助。
• --compress选项在你拷贝数据库到另一台机器上时很有帮助,因为它减少网络传输字节的数量。下面有一个例子,注意到--compress对与远端主机上的服务器通信的程序才给出,而不是对与本地主机连接的程序:
%mysqlmp --opt samp_db | mysql --compress -h boa.snake.net samp_db
• mysqlmp有很多选项,详见《MySQL参考手册》。
2 使用直接拷贝数据库的备份和拷贝方法
另一种不涉及mysqlmp备份数据库和表的方式是直接拷贝数据库表文件。典型地,这用诸如cp、tar或cpio实用程序。本文的例子使用cp。
当你使用一种直接备份方法时,你必须保证表不在被使用。如果服务器在你则正在拷贝一个表时改变它,拷贝就失去意义。
保证你的拷贝完整性的最好方法是关闭服务器,拷贝文件,然后重启服务器。如果你不想关闭服务器,要在执行表检查的同时锁定服务器。如果服务器在运行,相同的制约也适用于拷贝文件,而且你应该使用相同的锁定协议让服务器“安静下来”。
假设服务器关闭或你已经锁定了你想拷贝的表,下列显示如何将整个samp_db数据库备份到一个备份目录(DATADIR表示服务器的数据目录):
%cdDATADIR%cp -r samp_db /usr/archive/mysql
单个表可以如下备份:
%cdDATADIR/samp_db%cp member.* /usr/archive/mysql/samp_db%cp score.* /usr/archive/mysql/samp_db ....
当你完成了备份时,你可以重启服务器(如果关闭了它)或释放加在表上的锁定(如果你让服务器运行)。
要用直接拷贝文件把一个数据库从一台机器拷贝到另一台机器上,只是将文件拷贝到另一台服务器主机的适当数据目录下即可。要确保文件是MyIASM格式或两台机器有相同的硬件结构,否则你的数据库在另一台主机上有奇怪的内容。你也应该保证在另一台机器上的服务器在你正在安装数据库表时不访问它们。
3 复制数据库(Replicating Database)
复制(Replication)类似于拷贝数据库到另一台服务器上,但它的确切含义是实时地保证两个数据库的完全同步。这个功能将在3.23版中出现,而且还不很成熟,因此本文不作详细介绍。
4 用备份恢复数据
数据库损坏的发生有很多原因,程度也不同。如果你走运,你可能仅损坏一两个表(如掉电),如果你倒霉,你可能必须替换整个数据目录(如磁盘损坏)。在某些情况下也需要恢复,比如用户错误地删除了数据库或表。不管这些倒霉事件的原因,你将需要实施某种恢复。
如果表损坏但没丢失,尝试用myisamchk或isamchk修复它们,如果这样的损坏可有修复程序修复,你可能根本不需要使用备份文件。关于表修复的过程,见《数据库维护与修复》。
恢复过程涉及两种信息源:你的备份文件和个更新日志。备份文件将表恢复到实施备份时的状态,然而一般表在备份与发生问题之间的时间内已经被修改,更新日志包含了用于进行这些修改的查询。你可以使用日志文件作为mysql的输入来重复查询。这已正是为什么要启用更新日志的原因。
恢复过程视你必须恢复的信息多少而不同。实际上,恢复整个数据库比单个表跟容易,因为对于数据库运用更新日志比单个表容易。
4.1 恢复整个数据库
首先,如果你想恢复的数据库是包含授权表的mysql数据库,你需要用--skip-grant-table选项运行服务器。否则,它会抱怨不能找到授权表。在你已经恢复表后,执行mysqladmin flush-privileges告诉服务器装载授权标并使用它们。
• 将数据库目录内容拷贝到其它某个地方,如果你在以后需要它们。
• 用最新的备份文件重装数据库。如果你用mysqlmp产生的文件,将它作为mysql的输入。如果你用直接从数据库拷贝来的文件,将它们直接拷回数据库目录,然而,此时你需要在拷贝文件之前关闭数据库,然后重启它。
使用更新日志重复做备份以后的修改数据库表的查询。对于任何可适用的更新日志,将它们作为mysql的输入。指定--one-database选项使得mysql只执行你有兴趣恢复的数据库的查询。如果你知道你需要运用所有更新日志文件,你可以在包含日志的目录下使用这条命令:
% ls -t -r -1 update.[0-9]* | xargs cat | mysql --one-databasedb_name
ls命令生成更新日志文件的一个单列列表,根据服务器产生它们的次序排序(主意:如果你修改任何一个文件,你将改变排序次序,这导致更新日志一错误的次序被运用。)
很可能你会是运用某几个更新日志。例如,自从你备份以来产生的更新日志被命名为update.392、update.393等等,你可以这样重新运行:
%mysql --one-database db_name < update.392
%mysql --one-database db_name < update.393
.....
如果你正在实施恢复且使用更新日志恢复由于一个错误建议的DROP DATABASE、DROP TABLE或DELETE语句造成丢失的信息,在运用更新日志之前,要保证从其中删除这些语句。
4.2 恢复单个表
恢复单个表较为复杂。如果你用一个由mysqlmp生成的备份文件,并且它不包含你感兴趣的表的数据,你需要从相关行中提取它们并将它们用作mysql的输入。这是容易的部分。难的部分是从只运用于该表的更新日志中拉出片断。你会发觉mysql_find_rows实用程序对此很有帮助,它从更新日志中提取多行查询。
另一个可能性是使用另一台服务器恢复整个数据库,然后拷贝你想要的表文件到原数据库中。这可能真的很容易!当你将文件拷回数据库目录时,要确保原数据库的服务器关闭。
至于用php语句写mysql备份,涉及一些php课程,我也不是太懂,不好意思~~
⑶ 第一:除了编程语言,脚本语言,还有哪些类型的语言(按照功能分的) 第二:这些类别下的语言又有哪些
分别为:
解释型(PHP,Perl,Python,Ruby,Tcl,Lua,JavaScript,Io)
操作系统自动化型(POSIX Shell,AppleScript,PowerShell)
C++风格(C++,Objective C,Java,C#)
Pascal风格(Pascal,Ada,PostgreSQL,MySQL)
Lisp类(Common Lisp,Scheme,Clojure,Emacs Lisp)
类型推理类(Standard ML,OCaml,Scala,Haskell)
声明型(Prolog,Erlang,Oz)
Concatenative语言(Forth,PostScript,Factor)
数据转换(SQL,Awk,Pig,XSLT)
计算机代数(Maxima,Mathematica,Sage)
数字分析类(Fortran,MATLAB,R,NumPy)
⑷ ACCESS 中的 宏 是什么他跟sql相对比,宏相当于sql中的什么啊 ,宏的用途是什么
access数据库 不安全,而且数据量过小。
建议去考虑 SQL..
什么是宏
计算机科学里的宏是一种抽象,它根据一系列预定义的规则替换一定的文本模式。Excel 办公软件自动集成了“VBA”高级程序语言,用此语言编制出的程序就叫“宏”。使用“VBA”需要有一定的编程基础和耗费大量的时间,因此,绝大多数的使用者仅使用了Excel的一般制表功能,很少使用到“VBA”。 解释器或编译器在遇到宏时会自动进行这一模式替换。对于编译语言,宏展开在编译时发生,进行宏展开的工具常被称为宏展开器。宏这一术语也常常被用于许多类似的环境中,它们是源自宏展开的概念,这包括键盘宏和宏语言。绝大多数情况下,使用“宏”这个词的使用暗示着将小命令或动作转化为一系列指令。 宏的用途在于自动化频繁使用的序列或者是获得一种更强大的抽象能力--但这常常是一回事。 计算机语言如C或汇编语言有简单的宏系统,由编译器或汇编器的预处理器实现。C的宏预处理器的工作只是简单的文本搜索和替换,使用附加的文本处理语言如M4,C 程序员可以获得更精巧的宏。 Lisp类语言如Common Lisp和Scheme有更精巧的宏系统: 宏的行为如同是函数对自身程序文本的变形,并且可以应用全部语言来表达这种变形。一个C宏可以定义一段语法的替换,然而一个Lisp的宏却可以控制一节代码的计算。 获得了控制代码的执行顺序(见惰性计算和非限制函数)的能力,使得新创建的语法结构与语言内建的语法结构不可区分。例如,一种Lisp 方言有 cond 而没有if ,就可以使用宏由前者定义后者。Lisp 语法的去部主要扩展,比如面向对象的CLOS 系统,可以由宏来定义。
宏的典型应用
加速日常编辑和格式设置 组合多个命令 使对话框中的选项更易于访问 使一系列复杂的任务自动执行
宏编程介绍
在用一种不熟悉的宏语言进行宏编程时,可以这样做,首先记录下用户想要宏完成什么,然后打开宏文件并尝试理解命令结构如何工作。也可以修改命令以调整宏。一些宏语言,比如Great Plains账务(?accounting)软件的 Dexterity 运行时引擎,不能从其它数据源(如由逗号分隔的文本文件)导入数据。这一限制可以通过用更强大的编程语言,如 VBA 来创建一个计算机程序在此弱编程语言里生成一个特别的宏来解决。例如,可以对 Microsoft Excel 宏编程从扩展样式表或文本文件中读取数据并创建 Great Plains .mac 文件,这一文件被用于将特定的数据导入 Great Plains. 需要针对每一个新的数据集合声称新的 .mac 文件。
键盘宏
键盘宏和编辑器宏分别在图形用户界面和编辑器中被交互式地使用。使用它们可以用简短的击键代替冗长的命令序列,并为重复性任务提供了一个简单的自动化形式。 程序员的文本编辑器 Emacs (“编辑宏”[Editing MACroS]的简称)是沿用这一思想的产物。事实上,大多数编辑器是由宏组成的,Emacs 最初被设计为编辑语言 TECO 的宏集,后被移植为 Lisp 的一中方言 Emacs Lisp。
宏语言
宏语言是一类编程语言,其全部或多数计算是由扩展宏完成的。宏语言并未在通用编程中广泛使用,但在文本处理程序中应用普遍。例如, C preprocessor C 预处理器 Internet Macros(iOpus) M4(如前所述,源于AT&T,捆绑于Unix) 宏定义 c程序提供的预处理功能之一。包括带参数的宏定义和不带参数的宏定义。具体是指用一个指定的标志符来进行简单的字符串替换或者进行阐述替换。形式为: #define 标志符(参数表) 字符串 宏名 在上定义中的标志符被称为“宏名”。 宏展开 在c程序编译时将宏名替换成字符串的过程称为“宏展开”。
⑸ 文件的扩展名一共有多少种
#01 及更高的号 为计算机演示而扫描的一系列电影的图片文件编号方法
$$$ OS/2用来跟踪档案文件
@@@ 用于安装过程中的屏幕文件和用于Microsoft Codeview for C这样的应用程序的指导文件 。
000-999 用于为老版本(或备份)文件编号(比如:被安装程序改变的CONFIG.SYS文件);又可用于为小范围的PC应用程序的多个用户相关数据文件编号
12M Lotus 1-2-3 97 SmartMaster文件
123 Lotus 1-2-3 97文件
2D VersaCAD的2维绘画文件
2GR 在Windows之下的VGA图形驱动程序/配置文件
3GR 在Windows之下的VGA图形驱动程序/配置文件
3D VersaCAD的3维绘画文件
3DM 3D NURBS建模器,Rhino
3DS 3D Studio(DOS下)格式文件
386 在386或更高级处理器上使用的文件
4GE Informix 4GL编译后代码
4GL Informix 4GL源代码
669 Composer 669;UNIX Composer音乐模型文件;669磁道模块
A 对象代码库文件
AAM Authorware shocked文件
AAS Authorware shocked包
ABF Adobe二进制屏幕字体
ABK CorelDRAW自动备份文件
ABS 该类文件有时用于指示一个摘要(就像在一篇有关科学方面的文章的一个摘要或概要,取自abstract)
ACE Ace压缩档案格式
ACL CorelDRAW 6键盘快捷键文件
ACM Windows系统目录文件
ACP Microsoft office助手预览文件
ACR 美国放射医学大学文件格式
ACT Microsoft office助手文件
ACV OS/2的驱动程序,用于压缩或解压缩音频数据
AD After Dark屏幕保护程序
ADA Ada源文件(非-GNAT)
ADB Ada源文件主体(GNAT);HP100LX组织者的约定数据库
ADD OS/2用于引导过程的适配器驱动程序
ADF Amiga磁盘文件
ADI AutoCAD设备无关二进制绘图仪格式
ADM After Dark多模块屏幕保护;Windows NT策略模板
ADP FaxWork用于传真调制解调器的交互安装文件;Astound Dynamite文件
ADR After Dark随机屏幕保护;Smart Address的地址簿
ADS Ada源文件说明书(GNAT)
AFM Adobe的字体尺度
AF2 ABC的FlowChat文件
AF3 ABC的FlowChat文件
AI Adobe Illustrator格式图形
AIF 音频互交换文件,Silicon Graphic and Macintosh应用程序的声音格式
AIFF 音频互交换文件,Silicon Graphic and Macintosh应用程序的声音格式
AIFC 压缩AIF
AIM AOL即时信息传送
AIS ACDSee图形序列文件;Velvet Studio设备文件
AKW RoboHELP的帮助工程中所有A-关键词
ALAW 欧洲电话音频格式
ALB JASC Image Commander相册
ALL 艺术与书信库
AMS Velvet Studio音乐模块(MOD)文件;Extreme的Tracker模块文件
ANC Canon Computer的调色板文件,包含一系列可选的颜色板
ANI Windows系统中的动画光标
ANS ANSI文本文件
ANT SimAnt For Windows中保存的游戏文件
API Adobe Acrobat使用的应用程序设计接口文件
APR Lotus Approach 97文件
APS Microsoft Visual C++文件
ARC LH ARC的压缩档案文件
ARI Aristotle声音文件
ARJ Robert Jung ARJ压缩包文件
ART Xara Studio绘画文件;Canon Crayola美术文件;Clip Art文件格式;另一种光线跟踪格式;AOL使用的用Johnson—Grace压缩算法压缩的标记文件
ASA Microsoft Visual InterDev文件
ASC ASCⅡ文本文件;PGP算法加密文件
ASD Microsoft Word的自动保存文件;Microsoft高级流媒体格式(microsoft advanced streaming format,ASF)的描述文件;可用NSREX打开 Velvet Studio例子文件
ASE Velvet Studio采样文件
ASF Microsoft高级流媒体格式文件
ASM 汇编语言源文件,Pro/E装配文件
ASO Astound Dynamite对象文件
ASP 动态网页文件;ProComm Plus安装与连接脚本文件;Astound介绍文件
AST Astound多媒体文件;ClarisWorks“助手”文件
ASV DataCAD自动保?***?
ASX Cheyenne备份脚本文件;Microsoft高级流媒体重定向器文件,视频文件
ATT AT Group 4位图文件
ATW 来自个人软件的Any Time Deluxe For Windows个人信息管理员文件
AU Sun/NeXT/DEC/UNIX声音文件;音频U-Law(读作“mu-law”)文件格式
AVB Computer Associates Inoculan反病毒软件的病毒感染后文件
AVI Microsoft Audio Video Interleave电影格式
AVR Audio Visual Research文件格式
AVS 应用程序可视化格式
AWD FaxVien文档
AWR Telsis数字储存音频文件扩展名格式
Axx ARJ压缩文件的分包序号文件,用于将一个大文件压至几个小的压缩包中(xx取01-99的数字)
A3L Authorware 3.x库文件
A4L Authorware 4.x库文件
A5L Authorware 5.x库文件
A3M Authorware Macintosh未打包文件
A4M Authorware Macintosh未打包文件
A4P Authorware无运行时间的打包文件
A3W 未打包的Authorware Windows文件
A4W 未打包的Authorware Windows文件
A5W 未打包的Authorware Windows文件
BAK 备份文件
BAS BASIC源文件
BAT 批处理文件
BDF West Point Bridger Designer文件
BFC Windows 95 Briefcase文档
BG Backgammon For Windows下的游戏文件
BGL Microsoft Flight Simulator(微软飞行模拟器)的视景文件
BI 二进制文件
BIF Group Wise的初始化文件
BIFF XLIFE 3D格式文件
BIN 二进制文件
BK 有时用于********版本
BK$ 有时用于********版本
BKS IBM BookManager Read书架文件
BMK 书签文件
BMP Windows或OS/2位图文件
BMI Apogee BioMenace数据文件
BOOK Adobe FrameMaker Book文件
BOX Lotus Notes的邮箱文件
BPL Borlard Delph 4打包库
BQY BrioQuery文件
BRX 用于查看多媒体对象目录的文件
BSC MS Developer Studio浏览器信息文件
BSP Quake图形文件
BS1 Apogee Blake Stone数据文件
BS_ Microsoft Bookshelf Find菜单外壳扩展名
BTM Norton 应用程序使用的批处理文件
BUD Quicken的备份磁盘
BUN CakeWalk 声音捆绑文件(一种MIDI程序)
BW SGI黑白图像文件
BWV 商业波形文件
BYU BYU的电影文件格式
B4 Helix Nuts and Bolts文件
C C代码文件
C0l 台风波形文件
CAB Microsoft压缩档案文件
CAD Softdek的Drafix CAD文件
CAL CALS压缩位图;日历计划表数据
CAM Casio照相机格式
CAP 压缩音乐文件格式
CAS 逗号分开的ASCⅡ文件
CAT Quicken使用 的IntellCharge分类文件
CB Microsoft干净引导文件
CBI 二进制卷格式文件(用于IBM大型机系统)
CC Visual dBASE用户自定义类文件
CCA cc:邮件文件
CCB Visual Basic动态按钮配置文件
CCF 多媒体查看器配置文件,用于OS/2
CCH Corel图表文件
CCM Lotus cc:邮箱(例如“INBOX.CCM”)
CCO CyberChat数据文件
CCT Macromedia Director Shockwave投影
CDA CD音频轨道
CDF Microsoft频道定义格式文件
CDI Philip的高密盘交互格式
CDM Visual dBASE自定义数据模块文件
CDR CorelDRAW绘图文件;原始音频CD数据文件
CDT CorelDRAW模板
CDX CorelDRAW压缩绘图文件;Microsoft Visual FoxPro索引文件
CEL CIMFast事件语言文件
CER 证书文件(MIME x-x509-ca-cert)
CFB Compton的多媒文件
CFG 配置文件
CFM CotdFusion模板文件;Visual dBASE Windows用户定制表单
CGI 公共网关接口脚本文件
CGM 计算机图形元文件
CH OS/2配置文件
CHK 由Windows磁盘碎片整理器或磁盘扫描保存的文件碎片
CHM 编译过的HTML文件
CHR 字符集(字体文件)
CHP Ventura Publisher章节文件
CHT ChartViem文件;Harvard Graphics矢量文件
CIF Adaptec CD 创建器 CD映像文件
CIL Clip Gallery下载包
CIM SimCity 2000文件
CIN OS/2改变控制文件用于跟踪INI文件中的变化
CK1 iD/Apogee Commander Keen 1数据文件
CK2 iD/Apogee Commander Keen 2数据文件
CK3 iD/Apogee Commander Keen 3数据文件
CK4 iD/Apogee Commander Keen 4数据文件
CK5 iD/Apogee Commander Keen 5数据文件
CK6 iD/Apogee Commander Keen 6数据文件
CLASS Java类文件
CLL Crick Software Clicker文件
CLP Windows 剪贴板文件
CLS Visual Basic类文件
CMD Windows NT,OS/2的命令文件;DOS CD/M命令文件;dBASEⅡ程序文件
CMF Corel元文件
CMG Chessmaster保存的游戏文件
CMP JPEG位图文件;地址文档
CMV Corel Move动画文件
CMX Corel Presentation Exchange图像
CNF Telnet,Windows和其他其内格式会发生改变的应用程序使用的配置文件
CNM Windows应用程序菜单选项和安装文件
CNQ Compuworks Design Shop文件
CNT Windows(或其他)系统用于帮助索引或其他目的内容文件
COB TrueSpace 2对象文件
COD Microsoft C编译器产生的可显示机器码/汇编代码文件,其中附有源C代码作为注释
COM 命令文件(程序)
CPD Corel Print Office文件(图形)
CPD 传真覆盖文档
CPE 传真覆盖文档
CPI Microsoft MS-DOS代码页信息文件
CPL 控制面板扩展名,Corel颜色板
CPO Corel打印存储文件
CPP C++代码文件
CPR Corel提供说明书文件
CPT Corel 照片-绘画图像
CPX Corel Presentation Exchange压缩图形文件
CRD Windows Cardfile文件
CRP Corel 提供的运行时介绍文件;Visual dBASE自定义报表文件
CRT 认证文件
CSC Corel脚本文件
CSP PC Emcee On_Screen图像
CSS 瀑布式表格文件
CST Macromedia Director Cast文件
CSV 逗号分隔的值文件
CT Scitex CT位图文件;Paint Shop Pro Grapic编辑器文件
CTL 通常用于表示一个包含控件信息的文件;FaxWork用它来保持有关每个传真收到或发出的信息
CUE Microsoft提示牌数据文件
CUR Windows光标文件
CUT Dr Halo位图文件
CV Corel版本的档案文件;Microsoft CodeView信息屏幕文件
CWK ClarisWorks数据文件.
CWS ClarisWorks模块
CXT Macromedia Director受保护的(不可编辑的)投影文件
CXX C++源代码文件
DAT 数据文件;WrodPerfect合并数据文件;用于一些MPEG格式的文件
DB Borland的Paradox 7表
DBC Microsoft Visual FoxPro数据库容器文件
DBF dBASE文件,一种由Ashton-Tate创建的格式,可以被ACT!、Lipper、FoxPro、Arago、Wordtech、Xbase和类似数据库或与数据库有关产品识别;可用数据文件(能被Excel 97打开);Oracle 8.1.x表格空间文件
DBX DataBearn图像;Microsoft Visual FoxPro表格文件
DCM DCM模块格式文件
DCR 冲击波文件
DCS 桌面颜色分隔文件
DCT Microsoft Visual FoxPro数据库容器
DCU Delphi编译单元文件
DCX Microsoft Visual FoxPro数据库容器;基于PCX的传真图像;宏
DC5 DataCAD绘图文件
DDF Btrieve或Xtrieve数据定义文件,它包含用于描述Btrieve或Xtrieve文件的元数据
DDIF Digital Equipment或 Compaq格式,用于保存他们图像与字处理文档
DEF SmartWareⅡ数据文件;C++模块定义文件
DEFI Oracle 7 卸载脚本文件
DEM 用于表示数字高度模型的USGS基准的文件
DER 认证文件
DEWF Macintosh Sound Cap/Sound Edit录音设备格式
DGN Macintosh 95 CAD绘图文件
DIB 设备无关位图
DIC 目录
DIF 可进行数据互换的电子表格
DIG DigiLink格式;Sound DesignerⅠ音频文件
DIR MacromediaDirector文件
DIZ 描述文件
DLG C++对话框脚本文件
DLL 动态链接库
DLS 可下载声音文件
DMD Visual dBASE数据模块文件
DMF X-Trakker音乐模块(MOD)文件
DOC FrameMaker或FrameBuilder文档;Word Star文档、Word Perfect文档、Microsoft Word文档;DisplayWrite文档
DOT Microsoft Word文档模板
DPL Borland Delph3压缩库
DPR Borland Delphi工程头文件
DRAW Acorn的基于对象的矢量图像文件
DRV 驱动程序
DRW Micrografx Designer/Draw;Pro/E绘画文件
DSF Micrografx Designer VFX文件
DSG DOOM保存的文件
DSM Dynamic Studio音乐模块(MOD)文件
DSP Microsoft Developer Studio工程文件
DSQ Corel QUERY(查询)文件
DST 刺绣机图形文件
DSW Microsoft Developer Studio工作区文件
DTA Word Bank(世界银行)的STARS数据文件
DTD SGML文档类型定义(DTD)文件
DTED 地面高度数字数据(图形的数据格式)文件
DTF Symantec Q&A相关的数据库数据文件
DTM DigiTrakker模块文件
DUN Microsoft拔号网络导出文件
DV 数字视频文件(MIME)
DWD Diamo
DWD DiamondWare数字化文件
DWG AutoCAD工程图文件;AutoCAD或Generic CADD老版本的绘图格式
DXF 可进行互交换的绘图文件格式,二进制的DWG格式的文本表示;数据交换文件
DXR Macromedia Director受保护(不可编辑)电影文件
D64 Commodore的64位模拟磁盘图像文件
EDA Ensoniq ASR磁盘映像
EDD 元素定义文档(FrameMaker+SGML文档)
EDE Ensoniq EPS磁盘映像
EDK Ensoniq KT磁盘映像
EDQ Ensoniq SQ1/SQ2/Ks32磁盘映像
EDS Ensoniq SQ80磁盘映像
EDV Ensoniq VFX-SD磁盘映像
EFA Ensoniq ASR文件
EFE Ensoniq EPS文件
EFK Ensoniq KT文件
EFQ Ensoniq SQ1/SQ2/Ks32文件
EFS Ensoniq SQ80文件
EFV Ensoniq VFX-SD文件
EMD ABT扩展模块
EMF Windows增强元文件
EML Microsoft Outlook Express邮件消息(MIME RTC822)文件
ENC 重演文件
ENFF 中性文件格式扩展名
EPHTML Perl解释增强HTML文件
EPS 压缩的PostScript图像
EPSF 压缩的PostScript文件
ERI ERWin文件
ERR 当RobooHELP帮助编译器企图编译一个帮助系统源文件时用来存储错误消息的文件
EPX ERWin文件
ESPS ESPS音频文件
EUI Ensoniq ESP家族的压缩磁盘映像
EVY 特使文档
EWL Microsoft Encarta文档
EXC Microsoft Word禁止字字典
EXE 可执行文件(程序)
F FORTRAN文件
F2R Farandoyle线性模块格式
F3R Farandoyle分块线性模块格式
F77 FORTRAN文件
F90 FORTRAN文件
FAR Fradole Composer音乐模块(MOD)文件
FAV Microsoft Outlook导航条
FAX 传真类型图像
FBK Navison 金融备份
FCD 虚拟CD-ROM
FDB Navison 金融数据库
FDF Adobe Acrobat表单文档文件
FEM CADRE有限元素网络文件
FFA Microsoft快速查找文件
FFL Microsoft快速查找文件
FFO Microsoft快速查找文件
FFK Microsoft快速查找文件
FFF GUS PnP银行文件格式
FFT 最终格式文本(IBM的DCA一部分)
FH3 Als Freehand 3绘图文件
FIF Fractal图像文件
FIG REND386/AVRIL使用的文件格式
FITS CCD照相机图像;灵活图像传输系统
FLA Macromedia Flash电影
FLC Autodesk FLIC动画文件
FLF Corel Paradox产生的格式:Navison Financials许可文件;OS/2驱动程序文件
PLI Autodesk FLIC动画
FLT StarTrekker音乐模块(MOD)文件;MultiGen Inc的Open Flight使用的文件格式;Corel过滤器文件
FM Adobe FrameMaker文档
FMB Oracle4.0版或以后版本表单的二进制源代码文件
FML 文件镜象列表(GetRight)
FMT Oracle 4.0版或以后版本表单的文本格式;Microsoft Schele+ 打印文件
FMX Oracle 4.0版或以后版本可执行表单
FND Microsoft Explorer保存的搜索文件(Find applet)
FNG 字体组文件(字体导航器,Font Navigator)
FNK Funk Tracker模块格式
FOG Fontographer模块字体
FON 系统字体
FOR FORTRAN文件
FOT 字体相关文件
FP FileMaker Pro文件
FP1 Flying Pigs for Windows数据文件
FP3 FileMaker Pro文件
FPT FileMaker Pro文件;Microsoft Fox Pro备注字体文件
FPX FlashPix位图
FRM 表单;Frame Maker或Frame Builder文档;Oracle可执行表(3.0版或早期版本);Visual Basic表单;WordPerfect Merge表单;DataCAD标志报表文件
FRT Microsoft FoxPro报表文件
FRX Visual Basic表单文本;Microsoft FoxPro报表文件
FSF fPrint Audit Tool文件格式
FSL Borland的Paradox 7表单;Corel Paradox保存的表单
FSM Parandoyle示例格式
FT Lotus Notes全文本索引
FTG 全文本搜索组文件,由Windows帮助系统查找时产生——可以删除,并在需要时重建起来
FTS 全文本搜索引文件,由Windows帮助系统查找时产生
FW2 Framework Ⅱ文件
FW3 Framework Ⅲ文件
FW4 Framework Ⅳ文件
FXP 经Microsoft FoxPro编译的源文件
FZB Casio FZ-1银行转储
FZF Casio FZ-1完全转储
FZV Casio FZ-1声音转储 G721 Raw CCITT G.721 $bit ADPCM格式数据
G723 Raw CCITT G.723 3或5bit ADPCM格式数据
GAL Corel多媒体管理器相集
GCD Generic CADD绘画文件(后续版本)
GCP Ground Control Point(地面控制点)文件,用于远景数据形成图像过程,经常用于生成图工程—CHIPS(copenhagen image processing system)使用这些文件
GDB InterBase数据库文件
GDM 铃声、口哨声和声音板模块格式
GED GEDCOM 系谱数据文件,用于记录和交换系谱数据的流行格式;图形环境文档绘画
GEM GEM元文件
GEN Ventura产生的文本文件
GetRight GetRight未完成的下载文件
GFC Patton&Patton FlowCharting 4 flowchart文件
GFI Genigraphics图形链接表示文件
GFX Genigraphics图形链接表示文件
GHO Norton 克隆磁盘映像
GID Windows 95全局索引文件(包括帮助状态)
GIF CompuServe位图文件
GIM Genigraphics图形链接介绍文件
GIX Genigraphics图形链接介绍文件
GKH Ensoniq EPS家簇磁盘映像文件
GKS Gravis Grip Key文档
GL 动画格式
GNA Genigraphics图形链接介绍文件
GNT 生成代码,Micro Focus属性格式里的可执行代码
GNX Genigraphics图形链接介绍文件
GRA Microsoft Graph文件
GRD 用于远程视景数据产生地图过程的格式文件,通常应用于形成地图工程—CHIPS(copenhagen image processing system)使用这些文件
GRF Grapher(Golden Software公司)图形文件
GRP 程序管理组
GSM Raw GSM 6.10音频流;Raw“byte aligned(比特对齐的)” GSM 6.10音频流;US Robotics语音调制解调器
GTK Graoumftracker(老)音乐模块(MOD)文件
GT2 Graoumftracker(新)音乐模块(MOD)文件
GWX Cenigraphis图形链接介绍文件
GWZ Cenigraphis图形链接介绍文件
GZ UNIX gzip压缩文件
H C程序头文件
HCM IBM HCM配置文件
HCOM 声音工具HCOM格式
HCR IBM HCD/HCM产品配置文件
HDF 高级计算机应用程序本地中心(NCSA) geospatial Hierarchial数据格式文件
HED HighEdit文档
HEL Microsoft Hellbender格式保存的游戏文件
HEX Macintosh BinHex2.0文件
HGL HP图形语言绘图文件
HH 映射文件,包括一些话题ID和在帮助文件系统中话题的映射数字—允许运行中应用程序发送给用户合适的上下文帮助话题
HLP 帮助文件;Date CAD Windows帮助文件
HOG Lucas Arts的Dark Forces WAD文件
HPJ Visual Basic帮助工程
HPP C++程序头文件
HQX Macintosh BinHex 4.0文件
HST 历史文件
HT HyperTerminal(超级终端)
HTM 超文本文档
HTML 超文本文档
HTT Microsoft超文本模板
HTX 扩展HTML模板
HXM Descent2 HAM文件扩展
ICA Citrix文件
ICB Targa位图文件
ICC Kodak打印机格式文件
ICL 图标库文件
ICM 图形颜色匹配配置文件
ICO Windows图标
IDB MSDev中间层文件
IDD MIDI设备定义
IDF MIDI设备定义(Windows 95需要的文件)
IDQ Internet数据查询文件
IDX Microsoft FoxPro相关数据库索引文件;Symantec Q&A相关数据库索引文件;Microsoft Outlook Express文件
IFF 交换格式文件;Amiga ILBM
IGES 初始图形交换说明文件
IGF 插入系统元文件
IIF QuickBooks for Windows交换文件
ILBM 位图图形文件
IMA WinImage磁盘映像文件
IMG GEM映像
IMZ WinImage压缩磁盘映像文件
INC 汇编语言或动态服务器包含文件
INF 信息文件
INI 初始化文件;MWave DSP Synth的“nwsynth.ini” GMS安装;Cravis Ultrasound bank安装
INP Oracle 3.0版或早期版本的表单源代码
INRS INRS远程通信声频
INS InstallShield安装脚本;X-Internet签字文件;Ensoniq EPS字簇设备;Cell/ⅡMAC/PC抽样设备
INT 中间代码,当一个源程序经过语法检查后编译产生一个可执行代码
IOF Findit文档
IQY Microsoft Internet查询文件
ISO 根据ISD 9660有关CD-ROM文件系统标准列出CD-ROM上的文件
ISP X-Internet签字文件
IST 数字跟踪设备文件
ISU InstallShield卸装脚本
IT 脉冲跟踪系统音乐模块(MOD)文件
ITI 脉冲跟踪系统设备
ITS 脉冲跟踪系统抽样,Internet文档位置
IV Open Inventor中使用的文件格式
IVD 超过20/20微观数据维数或变量等级文件
IVP 超过20/20的用户子集配置文件
IVT 超过20/20表或集合数据文件
IVX 超过20/20微数据目录文件
IW Idlewild屏幕保护程序
IWC Install Watch文档
J62 Ricoh照相机格式
JAR Java档案文件(一种用于applet和相关文件的压缩文件)
JAVA Java源文件
JBF Paint Shop Pro图像浏览文件
JFF JPEG文件
JFIF JPEG文件
JIF JPEG文件
JMP SAS的JMPDiscovery表格统计文件
JN1 Epic MegaGames的Jill of the Jungle数据文件
JPE JPEG图形文件
JPEG JPEG图形文件
JPG JPEG图形文件
JS javascript源文件
JSP HTML网页,其中包含有对一个Java servlet的参考
JTF JPEG位图文件
K25 Kurzweil 2500抽样文件
KAR 卡拉OK MIDI文件(文本+MIDI)
KDC Kodak光增强器
KEY DataCAD图标工具条文件
KFX KoFak Group 4图像文件
KIZ Kodak数字明信片文件
KKW RoboHELP帮助工程索引设计器中与主题无关的K开头的所有关键字
KMP Korg Trinity KeyMap文件
KQP Konica照相机本地文件
KR1 Kurzweil 2000抽样(多软驱)文件
KRZ Kurzweil 2000抽样文件
KSF Korg Trinity抽样文件
KYE Kye游戏数据
LAB Visual dBASE标签文件
LBM Deluxe Paint位图文件
LBT Microsoft FoxPro标签文件
LBX Microsoft FoxPro标签文件
LDB Microsoft Access加锁文件
LDL Corel Paradox分发库
LEG Legacy文档
LES Logitech娱乐系统游戏配置文件(与REC文件一样)
LFT 3D Studio(DOS)放样文件
LGO Paintbrush(Microsoft画图应用程序)的徽标文件
LHA LZH更换文件后缀
LIB 库文件
LIN DataCAD线型文件
LIS 结构化查询报告(SQR)程序产生的输出文件
LLX Laplink交换代理
LNK Windows快捷方式文件
LOG 日志文件
LPD Helix Nut和Bolt文件
LRC Intel可视电话文件
LSL Corel Paradox保存的库文件
LSP AutoLISP、CommonLISP和其他LISP语言文件
LST 列表文件
LU ThoughtWing库单元文件
LVL Parallax Software的 Miner Descent/D2 Level扩展
LWLO Lightwave分层对象文件
LWOB Lightwave对象文件
LWP Lotus WordPro 96/97文件
LWSC Lightwave视景文件
LYR DataCAD层文件
LZH ARC压缩档案
LZS Skyroads数据文件
M1V MPEG相关文件(MIME“mpeg”类型)
M3D Corel Motion 3D动画文件
M3U MPEG URL(MIME声音文件)
MAC MacPaint图像文件
MAD Microsoft Access模块文件
MAF Microsoft Access表单文件
MAG 在一些日本文件中发现的图形文件格式
MAGIC 魔力邮件监视器配置文件
MAK Visual Basil或Microsoft Visual C++工程文件
MAM Microsoft Access宏
MAN UNIX手册页输出
MAP 映射文件;Duke Nukem 3D WAD游戏文件
MAQ Microsoft Access查询文件
MAR Microsoft Access报表文件
MAS Lotus Freelance Graphics Smart Master文件
MAT Microsoft Access表;3D Studio MAX材料库
MAUD MAUD抽样格式
MAX Kinetx的3DStudio MAX文件;该格式用于一个3D场景文件;Paperport文件;OrCAD设计文件
MAZ Hover迷路数据;Division的dVS/dVISE使用的文件格式
MB1 Apogee Monster Bash数据文件
MBOX Berkeley Unix邮箱格式
MBX Microsoft Outlook保存email格式;Eudora邮箱
MCC Dailerl0呼叫卡
MCP Metrowerks CodeWarrior工程文件
MCR DataCAD键盘宏文件
MCW Microsoft Word的Macintosh文档
MDA Microsoft Access内抽入器;Microsoft Access 2.0版及其后续版本的工作组事件
MDB Microsoft Access数据库
MDE Microsoft Access MDE文件
MDL 数字跟踪器音乐模块(MOD)文件;Quake模 块文件
MDN Microsoft Access空数据库模板
MDW Microsoft Access工作组文件
MDZ Microsoft Access向导模板文件
MED 音乐编辑器,OctaMED音乐模块(MOD)文件
MER 电子表格/数据库数据交换格式;FileMaker、Excel及其他软件能识别
MET 表示管理器元文件
MFG Pro/ENGINEER制造文件
MGF 在材料与几何学里的文件格式
MH
⑹ 传统的基于编程语言的应用软件开发
汇编语言
汇编语言的实质和机器语言是相同的,都是直接对硬件操作,只不过指令采用了英文缩写的标识符,更容易识别和记忆。它同样需要编程者将每一步具体的操作用命令的形式写出来。汇编程序通常由三部分组成:指令、伪指令和宏指令。汇编程序的每一句指令只能对应实际操作过程中的一个很细微的动作。例如移动、自增,因此汇编源程序一般比较冗长、复杂、容易出错,而且使用汇编语言编程需要有更多的计算机专业知识,但汇编语言的优点也是显而易见的,用汇编语言所能完成的操作不是一般高级语言所能够实现的,而且源程序经汇编生成的可执行文件不仅比较小,而且执行速度很快。
汇编语言分为:
脚本语言:
脚本语言(Script language,scripting language,scripting programming language)是为了缩短传统的编写-编译-链接-运行(edit-compile-link-run)过程而创建的计算机编程语言。此命名起源于一个脚本“screenplay”,每次运行都会使对话框逐字重复。
早期的脚本语言经常被称为批量处理语言或工作控制语言。一个脚本通常是解释运行而非编译。
虽然许多脚本语言都超越了计算机简单任务自动化的领域,成熟到可以编写精巧的程序,但仍然还是被称为脚本。几乎所有计算机系统的各个层次都有一种脚本语言。包括操作系统层,如计算机游戏,网络应用程序,字处理文档,网络软件等。在许多方面,高级编程语言和脚本语言之间互相交叉,二者之间没有明确的界限。
脚本编程速度更快,且脚本文件明显小于如同类C程序文件。这种灵活性是以执行效率为代价的。脚本通常是解释执行的,速度可能很慢,且运行时更耗内存。在很多案例中,如编写一些数十行的小脚本,它所带来的编写优势就远远超过了运行时的劣势,尤其是在当前程序员工资趋高和硬件成本趋低时。
脚本语言是一种解释性的语言,例如Python 、vbscript,javascript,installshield script,ActionScript等等,它不象c\c++等可以编译成二进制代码,以可执行文件的形式存在。
机器语言:
由于计算机内部只能接受二进制代码,因此,用二进制代码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#和它与Java、C、C++的相似之处。其次我将讨论一些存在于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 Foxpro,PowerBuilder这些微机上常用的数据库开发系统,都支持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是一种面向对象、直译式计算机程序设计语言。
⑺ 如何将git的默认编辑器替换为emacs
为什么用Emacs(可选)
简单谈谈,因重点是"怎么做",不是"为什么".
真正精通后Emacs,其他编辑器自然精通
一旦尝过最好的,你自然了解好的编辑器应该有哪些功能.
比如一个内嵌的插件管理器是最基本的.
如下载了第三方插件,如果发觉其有问题,可以在不碰该插件原始代码的情况下修复.
插件服务器关闭了,应可以在自带的U盘上快速建立镜像.
目前流行的编辑器如Sublime Text还做不到以上几点.
Emacs 的特点决定了其社区水准不低
Emacs 用 Lisp 开发,Lisp 不同寻常的语法决定了其开发者都是资深开发者,掌握了多门语言.
Lisp 并不能给你带来任何好处,所以其社区成员都是纯粹的技术爱好者,投机取巧的功利主义者对其没有兴趣.
和IDE比较,Emacs 做的更多更快
IDE针对特定语言或框架优化,而Emacs完成通用任务更有效.
例如,我碰到难题,需要上IRC请教国外高手(工作流是,粘贴代码到http://gist.github.com, 在irc提问,看网页,将解决方案粘贴回来),Emacs 集成了IRC工具和浏览器 (例如),操作就很方便.
我使用 Visual Studio 多年,Firefox 也是高手,相信我,大多数情况下 Emacs 更快.
当然口说无凭,请看高手操作的 youtube 视频, Emacs Power: Can your editor do THIS!
顺便说一下,很多初学者关心的代码自动完成,几门主流语言支持都不错(包括java).
Emacs会永存
个人开发者会丧失兴趣,公司会倒闭.但自由软件基金会将一直存在下去.Emacs 作为其招牌软件也会维护下去,我的投资永不会贬值.
使用 Emacs 可以立刻开始工作.
软件开源,配置是纯文本,且资源消耗小,安装包很小 (命令行版本 30M 左右),任何环境下都可用.
这在大项目中特别有益,例如,某项目需同时编辑 Perl, Java,C, Bash, SQL, 要编辑远程服务器上的代码,网速不快. Emacs的优势就体现出来了.
一年指的是一年中的空闲时间
我没说一年内须什么事都不干专学Emacs, 我最反对没有短期回报的悬梁刺股.
我利用一年中通勤时间就取得了很大进步,自信到可以写下本文.
⑻ 现在还有没有人用python编程
面对珍珠(Perl)夺目之光、灵蛇(Python)更具有上天入地之能。它可以在 MS-DOS,Amiga,BeOS, OS/2,VMS,QNX等多种OS上运行;比 Perl 和 VB更快更好,比 C 和 C++ 语言更具扩充性;不仅在“星球大战”、 “星球之旅(Star Trek)”等超级大片中当纲特技和动画制作,还闯入了美国航天航空局控制室。真相如何,请看报道。
对 Perl (珍珠) 语言,互联网开发人员可以说是无人不知、无人不晓;它运行迅捷、操作简单,而且可以让用户在使用时感到其乐无穷。但它也有不竟如人意的时候:它的开放性同时带来了它的复杂性,用它处理大项目时尤其会使人无从下手。
尽管如此,大部分互联网项目仍得靠着 Perl 这员“功臣”来搭建。
但也并非别无选择。最新推荐的软件叫 Python (灵蛇),它的历史仅有 Perl 的1/4,有着许多相似的特征。
Python 的名字源于着名的滑稽团 Monty Python,它拥有许多广为人知的演员,并塑造了许多妇孺皆知的银屏形象。
那么,互联网世界中的 Python 又是怎样的一个形象呢?
更快更好的 Python
与 Perl 一样, Python 也是一种解释语言,它完全采用面向对象的方式,语言结构介于 C 语言和 Perl 语言之间。虽然它被视作一种高极语言,但它的内置解释器的功能却非常基本,仅有几种功能、操作符和关键词便构成了整个程序语言。它的优势可不仅如此,它还能通过一系列的模块进行扩充。它既比 Perl 和 VB 语句更快更好,又比 C 和 C++ 语言更有扩充性。
同样,Python 对程序语句的处理首先通过一个解释和编译系统转换成为一系列的字节代码,然后再由 Python 的虚拟机进行处理。Python 设计得非常有效,主要归功于它庞大的功能库,因此用户不用进入系统环境或是操作系统,也不用引用模块。用 Python 编程,小程序还是小程序,不必劳费太多的成本和时间。
除了它的 Core 平台外, Python 还能在 MS-DOS,Amiga,BeOS, OS/2,VMS,QNX 以及其它许多操作系统上运行。甚至还可以在掌上电脑上运行 Python 程序。
面对珍珠(Perl)夺目之光、灵蛇(Python)更具有上天入地之能。
除了它的 Core 平台外, Python 还能在 MS-DOS,Amiga,BeOS, OS/2,VMS,QNX 以及其它许多操作系统上运行。甚至还可以在掌上电脑上运行 Python 程序。
Python 还有以下显着的特征:
超强的适应性
Python 可以由一系列的平台支持。它编译完备的格式可以在 Windows 和 MacOS 及其自身 Tk 扩充平台上运行,并可用于开发对用户友好的界面。在 UNIX 和其它平台上, Python 可以作为源代码由程序员自行编译,或者与其它预编的二进制编码共同使用。它超强的适应性更能让它有跨平台适用的能力:用它在 UNIX 平台上书写的程序段95%的情况下无须作任何修改就可用于 Mac 和 PC 机。扩充 Tk 平台对它的支持,甚至可以让基于GUI 格式的应用程序不用大动筋骨就可在上述三种平台上做自由切换,还保持着统一的界面。
正因为这种天然生就的跨平台运行能力,Python 还能支持一些平台的扩充平台,从而简化和免除了对其它语言和环境的适应过程。与 SunOS / Solaris 工具带有 Sun 音频设备及 SGI版本带有视音频接口(包括 OpenGL)一样,Windows Pytyon 解释器也同样带有 Visual C++ 类库和 Windows 音频驱动接口。此外还有与 COM 对象进行通讯的功能。
超大的功能性
Python 几乎无所不能。它的内核很小,但却拥有足够的基本程序块用于设计大部分应用软件。而且在某些情况下该程序语言还可以扩充与 C,C++ 和 Java 语言并用,因此没有它编不了的程序。 Python 解释器还带有极为强大的补充模块库,用于扩充语言能力,进行网络通讯、文本处理和规则表达式匹配。
虽然 Python 的主要特点是隐去程序员的许多低级复杂工作,它还能支持钩、扩充程序以及其它功能对某些操作系统进行低级接入。正因为这种高低兼行的特点,Python 可以视作和 C,Visual Basic 同等级别的语言,或是介于二者间的其它级别的语言。
超凡的扩容性
因为 Python 本身用 C 语言写成(某些扩充平台采用C++语言编写),而且它采用开放式的源代码,这样可以对程序本身进行主动扩充。另外该程序语言的许多模块由 C 和 C++ 界面支持,包括一些诸如网络和DBM数据库接入等基本构件,以及其它如 Tk 等许多先进工具。
此外,Python 还能融入 C 或 C++ 语言,从而可以使用 Python 语言为应用程序提供编程界面。也正基于它的跨语言开发的支持能力,还可以使用 Python 设计应用程序后再输送到为 C 语言环境而无须将程序用 C 语言重写,因为两种语言均可同时使用。
JPython 是一个完全采用 Java 语言编写的 Python 解释器,这就意味着任何 Python 程序都可与一个 Java 对象或是使用 Python 对象的应用程序相联结。
超常的简易性
了解了 Python 以上几个基本特点后,再对程序语言它内容进行了解就相对容易了。该语言内核很小,而且格式和文体简明。由于所有其它的组件和扩充部分都使用完全一样的句法结构,利用 Python 编程会很快让人速成。
但这并不意味着 Python 语言就没有复杂的地方。对其许多扩充部分和内库都必需经过深思熟虑后方可进行有效的利用。
超强的功能性
拥有如此广泛的支持和博采众长的特征,Python 在处理一系列问题上都显得特别有效。以下为它的功能简介:
计算器:
由 Python 支持的一个扩充程序叫 NumPy,它可以提供与许多标准数学库相连的接口。Python 语言还拥有无限精确的特性,可以单独处理100位数字的算术。
文字处理器:
Python 能够对任何数据进行分割、累加和总结。它的模块可以对日志文件行中的元素进行分割,并根据内置的数据种类对其信息进行记录和总结,最后才进行输出。它的规则表达式库使程序员可以使用 emacs,Perl 等等。 这再次证明 Python 的无所不能,曾经有程序员还利用 Python 编制成非常复杂的 SGML 处理工具。
便捷的应用开发:
Python对程序员而言一目了然,用它编程迅速有效。它博大的模块库可以提供针对不同协议、工具和库的接口。免除重新开发之苦。
由于Python 还支持 Tk 工具,所以可以在几个小时内完成一个应用软件,而用 Perl 语言可能会需要2到3天,用 C 语言甚至要几个星期。
跨平台开发:
Python 以中立方式支持不同的一系列平台,如果用户使用的系统包含不同的平台,使用 Python 开发应用程序则再好不过;它这种适应性也可以为系统预留使用其它工具的可能。对于频繁更换平台用户,Python 是个理想的选择。
为最终用户提供软件服务时,Python 也是个备选方案,可以避免同时用不同应用软件编程的时间和费用。
系统设备
Python旨在避免操作系统中低级部分的滋扰,但如若需要主动进入这些低级部分时也完全可以通过相应的工具和扩充件来实现。与操作系统一样, Python 可以进入相同的的功能,并予以备份和扩充,而且备份和扩充后的功能会增加 Python 的所有的适应性和接口能力。
互联网程序设计
Python 带有的标准模块可以对网络插槽进行初级和协议级别的通讯,比如,如果要从 POP 服务器上读取电子邮件,Python 随带的库模块可以做到。另外, Python 还支持 XML、HTML和 CGI 库文件,所以利用它可以解析用户输入的需求,并通过网络服务器产生最佳质量的成果。
程序员还可为拥有 Python 内置解释器的 Apache、Unix 和 Windows 网络服务器编译模块。基于 CGI 程序的功效,可以很方便地执行 Python 语句而不用单独装载。
数据库编程
Python 中有无数的扩充模块可以连接如 Orcle、Informix 、mySOL和PostgreSql等通用的数据库系统;还有称作 Gadfly 的工具可以独立Python 提供完全的SQL环境。Python 有强大的文本和数据处理能力,可以用它作为不同数据库间的连接,比起那些数据库附带的总结和汇报工具显得更有优势。同时,由于它支持不同系统,用同样的接口也可以连接任何数据库。可以用 Tk 在支持平台上建立前端,马上就可获得高速跨平台、独立数据库的查询工具。
其它
Python 应用范围广泛,几乎没有它不适配的语言;凭籍它的微小内核、丰富功能、多样数据,Python 提供了一个良好的程序构建基础。综合了C 和 C++二者的优点,只要采用合适的结构和方式,便可对 Python 程序进行无限的扩充。除了一大堆显着的优点,Python 也有缺点。
要列出 Python 的缺点确实不太容易。Python 在其扩充模块中提供了大部分的功能,并充分显示了对其增加功能有多容易,一旦用它还不能解决问题,那么也仅需要利用 C 或 C++ 语言重新编写一个扩充程序便可。
批评 Python 的人往往不是说Python 缺乏某种功能,而是对这种功能并不了解。通常还有一种抱怨说 Python 缺少规则表达式的支持-但实际上有两个模块可以用来处理规则表达式,其中之一还可以完全用来支持 Perl 语言的句式句法。对规则表达式的处理并没有编进该语言中,但并不等于它作不到。
针对 Perl、Rebol 和 Java 语句而言, Python 的优势在于它的内核很小。这减少了执行的时间,因为在运行时需要装载的代码较少,而且这个特点也使它有着更广的适应性。
一旦熟悉了 Python 语句的简明风格,它的强大优势顿时便会凸现出来。用它编就的程序历久不衰。
Python 的理想用户群
它适合不同类型的用户以解决不同类型的问题。大部分时候这些问题一般不为人所知,因为它们有着较高的保密性。也有大型公司用它进行商用开发,并展示开发所获的成果。
红帽 (Red Hat )曾用 Python 和 Tk 一起成功开发配置和管理操作系统的可视界面。整个系统可以全面控制 Linux 操作系统,并根据用户选择对配置文件作自动更新。
Infoseek 在其公用搜索引擎使用了Python。该公司还用 Python 对其软件进行定制,使最终用户能对该网站内容进行方便下栽。
美国航空航天局也在不少领域中用到 Python 程序语言,最出名的莫过于在任务控制中心将 Python 用于任务计划;对 Python 在其它方面的使用例如用其计算天体方位和设计卫星的路径等等都充分体现了 Python 的超强计算能力。
以在“星球大站”、“阿贝斯 (Abyss)”、 “星球之旅 (Star Trek)”、 “印地安那琼斯 (Indiana Jones)”超级大片中当纲特技和动画制作的工业光魔公司 (Instrial Light)也采用 Python 制作商业动画。
什么是Python?
Python是一种即译式的,互动的,面向对象的编程语言,它包含了模组式的操作,异常处理,动态资料形态,十分高层次的动态资料结构,以及类别的使用。Python揉合了简单的语法和强大的功能。它的语法表达优美易读。它具有很多优秀的脚本语言的特点:解释的,面向对象的,内建的高级数据结构,支持模块和包,支持多种平台,可扩展。而且它还支持交互式方式运行,图形方式运行。它拥有众多的编程界面支持各种操作系统平台以及众多的各类函数库。利用C和C++可以对它进行扩充。个别的应用软件如果需要有一个可程序化界面也可以利用它来做为扩展语言用。最后,Python的可移植度非常高:它可以在许多的Unix类平台上运行,在Mac,MS-DOS,视窗Windows,Windows NT,OS/2,BeOS,以至RISCOS上都有相关的Python版本。
简单的说它具有以下一些特征:
l 是一种解释性的,面向对象的,具有动态语义的程序设计语言。
l 适合快速开发。
l 能集成到其他流行的服务器,也自带服务器。
l 提供清晰的数据/逻辑/表示的分离。
l 带有可扩展的内置对象和强大的集成安全模块。
Python的历史
Python的创始人为Guido van Rossum。1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做为ABC语言的一种继承。之所以选中Python(大蟒蛇的意思)作为程序的名字,是因为他是一个Monty 大蟒蛇飞行马戏团的爱好者。
ABC是由Guido参加设计的一种教学语言(没听说过)。就Guido本人看来,ABC这种语言非常优美和强大,是专门为非专业程序员设计的。但是ABC语言并没有成功,究其原因,Guido认为是非开放造成的。Guido决心在Python中避免这一错误(的确如此,Python与其它的语言如C,C++和Java结合的非常好)。同时,他还想实现在ABC中闪现过但未曾实现的东西。
就这样,Python在Guido手中诞生了(真要感谢他)。实际上,第一个实现是在Mac机上。可以说,Python是从ABC发展起来,主要受到了Mola-3(另一种相当优美且强大的语言,为小型团体所设计的)的影响。并且结合了Unix Shell和C的习惯。
Python可用在哪些地方?
Python可以用在许多场合。当你需要大量的动态调整,要容易使用,功能强大并且富有弹性的情况,Python可以发挥很好的功效。
在处理文字方面,Python的核心功能(不需要任何扩充库的情况下)比别的编程语言更为易用而且速度相当。这使Python在需要处理字符串的工作(包括系统管理,CGI编程)上成为高效的语言。
当Python加上它的标准扩充库(如PIL,COM,Numeric,Oracledb,kjbuckets,tkinter,win32api,等等)或是特别扩充库(你自己写的,或是用SWING做的,或是利用ILU/COBRA/com的)后,它可以变成一个很好的“胶合语言”或者叫“指导语言”。就是指把不同的编程环境和互不相关的软件功能整合的工具。例如把Numeric和Oracledb透过Python结合起来你就可以替你的资料库数据做系统分析。Python的简单、易用以及方便而强大的c/c++扩展方面使它成为一种十分优秀的“胶合语言”。
许多开发人员也在写图形用户界面时广泛的采用了Python。如果在Windows下,如果想做一个图形界面程序,那么Python可以胜任。可以去wxPython.org看一下,它是一个Python的扩展库,可以用来实现跨平台的图形编程,它支持windows和unix/linux。在那个网站上有一些演示,可以学习一下。Python可以做CGI。有些主页提供了对Python的CGI支持。现在还有一些用Python做的游戏。如果想了解更多的Python可以做什么,可以去SourceForge上查找有关Python的项目,上面有很多东西。
运行方式
Python可以以命令行方式运行,也可以交互式方式运行,还具有图形集成环境,这样开发Python就相当方便。现在已经出现了许多用Python编写的可视化编程软件,用于实现象Delphi一样的功能。
面向对象
Python是一个真正的面向对象语言。它甚至支持异常的处理。如果学过Java,应该对这个不陌生。但其它的脚本语言,如PHP,好象就没有。这使得程序的编写更加清晰,而不需要许多的错误检查了。
模块和包
这一点更象是Java。对于Java的支持,大家可以了解JPython。JPython是用Java写的Python,它完全支持Java,在这个环境下使用Python可以随意地使用Java的类库。语言扩展可以用C、C++或Java为Python编写新的新言模块,如函数。或者与Python直接编译在一起,或者采用动态库装入方式实现。也专门有人编写了一个工具,可以实现为Python自动实现函数接口封装,这就是SWIG(Simplified Wrapper and Interface Generator),或称做简单封装和接口生成器(可以在http://sourceforge.net/projects/swig/)。
有趣的语法
Guido认为Python的语法是非常优美的。其中一点就是,块语句的表示不是C语言常用的{}对,或其它符号对,而是采用缩近表示法!有趣吧。就这一点来说,Guido的解释是:首先,使用缩近表示法减少了视觉上的混乱,并且使程序变短,这样就减少了需要对基本代码单元注意的范围;其次,它减少了程序员的自由度,更有利于统一风格,使得阅读别人的程序更容易。感觉还是不错的,就C语言来说,在if语句后面大括号的写法就好几种,不同的人喜欢不同的样子,还不如统一起来,都不会看得别扭。
在每个类或函数的定义后面,第一行可以是说明语句,根本不需要注释符标记。对于后面跟块语句的语句,后面应跟上一个冒号。一行语句不能太长,因为没有行结束符,如果超长则要使用续行符(\\)。还有一些有趣的比如说,象下面的一个比较处理,用C语言为:
if (2
用Python可以表示为
if (2
什么是Zope?
Zope是一个开放源代码的Web应用服务器,采用Python语言开发,使用它您可以方便的构建内容管理、内部网、门户网站、和其他的定制应用。
l 高度面向对象的Web开发平台,采用Python语言开发。
l 可以运行在几乎所有流行的操作系统上,支持多语言。
l 能集成到其他流行的服务器,也自带服务器。
l 提供清晰的数据/逻辑/表示的分离 。
l 带有可扩展的内置对象和强大的集成安全模块。
什么是Plone?
Pone是一个Zope上的一个用户友好、功能强大的开放源代码内容管理系统。Plone适合用作内部网/外部网的服务器、文档发布系统、门户服务器和异地协同群件工具,到目前,Plone其实已经发展成为了一个应用开发平台。
l 是一种功能强大的开放源码(Open Source)内容管理系统(CMS) 。
l 通过Web浏览器来访问、编辑内容和管理,易于更新内容 。
l 无需编程,即可创建新的内容类型 。
l 协同的编辑和发布机制 。
⑼ 你要配置SQL *Plus工作环境.发出define_editor ='emacs'命令将产生以下哪个结果
这个肯定选A啊
⑽ 谁知道能够高亮显示SQL语句的记事本软件
你说的是文本编辑器吧?Vim,Emacs可以高亮几百种语言,SQL 自然不在话下,就是难学了点。EditPad Pro 也应该能做到。
Google 文本编辑器可以找到很多的。
找语句的时候比较费劲是因为你人工在找。使用文本编辑器的搜索功能吧。
如果不想学Vim/Emacs的话,推荐 AceText(代码片断管理)+PowerGrep(全文搜索)+EditPad Pro(代码编辑),都是 JustGreat 公司的。