百战程序员:编程语言到底有多少种?

如题所述

这个有很多种的,下面讲解写常遇到的。把编程语言比喻成车:

Ada 是辆丑到极点但是永远不会出故障的坦克。

C 是辆赛车,它能跑得超乎想象得快,不过每跑个 50 英里就会抛锚。

Cobol 号称是辆车,不过没有哪个有自尊心的驾驶员肯承认曾经开过。

C# 是辆竞争模式的家庭旅行车。一旦你开过它,你就不会再用其他竞品厂商的产品了。

C++ 是辆大马力版本的 C 型赛车,它额外提供了成打的特性,而且每跑 250 英里才会抛锚,不过当它真出问题的时候,没有人能找到究竟是哪儿坏了。

Eiffel 是辆内置了法国口音驾驶说明的汽车。他会帮你快速地找到错误并从中学到东西,不过你要是敢跟他争论的话,他会骂你然后把你从车里扔出去。[来自 Daniel Prager ,稍有修改]

Erlang 是一个车队,它们会互相协作把你送到任何你想去的地方。想要每只脚各自操纵一辆车还是需要一些练习的,不过一旦学会了之后你就可以驾驶着它们通往其他方式难以企及的地方了。还有,你用了那么多辆车,所以就算有几辆坏掉也没什么可担心的。

Forth  æ˜¯ä½ äº²æ‰‹ç”¨å¥—件组装出来的车。你这辆车不论长相还是功能都没必要和别人的一样。不过,Forth 型号的车只能倒着走。

[Digg.com 网站上的评论,来自 256byteram(我忍不住要把它加上):]

FORTH LOVE IF HONK THEN !(译注:抱歉我实在不知道这句话是啥意思……)

Fortran 是辆非常原始的车。它能跑得很快,前提是你要始终在完全笔直的道路上开。据说学开 Fortran 型汽车会导致你再也没法学开其他型号的汽车了。

Java

Java 是辆家庭旅行车。它驾驶起来很容易,开起来速度也不会太快,不至于伤到你自己。

版本1:Haskell æ˜¯è¾†è®¾è®¡æžç«¯ä¼˜é›…漂亮的车,传闻它能开到非常极端的地形中去。当你试图驾驶它的时候,它并不是真的沿着道路在前进的;实际上,它是不断把自己和道路进行复制,每次成功复制之后,车在路上都会比上一次更远一点。应该还是有可能按照传统的方式来驾驶它的,不过你的数学能力不足以找出这个办法来。

版本2:Haskell 并不是辆真的车,它是一个抽象的机器,能够详细地告诉你驾驶这个过程应该是什么样子的,如果你愿意的话。你必须把这个抽象的机器放到另一台实际的机器里面才能开动它,别问这个实际的机器是怎么运行的。还有一种方法,你可以用多台抽象的机器造出另一台抽象的机器,然后把它交给那台实际的机器,这样就能一个接一个地完成你的旅途了。[Monadic 的版本]

版本1:Lisp 看起来像一辆车,不过经过足够的改装,就能把它变成非常有效的一架飞机或一艘潜艇。

版本2:一开始它看起来一点儿都不像一辆车,不过时不时地你也能看到有人在开着它转悠。终于有一天你决定多了解一下它,然后你意识到它其实是一辆能造出更多汽车的汽车。你把这个发现告诉了朋友,不过他们都大笑着说这些车看起来太奇怪了。至今你仍在车库里留着一辆,期待着哪天能把它开上路去。[来自 Paul Tanimoto]

Mathematica æ˜¯è¾†è®¾è®¡å¾—很好的车,它从 Lisp 型汽车那里借鉴了大量的东西,却连一点儿应得的赞扬都不给它。它能通过方程计算出到达目的地最高效的路径,只不过这要花上一大笔钱。

是辆设计给新手用的短途旅行车,通常都是开往那些 Mathmatica 型汽车常去的地方。在那些地方这车开起来非常舒服,不过只要你偏离了路线,哪怕只有一点点,它就会变得非常难以驾驭,以致于很多势利的司机根本就不承认它是一辆车。

Ocaml 是辆非常性感的欧洲车。它不像 C 那么快,但它从不出故障,所以结果你反而会花更短的时间到达目的地。不过因为这是法国,所有的控制装置都不在它们平时该在的地方。

Perl 应该是辆挺酷的车,不过驾驶员手册却难以理解。另外,就算你能找到方法去驾驶一辆 Perl 型号的车,你也开不起来别人的 Perl 型汽车。

PHP 是辆热狗车(Oscar Mayer Wienermobile),它非常古怪、又难以驾驭,但是所有人却还是想开它。[来自 digg.com 网站的 CosmicJustice]

版本1:Prolog 是全自动的:你告诉它你的目的地是什么样子的,然后剩下的驾驶工作它就全搞定了。[Paul Graham附加的:]不过,大多数情况下,确认目的地所花的工夫,和你直接开过去也差不多了。

版本2:Prolog 这辆车上装了一个独特的试错型 GPS 系统。在通往目的地的路上,它会一直往前开,如果走到死胡同了,它就调头回来再试试别的路,如此不断往复,一直到目的地为止。[我忘了是谁建议的这一条]

Python 是辆非常棒的给初学者用的车,就算没有驾照也能开。除非你想开得超级快,或者想开去很危险的地方,否则你可能永远都用不到别的车。

Ruby 这辆车是因为一次 Perl、Python 和 Smalltalk 三车相撞事故产生的。一个日本的机师找到了这些车的碎片然后拼成了一辆车,很多司机都觉得这比那三辆车加在一起还要好。不过也有些司机会发牢骚说 Ruby 型汽车的好多控制器都是重复的、甚至有三份,而这些重复的控制器在某些特别的情况下又稍有不同,这会让这车开起来更麻烦。据传说重新设计的工作已经在进行中了。

Smalltalk 是辆小型汽车,原本是设计给那些打算学驾驶的人用的,不过因为它设计得太棒了,即使那些有经验的老司机都喜欢开它。它速度并没有很快,不过你可以把它的任何一个零部件拿下来改造改造,让它更符合你的期待。古怪的事情是,你其实并没有真正地驾驶它,你只是发了条消息让它去什么地方,然后它要么就开过去了,要么就告诉你它不懂你在说啥。

版本1:汇编就只是个发动机。你得自己把车子造出来,还得在它跑的时候手动给它加油。不过只要你足够小心,它就能像来自地狱的蝙蝠(a bat out of hell)一样飞速前进。

版本2:汇编:你自己就是那辆车。

如果编程语言是种武器:

C 语言是 M1 式加兰德步枪,很老但可靠。

C++是双截棍,挥舞起来很强悍,很吸引人,但需要你多年的磨练来掌握,很多人希望改用别的武器。

Java 是 M240 通用弹夹式自动机枪,有时它的弹夹是圆的,但有时候不是,如果不是,当你开火时,会遇到 NullPointerException 问题,枪就会爆炸,你被炸死。

Scala 是 M240 通用机枪的变种,但它的使用手册是用一种看不懂的方言写的,很多人怀疑那只是一些梦话。

JavaScript 是一把宝剑,但没有剑柄。

Go 语言是一种自制的“if err != nil”发令枪,每一次发射后,你都必须要检查它是否真的发射了。

Rust 语言是一种 3D 打印出的枪。将来也许真的能派上用场。

bash 是一个十分碍手的锤子,你抡起它时会发现所有东西看起来都像钉子,尤其是你的指头。

Ruby 是一把外嵌红宝石的宝刀,人们使用它通常是因为看起来很炫。

PHP 是水管子,你通常会把它的一段接到汽车的排气管,另一端插进车窗里,然后你坐进车里,开动引擎。

Mathematica 是一种地球低轨道粒子大炮,它也许能够干出很神奇的事情,但只有付得起费用的人才能使用它。

C#是一种强悍的激光大炮,架在一头驴子上,如果从驴子上卸下来,它好像就发不出激光。

Prolog 语言是一种人工智能武器,你告诉它要做什么,它会照做不误,但之后,它会弄几个终结者出来,烧掉你的房子。

Lisp 语言是一把剃须刀,有很多款式。只有寻求刺激和危险的人才会使用它。

希望可以帮到您,谢谢! 

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-06-01
不下200种

A+BAT

A+
A++
A# .NET
A# (Axiom)
A-0
ABAP
ABC
ABC ALGOL
ABLE
ABSET
ABSYS
ACC
Accent
ActionScript
Ace DASL
ACT-III
Ada
APL
AWK
B
BACI
Baja
BASIC
bc
bcompile
BCPL
BeanShell
BETA
Bigwig
Big Snake
Bistro
BLISS
Blitz Basic
Block And List Manipulation (BALM)
Blue - Rejected prototype for Ada
Blue
Boo
Bourne shell - a.k.a sh
Bourne-Again shell - see Bash
Boxx
BPEL - Business Process Execution Language
Brainfuck
BUGSYS
BuildProfessional
BYOND
C
C--
C-script
C++ - ISO/IEC 14882
C# - ISO/IEC 23270
C shell (csh)
Caché ObjectScript - See also Caché Basic
Caml
Cat
Cayenne
C-BOT
Cecil
Cesil
Cg
Ch interpreter (C/C++ interpreter Ch)
Chapel
CHAIN
Charity
Chef
Chey
CHILL
CHIP-8
chomski
Chrome
ChucK
Cilk
CICS
CL
Clarion
Clean
Clipper
CLIST - Programming language for online applications in the MVS TSO environment
CLU
CMS-2
COBOL - ISO/IEC 1989
CobolScript
Cobra
CODE
ColdFusion
COMAL
Common Intermediate Language (CIL)
Common Lisp
Component Pascal
COMIT - List or string processing language
Concurrent Clean
Constraint Handling Rules
CORAL66
Corn
CorVision
COWSEL
CPL
CSP
Csound
Cue
Curl
Curry
Cyclone
D
Dao
DASL - Distributed Application Specification Language
DASL - Datapoint's Advanced Systems Language
DarkBASIC
DarkBASIC Professional
Dataflex
Datalog
dBASE
dc
Deesel (formerly G)
Delphi
Dialect 等
第2个回答  2019-01-04
编程语言有多种,百战程序员课程覆盖面广泛,主要有java,Python,大数据,人工智能,区块链,web前端等。
相似回答