资讯专栏INFORMATION COLUMN

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

LdhAndroid / 3476人阅读

摘要:编者按本文作者为,主要介绍世上最怪异最难用的种编程语言。这些语言被称为极品编程语言。创造它们的原因通常是为了测试编程语言设计的临界,或者只是一个玩笑。就是母牛的编程语言设计时充分考虑了母牛的想法。

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

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

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

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

Brainf*ck

Brainf*ck由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

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/64820.html

相关文章

  • 架构~微服务

    摘要:接下来继续介绍三种架构模式,分别是查询分离模式微服务模式多级缓存模式。分布式应用程序可以基于实现诸如数据发布订阅负载均衡命名服务分布式协调通知集群管理选举分布式锁和分布式队列等功能。 SpringCloud 分布式配置 SpringCloud 分布式配置 史上最简单的 SpringCloud 教程 | 第九篇: 服务链路追踪 (Spring Cloud Sleuth) 史上最简单的 S...

    xinhaip 评论0 收藏0
  • 上最详细Android Studio系列教程二--基本设置与运行

    摘要:在下拉菜单中选择选择提示或者是设备。创建模拟器建议在创建模拟器前把中的都更新到最新。 原文链接:http://stormzhang.com/devtools/2014/11/28/android-studio-tutorial2/ 上面一篇博客,介绍了Studio的优点与1.0 RC的安装与上手体验,没想到google的更新速度这么快,已经出了RC 2版本,主要是修复一些bu...

    wemallshop 评论0 收藏0
  • 架构~微服务 - 收藏集 - 掘金

    摘要:它就是史上最简单的教程第三篇服务消费者后端掘金上一篇文章,讲述了通过去消费服务,这篇文章主要讲述通过去消费服务。概览和架构设计掘金技术征文后端掘金是基于的一整套实现微服务的框架。 Spring Boot 配置文件 – 在坑中实践 - 后端 - 掘金作者:泥瓦匠链接:Spring Boot 配置文件 – 在坑中实践版权归作者所有,转载请注明出处本文提纲一、自动配置二、自定义属性三、ran...

    church 评论0 收藏0
  • 上最简单SpringCloud教程 | 第四篇:断路器(Hystrix)

    摘要:为了保证其高可用,单个服务又必须集群部署。为了解决这个问题,就出现断路器模型。一断路器简介摘自官网已经创建了一个名为的库来实现断路器模式。较底层的服务如果出现故障,会导致连锁故障。当对特定的服务的调用达到一个阀值是秒次断路器将会被打开。 转载请标明出处: http://blog.csdn.net/forezp/a...本文出自方志朋的博客 在微服务架构中,我们将业务拆分成一个个的服务,...

    Hydrogen 评论0 收藏0
  • 号称上最牛逼几篇博客整理(python+java+js等)

    摘要:百度网盘爬虫博客园上如何邀请好友注册您的网站博客园上如何爬取代理服务器博客园上百度图片爬虫开源中国上中文分词十分重要,推荐博客网站真分页代码该怎么写博客园上磁力爬虫源码公开上兼容所有浏览器的浏览器复制问题 号称史上最牛逼的几篇博客这个说法也许夸张了点,但总体来说楼主整理的博客都是楼主幸苦之作,并且都是围绕去转盘网展开,这些博客几乎透漏了该站的所有技术关键,细节,甚至所有核心代码,我个人...

    WrBug 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<