为了办公便捷和效率提升,新的编程语言如雨后春笋般出现,但只有少数编程语言才能成为新宠。

这种进步的一个副作用是一些古老的编程语言必然会跟历史一样被人们遗忘。

如果一个编程语言不能与时俱进,那用户群一定会流失。

有人记得COBOL 编程语言吗?可能很多人都不知道这门语言。

其实在1960 年代和 1970 年代,它是许多美国银行和政府机构的首选的编程语言,但最终现在哪里还能见到它的身影?

等一些政府机构发现他们需要通过更新代码来全面改革失业系统时,才发现业内没有几个开发人员可以熟练使用该编程语言。

当前的许多编程语言也可能会有相似的下场。

今天让我们大胆分析一下:未来20年内最终会消失的 5 种编程语言。

本预测纯属臆测,如有雷同,深感不幸。但也不要当真啊,纯属臆测,指不定啥时候迎来第二春。

Ruby 在 1999 年发布后立即受到程序员们的热捧,它能够快速构建应用程序的特性给程序员留下了非常深刻的印象。

紧随其后,备受欢迎的 Ruby on Rails 框架于 2004 年发布,由于 Ruby 和 Rails 这两个名称在当时几乎成为了同义词,因此 Ruby 很快地被推到了程序员最喜欢的编程语言排行榜首位。

它经历了一个坚实的十年,稳居编程语言排行榜前列,一度成为众人瞩目的焦点,但是最近的十年它并不好过,所以 Ruby 纳进了淘汰清单列表。

为什么 Ruby 会逐渐消退呢?

导致其排名下降的最重要的因素之一是其执行速度。

由它构建的应用程序运行速度往往比其他流行的编程语言,比如 JavaScript、Go 和 Python 构建的应用(在某些框架下)运行速度慢。

同时期下,后三者已经发展到可以满足当时的需求,而 Ruby 在很多方面一直在原地踏步,没有什么进步。

例如,让 Ruby on Rails名噪一时的MVC架构。其实现在看起来多多少少都有点过时。

Visual Basic 是公认的程序员最不喜欢的编程语言之一,没人反对吧?(反对就是你对!!)

它是微软在1991年发布的,作为构建 Windows 的主要工具,目标是实现了,但最近问题也不少。

大家使用 VB 进行开发的热情差距也很大,随着 2000 年 C#的发布,这种差距逐渐进一步扩大。

由于 C#更加简洁,提供了更广泛的功能,并且更适合于云服务和移动开发(在当前市场中扮演着重要角色),因此很多开发人员都放弃使用 VB 转而投向 C#怀抱。

最重要的是,似乎它的创建者也都无情地放弃了它,因为微软曾表示他们没有进一步发展它的计划。(微软有时候,挺不是玩意儿的!)

Haskell 是另一个古董级别的编程语言,它于几十年前创建,在90年代一直被使用。

对于 Haskell 来说,属于它的时代很快就要结束了。

研究人员和学者大多将 Haskell 用于构建程序,以对其工作进行复杂的排列和外推计算,但是学起来很难!

难学必然导致非常有限的活跃用户,其实 Haskell 的上一个最新的稳定版本是在 2010 年发布,这已经于事无补了。

与 Visual Basic 命运一样,Perl 也很不讨喜。

在 Perl 于 1987 年开始流行时,当时被誉为是适合任何一个人的编程语言,无论你是编程的初学者还是专业人士都可以使用,同时还被宣传可以用于各种各样的场景。

但是,1991 年Python出现了!!

尽管 Python 的语法相比 Perl 稍显繁琐,更加严格,但 Python 让用户使用脚本实现目标的过程变得更加简单直接,改变游戏规则了。

Python 在 2000 年代开始让 Perl 黯然失色,并一度成为编程入门的首选语言。

在过去的 15 年中,Perl的使用量一直在稳步下降,而且也多半会持续下降,有点搂不住。

Objective-C 与 Apple 的关系类似于运动相机与 GoPro 的密切联系——两者都是他们所属公司专用的工具。

尽管 Objective-C 已经在 macOS、iOS 和 OS X 开发中使用了二十多年(1996 年至今)的时间。

但如今已经很少有程序员在使用该语言,因为Swift横空出世了。

Swift 由 Apple 构建并于 2014 年发布,旨在成为 macOS、iOS 及其他几个 Apple 相关平台的新编码标准。

Obj-C 在很大程度上是基于复杂的C语言创建的,而 Swift 就删除了这些复杂的元素,同时增加了一些新的功能特性。

例如自动内存管理,对 Cocoa Touch 的支持以及类型安全的集成。

Swift 设法实现和维护了较高的语言稳定性和用户采用率,因为 Apple 公司仍在坚持重写 Obj-C 库,以使旧语言的使用者可以很容易地进行过渡。

尽管仍然有很多关于这两种选择哪个更好的讨论,但当前的趋势来看的话,Objective-C 会有一天被淘汰。

尽管上述提到的语言似乎都处于下降趋势,但不能保证它们最终一定会消失。

如果创造者和社区投入足够的精力来更新和维护它们,添加新功能以及有用的特性,这些编程可能会卷土重来,恢复生命力。

但事实这种性价比不是很高,肯定会有更新的,更好的选择。

最后致小伙伴们:

如果小伙伴正在考虑开始学习哪种语言,那么有许多因素需要考虑;

如果小伙伴只是将编程当做一种兴趣爱好,聆听一下自己内心并选择最能激发你兴趣的那个来学习,即便所选的编程语言不再被广泛使用甚至面临淘汰;

如果小伙伴正在从事编程相关的工作,那么不应该只选择最流行的编程语言,要深耕,深耕,深耕(主要的事情说三遍);

仔细对比各个编程语言的功能特性,市场需求以及可见的未来增长潜力等因素后做出选择,这才是明智之举。

再见!COBOL 编程语言相关推荐

  1. 编程语言发展70年,用50种不同语言输出「Hello World」

    「免费学习 60+ 节公开课,投票页面,点击讲师头像」 作者 | Sylvain Saurel 译者 | 风车云马 责编 | 屠敏 [导读]历经 70 年,不断出现的编程语言为开发者解决了哪些难题?其 ...

  2. 活久见!新泽西州长急聘COBOL程序员!网传去应聘的程序员最小年龄都在 60 岁以上!...

    " 美国新泽西州的州长 4 月 5 日在电视上宣布当地银行急需 COBOL 程序员来处理政府财务系统的一些问题,包括最近大量增加的失业补助支票的发放等等. 作者:51cto,来自:51cto ...

  3. 上古语言从入门到精通:COBOL 教程登上 GitHub 热榜

    转自机器之心 在疫情的冲击下,美国的失业人数直线上升,据统计,失业率已经达到了 10%,并且还在不断上升. 与此同时,COBOL 资深程序员却成了就业市场上的抢手货.失业人数的飙升,让美国的失业系统不 ...

  4. 一场疫情,炸出了退休的COBOL程序员

    COBOL编程语言,估计大多数程序员从没听说过,我这样的编程老司机,也是只闻其名,从未一睹芳容.出门问了问度娘,答案如下: COBOL语言,是一种面向过程的高级程序设计语言,主要用于数据处理,是目前国 ...

  5. 50 种不同编程语言的“Hello World”,你知多少?

    点击上方"朱小厮的博客",选择"设为星标" 后台回复"加群"加入公众号专属技术群 历经 70 年,不断出现的编程语言为开发者解决了哪些难题? ...

  6. 十年后可能消失的五种编程语言

    本文作者从自己的观点出发,介绍了未来 20 年内可能消失的五种编程语言,并给出了具体的原因.最后对想要学习编程的初学者给出了学习建议. >>>> 随着时间的流逝,程序员们发现了 ...

  7. 50种不同编程语言的“Hello, World”,你会写几种?

    导读:历经 70 年,不断出现的编程语言为开发者解决了哪些难题?其存在又有怎样的特性?本文将以「Hello, World」为例,花样呈现 50 种编程语言. 本文经授权转自公众号CSDN(ID:CSD ...

  8. 60 岁的 COBOL 凭什么活到现在?

    COBOL将比我们所有人都活得更久,知道为什么吗? 作者 | Steven J. Vaughan-Nichols 译者 | 风车云马,责编 | 刘静 出品 | CSDN(ID:CSDNnews) 以下 ...

  9. 50种编程语言打印hello world

    1.汇编语言--1949 汇编语言创建于1949年,适用于Intel 8080 8位处理器, 该处理器后来在1974年4月正式推出. 难度:难 代码: bdos equ 0005H ; BDOS en ...

最新文章

  1. 【Spring】框架简介
  2. linux 双网卡绑定模式,双网卡绑定的模式及操作步骤
  3. idea使用c3p0数据库连接池无法加载配置文件xml,配置文件放置的位置
  4. 分布与并行计算—日志挖掘(Java)
  5. 《软件需求分析(第二版)》第 4 章——需求分析员的职责 重点部分总结
  6. 2016.3.16(Java图形用户界面)
  7. 2021全国大学生数学建模竞赛E题思路
  8. linux下tab作用的描述?
  9. 职责链(Chain of Responsibility)模式
  10. 2021计算机考研总结即经验贴(初试、复试、调剂、心态调整)
  11. 团队项目-Recycle需求规格说明书
  12. maven配置以及设置国内镜像
  13. KT148A电子语音芯片ic方案适用的场景以及常见产品类型
  14. C++派生类与继承(超详细)
  15. html的3d旋转木马插件,js 3D旋转木马特效插件
  16. 【SmartSvn】分支合并问题
  17. No fallback instance of type class错误的解决方案
  18. 神经网络中epoch、batch、batchsize
  19. vscode ssh 远程连接总是循环验证密码
  20. python横线怎么打_python下划线怎么打出来

热门文章

  1. 用Diskedit修复分区表(图解教程)
  2. 错误蓝屏死机重启产生的.dmp文件如何打开以及如何分析蓝屏的原因
  3. Java sort()与稳定排序
  4. 从新零售到社区团购,这中间发生了多少变化?
  5. 面包板电源线怎么接_初学者必看!PLC与常见设备的连接方式
  6. 洛谷 1948 笨笨的电话网络
  7. 量邦科技冯永昌:AI让量化投资的战争升级,交易面或许不改变其零和博弈的性质|人工智能研习社
  8. 对财经新闻情感分析python_我用Python进行情感分析,让程序员和女神牵手成功
  9. 通过设置静态路由实现内外网正常使用
  10. 4. Bootstrap - intermediate