ホームページ  >  記事  >  バックエンド開発  >  Pythonの開発の歴史を紹介します。

Pythonの開発の歴史を紹介します。

零下一度
零下一度オリジナル
2017-07-19 16:09:276109ブラウズ

1. Python の開発の歴史

Python 言語は、その簡潔で明確なスタイルと、広く適用可能なクラス ライブラリや Python オープンソース フレームワークが多数使用できるため、IT 業界の多くの人々に愛されています。 Python の起源と開発の歴史について簡単に見てみましょう。 Python 言語の起源は、1990 年代初頭に Guido Van Rossum によって新しいスクリプト解釈プログラムが開発されたことです。 Guido は、Python がいつか最も人気のあるプログラミング言語の 1 つになるだろうと考えたことがあるでしょうか?

Python を記述するのにグルー言語を使用することを好む人もいます。これは、他の多くの言語で記述されたモジュールを簡単に組み合わせることができるためです。そのプロセスについては、ここでは詳しく説明しません。興味があれば、どこかで調べてください。知っておくべきことは、国内外の多くの大学でも Python 言語を必修科目として履修しており、Python 言語を使用して働く国内ユニットの数も Python を知っているプログラマーの需要が高まっているということです。

Python 言語を学習した友人に、Python 言語の魅力的な機能を聞いてください。ほとんどの人は、それが使いやすく、読みやすく、保守しやすい言語であると考えるでしょう。そのため、多くのユーザーがそれを使用し、学習することを好みます。実際には、幅広い用途を持つ言語です。

Python 言語の最も基本的な構文は、インデント、制御ステートメント、式、関数、オブジェクト メソッド、型、数学的演算です。 Python の基本的な構文を学習した後でのみ、グラフィック処理、数学的処理、テキスト処理、データベース、WEB プログラミング、クローラーなどの実践的なアプリケーションなど、正式なアプリケーションの学習を開始できます。

Python 3.3 が最新バージョンですが、多くの人は依然として Python 2 から学習を始めたいと考えています。 Python 3 のサードパーティのサポートはまだ完全ではないため、学習プロセス中に説明のつかない問題に遭遇する可能性があると以前から言われていました。すでに非常に完成度の高い Python 2 から学習を開始することをお勧めします。その後の Python 3 への移行は簡単になります。 TO を使用して関数を定義する方法について。 Python プログラマーはこのプログラムを簡単に理解できるはずです。 ABC 言語では、コロンとインデントを使用してプログラムのブロックを表します。行末にセミコロンはありません。 for 構造と if 構造には括弧 () もありません。代入では、より一般的な等号の代わりに PUT を使用します。これらの変更により、ABC プログラムがテキストのように読めるようになります。 ABC 言語は読みやすさと使いやすさに優れていたにもかかわらず、最終的には普及しませんでした。当時、ABC 言語コンパイラーを実行するには、比較的ハイエンドのコンピューターが必要でした。これらのコンピュータのユーザーは通常、コンピュータに習熟しており、プログラムの学習の難しさよりもプログラムの効率を重視します。ハードウェアの問題に加えて、ABC 言語の設計には、スケーラビリティが低いといういくつかの致命的な問題もあります。 ABC 言語はモジュール型言語ではありません。グラフィカル サポートなどの機能を ABC 言語に追加する場合は、多くの場所を変更する必要があります。 IO を直接実行することはできません。 ABC言語はファイルシステムを直接操作できません。テキスト ストリームなどの方法でデータをインポートできますが、ABC はファイルを直接読み書きすることはできません。入出力の難しさはコンピュータ言語にとって致命的です。ドアが開かないスポーツカーを想像できますか? 過剰なイノベーション。 ABC では、上記の番組の HOW TO など、番組の意味を自然言語で表現しています。ただし、プログラマの場合は、関数を使用して関数を定義することに慣れています。同様に、プログラマは変数を割り当てるために等号を使用することに慣れています。 ABC言語は非常に特殊ですが、習得するのが非常に難しい言語でもあります。 広がるのが難しい。 ABC コンパイラはサイズが大きいため、テープに保存する必要がありました。 Guido が訪問したとき、彼は他の人のために ABC コンパイラをインストールするために大きなテープを用意する必要がありました。 このように、ABC言語はすぐには普及しにくいのです。 1989 年、クリスマス休暇を過ごすために、Guido は Python 言語用のコンパイラを書き始めました。パイソンという名前は、グイドのお気に入りのテレビ シリーズ「モンティ パイソンのフライング サーカス」に由来しています。彼は、Python と呼ばれるこの新しい言語が、C とシェルの間で包括的で、学びやすく、使いやすく、スケーラブルな言語を作成するという彼の理想を満たせることを望んでいます。言語設計の愛好家として、Guido はすでに言語の設計を試みています。今回は純粋なハッキング行為に他なりませんでした。

言語の誕生

1991 年に、最初の Python コンパイラーが誕生しました。 C言語で実装されており、C言語ライブラリファイルを呼び出すことができます。 Python はその誕生以来、クラス、関数、例外処理、テーブルや辞書を含むコア データ型、モジュールベースの拡張システムを備えています。 Python 構文の多くは C から来ていますが、ABC 言語の影響も強く受けています。強制インデントなど、ABC 言語の一部のルールは今日でも物議を醸しています。 しかし、これらの構文ルールにより、Python は読みやすくなります。一方、Python は、等号の割り当ての回帰など、いくつかの規則、特に C 言語の規則に従うことを賢明に選択します。グイド氏は、「常識」に基づいて物事が確立されていれば、それにこだわる必要はないと考えています。 Python は当初からスケーラビリティに特別な注意を払ってきました。 Python は複数のレベルで拡張できます。大まかに言うと、.py ファイルを直接インポートできます。内部では C ライブラリを参照できます。 Python プログラマーは、Python を使用して .py ファイルを拡張モジュールとしてすばやく作成できます。しかし、パフォーマンスが考慮すべき重要な要素である場合、Python プログラマーは最下位層に深く入り込んで C プログラムを作成し、それを .so ファイルにコンパイルして Python に導入して使用することができます。 Python は鉄骨で家を建てるようなものです。まず大きなフレームを定義します。プログラマーは、このフレームワーク内で非常に自由に拡張または変更できます。 オリジナルの Python はすべて Guido 自身によって開発されました。 Python はグイドの同僚の間で人気があります。彼らは迅速なフィードバックを提供し、Python の改善に参加します。 Guido と数名の同僚が Python のコア チームを形成しています。彼らは余暇のほとんどを Python のハッキングに費やしています。その後、Python は研究所を超えて拡大しました。 Python はマシンレベルの詳細の多くを隠し、コンパイラーに処理を任せ、論理レベルのプログラミング的思考を強調します。 Python プログラマーは、具体的な実装の詳細ではなく、プログラムのロジックについて考えることに多くの時間を費やすことができます。この機能は多くのプログラマーを魅了します。 Pythonが人気になりました。

時代が英雄を作る

私たちは Python の時間を一時停止して、絶え間なく変化するコンピューター業界を見てみる必要があります。 1990年代初頭、パーソナルコンピュータが一般家庭に普及し始めました。 Intel は 486 プロセッサをリリースし、Windows は Windows 3.0 から始まる一連のウィンドウ システムをリリースしました。コンピューターのパフォーマンスが大幅に向上します。プログラマーは、グラフィカルインターフェイスなどのコンピューターの使いやすさに注目し始めました。

Windows 3.0

コンピューターのパフォーマンスが向上するにつれて、ソフトウェアの世界も変わり始めます。ハードウェアは多くのパーソナル コンピューターに十分です。ハードウェア メーカーは、ハードウェアのアップグレードを促進するために、需要の高いソフトウェアの出現にも熱心です。 C++ と Java が次々に普及しました。 C++ と Java は、オブジェクト指向プログラミング パラダイムと豊富なオブジェクト ライブラリを提供します。 C++ と Java は、ある程度のパフォーマンスを犠牲にして、プログラム出力を大幅に向上させました。この言語の使いやすさは新たなレベルに引き上げられました。 ABC の失敗の重要な理由がハードウェアのパフォーマンス限界にあったことを私たちは今でも覚えています。この点で、Python は ABC よりもはるかに幸運です。 静かに起こっているもう 1 つの変化はインターネットです。 1990 年代はまだ Windows と Intel が PC で世界を席巻し、一時は非常に普及した時代でした。インターネット ベースの情報革命はまだ到来していませんが、多くのプログラマや経験豊富なコンピュータ ユーザーはすでに、電子メールやニュースグループなどのコミュニケーションにインターネットを頻繁に使用しています。インターネットにより、情報交換のコストが大幅に削減されました。新しいソフトウェア開発モデル、オープンソースが人気を集めています。プログラマーは余暇を利用してソフトウェアやオープンソース コードを開発します。 1991 年、Linus は comp.os.minix ニュース グループで Linux カーネルのソース コードを公開し、多数のハッカーが参加するようになりました。 Linux と GNU は連携して、活気のあるオープンソース プラットフォームを形成します。 ハードウェアのパフォーマンスがボトルネックになることはなく、Python は使いやすいため、多くの人が Python に注目しています。 Guido はメールリストを管理しており、Python ユーザーは電子メールで通信します。 Python ユーザーはさまざまな分野に属し、さまざまな背景を持ち、Python に対するさまざまなニーズを持っています。 Python は非常にオープンで拡張が容易であるため、ユーザーが既存の機能に満足できない場合でも、Python を拡張または変換するのは簡単です。その後、これらのユーザーは変更を Guido に送信し、Guido は新しい機能を Python に追加するか標準ライブラリに追加するかを決定します。コードを Python 自体または標準ライブラリに組み込んでいただければ大変光栄です。グイドは最高の意思決定権を持っているため、「終生慈悲深い独裁者」として知られています。 Python は「Battery Included」と呼ばれており、Python とその標準ライブラリが強力であることを意味します。これらはコミュニティ全体からの貢献です。 Python 開発者はさまざまな分野の出身であり、さまざまな分野の利点を Python にもたらします。たとえば、Python 標準ライブラリの正規表現は Perl を指しますが、lambda、map、filter、reduce などの関数は Lisp を指します。 Python 自体の一部の機能と標準ライブラリの大部分はコミュニティから提供されています。 Python コミュニティは拡大を続けており、独自のニュースグループ、Web サイト、および基金を持っています。 Python 2.0 からは、Python もメールリスト開発方式から完全なオープンソース開発方式に変わりました。コミュニティの雰囲気が形成され、コミュニティ全体で作業が共有され、Python の開発も高速化されました。 今日の時点で、Python のフレームワークは確立されています。 Python 言語は、オブジェクトをコアとしてコードを編成し、複数のプログラミング パラダイムをサポートし、動的型を使用し、メモリを自動的にリサイクルします。 Python はインタープリタ実行をサポートしており、拡張のために C ライブラリを呼び出すことができます。 Python には強力な標準ライブラリがあります。標準ライブラリ システムが安定して以来、Python エコシステムはサードパーティ パッケージに拡張され始めています。 Django、web.py、wxpython、numpy、matplotlib、PIL などのこれらのパッケージは、Python を種の豊富な熱帯雨林にアップグレードします。

啓示

Python は優雅さ、明確さ、シンプルさを提唱しており、広く使用されている優れた言語です。 Python は TIOBE ランキングで 8 位にランクされており、Google の 3 番目に大きな開発言語であり、Dropbox の基本言語であり、Douban のサーバー言語でもあります。 Python の開発履歴は代表的なものであり、多くのインスピレーションを与えてくれます。 コミュニティは Python の開発において重要な役割を果たします。 Guido は、自分は万能のプログラマーではないため、フレームワークを策定することだけを担当していると考えています。問題が複雑すぎる場合、彼はその問題を回避する、つまり手を抜くことを選択します。これらの問題は最終的にはコミュニティ内の他の人によって解決されます。コミュニティの人材は非常に豊富で、Webサイトの制作や資金調達など、開発から少し離れたところでも、喜んで取り組んでくれる人がいます。今日のプロジェクト開発はますます複雑かつ大規模になり、協力とオープンマインドがプロジェクトの最終的な成功の鍵となっています。 Python は、歴史に名を残した ABC であれ、今でも使用されている C や Perl であれ、リストに載っていない他の多くの言語であれ、他の言語から多くのことを学んできました。 Python の成功は、Python の元となるすべての言語の成功を表していると言えます。同様に、Ruby は Python から借用しており、その成功は、ある面では Python の成功も表しています。どの言語もハイブリッドであり、長所と短所があります。一方で、言語の「良し悪し」の判断は、プラットフォーム、ハードウェア、時代などの外部要因に左右されることも少なくありません。プログラマーは多くの言語の戦いを経験します。実際、寛容な心でさまざまな言語を受け入れれば、いつかプログラマーもグイドのように独自の言語を混在させることができるようになるかもしれません。

常識の要点

Python の発音とスペル
Python は Python の意味で、作者の好きな TV シリーズに由来しています (C はどこにありますか?)
Python の作者は Guido van Rossum (Uncle Turtle) です
Pythonは 1989 年のカメおじさんの名前です。退屈なクリスマスを終わらせるために C で書かれたプログラミング言語が 1991 年に正式に誕生しました。現在、Python のインタプリタは複数の言語で実装されています。 (C 言語実装の公式バージョン)、その他には、Jython (Java プラットフォームで実行可能)、IronPython (.NET および Mono プラットフォームで実行可能)、PyPy (Python で実装、JIT ジャストインタイム コンパイルをサポート) が含まれます。
Python には現在 Python2 と Python3 の 2 つのバージョンがあり、最新バージョンはそれぞれ 2.7.12 と 3.5.2 です。現段階では、ほとんどの企業が Python2 を使用しています

2. Python の利点と欠点

利点

    。 ——Pythonはシンプルさを代表する言語です。英語の要件は非常に厳しいですが、優れた Python プログラムを読むと、英語を読んでいるような気分になります。 Python のこの疑似コードの性質は、Python の最大の強みの 1 つです。これにより、言語自体を理解するのではなく、問題を解決することに集中できます。
  • 学習が簡単—これから説明するように、Python は非常に簡単に始めることができます。前述したように、Python の構文は非常に単純です。
  • 無料かつオープンソース————Python は FLOSS (無料/オープンソース ソフトウェア) の 1 つです。簡単に言うと、このソフトウェアのコピーを配布したり、そのソース コードを読んだり、変更を加えたり、その一部を新しいフリー ソフトウェアで使用したりするのは自由です。 FLOSS は、知識を共有するグループの概念に基づいています。これが、Python が優れている理由の 1 つです。Python は、より優れた Python を求める人々のグループによって作成され、継続的に改良されてきました。
  • 高級言語————Python 言語でプログラムを作成する場合、プログラムで使用されるメモリの管理方法などの低レベルの詳細について考える必要はありません。
  • 移植性 - オープンソースの性質により、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 プラットフォームまで対応しています。
  • 説明————これについては説明が必要です。 C や C++ などのコンパイル済み言語で書かれたプログラムは、ソース ファイル (C 言語または C++ 言語) からコンピュータで使用される言語 (バイナリ コード、つまり 0 と 1) に変換できます。このプロセスは、コンパイラとさまざまなフラグおよびオプションを通じて実行されます。プログラムを実行すると、リンカー/リローダー ソフトウェアがプログラムをハード ドライブからメモリにコピーして実行します。 Python で書かれたプログラムは、バイナリ コードにコンパイルする必要はありません。ソース コードから直接プログラムを実行できます。コンピューター内部では、Python インタープリターがソース コードをバイトコードと呼ばれる中間形式に変換し、その後コンピューターで使用される機械語に翻訳されて実行されます。実際、これらすべてにより、プログラムのコンパイル方法や、正しいライブラリが確実にリンクおよび再現されるかどうかなどについて心配する必要がなくなるため、Python の使用がより簡単になります。 Python プログラムを別のコンピュータにコピーするだけで動作するため、Python プログラムの移植性も高まります。
  • オブジェクト指向—Python は手続き型プログラミングとオブジェクト指向プログラミングの両方をサポートしています。 「手続き指向」言語では、プログラムは手続き、または再利用可能なコードである単なる関数から構築されます。 「オブジェクト指向」言語では、プログラムはデータと機能を組み合わせたオブジェクトから構築されます。 C++ や Java などの他の主要言語と比較して、Python は非常に強力かつシンプルな方法でオブジェクト指向プログラミングを実装します。
  • スケーラビリティ————コードの重要な部分をより高速に実行する必要がある場合、または特定のアルゴリズムを非公開にしたい場合は、プログラムの一部を C または C++ で作成し、それを Python プログラムで使用できます。で。
  • 豊富なライブラリ——Pythonの標準ライブラリは実に膨大です。正規表現、ドキュメント生成、単体テスト、スレッド、データベース、Web ブラウザ、CGI、FTP、電子メール、XML、XML-RPC、HTML、WAV ファイル、パスワード システム、GUI (グラフィカル ユーザー インターフェイス) などのさまざまなタスクに役立ちます。 )、Tk、およびその他のシステム関連の操作。 Python がインストールされていれば、これらの機能はすべて利用できることに注意してください。これは、Python の「フル機能」の哲学と呼ばれます。標準ライブラリに加えて、wxPython、Twisted、Python イメージング ライブラリなど、他にも多くの高品質ライブラリがあります。
  • 標準化されたコード—Python は強制インデントを使用してコードを非常に読みやすくしています。

デメリット

実行速度、速度要件がある場合は、主要な部分を C++ で書き換えます。
国内市場は小さい(現在、中国ではPythonを主な開発ツールとして使用しているWeb2.0企業は数社しかない)。しかし、時間が経つにつれて、多くの国内ソフトウェア会社、特にゲーム会社がこれを大規模に使用し始めました。
中国語の情報が不足しています (優れた Python 中国語情報はほんの一握りです)。コミュニティのおかげで、いくつかの優れた教科書が翻訳されていますが、入門レベルの教科書が多く、高度なコンテンツは英語でのみ閲覧できます。
アーキテクチャの選択肢が多すぎます (C# のような正式な .net アーキテクチャはなく、歴史が浅いため Ruby のような比較的集中的なアーキテクチャ開発もありません。Ruby on Rails アーキテクチャは、中小規模の開発において比類のないものです)ウェブプログラム)。しかし、これは別の側面から見ると、Python が比較的優れており、より多くの人材と多くのプロジェクトを惹きつけていることを示しています。

3. Python アプリケーションのシナリオ

Web アプリケーション開発
Python は Web 開発によく使用されます。たとえば、mod_wsgi モジュールを通じて、Apache は Python で書かれた Web プログラムを実行できます。 Python は、HTTP サーバーと Python ベースの Web プログラム間の通信を調整するための WSGI 標準アプリケーション インターフェイスを定義します。 Django、TurboGears、web2py、Zope などの一部の Web フレームワークを使用すると、プログラマーは複雑な Web プログラムを簡単に開発および管理できます。

オペレーティング システム管理およびサーバーの運用とメンテナンスのための自動スクリプト
多くのオペレーティング システムでは、Python が標準のシステム コンポーネントです。 ほとんどの Linux ディストリビューションと NetBSD、OpenBSD、Mac OS X には Python が統合されており、ターミナルで直接 Python を実行できます。 Ubuntu の Ubiquity インストーラー、Red Hat Linux、Fedora の Anaconda インストーラーなど、Python で書かれた一部の Linux ディストリビューション用のインストーラーがあります。 Gentoo Linux は Python を使用して Portage パッケージ管理システムを作成します。 Python 標準ライブラリには、オペレーティング システム関数を呼び出す複数のライブラリが含まれています。サードパーティ ソフトウェア パッケージ pywin32 を介して、Python は Windows COM サービスおよびその他の Windows API にアクセスできます。 IronPython を使用すると、Python プログラムは .Net Framework を直接呼び出すことができます。一般的に、Python で書かれたシステム管理スクリプトは、読みやすさ、パフォーマンス、コードの再利用、およびスケーラビリティの点で、通常のシェル スクリプトよりも優れています。

科学コンピューティング
NumPy、SciPy、および Matplotlib を使用すると、Python プログラマーは科学コンピューティング プログラムを作成できます。

デスクトップ ソフトウェア
PyQt、PySide、wxPython、PyGTK は、Python でデスクトップ アプリケーションを迅速に開発するための強力なツールです。

サーバー ソフトウェア (ネットワーク ソフトウェア)
Python はさまざまなネットワーク プロトコルを完全にサポートしているため、サーバー ソフトウェアや Web クローラーの作成によく使用されます。サードパーティ ライブラリ Twisted は、非同期ネットワーク プログラミングとほとんどの標準ネットワーク プロトコル (クライアントとサーバーを含む) をサポートし、高性能サーバー ソフトウェアを作成するために広く使用されているさまざまなツールを提供します。

ゲーム
多くのゲームは、C++ を使用してグラフィックス表示などの高性能モジュールを作成し、Python または Lua を使用してゲーム ロジックとサーバーを作成します。 Python と比較すると、Lua は機能がシンプルでサイズが小さいのに対し、Python はより多くの機能とデータ型をサポートします。

コンセプトの実装、初期の製品プロトタイプと反復
YouTube、Google、Yahoo!、NASA はすべて、社内で Python を広範囲に使用しています。

以上がPythonの開発の歴史を紹介します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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