前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >世界上最好玩的6种表情符号编程语言

世界上最好玩的6种表情符号编程语言

作者头像
艾小仙
发布2021-01-05 09:51:21
1K0
发布2021-01-05 09:51:21
举报
文章被收录于专栏:艾小仙

谁能想到我们最喜欢的表情符号可以用来设计新的编程语言?聪明有才华的人已经想象并开发出了成熟的编程语言,我们可以用它来编写表情符号和表情符号。

这些基于表情符号的语言大多是深奥的编程语言( esoteric programming language),称为esolang。然而,这些语言相对来说比其他语言更容易理解。

esolang的定义是:

Esolang 不是为普通的软件开发目的而设计的。他们只是是作为一个概念的证明或者就是一个笑话。

如果你想了解世界上最难的语言,你可以看看我的另一篇文章。让我们看看这五种可以使用表情符号和表情符号来编程的语言。

Emoji

Emoji使用一个预定义的表情符号列表来生成语言命令,这些表情符号可以作为标志,Emoji是一个基于栈的语言。除了表情符号之外,其他所有字符都被视为字符。下面是在 Emoji 打印Hello World! 的代码片段。

代码语言:javascript
复制
?Hello, World!?➡

输出结果如下:

这是这个语言的文档:

代码语言:javascript
复制
?: Read until the next ? and puts that string onto the stack
⛽: Reads until the next ? and puts that string onto the stack (can be nested, meant for storing functions)
➡: Prints a value from the stack
?: Puts True onto the stack
?: Puts False onto the stack
?: Inverts a boolean value from the stack
?: Adds two numbers from the stack
?: Multiplies two numbers from the stack
?: Subtracts two numbers from the stack
?: Divides two numbers from the stack
?: Divides two numbers from the stack, returns the remainder
?: Rounds a number to the nearest integer
?: Rounds down a number from the stack
?: Rounds up a number from the stack
?: Converts a number to a hex string
?: Converts a string to a number
?: Checks if two numbers are equal
?: Checks if a number is less than another
?: Checks if a number is greater than another
?: Takes a boolean from the stack.  If false, skips to the next ?.
?: If the last ? did not skip past stuff, skip to the next ?.
?: Takes two strings from the stack.  Runs the first, takes a boolean.  If true, runs the second and repeats.
?: Duplicates a stack entry
?: Converts a character to its character code
?: Converts a character code to its character
?: Takes two objects, saves the first to a variable identified by the second
?: Takes an object, returns the value from the variable by that name
?: Returns the length of a string or array from the stack
✂: Takes a string and two numbers.  Returns the substring from the string from the first number (inclusive) to the second number (exclusive).
?: Evaluates a string
?: Creates an empty array.
?: Takes an array and an object.  Adds the object to the end of the array.  Does not return anything, you'll want to use variables with this.
?: Takes an array or string and an index.  Returns the value at that index.
?: Swaps two elements on the stack.
?: Capitalize a string.
?: Change a string to lowercase.

Emojicode

Emojicode是一种面向对象程序设计语言,我们可以用表情符号来编码,在 Emojicode,使用表情符号让编程变得有趣。它是一种强类型编程语言。该语言的作者讨厌随机空指针异常,因此,在 Emojicode,所有的实例变量都需要初始化,否则就会抛出编译错误。

下面是在 Emojicode 打印Hello World! 的代码片段。

代码语言:javascript
复制
? ?
  ? ?Hello, World!?❗️
? 

输出结果如下:

Emoji-gramming

Emoji-gramming是一个基于表情符号的深奥的编程语言,这种语言总共有25个变量和4个命令,它们都由特定的表情符号表示。表情符号使用心型符号作为常量,例如:

代码语言:javascript
复制
? = 0
? = 1
? = 2
? = 4
? = 8

麦克风(?)符号表示输入,扬声器(?)符号表示打印输出,好像很有道理的样子?下面是打印“ Hello,World! ”的代码片段表情符号:

代码语言:javascript
复制
???
???
???
???
???
???
?♈?
?♈?
??♈
?♈?
?♈?
?♈?
?♈?
??♈
?♉?
?♉?
?♉?
?♉?
??♉
??♉
?♊?
?♊?
?♊?
?♊?
?♊?
?♊?
??♊
?♈?
?♈?
?♈?
??♈
???
?♈?
?♈?
?♈?
?♈?
?♈?
??♈
??♊
?♈?
?♈?
?♈?
?♈?
??♈
??♉
?♈?
?♈?
?♈?
??♈
?♈?
?♈?
??♈
?♈?
?♈?
??♈

输出结果如下:

Emojicoder

这是一个用特定的表情符号表示命令和参数的符号系统,二进制值0和1在 Emojicoder 定义了各自的表情符号。

代码语言:javascript
复制
?=0
?=1
???????? = 01001000 = H

在 Emojicoders 中有两个修饰符如下:

代码语言:javascript
复制
?: Ascii Character 0-255
?: Integer Number 0-255

要打印参数,该语言使用手表情符号(?)作为输出命令。每个命令都需要是新的一行。现在,让我们利用上述知识,在 Emojicoder 打印出Hello,World! 。

代码语言:javascript
复制
?????????? //Output H
?????????? //Output e
?????????? //Output l
?????????? //Output l
?????????? //Output o
?????????? //Output ,
?????????? //Output space
?????????? //Output w
?????????? //Output o
?????????? //Output r
?????????? //Output l
?????????? //Output d
?????????? //Output !

输出结果如下:

Emotinomicon

Emotinomicon 是由康纳 · 奥布莱恩设计和创造的,不再使用表情符号,而是使用表情字符来进行编码。下面是在 Emotinomicon 打印Hello,World! 的代码片段。

代码语言:javascript
复制
?!dlroW ,olleH?⏪⏬⏩

下面是上面代码片段的解释,它可以帮助你尝试执行任何其他字符串,并获得一些乐趣。

代码语言:javascript
复制
?begin quote string
!dlroW ,olleH
?end quote string
⏪open loop
⏬pops and outputs top of stack as character
⏩close loop

输出结果如下:

Emotifuck

Emotifuck使用Rust编写,它使用八个表情符号作为命令,根据语言设计者的说法,它完全是内存安全的。

下面是命令列表和它们的等价符号。

代码语言:javascript
复制
? - Move Right (>)
? - Move Left (<)
? - Decrement (-)[might have been better as output command ;)]
? - Increment (+)
? - Output (.)
? - Input (,)
? - Jump Forward ([)
? - Jump Backward (])

Hello World! 的代码如下。

代码语言:javascript
复制
??????????????????????????????????????????????????????????????????????????????????????????????????????????

最后,祝你编程愉快,周末快乐!

另外,读者群已经开通,讲真的,就算不说话,在群里也能学到不少东西呢。加我微信,备注进群,我拉你!

本文内容90%翻译自这里:https://levelup.gitconnected.com/5-most-amusing-programming-languages-you-can-code-using-emojis-4bfd43bc7614

- END -

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-11-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 艾小仙 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Emoji
  • Emojicode
  • Emoji-gramming
  • Emojicoder
  • Emotinomicon
  • Emotifuck
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档