RAD与non-RAD
         申 旻 2002年7月于珠海
   似乎说到Delphi,就会谈到这个话题。不错,Delphi是RAD(Rapid Application Development,快速应用开发工具)。
   VB的出现掀起了一场编程方式的革命,它带来了可视化编程,一种无数程序员所梦想的编程方式。但从此,也给人留下了这样的印象--RAD就是“搭积木”。这也让一些“高手”对RAD不屑一顾。很多初学者感觉VB好用,立刻就可以写出一个能看得上眼的程序,但在学习、使用一段时间后,便感觉无从更进一步了。于是,又责怪RAD太过于简单。甚至许多熟练的Delphi程序员都会有着类似的担心,RAD是不是难登大雅之堂?
或许,用VB进行开发,的确可以算是“搭积木”。但是,请不要认为这就是RAD的全部。而且,Delphi绝对不等同于VB!
首先,RAD是提高生产效率的工具。工具是被人们用来解决实际问题的,而不是用来炫耀或作为理论来学习的。好的工具应该可以帮助使用者快速、有效地达成目的,那么,RAD正是扮演了这样一个角色。它让你能够专注于问题的重点,用别人写好的、经过大量使用测试的现成控件按照项目的业务逻辑,组装成符合客户需要的软件产品,既保证了开发速度,又提高了质量(可以近似认为现成的控件是零bug的)。从这个意义上来说,“搭积木”的开发方式是有存在的价值的,这也是全世界程序员所梦想的“模块化”的一种形式。“搭积木”本身并没有错,RAD并没有错。
其次,RAD是工业的开发工具,不是学习工具。众所周知,RAD简单易用,初学者一接触到RAD,就仿佛找到了学习的捷径。但是,最终可能会让这些人丧气,因为简单易用的背后,是需要扎实的基础作为依托的。RAD出现的初衷就是让开发者不必考虑太多的恼人的细节,但并非不需要相关的基础理论的支持。例如,当用Delphi开发基于TCP协议的网络应用时,你不必知道TCP包的格式,但是,如果连IP地址都不知道是何物,纵使有RAD也无补于事,而且,知道得越多,在出问题时就越容易解决。RAD的简单易用只是降低了开发人员在尝试使用RAD时的学习曲线。又如,假设精通Windows环境下的SDK编程,能脱口而出所需要的Win32 API,于是,当你使用Delphi时,就不会有什么困难,至多熟悉一下VCL是如何封装这些API就可以了。如果Delphi是非常难学难懂的开发工具,你会耗费精力去用它吗?不如直接用SDK开发了。如果将掌握RAD本身作为学习目标的话,那么你注定至多只是个业余的编程爱好者而已(没有贬低爱好者的意思,只是相对于专业程序员而言)。在此,笔者有一些题外话,这就是经常可以听到有人说现在大学计算机专业学习的内容与实际需要脱节之类的话。其实如何才算不脱节呢?真的要学校教VB、VC、Delphi才算不脱节?如果真是这样的话,VB、VC、Delphi都淘汰了怎么办?那才是真正的悲哀呢。言归正传,所以,RAD不是学习的捷径,RAD是实现的利器。
最后,RAD和non-RAD是互补的。RAD和non-RAD有着不同的适合领域,拥有各自的存在原因和拥护群体,它们的存在并没有冲突,也不必人为地将它们对立起来。常可见non-RAD的使用者嘲笑RAD的使用者“低阶”,其实这些所谓“高手”只是眼高而已。使用VC的一定比使用VB的人“高阶”?项目中使用什么编程语言、开发工具,时常并不是你个人所能左右的,会受很多因素制约。例如,客户的硬件环境、操作系统环境,开发环境,开发工具的成本、许可证等,所以使用什么工具说明不了问题。况且,专业程序员不应该是忠于开发工具,而是应该忠于自己的编程理念。一个人只会说“最喜爱XX开发工具”,“最熟悉XX开发工具”,绝不会说“我是使用XX开发工具的”。所以,RAD并不等于低阶,non-RAD并不意味着高人一等。RAD和non-RAD的存在,并不冲突。个人水准的高低,也不是通过所使用的工具来表现的。
很多刚入门的编程爱好者,摆弄了几天VB或Delphi或C++Builder,拖拉几个控件弄出个EXE之后,便宣称自己已经学会了编程,这就有些盲目了。这也是为什么RAD会被人误会的原因之一。不可否认,RAD的出现,使得编程的门槛变低了。但是,入了门槛并不等于都掌握了,程序设计本身是一门博大精深的学问,做学问最重要的就是严谨、踏实。
   另外,虽然Borland一直宣称Delphi是RAD,但其实完全可以把Delphi 当作non-RAD的开发工具来用(即纯Object Pascal编译器),这也是其提供的自由度的一个表现吧!

RAD与non-RAD相关推荐

  1. 服务器硬盘rad技术,服务器硬盘RAD选用.doc

    服务器硬盘RAD选用 服务器硬盘RAID选用一.?常用硬盘类型简介 目前常用硬盘分为IDE.SATA.SCSI几种,最大的区分的就是接口上的不同.服务器上一般采用后面两种:SATA和SCSI,也有DI ...

  2. rad+xray漏洞扫描工具

    rad全名 Radium rad也为长亭科技开发的一款目录爬取工具, 所以结合rad可以更高效的自动爬取.注意rad只是爬取目标的目录,不爬取子域. 下载地址 https://github.com/c ...

  3. 动画产业基础学习教程 Rad How to Class – Animation Industry Fundamentals

    如何分类--动画产业基础 大小解压后:6.2G 含课程素材 1920X1080 mp4 语言:英语+中英文字幕(根据原英文字幕机译更准确) 信息: 绘画技巧.解剖学.角色设计.透视和整体讲故事--这门 ...

  4. 详解.NET的RAD功能

    作者:中国计算机报 Visual Studio.NET 拥有开发者建立一个成功而强大的中间层应用服务所需要的所有开发工具,利用这些工具,开发者可以: 1.保障消息传播和利用微软消息队列(MSMQ)跨平 ...

  5. 彻底卸载 RAD Studio 2009/2010/XE+ 的步骤

    彻底卸载 RAD Studio 2009/2010/XE+ 的步骤

  6. RAD Studio XE2/XE3 官方 ISO 下载地址 (2012-09-05更新)

    RAD Studio XE2 v16.0.4265.43595 官方 ISO 文件下载(2.33GB): http://altd.embarcadero.com/download/radstudio/ ...

  7. Ext RAD开发工具预览

    Ext官方网站在10月8日放出了RAD开发工具的预览视频: http://www.extjs.com/blog/2009/10/08/ext-js-designer-preview/ 从视频上看,开发 ...

  8. RAD Studio (Delphi) Firemonkey 教程

    RAD Studio (Delphi) Firemonkey 教程 转载于:https://www.cnblogs.com/LittleTiger/p/6389256.html

  9. ASP.NET 快乐建站系列–2. Rad Controls 简介

    今年一月份,我发布了本系列第一篇ASP.NET 快乐建站系列 -- 1. 十五分钟建立精美网站,(汗!七个月过去了-)我没有继续这个系列的原因是Sitefinity发布了最新的版本 Sitefinit ...

  10. c++ builder xe2 (Embarcadero rad studio) 远程调试 同样适用于 delphi 远程调试 教程

    c++ builder xe2 (Embarcadero rad studio) 远程调试 同样适用于 delphi 远程调试 教程 转载于:https://www.cnblogs.com/Littl ...

最新文章

  1. 新生选课系统使用指南
  2. C# try与finally(WinForm、Asp.Net)
  3. Asp.NET获取文件及其路径
  4. 建议收藏!一文走遍机器学习的6个主流模型
  5. python通讯录管理程序的用户可行性_通讯录管理系统项目可行性分析
  6. boost::geometry::strategy::distance::pythagoras_point_box用法的测试程序
  7. 笔记本平板电脑推荐_ONETALK 亦说便携式平板电脑推荐
  8. cmd输入net start mysql提示:服务名无效(解决方案笔记)
  9. React开发(247):react项目理解 学会debugger
  10. linux命令we,Linux 命令执行过程
  11. 2020 cr节目源_直播源2020-10-10
  12. 群晖Docker部署Calibre Web打造全功能书库
  13. Arduino学习笔记(2)-- Arduino基本函数
  14. 《哈佛通识教育红皮书》 哈佛委员会著
  15. HEVC: I帧、P帧及B帧
  16. Android 贝塞尔曲线实战之网易云音乐鲸云特效,2021程序员进阶宝典
  17. 【Vue系列】vuex详解,一篇彻底搞懂vuex
  18. SEED-XDS560v2 驱动
  19. 屏蔽北京IP 外地正整打开
  20. i5功耗最低的cpu_i7一定比i5强?未必!电脑CPU套路深,你中招了吗?

热门文章

  1. 无法将mysql服务器连接到_无法从java连接到mysql服务器
  2. Photoshop和WPF双剑配合,打造炫酷个性的进度条控件
  3. 三维点云学习(1)上-PCA主成分分析 法向量估计
  4. 电脑linux下载官网下载,Bluestar Linux
  5. 在Java中编写实现_在运行时编写和实现新的Java类文件
  6. Mac 上制作 SSL 证书
  7. centos8对外开发指定接口
  8. 中国古代道家思想与网页重构的思考
  9. Tapestry5中的DI
  10. 腾讯QQ2010安装时提示“C:\windows\Installer\QQ2010.msi时发生网络错误”的解决方 ......