Linkman的学习记录

学习记录,兴趣方面:实时数据库、MES、SIS、工控软件、C++编程、人机界面、嵌入式软件、可视化等

VC知识库BLOG 首页 新随笔 联系 聚合 登录
  100 Posts :: 16 Stories :: 407 Comments :: 0 Trackbacks

留言簿(17)

随笔分类

随笔档案

文章分类

文章档案

传说中的名人

我的链接

朋友

搜索

最新评论

阅读排行榜

评论排行榜

本来想写一篇关于开源BASIC解释器的文章,却在网上发现几篇非常好的文章,不敢贪功(不想粘贴拷贝后说是自己写的),亦不敢独专(有好东西应该大家共享),将它们列出来:

BASIC四十年

BASIC万花筒

BASIC语言大家族

但只是列出几个网页链接,实在是对不起观众,厚颜将自己对BASIC的一些感想也写出来。

    我曾在大学教BASIC语言,那时候BASIC是作为计算机二级等级考试的语言之一,其它的语言还包括Fortran、FoxBase等,现在,估计Fortran和Foxbase不再作二级等级考试的语言了,但是,Basic仍会是考试内容,因为,它的影响力实在是太广了。

    一门语言能有如此之强的生命力,实在令人叹为观止,潭教授的一本《BASIC程序设计》成为国内计算机书籍发行之冠,至今无人可撼,也成就了他老人家的一世英名(鄙人不才,与潭教授有一面之缘)。不是他的文笔如何好,也不是里面的技术含量多么地高,只因为BASIC适天时而合地利,在计算机尚是神秘之物的当时,BASIC不愧为一登堂入室之宝梯。

    阳春白雪固然能流传千古,但下里巴人更能满足大众的需求,我们羡慕北京大饭店里一掷千金的豪宴,但平时只是喜爱家里的家常便菜,非不欲也,实不能也。只有能享受得起的东西才是我们所爱的东西。

    C++的发展正处在一个非常危险的境地,处处要证明自己存在的价值,却慢慢变成学院里古板教授附雅风月之物。今天讨论编译期类型的巧妙判断,明天讨论偏模板参数的高极应用。对于身旁飞过的千帆万舟,动辄笔伐,或是鄙夷。

    许多人从DOS中的QBASIC到Window下的VB,便认定BASIC是BILL大叔发明的,实则不然,BILL大叔只能算是BASIC的卫道士,但无疑,BILL大叔对BASIC的发展的影响是巨大的,或是第一位的,阿门,上帝保佑BILL。

    在工控软件行业,每一个组态软件都包括脚本语言功能,从这些脚本语言的表象来看,能发现一些很有趣的东西:

    组态软件的脚本语言主要分为两类,一类是完全将目前成熟的脚本语言引擎包含在软件中,如IFIX将VBA包含在其软件中,另一类则是自己实现一个脚本语言。

    对于自己实现脚本语言,又分为以下几类:

        1、类BASIC语言(如MCGS);

        2、类C语言(如KingView);

        3、类PASCAL语言(如ControlX2000,但本人怀疑其是内嵌了一个商业的PascalScrip程序);

        4、类Fortran语言(如Power20000,一个电业行业的组态软件);

        5、类LADDER语言(这类实现在人机界面软件使用得比较多,如海泰克);

    这些组态软件使用脚本语言扩充自己的功能,在脚本的使用上或强或弱,强者如IFIX、Citect,大部分功能都需要用户使用VBA编程实现(这有点过份,其效果就象在VB上增加一些工控组件),另一类则尽量将语言的大多数表现采用WARZID或对话框,如MCGS中的大部分脚本功能都能通过策略组态实现。其它的则是介入这两者之间。

    不管是实现哪一种脚本语言,都是选用比较流行的语言,没有采用诸如TCL、PYTHON等语言,这是很有讲究的,没有哪个工控用户希望在使用某一软件时,还需要学习一种新的语言,与其这样,他他不如自己学习VB编工控程序。

    目前工控软件软件发展到目前这个阶段,已发展得不伦不类,其一,尚无界面的标准出现;其二,OPC发展得臃肿庞大而不适用;三、脚本语言也是各显其能,每种语言都是自行一套,根本没有考虑标准化和统一。

    工控软件行业标准化的工作是很有意义的,其未行的原因是:

        1、目前尚无一家工控软件公司有足够强大的实力来号令诸侯;

        2、工控市场的空间有限,许多大企业不屑进入,也引起现有公司的固步自封,不求发展;

        3、工控软件的利润非常薄,导致许多公司的投入都不可能很大;

        4、工控市场的进入门槛越来越低,新进入的公司层出不穷,至使现有混战局面仍然继续,没有一家公司有能力喘口气思索自己的未来;

    再讲BASIC,目前BASIC的解释器技术已不再是难事,上网随便一搜,就能找出许多开源且价值高的BASIC解释器,但真正要将之用在工控组态软件中,还是需要作一翻改装的:

    1、简化、除去某些BASIC解释器的一些花里胡俏的功能,如返回多个值、提供指针操作等,须知在组态软件中的脚本功能只是为了扩充软件的功能,而不是让用户学习一门新的语言;

    2、提高执行效率,增加优化处理;

    3、提供对组态软件封装的封装接口(Wraper),提供嵌入的BASIC语言与组态软件的一致性访问方法;

    说了这么多,推荐几个我喜欢的BASIC解释器:

      1、WXBASIC

      2、XBASIC

      3、YABASIC 

posted on 2005-01-25 08:44 linkman的学习记录 阅读(3524) 评论(15)  编辑 收藏

Feedback

# re: 关于BASIC的一些链接和感想 2005-01-25 21:36 重庆手机
好爽哟!!!!!


# re: 关于BASIC的一些链接和感想 2005-01-25 23:36 周星星
1. VB不是BASIC

2. 当初C++中加了template的时候,Java之父曾无知的说Java决不会加入template这个奇淫技巧,但最终它还是加入了,这说明了什么?说明技术在发展,就不得不越来越复杂。
简单是BASIC的最大成功处,但现在还有人在使用BASIC的简单吗?这也说明技术在发展,就必须需要复杂的语法和功能。
--- 驳斥你对C++的观点

3. 我对OPC的观点和你相同。
OPC错在基于DCOM,但DCOM却又满足不了它的要求,导致时不时又要努力避开DCOM的限制,给人的感觉是乱七八糟。
再者,OPC基金会好大喜功,爱摊大盘子,给人的感觉它不再是原来需求上的OPC。

# re: 关于BASIC的一些链接和感想 2005-01-26 01:35 cloner
我计划在软件里用python了,太方便了。而且,ms已经把python列入.net的计划了,他会像wince一样,越来越流行的。

# re: 关于BASIC的一些链接和感想 2005-01-26 11:38 sumtec
嗬嗬,我是觉得能用简单的就用简单的。现在我最容易犯的错误可能是杀鸡用牛刀,打蚊子用高射炮。不过语言什么的不过是工具,还是不要戴有色眼镜来看,我喜欢所有的语言,各有特色:P
(有点骑墙,不要打我)

# re: 关于BASIC的一些链接和感想 2005-01-26 11:50 linkman
不是想挑起战争哟。
请注意本篇讲的问题有一个前提:工控组态软件中的脚本语言。

# re: 关于BASIC的一些链接和感想 2005-01-27 05:49 牡蛎
回 周星星 :
VB不是BASIC是什么?

# re: 关于BASIC的一些链接和感想 2005-01-27 06:18 linkman
白马非马也

# re: 关于BASIC的一些链接和感想 2005-01-27 07:35 cloner
嘿嘿,对大多数人而言,basic就是vb,c++就是vc,不服不行。

# re: 关于BASIC的一些链接和感想 2005-01-27 09:08 牡蛎
正着说和反着说可差远了

# re: 关于BASIC的一些链接和感想 2005-10-31 00:50 mr..vw
xbasic 不是解释型的,它是编译型的. 整个xbasic就是用xbasic写的. 非常遗憾的是,xbasic已经不再开发了.

# re: 关于BASIC的一些链接和感想 2008-12-03 10:37 气动薄膜调节阀
BASIC语言大家族

标题  
姓名  
主页
验证码 *
内容   
  登录  使用高级评论  Top
[使用Ctrl+Enter键可以直接提交]