10大怪异的编程语言

开发 项目管理
有时候编程语言设计者们会创建一些违背这些原则的语言,要么供研究使用要么纯属娱乐。下面是10种最怪异的最不切实际的编程语言。

人们都认为编程语言很容易使用和学习。编程语言应该给你提供数据结构让你来解决实际问题,它们的语法也应清晰明了,容易理解且执行速度快,没有任何 bug。但有时候编程语言设计者们会创建一些违背这些原则的语言,要么供研究使用要么纯属娱乐。下面是10种最怪异的最不切实际的编程语言。

 1)LOLCODE

很少有编程语言像LOLCODE这样注入了这么多网络时代的成分(译者注:LOLCODE是一种建立在高度缩写的网络英语之上的编程语言)。它由英国兰卡斯特大学研究员 Adam Lindsay于2007年创建,该语言的关键字都是大写的且meme-fied.。你几乎可以想象一个猫在生产中使用它。

  1. HAI 
  2. CAN HAS STDIO? 
  3. I HAS A VAR 
  4. IM IN YR LOOP 
  5.    UP VAR!!1 
  6.    VISIBLE VAR 
  7.    IZ VAR BIGGER THAN 10? KTHX 
  8. IM OUTTA YR LOOP 
  9. KTHXBYE 

与该份列表中的大部分语言一样,LOLCODE没有标准库可言。这意味着你只能使用LOLCODE来读取文件或写入文本到控制台而不能干其他的事。如果你需要功能更强的版本,那么看看因LOLCODE受到启发的LOLPython,它可以让你访问所有Python的强大的功能库。

更多的代码和例子请看基百科介绍。

 2)Glass

Glass是一门深奥的编程语言,由Gregor Richards于2005年发展起来。它将非直观的后缀符号与沉重的面向对象结合起来,需要一个主栈与其面向对象的结构相结合才能进一步玩出花样。据作者所言没有其它的语言像这样执行,因为看起来非常的白痴。

下面是该语言的一个例子,程序输出Fibonacci 序列:

  1. {F[f(_a)A!(_o)O!(_t)$(_n)1=,(_isle)(_n)*(_a)(le).?=/(_isle)^\(_n)*(_a) 
  2. s.?(_t)f.?(_n)*(_a)s.?(_t)f.?(_a)a.?]}{M[m(_a)A!(_f)F!(_o)O!(_n)=(_nlm) 
  3. =/(_nlm)(_n)*(_f)f.?(_o)(on).?" "(_o)o.?(_n)(_n)*(_a)a.?=(_nlm)(_n)* 
  4. (_a)(le).?=\]} 

更多的例子和说明请看这个网页。

 

 3) Brainfuck

Brainfuck是晦涩难懂的语言巨星,受到了大批崇拜者的追捧。该语言是出了名的难以编程,仅有8个简单的命令和一个指令指针。它的设计就是为了挑战和娱乐程序员,而不是为了用于实际用途。它由Urban Müller于1993年创建。

下面是“Hello world!”的例子:

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

更多请看 这里

4) Chicken

Chicken不仅是语言的名字,也是该语言允许的唯一关键字。关键字重复的次数和换行决定执行的具体操作。下面是一个例子,你能猜出它是干嘛的吗?

  1. chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken 
  2. chicken chicken chicken chicken chicken chicken 

更多请看这篇文章

 5) Whitespace

Whitespace是一门很出色的编程语言。它仅通过空格、制表符和回车来理解并忽略所有其他字符。这个特性还允许Whitespace程序隐藏 在其他语言程序的源代码中,例如JavaScript,Javascript的缩进就是用空格写的。下面是一个例子用以打印“Hello, world!”(S表示单个空格,T表示制表符):

  1. S S S T S S T   S S S 
  2. T   
  3. S S S S S T T   S S T   S T 
  4. T   
  5. S S S S S T T   S T T   S S 
  6. T   
  7. S S S S S T T   S T T   S S 
  8. T   
  9. S S S S S T T   S T T   T   T   
  10. T   
  11. S S S S S T S T T   S S 
  12. T   
  13. S S S S S T S S S S S 
  14. T   
  15. S S S S S T T   T   S T T   T   
  16. T   
  17. S S S S S T T   S T T   T   T   
  18. T   
  19. S S S S S T T   T   S S T   S 
  20. T   
  21. S S S S S T T   S T T   S S 
  22. T   
  23. S S S S S T T   S S T   S S 
  24. T   
  25. S S S S S T S S S S T   
  26. T   
  27. S S 

学习更多请看这里

6) ///

///是一门极简派风格的编程语言,仅包含一个操作—即用/source/replacement/这样的形式进行字符串替换。它由Tanner Swett于2008年发明。该语言的功能十分有限,但是一些聪明的程序员能够将字符串替换转换为完整的工作程序,用以循环和输出数据,下面是一个简单的 “Hello, world!”的程序:

  1. / world! world!/Hello,/ world! world! world! 

学习更多请看这里

7) Befunge

Befunge是一个二维编程语言。你的代码放在一个固定大小的场地,该场地的每一列都能存放代码或者数据,你的程序可以替换任何想要替换的列。解释器从左上列开始从左到右解析。你可以用特殊的方向指令控制解释器的方向。例如,下面是一个无线循环的例子:

  1. >
  2. ^< 

而下面这个是“Hello, world!”的程序:

  1. 0"!dlroW ,olleH">:#,_@ 

学习更多请看这里

8) Piet

Piet编程语言的程序看起来都像抽象画的位图,基本的构建块就是颜色块。它支持20种不同的颜色,有些实现支持的更多。编译器由图像周围的移动“指针”引导,在图像中从一个色块移动到下一个。下面是一个“Hello world!”程序:

[[92225]]

Hello World in Piet

学习更多请看该语言的主页

 9) Malbolge

Malbolge语言由Ben Olmstead于1998年发明,以“但丁的地狱”中地狱的第8圈命名。该名字不是随机选取的—该语言设计的初衷就是为了不可能写出有用的编程语言。在 创建几年后,有人发现了设计中的漏洞使其能写Malbolge程序。你必须得成为一个密码科学家才能用它写出有意义的程序。下面是Malbolge中看起 来像‘Hello World!”程序:

原文链接:http://tutorialzine.com/2013/12/the-10-weirdest-programming-languages/

译文链接:http://blog.jobbole.com/53408/

责任编辑:陈四芳 来源: 伯乐在线
相关推荐

2020-10-13 18:14:05

IT编程语言编码

2020-10-13 15:11:18

编程语言薪资IT

2015-08-21 10:18:17

热门编程语言Java

2011-04-27 09:12:14

PHPjavascriptjava

2020-10-19 11:41:32

技术资讯

2015-03-27 10:16:48

编程流行编程语言编程创造者

2013-11-28 09:55:22

算法面试

2015-10-19 13:49:00

朋友圈社交网站

2021-08-30 08:00:00

编程语言WebAssembly安全

2018-08-14 11:05:25

2020-04-04 20:51:40

物联网编程语言开发

2010-07-14 17:03:52

编程语言

2013-07-03 09:33:04

PHPPHP语言PHP教程

2013-07-03 09:09:45

PHP开发

2013-09-13 14:08:01

2019-10-11 15:46:29

编程语言JavaJavaScript

2020-08-19 08:18:59

编程语言JavaPython

2021-11-25 08:00:00

人工智能编程语言开发

2015-01-04 11:21:52

编程语言

2010-12-14 08:35:13

编程语言
点赞
收藏

51CTO技术栈公众号