見る世界にはいろいろなプログラミング言語があるが、それらをじっくり観察すると、どれも似たような仕組みになっているところがたくさんある。文を文法構造として持っているし、まとまった一連の処理を関数とかメソッドという形で切り出せるし、変数にはスコープがあるし、とか——にスポットを当てたものだと思う。いった、私たちが普段そこまで気にとめることなく[要出典]書いている構文や処理は、マシンの上ではどうやって実現されているのか、が分かりやすく解説されている。例外の伝搬の節、いまのバイトでやっていることにかぶっていることがしっかり書いてあったので、気持ちになってきた。いう気もしてくる*1。型の話、すこし前の本なので、漸進的型付けに関する話題はとくになさそうな感じだった。考えたけどまだよくわかってない。いえば関数型プログラミング言語をちゃんと学習したことがほとんどなさそうな気がしてきた。した型システムがあるとあらゆるバグは消滅するかというと、まだそうは言えないみたいな感じで、がんばっていきましょうという感じだ。オブジェクト指向、うーんマジかあという感じの書き方をしていると思った。クラスとかオブジェクトの話、あいまいなままやっていくと哲学的問いになりそうだ*2。結局、私たちが常識だと思って使っている概念は、誰かが「そうすれば今のところ話がまとまりやすくなる」と考えてそういう形にしているんだということ、そしてそういう概念に対していろいろなアプローチが存在するので、いろいろな言語を学ぶとそれらの差異が見えてよさそうという感じのことが書いてあった。ところで、コラムにいいことが書いてあった。「何を学んだらいいですか?」——これはよく聞く質問です。それに答える前にまず質問させてください。「あなたは何を作りたいのですか?」目的が明確でなければ、適切な手段をアドバイスできるはずがありません。誰も考えたことのないもの、みんなが絶賛してくれるものを作ろうと考えていませんか?これはしょっちゅう思うことで、プログラミング言語は必ずしも学ぶことが目的ではなく、あくまで学んだ上でそれをどう活かしていくかを考えるまでが一つの流れだと思っている。いうのは間違っていないと思うんだけど、あなたが今すぐにすごいやつが作れるようになるかとはまた別の話になってくるので、まずは適当なツールとかライブラリを作って自己満足からやっていくのがよさそう。こっちのコラムもよかった。作者本人が書いたドキュメントやソースが一番詳しいでしょう。「難しい」「量が多い」「英語なので読めない」と口実を付けて、誰かの書いたやさしい解説を探したりしてしまいがちです。それは「オリジナルの肉は大きくて硬いから」といって、安全なのか傷んでいるのかもわからない、誰かの作ったひき肉を食べるのと同じです。誰かが解法を提示しているんだけど、もしかしてそれが正しいという保証はどこにもない。いうのを考えないようになると、そこで進歩が止まってしまう。読む前にググるのは私たちの悪い癖だ。具体的にどういう処理をしているのか、とかが知りたいときにサクッと読むとよさそう。なあなあでプログラミング言語を学んできた人に特に読んでほしいという感じです。検査例外っぽいことはやってるんだけど、それは結局どうやって正確にチェックするんだ😇*2:だいたい理解の難しそうな(そう見える)ものは哲学的問いの対象にされやすい気がする。バグ取りの風景をお伝えします。@utgwkkmona:MEgkH8N6R181DU8BLcvPpJLirr1YteQ6x4Twitter@utgwkkさんのツイートリンク欲しいものリストScrapboxRSSフィードはてなブログをはじめよう!utgwkkさんは、はてなブログを使っています。ブログを報告する引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。