文档章节

史上最奇葩的5种编程语言,有的甚至模拟奶牛

OneAPM蓝海讯通
 OneAPM蓝海讯通
发布于 2016/06/12 12:57
字数 1628
阅读 80
收藏 3

【编者按】本文作者为 Deepak Karanth,主要介绍世上最怪异、最难用的5种编程语言。文章系国内 ITOM 管理平台 OneAPM 编译呈现。

最难学编程语言有哪些?很多人都用过Java,C,C++之类的编程语言编写代码。再早几年,很多人会使用Pascal,Fortran,COBOL等编程。在学习这些语言的过程中,会遇到足够的挑战,让你抓狂。但是最终,当你投入足够的时间和精力之后,一切也变得顺利起来。

但是,也的确有些难到极致的编程语言。这些语言被称为极品编程语言。创造它们的原因通常是为了测试编程语言设计的临界,或者只是一个玩笑。好消息是,它们永远不会成为主流,所以你不需要学习它们!

闲话少说,最难的(或最怪异的?)编程语言是……

##Brainfck Brainfck由Urban Müller在1993年创建的, 目的是为Amiga OS 2.0版本打造使用最小的编译器的语言。

Brainf * ck主要操纵内存单元数组,此数组也被称为纸带(the tape),被初始化为0。Brainf * ck只提供了8个指令。

8个指令为 ><+-.,[]

“Hello world” code looks like this: 其“Hello world”代码是这样的:

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

参考阅读

##COW 对。就是母牛的Cow.

COW编程语言设计时充分考虑了母牛的想法。鉴于母牛的词汇有限,因此只包含了它们仅有的词汇。因此,所有指令都是“moo”的变体,恰好是母牛能理解的唯一词汇。

其他非指令的词汇或符号则被完全忽略。因此,空格可有可无,换行符也可有可无。因此,注释COW程序非常简单,只要不使用任何嵌入指令的词汇就行了。

MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO Moo MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO Moo MoO MoO MoO MoO MoO MoO MoO Moo Moo MoO MoO MoO Moo OOO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO Moo MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO Moo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo Moo MOo MOo MOo MOo MOo MOo MOo MOo Moo MoO MoO MoO Moo MOo MOo MOo MOo MOo MOo Moo MOo MOo MOo MOo MOo MOo MOo MOo Moo OOO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO Moo

参考阅读

##INTERCAL 全称为The Compiler Language With No Pronounceable Acronym,缩写为INTERCAL。表达式看起来类似线路噪音。而指令构造会让你抓狂,大笑,甚至大骂。

INTERCAL还有许多其他特性,让程序员很难接受:它使用“READ OUT”,“IGNORE”,“FORGET” 之类的声明,“PLEASE”之类的修饰符。使用“PLEASE”时,若遭到编译器的拒绝,原因一般有二:如果没有经常使用“PLEASE”,该程序会被认为不够礼貌,且会有提示信息;如果使用得过于频繁,则会被认为过分礼貌。

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

参考阅读

##Whitespace 发布于2003年4月1日,大多数人认为这是一个愚人节玩笑;但它不是。在Whitespace语言中,只可使用空格,制表符和换行符。Whitespace解释器忽略任何其他非空白字符。不过,有趣之处在于,Whitespace程序可以轻易隐藏在其他语言的空白符中。

参考阅读

##Chef Chef是一个基于栈的语言,程序看起来就像菜谱。

根据Chef的主页,Chef的设计原则是:

  • 程序食谱不仅要生成有效的输出,也要容易准备,并且美味。
  • 食谱可以根据不同的预算调节。
  • 食谱是公制的,但也可以使用传统烹饪度量工具,比如杯子和汤匙。

其“Hello world”是这样的!

Ingredients. 72 g haricot beans 101 eggs 108 g lard 111 cups oil 32 zucchinis 119 ml water 114 g red salmon 100 g dijon mustard 33 potatoes Method. Put potatoes into the mixing bowl. Put dijon mustard into the mixing bowl. Put lard into the mixing bowl. Put red salmon into the mixing bowl. Put oil into the mixing bowl. Put water into the mixing bowl. Put zucchinis into the mixing bowl. Put oil into the mixing bowl. Put lard into the mixing bowl. Put lard into the mixing bowl. Put eggs into the mixing bowl. Put haricot beans into the mixing bowl. Liquefy contents of the mixing bowl. Pour contents of the mixing bowl into the baking dish. Serves 1.

参考阅读一参考阅读二

##其他语言…… 其实,还有更多难到极致的奇怪语言。请访问此处,获得更多信息!

本文系 OneAPM 工程师整理呈现。OneAPM 能为您提供端到端的应用性能解决方案,我们支持所有常见的框架及应用服务器,助您快速发现系统瓶颈,定位异常根本原因。分钟级部署,即刻体验,性能监控从来没有如此简单。想阅读更多技术文章,请访问 OneAPM 官方技术博客

本文转自 OneAPM 官方博客

原文地址:https://dzone.com/articles/most-difficult-and-strangest-programming-languages

© 著作权归作者所有

OneAPM蓝海讯通
粉丝 94
博文 631
码字总数 1266889
作品 0
海淀
私信 提问
VS Code 神器插件:代码一键运行,支持超过 40 种语言!

记得两年多前,笔者那时还在写 PHP,同时需要写 Python 和 Node.js 。所以在那时,支持多种语言的 VS Code 已经是笔者的主力编辑器了。唯一不足的是,笔者希望在 VS Code 里,能有一种快捷的...

CSDN资讯
03/21
0
0
屌炸天,Oracle 发布了一个全栈虚拟机 GraalVM,支持 Python!

前阵子,Oracle 发布了一个黑科技 "GraalVM",号称是一个全新的通用全栈虚拟机,并具有高性能、跨语言交互等逆天特性,真有这么神奇? GraalVM 简介 GraalVM 是一个跨语言的通用虚拟机,不仅...

Java技术栈
2018/07/26
0
0
神经网络模型:当网络开始产生类似于人类思维的过程

01 对于人和动物来说,我们的机器是用神经元制造的,也就是神经网络。 人类对于智能如何工作的图景,是建立在大脑如何工作的简单想法基础上的。 神经元很复杂,但是人类已经初步识别出神经元...

竹说
05/16
0
0
厉害了,Oracle 发布了一个全栈虚拟机 GraalVM,支持 Python!

前阵子,Oracle 发布了一个黑科技 "GraalVM",号称是一个全新的通用全栈虚拟机,并具有高性能、跨语言交互等逆天特性,真有这么神奇? GraalVM 简介 GraalVM 是一个跨语言的通用虚拟机,不仅...

Java技术栈
2018/07/26
271
1
【POJ - 3040】Allowance(贪心)

Allowance 原文是English,这里就放Chinese了 Descriptions: 作为创纪录的牛奶生产的奖励,农场主约翰决定开始给Bessie奶牛一个小的每周津贴。FJ有一套硬币N种(1≤N≤20)不同的面额,每枚硬...

Sky丨Star
06/20
0
0

没有更多内容

加载失败,请刷新页面

加载更多

JS实现使用Math.random()函数生成n到m间的随机数字

Math.random()函数返回0和1之间的伪随机数,可能为0,但总是小于1,[0,1) 生成n-m,包含n但不包含m的整数: 第一步算出 m-n的值,假设等于w 第二步Math.random()*w 第三步Math.random()*w+n...

张兴华ZHero
26分钟前
4
0
入门了解Service Mesh + Istio?从本文开始

下周六,深圳,阔别已久的线下技术沙龙要和你见面啦! 现场有Rancher Labs研发经理demo刚刚发布的Rancher 2.3中的Istio、Windows容器、集群模板等功能及使用,还有k3s首次线下workshop,由R...

RancherLabs
28分钟前
4
0
Gradle 发布 Jar 到 Archiva 时提示不能 Overwriting released artifacts is not allowed

系统提示错误信息: Received status code 409 from server: Overwriting released artifacts is not allowed. 这是在 Archiva 默认的配置下如果你不是使用 snapshot 配置的话,是不允许对仓...

honeymoose
29分钟前
4
0
二维码插件之qrcode.min.js

文件链接百度云地址 https://pan.baidu.com/s/1nWiBuT4Z7WOAMoUEFL8PZg 入门 http://www.jq22.com/jquery-info294 使用jquery.qrcode.min.js实现前台二维码生成(带Logo) https://blog.csd......

木九天
39分钟前
3
0
开源 java CMS - FreeCMS2.8 自定义标签 commentPage

项目地址:http://www.freeteam.cn/ commentPage 根据参数提取评论对象。 参数 说明 siteid 站点id objtype 评论对象类型 objid 评论对象id membername 会员名称 isanonymous 是否匿名 1是 ...

freeteam
39分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部