こん菜~(気さくな挨拶)
正月気分でぼんやりしている間に1月が終わりそうです、怖いですね。
今日はなんだか最近災難が続いているサイゼで書いています、おなかいっぱいになった。
というわけで新年なので、今日のお題は今年の目標についてです。
社会人になってから早くも今年で6年(マジ?)なわけですが、ふと思い出したことがある。
学生時代、それまではずーっとネイティブ寄りの言語(C++とかC#とかその辺)ばっかり書いていて、将来的に仕事にするならネイティブアプリケーションとかバックエンドをやることになるんだろうなぁ~と思っていた自分が、何故か社会人になってから JavaScript と TypeScript ばかり書くようになった。
新卒の頃に最初に配属されたプロジェクトでウェブアプリを書くことになったのがきっかけだったのははっきり記憶しているのだが、よく考えたらそこからなぜバックエンドに移りたいなぁと思わなくなったのか。
世間は空前のウェブフロントエンド全盛期時代であり、React と TypeScript をガッツリ使っているエンジニアが希少らしいことも相まって、食っていくにはこのままフロントエンドエンジニアを続けていくほうが楽であったということも関係しているかもしれない。
それに、今だと「バックエンドはSaaSに乗っけてサーバーレス運用するのが当たり前だよね」というのもあって、バックエンドやるならAWSの知識が半ば必須になったのも関係していそう。AWS、個人で使うには色々と(料金的な意味以外も含めて)高いので・・・。
で、エンジニアリングのトレンドというのは目まぐるしく移り変わっていくものであるわけで、このままずっとウェブフロントエンドで食っていけると考えるのはとても危険であると思う。 (あとTypeScript飽きた)
そこで、
メイン言語を Rust にして、今後趣味で書くアプリは Rust で書き、今年中に Rust 製アプリを3つ仕上げる。
というのを今年の目標にしたいと思う。
なぜ Rust なのかという話だが、単純に今一番書くのが楽しそうな言語だから。
Rust は、大きな特徴として変数に所有権という概念を導入して、C++で起こりがちだった「ポインタの扱いをミスって死」「move済みの値を触って死」「ポインタ管理のコードのせいでコードがぐちゃぐちゃになって死」というのをいい感じに防いでくれるというファンタスティックな言語である。
まあ詳しい解説はほかに譲るとして、とにかくコードを書いているときはそういうことに頭を使いたくない自分にとってはかなり相性のよさそうな言語だなという確信がある。
ていうか、そういう部分に頭を使い出すと一生そういうコードを書いてしまって、アプリケーション部分の実装が進まなくなる自分の性格をコントロールするためでもある。
実はちょっと前に Rust でライフゲームを書いてみたことがある。
その時は確かまだ 1.01 とかで、欲しいライブラリが揃ってなかったイメージがあったのでいったん離れてしまったけど、今ならだいぶ時間が経ったので状況が改善されていそうなのと、当時よりもコーディング力が高くなった(気がする)ので、前よりはすんなり書いていけるだろうという甘い見積もりがある。
まずは試しに、 windows-rs
クレートを使って Windows アプリケーションを書いてみたいと思う。お題は画面上の色を取得できるカラーピッカーである。(仕事でよく使うので)
製作の模様はYoutubeで配信するかもしれないので、見かけたらよろしくお願いします。(唐突な宣伝)(こっちも力入れたいですね)
というわけで、今年は Rust、やっていきたいと思います。と宣言しておけば逃げ切れなくなるだろうという記事でした。