ホームページ >バックエンド開発 >Python チュートリアル >Python プログラミング言語の開発の概要
Python は私のお気に入りの言語です。シンプルで美しく、使いやすいです。2 日前、私は Python の利点を友人に熱心に宣伝しました。 .
「Python が優れていることは認めますが、なぜ Python と呼ばれるのでしょうか? 「
」そうですね、テレビシリーズの名前のようです。 「
」では、あなたが話しているグイドはアメリカ人ですか? 「
」 彼は Google から Dropbox に移りましたが、名前がオランダっぽいですね。 ”
”本当に Python に精通していますか? 「
それで、私は恥を晴らすために、時間をかけて Python の歴史を調べ、Python の多くの関数の起源と Python の設計哲学を見て、プログラミング言語の進化の歴史を見ました。 Python とオープンソース運動の素晴らしいつながりを見てみましょう。Python の歴史から、オープンソース開発の哲学と成果を垣間見ることができます
これは、私が書いた簡単なチュートリアルの序文としても使用できます
当時、Guido は Pascal、C、Fortran などの言語に触れ、使用していました。 1980 年代には、IBM と Apple が一連のパーソナル コンピューターを発売しましたが、初期の Macintosh のような構成は非常に低かったです。 CPU 周波数と 128KB の RAM では、大きな配列がメモリをいっぱいにする可能性があります。すべてのコンパイラーの核心は、プログラムが実行できるように最適化することです。この言語は、
プログラマーにコンピューターのように考えることを強制します。当時のプログラマーは、コンピューターの能力を隅々まで手作業で使いこなしたいと考えていました。C 言語のポインターはメモリの無駄だとさえ考えていました。動的型、自動メモリ管理、オブジェクト指向... 考えないでください。コンピューターが停止してしまいます。この種のプログラミングでは、Guido は関数の書き方を知っています。 C 言語を使用することはできますが、それを正確に理解していても、作成プロセス全体に多くの時間がかかります。Bourne Shell は、長い間 UNIX システムのインタープリタとして使用されてきました。 UNIX 管理者は、定期的なシステム メンテナンスやファイル システム管理などの単純なスクリプトを作成するためにシェルを使用することがよくあります。シェルは、UNIX での数百行のプログラムを接続するための接着剤のようなものです。本質はコマンドを呼び出すことです。たとえば、シェルには数値データ型がありません。つまり、シェルは完全には実行できません。この言語はコンピュータの機能を完全に呼び出すことができ、C 言語のように簡単にプログラミングできます。 ABC は、オランダの数学コンピューティング研究所によって開発されました。グイドはこの研究所で働き、ABC 言語の開発に携わりました。 ABC言語は教育を目的としています。当時のほとんどの言語とは異なり、ABC 言語の目標は「ユーザーの気分を良くする」ことでした。 ABC Language は、この言語を読みやすく、使いやすく、覚えやすく、学習しやすいものにし、人々のプログラミング学習への関心を刺激したいと考えています。たとえば、次は Wikipedia の ABC プログラムです。このプログラムは、テキスト内に出現する単語の総数をカウントするために使用されます。 IN document:FOR word IN 分割行:IF
word not.in collection:INSERT word IN collectionRETURN collectionHOW 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 を使っています
時代が英雄を作る私たちは Python の時間を一時停止して、絶え間なく変化するコンピューター業界を見てみる必要があります。 1990年代初頭、パーソナルコンピュータが一般家庭に普及し始めました。 Intel は 486 プロセッサをリリースし、Windows は Windows 3.0 から始まる一連のウィンドウ システムをリリースしました。コンピューターのパフォーマンスが大幅に向上します。プログラマーは、グラフィカルインターフェイスなどのコンピューターの使いやすさに注目し始めました。Windows 3.0
コンピューターのパフォーマンスが向上するにつれて、ソフトウェアの世界も変化し始めます。ハードウェアは多くのパーソナル コンピューターに十分です。ハードウェア メーカーは、ハードウェアのアップグレードを促進するために、需要の高いソフトウェアの出現にも熱心です。 C++ と Java が次々に普及しました。 C++ と Java は、オブジェクト指向プログラミング パラダイムと豊富なオブジェクト ライブラリを提供します。 C++ と Java は、ある程度のパフォーマンスを犠牲にして、プログラム出力を大幅に向上させました。この言語の使いやすさは新たなレベルに引き上げられました。また、ABC の失敗の重要な理由がハードウェアのパフォーマンスの限界にあったことも覚えています。この点で、Python は ABC よりもはるかに幸運です。
静かに起こっているもう一つの変化はインターネットです。 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 プログラミング言語の開発の概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。