程序设计师的迷思---工具与数据库
作者:qa32qw51 | 来源:互联网 | 2017-06-26 01:57
文章标题:程序设计师的迷思---工具与数据库。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更是您值得依靠的选择。
推荐阅读
本文详细介绍了Git分布式版本控制系统中远程仓库的概念和操作方法。通过具体案例,帮助读者更好地理解和掌握如何高效管理代码库。 ...
[详细]
蜡笔小新 2024-12-25 18:30:21
1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ...
[详细]
蜡笔小新 2024-12-27 19:32:17
本文将深入探讨PHP编程语言的基本概念,并解释PHP概念股的含义。通过详细解析,帮助读者理解PHP在Web开发和股票市场中的重要性。 ...
[详细]
蜡笔小新 2024-12-25 15:02:45
尽管商业智能(BI)工具在中国的普及程度尚不及国际市场,但近年来,随着本土企业的持续创新和市场推广,国内主流BI工具正逐渐崭露头角。面对国际品牌如Tableau的强大竞争,国内BI工具通过不断优化产品和技术,赢得了越来越多用户的认可。 ...
[详细]
蜡笔小新 2024-12-28 11:12:44
本文详细分析了JSP(JavaServer Pages)技术的主要优点和缺点,帮助开发者更好地理解其适用场景及潜在挑战。JSP作为一种服务器端技术,广泛应用于Web开发中。 ...
[详细]
蜡笔小新 2024-12-28 11:00:33
本文详细介绍了如何在 Linux 平台上安装和配置 PostgreSQL 数据库。通过访问官方资源并遵循特定的操作步骤,用户可以在不同发行版(如 Ubuntu 和 Red Hat)上顺利完成 PostgreSQL 的安装。 ...
[详细]
蜡笔小新 2024-12-27 03:46:27
在使用SQL Server进行动态SQL查询时,如果遇到LIKE语句无法正确返回预期结果的情况,通常是因为参数传递方式不当。本文将详细探讨这一问题,并提供解决方案及相关的技术背景。 ...
[详细]
蜡笔小新 2024-12-26 17:02:33
本文详细探讨了MySQL的缓存机制,包括主从复制、读写分离以及缓存同步策略等内容。通过理解这些概念和技术,读者可以更好地优化数据库性能。 ...
[详细]
蜡笔小新 2024-12-26 15:15:06
网络运维工程师负责确保企业IT基础设施的稳定运行,保障业务连续性和数据安全。他们需要具备多种技能,包括搭建和维护网络环境、监控系统性能、处理突发事件等。本文将探讨网络运维工程师的职业前景及其平均薪酬水平。 ...
[详细]
蜡笔小新 2024-12-26 14:35:04
本文详细介绍了如何在不同场景下进行 MySQL 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ...
[详细]
蜡笔小新 2024-12-26 13:21:38
本文详细介绍了Hadoop的基础知识及其核心组件,包括HDFS、MapReduce和YARN。通过本文,读者可以全面了解Hadoop的生态系统及应用场景。 ...
[详细]
蜡笔小新 2024-12-26 13:12:48
根据最新发布的《互联网人才趋势报告》,尽管大量IT从业者已转向Python开发,但随着人工智能和大数据领域的迅猛发展,仍存在巨大的人才缺口。本文将详细介绍如何使用Python编写一个简单的爬虫程序,并提供完整的代码示例。 ...
[详细]
蜡笔小新 2024-12-26 10:42:40
本文详细介绍了 MySQL 中 LAST_INSERT_ID() 函数的使用方法及其工作原理,包括如何获取最后一个插入记录的自增 ID、多行插入时的行为以及在不同客户端环境下的表现。 ...
[详细]
蜡笔小新 2024-12-25 22:04:04
本文深入探讨了MySQL中的索引机制,包括索引的基本概念、优势与劣势、分类及其实现原理,并详细介绍了索引的使用场景和优化技巧。通过具体示例,帮助读者更好地理解和应用索引以提升数据库性能。 ...
[详细]
蜡笔小新 2024-12-25 19:52:47
本文探讨了MariaDB在当前数据库市场中的地位和挑战,分析其可能面临的困境,并提出了对未来发展的几点看法。 ...
[详细]
蜡笔小新 2024-12-25 18:20:32