程序设计师的迷思---工具与数据库

发表于:2007-07-04来源:作者:点击数: 标签:
绝大部份的应用软件最终结果就是将商业逻辑加上经年累月资料汇总正确的统计分析数据,但往往大部份的程序设计师迷失于各种程序语言工具中,追求的是快速开发以及炫丽的外表,大家讨论的是程序设计的技巧,但忽略了信息科技最终目的是得出正确的数字,如此而

  绝大部份的应用软件最终结果就是将商业逻辑加上经年累月资料汇总正确的统计分析数据,但往往大部份的程序设计师迷失于各种程序语言工具中,追求的是快速开发以及炫丽的外表,大家讨论的是程序设计的技巧,但忽略了信息科技最终目的是得出正确的数字,如此而已。/
  
  偏偏工具的变迁实在太快速,工具会随着作业环境而改变,从以前的DOS到Windows以及近年来甚为流行的Internet环境,这些重大改变几乎可以称得上是「大地震」,每一次的变革让不少程序设计师失业,因为重新学习的代价实在太过昂贵,即使您要处理的事情一样,依据笔者开发商用软件的经验而言,DOS下面的系统与Windows系统架构相差无几,但是能够从DOS转到Windows继续开发的设计师却不多,历经千辛万苦才升级上来,但下一个 Internet 环境紧接着而来,而未来呢?又有几个截然不同的环境会诞生,这中间的心路历程或许过来人才能真心体会。
  
  要将商业逻辑放在前端或后端,也是大家常常讨论及辩论的题目,将商业逻辑放在前端,就代表比较注重前端开发工具,我们常常可以看到某些应用系统标榜可以搭配不同种类数据库,对于使用者而言感觉有很多选择性,但这并不一定是最好的系统,因为每种数据库都有其特定的功能,如果一套应用系统可以应用在不同数据库上,那表示这套系统可能没有完全应用该数据库的特性及功能,但往往数据库中特殊的功能才是每家厂商强调的重点,否则如果数据库厂商都依循ANSI标准来做数据库,也不必有这么多家厂商来竞争,另外,就算标准的SQL语法各家发挥也略有不同,再加上如果要善用数据库的运算能力,内建程序语言的撰写也非常重要,偏偏目前各家内建程序语言都不一样,试想如果一套系统号称可以任意的衔接不同数据库,可能该系统将所有的运算逻辑全部放在前端,但这样就丧失了数据库原有强大功能。
  
  从以上讨论的几点来看,关连式数据库的演变历经二十年的演变,中间并没有很大的学习途径改变,一直都是循序渐进的发展,但是程序语言就不一样了,每一个版本及环境的改变都会让设计师付出非常大的代价学习,并且无法将全部旧有学习经验累积到新环境,例如DOS下单工处理的演变到Windows多任务、事件处理环境,再到Internet分布式处理环境都在考验设计师的学习热忱,虽然这些演变是进步的象征,不过进步的背后有着长时间的学习,有时候学习过程中突然会冒出一个全新的开发工具,可以取代您需要辛辛苦苦撰写的程序代码,就像视觉化开发工具的诞生取代传统语言或者网络上Script Language取代CGI一样,原来开发工具不需要像数据库需要这么长时间的累积,就有办法产生一个全新的设计概念,并且帮助设计师节省时间,这就证明了您目前的工具将来可能会有更便利的替代品出现,也就是说随时会有一个年轻小伙子拿着一个不知名的工具,能够打败你辛辛苦苦撰写的软件。
  
  说了这么多,那干脆去当DBA好了,这也是一个不错的主意,毕竟DBA是比程序设计师吃香,不过本文要强调,您需要的是一个数据库当做永久的后盾,而学习各种不同的工具来解决您日常工作所遇到的问题,目前市面上的语言工具何其多,真要去学习是学不完的,熟悉一种语言当然是必备技能,但单单一种工具却无法满足各种不同的问题,我们也看到市面上工具号称可以涵盖所有企业需求,但事实真是如此吗?就拿C语言来说,我想大家应该可以认同他是一个历史悠久且优良的程序语言,但是在处理有关企业应用系统时,大家往往采用的是像Fox Pro,VB,Delphi,Power Build等工具,因为这些工具虽然没有像C语言般强大,但对于处理企业逻辑方面的工作却是非常理想,又如VB,Delphi等工具也号称可以开发像网站或电子商务系统,但是目前采用ASP,PHP,JSP等工具的数量却远远超过它,甚至这些新一代工具语言才诞生短短不过数年而已,所以可以看得出来新的环境会有更便利的工具来辅助,如果您的系统要能顺应时代潮流,当然可以拿旧的有的工具来开发,但这无疑是「事半功倍」,既然外在环境变化如此快速,那您应该随时都有拋弃工具的心理准备,接受一个更为方便的开发工具,并且以数据库为「中心」。
  
  所以您需要专精一种全方位的数据库,而通才于数种工具语言,因为唯有数据库的技术及经验才能累积转换真正的技术资产,工具随时都有更方便的替代者出现或者有一个新的作业环境将之淘汰。
  
  PostgreSQL
  免费(可以由小到大项目全部包含,不用担心版权费用多寡)
  跨平台(全世界支持最多平台的数据库,可以挑选不同平台间最合适的开发工具)
  自由(Open Source的开放特性让它不停的进步,提供比其它数据库更多样化的支持)
  
  强大功能及延展性佳
  选择一套数据库确实比选工具还要重要的多,钻研一种技术以达到炉火纯青的地步才会产生价值,数据库是一门高深的学问,从规划到实作需要理论与实务并重,而PostgreSQL更是您值得依靠的选择。

原文转自:http://www.ltesting.net