What are important languages to learn to understand different approaches and concepts? [closed] Ask Question

What are important languages to learn to understand different approaches and concepts? [closed] Ask Question

ボルトカッターとウォッカのボトルしか持っていないと、すべてがウルフ・ブリッツァーのボートハウスのドアの鍵のように見えます。(xkcd を読んでいないなら、それをハンマーと釘に置き換えてください)

現在、私は Clojure、Python、Java、PHP をプログラミングしているので、C と LISP の構文、および空白文字についてよく知っています。命令型、関数型、不変型、OOP、いくつかの型システムなどについても知っています。今はもっと学びたいと思っています。

異なるアプローチを採用し、実用的なツールの選択や理論的な理解に役立つ言語は何ですか?

別の関数型言語 (Haskell) や別の命令型 OOP 言語 (Ruby) を学ぶ気はありませんし、Brainfuck のような非実用的で楽しい言語を練習したいとも思いません。

私が発見した非常に興味深いことの 1 つは、Factor のようなモノアイコニック スタック ベースの言語です。

ほとんどの概念を理解し、すべての質問に対する答えが得られたと感じたときのみ、自分の個人的な好みをすべて含む独自のおもちゃの言語について考え始めたいと思います。

ベストアンサー1

実用性の問題は非常に主観的なので、私は単に、異なる言語パラダイムを学ぶことは、より優れたプログラマーになるために役立つだけだと言いたい。それ以上に実用的なものがあるだろうか?

関数型、Haskell- やりたくないと言ったのはわかっていますが、本当に考え直したほうがいいです。Clojure や Python で関数型言語に触れたことはありますが、Haskell なしでは十分に体験できていません。Haskell に本当に反対なら、妥協案としては ML か OCaml のどちらかがいいでしょう。

宣言型、データログ- このスロットでは Prolog を推奨する人が多いですが、宣言型言語としては Datalog の方がわかりやすい例だと思います。

配列、J- 私はつい最近 J を発見したばかりですが、これは素晴らしい言語だと思います。J はあなたの心をプレッツェルのようにひねり回します。あなたはそのことに J に感謝するでしょう。

スタック、因数/四分の一- Factorは非常に強力で、できるだけ早く掘り下げるつもりです。Forthはスタック言語の祖先であり、追加のボーナスとして実装が簡単自分でやってみましょう。実践を通して学ぶということには意味があります。

データフロー、Oz- オズの影響力は上昇傾向にあり、今後もさらに拡大していくと思います。

プロトタイプベース、JavaScript / Io / Self- Self は、プロトタイプベースの言語の祖先であり、大きな影響力を持っています。これはクラスベースの OOP と同じではなく、そのように扱うべきではありません。プロトタイプ言語にたどり着いてアドホックなクラス システムを作成する人は多くいますが、あなたの目標が自分の考えを広げることであるなら、それは間違いだと思います。言語を最大限に活用してください。読む授業なしでプログラムを編成するアイデアのために。

エキスパートシステム、CLIPS- 私はいつもこれをお勧めします。Prolog を知っていれば、すぐに理解できる可能性は高いですが、これはまったく異なる言語です。

フリンク- Frink は汎用言語ですが、単位変換のシステムで有名です。この言語は、その分野で最高を目指す絶え間ない努力に非常に感銘を受けています。それに... 本当に楽しいです!

機能+オプションタイプ、Qi- いくつかの型システムの経験があると言っていますが、「スキン可能な* 型システムの経験はありますか? 誰も経験していません... でも、経験があるはずです。Qi は多くの点で Lisp に似ていますが、その型システムはあなたを驚かせるでしょう。

アクター+フォールトトレランス、Erlang- Erlang のプロセス モデルは大きな注目を集めていますが、そのフォールト トレランスとホット コード スワッピングのメカニズムは画期的です。FP について Clojure で学べないことはあまり学べませんが、その FT 機能により、なぜ他の言語でこれがうまくいかないのか不思議に思うでしょう。

楽しむ!

おすすめ記事