2023年5月末頃、Racket最新版8.9が登場しました。
C言語脳ウィルスの感染を防げ!
C言語脳ウィルスに羅漢すると
「C言語は全てのプログラミングの基礎」
と言う根拠のない幻覚を見ます。明らかに脳がやられています。
またC言語脳ウィルスに感染すると、脳にダメージを受け、読解力も落ちます。
具体的にはプログラミング言語の仕様書が読めなくなります。従って、自分が使ってるプログラミング言語が本当のC言語かどうかも分からなくなります。
C言語は世界的にはC17を指すのにいまだにANSI Cが「唯一のC言語」だと思い込んだり、あるいは「C言語には複数の仕様がある」等と言う間違った事を言い出します。
つまり、C言語脳ウィルスに羅漢すると「理解力」が大幅に落ちるのです。
C言語脳の恐怖
そしてPython等の他言語を使ってても「これはC言語だ」と言う幻覚は覚めません。覚醒剤常用者並に脳がイカれるのです。
またC言語脳ウィルス羅漢者は非常に暴力的になります。具体的には若いプログラマがC言語仕様書をキチンと読み、それに従ったコードを書いても「ANSI Cスタイルじゃない」と言う事でマウンティングを行ったりします。30年も前のMS-DOSでのコーディングスタイルを若者に強要し、従わないとロクな事を言わないし行いません。
何故彼らは「最新仕様書を読まない」のでしょうか?それはC言語脳ウィルスのせいで学習能力まで低下しているから、です。もう彼らは新しい事を何一つ学びたがらないのです。
恐ろしい事にC言語脳ウィルスは老害まで生み出すのです。
全てC言語脳ウィルスが諸悪の根源なのです。
RacketはC言語脳ウィルスに対処するワクチンです
「C言語は全てのプログラミングの基礎である」と言うのは覚醒剤常用者の見る幻覚と同じです。
真実は「Lispは全てのモダンなプログラミング言語の基礎である」です。PythonやRubyをはじめ、かなりの数のモダンなプログラミング言語がLispの影響下にあります。もっと言っちゃうと「C言語脳ウィルス羅漢者」が「理解できない」機能は基本的には全てLispがルーツです。Haskell、JavaScript、OCaml、Rust、Scala等々は全てLispが具現化したラムダ算法の影響を受けています。
Comp.lang.python のあるメッセージによれば 「自分は Python で遊ぶようになるまで、なぜ LISP がそんなにいいアイデアなのか わからなかった」とのことで、Python は マクロ をのぞく Lisp の主要な機能をすべてサポートしている。-- ピーター・ノーヴィック
今日のすべての言語はFortranかLispに基づいている。まずい方がFortranで、すばらしい方がLispだ。-- レオン・バンブリック
Lispの影響は驚く事にこんなところまで及んでいます。C++やC#やJava。これらは部分的にLispの機能を借りてきています。それらが使いやすいか使いづらいかはさておいて。
「C言語は全てのプログラミングの基礎」どころか、真実は「Lispは全てのモダンな言語の基礎」だと言う事が分かるでしょう。具体的には「C言語脳が理解できない機能」は全てLisp由来だと見て良いです。
もちろんLispで全てをカバー出来る、とは言いません。Lispでは「静的型付け」と「論理プログラム」と言う2つのパラダイムが欠けています。
しかし、それ以外はほぼカバーしている、と言って良いです。
Lispを学んでおけば他のプログラミング言語に移動するのもラクです。何故ならLispは俯瞰した視点を与えられるから、です。
C言語を学んでもC言語しか理解できないC言語脳ウィルス羅漢者とは大違いなのです。
LispはC言語脳ワクチンです。
Lispは実用性がないのか
人によっては「Lispでは実用的なプログラムは書けない」と言います。
いや、「人によっては」じゃないです。C言語脳は、です。
こういう人がいても心配しないでください。そもそもC言語脳はC言語以外理解できません。つまり「Lispが何なのか」知らないのです。
触っただけ、で「知ってるつもりになってる」とは片腹痛いんですが、C言語脳は視覚神経も患っているんで、モノが見えなくなっているのです。
あるいは、MS-DOS時代の貧弱なPC上でLispを触った感想かもしれません。この当時は環境があまりにも貧しかったのでLispがマトモに動かなかったんでしょう。
しかし、今ではこう言えます。「Lispが動かないような環境ではPythonも動かない」と。
効率性から言うとLispはPythonやRubyよりも遥かに上回っています。
確かにLispそのものでプログラミングをする必要性はあまり無いかもしれません。しかし、「C言語を学べばC言語しか理解出来なくなる = 脳にダメージを受ける」のと違い、Lispを学べばLispに影響を受けた全てのモダンなプログラミング言語の「イカした機能」が何なのか、簡単にアタリを付けられます。
C言語脳が「イカした機能を理解出来ず」にダサいコードを書いてる間、Lispを知った貴方は「Lispのイカした機能は言語xでは何なのか」簡単に検索出来て応用出来ます。
それ以上の「実用性」があるのでしょうか?
LISP を勉強しておきたいのは、別の理由からです――それをモノにしたときにすばらしい悟り体験が得られるのです。この体験は、その後の人生でよりよいプログラマーとなる手助けとなるはずです。たとえ、実際には LISP そのものをあまり使わなくても。-- エリック・レイモンド
C言語脳ウィルス対策ワクチン、それが「悟り」の正体です。
怖がらずにRacketを入手しよう
一方、Lispの弱点はむしろ開発環境でした。C言語をインストールする際にMicrosoft Visual C++に頼れば余計な事を一切しなくて良いのに、Lispは一般にはインストールするだけでは使えず、特殊なテキストエディタとややこしい設定が必要でした。
しかし、Lisp方言の1つであるRacketは違います。Microsoft Visual C++やPythonのようにオールインワンです。余計な設定は必要ないです。インストール即使用が可能です。
だからこそRacketは世界で一番ユーザー数がいるLispなのです。
Racketを導入して、C言語脳ウィルスに侵されないようにしましょう。
C言語やめますか?それとも人間やめますか?
人間やめたくない人は是非ともRacketを!
Lisp/Racketを学べばC言語脳に侵されていない「プログラムの書き方」を自然と行えるようになるでしょう。