是不是编程语言越高越简单,编程语言越低越难?
Pascal是Nicolas Wirth在20世纪70年代初设计的,因为他对FORTRAN和COBOL不强制学生训练结构化编程感到失望,“空心粉代码”成为常态,当时的语言并不反对。Pascal被设计用来执行结构化编程。Pascal最初是严格为教学而设计的,最后,大量支持者把它推向了商业编程。当Borland在IBM PC上发布Turbo Pascal时,Pascal曾经辉煌一时。集成编辑器、快如闪电的编译器和低廉的价格让它无法抗拒。Pascal已经编写了为MS-DOS编写小程序的首选语言。
然而,在很短的时间内,C编译器变得更快,并拥有出色的内置编辑器和调试器。Pascal在1990年Windows开始流行的时候就走到了尽头。Borland放弃了Pascal,将注意力转向为Windows编写程序的C++。涡轮帕斯卡很快就被遗忘了。
最后,在1996,Borland发布了它的“Visual Basic黑仔”——Delphi。这是一个快速的Pascal编译器,具有华丽的用户界面。由于坚持不懈的努力,很快赢得了一大群粉丝。
基本上Pascal比C简单,虽然语法差不多,但是缺少C拥有的很多简洁的运算符。这是好事,也是坏事。虽然很难写出难以理解的“智能”代码,但这也使得一些低级操作,如位操作变得困难。
优点:简单易学,平台相关操作(Dephi)很不错。
缺点:《世界趋势》的面向对象Pascal后继者(Modula,Oberon)还没有成功。编译器开发人员不认可语言标准。专利权。
便携性:很差。语言的功能随着平台的变化而变化,没有可移植的工具包来处理平台相关的功能。
用Pascal写的游戏:几个。DirectX的Delphi组件让游戏的地方更大。
信息:要查找与Delphi相关的信息,请访问:Inprise Delphi页面。
6、Visual Basic
哈,基础。回到20世纪80年代的石器时代,它是初学者的第一语言。最初的基础形式,虽然简单易学,但是组织得可怕,它毫不犹豫地使用了后藤的“空心粉代码”。在回忆BASIC的行号和GOSUB命令时,很少有人能止住眼角的泪水。
快进到90年代初,虽然不是苹果所希望的巨头,但HyperCard仍然是一个有吸引力的小型编程环境,无法与Windows相比。Windows下的ToolBook等HyperCard克隆版又慢又笨又贵。为了与HyperCard竞争,微软获得了一个名为Thunderprogramming environment的小型授权许可权,并将其发布为Visual Basci 1.0,其用户界面在当时非常具有创新性。虽然语言也叫Basic(不是全大写),但是更结构化,行号也去掉了。事实上,这种语言更像是带有基本动词的Pascal,而不是TRS-80、Apple II和Atari建立的旧ROM BASIC。
经过六个版本,Visual Basic已经变得非常漂亮了。用户界面发生了许多变化,但是“将代码与用户界面相关联”的主题仍然存在。当与即时编译相结合时,这使得它成为快速原型开发的极好环境。
优点:干净的编辑环境。易于学习和即时编译导致简单和快速的原型制作。许多可用的插件。虽然有第三方DirectX插件,但DirectX 7已经准备好提供对Visual Basic的支持。
缺点:程序非常大,运行时需要几个巨大的运行时动态连接库。虽然表单和对话框程序很容易完成,但是很难写出好的图形程序。调用Windows的API程序非常笨拙,因为VB的数据结构没有很好的映射到c,有OO函数,但是不完全面向对象。专利权。
便携性:很差。因为Visual Basic是微软的产品,你自然受限于他们的平台去实现。换句话说,你能得到的选择是:Windows,Windows或者Widnows。当然,也有一些工具可以把VB程序转换成Java。
用Visual Basic编写的游戏:一些。有很多用VB写的* * *游戏,也有一些是商业化的。
资料:微软的VB页面有一些资料。
7、Java
Java是一种可移植的“小C++”,最初是Sun为嵌入程序而设计的。在网络上运行小程序的想法确实吸引了很多人的注意,于是语言迅速崛起。事实证明,Java不仅适合在网页中嵌入动画——对于完整的软件编程来说,它是一种优秀的小语言。“虚拟机”、垃圾回收、无指针的机制,轻松实现不易崩溃、不会泄漏资源的可靠程序。
虽然不是C++的正式续作,但Java借鉴了C++的很多语法。它抛弃了C++的许多复杂函数,从而形成了一种简洁易学的语言。与C++不同,Java强制进行面向对象的编程。用Java写非面向对象的程序和用Pascal写“空心粉代码”一样难。
优点:二进制代码可以移植到其他平台。该程序可以在网页中运行。包含的类库非常标准,非常健壮。自动分配和垃圾收集,以避免程序中的资源泄漏。互联网上大量的代码例程。
缺点:用一个“虚拟机”来运行可移植的字节码而不是本机代码,程序会比真正的编译器慢。有很多技术(比如“即时”编译器)大大提高了Java的速度,但是速度永远不可能比机器码方案更好。早期的函数,比如AWT,没有经过仔细考虑,虽然正式废除了,但是为了保持向后兼容性,不得不保留。技术越先进,越难处理底层的机器功能。对于Sun来说,为这种语言添加新的“祝福”功能太慢了。
可移植性:最好,但仍未达到应有的水平。底层代码可移植性强,但是很多UI和新功能在某些平台上不稳定。
用Java写的游戏:网页上有很多小Applet,但只有一部分是商业化的。一些商业游戏使用Java作为他们的内部脚本语言。
信息:Sun的官方Java页面提供了一些有用的信息。IBM也有一个非常好的Java页面。JavaLobby是了解Java新闻的最佳地方。
8.创作工具
上面提到的编程语言涵盖了大部分商业游戏。但也有例外。这个大游戏因为它的缺席而引人注目。
神秘岛。是的,最畅销的商业游戏都不是用以上任何一种语言编写的,虽然有人说《神秘岛》99%是用3D建模工具制作的,它的基本编程逻辑都是用HyperCard完成的。
大多数创作工具有点像Visual Basic,只是它们在更高的级别上工作。大多数工具使用一些拖放流程图来模拟过程控制。许多编程语言都有内置的解释,但没有一种语言能像上面提到的单一语言那样健壮。
优点:快速原型制作——如果你的游戏符合工具制作的目的,你或许可以让你的游戏运行得比使用其他语言更快。在许多情况下,您可以创建一个简单的游戏,而无需任何代码。使用插件程序,如Shockware和IconAuthor player,可以在网页上发布许多由创意工具生成的程序。
缺点:专利,至于会增加什么功能,你就任由工具制造者摆布了。你必须考虑这些工具是否能满足你游戏的需求,因为有很多事情是那些创意工具做不到的。一些工具会产生非常臃肿的程序。
可移植性:因为创意工具是有专利的,所以你的可移植性与它们提供的功能密切相关。有些系统如Director可以在几个平台上创建和运行,有些工具可以在某个平台上创建和运行,有些只能在单个平台上创建和运行。
用创意工具写的游戏:《神秘岛》等类似的冒险游戏。所有的冲击波游戏都在网上。
材料:Director,hypercard,HyperCard,IconAuthor,Authorware。
9.结论
对于“我应该使用哪种语言”这个问题,你可能想得到一个更标准的结论。不幸的是,没有适用于所有应用的最佳解决方案。c适合快速小程序,不支持面向对象编程。C++完全支持面向对象,但是很复杂。Visual Basic和Delphi易学,但不可移植,有专利权。Java有很多简洁的函数,但是很慢。创作工具可以尽可能快地生成您的程序,但它只适用于某些类型的程序。最好的办法是决定你要写什么样的游戏,选择最能支持你游戏的语言。“试用30天”的做法成为行业标准,这是好事。