作者:永不言败LM | 来源:互联网 | 2024-11-30 16:01
MarioPeshev,自1999年起从事编程工作,现任DevriX首席执行官。本文最初发布于Quora,探讨了计算机技术与编程语言的区别及其对软件开发的影响。
随着新的编程语言、框架和库不断涌现,市场呈现出广泛的多样性,其中一些技术迅速受到追捧,而大多数则难以获得广泛关注。然而,计算机技术本身的发展步伐相对缓慢。例如,台式机已存在数十年,而便携式计算机的主要区别仅在于便携性,其内部架构与传统硬件基本相同。
这意味着,20年前的软件开发者所面临的许多问题,与今天的工程师们面临的问题大同小异。虽然某些现代编程语言和库通过提供自动化工具简化了部分任务,但底层原理并未发生根本变化。
Web开发作为软件工程中最受欢迎的领域之一,其核心组件——如1995年推出的Apache Web服务器和同年出现的Internet Explorer浏览器——至今仍被广泛使用。尽管后来出现了如2004年的nginx等替代方案,以及Firefox(2002年)和Chrome(2008年)等浏览器,但这些技术的基础并未因时间的推移而变得过时。
即使考虑到近年来兴起的如Node.js等能够独立运行的技术栈(尽管通常与nginx配合使用),编程模式依然与传统软件开发相似。拥有丰富经验的开发者的生产效率远高于初学者,这主要归功于他们对计算机架构、操作系统及数据结构管理算法的深刻理解。
软件工程的核心在于利用技术解决商业问题。对于经验丰富的程序员来说,学习新的编程语言或框架不过是小菜一碟。只要积累了足够的生产代码编写经验(至少掌握几种不同的编程语言),转换至新的语言环境并非难事。
原文作者Mario Peshev自1999年起从事编程工作,现任DevriX首席执行官。本文最初发表于Quora。如需了解更多技术趋势,请访问HackerNoon.com/Quora。