見出し画像

Joke Codeというプログラミングポエム始めました。

かねてから、ソフトウェアのソースコード、特にVS Codeなどのコードエディタで表示される、適切なコメントとインデントが施されたコードに、ビジュアル的な美しさを感じていた自分は、なんとかこれをデザインやアートに活かせないかと思っていました。

ちょうど、執筆中のSF小説と並行して、そのキャラクターやテーマをデザインに使った、Tシャツやスウェットなどを販売するオンラインストアをオープンし、そのプロモーション用のインスタTikTokYouTubeチャネルもAIの力を借りて運用し始めたのですが(その様子はこちらの記事で触れています)、定期的に投稿するにもネタがそこまでないことに気づき、どうしたものかなと思っていました。

その時不意に、小説の中にも登場する、とあるソースコードの中身をChatGPTに書かせてみようと思い、プロンプトを書いてみたところ、綺麗に出力してくれたので、小説の核ともなる、量子力学の様々な理論(シュテレンガーの猫など)をコードで表現したらどうなるんだろうと聞いてみた結果、もちろん、あくまでコンセプト的なサンプルコードではありますが、結構ネタとしても使えそうなコードが書き出されたので、「このコードを画像や動画としてコンテンツとして使ったら、面白いかも」と考え始めました。
量子力学のような真面目な内容ではなくて、例えば、「路上ナンパが成功する確率」みたいなふざけた内容もちゃんと、JavaScriptの関数に落としてくれたので、いっそのこと、GitHub上にリポジトリとして追加していって、なんなら他の人もプルリクエスト(他の人のソースコードへの追加、変更の取り込み)も受け付けたら面白いのではと思い、立ち上げたのが、以下のJoke Codeというリポジトリです👇

自分は、ChatGPTとClaudeに両方同じプロンプトを与えて、出てくるコードがより「面白いか=それらしく見えるか」(本来、ソースコードをこの観点で判断するのは、ソフトウェアエンジニアとしてはあるまじき行為ですが、何かのシステムに組み込まれるものでもなく、あくまでコンテンツとして使うので、良しとします)で、判断して採用していたのですが、ChatGPTのo1-previewが使えるようになったので、これを書いている現在は、o1-previewオンリーで書いています。

ChatGPTもClaudeも、ご丁寧に頼んでいないのに、ソースコードの解説までしてくれるので、それをそのままオンラインストアのブログ記事に応用したりしています👇

ちなみに、Xのハッシュタグで、#JokeCode を探してみたところ、数件だけ英語のポストがあったのと、JokeCodeというアカウントがありましたが、固有名詞とも言えないし、著作権なども発生していなさそうなので、このままこの名称は使わせてもらおうと思います。

色々な事象をプログラミングのソースコードに落とし込むのいうのは、エンジニアにとっては一番スッキリする行為ですし、自分のようにまともに数学や物理をやってこなかった人間にとっては、方程式の形よりプログラミングのコードで表現された方が、理解しやすい側面もあります。

また、世の中の漠然としたことや、不安、馬鹿げたことなどを、コンピュータが処理するプログラミング言語として記述することで、思わぬユーモアや発見も生まれるのではないかと期待しております。

この、Joke Codeのリポジトリに挙げたコードは、上記のSNSにコンテンツとして上げていこうと思いますので、興味ある、特にエンジニアの方、ぜひフォローしていただければと思います!そして、前述通り、プルリクエストも受け付けておりますので、楽しいコードのご提供もお待ちしております。

余談ですが、この、ソースコードを本来の目的以外に、エンタメとして使えないかという発想は、自分の中で、10年以上前から渦巻いていたもので、例えば、「お笑いコントをやるためのライブラリ」なんかできないものかなと思っていた時期もあります。

function boke() { …  } とか、function tsukkomi() { …} とかあるやつ😂

今なら、関数の内部でプロンプト生成して外部のLLMに繋いで、JSONでボケやツッコミを返すみたいなモジュールをnpmで配布できたりするかもです。

そのうち、作ってみようかな・・

*2024.09.21 追記

調子に乗って、初回のコード2つ(シュテレンガーの猫と路上ナンパの成功確率のコード)をデザインにしたTシャツ、ロンT、スウェットを作りました!自分同様、ソースコードがたまらなく好きな方、ぜひ買ってください😆


この記事が気に入ったらサポートをしてみませんか?