首页 > 编程语言 >【译】编程语言未来十年

【译】编程语言未来十年

时间:2024-11-07 10:49:24浏览次数:5  
标签:TypeScript Java 语言 编程语言 Python 十年 未来 Rust

插图由作者使用 Apple Freeform 制作。徽标由(从左到右)提供:Rust Foundation、Public Domain、Mark Anderson、Jeremy Kratz、python.org

软件工程师有两种:一种是关心编程语言的,一种是不关心编程语言的。如果你问我,这两组人都说不上对错。前者关心的是使用尖端技术的项目,后者更关心的是坚持久经考验的技术。没有理由能说服我这两组人谁采取了错误的职业策略。话虽如此,无论你如何开始你的编程生涯,关注语言的发展没有害处。我倾向于后者,但我发现自己足够好奇,偶尔会查看各种编程语言的趋势并得出相关结论。Tiobe 指数是我了解此类趋势的可靠来源之一,今年 10 月的数据值得仔细研究。

2024年10月的Tiobe指数。作者截图。

唯一不变的就是变化。软件工程的格局总是瞬息万变。话虽如此,变化也不是一夜之间发生的。没有流行度指数可以改变这一点,也不应该助长任何炒作或悲观情绪。据称,PHP 已经“死亡”了大约十年,而 TypeScript 是自火以来最伟大的发明。显然,这两种说法都没有被证明是正确的。

编程语言不会突然出现和消失。它们也会存在一段时间。记住这一点。

也许最(不)令人惊讶的是 Python 占据了第一的位置。坦率地说,虽然主流媒体似乎对 Python 迅速升至第一感到惊讶,但这并不是什么新鲜事。C# 可能在 2023 年赢得了“年度语言”,但由于 AI 仍处于炒作阶段,Python 的受欢迎程度必将再次疯狂飙升。实际上,它一直占据语言排行榜前五名之一的位置。虽然我经常被视为人工智能怀疑论者,但这种对 Python 的新发现的普遍热爱再次证明了我和很多人已经说了很长一段时间的话 —— 生成式人工智能仍然只是机器学习,机器学习并不是什么新鲜事。我记得 10 多年前我研究过人机交互,Python 也因此而享受到了非常类似的人气飙升。

我认为这里更有用的是,Python 是一种多用途语言,所以如果你是编程新手,它是一个很好的入门语言——虽然它肯定不是我个人最喜欢的。如果你已经是一位经验丰富的 Python 工程师,那么这证明你走在正确的道路上,而且在职业方面你已经做好了一切准备,你甚至不必想知道还有什么其他选择。

除了 Python,榜单上还有另一种有趣的语言,那就是 PHP。虽然人们一直认为 PHP 已经过时了,但它仍然为大多数网络提供支持。当然,自去年以来,它在排行榜上的排名已经下降了不少,但当它与 Swift(第 20 名)和 Rust(第 13 名)等语言竞争时,仍然跻身前 20 名语言之列绝非易事。

PHP 开发人员不会有任何危险。它仍然是一种非常好的语言,即使对于新手来说也是如此。

但说到 Rust,不可否认它正处于上升轨道。它非常受欢迎,甚至超过了 PHP 和 Ruby。就我个人而言,我既不支持也不反对这种语言。不过,我确实希望它不要那么夸张,因为它经常让人感觉是被虔诚地推崇为构建软件产品的选择,而不是务实地推崇为一种选择——这从来都不是一件好事。用 Rust 重建一切绝对是浪费资源和时间。我们许多高级工程师都知道,简单地用一种新语言重建某些东西并不能改善它,甚至通常会带来新的问题。当然,这并不是说你应该忽视 Rust。相反,如果可以的话,也许你应该关注 Rust 而不是 TypeScript,这让我想到了下一个观点。

对于一种被誉为比工业革命更具变革性的语言,TypeScript 似乎年复一年地没有得到它的铁杆粉丝们的认可。它排在第 37 位,离排行榜还差得很远,它必须上升 32 位才能取代 JavaScript 的第 6 位。听着,我并不讨厌 TypeScript,我几乎每天都在工作中使用它。我看不出它有什么价值,尤其是现代 JavaScript 可以完成很多 TypeScript 被发明出来时的功能,但我并不介意承担 TypeScript 项目。对我来说,成本效益比不合理,尤其是在前端。

在我工作了五年之后,我不再关心编程语言。我更关心如何打造成功的软件产品。

多年后,这种情绪仍然没有改变,因此,如果我要做出务实的选择,即哪种语言能让我在未来打造出更成功的产品,我不会选择 TypeScript,而是选择 Rust。我甚至怀疑 TypeScript 人气的下降实际上可以直接归因于 Rust 的兴起。这只是一种理论。你怎么看?

说到冉冉升起的新星,另一个让我感到内心暖洋洋的就是看到 COBOL 排在第 19 位。对于如此古老的语言来说,这相当令人印象深刻。你能相信它比 Swift 更受欢迎吗?而且 Swift 背后有苹果万亿美元的实力。话虽如此,看到 COBOL 表现如此出色并不完全令人惊讶。虽然它可能在 65 年前首次出现,但它在 2002 年进行了重大更新,成为面向对象。许多政府、行政和商业系统都运行在 COBOL 上,这些都需要维护。自 2002 年以来,它一直在定期进行较小的更新,最新版本是 COBOL 2023,甚至允许异步消息传递!我不会向新程序员推荐它,但那些资深程序员可能会考虑尝试一下,特别是如果他们所在地区有 COBOL 工作,并且他们愿意通勤到办公室。虽然并非所有人都将此作为要求,并且从技术上讲,有人可能会认为甚至不应该有这样的要求,但许多 COBOL 工作意味着你必须在办公室工作。

咣咣咣。谁啊?长时间的沉默……是我,Java。

多年来,另一种被许多人过早视为垂死语言的语言是 Java,但你猜怎么着?它只会越来越受欢迎。它现在排在 Python 和 C++ 之后的第三位。Mike Melanson 写了一篇关于 Java 现状和部分历史的优秀文章,所以读一读,你会学到比我一段话所能塞进的还要多的东西。不过,正如他在 2022 年所说的那样,它的中心思想是:

Java 诞生近 30 年后,您可能会认为该语言已经出现了一些衰退迹象,但事实并非如此。2022 年的 Java 并非一种衰落的语言,而是一种为软件开发的蓬勃发展的未来做准备的语言。

显然,许多企业、开发人员和开源项目都高度依赖和鼓励使用 Java 语言。2010 年代中期,Java 领域确实取得了不错的创新,因此我认为 Java 语言在很长一段时间内都不会消失。事实上,我对 Java 的光明前景的信心与对 Python 的信心一样坚定。

最后,您可能会认为 Scratch 是一种“不是为了正经编程”的语言,但它出现在 Tiobe 指数上并非毫无原因,我很高兴看到它仍然在排行榜上——尽管排在第 14 位。在孩子的早期生活中教授编码、编程、培养这些技能是非常宝贵的。我在二十五六岁时学习哈佛 CS50 课程时发现了 Scratch,即便如此,我仍然觉得它很迷人,是编程之旅的绝佳第一步。这是一个好兆头,尤其是在一个将生成式人工智能炒作成“码农杀手”的世界里。

展望未来十年
十年是一段很长的时间,但如果你看看 Tiobe 指数,你很快就会意识到,编程并没有像有些人认为的那样发生太大的变化。即使快速浏览一下,你也会发现除了 Rust 之外,所有其他语言要么刚刚起步,要么在 10 年前就已经很流行了。

我认为未来十年大有可为的语言有 JavaScript、Python、Java、C 的所有“变体”、PHP 甚至 Swift,因为我也不认为苹果会有什么变化。至于其他语言,就像我之前说的,编程语言不会来来去去,它们会存在一段时间。这段时间足以让你练就扎实的编程能力,开始更少地关注语言本身,而更多地关注用它们构建的东西。

以 Ruby 为例。它不久前就失宠了,但仍然存在。当然,我刚刚将数十个用 Ruby 编写的端到端测试迁移到基于 Java 的框架,但做出这一决定完全是因为不想让代码用我们公司不熟悉的语言编写。更注重 Ruby 和 Ruby-on-Rails 的企业可能会不惜一切代价,让他们的 Cucumber 测试用 Ruby 而不是 JavaScript 编写。

这里的底线基本保持不变。许多语言之所以能存在很长时间,是因为我们已经对它们进行了投资,而且很多时候你真的不需要修复没有坏的东西。

当然,这并不能阻止新语言的出现和取代一些旧语言,而且总会有新企业加入这股潮流并投资于它们。这完全正常。从宏观上看,语言在 Tiobe 指数排行榜或任何其他流行指数上的上升和下降意义不大,尤其是对经验丰富的工程师而言。

对于其他人,我会建议我一贯的做法 — 选择您所在领域提供良好就业前景的流行、多用途语言。这将为您提供发展职业生涯的平台,使用该语言工作 5-10 年,并成为资深人士 — 也就是上面提到的类别 — 如果项目需要,他们会很乐意使用任何语言。


你不必使用流行的编程语言来成为一名成功的工程师或打造出色的产品。你只需要热爱编程。



Attila Vago — 软件工程师,用一行行代码改善世界。永远很酷的书呆子,代码、博客和书籍的作者。作家。网络无障碍倡导者、乐高迷、黑胶唱片收藏家。喜欢精酿啤酒!在这里阅读我的 Hello 故事订阅更多关于乐高科技编码无障碍的故事!对于不太常看的读者,我也会写一些随机片段写作

标签:TypeScript,Java,语言,编程语言,Python,十年,未来,Rust
From: https://www.cnblogs.com/waku/p/18531662

相关文章

  • AIGC:人工智能生成内容的未来
    文章目录一、AIGC的定义与背景1.1AIGC的起源与发展1.2AIGC的核心技术二、AIGC的核心技术解析2.1生成对抗网络(GANs)2.2变分自编码器(VAEs)2.3自然语言处理(NLP)与文本生成三、AIGC的应用场景四、AIGC的挑战与未来趋势总结:引言随着人工智能技术的飞速发展,尤其是在......
  • SS241106B. 即便看不到未来
    SS241106B.即便看不到未来题意给你一个无限大的三维空间,有\(n\)个点,每个点的坐标是\((x_i,y_i,z_i)\),满足\(n\le5\times10^5,|x_i|,|y_i|,|z_i|\le10^9\)。你从\((-inf,-inf,-inf)\)出发,可以向三个正方向走。定义攻击距离\(k\),若你在\((x,y,z)\),对于\(\max\{|x-......
  • 十年码农的编程心得分享
    ✅作者简介:2022年博客新星第八。热爱国学的Java后端开发者,修心和技术同步精进。......
  • 60多门编程语言学习书籍超级大合集(700+本PDF)
    60多门编程语言的学习书籍超级大合集(700+本PDF),这简直就是编程爱好者的宝藏库啊!这里面包含了各种各样的编程语言,从常见的Java、Python到相对冷门的Haskell、Lisp等等。这些书籍的质量也是参差不齐,有那种深入剖析语言特性的专业著作,也有通俗易懂适合初学者的入门教程。对......
  • “匠心铸新,智造未来”——与昊星携手探索无限可能,慕尼黑见!
     展会首日(11月18日),昊星将聚焦“匠心、科技创新与智慧化”三大主题,展示昊星在行业中20年的产品实力及智慧化实验室建造的实际应用。    展会次日(11月19日),我们将重磅发布最新自研产品,全面讲解其核心技术及应用场景,诚邀您的光临。来现场,开启一场科技探险,与昊星一起“实......
  • 【高校教育新动态】创新学分:培养未来创新人才的新举措
    在当今这个快速变化的时代,创新已成为国家发展和个人成长的关键因素。为了适应这一趋势,我国高校纷纷推出了创新学分制度,旨在激发学生的创新潜能,培养具有创新精神和实践能力的高素质人才。今天,我们就来深入了解一下创新学分的内涵、构成以及申请流程。创新学分是什么?创新学分......
  • M4)_16. Kinetis K系列的未来发展趋势
    16.KinetisK系列的未来发展趋势随着技术的不断进步,KinetisK系列单片机(MCU)也在不断地发展和演进。本节将探讨KinetisK系列的未来发展趋势,包括性能提升、功耗优化、安全性增强、生态系统扩展以及新兴应用领域的探索。16.1性能提升KinetisK系列基于ARMCortex-M4内核......
  • Rockchip SoC 赋能 AI 与视觉创新:推动智能设备的未来发展
    随着人工智能(AI)和计算机视觉技术不断推动各行各业的创新,Rockchip已成为提供强大系统级芯片(SoC)解决方案的领先厂商。该公司已开发出多款集成AI功能并支持先进多媒体与视觉技术的SoC,非常适合用于AI驱动的边缘计算、安全监控、机器人技术等应用领域。armsomboard本文将探讨......
  • AI 大模型重塑软件开发:传统与未来的碰撞
    目录引言传统软件开发流程与模式AI参与的软件开发流程AI带来的优势面临的挑战及应对策略展望未来结语引言        随着人工智能技术的飞速发展,AI大模型正逐步渗透至各行各业,其中软件开发领域尤为显著。从代码自动生成到智能测试,AI不仅简化了开发流程,还......
  • 【洛谷 P3695 CYaRon!语】从一道大模拟入坑自制编程语言
    原题传送门本来是想投题解的,但是仔细阅读了一下主题库题解规范,发现这篇文章更加适合单独作为一篇blog阅读而非挂在题解区里污染环境,所以就这样了。0xff开始之前这道题我很早以前就开始看了,那时还只有星野梦美大佬的一篇题解。而到现在,我终于是有了时间和能力来切掉这道题,......