警告! Pythonは徐々にその魅力を失っています!

**警告! Pythonは徐々にその魅力を失っています! ****

スイスアーミーナイフのプログラミング言語にもいくつかの問題があり、特定のタスクにより適した他の言語に置き換えられる可能性があります。

Pythonは1990年代初頭にリリースされて以来、多くの誇大宣伝を引き起こしてきました。もちろん、プログラミングコミュニティがその存在を実現するのに少なくとも20年かかりましたが、それ以来、その人気はC、C#、Java、さらにはJavascriptをはるかに上回っています。

Pythonは、データサイエンスと機械学習の分野で、またある程度科学的および数学的コンピューティングの分野で支配的ですが、Julia、Swift、Javaなどの言語と比較して欠点があります。

Pythonの人気の理由

Pythonの急速な発展の主な推進力の1つは、その学習のしやすさと強力な使いやすさです。これにより、C / C ++などの言語の構文が理解しにくいため、プログラミングを避けている初心者や人々にとって非常に魅力的です。力。

Python言語は、基本的にコードの読みやすさを強調しています。簡潔で明確な構文により、開発者は多数のコード行を記述せずにアイデアや概念を表現できます。 Pythonは非常にシンプルで、他のプログラミング言語とシームレスに統合できます。これは、多言語開発者にとって追加のメリットです。

Pythonの多様性のもう1つの理由は、多くの企業がPythonを使用していることです。今日、多くの分野でPythonライブラリを見つけることができます。これには、考えられるほとんどすべてのものが含まれています。科学コンピューティングでは、NumpyとSklearnが機械学習に使用され、Caerがコンピュータビジョンに使用されます。

Pythonが弱まり始めます

しかし、この変化は非常に遅いものの、Pythonは弱まり始めています。

これは明らかな場合があり、速度は通常、開発者の焦点の1つと見なされます。また、予期しない時間が引き続き懸念される場合があるためです。

Pythonが「遅い」理由の1つは、実際には2ポイントに要約できます。Pythonはコンパイルされるのではなく「解釈」されるため、最終的に実行時間が遅くなり、「動的に型指定」されます(可変)データタイプは、実行中にPythonによって自動的に推測されます)。

実際、この「Pythonの遅い」ビューは、初心者の間で大きな役割を果たすことがよくあります。はい、そうです。しかし、理由の一部にすぎません。

TensorFlowを例にとると、これはPythonが提供する機械学習ライブラリです。これらのライブラリは実際にはC ++で記述されており、Pythonで使用でき、ある程度C ++の周りに実装されたPythonの「ラッパー」を構成します。 NumpyとCaerについてもある程度同じことが言えます。

GILの制限

Pythonの速度が遅い主な理由の1つは、一度に1つのスレッドしか実行できない GIL(グローバルインタープリターロック)の存在です。これによりシングルスレッドのパフォーマンスは向上しますが、並列処理が制限されます。この並列処理では、開発者は速度を上げるためにマルチスレッドプログラムではなくマルチプロセッシングプログラムを実装する必要があります。

メモリを大量に消費するタスクには最適ではありません

オブジェクトがスコープ外になると、Pythonは自動的にガベージコレクトを行います。これは、CおよびC ++に関連するメモリ管理の複雑さの多くを排除することを目的としています。データタイプを指定する柔軟性(または柔軟性の欠如)により、Pythonによって消費されるメモリの量は急速に爆発する可能性があります。

さらに、Pythonが気付かない可能性のあるいくつかのエラーが実行時にポップアップし、最終的に開発プロセスが大幅に遅くなる可能性があります。

モバイルコンピューティングの分野における競争力の欠如

デスクトップからスマートフォンへの大幅な移行に伴い、携帯電話用のソフトウェアを構築するには、より強力な言語が必要であることは明らかです。 Pythonはデスクトップおよびサーバープラットフォームで非常に代表的ですが、強力なモバイルコンピューティング処理機能がないため、Pythonはモバイル開発に遅れをとる傾向があります。

近年、この分野で多くの進歩が見られましたが、これらの新しく追加されたライブラリは、Kotlin、Swift、Javaなどの強力な競合他社にさえ近づいていません。

他の言語の台頭

最近、Julia、Rust、Swiftなどの新しい言語が突然登場しました。Python、C / C ++、Javaから多くの優れた設計コンセプトを借用しています-Rustは、ランタイムメモリの安全性と同時実行性をほぼ保証し、 WebAssemblyとのファーストクラスの相互運用性。SwiftはLLVMコンパイラツールチェーンをサポートし、JuliaはI / Oを多用するタスクに非同期I / Oを提供し、非常に高速です。

まとめ

Pythonは最高のプログラミング言語として構築されたことはありません。 C / C ++やJavaに取って代わることができる言語として構築されたことはありません。人間が読める英語中心の文法を強調した汎用プログラミング言語として構築されており、プログラムやアプリケーションの迅速な開発を可能にします。

結局のところ、他のすべての言語と同様に、Pythonはツールです。時々、それは最高のツールです。時々そうではありません。通常、これは「大丈夫」です。

では、Pythonはプログラミング言語として死にかけているのでしょうか?

**私はほとんどそうは思いません。 ****

それで、それはその魅力を失いましたか?

**ああ、たぶん少しだけ、少しだけ... **

元のソース:
https://towardsdatascience.com/python-is-slowly-losing-its-charm-9ca652726492

- - - - - - - End -------

Recommended Posts

警告! Pythonは徐々にその魅力を失っています!
Pythonはゆっくりと衰退しています
Python 3.9が登場!
なぜpythonが人気なのか