kivikakk.ee

transcendental programming

Many years ago, a wonderful coworker and friend got me the book あなたの知らない超絶技巧プログラミングの世界, English title “The World of Obfuscated, Esoteric, Artistic Programming”. (Literally translated, it is “the world of transcendental programming technique you don’t know”. I’m going to elide “technique” from hereon out, though.)

A discussion this morning with another wonderful coworker and friend touched on esolangs, and I mentioned this book by-the-by as related. This evening, it still on my desk, I re-read the introduction, and wow! It speaks a little bit to my thoughts of yesterday. I hope it’s fair use to quote it basically in full! A translation (as best as I can manage) follows; errors in it and transcription all mine. Original text copyright ©2015 遠藤佑介.

Let’s start with transcendental programming

This book introduces a new way to enjoy programming: transcendental programming. Transcendental programming is the play of using practical programming languages to create completely impractical things […] a kind of program unlikely to be of much use to anyone.

Traditional programming has naturally been associated with a practical perspective, but that can lead us astray. By turning away from earthly gain, we can savour the pure joy inherent to programming. Programs created with transcendental programming necessarily lack practical use, but the creation process itself brings all kinds of awakenings. For example, you may notice unexpected capabilities in everyday programming languages, catch a glimpse of some profound theory underlying programming, or get the opportunity to try algorithms and technologies you haven’t used before.

Someone like you who has gone out of their way to get an entirely strange book like this probably already finds programming fun. But why is it fun? Because you can make things you want to make? Because you can solve your own problems? I do think there is fun in these things. But I believe programming is fun because it is both “creation” and “research”. Creation and research are both enjoyable, even if they aren’t solving real-life problems.

Even if you feel that you don’t particularly like programming, or that you don’t want to program outside of work, by trying for a moment to forget about the obligations of practicality, you may find yourself feeling that programming is actually pretty fun.

And so it is that this book introduces the “useless programming” idea I have presented over the years, and the implementation techniques for it. Naturally, the contents of this book will not directly useful in your day-to-day life (nor should you try to make them so!). However, I believe I can communicate a different kind of enjoyment that programming can carry; let’s enjoy it together.

超絶技巧プログラミングをはじめよう

本書では、プログラミングの新しい楽しみ方、超絶技巧プログラミングを紹介します。超絶技巧プログラミングは、「実用的なプログラミング言語を使って全く実用的でないものを作る遊び」です。…このようなプログラムは、何かの役に立つことはないでしょう。

従来のプログラミングは「実用的」という観点がつきものですが、それは雑念です。俗世の利益を忘れることで、プログラミング本来の楽しさを純粋に味わうことができます。超絶技巧プログラミングで作られるプログラムは必然的に何の役に立ちませんが、作る過程でさまざまな「気づき」があります。たとえば普段使っているプログラミング言語の意外な可能性に気づいたり、プログラミングの背景にある深遠な理論を垣間見たり、使ったことのないアルゴリズムや技術に触れてみるきっかけになったりします。

この怪しすぎる本をわざわざ手に取ってくださったあなたは、たぶん、「プログラミングは楽しい」と思っている方でしょう。でも、なぜ楽しいのでしょうか?作りたいものが作れるから?自分の抱えている問題を解決できるから?そういう楽しさもあるとは思います。でも著者はプログラミングは「創作」であり「研究」だから楽しいのだと思っています。創作も研究も、特に実生活の問題を解決するわけではなくとも楽しいものです。

仮にあなたが「プログラミングをあまり好きでない」「仕事以外ではプラグラミングしたくない」と思っているようでも、いったん実用性を無視して現実のしがらみを忘れてみることで、プログラミングが実は楽しいものだと感じていただけるかもしれません。

ということでこの本は、著者が数年にわたって発表してきた「何の役に立たないプログラミングたち」と、その実装テクニックを紹介しています。当然、本書の内容が日々のプログラミング活動に直接役に立つことはないでしょう(し、役に立たせてはいけません)。しかし、プログラミングが隠し持つ別の楽しさはお伝えできると思いますので、ぜひ一緒に楽しんでください。

< newer post
the LLM residential botnet scraping thing
older post >
on llms (Ⅴ)