ビッグデータの要約
出典:中
**編集:Chen Zhiyan、coolboy **
1990年代初頭のリリース以来、Pythonは非常に人気があり、過去20年間で、その人気はC、C#、Java、さらにはJavascriptをはるかに上回りました。
Pythonは、データサイエンスと機械学習の分野で支配的であり、科学的および数学的コンピューティングの分野の主人公でさえありますが、Julia、Swift、Javaなどの言語と比較すると確かに欠けています。
Pythonの急速な開発の背後にある主な推進力の1つは、習得がかなり簡単で、強力に使用できることです。初心者にとって、C / C ++のような難しいプログラミング言語は構文に精通していない人から遠ざかるので、Pythonは非常に魅力的です。
言語の中核はコードの読みやすさです。Pythonの構文は簡潔で表現力豊かです。開発者は多くのコードを記述せずにアイデアや概念を表現できます(これはCやJavaなどの低レベル言語にも当てはまります)。非常にシンプルで、他のプログラミング言語とシームレスに統合できます(CPUを集中的に使用するタスクをC / C ++に配信するなど)。 Python言語で開発すると、開発者に多くのメリットがもたらされます。
Pythonが広く使用されているもう1つの理由は、Pythonが企業(FAANGを含む)で頻繁に使用されていることです。今日、想像できるあらゆるプロジェクトに対応するPythonパッケージを見つけることができます。科学コンピューティング用のNumpy、機械学習用のSklearn、コンピュータービジョン用のCaerです。
**遅い、遅すぎる。 ****
言うまでもなく、速度は通常、開発者にとって最も重要な懸念事項の1つです。今だけでなく、これからも長い間そうなるでしょう。
Pythonの「遅さ」の主な理由は、次の2つの点に起因する可能性があります。1つは、Pythonがコンパイルされた言語ではなく解釈された言語であり、最終的に実行時間が遅くなることです。2つ目は、動的です。言語(変数のデータタイプは、実行中にPythonによって自動的に推測されます)。
初心者は「Pythonは本当に遅すぎる」という言葉に異議を唱えることがよくあります。実際、それは真実ですが、完全に真実ではありません。
たとえば、Pythonの機械学習ライブラリTensorFlowは実際にはC ++で記述されており、Pythonで呼び出されます。これはC ++の上に実装されたPythonの「ラッパー」です。これはNumpyの場合であり、Caerも同様の形式です。
Pythonの速度が遅い主な理由の1つは、GIL(Global Interpreter Lock)の存在です。これは、一度に1つのスレッドしか実行できません。これはシングルスレッドのパフォーマンスを向上させるのに役立ちますが、並列処理を制限するため、開発者は速度を上げるためにマルチスレッド処理プログラムを実装する必要があります。
オブジェクトがスコープ外になると、Pythonは自動的にガベージコレクションを実行します。その目的は、CおよびC ++のメモリ管理に伴う複雑さの多くを排除することです。指定されたデータタイプには柔軟性がないため、Pythonによって消費されるメモリの量が急速に爆発する可能性があります。
さらに、実行時に、一部のバグはPythonによって無視され、最終的には開発プロセスを遅らせる主な動機になる可能性があります。
デスクトップからスマートフォンへの移行に伴い、人々が携帯電話ソフトウェア用のより強力な言語を構築する必要があることは明らかです。 Pythonは、コンピューターおよびサーバープラットフォームで優れたパフォーマンスを発揮しますが、強力なモバイルコンピューティング処理機能がないため、モバイル開発での利点を失うことがよくあります。
近年、(Python)はこの分野で大きな進歩を遂げましたが、これらの新しく追加されたライブラリは、Kotlin、Swift、Javaなどの強力な競合他社とはほど遠いものです。
最近、Julia、Rust、Swiftなどの新しい言語がPython、C / C、Javaから多くの優れた設計コンセプトを借用しています-Rustは実行時のメモリの安全性と並列性を保証し、Webアセンブリと同じものを提供します相互運用性; LLVMコンパイラツールチェーンをサポートしているため、SwiftはCとほぼ同じ速度です。JuliaはI / O(入力/出力)集約型タスクに非同期I / Oを提供し、速度は驚くべきものです。
Pythonは最高のプログラミング言語ではなく、C / C ++やJavaに取って代わることはできません。読みやすさと英語中心の文法を強調した、一般的なプログラミング言語として構築されました。人々はそれを使ってプログラムやアプリケーションを素早く開発することができます。
他の言語と同様に、Pythonは単なるツールです。一部のアプリケーションシナリオでは、これが最適なツールですが、別のシナリオでは、そうでない場合があります。ほとんどの場合、「非常に使いやすい」です。
それで、プログラミング言語として、Pythonは死ぬのでしょうか?
そうは思わない。
徐々に魅力を失っていますか?
ああ、たぶん少しだけ、少しだけ。
関連レポート:
https://towardsdatascience.com/python-is-slowly-losing-its-charm-9ca652726492
Recommended Posts