ホームページ  >  記事  >  バックエンド開発  >  PHP、Java、JavaScript の統一言語仕様は存在しますか?

PHP、Java、JavaScript の統一言語仕様は存在しますか?

WBOY
WBOYオリジナル
2016-12-01 00:01:20905ブラウズ

この質問は、将来を想像するために使用されます。ビジネスの方針、政府の方針など、あまり多くの現実的な要素を考慮することはできません。

まず、ES6、Java8、および php7 の文法標準には、いくつかの重複があります。 。 3 つの基本的な構文も非常に似ています。

アプリケーションの観点から見ると、3 つの言語は非常にエンジニアリング的であり、非常に複雑なプロジェクトを構築するために使用されます。

jsを使ってブラウザ側で実行することもできますが、最近のコンポーネントフレームワークではデスクトップアプリケーションと同様のフロントエンド開発が可能になっており、ブラウザでjavaやphpが動作し、DOMを操作できればreactと言えます。両方の言語で実装されているため、これを使用できます。

バックエンドに関しては、3 つの言語が 1 ~ 2 日連絡することはなく、各機能が完成しており、開発は機敏であり、エコシステムは繁栄しています。

ということで、言語規格を統一することは可能だと思います。規格が統一されれば、プログラマーの学習コストは大幅に削減され、さまざまな文法に気を配る代わりに、フロントエンドやバックエンドの開発技術、プログラミング言語の考え方や一般的な文法的特徴にもっと注意を向けることができると考えられます。詳細、環境依存性、サードパーティ ライブラリ、結局のところ、サードパーティ ライブラリもユニバーサルになるでしょう。

しかし、実際に標準が発表されたとしても、次のような厄介な問題がまだいくつかあります:
コンパイルか解釈か?
強いタイプか弱いタイプか?
イベント駆動型ですか、それともマルチスレッドですか?
異なるパッケージ管理を統合するにはどうすればよいですか?
ブラウザ側で実行するにはどうすればよいですか?
ガベージコレクションの重さを量るにはど​​うすればよいですか?

みんながどう思うか気になる!

返信内容:

実際、多くの現代言語の文法はますます類似しています。たとえば、PHP の構文の改良により、ますます JavaScript に似てきています (たとえば、array(...) 構造の略称は [...])。また、さまざまな言語で導入されている async/await は、ほぼまったく同じで、最近 Facebook が開発した理由は、OCaml の構文を JS に非常によく似たものに変換することです。ということは、文法の統一は理論的には不可能ではないようです。

ただし、他のすべての部分と同様、構文にも互換性の維持という問題があります。互換性を壊す反例 (Python3 など)。これは、別の言語はもちろん、言語自体のアップグレードにも当てはまりません。別の小さな例を挙げると、言語としての JS では、他の言語はもちろんのこと、オプションでセミコロンを使用するかどうかについて議論がありました。

文法レベルでは非常に近いものに修正できても、意味レベルではさらに厄介です。被験者が提起した「厄介な質問」:
編集か解釈か?
強いタイプか弱いタイプか?
イベント駆動型ですか、それともマルチスレッドですか?
異なるパッケージ管理を統合するにはどうすればよいですか?
ブラウザ側で実行するにはどうすればよいですか?
ガベージコレクションの重さを量るにはど​​うすればよいですか?
実際、これはまったく文法問題ではありません。

これらの大きな問題については話さないで、別の小さな例を示しましょう。やはり PHP と JS です。どちらの配列も [1, 2, 3] を使用して構築し、a[0] のような添え字構文を使用してアクセスできます。また、PHP や JS の配列では、文字列が数値であっても、数値インデックスと同じになります。見た目はまったく同じです。しかし、PHP と JS の配列は実際には大きく異なります。

1. JS と PHP はどちらもインデックスに対して暗黙的な型変換を実行します。 JS のインデックスはすべて文字列に自然化されているため、a[10] と a[10.1] は異なります。ただし、PHP のインデックスは最初に整数に正規化されるため、a[10] と a[10.1] は同じになります。

2. PHP の場合:
rree あまり考えないでください。たとえ他​​のいくつかの言語が統一する意思があるとしても、J8 の責任者であるラリー・エリソンはそうするつもりだと思いますか? 統一された標準は存在しません

羽生ピンインと英語はどちらも26文字で表されますが、内容は大きく異なります 問題ない。 PHP には JPHP があり、JS には Narshor があり、Python には Jython があり、Java は言うまでもなく JVM 自体で動作します。
つまり、質問者が言う「大統一」は言語レベルで実現する必要はなく、お互いに呼び合うことができれば十分なのです。 変わらないのはCとGoだけ
言語の発明者が自分の好みにこだわるかどうかで決まります。 仮にそのような機会があったとしても、それはphp、js、javaの言語仕様を統一した新しい言語でしかありません。 。 。 このように考える人が多いというだけで、世界を支配しようとする人が多くなり、その結果、言語が増えていきます。統一されるかどうかは、言語の特性ではなく、サポートの強さによって決まります。 未来を自分で作るよりも、想像した方が良いのです。 そう、機械語コードは統一すべきなのです!たたかないで。 。 。 そうなると私の大きなphpはアームストロングのスピンアームストロングハンマーに変えることはできません。◕‿◕。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。