サーバーサイドエンジニアの言語遍歴
7年くらい主にサーバーサイドでエンジニアをやってきた
ふりかえるといくつかの言語を色々な理由で使ってきたのでまとめる
Java
2015〜16年
初めて入った現場(金融系)で使ってた
独自フレームワークが使われてた
次の現場(転職サイト)もJava
Spring・DBFluteを使ってた
未経験からエンジニアになったので、プログラミングの概念の理解が大変だった
今でもJavaを使うシーンはある
Python
2017年
Flaskで書いたアプリケーションをZappaでAWS Lambdaにデプロイするというスタック
当時サーバーレスが流行ってたし、かなり楽しかった
入門Python3を読んで案件に入ったが、特に困ることはなかった
言語仕様がシンプルで個人的には書いていて違和感が無いというか、しっくりくる印象がある
ちょっとしたスクリプトを書くのにも便利
Pepperのアプリケーション(Pythonで書く)を作る面白い案件も経験した
Kotlin
2018年
初めて自分の意思で選定した言語
GoogleがAndroidの正式な開発言語としたり、Springが正式サポートしたりちょうど盛り上がってた時期
会社の標準言語とチームメンバーの技術スタック的にはJavaを選定するのが順当ではあったが、以下の理由からKotlinを選定した
Intellijを作ってるJetBrainsが開発してるのも安心感があった
関数が第一級オブジェクトであること、豊富なCollectionメソッド、拡張関数など個人的に好きなポイントもたくさんある
おすすめの書籍はKotlinイン・アクション
Node.js
2019年
参画したプロジェクトの資産があるため選定
フレームワークはExpress
副業でも使用することがあり、フロントと同じ言語で書けるのが一番のメリットだと思う
TypeScriptを使うこともあるが、個人的には純粋な静的型付けの言語が好き
Go
2022年
Kubernetesのエコシステムを活用したプロジェクトのため、チームで議論して選定
実行速度、コンパイルが速い、クロスコンパイルできる、シングルバイナリにできる、言語仕様がシンプル、豊富な標準ライブラリなど良い点がたくさんある
言語仕様がシンプルではあるが、コードが冗長になったり、ポインタ、エラーハンドリング、ダックタイピングなど他の言語から移ってきた時に慣れが必要だとは思う
GoLandを使用
CLIのツールを作るのにCobraが非常に便利
おすすめの書籍はプログラミング言語Go
これの発売を楽しみにしてる