ホームページ  >  記事  >  ウェブフロントエンド  >  Python が JavaScript に似ている理由

Python が JavaScript に似ている理由

醉折花枝作酒筹
醉折花枝作酒筹オリジナル
2021-07-15 14:43:591983ブラウズ

理由は次のとおりです: 1. Js 演算子は Python のものと似ています; 2. Js データ型は Python のものと似ています; 3. Js と Python のネイティブ構文はイテレータとジェネレータをサポートしています; 4. プロキシJS のリフレクションとリフレクションは、Python の「__xxx__」演算子によって書き換えられます。

Python が JavaScript に似ている理由

このチュートリアルの動作環境: Windows7 システム、JavaScript バージョン 1.8.5、Dell G3 コンピューター。

まず第一に、JavaScript 自体は他の多くの言語を利用したハイブリッドです。JavaScript の創始者であるブレンダン・アイヒは、かつてこれを冗談めかして「C 言語と Self 言語の一夜限りの関係の産物」と呼びました。 」第二に、現代のプログラミング言語の発展に伴い、コンバージェンスは間違いなくトレンドになっています。結局のところ、「完璧な言語は常に似ており、不完全な言語には独自の不完全性があります。」

ただし、そうあるべきです。 JavaScriptとPythonは実装の仕組みが根本的に異なり、例えば前者はSelf言語をベースにしてプロトタイプ(Prototype)をベースにしているのに対し、後者はクラス(Class)をベースにしていると氏は述べています。質問者が JavaScript がますます Python に似てきていると感じている理由は、主に、どちらも次のような多くの類似した「構文糖衣」を提供しているためだと思います:

(1)(.. in JavaScript.. .operator) および (Python の * および ** 演算子)

(2) (JavaScript の Set および Map データ型) および (Python の Set および Dictionary データ型)

(3) JavaScript と Python のネイティブ構文は、イテレータとジェネレータをサポートしています。

(4)(JavaScript のプロキシとリフレクション) および (Python の __xxx__ による演算子の書き換え)

など、特に一部のES2015 以降の新しい文法機能は、その多くが Python から借用されているように感じます。しかし、成熟した完全なスクリプト言語は、最終的にはこれらの言語機能を提供するとも言えます。必ずしも誰が誰を学習するかではなく、鳥やコウモリのそれぞれの進化した翼のように、開発ニーズと開発コンセプトによって自然発生的に収束する可能性があります。生物学では収斂進化と呼ばれます。

「完全な言語は常に似ている」という問題について話しましょう。それならなぜそれらを同じ言語に統一してはいけないのでしょうか。これは言語の生態学と大きく関係していると思いますが、言語によっては開発の過程で、特定の分野におけるサードパーティのライブラリや問題解決策が大量に蓄積され、マシュー効果が徐々に現れて、この分野の問題を解決するのは難しく、言語によってはライブラリ関数を導入するだけで十分ですが、言語によっては非常に長いコードを記述する必要があります。

砂漠をオアシスに変えることができないというわけではありませんが、何かを実現するためには、自然法則の実現可能性だけでなく、経済的コストの実現可能性も考慮する必要があります。フロントエンドを例に挙げると、フロントエンドで Python を使用する場合、多くのフロントエンド ライブラリと多くのブログを再度作成する必要があります。 MDN にアクセスすると JavaScript が提供するフロントエンド API の数が表示され、CSDN にアクセスすると関連ブログの数が表示され、プロジェクトがいかに巨大であるかがわかります。 WebAssembly がリリースされ、ブラウザ上で他の言語を実行できるようになりましたが、JavaScript API を呼び出す必要は依然としてあります。

自然に進化した多様性は混沌としているように見えるかもしれませんが、多くの場合、人間が考え出した統一性よりも優れています。

[推奨学習: JavaScript 上級チュートリアル]

以上がPython が JavaScript に似ている理由の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。