OCamlの問題は、「箱から出してすぐに」あまり便利ではないことだと思います。人々が言語を使用する最終的な理由は、必要なライブラリがあるためです。しかし、「箱から出してすぐに」何もなければ、ライブラリに書き込む必要があることを理解するのに十分なほどプロジェクトに踏み込む人はいません。その結果、ライブラリのない言語となり、「本物のアプリ」を書くことが難しくなります。
これはOCamlが苦しんでいることだと思います-プログラミング言語がすべてあるので、だれも「実際のプロジェクト」を開始することを気にしません。はい、2つ追加して結果を印刷できます。その結果、ほとんどがアカデミックな放棄されたライブラリのコレクションが作成され(著者は博士号を取得し、次の段階に進みました)、プログラマーの練習にはあまり役立ちません。
(「Batteries Included」のようなプロジェクトで、これを変更する作業が進行中であることは知っています。5年後にここに戻ってください。おそらくOCamlがもっと普及するでしょう。)
この規則にはいくつかの例外があります。Javaはライブラリなしで開始されましたが、Sunはそれらをすべて社内で作成するために人々に支払い、それから彼らはそれから地獄を売り出しました。Java認定、Java固有のハードウェア、Javaブック、Javaクラスなど。プログラミングの学習に使用するのにあまり適した言語ではありませんが、ほとんどの大学にそれだけを教えるよう説得しました。
結果は人気でした。お金は多くの問題を解決できます。
関数型言語の分野では、Haskellが非常に人気を博していることがわかります。人気の大部分は、便利なライブラリを書くドンのような人々によるものであり、言語のマーケティングをやめることはないだろうと思います。毎日、Redditのプログラミングに関するHaskellの記事をご覧ください。これにより、「Haskellを試してみる」と最終的に決定するまで、人々の心にとどまります。実行すると、Webフレームワーク、オブジェクトデータベース、OpenGLライブラリ、XML処理ライブラリなどの便利なものが表示されます。これは、彼らが実際に「今すぐ」役に立つ何かをすることができることを意味します。そのため、生産性の可能性とそれについて多くのことを聞くことの間で、Haskellは多くの人気を得ています。
CLにはHaskellと同じライブラリが多数あり、ほぼ同じ速度ですが、誰もそれについて語っていないため、「死んでいるように感じます」。実際、#lispは#haskellよりもずっと静かですが、Lispは依然として多くのライブラリを備えた非常に生産的な言語です。他の言語にはSLIMEがありません。しかし、マーケティングは非常に重要であり、HaskellはLispやOCamlよりも優れています(同じユーザーベースで競合しています)。
最後に、一部の人々はプログラミングを「取得」しないため、メンタルモデル(変数は値を持つボックスであり、コードは上から下に実行されます)を破ると、言語を使用しないようになります。このタイプのプログラマーはプログラミング人口の大部分を占めているため、Lisp、Haskell、OCamlなどの抽象言語のユーザーベースをさらに制限します。