Loading...

奇妙な言語

Original

2021年8月

人々が自分の経験からすべてのプログラミング言語は基本的に同等であると言うとき、彼らは言語についてではなく、彼らが行ってきたプログラミングの種類についての声明を出しています。

プログラミングの99.5%はライブラリ関数への呼び出しをつなぎ合わせることから成り立っています。すべての人気のある言語はこれにおいて同じくらい優れています。したがって、人気のあるプログラミング言語の交差点でキャリアを全うすることは簡単です。

しかし、プログラミングの残りの0.5%は不均衡に興味深いものです。それが何で構成されているのかを学びたいのであれば、奇妙な言語の奇妙さは追うべき良い手がかりです。

奇妙な言語は偶然に奇妙なのではありません。少なくとも良いものはそうではありません。良いものの奇妙さは、通常のライブラリ呼び出しのつなぎ合わせだけではない何らかの形のプログラミングの存在を示唆しています。

具体的な例:Lispマクロ。Lispマクロは、多くのLispプログラマーにとっても奇妙に見えます。彼らは人気のある言語の交差点にはないだけでなく、その性質上、Lispの方言に変えずに適切に実装するのが難しいでしょう。そして、マクロは確実にグループプログラミングを超えた技術の証拠です。たとえば、そのタイプの問題のための言語を最初に書き、その後に特定のアプリケーションをその中で書くことによって問題を解決することです。マクロでできることはこれだけではありません。これは、現在でも完全に探求されていないプログラム操作技術の空間の一つの領域に過ぎません。

したがって、プログラミングが何であるかの概念を広げたいのであれば、奇妙な言語を学ぶことが一つの方法です。ほとんどのプログラマーが奇妙だと考える言語を選び、その中央値のユーザーが賢いものであることを確認し、この言語と人気のある言語の交差点との違いに焦点を当ててください。この言語で他の言語では言うのが非常に不便なことは何ですか?以前は言えなかったことを言う方法を学ぶ過程で、以前は考えられなかったことを考える方法を学ぶことになるでしょう。

感謝をTrevor Blackwell、Patrick Collison、Daniel Gackle、Amjad Masad、Robert Morrisに、草稿を読んでくれたことに。