11

多くの「新しい」言語があるように見えますが、実際には、人気のある非実験的な言語のほとんどはすでに 10 代であり、真の主流はほとんどのジュニア プログラマーより年上です。この当たり前の事実を思い出したのは、今月 (1994 年 2 月) で「ヒップな」Ruby 言語でさえ 15 周年を迎えたことに気付いたときです。Haskell のようなものは、誰もが「学ぶべき」リストに入れているものの、それよりも古いものです。

それについて考えると、一般的に使用されている唯一の本当に新しい言語は、C# です。しかし、C# でさえ、前任者の優れた機能のいくつかを取り上げていますが、実際には新しい機能はありません。

それで、どの新しい言語と、それに対応する新しい機能/アイデアが現在 10 未満なのか疑問に思っています。10年後に大きくなりそうなものはありますか?楽しみにしている新しい言語機能はありますか? それとももう終わりですか???


どうやら、ハイブリッドまたは洗練されていない真に新しいものはありません。おそらくLOLCODEは、何よりもばかげているように設計されているためですが、Brainf * ckやWhiteSpaceのようなものでさえ、基本的には古いスタックベースのアセンブリ言語です.

プログラミング言語は百科事典の時代に達したのでしょうか?

4

17 に答える 17

6

質問の言い回しはイノベーションがないことを示唆していると思いますが、実際、ここでの議論で明らかになるのは、イノベーションが主流になるまでに数十年かかるということだけです。

OOがC++やSmalltalkなどの「大きな新しいもの」の1つであった約20年前にこの質問をした場合、人々はそれがSimula(1967)が再パッケージ化されただけだと答えることができます。しかし、1970年には、オブジェクトを「大きな革新」と見なす人はいないと思います。むしろ、そのSimula言語では「興味深い構文上の優れた機能」でした。時間の経過とともに、OOは進化し、人々はOOがモデリング/構造化システムにとってどのように自然であるかを認識し、デザインパターンが見つかりました...そして今日、非常に多くの言語がOOを「当然のこと」と見なしています。しかし、「OOは素晴らしい新しいイノベーションでした」と人々が言う瞬間を見つけるのは困難です。なぜなら、それが新しいとき、ソフトウェアエンジニアリング分野への影響の範囲を誰も理解しておらず、その到達範囲が明らかになるまでに、

20年後、おそらくすべての新しい/人気のある言語には、今日のHaskellの「型クラス」のような機能があります(これはキラー機能です)が、この質問の基準では、それがイノベーションであるとは言え、すでに「古すぎます」 「次の大きなもの」かもしれません。

そうです、太陽の下で新しいもの、おそらく数百ものものがあるに違いありませんが、それらはすべて小さな実験的な言語でオフになっており、今日の最高のアイデアが洗練/証明されてそれらを作る数十年後まで、その斬新さを評価することはありません主流への道。

于 2009-02-15T01:21:25.140 に答える
4

インテリジェント エージェントをプログラミングするための AgentSpeak(L) 言語。これは Prolog (非常に古い) に基づいていますが、いくつかの非常に特殊な機能があり、まったく新しいものです。

Jasonという完全なインタープリターを確認できます。

于 2009-02-14T18:14:55.443 に答える
2

多くの「新しい」言語は、JVM または CLR などの適切な VM を対象としています。これにより、実装よりも構文と「哲学」の設計に専念できます (既存の最適化された VM、GC、ライブラリなどを活用します)。

興味深いことに、Fan Programming Languageのように、一部の言語は両方のプラットフォームをターゲットにしています。

他の言語は自分自身を別の言語 (通常は C) に変換するだけなので、適切な仕事をするために移植可能なコンパイラまたはローカルに最適化されたコンパイラに依存しています。

Haxeは、JavaScript、Flash、NekoVM、さらには PHP など、いくつかの言語/VM をターゲットにしているため、興味深いと思いました。

他の人が言ったように、今日、本当に新しい概念を見つけるのは難しい. 部分的には、すでに多くのことが調査されているため、部分的には、新しい言語が使い慣れた構文を使用しない場合、多くのプログラマーが怠惰で混乱しているためです (Lua メーリング リストで { と } の使用を要求する多くの人々の苦情を見ました)。 do/end の代わりに -- JavaFX が Java ではないことに対する苦情も参照してください...)、新しい概念は言うまでもありません!

于 2009-02-14T17:40:08.133 に答える
1

言語としての Powershell は 10 未満ですが、もちろん言語機能ではありません。

于 2009-10-30T06:00:46.983 に答える
1

OK、コード コントラクトは Eiffel 以来知っています。つまり、20 年以上のコード分析、そして何年にもわたるコード分析ですが、c# 4.0 と Pex のようにコード コントラクト、コード分析、ユニット テストの完全な組み合わせを見たことがありません。何年も前にそのレベルの機能を提供した他の言語や製品について、私は間違っていて無知かもしれませんが、「バグのない」ソフトウェアに対するその程度の支援を機能と呼ぶことは間違いありません。それで、それは新しいですか?

于 2009-02-14T17:43:01.777 に答える
0

E 言語により、軽量な promise パイプラインが利用しやすくなりました。これは、並列化が容易で、通信サブプロセス間の依存関係が低コストで、ロックの管理とデッドロックの回避に関するすべての標準的な問題を回避できるコードを作成できるため、今後のマルチコア革命にとって重要なアイデアになるはずです。 . E の主なアイデアは、さまざまな他の言語に移植されています。E は、ソフトウェアの堅牢性とセキュリティに非常に重要な貢献をしているオブジェクト機能言語の長い (やや不明瞭な) ラインの一部です。Eさんは今10歳くらいです。

于 2009-04-26T17:32:20.407 に答える
0

Blue プログラミング言語は大きな可能性を秘めています。「Python でも使いやすく、拡張しやすい」と考えてください。

いいえ、私は Blue が Python よりも優れていると言っているのではありません。私はただ、その醸造、使いやすさ、そして (すでに、ほんの数年後に) 非常に安定していると言っているだけです。それは約1年間私に成長しています:)

于 2009-04-26T17:39:28.720 に答える