| djgcn |
08-01-19 13:02 |
本文章为概论类型,主要发於同人星球,不能代表业界全体, 转载使用请附上同人星球连结(http://www.djgcn.net/)
首先,所谓BASIC语言的世代资料,是以Wikipedia的分类为依据 http://en.wikipedia.org/wiki/BASIC_programming_language 主要的差异在於语法方式的差异,要注意的是BASIC终究以易读性为依据。
第一代BASIC 以Input/Print等作为简单的IO,代码中还可以看到行数, 是BASIC语言的雏型,对於结构化不太重视,所以有Goto这类指令, 很多人对BASIC的印象还停留在这一代,其实已经大不相同了。
第二代BASIC 开始使用过程导向,以Function取代Goto等零散语法, 基本上相容第一代,但是一些缺乏结构性的语法已经慢慢废止, 在商业语言中,有许多第二代BASIC都取得了很大的成功。
第三代BASIC 主要的特性是OOP(物件导向)和EventDriven(事件控制)的增加, 实际上二和三代中间有许多模糊地带,所以主要分野还是OOP, 部分针对某领域强化(RAD/跨平台/多媒体),也不算纯粹的第三代了。
原则上BASIC的语法可以一以贯之,不过每个套装的API都不尽相同, 甚至操作习惯也大相逕庭,你依然必须花上好一阵子来熟悉其用法。
※以下介绍几个二/三世代,目前比较流行的BASIC语言
名称:PowerBASIC 首页:http://www.powerbasic.com/ 世代:二 特性:目前第二代的王者,许多公司使用它开发系统,相当程度相容QBASIC,所以移植旧代码很容易
名称:HotBasic 首页:http://www.hotbasic.org/ 世代:二 特性:生成高速原生码,独特的浮点运算库,作者在生成代码下了很大功夫,因此速度惊人。
名称:PureBasic 首页:http://www.purebasic.com/ 世代:二 特性:第二代中混合一些C语言特性的BASIC,可以作InlineASM,满适合个人开发
名称:Emergence BASIC 首页:http:/www.ionicwind.com/ 世代:三 特性:超微型的BASIC语言,但功能完善,支援OOP,相容VC函式库,生成原生码,速度极快
名称:KBASIC 首页:http://www.kbasic.org/ 世代:三 特性:RAD,完整OOP,跨平台且生成原生码,功能非常强大但价格便宜
名称:FreeBASIC 首页:http://www.freebasic.net/ 世代:三 特性:完全开放源码,支援OOP特性,可以使用Unicode,成长很迅速的BASIC语言
名称:REALbasic 首页:http://www.realbasic.com/ 世代:三 特性:真正的RAD语言,有OOP和超强跨平台特性,支援Unicode,也可说是目前第三代的王者
名称:Visual Basic.NET 2008 首页:http://www.microsoft.com/express/vb/ 世代:三 特性:标准RAD,也支援OOP,可惜的是依赖.NET运行库,这点某些人不太喜欢
以上是笔者比较推荐且测试过的语言,实际上BASIC的亚种非常之多, 测试时最好是运行过范例,并且尝试编写简单的程式使用看看,以免浪费时间。 |
|