Easy C Studio 说明
C语言是一种高级编程语言,也有人把它归为“中级”语言一类,因为他具有一些一般高级语言没有而只有汇编具备的东西。由于C语言简明、强大,曾用于系统软件的开发。虽然现在C语言已经不再是主要的开发语言,但现在主流的C++、Java都是在C语言的基础上发展起来的。几乎所有计算机相关专业人员都必须熟练的掌握C语言,几乎所有的理工科学生,都需要学习C语言。C语言的重要性可见一斑。
C语言是很重要的计算机基础课程,却有很多人学不好C语言。甚至有人厌恶这种非常美妙的语言。进而导致在学习需要C语言基础的其他课程时倍感吃力,导致学不好计算机相关的课程。这个危害是很大的,就像小学生学不好数学一样。然而学不好C语言,却有许多原因。
(Turbo C 2.0主界面)
学不好C语言的原因,有主观上的与客观上的,我们这里主要说说客观原因。
首先,学生基础的原因。虽然C语言是简明的,并不复杂,但学好C语言本身不是一件容易的事情,确切的来说,对于初学者,学任何一门计算机语言都是不容易的。目前中学的计算机普及性教育还不到位,绝大多数人在进入高校之前,能够熟练使用操作系统已经是不容易了,而接触过程序设计的人则更是少之又少。大家对计算机语言非常的陌生,要在短时间内熟悉并掌握它是困难的。
其二,开发环境的原因。目前国内高等院校开设C语言课程,一般使用Turbo C
2.(简称TC)作为程序设计环境。TC2是基于DOS操作系统的开发工具,不同于大家熟悉的具有图形用户界面的Windows操作系统。在TC环境下对源代码的编辑是不方便的,缺少鼠标、缺少方便快捷的复制粘贴与块操作功能使得编程效率难以提高,而TC环境的不友好也直接影响了初学者编程的兴趣。另外,TC对于编写代码没有导引功能,也没有关键字提示和语法提示,甚至在编译失败时的提示也非常含糊,使得大家往往花最多的时间在调试程序上,在检查语法错误上,这是不划算的。
其三,教学的原因。大多数高校开C语言课程,都是学上一个学期的,约70课时。这70课时均用于讲解C语法部分与少量的算法。很多学生是抱着C语言无所不能的想法来上课的,但却往往失望。C语言的确是无所不能的,但是就所开课程中学习的部分,仅仅只是对C语言最初步的了解,根本谈不上用C语言进行程序设计。而这最初步的了解却花掉了学生一个学期的时间,大家很难不失望。
其四,学习成果的原因。大家学完一个学期的C语言课程后,所能编写的无非是简单的小程序。极少数学校要求学生编写一些稍微复杂些的应用程序或者小游戏。大家苦学一学期后,发现所得的学习成果仅仅是命令行程序,仅仅是求{zd0}最小值、对数组的排序……往往倍感失望。当C语言结课后,几乎没人愿意再碰它了。
综合上述原因,学不好C语言的客观原因主要来自于使用的C语言开发环境和教学方式,要改善C语言的学习,也要从这方面入手。
针对上述学不好C语言的原因,我们设计了Easy C。
(Easy C 主界面)
最初设计Easy
C只是为了在我们学习C语言时,对付经常犯的语法错误,例如忘记换行符等等,而想制作一个C语言开发环境,具有语法提示功能。在学习了一段时间C语言,也在对计算机语言有了一点初步的认识后,发现所有的计算机语言呈现树形结构,即某些语句可以构成一个段落,而一些段落又构成一个函数。而且,语句也仅仅是屈指可数的几种,段落也具有特定的格式,因此想制作一套“代码生成工具”,通过简单的鼠标操作来进行简单的程序设计,于是有了Easy
C的{dy}个版本(Easy C SourceCode Creator)
{dy}个版本的Easy
C具有通过鼠标点选来生成C语言代码的基础功能。将所有的C语言语句和段落分为几类,诸如For循环、输入输出语句等等。用Easy
C生成的代码呈现出很强的树形结构,一个程序下属多个函数,而函数又下属段落,再下属语句。通过Easy
C生成的代码,不存在语法错误的问题,于是大家可以将更多的精力放在程序设计上,而不在程序调试上。之后的Easy
C版本,都沿袭了这一基础功能。
(Easy C对象浏览器界面)
之后我们设计了Easy C的两个版本,Easy C Share Edition与Easy C Professional
Edition。
Share Edition作为Easy
C的最简易版本在Internet上发布,功能和最初的版本无甚区别。而Professional
Edition则加入了更多辅助性功能,诸如基于解释执行模块的调试器和虚拟机,以及基于Microsoft
Agent的开发助手,还有支持可视化设计的图形设计器。而现在展现在大家面前的是一个特别版(SE),具有所有Professional
Edition所具有的功能外,有着更为细致的导引功能和调试信息,以及更加友好的开发界面。
Easy C的产生由来,主要针对于初学者难以在短时间内掌握C语言的各种特殊原因。Easy C
Studio的功能,包括向导生成代码、结构化程序视图、可视化图形设计、虚拟调试运行等等,初学者使用Easy C
Studio,可以通过友好的鼠标点选操作来生成代码与学习代码,有一定程度的人也可以使用Easy C
Studio进行开发与调试。Easy C Studio定位于供初学者或教学者使用的辅助工具,较之Turbo
C有更友好、直观、层次结构清楚、编程快速的优点。并且,它和 Turbo C是xx兼容的,也可以说是基于Turbo
C之上的,它所生成的代码,是符合Turbo C标准的。
(Easy C可视化设计器界面)
Easy
C较之传统的开发环境来说,应该是很有特色的,或者说它已经不能算作开发环境了,而只是辅助工具。这特色主要在于结构化的程序组织上、无需编写代码而进行程序设计上、解释执行与虚拟调试上等等。几乎没有一种语言、开发环境或者工具能实现让开发者仅仅点选鼠标或进行非常有限的键盘录入来编程,也没有什么工具能够导引用户到每一个语句的编写上。当然,这样一种工具可能过于“傻瓜”化了,但是使用它来充当学习或教学辅助工具是很不错的选择。
详细来说,和Turbo C相比,Easy C Studio具有以下优点:
1、 编程导引功能,这是TC所没有的功能,而Easy
C对于使用者的导引则细致到每一条语句的编写上。另外开发助手(Agent)的提示也是非常有助于程序设计的。
2、
Windows图形界面。TC是DOS环境下的开发工具,其界面非常不友好,在TC上进行程序设计,使用粘贴复制和块操作非常的不方便。而且TC没有对鼠标的支持,也不符合现代用户的使用习惯。Easy
C是运行在Windows环境下的工具,具有友好的图形界面,支持鼠标操作,使得用户编程更加方便。
3、 细致的调试信息提示。虽然Turbo
C具有编译信息提示,但是这些提示过于简单,对于初学者的指导是很不够的。而Easy C的提示则丰富的多,加上Easy
C本身层次化的结构,使用者可以很容易的找出自己的程序有什么问题,也能避免很多因为粗心所犯的错误。
4、
运行时调试功能。TC的调试信息仅仅在编译期出现,而在运行期几乎没有错误信息提示,即使有也只是提示了错误的类型而不能提示错误的位置。Easy
C的调试功能是整合在虚拟机内的,是一个简单的解释执行模块,因此可以提示出错误类型以及错误出现的位置,这是TC所没有的运行时调试功能。
(Easy C虚拟机界面)
5、
可视化图形设计。TC本身的界面不友好,它所编写出的程序也没有友好的界面。如果使用者想编写具有图形用户界面的程序,例如小游戏,则必须具备非常好的“图形想象能力”,必须先写好生成图形的程序,编译运行后才能看到自己设计的结果,才能进行修改和完善,这是很不方便的。Easy
C Studio的Professional
Edition或更高级版本包含一个简易的图形设计器,可以做到可视化的设计一个图形,并将可视化设计的结果保存为一个函数,在主开发环境中调用。这也是TC所不具有的功能。
上述几点是和Turbo C所比较的特色与优势,而和其他辅助工具相比,Easy C也是独树一帜的。目前针对Turbo
C或者标准C的辅助工具有很多,大多数工具的主要功能是语法着色。而各种工具对使用者编程导引,一般以“程序模版”的形式提供,而Easy
C的导引是细致到每个语句的。另外,各种辅助工具都是调用的TC编译器来编译、调试程序,难得有个别工具具有自己的错误检查功能。而Easy
C支持两种方式的调试,一种是调用TC的,另一种是基于解释执行模块(虚拟机)的,虚拟机运行时调试是其他任何一种C语言辅助工具所不具有的功能。{zh1},Easy
C的可视化图形设计工具也是一个亮点,“所见即所得”的开发工具目前有很多,但没有为TC设计的,而且大多数可视化设计是用于“窗口”或数据库视图,和Easy
C的可视化图形设计工具的功能xx不同。
Easy C设计之初是定位于初学者学习或教学使用的,这一基本特点一直保留在Easy
C的各个版本中。较高版本中提供的可视化图形设计、解释执行模块(虚拟机)等等功能却不xx于初学者使用,有一定程度的人可以使用虚拟机来调试程序,甚至资深开发人员也可以使用图形设计器来辅助其应用程序的开发。
此外,Easy C的应用和发展前景是非常丰富的。我们可以使用Easy C制作小课件用于多媒体教学,用Easy
C制作课件具有非常高的可定制性,因为使用者可以像普通程序设计一样处理到任何一个细节;我们可以增强虚拟机的多媒体能力并把虚拟机部署到Internet上,嵌入到Web中,这就和Flash或Java
Applet有着类似的功能;甚至可以修改Easy C的极少地方使其支持其他语言代码的生成,如Pascal等。
虽然Easy C和同类工具相比有很多的特色优势,但也有很多的不足。例如
1、 虽然利用Easy
C生成的源代码符合C语言程序设计规范,但却不符合代码书写规范,即没有工整的缩进和空行,也没有相关的注释。
2、 目前Easy
C实现的是通过组织框架生成代码,来实现对初学者的导引和对教学的辅助,但是不能通过代码还原为组织框架。这是Easy
C使用上的局限。我们正在设法突破这一局限,如果可以实现代码还原框架的功能,那么Easy Cxx可以取代Turbo
C成为一种名副其实的开发环境。
3、
图形设计器的操作不够友好。目前图形设计器虽然做到了可视化,能很大程度提高图形程序的开发效率,但其操作依然不够友好。我们正致力于新的图形设计器操作模式探索,希望图形设计器能够像画图版一样方便易用。
我们始终在试图完善这些不足,目前功能上的瑕疵或缺陷,会在今后的版本中得到改善或解决。而我们所期望的Easy
C,能在保留现有特色的基础上逐渐专业化,逐渐能成为可以取代TC的开发、学习、教学环境。也希望Easy
C能够应用到包括课件制作、多媒体制作以及网络应用中,这些都是xx可以做到的。
以上内容描述了Easy C的功能特色、应用领域,也对其不足之处和更新方向展望作了说明。我们希望Easy C
Studio有美好的前景,希望它能帮助使用者快速的学习C语言,快速的进行程序设计;也希望它能应用到更多的领域中去,给用户带去更多的方便。
附:展示用光盘一张,标签为Easy C Studio,内含
1、 Easy C Studio Special Edition
安装包和简要安装说明
2、 Easy C Studio Special Edition
序列号生成工具(用于生成xx序列号)
(注:Easy C Studio是xx免费的,此处要求的序列号也可以免费获得,仅仅为了我们了解用户使用Easy
C的情况而设置。)
3、 Easy C Studio源代码,仅供挑战杯评审使用,请勿泄露。
4、 相关演示(屏幕录像),如果不能播放请安装Windows Media Player
9或以上版本,在附加工具目录中有其安装文件。
a)
基础操作演示,编写Hello World程序。
b)
求{zd0}值程序演示,展示良好的代码打包复用功能。
c)
做除法,展示解释执行运行期调试功能。
d)
展示可视化图形设计器。
e)
展示虚拟机功能。
5、 附加工具。