0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

这些编程语言已经过时了你还在学吗?

Wildesbeast 来源:今日头条 作者:智能前沿技术 2020-02-04 15:22 次阅读

现在的开发人员都趋向于使用新的编程语言,那么旧的编程语言呢?它们的前途一般是这样两种:仍然可以使用,但逐渐不受大家欢迎;直接完全死去。和之前的十佳最受欢迎的编程语言相反,本文我们预测以下这几种编程语言面临着死亡威胁:

Perl

曾几何时,几乎每个人都在使用Perl语言编程。但是那些经常使用的人慢慢地发现,关于这个Perl语言似乎总是有点不对劲。至少我知道有这么个叫做“piecemeal”的编程语言,它的创造者似乎就只是将这个功能堆在另一个功能上面而已,并没有好好考虑将它们结合在一起。

事实上,甚至是它的创造者也不得不承认这种编程语言是有问题的。经过完整地改造之后,现在的开发工作开始倾向于使用Perl6,这个大概是在2000年的时候。至于Perl?俨然已经销声匿迹了!所以完全没有必要去学习它了。顺便说一句,下面这个“Goodbye World”就是用Perl写的:

#!/usr/bin/perlprint“Content-type:text/html ”;print“Goodbye,world! ”;

上面这个例子会出来一个网页。现在的Perl,由于可以作为CGI脚本语言,所以使用的最广泛的是在生成web页面上。但是为了适应时代的变化,我们最好还是将Perl语言“弃之如敝履”。

Ruby

关于Ruby,可以这么唱“十年之后,我不认识你你不属于我……”。因为就在10年前,Ruby语言可谓是风靡一时。它出生于1995年,5年左右达到它的鼎盛时期。如果你经常使用的话,绝对会义无反顾地爱上它。但是,像我们这些学着C语言风格长大的孩子在学习Ruby时往往会觉得有点囧。

下面是用Ruby写的“Goodbye World”:

puts‘Byebye,MissAmericanRuby!DrovemyChevytotheLevie…’puts ’2011 was the day that Ruby died, yeah…’

下面是一个用于计算阶乘的例子:

def fact(n) if n == 0 1 else n * fact(n-1) endendputs fact(ARGV[0].to_i)

我测试了这个例子,来计算1000的阶乘。下面是结果(由于篇幅限制,中间略过了2569个数字):

ruby fact.rb 100040238726007709377354370243392300…0000000

从各方面来看,Ruby都很好,几乎是一片赞誉声……除了Twitter。 在2011年4月,Twitter宣称他们已经将几乎大部分的代码都改写过了,以便不必使用Ruby和它的web框架——Ruby on Rails,据他们所说这个平台非常之低效。不过,我想说的是,也正是那一天起,Ruby开始走下坡路,使用的人数也是越来越少。

Visual Basic.NET

十年前,我应聘到一个需要重写大量代码的公司,名字我已经忘记了,主要工作就是将VB6转换为Visual basic.NET。大概就只干了一两个月吧,我就跳槽了:真心太痛苦了。

微软钟爱于BASIC编程语言的扩展可以一路追溯到1991年,那时他们刚刚采购了来自Alan Cooper的一个非常酷(对于那个时候而言)的可视化编程设计。Alan Cooper初期使用的是别的编程语言,但是比尔盖茨让他换成BASIC语言,因为盖茨认为那是当时最为简单的编程语言。于是乎,大名鼎鼎的Visual Basic,就从BASIC中衍生出来——对象这一概念以及新的编程技术问世了。

后面又发生了一些很有意思的事情。Borland Delphi的创造引领者,Anders Hejlsberg也到微软工作,并且引领创建了一个新的编程语言——C#。这种编程语言非常类似于Java语言。刚开始的学习或许有点难,但是一旦上手,你绝对会对它爱不释手。C#很快就成为了微软的旗舰编程语言。现在的话,在软件行业中,有很多很多需要C#的工作岗位,不少都是高薪聘用的。

虽然针对自己的CLR运行,微软创建了C#,但是它的工程师们另外还创建了一个盖茨深爱的BASIC语言版本,命名为Visual Basic.NET。该编程语言借用了BASIC语言的语法,但是它的编码方法却与C#相似。虽然Visual Basic.NET也在发展,但是优胜劣汰总是不可避免的——大家都选择了C#,于是Visual Basic.NET就成为了明日黄花。

下面是摘自微软网页上的一段Visual Basic.NET程序:

‘ Allow easy reference to the System namespace classes.Imports System‘ This module houses the application’s entry point.Public Module modmain ‘ Main is the application’s entry point. Sub Main() ‘ Write text to the console.Console.WriteLine(“HelloWorldusingVisualBasic!”) End SubEnd Module

(这里的“Hello World”也可以替换成“Goodbye World”,这个没关系。)

Adobe Flash和AIR

从技术上讲,这些都是平台,而非编程语言。我之所以将它们包含进来是因为如果你想要使用它们,就必须安装Adobe自己的ECMAScript版本,即ActionScript。ActionScript是JavaScript(当前最流行的编程语言之一,因为它能用于所有的浏览器)的一个近亲。ActionScript在ECMAScript(这是JavaScript实现标准的官方名称)中增加了一些细节;但是除了Adobe Flash,其他地方几乎没有ActionScript的用武之地。

你使用Flash不?乔布斯非常讨厌它,并且也不允许iPhone使用它。然后随着iPhone(以及随后的iPad)的逐渐普及,Web开发人员不得不创建不必依赖于Flash的网站。那些以ActionScript为生的开发人员也不得不纷纷下岗。(我曾经看到过一个Flash开发人员指责另一个JavaScript开发人员毁了他的职业生涯。)

Adobe也曾试图通过AIR以求得其编程平台的一线生机,于是配建了一个用于构建AIR app的工具,称为Flex。至于AIR,许多人都说,这是一场灾难。不过我们目前也不知道为什么Adobe会推出AIR,可能是想用AIR取代Flash?也可能是想要AIR和Flash相亲相爱共同发展?

记得有一段时间,得益于Twitter平台——TweetDeck(要求用户在电脑上安装AIR运行时)的使用,AIR很是红火了一阵子。那时大概有数以百万计的pc AIR应用被开发出来,只是后来Twitter在2011年买了TweetDeck之后,又改写本地代码取代了AIR。于是乎,AIR的辉煌就到此为止。

随着Flash和AIR的逐渐逝去,Adobe的ActionScript也开始向世界吻别。下面是一些用ActionScript写的代码示例。

package {import flash.display.*;import flash.text.*;public class HelloWorld extends Sprite {privatevargreeting:TextField=newTextField();public function HelloWorld() {greeting.text=“HelloWorld!”; greeting.x = 100; greeting.y = 100; addChild(greeting); } }}

(你可能会发现这与JavaScript非常相似,都使用var、function和new,并且也使用小数点来访问成员变量。)

Delphi’s Object Pascal

首先我得向我曾经的好伙伴Delphi表示歉意,因为我不得不公布Object Pascal的“死讯”。well,Delphi(用于发Object Pascal的工具)历经变迁之后,依然苟延残喘着(它起源于Borland公司,现在抱着Embarcadero公司的大腿)。

早先Delphi和它的Object Pascal语言确实给我们提供了一个良好的工作环境:虽然有点啰嗦,但是编译器很快,而且相比Visual Basic(这里指的是pre-Visual Basic.NET,1995年左右),创建Windows程序更容易。

但是它的优势并没有持续下去。也很难说是什么原因,因为这个平台真心是不错的。就在这时,Borland公司开始在其Delphi的产品线上支持C#和C++。发展到后来,Borland公司甚至直接将Delphi卖给了Embarcadero公司,然后Embarcadero公司继续使用Delphi开发产品。话说,它做得相当不错,但是重点再也不是Pascal了。当然,你依然可以用Pascal编程,但是几乎没人走这条路了。事实上,我们可以使用Delphi建立许多不同的平台,包括iOSAndroid,以及即将到来的Linux操作系统

但是,如果你去Embarcadero公司的网站看看,你会发现他们主要是在促进Delphi’s C++ 的支持。因此,换言之就是,Object Pascal已然逝去了。写到这里,我不禁悲从心来,因为我花了很多很多时间来学习Pascal语言,特别是Delphi’s Object Pascal。但是没办法,现实就是如此残酷,不转行就只能饿死。

下面请看Object Pascal的代码:

program HelloWorld;begin writeln(‘You say goodbye.’)

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FlaSh
    +关注

    关注

    10

    文章

    1549

    浏览量

    146632
  • Linux
    +关注

    关注

    87

    文章

    10986

    浏览量

    206713
  • 编程语言
    +关注

    关注

    9

    文章

    1878

    浏览量

    33054
收藏 人收藏

    评论

    相关推荐

    fpga三种编程语言

    FPGA(现场可编程门阵列)的编程涉及到三种主要的硬件描述语言(HDL):VHDL(VHSIC Hardware Description Language)、Verilog以及SystemVerilog。
    的头像 发表于 03-15 14:36 316次阅读

    plc编程语言与c语言的联系 c语言和PLC有什么区别

    PLC编程语言与C语言的联系 PLC(可编程逻辑控制器)是一种针对自动化控制系统的特殊计算机。PLC编程
    的头像 发表于 02-05 14:21 992次阅读

    plc常见的编程语言有哪几种

    PLC(可编程逻辑控制器)常见的编程语言有五种,被称为IEC 61131-3标准编程语言这些
    的头像 发表于 01-24 17:59 1389次阅读

    脚本语言编程语言的区别

    脚本语言编程语言是计算机语言的两个主要分类。尽管两者都是用于编写计算机程序的工具,但它们在设计和运行方式上存在一些显著的区别。下面将详细探讨脚本
    的头像 发表于 11-22 14:33 1341次阅读

    Python编程语言属于什么语言

    Python编程语言属于高级编程语言中的一种。它是一种通用、面向对象、解释型编程语言。Pytho
    的头像 发表于 11-22 14:31 635次阅读

    基于Rust开发的编程语言

    Move 是一门由 Rust 语言开发的一门面向资产的编程语言,最早由 Facebook (现 Meta )投入大量的人力物力开发,用于 Libra (现 Dime )项目,处理全球性大规模支付系统的
    的头像 发表于 11-17 12:30 345次阅读

    千兆光模块和万兆光模块已经过时了吗?

    领域。本文从千兆和万兆光模块的技术特点和市场趋势分析入手,探讨它们是否已经过时,以及它们是否可以适应未来网络的发展趋势。
    的头像 发表于 10-09 10:00 252次阅读

    谈谈那些逐渐消失的编程语言

    技术不断演进,我们使用的编程语言也不例外。随着人工智能的日益普及以及它对这些语言的使用方式的影响,我们更加关注哪些语言将在未来与我们同在,哪
    发表于 09-27 11:03 292次阅读

    五种支持plc编程语言有哪些

    在PLC控制系统设计中,不同型号的PLC编程软件对以上五种编程语言的支持种类是不同的,所以不但对PLC的硬件性能了解外,也要了解PLC对编程语言
    发表于 08-31 14:54 690次阅读
    五种支持plc<b class='flag-5'>编程</b>的<b class='flag-5'>语言</b>有哪些

    七种编程语言的学习曲线

    程序员 Dobiasd 绘制七种编程语言的学习曲线图。 这些语言是:JavaScript、Java、C++、Python、Lisp、Haskell、PHP
    的头像 发表于 08-29 17:18 510次阅读
    七种<b class='flag-5'>编程</b><b class='flag-5'>语言</b>的学习曲线

    人工智能学什么编程语言

    人工智能学什么编程语言 人工智能是科技领域中最具前景的领域之一。自20世纪50年代以来,人工智能已经取得了长足的进步。然而,为了让人工智能更加智能化,语言也成为了一种非常关键的要素。因
    的头像 发表于 08-12 17:44 479次阅读

    Tripwire在有人经过时自动最小化选项卡

    电子发烧友网站提供《Tripwire在有人经过时自动最小化选项卡.zip》资料免费下载
    发表于 07-06 15:11 0次下载
    Tripwire在有人<b class='flag-5'>经过时</b>自动最小化选项卡

    PLC编程语言的特点

    PLC的编程语言与一般计算机语言相比,具有明显的特点,它既不同于高级语言,也不同与一般的汇编语言,它既要满足易于编写,又要满足易于调试的要求
    的头像 发表于 07-04 17:13 582次阅读

    西门子PLC编程语言介绍

    PLC目前有5种标准的编程语言,包括图形化编程语言和文本化编程语言
    发表于 06-29 16:00 940次阅读
    西门子PLC<b class='flag-5'>编程</b><b class='flag-5'>语言</b>介绍

    基于PASCAL的高级编程语言——SCL编程语言

    根据该标准,可对用于可编程逻辑控制器的编程语言进行标准化。SCL 编程语言实现了该标准中定义的 ST
    发表于 06-20 10:20 1049次阅读
    基于PASCAL的高级<b class='flag-5'>编程</b><b class='flag-5'>语言</b>——SCL<b class='flag-5'>编程</b><b class='flag-5'>语言</b>