天下编程语言啊,纷久必争!

百家 作者:聊聊架构 2017-11-03 07:43:37
雨多田光

最近,数据科学家 David Robinson 在 Stack Overflow 发表了《What are the Most Disliked Programming Languages?》一文,文中说他对 Stack Overflow 上开发者们的“Developer Story”数据进行了统计分析,最后得出了一系列排行榜。

在 Stack Overflow 上,开发者新建 Story 的时候,可以选择“想要用到和不想用”的标签贴上。David Robinson 正是通过对大量的这些数据进行分析,写出了该文。在他给出的一系列排行榜中,排除其它平台、类库等因素,有一个“最不受欢迎的编程语言”的统计。

What are the Most Disliked Programming Languages?

看得出来,那些最不受欢迎的语言就是那些目前在快速失去市场的语言,相反,排在最不受欢迎榜单下边的则是那些目前比较火的语言,比如 R、Kotlin。情况当然是这样的:说一个语言火了起来,那就是从它的市场使用情况来看的;而它火不火,其实就是它受欢迎程度的表现。

这个排行,让我想起前阵子 GitHub 公布的 Octoverse 2017(这里是可跳转的,点它)其中也有“最受欢迎语言”的相关数据。

本来写到这里想收手了,突然看到一个有点爆炸的文章,作为面向对象编程思想创始人之一的 Alan Kay 在 Quora 上却表示“Lisp是有史以来最伟大的编程语言”,要知道这种说法本身就会引来其它语言拥趸的强烈不满,再说 Lisp 可是函数式编程语言,这与他创造的面向对象编程思想也是完全不同的。这都是相当劲爆的看点啊。

Alan Kay 文章表达的意思是,Lisp 的影响才是最伟大的,他其实并不是直接在 Lisp 与其它语言的性能、优势、语法等这一层面上去对比。他做了一个比喻:你只要见到了牛顿,那你也就有机会去了解电动力学和相对论,那最终大家都知道最伟大的是牛顿本人。而他指的这个牛顿,很明显,就是说 Lisp。 

看到这里你的麒麟臂有没有发作?下边有个投票,给大家发泄一下。投出你觉得最好的编程语言吧。

<iframe scrolling="no" frameborder="0" class="vote_iframe js_editor_vote_card" data-display-style="height: 548px;" data-display-src="/cgi-bin/readtemplate?t=vote/vote-new_tmpl&__biz=MzIwMzg1ODcwMw==&supervoteid=472793526&token=1198124782&lang=zh_CN" data-src="/mp/newappmsgvote?action=show&__biz=MzIwMzg1ODcwMw==&supervoteid=472793526#wechat_redirect" data-supervoteid="472793526" allowfullscreen=""></iframe>

一不做二不休了,既然这是一个猎奇的小文章,我就顺便整理了一下“奇葩编程语言”,一起放进来,希望读者打多一点猎。

有一个几年前传播得挺不错的文章《Top 13 Most Absurd Programming Languages》(点击文末阅读原文跳转),我下边简单展示一下文中提到的编程语言奇葩是怎么表达“Hello World”的,同时给大家找了相关链接,能不能 FQ 阅读,就看造化了:

13、HQ9+

H: Print “hello, world”
Q: Print the program’s source code
9: Print the lyrics to “99 Bottles of Beer”
+: Increment the accumulator

https://esolangs.org/wiki/HQ9+

12、ZOMBIE

HelloWorld is a zombie
summon
    task SayHello
        say "Hello World!"
    animate
animate

http://www.dangermouse.net/esoteric/zombie.html

11、Ook!

Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook.
Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook?
Ook! Ook! Ook? Ook! Ook? Ook. Ook. Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook.
Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook.
Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook.
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook!
Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook. Ook! Ook.

https://esolangs.org/wiki/Ook!

10、BIT

“Hello World”的一部分

LINENUMBERZEROCODEPRINTZEROGOTOONELINENUMBERONECODEPRINTONEGOTOONEZEROLINENUMBE
RONEZEROCODEPRINTZEROGOTOONEONELINENUMBERONEONECODEPRINTZEROGOTOONEZEROZEROLINE
NUMBERONEZEROZEROCODEPRINTONEGOTOONEZEROONELINENUMBERONEZEROONECODEPRINTZEROGOT
OONEONEZEROLINENUMBERONEONEZEROCODEPRINTZEROGOTOONEONEONELINENUMBERONEONEONECOD
EPRINTZEROGOTOONEZEROZEROZEROLINENUMBERONEZEROZEROZEROCODEPRINTZEROGOTOONEZEROZ
EROONELINENUMBERONEZEROZEROONECODEPRINTONEGOTOONEZEROONEZEROLINENUMBERONEZEROON
EZEROCODEPRINTONEGOTOONEZEROONEONELINENUMBERONEZEROONEONECODEPRINTZEROGOTOONEON
EZEROZEROLINENUMBERONEONEZEROZEROCODEPRINTZEROGOTOONEONEZEROONELINENUMBERONEONE
ZEROONECODEPRINTONEGOTOONEONEONEZEROLINENUMBERONEONEONEZEROCODEPRINTZEROGOTOONE
ONEONEONELINENUMBERONEONEONEONECODEPRINTONEGOTOONEZEROZEROZEROZEROLINENUMBERONE
ZEROZEROZEROZEROCODEPRINTZEROGOTOONEZEROZEROZEROONELINENUMBERONEZEROZEROZEROONE
CODEPRINTONEGOTOONEZEROZEROONEZEROLINENUMBERONEZEROZEROONEZEROCODEPRINTONEGOTOO

http://www.dangermouse.net/esoteric/bit.html

9、Malbolge

 ('&%:9]!~}|z2Vxwv-,POqponl$Hjig%eB@@>}=

http://www.matthias-ernst.eu/malbolge/tutorial/01/learning-malbolge.html

8、INTERCAL

DO ,1 < - #13
PLEASE DO ,1 SUB #1 <- #238
DO ,1 SUB #2 <- #108
DO ,1 SUB #3 <- #112
DO ,1 SUB #4 <- #0
DO ,1 SUB #5 <- #64
DO ,1 SUB #6 <- #194
DO ,1 SUB #7 <- #48
PLEASE DO ,1 SUB #8 <- #22
DO ,1 SUB #9 <- #248
DO ,1 SUB #10 <- #168
DO ,1 SUB #11 <- #24
DO ,1 SUB #12 <- #16
DO ,1 SUB #13 <- #162
PLEASE READ OUT ,1
PLEASE GIVE UP

http://progopedia.com/language/intercal/

7、Whitespace

Hello World 的一部分

https://www.whoishostingthis.com/resources/whitespace-programming/

6、Shakespeare

[Enter Juliet]
[Enter Romeo and Juliet]
[Exit Romeo]
[Exeunt Romeo and Juliet]
[Exeunt]

http://shakespearelang.sourceforge.net/report/shakespeare/

5、Piet

http://progopedia.com/language/piet/

4、Chef

Put cinnamon into 2nd mixing bowl

https://esolangs.org/wiki/Chef

3、Brainfuck

++++++++++[>+++++++>++++++++++>+++>+< <<<-]>++.>+.+++++++
..+++.>++.< <+++++++++++++++.>.+++.------.--------.>+.>.

http://www.muppetlabs.com/~breadbox/bf/

2、Befunge

"dlroW olleH">:v
^,_@

http://progopedia.com/language/befunge/

1、Lolcode

HAI
CAN HAS STDIO?
VISIBLE “HAI WORLD!”
KTHXBYE

https://gist.github.com/sharmaeklavya2/8a0e2581baf969be0f64

看这些作者的脑回路。。。

不说了,大家也去试试造一下自己的编程语言吧,也不用说写出一个能在机器上运行的语言,先把整体的语言逻辑设计好就已经够酷了。


下边是本文开头提到的《What are the Most Disliked Programming Languages?》地址:

https://stackoverflow.blog/2017/10/31/disliked-programming-languages/


下边是巴尔干半岛坐标:

https://www.quora.com/What-did-Alan-Kay-mean-by-Lisp-is-the-greatest-single-programming-language-ever-designed/answer/Alan-Kay-11




天冷了
注意保暖
感谢阅读

关注公众号:拾黑(shiheibook)了解更多

[广告]赞助链接:

四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

公众号 关注网络尖刀微信公众号
随时掌握互联网精彩
赞助链接
百度热搜榜
排名 热点 搜索指数