blob: 25d4cba7c8613a6285fda19e18abb30e5a4ab3dc (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
|
<!DOCTYPE html>
<html lang="ja-JP">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="author" content="nsfisis">
<meta name="copyright" content="© 2024 nsfisis">
<meta name="description" content="駄文">
<meta property="og:type" content="article">
<meta property="og:title" content="死ぬまでに作る自作○○一覧あるいは人生の TODO リスト|REPL: Rest-Eat-Program Loop">
<meta property="og:description" content="駄文">
<meta property="og:site_name" content="REPL: Rest-Eat-Program Loop">
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>死ぬまでに作る自作○○一覧あるいは人生の TODO リスト|REPL: Rest-Eat-Program Loop</title>
<link rel="stylesheet" href="/style.css?h=a81049ced1e8e591647b297e22c62cc0">
</head>
<body class="single">
<header class="header">
<div class="site-logo">
<a href="/">REPL: Rest-Eat-Program Loop</a>
</div>
<nav class="nav">
<ul>
<li>
<a href="/about/">About</a>
</li>
<li>
<a href="/posts/">Posts</a>
</li>
<li>
<a href="/slides/">Slides</a>
</li>
<li>
<a href="/tags/">Tags</a>
</li>
</ul>
</nav>
</header>
<main class="main">
<article class="post-single">
<header class="post-header">
<h1 class="post-title">死ぬまでに作る自作○○一覧あるいは人生の TODO リスト</h1>
</header>
<div class="post-content">
<section id="changelog">
<h2><a href="#changelog">更新履歴</a></h2>
<ol>
<li class="revision">
<time datetime="2024-03-20">2024-03-20</time>: 公開
</li>
<li class="revision">
<time datetime="2024-04-07">2024-04-07</time>: URL slug を todos-in-my-life から my-bucket-list へ変更
</li>
</ol>
</section>
<p>
これは眠れない夜にノートへ書き散らした文をなんとか文章の体裁に直したものであり、およそ論理と呼べるものを期待してはならぬ。
</p>
<p>
Knuth 曰くプログラミングは文芸である。断っておくが、労役に伴うプロダクティブでプラクティカルな行為を指してそう言っているのではない (Knuth がどう考えているかは知らないが、少なくとも私にとっては)。いわゆる趣味プログラミング、穢れなき自由意志の下で記述されるプログラムとはすなわち、絵描きにとっての絵、文字書きにとっての文章に等しい。プログラムとは、ソースコードとは、芸術作品の一形態なのである。
</p>
<p>
この人生でプログラミングという行為に魅せられたからには、美しい作品を遺さねばならぬ。すなわち、簡潔で、理解しやすく、凝縮され、機能的で、速く、軽く、よい名前を持ち、うまく動くものをだ。
</p>
<p>
何を作りたいかは各々異なるであろうが、私にとっては車輪の再発明として知られる自作○○である。
</p>
<p>
車輪の再発明を恐れてはいけない。これを批判する人間というのは、プロダクティビティやプラクティカリティにフォーカスするエンジニアという人種である。今私が表現者たろうとするなら、自らの手で自らの車輪を作ることに何の恐れを抱く必要があろうか。
</p>
<p>
そう、これが私の死ぬまでに作る自作○○一覧あるいは人生の TODO リストである (現時点ですでに部分的あるいは全面的に達成しているものを含む)。
</p>
<ul>
<li>
自作 C コンパイラ
</li>
<li>
自作アセンブラ
</li>
<li>
自作リンカ
</li>
<li>
自作 Scheme 処理系
</li>
<li>
自作 ML コンパイラ
</li>
<li>
自作 Lua 処理系
</li>
<li>
自作 JVM
</li>
<li>
自作 Wasm 処理系
</li>
<li>
自作正規表現エンジン
</li>
<li>
自作 JavaScript 処理系
</li>
<li>
自作ブラウザ
</li>
<li>
自作エディタ
</li>
<li>
自作 ActivityPub 実装
</li>
</ul>
<p>
選定理由は作りたいということのほかにない。そこに題材とキャンバスがあり絵筆と絵具があれば、生きとし生けるもの、いづれかコードを書かざりける。
</p>
<p>
おお、願わくは、私にこれらを生み出すだけの時間があらんことを。
</p>
</div>
</article>
</main>
<footer class="footer">
© 2021 nsfisis
</footer>
</body>
</html>
|