作系统中,C 具有很好的开放源代码的条件,它有统一的编译器 gcc,有强大但比较难 掌握的编程环境 emacs,有统一的 API:posix 和 Linux 接口.并且大部分编译器和 API 是开放源代码 的.在 Unix-like 上编写图形界面程序,有两个选择 KDE 和 Gnome:KDE 更成熟,但它使用了不是开 源的 Qt 函数库;Gnome 支持多语言和面向对象的程序间的协同,有它
的 GUI 工具 GTK. 在 Windows 环境中,现在通常使用 VC,但有一个缺点,Windows 的升级换代太快,从 dos 环境到 Windows31 ,从 Windows31 到 Windows95,到 Windows2000,到.
NET.API 常常变换,这样, 在 Windows 上的程序代码的寿命会比较短.并且 vC 的编译器和 API 太复杂,难于掌握,并非开放源代 码的工具.其他选择有从 Unix-like 系统移植过来的 djgpp,mingw. 由于 C/C++具有现代语言的大量特征,现在常常代替 Pascal 作为教学的编程语言.实际上,如果不深入 学习,C 也是一种很简单的语言.不学 Basic,直接学 C 完全没有
问题.和其他语言相比,虽然 C 和 C++ 都已经定下了其标准,但编译器,函数库,操作系统 API 五花八门,有些又未必全面支援最新的标准,造 成学习的难度大,统一性差的问题. 2.1.2 ☆Visual Basic(简称
VB) VB 是快速的界面生成语言,是快速的数据库程序开发语言.vba 是 vb 的应用版,嵌入在 MS office 中. 编写 MS office 上的程序很好用.缺点是只能在 Windows 平台运作. 2.1.3
Delphi/Kylix 和 vb 一样是快速开发环境,但性能更好,功能更强大,亦可以用于 Linux 平台.语法建基于 Pascal,是 面向对象的程序语言. 2.1.4 ☆Java 相对 C,Java 作为现代语言,具有非常丰富的语法特征,如模块和类,不像 C 随操作系统和编译器的不同 有极大差异,
Java 是一个公司的产品, 具有唯一的 API, 因此, Java 程序员没有语言隔阂. 有人认为 Java 根本是一个平台,并非真正的跨平台. 相对跨平台的语言来说,Java 具有最好的图形界面编程 API.Java 所有的 API 都是类库,相对 C 的函数 来说,是非常大的进步.Java 具有现代语言几乎所有的特征.Java 最大的缺点,是它被一所公司控制着. 2.1.5 Ada Ada 语言和 C/C++是一种编译语言,他们最后编译出的执行文件的机器码都很小.因此现在众多的语言 只有 C/C++能够与 Ada 相提并论.和 C/C++相比,Ada 的特点是可靠,可移植.他的可靠是通过比其 他语言都强大的类型,每种类型还都可以象数据库字段一样进行强类型,范围的检查.以此来保证在编译
中就发现错误.它有强大的标准化组织,严格认证 Ada 编译器的标准.有多线程能力.适于编写实时程序. 但和 C/C++相比太复杂,罗嗦,因此注定不能流行. 2.2 Scripting Language 如果不在乎商业机密,应用目标也不是太苛刻的话,编写大型跨平台程序的最佳就是脚本语言.有些脚本 语言具有全面的库的支持,有和 C 语言的方便的交互能力.他们和 Java 相比,编程效率更高.同时因为 没有编译,程序更方便修改.因为他们的库都是 C 实现的,也比 Java 有更高性能.同时,他们都是开源 的,都是对商业应用友好的,也是简单的,方便定制的.也是不满意 Java 的不可控制的越来越庞大的库 的又一个选择. 2.2.1 Basic 现在最着名的 Basic 版本
是 vb,Basic 是简单的初级语言.Basic 的丑陋在于参数还是默认传地址.太危 险. 2.2.2 ☆Perl Perl 的最大特点是有强大的字符串模式匹配,是最好的文本文件的读取和生成语言,亦是 Unix 系统管理 者的好帮手,因为它吸收了 awk,sed,grep 等工具的功能.Perl 具有很大的自由性,象英语一样有很 大的随意性,在 Perl 里基本上无 Type Error 这回事,它的"Type"就是纯量和串行.Perl 有一个强大的 数据库接口和其他各种接口.Perl 有大量的程序库(CPAN).因为 Perl 较早出现,某些功能是后期加上 去,显得不协调,例如它的面向对象功能就被视为不是真正的面向对象.Perl 有个着名的缺点是难读懂, 维护困难,被认为不适合编写大程序,只适