匠の相駕籠

ソフトウェア開発者の日常とオピニオン - メメントモリ公式ブログ『匠の相駕籠(たくみのあいかご)』

最近勉強していること

以下、すこしプログラミングの話題。わたしはここ一年ほど、スマホ向けアプリの開発に関わっていたので、勉強することといえばアプリ開発に関連する技術が多かった。具体的には Android プラットフォームに関することが多かった。

 

これまでは仕事としてバックエンドと呼ばれるサーバー向けのプログラム実装を行うことが一番多かった。ちょっとはウェブブラウザで動くようなアプリを書いていたこともあるので、フロントエンドと呼ばれる領域もすこしわかる。

 

 

6月から新しいプロジェクトが開始したのだが、ここではフロントエンドの仕事を担当することになった。React と呼ばれる有名なフレームワークを使うのだけど、これを利用するのは初めて。

 

これまでもフロントエンドの仕事は、すこしかじっていたので、すぐにできるようになるかなと甘い気持ちでいたけれど、とんでもない!

 

(React が最初かどうかは知らないけれど)React 以降、フロントエンドの領域には革新が発生している。仮想DOMと呼ばれるものだ。React や Angular、Vue.js といったフロントエンドフレームワークは、おそらく SPA (Single Page Application)とセットになることで、これまでのフロントエンドの考え方を変えてしまった。そして SPA がこれだけ実用されるようになったのは、サーバーレスというクラウドコンピューティングの流行とも結びついているように思える。

 

とにかく、いろいろと新しいことだらけ、わからないことだらけなので、たくさん勉強することがあるなという感じ。

 

純粋に、仕事であたらしいことに挑戦できる環境というのは、そう多くはないし、ありがたいことだなと思う。

 

 

これは仕事でやっていること。

家に帰ってからは、趣味で別のプログラミングをやっている。ずっと昔から、コンピューターサイエンスをきちんと勉強したいと思い続けていて、何度か本を開いたことがあったのだけど、ことごとく挫折していた。

 

いま読んでいるのは『Understanding Computation(アンダースタンディング・コンピュテーション)』という本で、まだ序盤だけど、Ruby 言語を使って、かんたんなプログラムの処理系を自分で実装するサンプルがある。

 

コンピュータサイエンスを先行している学部1年で、こんな本を読んでいる人たちがいるというのはなかなか信じられない。わたしなんか、30過ぎて、それなりにいいオッサンになってきて、ようやく書いてあることが理解できる気がする。

 

 

なんでコンピュータサイエンスなんかやりたいのかというと、動機は単純だ。

 

もっといいプログラムを書きたい!

 

サイエンス=科学とは、ある領域についての経験や良いアイデアを、体系的にまとめあげて、人が学べるようにしたものである。ある程度、基本的なアイデアを押さえれば、なにか新しい知恵や道が見えるようになるかもしれない。そんな期待で、勉強しています。