IT技術の根源から先端まで

# IT技術の根源から先端まで

- 宇宙（約138億年前）
  - 人間（約30万年前）
    - 言語（自然言語）（約7万年前）
      - 記録技術
        - 文字（紀元前3200年ごろ）
        - 紙（紀元前100年ごろ）
        - ジャカード織機（1801年：パンチカード技術の起源）
        - タイプライター（1860〜1870年代）
        - 情報のデジタル化（ビット）（1948年：シャノンの情報理論）
          - 論理回路（1930年代）
            - トランジスタ（1947年）
              - ハードウェア
                - CPU・メモリ・記憶装置（1950年代〜）
                  - パーソナルコンピューター（PC）（1970年代：Xerox Alto がGUIを一般化）
                  - 低級プログラミング言語
                    - 機械語（1950年代）
                    - アセンブリ言語（1950年代）
                      - コンパイラ（1950年代：FORTRAN）
                        - OS（1960年代）
                          - カーネル（1964年: Multics）
                          - Shell（1970年代: UNIX）
                            - bash（1989年）
                            - zsh（1990年）
                          - OS機能
                            - プロセスマネージャ（1960年代）
                            - ファイルシステム（1970年代）
                            - 権限管理（ACL: 1970年代）
                            - ネットワーク制御
                              - ARPANET（1969年：インターネット前身）
                              - TCP/IP（1980年代）
                            - ランタイム機能
                              - メモリ管理（GC：1950〜80年代）
                            - 高級プログラミング言語（1950年代〜）
                              - Java（1995年）→ JVM
                              - Python（1991年）→ CPython
                              - JavaScript（1995年）→ V8（2008年）
                              - Go（2009年）→ Go Runtime
                            - DB
                              - リレーショナルモデル（1970年：コッド）
                              - Oracle（1979年）
                              - リレーショナルDB
                                - MySQL（1995年）
                                - PostgreSQL（1996年）
                                - SQLite（2000年）
                              - NoSQL
                                - Cassandra（2008年）
                                - MongoDB（2009年）
                                - Redis（2009年）
                              - ORM
                                - ActiveRecord（2004年）
                                - Sequelize（2010年）
                                - TypeORM（2016年）
                            - デスクトップアプリ（1980年代〜）
                            - 周辺技術
                              - モジュール（1970年代〜）
                              - パッケージ（1990年代）
                              - ライブラリ（1980〜90年代）
                                - アプリケーション
                                  - Webアプリ
                                    - WWW（1991年：ティム・バーナーズ＝リー）
                                    - HTTP（1991年）
                                    - HTML/CSS（1990年代）
                                    - モバイルアプリ（2008年〜）
                                    - フレームワーク
                                      - Spring（2002年）
                                      - Django（2005年）
                                      - Next.js（2016年）
                                    - パッケージマネージャー
                                      - Homebrew（2009年）
                                      - npm（2010年）
                                      - Yarn（2016年）
                                    - ビルドツール／トランスパイラ
                                      - Webpack（2012年）
                                      - Babel（2014年）
                                      - Vite（2020年）
                                      - インフラ / 実行基盤
                                        - 仮想化（2000年代：VMware）
                                        - コンテナ（Docker 2013年）
                                        - クラウド
                                          - AWS（2006年）
                                          - Azure（2010年）
                                          - GCP（2011年）
                                            - 先端技術
                                              - AI
                                                - 機械学習復活（2006年頃）
                                                - 深層学習ブレイクスルー（2012年〜）
                                              - IoT（2000年代後半〜）
                                              - Blockchain（2009年〜）
                                              - 量子コンピューティング（2020年代〜）





```mermaid
flowchart TD
  A["宇宙 (138億年前)"] --> B["人間 (30万年前)"]
  B --> C["言語 (7万年前)"]
  C --> D["記録技術 (紀元前3500年頃〜)"]
  D --> D1["文字 (紀元前3200年)"]
  D --> D2["紙 (紀元前100年)"]
  D --> D3["タイプライター (1860-70年代)"]
  D --> D4["ジャカード織機 (1801年)"]
  D --> E["デジタル化 (ビット:1948年)"]
  E --> F["論理回路 (1930-40年代)"]
  F --> G["トランジスタ (1947年)"]
  G --> H["ハードウェア (1950-60年代)"]
  H --> H1["PC & GUI (1970年代: Alto)"]
  H --> I["低級言語 (1950年代)"]
  I --> J["OS (1960-70年代)"]
  J --> K1["Shell (bash:1989, zsh:1990)"]
  J --> K2["ネットワーク (ARPANET:1969, TCP/IP:1980年代)"]
  J --> K3["DBMS (1970年代〜)"]
  K3 --> DB1["Oracle (1979)"]
  K3 --> DB2["MySQL (1995)"]
  K3 --> DB3["PostgreSQL (1996)"]
  K3 --> DB4["SQLite (2000)"]
  K3 --> DB5["Cassandra (2008)"]
  K3 --> DB6["MongoDB (2009)"]
  K3 --> DB7["Redis (2009)"]
  K3 --> ORM["ORM"]
  ORM --> ORM1["ActiveRecord (2004)"]
  ORM --> ORM2["Sequelize (2010)"]
  ORM --> ORM3["TypeORM (2016)"]
  J --> L["高級言語 (1950年代〜)"]
  L --> M1["Java (1995) → JVM"]
  L --> M2["Python (1991) → CPython"]
  L --> M3["JavaScript (1995) → V8 (2008)"]
  L --> M4["Go (2009) → Go Runtime"]
  L --> N["周辺技術"]
  N --> N1["モジュール/パッケージ/ライブラリ"]
  N --> N2["パッケージマネージャー"]
  N2 --> N21["Homebrew (2009)"]
  N2 --> N22["npm (2010)"]
  N2 --> N23["Yarn (2016)"]
  N --> N3["ビルドツール/トランスパイラ"]
  N3 --> N31["Webpack (2012)"]
  N3 --> N32["Babel (2014)"]
  N3 --> N33["Vite (2020)"]
  N --> O["フレームワーク"]
  O --> O1["Spring (2002)"]
  O --> O2["Django (2005)"]
  O --> O3["Next.js (2016)"]
  O --> P["アプリケーション"]
  P --> P1["Webアプリ (1990年代〜)"]
  P1 --> WWW["WWW (1991年)"]
  P --> P2["モバイルアプリ (2008年〜)"]
  P --> P3["デスクトップアプリ (1980年代〜)"]
  P --> Q["クラウド"]
  Q --> Q1["AWS (2006)"]
  Q --> Q2["Azure (2010)"]
  Q --> Q3["GCP (2011)"]
  Q --> R["先端技術"]
  R --> R1["AI (2012年〜)"]
  R --> R2["IoT (2010年代〜)"]
  R --> R3["Blockchain (2009年〜)"]
  R --> R4["量子コンピューティング (2020年代〜)"]