技术开发 频道

软件开发领域那些经典的技术之争

  【IT168 技术】无论大家是否认同二元论在人类思维与社会形成当中所扮演的重要角色以及基础性地位,这种“非黑即白”的审视角度已经成为我们日常生活当中组织定义的重要手段之一:共产主义与资本主义、咸党与甜党、足球运动中的转球与带球。环视我们身边,每一种事物似乎都被锁定在一场与其对立面的永恒对抗当中,而这也让我们能够随时随地对自己的的喜好或者选择进行分析以及决断。

PHP对Node.js

  这种思维方式在计算机技术领域的作用则更为明显——二者选其一,众多各有所长的方案在努力争夺我们的感性支持、理性支持以及口袋里的钞票——这些技术成果往往牢牢坚守着自己的差异化设计思路,进而导致用户很难从中找到万全的决策结论。如果一边标榜自身是X,那么另一边则常常会以“非X”自居并将此作为核心卖点。双方阵营的拥护者开始纷纷站队,并向对立阵营的成员们大加嘲讽或者拉拢。如果没有这些争斗、没有由此带来的激烈辩论与两难选择,两套方案可能早就已经合而为一、并成为用户没有选择中的最好选择。然而缺少了这种多样性,创新活动将受到严重束缚、我们的世界也不可能如此丰富多彩。

  在今天的文章中,我们将了解开发人员们最感兴趣的十大二选一难题。每当一个新项目火热出炉,我们都需要面对隐藏在其差异化技术实施机制之下的本质性问题。我们到底更倾向于简便还是正确?更喜爱开源体系还是商业支持?成熟框架还是空白但无拘无束?正如阴阳对立但又彼此依存,相信对这些问题的探讨能够帮助企业开发人员在面临取舍难题时作出更为明智的判断。

  开发技术之争第一位:PHP对Node.js

  作为一款从未受到计算机科学家青睐的语言,PHP受到想为自身网站增添一点智能元素的开发人员的热烈追捧。这些包含激情的技术人员为我们带来了众多令人赞赏的框架,例如WordPress、Drupal以及Joomla等等。时至今日,大多数Web内容都由PHP所构建。

  现在这套已经相当成熟的模式面临着新的挑战者。刚刚入门的新人们更推崇Node.js,这是一套基于JavaScript的服务器端编程机制。几乎在一夜之间,程序员们已经可以编写出有能力运行在客户端或者服务器端的代码,而且根本不需要额外再学习一门新语言。

  Node.js拥有自己的独特风格,但众多出色的现有框架已经能够使其获得可与各类非常好的PHP堆栈相比肩的功能特性。下一代开发人员是否会出于编写便捷性考量而选择且只选择JavaScript?又或者,他们会继续坚持使用更易于嵌入至HTML当中的编码方式?很明显,原本喜爱JavaScript的开发人员会毫不犹豫地投身于Node怀抱,而希望使用WordPress或者Drupal等源自PHP的稳定堆栈的从业者则将与这场Node.js普及风暴谨慎地保持距离。

  开发技术之争第二位: MySQL对PostgreSQL

  在过去近二十年当中,这两款堪称伟大的开源数据库方案一直在争斗不休、而且时至今日我们也看不到双方握手言和的可能性。在一方面,MySQL在Web基础工作负载领域拥有无可匹敌的巨大份额占比,这要归功于其简便易行的安装与配置机制。而在另一方面,PostgreSQL长久以来则始终承诺提供更理想的事务处理机制、从而保护数据免受潜在漏洞的威胁。这两位重量级选手都在向对方学习优势与长处,现在MySQL已经拥有更出色的事务处理功能、而PostgreSQL也对自身的初次启动流程进行了大刀阔斧的精简。

  不过历史的惯性仍然推动着二者在当下保持着对立关系。PostgreSQL通常被视为更具“稳定性”的解决方案,而MySQL的长处则在于“快捷性”。不过平心而论,这两种差异如今更多地反映在固有印象而非实际表现层面。所谓积重难返,这两套软件包可能还将在未来二十年中继续这种激烈的对抗,而杰出的技术大牛与甲骨文反对者们的鼎力支持似乎让PostgreSQL拥有更为顺遂的发展前景。

2
相关文章