メインコンテンツへスキップ

🐍 Pythonの歴史

■ 1980年代後半:構想の始まり

  • 開発者:オランダ人プログラマ Guido van Rossum(グイド・ヴァンロッサム)

  • 背景:教育用言語「ABC」を改良したいと考えていた。

  • 目標:シンプルで可読性の高い、かつ汎用的なスクリプト言語の実現。


■ 1991年:Python 0.9.0 公開

  • 場所:Usenetにてソースコードを初公開。

  • 特徴

    • クラス、例外、関数、コアデータ型(list, dict, str)などをすでに実装。

    • モジュール機構(最初期のimport文)を搭載。


■ 1994年:Python 1.0 リリース

  • 主な追加

    • lambda, map, filter, reduce などの関数型プログラミング機能。

  • 用途:学術・教育、簡単なスクリプト処理に用いられる。


■ 2000年:Python 2.0 リリース

  • 主な進化

    • リスト内包表記の導入(例:[x*x for x in range(10)]

    • ガベージコレクタの改善(循環参照の検出)

    • Unicode対応の初導入。

  • 問題点:後にPython 3と互換性がなくなる設計ミスが含まれていた。


■ 2008年:Python 3.0 リリース(通称「Python 3000」)

  • 設計方針:互換性を断ち切ってでも「本当に正しい設計」を目指す。

  • 主な変更点

    • print を文から関数に変更:print "hello"print("hello")

    • Unicodeが標準文字列になる。

    • range() がイテレータに(xrange()は廃止)。

  • 移行の困難さ:多くの既存コードが2系に依存しており、移行に時間がかかった。


■ 2010年代:Pythonの普及とブーム

  • データサイエンスの台頭

    • ライブラリ(NumPy, pandas, matplotlib, scikit-learnなど)が発展。

    • Pythonが科学計算やAI分野の標準的言語に。

  • Web開発:Django, Flask などの人気フレームワーク。

  • 教育界・初学者に人気:文法のシンプルさが評価される。


■ 2020年:Python 2 のサポート終了(EOL)

  • 長らく共存していた2系の公式サポートが終了(2020年1月1日)

  • 本格的に3系への統一が進む。


■ 現在(2025年時点)

  • 最新バージョン:Python 3.12(2023年10月リリース)、2024年には3.13も登場予定。

  • 新機能の例:

    • マッチング構文(match-case)でパターンマッチが可能に。

    • 型ヒントと静的解析の強化。

    • パフォーマンス向上(「Faster CPython」プロジェクト)。

  • 用途の広がり

    • AI・機械学習(TensorFlow, PyTorch)

    • Webアプリ

    • 自動化・スクリプティング

    • IoTやRaspberry Pi、教育用途


🎯 Pythonの特徴を形づくった理念

  • シンプルさ:「読みやすさは大切だ(Readability counts)」

  • 明示性:「曖昧さは排除する(Explicit is better than implicit)」

  • 一つの正しいやり方:「同じ目的に対して複数のやり方があるより、1つのやり方がある方が良い(There should be one—and preferably only one—obvious way to do it)」