5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

株式会社デジタルクエスト エンジニアAdvent Calendar 2019

Day 21

わざわざ他の言語より使いにくく作った言語、esolang

Posted at

みなさん、esolangのことご存知でしょうか。

面白そうなので、今回話してみようかと思います!わーい

#Esoteric programming language
わざわざ他のプログラミング言語に比べて使いにくく作った言語の話です。

##なんで作る?
制作理由はだいたいがコンピュータプログラミング言語とプログラマーのメンタルの限界をテストするために(笑)
絶対に実用的なプログラミングに適用するための意図ではないです。

##esolangの要素
ループ文、代入文、条件文みたいな正常な文法構造がほぼなくて、ポインタ、スタック、キュ、メモリ構造みたいな資料構造に直接接近する言語がほとんどです。

###brainf**k
代表的なeslang. 1993年ウアーバンミューラーが制作したもので、制作したファイルの拡張 .b/.bf.です。開発目的は一番小さいコンパイラーで具現できるチューリング完全プログラミング言語を作ること。世の中で一番単純で一番複雑な言語が会う言語で、プログラミングで使用される文字は+-][><,. の8文字だけらしいです。

> : ポインター増加
< : ポインター減少

  • : ポインターが指すバイト値を増加
  • : ポインターが指すバイト値を減少
    . : ポインターが指すバイト値をアスキーコード文字に出力
    , : ポインターが指すバイトにアスキーコードの値を入力する。簡単にゆうと入力される役割
    [ : ポインターが指すバイトの値が0になるとペアになる]に移動する。
    ] : ポインターが指すバイトの値が0にじゃナイトペアになる[に移動する

以外に空白、改行などのその他の文字は全て処理されないです。

helloworld出力コード
++++++++++
[>+++++++>++++++++++>+++>+<<<<-]
\>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.

まーこんな感じらしいです。宇宙語感。。
気になる方はこちらを参考してください
https://ja.wikipedia.org/wiki/Brainfuck
個人的にニャルコという派生言語が可愛かったです(笑)

###韓国語のesolang
また、韓国語で作られたesolangもあります。
これを記事に書こうとした理由は、韓国語だけど読めない言語だからです。
アヒ(아희)という言語です

helloworld出力コード
뱔뿌둬뱺쀠더빠뚜
터벚봃떠빠뷹붏뼤
나퍄따쀄븈뵳두받
붏타볻뚜벓탸볐밢
떠볽뻐뷦투희맣어

これ、まるで文字化けの形になっています。
ハングルだけでプログラミングできるハングルプログラミング言語で、ハングルで出来たプログラミング言語のなかで一番目に発表されたesolangでもあります。アヒはハングル字形のデザインを活かせるプログラミング言語という目的を持って作られたそうです。ただ、ハングルでプログラミングすることで、韓国語ではないので知らずみたら外界語、そのものになります。

どの構成なのか説明しようとしたら、ハングルの講座みたいなことになっちゃうので、、
今回の記事はここまでですー

#参考
https://ja.wikipedia.org/wiki/%E9%9B%A3%E8%A7%A3%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E esolang
https://ja.wikipedia.org/wiki/Brainfuck brainf***
https://namu.wiki/w/%EC%95%84%ED%9D%AC ahi

5
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?