HN 日本語サマリー

← 一覧へ戻る
プログラミング

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

Programming Isn't Special (blog.glyph.im)

36 pointsby ingve29 コメント

要約

この記事は、プログラミングが芸術の一形態であり、他のクリエイティブ産業がAIに反対しているのと同様に、プログラマーもAIツールの使用に抵抗すべきだと主張しています。プログラミングが単なる機能的な作業ではなく、美的側面を持つ芸術であることを論じ、AIによるコード生成がもたらす影響について警鐘を鳴らしています。

全文翻訳

プログラミングは特別ではない アーティストたちはAIが芸術にとって悪いことを理解しています。なぜプログラマーは自分たちがアーティストであることを理解しないのでしょうか? クリエイティブな仕事 作家たちは「AI」に対する保護を得るためにストライキを行いました。何千人ものアーティストが「AI」への抗議として公開書簡に署名しています。クリエイティブ産業グループからAIに対する著作権訴訟が数多く起こされており、それ専用のウェブサイトまであります。人気のYouTuberたちはそれを完全に嫌っています。もし彼らがミュージシャンでもあるなら、彼らはそれを本当に嫌っています。あらゆるクリエイティブ産業全体で、この技術を拒否しようとする統一された動きがあります。しかし、クリエイティブ分野ではほとんどユニークなことに、多くの経験豊富なプログラマーは、プログラミングに「AI」を使用することは問題ないという考えを依然として持っています。私たちはそれを嫌っているように見え、それが私たち全員を不幸にしていますが、それでもそれを使用しています。この諦めの正当化の多くは、プログラミングは芸術ではないという考えに基づいているようです。もしツールが仕事をこなせるなら、そして仕事が単に機能的なら、なぜそれが問題になるのでしょうか?それは問題なのです。なぜなら、私たちは芸術を生成するためにAIを使用すべきではなく、プログラミングは芸術だからです。 芸術はありふれたものでありうる プログラムは表現的ではなく機能的であるため、芸術にはなり得ないと言う人もいるでしょう。プログラムはありふれたものですが、芸術は超越的です。これは芸術の本質についての歪んだ理解に基づいています。ジョン・バーガーの「われわれはどのように絵を見るか」では、この種の歪みを「神秘化」と呼んでいます。このプロセスの彼の例は、面白く、かつ示唆に富んでいます。その全体を読むことをお勧めします。要約すると、バーガーは、委託された集合肖像画を説明する美術史家の装飾的な文章を批判しています。「深い、輝く黒の微妙な変調」や「調和のとれた融合」といったフレーズが含まれています。肖像画は、ほとんど恍惚とした言葉で、崇高なものとして説明されています。バーガーは、この肖像画の現実は、貧しい老いた画家が仕事が必要で、役人たちが公式肖像画を持つのは良いことかもしれないと考えたのだろうと明らかにしています。それで彼らはその貧しい老人にいくらかのお金を払い、彼はそれを描き、そして彼らは絵画を手に入れました。それは、人々のグループのよくできた肖像画です。美しいでさえあります。しかし、それはかなりありふれた目的のために委託された仕事であり、その目的にぴったり合っていました。それは神聖な遺物ではなく、またそうではありませんでした。文化的に、私たちは絵画、彫刻、映画、音楽を神秘化する傾向があります。「微妙な変調」を吹き込みます。私たちは、装飾、娯楽、気晴らしを求め、感情的な影響に焦点を当て、それらの機能的な側面を無視します。誤解しないでください。私は素晴らしい美的哲学が好きです。私たちの芸術作品への反応を本当に調べ、メディア分析を通じて私たちの文化や自己についてのより深い理解を得ようとすることは素晴らしいと思います。むしろ、私たちはもっとそれを行う必要があります。これは、そのような作品の創造が神秘的であるとか、他のどのような労働よりも崇拝されるべきだという意味ではありません。少なくとも、ファインアートほど文化的に崇拝されてはいないが、それに隣接する他の種類の労働ほどではありません。私たちは小説家の仕事を神秘化する傾向がありますが、ジャーナリストの仕事を軽視します。実際には、ジャーナリストの機能的な文章は、それほど重要ではなく、それほど尊敬に値しません。小説家が私たちの集合的な想像力の中で住んでいると想像される高遠な領域よりもはるかに下にあるかもしれませんが、ジャーナリストでさえ、卑しいコピーライターよりも多くの尊敬、したがってより多くの神秘化を受けています。しかし、「小説家」と「コピーライター」の間に超越的な区別はありません。多くのスキルは同じであり、区別は単に商業と機会の偶然です。実際、多くの有名な作家が両方の役割を担ってきたことは有名です。これは偶然ではありません!プロフェッショナルとして言葉を扱うこと、たとえ(おそらく特に)ありふれた言葉であっても、より純粋に芸術的な文脈で言葉を扱うための優れた練習になります。なぜなら、ありふれた創造性でさえ、依然として芸術的だからです。 コードは美しくなりうる 1000年前のインターネット時代、私が10代後半だった頃、私は自分自身を「コード詩人」と説明していました。私は「クリンジ」であるとして執拗に嘲笑され、当時は「気取り屋」と呼ばれていました。私は同調圧力に屈し、それを私のメールの署名とプロフィールから削除しました。私はその並行性を強く信じていましたが、少なくとも社会的には、コードを詩、あるいは芸術と比較することは愚かなことだと受け入れました。しかし、心の奥底ではその考えを捨てませんでした。私が最もよく知られている発明であるDeferredは、RPCクライアント/サーバーアプリケーションのすべてのリモートプロシージャコールにコールバックとエラーバックパラメータを渡すという退屈さに対する、まさに美的反応でした。それらの2つのコールバックは仕事をうまくこなしましたが、それらは醜く、扱いにくかったのです。Deferredは、非同期タスク実行に関する意図的な詩であり、問題の美学とそれを使用する経験に意図的に注意を払ったものです。それは美学への焦点のために影響力がありました。私はこのささやかな貢献の美しさや深遠さ、あるいはその持続性を過大評価したくありません。詩が存在するということは、それが偉大な詩であるという意味ではなく、単に詩であるという意味です。プログラムを取り巻く私たちの美的文化は、ファインアートというよりはフォーク叙事詩に似ています。そのため、この貢献の影響は、その特定の永続的な力というよりも、その後のものへの影響に関係しています。MochiKit.AsyncからJQuery Deferred、JavaScript Promises、そして最終的にはasync/awaitへと、異なる職人がそれぞれ独自のものを追加していく長い連鎖を経て、元のものはほとんど溶解しました。(そして、私もここでは「オリジナル」ではありませんでした。E言語のPromisesなどから大きく影響を受けています。)コードを意図的な芸術的表現にするためには、問題領域についてかなりの時間を費やして熟考する必要があります。手動で1000個のコールバックパラメータを渡すという退屈さを経験しなければ、そのようなものを作成するスキルも動機もなかったでしょう。今、ほとんどのコードはそうである必要はありません。ほとんどのコードはそうなることができません。ほとんどのコードは機能的な、仕事の日のコードです。ほとんどのコードは、言うなればコピーライティングです。前述したように、ほとんどの文章もそうでした。ほとんどの文章もコピーライティングです。ほとんどの視覚芸術は広告です。ほとんどのライブ音楽パフォーマンスは、バーで無視されるであろうバックグラウンドミュージックです。しかし、意図的に美的デザインされたコードは、社会的にも技術的にも重要になる傾向があります。ソフトウェアには、自己神秘化の伝統がいくつかあります。Abelsonが記憶に残るように述べたように、「プログラムは人々が読むために書かれなければならず、機械が実行するためには付随的に書かれなければならない」ので、私たちはプログラムを非常に表現力のあるものとして長い間考えてきましたが、それが何を表現しているのか、あるいは誰に表現しているのかについては、常に合意できるとは限りません。私たちは特定のソフトウェアの哲学的意味合いについて詩的に語ることがあります。これも単一のソフトウェアに固有のものではありません。複数のコミュニティが同様の哲学にふけっています。ソフトウェアの表現的および美的品質は、ソースコードを読むことやAPIを介して他のプログラマーと対話することに限定されません。例えば、Federico Viticciは毎年Appleの新しいオペレーティングシステムのレビューを行っていますが、それは(とりわけ)美的批評です。ソフトウェアがユーザーに美的影響を与えなければ、そのようなプロジェクトは不可能でしょう。ましてや、すべてのビデオゲームレビューもソフトウェアレビューであることは言うまでもありません。 ソフトウェアリテラシーに関する短い余談 ソフトウェアコミュニティに批判的な読書の伝統があまりないことは、少し悲しいです。Literate Programmingはしばしば賞賛されますが、めったに実践されません。さらに、ユーザーがソフトウェア作成に何が含まれるかについてかなり混乱した考えを持っていること、プログラミングリテラシーがかなり低いことが悲しいです。