Pythonの歴史
1989 クリスマス:Guido vonRossumがPython言語用のコンパイラの作成を開始しました。 1991年2月:最初のPythonコンパイラ(インタプリタでもある)が誕生し、C言語で実装されました(JavaおよびC#実装バージョンのJythonとIronPython、およびPyPy、Brython、Pystonなどの他の実装が後に登場しました。 )、C言語のライブラリ関数を呼び出すことができます。初期のバージョンでは、Pythonは「クラス」、「関数」、「例外処理」などのビルディングブロック、および「リスト」や「辞書」などのコアデータタイプのサポートを提供し、モジュールベースをサポートします。拡張システム。 1994年1月:Python1.0が正式にリリースされました。 2000年10月16日:Python 2.0がリリースされ、完全なガベージコレクションが追加され、Unicodeがサポートされました。同時に、Pythonの開発プロセス全体がより透過的になり、開発の進捗に対するコミュニティの影響が徐々に拡大し、エコシステムがゆっくりと形成され始めます。 2008年12月3日:Python 3.0がリリースされました。以前のPythonコードと完全には互換性がありません。ただし、現在多くの企業がプロジェクトと運用でPython 2.xを使用しているため、多くの新しいPython3.xがあります。この機能は後でPython2.6 /2.7バージョンに移植されました。
現在使用しているPython3.7.xのバージョンは2018年にリリースされ、Pythonのバージョン番号はABCのような形の3つのセグメントに分割されています。 Aはメジャーバージョン番号を表します。通常、全体的な書き換えまたは下位互換性のない変更が発生すると、Aが追加され、Bは関数の更新を表し、Bは新しい関数が表示されたときに追加されます。Cは小さな変更(バグ修正など)を表します。 )、変更がある場合は常にCを追加します。 Pythonの歴史に興味がある場合は、「A Brief HistoryofPython」というブログ投稿をご覧ください。
Pythonの長所と短所
Pythonには多くの利点があり、次のように簡単に要約できます。
シンプルで明確な、1つのことを行う唯一の方法があります。学習曲線は低く、Pythonは他の多くの言語よりも習得が容易です。強力なコミュニティとエコシステムを備えたオープンソースコード。解釈された言語は本質的にプラットフォームに移植可能です。主流のプログラミングパラダイム(オブジェクト指向プログラミングと機能プログラミング)の両方をサポートします。拡張性と埋め込み性、C / C ++コードを呼び出すことができ、C / C ++でPythonを呼び出すことができます。コードは高度に標準化されて読みやすく、コードのクリーンさと強迫観念の障害を持つ人々に適しています。
Pythonのデメリットは、主に以下の点に集中しています。
実行効率がわずかに低いため、計算量の多いタスクをC / C ++で記述できます。コードを暗号化することはできませんが、多くの企業がソフトウェアの代わりにサービスを販売するようになり、この問題は薄れるでしょう。開発中に選択するにはフレームワークが多すぎます(たとえば、100を超えるWebフレームワークがあります)。また、選択肢がある場合は間違いがあります。
Pythonアプリケーション領域
現在、Pythonはクラウドインフラストラクチャ、DevOps、Webクローラー開発、データ分析とマイニング、機械学習などの分野で広く使用されています。したがって、Webバックエンド開発、データインターフェイス開発、自動化された運用と保守、自動化されたテスト、科学的コンピューティング、視覚化、データ分析、定量的取引、ロボット開発、画像認識および処理における一連のポジション。
ナレッジポイントの補足:
Python言語の利点
1、 pythonの初心者である初心者として、pythonは非常にシンプルで、人間が読むのに非常に適しています。英語の要件は非常に厳しいですが、優れたPythonプログラムを読むことは、英語を読むように感じます。 Pythonの疑似コードの性質は、その最大の利点の1つです。言語自体を理解するのではなく、問題の解決に集中することができます。
2、 簡単に学べる。 pythonはC言語で書かれていますが、Cの非常に複雑なポインターを破棄し、pythonの構文を単純化します。
3、 PythonはFLOSS(無料/オープンソースソフトウェア)の1つです。簡単に言えば、このソフトウェアのコピーを自由に配布し、そのソースコードを読み、変更を加え、新しい無料ソフトウェアでその一部を使用することができます。 Pythonは、より良い人が頻繁に作成して改善することを望んでいます。
4、 移植性-オープンソースの性質により、Pythonは多くのプラットフォームに移植されています(さまざまなプラットフォームで動作するように変更されています)。システムに依存する機能の使用を避けるように注意すれば、すべてのPythonプログラムは、変更なしで次のプラットフォームのいずれかで実行できます。これらのプラットフォームには、Linux、Windows、FreeBSD、Macintosh、Solaris、OS / 2、Amiga、AROS、AS / 400、BeOS、OS / 390、z / OS、Palm OS、QNX、VMS、Psion、Acom RISC OS、VxWorks、 PlayStation、Sharp Zaurus、Windows CE、さらにはPocketPC、Symbian、LinuxベースのGoogleのAndroidプラットフォーム!
5、 コンピューター内で、Pythonインタープリターは、ソースコードをバイトコードと呼ばれる中間形式に変換し、コンピューターで使用されるマシン言語に変換して実行します。実際、プログラムのコンパイル方法や正しいライブラリがリンクされて再現されていることを確認する方法などについて心配する必要がなくなったため、Pythonの使用が簡単になりました。 Pythonプログラムを別のコンピューターにコピーするだけでよいので、それは機能し、Pythonプログラムの移植性も向上します。
6、 Pythonは、プロセス指向の機能プログラミングとオブジェクト指向の抽象プログラミングの両方をサポートしています。プロセス指向の言語では、プログラムはプロセスまたは再利用可能なコードの関数から構築されます。オブジェクト指向の言語では、プログラムはデータと関数で構成されるオブジェクトから構築されます。 C ++やJavaなどの他の主要言語と比較して、Pythonは非常に強力でシンプルな方法でオブジェクト指向のプログラミングを実装しています。
7、 スケーラビリティと埋め込み性。キーコードの一部を高速に実行する必要がある場合、または特定のアルゴリズムを公開しないようにする場合は、プログラムの一部をCまたはC ++で記述し、それらをPythonプログラムで使用できます。 PythonをC / C ++プログラムに埋め込んで、プログラムのユーザーにスクリプト機能を提供することができます。
8、 豊富なライブラリ。 Python標準ライブラリは確かに巨大です。 Pythonには、使用できる定義可能なサードパーティライブラリがあります。通常の式、ドキュメントの生成、ユニットテスト、スレッド、データベース、Webブラウザー、CGI、FTP、電子メール、XML、XML-RPC、HTML、WAVファイル、パスワードシステム、GUIなどのさまざまなタスクを処理するのに役立ちます。 (グラフィカルユーザーインターフェイス)、Tkおよびその他のシステム関連の操作。 Pythonがインストールされている限り、これらの機能はすべて利用できることを忘れないでください。これは、Pythonの「フル機能」哲学と呼ばれます。標準ライブラリに加えて、wxPython、Twisted、Pythonイメージライブラリなど、他の多くの高品質ライブラリがあります。
9、 Pythonは確かに非常に素晴らしく強力な言語です。高性能とプログラミングをシンプルで面白くする機能を合理的に組み合わせています。
10、 正規コード。 Pythonは強制インデントを使用して、コードを非常に読みやすくします。
Python言語のデメリット
多くの場合、sys.path:printiのimportsys; for iのように、プログラムを1行で記述することはできません。 Perlとawkにはこの制限はありません。単純なプログラムはシェルでより便利に完了することができます。Pythonのようにプログラムを.pyファイルに書き込む必要はありません。 (これは多くのユーザーにとって制限ではありません)
1、 実行速度、速度要件がある場合は、C ++を使用して重要な部分を書き直します。しかし、ユーザーにとって、マシンの実行速度はごくわずかです。ユーザーはこの速度の違いをまったく感じることができないからです。
2、 長所と短所の両方。Pythonのオープンソースは、Python言語を暗号化できないことですが、現在、国内市場でソフトウェアを作成するだけで顧客に販売される顧客はますます少なくなっています。Webサイトやモバイルアプリケーションは顧客にソースコードを提供する必要がないため、この問題が問題になります。 。時が経つにつれ、多くの国内ソフトウェア会社、特にゲーム会社もそれを大規模に使用し始めました。
3、 アーキテクチャの選択肢が多すぎます(C#のような公式の.netアーキテクチャはなく、歴史が短いため、rubyのような比較的集中したアーキテクチャ開発もありません。RubyonRailsアーキテクチャは、中小規模のWebプログラムの開発には無敵です)。しかし、これはまた、pythonが優れており、より多くの才能とプロジェクトを引き付けることを別の側面から示しています。
Recommended Posts