楽しみのためのプログラミングを取り戻そう

Recreational Programming

楽しみのためのプログラミングを取り戻そう

仕事やお金のためではなく、純粋な好奇心からコードを書く「レクリエーショナル・プログラミング」を提唱。ライブ配信で失敗も見せる探検家、システムを深く理解するダイバー、コードを芸術に使うクリエイターなど5つのスタイルを紹介し、役に立たないものを作る許可、計画ではなくエネルギーに従うこと、プロセスを記録することの重要性を説く。最後に、楽しくなければやめていいという唯一のルールを提示する。

「目標はこれらのプログラマーの誰かになることではない。なぜコーディングを始めたかを思い出し、その好奇心をキャリアと共に生き続けさせることだ。」
  1. mrandish

    この定義は、私が1981年にコンピュータの世界に足を踏み入れたときのことを完璧に言い表している。Radio Shackでやっとの思いで買った4K、8ビットのコンピュータを家に持ち帰り、テレビにつないだ。それまでコンピュータに触ったことなど一度もなく、予備知識ゼロで、箱に入っていたマニュアルだけが頼りだった(それが驚くほどよくできていた)。これまで会ったことのある人で家にコンピュータを持っている人や仕事で使っている人など誰もいなかったし、コンピュータでお金が稼げるなんて本気で考えたこともなかった。ただゲームが面白そうだと思ったし、プログラミングを学ぶというアイデアがクールに思えただけだった。白黒のホビイスト向け雑誌から長いリストを打ち込み、タイプミスを全部見つけ出すのが、結局は最高の学習法だった。

    アセンブラを独学するのは、ドキュメントがなかったのでもっと大変だった。あまりに無知だったので、本当に電話帳でMotorolaを調べて、マニュアルはどこで手に入るのかと電話をかけたほどだ。電話に出た営業担当者は私を哀れに思ったのか、CPUのマニュアルを無料で送ってくれた。今でもあの紫色のリファレンスカードを持っているし、よく使うオペコードは暗記している(https://colorcomputerarchive.com/repo/Documents/Datasheets/M...)

    初めてお金を稼いだのはそれから約18か月後、かなり便利なディスクユーティリティプログラムを書いたときだった。金曜の夜を徹して仕上げた。地元のユーザーグループで土曜の朝にフロッピーにコピーして5ドルで売った。140ドル稼ぎ、最初の28人の顧客を得た。それだけでソフトウェアを作って売ることにハマるには十分だった。約40年、3つのスタートアップ、12以上の製品、何百人もの優秀な人材を雇用し、いくつかの[…]

  2. prophesi

    娯楽としてのプログラミングは、かつてソフトウェア開発者を採用する際の評価基準の一つだった。コードを書くことに内発的な動機があれば、それはしばしば資格よりも価値があった。だからジュニア開発者は、教育以外で行ったランダムなプロジェクトの履歴書を披露するサイトを公開して、競争相手より優位に立とうとした。中には、燃え尽きを防ぐために就業時間内にサイドプロジェクトに取り組む時間を奨励する企業もあった。

    同時に、業界の一部の労働者は、キャッチアップのために余暇にもコーディングを楽しむことが期待されることに不満を感じていた。中には単に得意だからやっていて、仕事が終わったらソフトウェア開発者の頭をオフにして人生で楽しめる他のことをしたいだけの人もいた。

    しかし、コーディング用の高性能LLMの登場により、プロジェクトそのものよりも、娯楽プロジェクトにAIをどう活用できるかを示すことの方が重要になってきたように思える。ただしジュニア開発者にとっては、これは一種のキャッチ22だ。

    娯楽としてプログラミングを楽しむなら、プログラミングを始める良い基準だとは今でも思うが、これらはそれが問題になりうる点についての私の考えのほんの一部だ。

  3. 1dontknow_

    これはスライドショーなのか、それとも一体何なのか?つまり明らかに記事ではないが、スライドショーだとしてももっと画像があって、ざっと見やすく、どこが表で裏か、今どのページにいるのかがわかるはずだ。

    申し訳ないが、書いたものを本当に読みたかったのだが、適切な形式にしてほしい。今のままでは居心地が悪い。

  4. smnplk

    Tsoding [1] に声援を送りたい。彼は私のお気に入りの娯楽プログラマーだ。

    [1] - https://www.youtube.com/@TsodingDaily

  5. passive

    このスクロールの扱い方は好きになれなかった。ナビゲーションが窮屈に感じられた。もしかするとキーボードで操作するべきだったのか?特に明確には思えない。

  6. severak_cz

    確かに自分もそこに当てはまる。私は主に問題解決者だが、どの問題も新しいアイデアを探求したり、何度も再利用される社内ライブラリを開発したりする場でもある。また、すぐに気が散ってADHD的なサイドクエストに飛び込み、地図もレンダリングできるフォントツールを作ってしまう。

    https://github.com/severak を見てほしい。

  7. gauntr

    その気持ちはわかる。私はビデオゲームがきっかけでプログラミングにのめり込んだ。ある時、ゲームがどう作られているのか知りたくなり、自分で何かを作りたくなった。友人を通じてBlitzBasic3Dを知り、すぐにBlitzMaxも知った。ゲームを作りながらプログラミングを学び、ほとんどは自分のためだけで、大半はリリースされなかった。何時間も朝まで深く没頭し、それが大好きだった。そういう気持ちで、ためらいなく続けられるエネルギーとモチベーションを感じたのは、もう何年も前のことだ。

    コンピュータサイエンスを学び、報酬を得るソフトウェアエンジニアになった。BlitzMaxでの経験はすべて私の良い基盤となった(Mark Siblyよ安らかに、そしてあなたの仕事に感謝する)。今の仕事は好きだが、当時のゲームプログラミングほど愛してはいない。最近は、請求書を払ってくれる何か、あるいは最終的に雇用されなくて済むようにしてくれる何かを作る機会を探しているが、それが報われるかわからない有償労働の後の労働であり、プロジェクト自体が実に面白いものであっても「自分の時間に見合うか?」という考えが浮かんでしまい、なかなか取りかかれない。

    時々ゲームプログラミングを振り返り、そのたびに小さな炎が再び灯るのを感じる。しばらく経ち、実装してみたいアイデアも2つある。これを読んで、今どれほどこの種のプログラミングを渇望しているかに気づいた。おそらくしばらくはそれに時間を費やすべきだろう :)

  8. sergent_moon

    失礼を承知で言うが、二つの「not」文を見た瞬間、たいてい読むのをやめてしまう。

この日のほかの記事

2026-10-14