标签:science 语法 开发环境 建立 语言 界面设计 maker 其他 absolute
公元2000年,IEEE计算机协会的一份期刊《Computing in Science & Engineering》上,两位客座编辑Francis Sullivan和Jack Dongarra遴选出了20世纪科学与工程的实践与发展上最具影响力的十大算法
快速傅立叶变换算法由James Cooley和John Tukey于1965年共同提出,因此FFT又称为Cooley–Tukey算法。FFT是离散傅立叶算法(被认为是数字信号处理的基石)的一种快速算法,其时间复杂度仅为O(Nlog(N));比时间效率更为重要的是,快速傅立叶算法非常容易用硬件实现,因此它在电子技术领域得到极其广泛的应用。John Tukey曾经在普林斯顿大学担任教授,期间他曾指导过的博士生之一便是托马斯·库茨(Thomas E. Kurtz)。
BASIC是一种高级程序设计语言,英文全称是 ”
在486、586直到奔腾计算机的时代,BASIC语言曾经非常流行。一个我们非常熟知的事实是清华大学谭浩强教授编著的《BASIC语言》发行量超过1250万册,创科技书籍发行量的世界纪录。他还曾在中央电视台系统地向全国观众讲授包括BASIC在内的7种计算机语言,观众超过500万人,引领无数人进入计算机世界大门。笔者所系统地学习的第一门计算机语言也正是BASIC,彼时大约应该是小学五年级左右。就一个初学者而言,BASIC确实是非常好的入门选择,它的语法规则非常简单,而且又不涉及像C语言中的指针概念,即使对于小学生而言,也可以藉此体会计算机编程的乐趣。
在20世纪80年代中期,美国国家标准化协会(ANSl)根据结构化程序设计的思想,提出了一个新的BASIC标准草案。在此前后,出现了一些结构化的BASIC语言,主要有True BASIC、Quick BASIC、Turbo BASIC等。其中,True BASIC是由两位发明者约翰·凯默尼和托马斯·库茨于1985年推出的严格遵循ANSI标准的BASIC。
1987年微软公司推出了Quick BASIC,它提供了一个开发程序的集成环境,用户在编程序、修改、编译、调试、运行时均可通过菜单进行操作、十分方便。后来伴随着MS-DOS 5.0的推出,微软公司也同时推出了QBASIC,并作为MS-DOS 5.0的一个组成部分免费提供给用户。QBASIC与Quick BASIC完全兼容,是Quick BASIC的简化版本,除不能编译及减少了初学者暂时用不着的一些调试工具外,它具有Quick BASIC的大部分功能。QBASIC采用先进的解释方式,速度更快,是一种会话式的语言,编写的程序可以立即运行并得到结果。
这一时期,微软公司BASIC产品的主要竞争对手是Borland公式的Turbo BASIC。作为一个完整的编译器和开发环境,Turbo BASIC同样提供了方便用户编辑和调试程序的环境,而且还能编译出MS-DOS底下的原生程序码。
随着Windows 3.0的推出,越来越多的开发商对这个图形界面的操作系统产生了兴趣,大量的Windows应用程序开始涌现。但是,Windows程序的开发相对于传统的DOS有很大的不同,开发者必须将很多精力放在开发GUI上,这让很多希望学习Windows开发的人员怯步。1991年,微软公司展示了一个叫Thunder的产品,所有的开发者都惊呆了,它竟然可以用鼠标“画”出所需的用户界面,然后用简单的BASIC语言编写业务逻辑,就生成一个完整的应用程序。这种全新的“Visual”的开发就像雷电(Thunder)一样,给Windows开发人员开辟了新的天地。这个产品最终被定名为Visual Basic。
1991年4月,由微软公司开发的Visual BASIC 1.0 版本正式发布,这在当时引起了很大的轰动,许多专家把Visual BASIC的出现当作是软件开发史上的一个具有划时代意义的事件。Visual BASIC,顾名思义,就是“可视的BASIC”,它源自于BASIC编程语言。不同点在于它是图形界面的BASIC,它是用于Windows系统开发的应用软件,采用事件驱动,并使用Quick BASIC的语法和可视化的IDE。
从1992到1995的四年时间里,微软也不失时机地接连推出了 2.0、3.0、4.0 三个版本。并且从 VB 3.0 开始,微软将Access的数据库驱动集成到了 Visual BASIC 中,这使得其数据库编程能力大大提高。从 Visual BASIC 4.0 开始,Visual BASIC 也引入了面向对象的程序设计思想。此时,Visual BASIC已经取得巨大成功,并逐渐成长为一种结构化的、模块化的、面向对象的、包含协助开发环境的事件驱动为机制的可视化程序设计语言
1994年,微软公司为了表彰七位杰出人士为Windows的成功而做出的巨大贡献,决定授予他们视窗先锋(Windows Pioneers)奖。被称为Visual Basic之父的阿兰·库珀(Alan Cooper)即位列其中(下图即为阿兰·库珀)。
值得一提的是,笔者有幸还是视窗先锋奖得主查尔斯·佩措尔德经典著作《编码——隐匿在计算机软硬件背后的语言》一书中文版的译者(下图即佩措尔德和他的经典著作)。
1998年6月15日,微软公司推出Visual BASIC 6.0。Visual BASIC 6.0作为Microsoft Visual Studio 6.0工具套件之一,在数据访问方面有了很大的改进,新的ADO组件让对大量数据快速访问成为可能,提供了与Oracle和SQL Server的数据库链接工具。Visual BASIC 6.0的Web开发特性可以使得开发人员以更方便、组件式的方法,开发各种HTML和动态HTML的应用程序。这些新特性,使得Visual Basic 6.0成为建立可扩展的企业级应用开发平台的理想选择。可以说,Visual Basic 6.0 在当时已经是非常成熟稳定的开发系统,也是历史上最为经典、最受欢迎的Visual Basic 版本之一。
我个人跟Visual BASIC的第二个缘分也跟Visual Basic 6.0有关。记得在学校做TA的时候,我所指导的一门课程就是”User-Centered Design and Testing“。作为介绍软件开发中的界面设计与测试方法的课程,这门课选择了绘制GUI非常方便的Visual Basic 6.0作为课程作业实现的配套工具。大约也就是在那个时候,我同步参与了《Visual Basic 6.0程序设计》一书的翻译工作(后由电子工业出版社出版)。该书英文原版的名称是《Programming with Microsoft Visual Basic 6.0》,作者是Diane Zak。
但是,似乎很多人对于Visual Basic的感观并不理想,觉得这是与实际应用离得非常遥远的一门计算机语言。觉得一般用C、C++、C#、Java和Python的情况要远远多于Visual Basic。甚至有人会怀疑Visual Basic还活着呢吗?事实上,在计算机编程语言排行榜TIOBE上Visual Basic(或者写成Visual Basic. Net)一直在十名左右的位置上。下图是2002到2013年各年度计算机语言的热度情况。可见,Visual Basic一直占有一席之地。
如果你觉得Visual Basic已经被淘汰了,那明显与事实不符。如果你觉得身边好像也没什么人在真正用Visual Basic做开发,那或许是中国软件行业中(或者仅仅是你身边)用Visual Basic比较少。但事实证明如果在从全世界范围内来看,Visual Basic的使用仍然非常广泛。即使就个人来说,在开发一些Windows系统上的小型桌面应用的话,Visual Basic绝对是最便捷、最好用的工具之一。即使是一些非计算机专业出身的人,像一些数学系、物理系的学生,如果要开发一些实用的GUI程序来帮助提升自己的工作效率,那么Visual Basic简直是不二之选。
我觉得我个人跟Visual Basic还是挺有缘分的。我所学习的第一个计算机语言就是BASIC。之前当学生时候做TA,Tutorial的课也是用Visual Basic,还参与过一本Visual Basic外版书籍的翻译,尽管我的名字并未出现在封面上(而是出现在前言中的参与者列表里)。过去也用Visual Basic开发过不少小的桌面应用程序,都觉得很好用。今年以来,我准备陆续发一个讲授Visual Basic程序开发的快捷系列教程(已经发布的内容如下),希望可以帮助更多人走进编程的世界。
[1]: Francis Sullivan, Jack Dongarra, Guest Editors’ Introduction: The Top 10 Algorithms,Computing in Science & Engineering 2000 vol. 2 Issue No. 01 - January/February
[2]: Barry A. Cipra, The Best of the 20th Century: Editors Name Top 10 Algorithms, SIAM News, Volume 33, Number 4, (原文获取链接)
[3]: Nicholas J. Higham, The Top 10 Algorithms in Applied Mathematics, (原文获取链接)
标签:science 语法 开发环境 建立 语言 界面设计 maker 其他 absolute
原文地址:http://blog.csdn.net/baimafujinji/article/details/71268148