Python プログラミング言語の開発の概要

高洛峰
リリース: 2017-03-23 15:58:53
オリジナル
1484 人が閲覧しました

Python は私のお気に入りの言語です。シンプルで美しく、使いやすいです。2 日前、私は Python の利点を友人に熱心に宣伝しました。 .

「Python が優れていることは認めますが、なぜ Python と呼ばれるのでしょうか? 「
」そうですね、テレビシリーズの名前のようです。 「
」では、あなたが話しているグイドはアメリカ人ですか? 「
」 彼は Google から Dropbox に移りましたが、名前がオランダっぽいですね。 ”
”本当に Python に精通していますか? 「

それで、私は恥を晴らすために、時間をかけて Python の歴史を調べ、Python の多くの関数の起源と Python の設計哲学を見て、プログラミング言語の進化の歴史を見ました。 Python とオープンソース運動の素晴らしいつながりを見てみましょう。Python の歴史から、オープンソース開発の哲学と成果を垣間見ることができます

これは、私が書いた簡単なチュートリアルの序文としても使用できます

Python の作者、グイド フォン ロッサムはオランダ人で、1982 年にアムステルダム大学で数学とコンピュータ サイエンスの修士号を取得しました。しかし、彼は数学をもっと楽しんでいます。コンピューター サイエンスとコンピューター サイエンスの資格を取得しているため、彼は常にコンピューター関連の仕事をする傾向があり、プログラミングに関連するものであれば何でも行うことに熱心です

当時、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 構文の多くは 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 を使っていますPython プログラミング言語の開発の概要

時代が英雄を作る

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

Windows 3.0Python プログラミング言語の開発の概要

コンピューターのパフォーマンスが向上するにつれて、ソフトウェアの世界も変化し始めます。ハードウェアは多くのパーソナル コンピューターに十分です。ハードウェア メーカーは、ハードウェアのアップグレードを促進するために、需要の高いソフトウェアの出現にも熱心です。 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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート