Toru Hisai
Nov 9, 2020

42 Tokyo に入学して 1 ヶ月くらい経ったけど、カリキュラムがとてもよく出来ているのでみんなにも試してほしい。プログラミングの中・上級を自認するプログラマにもいいと思う。

42 Tokyo のウェブサイトをみてもカリキュラムの内容はほとんどわからないんだけど、想像以上にハードコアな内容だった。

まず入学して最初に課せられるのが、C の標準関数(Libc)のサブセットを自分で実装するという課題。メモリ操作や文字列操作などを、最初の 1 ヶ月でマスターしなくてはいけない。ポインタで躓いている暇もない。

巷の C の入門書で見かけるような「おまじない」だらけの Hello World と違い、使っていい関数は read、write、malloc、free のみなので、自分の書くコードの動作を隅々まで理解することができる。

ぼくはプログラマとしてすでに 20 年くらい働いているけど、C の標準関数をすべて覚えているかといわれるとかなり怪しいレベルだったので、ぼくにとってもこの課題は役に立った。たとえば strlcat の返り値の仕様とか、今回初めて真面目に理解した。

これ以降の課題は、この自作標準関数ライブラリ(Libft と呼ばれる)を使って取り組む。なので出来上がったコードにブラックボックスがほとんど存在しない。ベテランのプログラマでもいろいろなことをあやふやなままにしている人が多いので、早い段階でこういう訓練ができるのは良いことだと思う。

学校が定めるコーディングスタンダードが理不尽に思えるくらいに厳しいので、オープンソースとして公開されている既存のコードをコピペすることも出来ない。なので生徒は自分が書いているコードの内容をよく理解する必要がある。

それにここは学校なんだけど、先生がいない。あるのは PDF として配布される課題だけ。分からないことは自分で調べるか人に聞く。そして、その課題の採点も生徒同士のピアレビューを通しておこなわれる。いい加減な知識で嘘を教える先生がいないのは素晴らしいことだと思う。

ただ残念なのは、本来 42 は上のビデオのようにたくさんの iMac が並んだ教室でみんなで一緒に学ぶというのが基本的なコンセプトだったんだけど、COVID-19 のせいでそれができなくなった。で、今はほぼ完全にオンラインラーニングに移行している。校舎は自宅にネットやコンピュータが用意できない生徒やたまに受けなくてはいけないオンサイトの試験のためにだけ利用されている。

ぼくは正直言うと六本木の一等地で好きなだけ Mac が使えるというのに惹かれて 42 に申し込んだので、校舎が使えないのは残念だった。でもカリキュラムをこなすことにも十分に意味がありそうだったのでしばらく続けてみることにする。

No responses yet