こちらを参考にしています!
プログラミングについて調べているとついこのような言葉を見つけました!
難解プログラミング言語
難解プログラミング言語 (なんかいプログラミングげんご)とは、意図的に読解が困難なように設計されたプログラミング言語である。英語では、Esoteric programming language (略して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
一体なんなんだ!?
普通のプログラミングだって難解じゃないか…
そう思い調べてみると普通のプログラミング言語が簡単に見えるほど難しすぎました…
今回は代表的な5つの難解プログラミング言語をご紹介します!
ぜひご覧ください!
難解プログラミング言語5選
プログラミング言語では、最初にどんな言語でも画面に「Hello, World」と表示するプログラムを作ってみるのが慣習となっているので、
今回は各言語でどうすれば「Hello, World」が出力されるのかを載せておきます。
ちなみにプログラミング言語で誰もが知っている”Python”で「Hello, World」を出すには
print(‘Hello World’)
これで「Hello, World」と出力されるのでこれを前提にご覧ください。
1. Brainf*ck
この言語は非常に複雑で、この言語でのコーディングは非常に困難です。
この言語は1993年にUrban Mullerによって作成され、この言語を作成する主な目的は最小限のコード行を記述することでした。
この言語はメモリセルの配列で動作し、プログラムを作成するためにこの言語で定義されているコマンドは8つだけです。
Example: Hello World! Program
++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.——.——–.>+.>.
2. Cow
2003年にSean Heberによって作成されました。
この言語は12の命令で構成されており、この言語で最も面白いのはキーワード「moo」です。 (牛の鳴き声)
Example: Hello World! Program
MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO Moo MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO 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 MOoMOo MOo MOo MOo MOo Moo MOo MOo MOo MOo MOo MOo MOo MOo Moo MoO MoO MoO Moo MOo MOo MOo MOo MOo MOo Moo MOo MOo MOo MOo MOo MOo MOo MOo MooOOO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO Moo
3. Intercal
この言語は1972年にDon WoodsとJames M. Lyonによって作成され、二人ともプリンストン大学の学生でした。
この言語には発音可能な頭字語がありません。
このプログラミング言語の作成者は、この言語をユーザーフレンドリーにするために、Read out、Ignore、Please、Forget などのキーワードを組み込みました。
この言語の面白い点は、プログラマの礼儀正しさをチェックするためにコード内で4 Pleaseキーワードを期待していることです。
これより小さい場合は、プログラマの礼儀正しさが不十分であるとみなされるため、コードは実行されません。
5 または 5 を超える場合は、プログラマが過度に礼儀正しいとみなされるため、実行されません。
Example: Hello World! Program
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
4. Malbolge
この言語は1998年にBen Olmsteadによって導入されました。
驚くべきことに、最初のプログラムを作成するのにほぼ2年かかったということで、この言語の複雑さが想像できます。Ben Olmsteadはこの言語でプログラムを一度も書いたことがないと言われています。
Malbolge はパブリック ドメインの難解な言語プログラミングであり、世界最大難しいプログラミング言語の1つと考えられています。
Example: Hello World! Program
(‘&%:9]!~}|z2Vxwv-,POqponl$Hjihf|B@@>,=<M:9&7Y#VV2TSn.Oe*c;(I&%$#”mCBA?zxxv*Pb8`qo42mZF.{Iy*@dD'<;_?!\}}|z2VxSSQ
5. Whitespace
この言語は。2003年4月1日 (エイプリルフール) にEdwin BradyとChris Morrisによって導入されました。
それが導入された日、人々はそれが冗談だったと思いましたが、実際にこの言語でコードを定める場合、スペース、タブ、および変更のみを使用でき、他の文字は無視されます。
Example: Hello World! Program
ソースコードには空白とタブしか含まれていないため、混合しないでください。
上のリンクを押すと”Hello World!”が出力される空白が載ってあります。
まとめ
いかがだったでしょうか!?
普通のプログラミングでも難しいイメージですが、こんなプログラミング言語なら尚更出来なさそうです…