回答受付が終了しました

ID非公開

2021/9/17 21:55

99回答

言語が1つになる可能性はありますか?

回答(9件)

0

収束しません、増える一方です 用途限定専用言語がどんどん増殖していきます

0

高級言語でも既に、C言語へと収斂しつつあるかと。 マシン語がひとつに収斂した歴史があるので。 意外かもしれませんがマシン語も、プログラム言語と同様に誰でも自由に作れます。 大規模なFPGAが普及している現在では、SoC(System on Chip)回路すら、誰でも設計から単一チップへの実装まで出来るからです。 いや、「誰でも」は言い過ぎで、バカや無一文では無理ですが。 大学工学部入学レベルの知力と財力があれば充分です。 実際、大抵の大学工学部にはFPGAによるSoC回路の設計・実装の授業があるし、1万円で釣りが戻ってくる価格でSoC実装可能なFPGAチップが小売りされています。 当然、SoCに内包される存在に過ぎないCPU回路も同様です。 そのCPU回路を誰でも作れるのですから、そのCPUのマシン語も誰でも作れます。 いや、マシン語を作るだけなら、FPGAチップすら不要です。 CPUエミュレータソフトを書けば、そのソフトを開発した手元のパソコンを使い回して、自作マシン語を動かせます。 今ブレイク中の命令セット「RISC-V」は、元々は研究用試験チップに用いられていたマシン語ですが。 そのチップは量産されていないので、コンパイラやOSなどのRISC-V命令セット用のソフトウェアを開発している人々の殆どは、エミュレータソフトを使っています。 意外かもしれませんがFPGAは殆ど使われていません。 RISC-Vに限らず大抵のCPUの命令セットは、前の命令が完了してから後ろの命令を開始する「逐次処理」を前提としているからです。 回路を直接載せることのできるFPGAですが、そうしてFPGA上で合成された回路の動作は速くありません。 半導体の焼き直しをせずに回路変更できるように、あらかじめ予備の配線・論理素子を載せていて、配線が間延びしているからです。 対してCPUでは、そのような余計な予備にシリコン面積を割かずに回路を詰め込んでいるので、命令セット実行の様な逐次処理であれば、命令セットが異なるCPUでもFPGAより速くなります。 にも拘らず、マシン語がx86に収斂しているのは、このページを読むのに使っている、お手元の端末をみれば分かるかと。 言語と同様にマシン語にも、用途により適/不適があり、それぞれの開発者・企業がそれぞれの思い・企みを込めて、様々なCPUを作っているんですが。 皆、とある相当な力で矯正されるという不条理に遭って、死屍累々です。 PA-RISC、Alpha…、MIPSも遂に死亡宣言が出たし。 SPARCは息してたでしょうか? その力とは「エコシステム」です。 「RISCだったら自分たちで作れるんじゃね?」で始まった、自家製RISCプロセッサの興隆:RISCの生い立ちからRISC-Vまでの遠い道のり(2/3 ページ) - ITmedia NEWS https://www.itmedia.co.jp/news/articles/2007/06/news076_2.html 「 システム構築ツールが必要 Webベースのシステム可視化ツールが欲しい Package Managerが必要 FreeBSDへのポーティング Linux kernelのVDSO(Virtual Dynamic Shared Object)サポート さまざまな言語サポート GDBが動くようにしてほしい libffi/gobject-introspectionの移植 古いバージョンのコアのアップデート ツールチェーンの拡充 仕様とインプリメントを一致させる(RTLでインプリメントされている関係で、一部一致していない) といった項目が並んでいる。 大半はCPUコアそのものには関係ない、という気もするのだが、逆にいえばこうしたものをきちんと整備しないとそのコアを使ってもらえない、ということでもある。 単にCPUコアだけを作ってもダメで、そのCPUコアを利用するためのエコシステム(OSやソフトウェア、Toolchainの対応)まで考えないと、そのコアが成功するのは難しいということである。 これは別にRISCに限った話ではないが、一般論としてこのエコシステムの整備には、CPUコアを作ることそのものの何十倍とか何百倍ものコスト(資金だけでなくマンパワーも含む)が必要になる。 だから、それこそ冒頭のAdaptecのPhaseEngineのように、自社だけで使う場合には最低限のツールだけあればよいことになるが、これを広く使えるものにしようとすると、途端に難易度が上がる。 」 先述の通り、マシン語なら誰でも作ることができます。 しかしその言語の周辺ツールとなると、マシン語を作った本人が作ることは実質不可能で、他の開発者に依存することになります。 そして他の開発者は、人気のある言語に優先的に集まりがちです。 そうして人気を得た言語の周辺ツールは整備され、それが更なる人気と開発者を呼ぶという増殖ループに嵌り。 他の言語から開発者を引き抜いて、その言語の増殖ループを断ち切ります。 これが、x86マシン語とその他RISC諸語との間に起きたことでした。 結果、x86マシン語のみが、独占と形容されるほどの圧倒的な地位を得たのです。 マシン語ではなくプログラム言語についても、同じことが言えます。 どちらも周辺ツールが必要だからです。 しかも両者は、単一の周辺ツールの一部分です。 先のITmedia NEWSの引用では、マシン語の観点から周辺ツールのリストを挙げていましたが。 そのリストの中に「さまざまな言語サポート」が入っているのにお気付きでしょうか? これを「様々なマシン語サポート」に置き換えるだけで、プログラム言語の観点から見た周辺ツールのリストが出来上がります。 x86マシン語が周辺ツールと人気を独占する地位を占めたように。 プログラム言語にも同じことが起きる可能性が高いです。 いや既に、C言語がその独占的地位にあるかと。 C言語以上に幅広いマシン語サポートを持つ言語は、あるでしょうか? いや、CPUの進化の歴史を振り返れば、サポートどころかC言語の効率的な実行を、CPUは目指してきたことが分かります。 あるいは、"objective C"とか"C++"とか"D"とか"C#"とか。 流行りの言語にやたら"C"がついたりするのは、飽く迄それらがC言語の改良提案に過ぎないことを表しています。 C言語の周辺ツールを使い回せなくなるほど大きな改良であれば、人気のない言語と同じ運命を、その言語は辿るでしょう。 小さな改良なら、その言語仕様がC言語に取り込まれてしまいます。 他の言語と同様にC言語も、K&RからC89を経てC99では変数宣言をブロック冒頭に集める必要が無くなったり局所配列が可変長など変わって来たし、これからも変わるでしょう。 では、このx86-C言語の独占状態は永遠なのでしょうか? 過去を振り返れば、否と言えます。 System/360とCOBOLの時代があったからです。 System/360 - Wikipedia https://ja.wikipedia.org/wiki/System/360 COBOL - Wikipedia https://ja.wikipedia.org/wiki/COBOL が、System/360を実装するマシンはお値段が高く、個人での所有は困難で、主に企業などの組織で使われており。 複数人で使っても問題が出ないように、メモリ保護などの機能が搭載され。 それらの機能を実装するコストのためにマシン価格を下げられず、個人向けに出荷できない悪循環に嵌っていました。 そこに、個人で占有することを前提に機能を省いて低コスト化した「パーソナルコンピュータ」が発明され。 圧倒的な売上で改良を重ねた結果、System/360に対してパソコンは、お値段だけでなく絶対性能でも凌駕し、企業からもSystem/360を駆逐します。 そしてSystem/360とともに用いられていたCOBOLも、パソコン向けエコシステムの確立では早いC言語に敗れます。 このように、エコシステムのどこか一部が独占的地位を失うと、エコシステムの他の部位も連鎖的に地位を失います。 それまでのパソコン用OSでは対応できないスマホの登場で、現在、パソコン-x86-Windowsとスマホ-ARM-AndroidOSとの間でエコシステムの分裂が起きており。 OSの地位陥落に巻き込まれてx86マシン語の独占的地位が失われるかも知れません。 C言語はどちらのエコシステムでも独占的地位にあるので、このパソコン vs スマホのエコシステム間での開発者争奪戦では、どちらが勝ってもC言語の地位は揺るぎませんが。 半導体の集積度が上がって、ハードウェアの観点ではマルチコアによる並列処理が普及している現在、逐次処理の記述に特化していて並列処理の苦手なC言語は、次のエコシステム衝突には耐えられないかも知れません。

0

スクリプト (php とか perl とか python) があらゆる環境で問題無く動作し、且つ C 言語やマシン語に匹敵するスピードで動作するようになり、かつ zip などでライブラリなどをまとめても実行が簡単になれば、そのスクリプト言語にまとめられるでしょうね。 現状では無理なので、必然と絞られても 2 つが限度。 それはスクリプト型とコンパイル型にそれぞれ 1 つずつって感じ。

0

どれか一つだけが圧倒的に人気でプログラミング言語と言えばそれしか無いでしょってなる可能性は未来になればあるかもしれないけど、言語は誰でも自由に作れるわけだし自分の独自言語を作る人はどんな時代にもいるから無くなることは無いね。