難解プログラミング言語とは?
自分は大学時代から、プログラミングを学んでいる。
プログラミングは常にトライアンドエラー、新しい学びの連続で、プログラムを書いている時間は自分にとって至高の一時だ。
ただその中には当然、悩ましい事もある。
その一つが、「リーダブルコードを書く」という意識を持つ事だ。
リーダブルコードとは、機械(コンピュータ)だけでなく人間が見ても分かり易いコードの事だ。
エンジニアなら誰でも、出来るだけ「リーダブルコード」を書く意識をする事を余儀無くされる。
Pythonをはじめ、リーダブルコードが書きやすく設計された言語も最近では増えてきている。
しかし驚くべき事に、世の中には「リーダブルコード」を書かせないように設計されたプログラミング言語があるらしい。
それが今回扱う「難解プログラミング言語」だ。
難解プログラミング言語の定義
意図的に読解が困難なように設計されたプログラミング言語
これが難解プログラミング言語の定義らしい。
そこまで言うのなら読んでやろうという筆者の反骨精神から、難解プログラミング言語とやらを検索してみた。
orz.
文字通り難解すぎて歯が立たなかった。
そう、難解すぎるのだ。
何回でも言う、難解すぎるのだ。←
という訳で今回は、そんな難解プログラミング言語の中から、選りすぐりの難解さを誇る三つの言語を紹介していきたいと思う。
Brainfuck
上の画像がプログラミング言語のソースコードだと誰が思うだろうか。
何も知らない人間がこれを見たところで、「幼児が誤ってキーボードを触って打ち込まれた文字の羅列」程度にしか思わないだろう。
しかしながらこれも立派なソースコードなのである。
因みにこの言語「Brainfuck」はコンパイラが非常に小さく、しかもチューリング完全であるらしい。(チューリング完全の細かい定義は正直よく把握していないが、とりあえず「万能である」とだけ思っておけば良さそうだ)
Piet
突然抽象画を貼りつけて芸術の世界にでも引き摺り込むつもりなのかとお思いかもしれないが、そんなつもりは毛頭無い。
これは「Piet」という歴としたプログラミング言語のソースコードだ。
お分かりの通りこの言語は文字ではなく色を組み合わせて記述する。
よく「プログラミングは芸術だ」などと発言するプログラマーがいるが、この言語を描いていればエンジニアをしながら芸術家にもなれる。まさに一石二鳥。(但しなれるのは抽象絵画しか書かないイロモノ芸術家だが)
Whitespace
今までのようにソースコードの画像を貼ってやりたいところだが、この言語の場合それができない。
何故ならこの言語は「空白文字」だけで記述される言語だからだ。
勿論空白文字だけなので、ソースコードを貼りつけたところで見た目には何も存在せず、突然誤って改行をしまくるミスを犯したようにしか見られない。
一見するとプログラムの内容どころか、何かが存在することすら判らないという、「難解プログラミング言語」を体現した言語といって良いだろう。
まとめ
如何だっただろうか。
この他にも難解プログラミング言語は沢山存在しており、こうしている今でも増え続けている。
これらの言語は、ハッカー達による高度な遊びの遺産として、この先も残り続けるだろう。
この記事が気に入ったらサポートをしてみませんか?