/来源:老九学堂/

阅读文本大概需要 5 分钟

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

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

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

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

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

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

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

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

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

Ruby

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

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

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

为什么 Ruby 会逐渐消退呢?

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

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

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

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

Visual Basic

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

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

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

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

C#真的很厉害,有基础的小伙伴可以拓展学习一下,大雄最近在研究这个,看着看着,就跪下了。

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

Haskell

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

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

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

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

Perl

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

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

但是,1991 年Python出现了!!

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

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

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

Objective-C

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 会有一天被淘汰。

总 结

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

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

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

最后致小伙伴们:

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

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

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

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


版权归原作者所有,如有侵权,请联系删除。

推荐阅读
平时都逛哪些技术网站?(程序员必备58个网站汇总)肝!精心整理了 50 个数据源网站!3种Python数据结构,13种创建方法,这个总结,超赞!

别瞎学了,这几门语言要被淘汰了!相关推荐

  1. 语言都是相通的,学好一门语言,再学第二门语言就很简单,记录一下我复习c语言的过程。...

    语言都是相通的,学好一门语言,再学第二门语言就很简单,记录一下我复习c语言的过程. 为了将本人的python培训提高一个层次,本人最近买了很多算法的书. 这个书上的代码基本都是c语言实现的,c语言很久 ...

  2. 怎么才能更好的掌握Python这门语言?该怎么学呢?

    人工智能时代的到来,很多文章都会说这么一句:"不会Python,就不要说自己是程序员",这说的有点夸张了.但确实觉得目前Python这个语言值得学习,而且会Python是薪资高的程 ...

  3. 第一门语言学python好_零基础学编程,哪一门语言比较适合入门?

    最近,有不少小伙伴问我,说零基础学编程,第一门语言学哪个好?有人推荐学Python,理由是Python简单,对新人友好,上手快,那Python到底适不合适新人学呢. 我今天就这个问题给大家稍微的展开一 ...

  4. 打算自学编程,但是不知道该先学哪门语言入门?

    最近,看到这样的一个话题:"打算自学编程,但是不知道该先学哪门语言入门?编程初学者应该先学C++.Java还是Python?",作为一个新手,应该学什么语言入门比较好呢?相信这是困 ...

  5. Js-小蓝正在学习一门神奇的语言,这门语言中的单词都是由小写英文字母组成,有些单词很长,远远超过正常英文单词的长度。小蓝学了很长时间也记不住一些单词,他准备不再完全记忆这些单词,而是根据单词.....

    题目:小蓝正在学习一门神奇的语言,这门语言中的单词都是由小写英文字母组成,有些单词很长,远远超过正常英文单词的长度.小蓝学了很长时间也记不住一些单词,他准备不再完全记忆这些单词,而是根据单词中哪个字母 ...

  6. 刷题,小蓝正在学习一门神奇的语言,这门语言中的单词都是由小写英文字母组 成,有些单词很长,远远超过正常英文单词的长度。小蓝学了很长时间也记不住一些单词,他准备不再完全记忆这些单词,而是根据单词中哪个字

    题目描述 小蓝正在学习一门神奇的语言,这门语言中的单词都是由小写英文字母组 成,有些单词很长,远远超过正常英文单词的长度.小蓝学了很长时间也记不住一些单词,他准备不再完全记忆这些单词,而是根据单词中哪 ...

  7. 大一java怎么学好_是否应该学习第二门语言,学那个比较合适。

    如果从尽快找工作的角度,我认为不需要学习第二门语言.计算机语言只是工具!尽快用自己已经掌握的语言向计算机世界更重要的问题进发,完成项目更重要.比如你说的Java Web.因为这将让你了解更多计算机世界 ...

  8. 程序员如何选择第二门语言

    多人爱争论第一门程序语言该学什么.每个人的出发点不同,有人认为,第一门语言应当是有趣.无进入门坎:有人则认为,第一门语言影响往后程序开发的思考方式,要严谨而富有思考性:有人以实用为出发点,认为视(将来 ...

  9. python是通用编程语言吗-2020年,编程语言将不再只属于程序员,尤其是这门语言...

    原标题:2020年,编程语言将不再只属于程序员,尤其是这门语言 "学python,那不就是去做程序员吗?" 一提到python,许多同学第一反应会觉得,这是要去做程序员才需要学的技 ...

最新文章

  1. 1.72java8_JDK 1.7 1.8 新特性
  2. php中jwt权限认证,php 后端实现JWT认证方法示例
  3. iOS 获取网络状态
  4. Java知识点:条件编译
  5. 小程序返回上一页_智能小程序档案馆手把手教你成为小程序流量头号玩家(上)...
  6. 单机版五子棋java功能_java实现单机版和网络对战版五子棋程序
  7. ReviewForJob——希尔排序(缩小增量排序)之塞奇威克增量序列
  8. 记录一次bug解决过程:数据迁移
  9. python程序的name属性作用是什么_python __name__ == ‘__main__’详细解释+例子
  10. sql server 2005 T-SQL BACKUP CERTIFICATE (Transact-SQL)
  11. The Python Debugger Command
  12. c语言中find的作用,c语言find函数的用法详解
  13. 华容道6×6图解_华容道(带图解)
  14. 2022年全球光纤机械接头市场前景分析及研究报告
  15. 【小沐学NLP】Python实现聊天机器人(ALICE)
  16. Python 多进程
  17. 在C#中实现SQLite的事务处理
  18. QQ宠物明信片收到啦
  19. SolidWorks stp文件转成实体
  20. Win11如何创建子账户?Win11子账户设置方法

热门文章

  1. SpringBoot集成EasyPoi实现Excel导入导出
  2. 反射型XSS漏洞详解
  3. mysql分库分表实战及php代码操作完整实例
  4. Linux的Nginx八:服务器配置
  5. Yii的GridView
  6. General error: 24374 OCIStmtFetch: ORA-24374: define not done before fetch or execute and fetch
  7. 企业 MySQL 优化实施方案
  8. oclick vue 传参 函数_详解Vue计算属性和侦听属性
  9. beautifulsoup_Python爬虫-BeautifulSoup
  10. mysql rpm conflict_解决centos7 yum安装MySQL rpm包出现conflict problem