c语言5的阶乘流程图_5 种前途迷茫的编程语言

code小生 一个专注大前端领域的技术平台公众号回复Android加入安卓技术群与本文对立文:5 门前途美好的编程语言

译文链接:http://www.codeceo.com/article/5-die-programming-language.html英文原文:5 Programming Languages Marked for Death翻译作者:码农网 – 小峰

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

Perl

曾几何时,几乎每个人都在使用Perl语言编程。但是那些经常使用的人慢慢地发现,关于这个Perl语言似乎总是有点不对劲。至少我知道有这么个叫做“piecemeal”的编程语言,它的创造者似乎就只是将这个功能堆在另一个功能上面而已,并没有好好考虑将它们结合在一起。事实上,甚至是它的创造者也不得不承认这种编程语言是有问题的。经过完整地改造之后,现在的开发工作开始倾向于使用Perl6,这个大概是在2000年的时候。至于Perl?俨然已经销声匿迹了!所以完全没有必要去学习它了。顺便说一句,下面这个“Goodbye World”就是用Perl写的:
#!/usr/bin/perlprint “Content-type: text/html\n\n”;print “Goodbye, world!\n”;
上面这个例子会出来一个网页。现在的Perl,由于可以作为CGI脚本语言,所以使用的最广泛的是在生成web页面上。但是为了适应时代的变化,我们最好还是将Perl语言“弃之如敝履”。

Ruby

关于Ruby,可以这么唱“十年之后,我不认识你你不属于我……”。因为就在10年前,Ruby语言可谓是风靡一时。它出生于1995年,5年左右达到它的鼎盛时期。如果你经常使用的话,绝对会义无反顾地爱上它。但是,像我们这些学着C语言风格长大的孩子在学习Ruby时往往会觉得有点囧。下面是用Ruby写的“Goodbye World”:
puts ‘Bye bye, Miss American Ruby! Drove my Chevy to the Levie…’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 (“Hello World using Visual Basic!”)   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 {   private var greeting:TextField = new TextField();public function HelloWorld() {     greeting.text = “Hello World!”;     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建立许多不同的平台,包括iOS、Android,以及即将到来的Linux操作系统。但是,如果你去Embarcadero公司的网站看看,你会发现他们主要是在促进Delphi’s C++ 的支持。因此,换言之就是,Object Pascal已然逝去了。写到这里,我不禁悲从心来,因为我花了很多很多时间来学习Pascal语言,特别是Delphi’s Object Pascal。但是没办法,现实就是如此残酷,不转行就只能饿死。下面请看Object Pascal的代码:
program HelloWorld;begin    writeln(‘You say goodbye.’)
译者注:以上观点仅代表作者个人观点,请文明礼貌按秩序吐槽。

相关阅读

1 5 门前途美好的编程语言
2 写给软件工程师的 30 条建议
3 Android Glide缓存策略分析
4 Android 基于 glide 4.0 封装图片加载库
5 Glide 加载图片实现进度条效果

893f8bf56b937344f9be512dac091be2.png如果你有写博客的好习惯欢迎投稿

点个在看,小生感恩❤️

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/565665.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【youcans 的 OpenCV 例程200篇】131. 形态学重建之竖线字符提取

欢迎关注 『youcans 的 OpenCV 例程 200 篇』 系列,持续更新中 欢迎关注 『youcans 的 OpenCV学习课』 系列,持续更新中 【youcans 的 OpenCV 例程200篇】131. 形态学重建之竖线字符提取 4. 形态学图像重建 形态学重建的核心是测地膨胀和测地腐蚀。 图…

java - 判断任意一天是这年的第几天

进入程序之后,我们根据提示输入年份,点击Enter之后会让我们输入月份,点击Enter之后会让我们输入日,当我们按要求输入年月日之后点击Enter按键之后会计算输入的日期是输入年份的第几天。 原理分析: 1.年份的提示输入 2…

【youcans 的 OpenCV 例程200篇】132. 形态学重建之孔洞填充算法

欢迎关注 『youcans 的 OpenCV 例程 200 篇』 系列,持续更新中 欢迎关注 『youcans 的 OpenCV学习课』 系列,持续更新中 【youcans 的 OpenCV 例程200篇】132. 形态学重建之孔洞填充算法 4. 形态学图像重建 形态学重建的核心是测地膨胀和测地腐蚀。 图…

c 包含其他文件_C语言:全局变量在多个c文件中公用的方法!

用C语言编写程序的时候,我们经常会遇到这样一种情况:希望在头文件中定义一个全局变量,然后包含到两个不同的c文件中,希望这个全局变量能在两个文件中共用。举例说明:项目文件夹project下有main.c、common.c和common.h三…

【youcans 的 OpenCV 例程200篇】133. 形态学重建之边界清除

欢迎关注 『youcans 的 OpenCV 例程 200 篇』 系列,持续更新中 欢迎关注 『youcans 的 OpenCV学习课』 系列,持续更新中 【youcans 的 OpenCV 例程200篇】133. 形态学重建之边界清除 4. 形态学图像重建 形态学重建的核心是测地膨胀和测地腐蚀。 图像的…

跟着川川学数模-Day2

目录 一、前言 二、问题提出 三、问题求解 3.1 线性规划(忽视整数条件) 3.2 整数线性规划 3.2.1 对x1进行分枝求解 3.2.2 在x范围下对x2进行分支求解 3.2.3 求解最大值 3.2.4 结果 一、前言 在川川前面两篇的推送中,学习到了如何求解…

鼠标吸附彩色气泡

H5Cavas制作鼠标吸附彩色气泡。当鼠标在屏幕上移动的时候&#xff0c;鼠标划过的区域会出现许多彩色气泡&#xff0c;并且会自动消失。 效果演示 看了如此效果是不是心动的感觉呢&#xff1f;&#xff1f;&#xff1f; 代码展示 <!DOCTYPE html> <html><hea…

【youcans 的 OpenCV 例程200篇】135. 形态学重建之粒度测定

欢迎关注 『youcans 的 OpenCV 例程 200 篇』 系列&#xff0c;持续更新中 欢迎关注 『youcans 的 OpenCV学习课』 系列&#xff0c;持续更新中 【youcans 的 OpenCV 例程200篇】135. 形态学重建之粒度测定 4. 形态学图像重建 形态学重建的核心是测地膨胀和测地腐蚀。 图像的…

跟着川川学数模-Day3

目录 一、非线性引入 二、非线性规划模型 三、Matlab中的非线性规划函数 四、求解不等式和等式双变量约束 五、非线性约束求最小值 5.1 奇奇怪怪的三变量 5.2 可可爱爱的范围寻优 六、总结 一、非线性引入 前面两天跟着川川学习了线性规划和整数线性规划&#xff0c;今…

java - 求最大公约数和最小公倍数

根据提示输入两个正整数 m 和 n&#xff0c;求其最大公约数和最小公倍数 并进行控制台输出。 原理分析 在循环中&#xff0c;只要除数不等于 0&#xff0c;用较大数除以较小的数&#xff0c;将小的一个数作为下一轮循环的大数&#xff0c;取得的余数作为下一轮循环的较小的数&…

【youcans 的 OpenCV 例程200篇】134. 形态学重建之细胞计数

欢迎关注 『youcans 的 OpenCV 例程 200 篇』 系列&#xff0c;持续更新中 欢迎关注 『youcans 的 OpenCV学习课』 系列&#xff0c;持续更新中 【youcans 的 OpenCV 例程200篇】134. 形态学重建之细胞计数 4. 形态学图像重建 形态学重建的核心是测地膨胀和测地腐蚀。 图像的…

【youcans 的 OpenCV 例程200篇】136. 灰度腐蚀和灰度膨胀

欢迎关注 『youcans 的 OpenCV 例程 200 篇』 系列&#xff0c;持续更新中 欢迎关注 『youcans 的 OpenCV学习课』 系列&#xff0c;持续更新中 【youcans 的 OpenCV 例程200篇】136. 灰度腐蚀和灰度膨胀 5. 灰度级形态学 灰度级形态学将形态学操作从二值图像扩展到灰度图像。…

基于主成分分析法的安全评价模型

目录 一、安全评价简介 二、引入 三、调查问卷的设置 四、问卷发放与回收 五、主成分分析法介绍 六、SPSS主成分分析&#xff08;简易版&#xff09; 6.1 数据的导入与设定 6.2 信效度分析 6.3 SPSS主成分分析处理 一、安全评价简介 何为安全评价&#xff0c;对于本专业…

java - 分解质因数

根据提示输入一个正整数&#xff0c;用java程序进行分解质因数。例如&#xff1a;输入 90,打印出 90233*5 原理分析&#xff1a; 1.对 n 进行分解质因数&#xff0c;应先找到一个最小的质数 k&#xff0c;然后按下述步骤完成&#xff1a; 2.如果这个质数恰等于 n&#xff0c;则…

【youcans 的 OpenCV 例程200篇】137. 灰度开运算和灰度闭运算原理

欢迎关注 『youcans 的 OpenCV 例程 200 篇』 系列&#xff0c;持续更新中 欢迎关注 『youcans 的 OpenCV学习课』 系列&#xff0c;持续更新中 【youcans 的 OpenCV 例程200篇】137. 灰度开运算和灰度闭运算 5. 灰度级形态学 灰度级形态学将形态学操作从二值图像扩展到灰度图…

跟着川川学数模-Day4

目录 一、一元线性回归 二、多元线性回归 一、一元线性回归 今天是跟着川川学数模的第四天&#xff0c;也与前些天的规划问题不同&#xff0c;进入到了线性回归&#xff0c;那么我们先来看一下一元线性回归问题. 我们以某一数据列为例&#xff0c;代码如下 x1:12; y[217.22…

Java - 计算不同字符或数字的个数

根据提示输入一行字符&#xff0c;这行字符可以是任意的&#xff0c;可以包含字母数字标点符号&#xff0c;特殊符号等&#xff0c;java程序会输出你输入字符串中各个类别字符的个数。 结果展示 代码展示 package com.one;import java.util.*;public class Flqgs {public st…

oracle去重保留一条_关于oracle数据库物理结构(文件)的一些总结

概述闲来无事&#xff0c;整理了下oracle数据库物理结构方面的内容&#xff0c;这里主要从数据库文件和操作系统文件两个方面来介绍。任何时候都要记得&#xff0c;数据库是数据存储的容器&#xff0c;作用是用来收集、存储数据和返回信息。物理结构数据库文件1&#xff0e;控制…

【youcans 的 OpenCV 例程200篇】138. 灰度开运算和灰度闭运算

欢迎关注 『youcans 的 OpenCV 例程 200 篇』 系列&#xff0c;持续更新中 欢迎关注 『youcans 的 OpenCV学习课』 系列&#xff0c;持续更新中 【youcans 的 OpenCV 例程200篇】138. 灰度开运算和灰度闭运算 5.2 灰度开运算和灰度闭运算 OpenCV 提供了函数 cv.morphologyEx 可…

跟着川川学数模-Day5

一、一些废话 哦莫&#xff0c;终于到了我最喜欢且不会的东西了&#xff0c;动态规划&#xff0c;求解最优路径&#xff0c;学会这玩意就能处理简单的TSP问题了&#xff0c;那么让我们来看看怎么用Matlab实现。 二、最短路径求解 2.1 稀疏矩阵 哦莫&#xff0c;果然上来就是…