/note/tech

「とほほのWWW入門」運営30年で見た、プログラミング言語とWeb標準の進化史 流行に振り回されず...

要約:

■ 1. サイト開設の経緯

  • インターネットとの出会い:
    • 1988年7月に就職先で初めてインターネットに触れた
    • インターネットに触れてから38年になる
  • 執筆の動機:
    • 1996年8月に自宅で初めてプロバイダに加入しHTMLを学び始めた
    • 当時は日本語の資料がほとんどなく、自分でまとめて公開することにした
  • 「とほほのHTML入門」公開:
    • 1996年9月10日に公開したのがサイトの始まり
    • 2週間後の9月24日に「とほほのJavaScript入門」を公開した
    • 10月3日に「とほほのCGI入門」を公開し、コンテンツを増やしていった
  • 運営30年:
    • 「とほほのWWW入門」の運営歴が9月でちょうど30年になる

■ 2. サイトの成長と現在の規模

  • 1コンテンツからサイト全体のトップへ:
    • 当初は他のホームページ入門や素材集と並ぶ1コンテンツだった
  • 現在の規模:
    • 2026年現在、トップページから4ページにわたってコンテンツが並ぶ
    • ページ数は1,662ページに達している
  • 最もアクセスが多いページ:
    • プログラミング関連のページではなく「珍しい名字」など読み方を集めたページ
  • 扱うジャンルの広がり:
    • プログラミング言語やフレームワークの入門記事に加え、今年はSwift、Alpine.js、WordPressの記事を追加した
    • 去年からAI関連の記事が増え始め、今年はローカルAIとClaude Codeの記事を追加した
    • 陶磁器入門やタイ料理入門といった趣味の「○○入門」シリーズにも手を広げている

■ 3. 記事以外の発明品

  • GIFカウンターライブラリ:
    • GIF画像の圧縮方式がUNISYSの特許に抵触するとしてフリーソフトが軒並み有償化された
    • 特許に抵触しない方式で画像を生成するライブラリを公開し、当時のアクセスカウンターとして使われた
  • grep型全文検索エンジン:
    • 個人サイト向けに手がけ、当時としては最高速をうたえるものだった
  • スレッドフロート型掲示板:
    • 書き込みのあったスレッドが最上部に表示される仕組み
    • 1997年に自身のサイトで「とほほラウンジ」として公開した
  • 2ちゃんねるとの関係:
    • あめぞうは1998年、2ちゃんねるは1999年の登場で、自身の掲示板のほうが先行する
    • 2ちゃんねる開発者はあめぞうを参考にしておらず、ベースにしたとすれば別の掲示板だと語ったと伝え聞く
    • もしかしたら自分の掲示板だったのかもしれないと思っている

■ 4. プログラミング言語の進化

  • 第1世代:
    • C言語やCOBOL、FORTRAN
  • 第2世代:
    • PerlやJavaScript、PHPなどのスクリプト言語が増えた
  • 第3世代:
    • ScalaやRustのような「速くて安全なC言語」的な言語
    • TypeScriptへ進化したJavaScript
  • 新言語登場の鈍化:
    • TypeScriptが2012年に登場してから14年ほど、新しく流行しそうな言語は少ない
    • 熟成しているのか停滞しているのか判断がつかない
  • AI時代の見通し:
    • この先はAIでプログラミングしていく時代になる
    • 新しい言語自体が生まれてこないかもしれない

■ 5. Web標準の進化

  • HTML Living Standard:
    • HTML 4.0は仕様として廃止された
    • 現在はバージョンを持たず日々更新されるHTML Living Standardが標準資料になっている
  • 直近の要素の増減:
    • selectで選択された項目にスタイルを当てるselectedcontent要素が2025年7月に採用された
    • param要素は削除された
  • 審議中の要素:
    • 位置情報を扱うgeolocation要素と、カメラ・マイクへのアクセス許可を扱うusermedia要素
    • 追加するかどうかが審議されている段階にある
  • CSSの進化:
    • JavaScriptを使わずにカルーセル、スクロール駆動アニメーション、ビュートランジションを実現できるようになった
    • ネストや関数、if文がサポートされるようになった
  • JavaScriptの安定:
    • 2015年のES6で大きな進化があった
    • ブラウザで動く言語という性質上、互換性を損なうような大きな変更は少なく比較的安定してきている
    • 今後ブラウザがTypeScriptを直接サポートするようになるのかどうかに関心がある

■ 6. フレームワークの潮流

  • 言語ごとの主流:
    • RubyではRuby on Railsが一貫して主流であり続けている
    • PHPではLaravelの存在感が増している
    • Pythonでは長らく主流だったDjangoに対し、近ごろFastAPIの採用が増えている

■ 7. 「Vanilla JS」を選ぶ理由

  • 好きなフレームワーク:
    • 一番好きなフレームワークを聞かれると、答えは決まって「Vanilla JS」になる
  • Vanilla JSとは:
    • ジョークサイトとして知られるネタフレームワーク
    • 機能を選んでダウンロードしても常にファイルサイズが0バイトになる
    • 生のJavaScriptをそのまま使えばよいという趣旨
  • フレームワークに頼りたくない理由:
    • 携わってきたプロジェクトの多くが20年、30年単位の長期運用である
    • フレームワークのサポート期間が切れると乗り換えや作り直しが必要になる
    • バージョンアップへの追随が負担になる
  • 開発コストと運用コストの均衡:
    • フレームワークを使えば開発コストは確かに下がる
    • 作った後の運用コストも考え、バランスを取りながら使っていく必要がある
    • 小規模なものは自作することが多い