世界を動かす技術を、日本語で。

プログラミングは特別ではない

2026年10月9日原文(blog.glyph.im)

概要

  • クリエイティブ業界では AI 導入への強い反発が広がり
  • 一方でプログラマーは AI利用 に対し比較的寛容な傾向
  • プログラミングも 芸術的側面 を持つとの主張
  • 日常的・機能的な創作活動の 意義と重要性 を強調
  • AI活用 による創造的成長機会の損失への警鐘

クリエイティブ業界とAIへの反発

  • 作家やアーティストによる AIへの抗議運動 の活発化
    • ストライキや公開書簡、訴訟の増加
  • YouTuberやミュージシャンも AI利用に否定的 な立場
  • クリエイティブ業界全体で AI技術の拒絶 という流れ

プログラマーのAI受容とその背景

  • プログラマーの多くは AIの利用を容認
    • 業務効率化や機能重視の観点から
  • 「プログラミングは芸術ではない」という 誤解の存在
    • 機能性重視と表現性軽視の傾向

プログラミングは芸術である

  • 芸術の神秘化 (mystification)への批判
    • John Bergerの「Ways of Seeing」を引用
    • 芸術作品も多くは 実用的・日常的な目的 で制作
  • 小説家とコピーライターの 区別の曖昧さ
    • どちらも言葉を扱う専門職

コードの美しさと表現性

  • コード詩人 としての自己認識とその否定
    • Deferredの発明は 美的観点 から生まれた
  • ソフトウェアにも 美学的・表現的価値
    • APIやUI/UX、ゲームレビューにも 美的評価 の視点
  • 「人が読むためにプログラムを書く」という Abelsonの名言

ソフトウェアリテラシーと批評文化の欠如

  • ソフトウェア業界における 批評的読解の不足
  • Literate Programming の理想と現実
  • ユーザーの プログラミング理解の低さ と悪化する傾向

日常的創作活動の価値とAIの危険性

  • AIによる単調な創作作業の消失 がもたらす悪影響
    • 実務を通じた スキル向上の機会喪失
  • 抽象化や自動化は 理解を深めるための手段
    • AIが 創造的判断を奪う危険性
  • 各プロジェクトが 偉大さに到達する可能性 を持つ
    • AI活用の常態化で 創造的瞬間の消失

AIと創造性への抵抗の必要性

  • ソフトウェア開発においても AI導入への抵抗の意義
  • プログラミングは特別ではなく、 芸術の一形態
    • 芸術は最も人間的かつ普遍的な営み

謝辞

  • ブログ執筆やオープンソース活動を 支援するパトロン への感謝
  • スポンサー支援 の呼びかけ

Hackerたちの意見

プログラミングをアートとして考えると、いつもアインシュタインの言葉を思い出す。「純粋数学は、ある意味で論理的なアイデアの詩である」。どちらも、理解がなければ楽しめないアートの一形態だよね。実際、すべてのアートに当てはまるかもしれないけど、絵画や音楽のような身近な形は、基本的な理解がなくても楽しめるのに対して、数学やプログラミングはカジュアルな観察者にはまったく異質なものなんだ。

└

もう少し言うと、絵画や音楽は楽しませるためのものだと思う。エンターテインメントを生み出すための特化したアート、つまりエンターテインメントのアートだね。

僕は美的センスを大事にするプログラマーなんだ。特定のコードブロックで、タイプレベルの計算がコンパイラのバグを示してくれるから、特定の生産事故に対処しなくて済むって考えると、すごく美しいと思う。100行のコードが10行で済むって気づく瞬間が好きなんだ。富士山から降りてきたとき、ふわふわした雲と美しい自然が広がっていて、まるで絵画のようだった。その時、初めてHaskellを学んだときの美しさに似ていると感じたんだ。でも、これは珍しい感覚だと思って言ってる。アートや音楽は、簡単に楽しめるし、考えれば考えるほど深く楽しめる。美術館での説明文を読むのが好きで、アーティストがなぜそうしたのかを理解しようとするのが、作品そのものを見るよりも好きなんだ。コード(数学もだけど)はほぼ同じだけど、ひとつ大きな違いがある。意図的なトレーニングがないと、簡単には楽しめないってこと。多くの人が関わりたくないようなトレーニングが必要なんだよね。

└

アートや音楽は簡単に楽しめるんだよね。 その気持ち、わかるし(数学やコードについても同意するよ)。でも、実際には努力をすれば多くのことに対する評価は深まると思う。アマチュアのヴィオリストとして、過去にオーケストラで演奏したほとんどの曲に対して全く新しい評価を得たことを証明できるよ。「知られていない」クラシック音楽だけじゃなく、ベートーヴェンの6番、ドヴォルザークの9番、グリーグの「ペール・ギュント」組曲のような明らかに人気のある曲も含まれてる。最初に触れないといけない素晴らしい音楽がたくさんあるよ。例えば、Toolの曲がまさにそれで、もっとマイナーなアーティストもいるしね :) だから、数学やコードについてのことは、ほとんどの人が「味」を育むために必要なレベルで関わらずに人生を過ごせるからだと思う。

└

大きな違いは、富士山に行くためにお金をもらってないってことだよ。逆に、行くためにお金を払わなきゃいけない。だから、この教訓を職場に持ち込むことはできないんだ。

└

アートや音楽は簡単に楽しめる > コード(数学も同じだけど)はほぼ同じだけど、ひとつ大きな違いがある。意図的なトレーニングがないと、簡単には楽しめない。これは多くの人が関わりたくないようなトレーニングが必要なんだ。僕はこれがスペクトラム上に存在すると思う。意図的なトレーニングなしでは楽しむのが難しいアートや音楽もたくさんあるし、確かに「ミュージシャンのための音楽」と呼ばれるカテゴリーもある。例えば、マイルス・デイヴィスの「Kind of Blue」は多くの人に愛されていて、ジャズの世界への入り口として最高のアルバムと考えられている。聴きやすくて楽しみやすいからね。「Sketches of Spain」や特に「Bitches Brew」のようなアルバムは、一般の非音楽家には入りにくい。音楽の中でさらに突飛な例はアラン・ホールズワースだ。特定のサークルでは、彼は有名で評価されている存在で、非常に影響力があると考えられている。でも、ほとんどの人は彼が誰なのか、何をしたのか全然知らない。(ファミリーガイのカットシーンで、ベンジャミン・ディズレーリが「君は僕が誰かも知らないだろう!」って言ったようなものだね)。同様に、アートや絵画でも、なぜ何かが特に印象的だったのかを理解するためにはトレーニングが必要だよね。今は写真があるから、昔の絵画は、1700年代にほぼフォトリアリスティックな作品を作る難しさを理解しなければ「退屈」に感じることもある。一方で、トレーニングなしでも簡単に楽しめる数学もある!僕の友達は、フィボナッチ数列や黄金比を説明しただけで数学に興奮したんだ。自然界にそれらがどのように現れるかの簡単な例を見せたら、その日、友達は全く新しい形で数学に目覚めたんだ。コーディングはプログラミングとは違う。確かに非常に関連性の高いスキルだけど、コーディングはプログラミングとは同じじゃない。レスリー・ランポートの言葉を借りると、コーディングはプログラミングに対して、タイピングは執筆に対するようなものだ。

└

アートや音楽の「評価されやすさ」を過大評価してると思うよ。ほとんどの人は、過去100年、いやそれ以上の重要な批評作品を理解したり楽しんだりするためのトレーニングを受けていないと思う。

└

それを理解するには意識的なトレーニングが必要だってのは完全に同意だよ。でも、これを声に出して言うのはちょっとダサい気がする。たくさんの人とつながるものを作るのも本当に難しいしね。ビートルズやマイケル・ジャクソンみたいに。でも、言いたいことは分かるよ!

└

コードベースを見て、その概念やファイルを頭の中で飛び回りながら、全体を見渡して、ずっと清々しくて幸せな気持ちでいるのがこれ以上満足できることはないよ。:) それに関連して、人生の中で、自分以外には全く意味のないことを打ち込んで無駄にした時間がたくさんあるなぁ。もっとひどい悪癖もあるだろうけどね!

その引用を見つけられたらいいんだけど、C2 Wikiにあったと思う。確かこんな感じだったかな:「アーティストならプログラミングは粘土、エンジニアならプログラミングは建材」。要するに、プログラミングは多くのことを表現するための媒体なんだ。詩を書くために紙とペンを使ったり、技術的なマニュアルを書くのと同じようにね。みんながどう見るか、どう使うかを決めることができるんだ。

アーティストはAIがアートに悪影響を与えることを理解している。プログラマーはなぜ私たちがアーティストであることを理解しないのか? ほとんどのプログラマーは悪いアーティストだから、ただお金のためにプログラミングをしているだけなんだ。本当に職人技にこだわる人は少なく、すべてのレベルのプログラマーにとっての可読性を維持しつつ、最大の効率を追求することや、真剣にプログラミングをすること、質の高いオープンソースを作ることには興味がない。AIは、味を気にせず量を重視する悪いアーティストを最高の存在にしてしまう。同じことが悪いプログラマーにも当てはまる。

└

彼らはお金のためにプログラミングをしていた すごく単純化してるね。自分は結構普通のプログラマーだと思うけど、もっとひどい人たちと一緒に働いてきたよ。他の人のために役に立つものを作ることに気を使ってる。品質も大事だけど、ユーティリティほどではないかな。もしお金の心配をしなくてよくなったら、ユーティリティを優先するつもりだよ。そのコードが生み出す芸術的な概念よりもね。時には両方が一致することもあるけど、そうじゃないこともある。でも、たくさんの人にとって役に立つ、メンテナンスが大変なものを出す方が、アルゴリズミックに優雅なものよりもずっと幸せだよ。

Hacker Newsで議論の続きを見る