热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

文章标题:程序设计师的迷思---工具与数据库。Linux是中国IT实验室的一个技术频道。包含桌面应用,Linux系统管理,内核研究,嵌入式系统和开源等一些基本分类

  绝大部份的应用软件最终结果就是将商业逻辑加上经年累月资料汇总正确的统计分析数据,但往往大部份的程序设计师迷失于各种程序语言工具中,追求的是快速开发以及炫丽的外表,大家讨论的是程序设计的技巧,但忽略了信息科技最终目的是得出正确的数字,如此而已。/
  
  偏偏工具的变迁实在太快速,工具会随着作业环境而改变,从以前的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更是您值得依靠的选择。
推荐阅读
  • 一、数据更新操作DML语法中主要包括两个内容:查询与更新,更新主要包括:增加数据、修改数据、删除数据。其中这些操作是离不开查询的。1、增加数据语法:INSERTINTO表名称[(字 ... [详细]
  • SQL注入实验:SqliLabs第38至45关解析
    本文深入探讨了SqliLabs项目中的第38至45关,重点讲解了堆叠注入(Stacked Queries)的应用技巧及防御策略。通过实际案例分析,帮助读者理解如何利用和防范此类SQL注入攻击。 ... [详细]
  • KKCMS代码审计初探
    本文主要介绍了KKCMS的安装过程及其基本功能,重点分析了该系统中存在的验证码重用、SQL注入及XSS等安全问题。适合初学者作为入门指南。 ... [详细]
  • 本文通过具体示例探讨了在 C++ 中使用 extern "C" 的重要性及其作用,特别是如何影响编译后的对象文件中的符号名称。 ... [详细]
  • 本文详细探讨了 Java 中 Daemon 线程的特点及其应用场景,并深入分析了 Random 类的源代码,帮助开发者更好地理解和使用这些核心组件。 ... [详细]
  • 本文档详细介绍了服务器与应用系统迁移的策略与实施步骤。迁移不仅涉及数据的转移,还包括环境配置、应用兼容性测试等多个方面,旨在确保迁移过程的顺利进行及迁移后的系统稳定运行。 ... [详细]
  • scrapyredis分布式爬虫 ... [详细]
  • 深入浅出:Java面向对象编程
    本文详细介绍了Java语言的核心特性——面向对象编程。探讨了Java的基本概念、平台无关性、丰富的内置类库及安全性,同时深入解析了类加载器、垃圾回收机制以及基本数据类型和其包装类。 ... [详细]
  • 本文旨在分享将Hadoop集群从Windows环境迁移到Linux环境过程中遇到的技术难题及其解决方案,以帮助同行或未来的学习者避免类似问题。 ... [详细]
  • CentOS系统下设置JDK环境变量的方法
    本文将详细介绍如何在CentOS系统中为root用户配置JDK环境变量。包括JDK的安装路径设定、环境变量的添加及验证方法。 ... [详细]
  • 本文详细探讨了在Windows Server 2003环境下遇到MySQL连接失败(错误代码10061)的解决方案,包括通过卸载特定的Windows更新和调整系统注册表设置的方法。 ... [详细]
  • mysql 分库分表策略_【数据库】分库分表策略
    关系型数据库本身比较容易成为系统瓶颈,单机存储容量、连接数、处理能力都有限。当单表的数据量达到1000W或100G以后,由于查询维度较多, ... [详细]
  • 解析程序员与软件工程师的角色差异
    本文深入探讨了程序员与软件工程师之间的主要区别,包括它们的职业定位、技能要求以及工作内容等方面的不同,旨在帮助读者更好地理解这两个角色的特点。 ... [详细]
  • 开发笔记:新手DVWACSRF
    开发笔记:新手DVWACSRF ... [详细]
  • PHPFORMYSQL代码生成助手(根据Mysql里的字段自动生成类文件的)_PHP教程:根据Mysql里的字段自动生成类文件:但需要导入:require_once.dbez_sq ... [详细]
author-avatar
qa32qw51
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有