Lapis Lazuli

technical blog for web developer

サーバーサイド言語2020

今回はサーバーサイド言語の今について。
サーバーサイド言語はフロントに比べ、比較的変化がゆっくりだと言われていますが、ここ数年は動きが激しかったりします。
ざっくり言うとGoが重要度を増す中で、JVM言語としてKotlinも存在感を増している感じです。

PHP

スクリプト言語の主流であるPHPですが、今後も変わらず使われ続ける(多少上下はあるものの)と思います。
さくっとフレームワーク使ってWebアプリ作るには唯一無二ですし、情報も多いので調べたらすぐに解決出来るのもメリットです。
フレームワークはlaravel一択になりつつありますね。
laravel、ざっと触った事ありますが、規約が少なくて比較的学習コストの低いフレームワークだなというのが第一印象でした。
特にバリデーションをどこにでも書けるのが柔軟性高くて良さげ。

Ruby

ほぼPHPと同じですが、使われているプロジェクトがスタートアップ多めです。
フレームワークRails一択なので、どのプロジェクトでもスキルを使いまわし出来るのがPHPと比べたメリットでしょうか。

Go

今年も伸びていく言語間違いなしのGo。
高速なAPIサーバーとしての用途がほとんどだと思うので、PHPなどとかは直接競合せず、使い分けていく形になります。
単にGoで作るだけではなく、gRPCを利用したマイクロサービス化が一層進んでいくかなと。EKSのFargate対応など、クラウド側も追い風になってますしね。
シンプルな言語仕様で、誰が書いても似たようなコードになったり、書き方に厳しかったりするのが俺好みです。

Kotlin

徐々に盛り上がっているのがサーバーサイドKotlinです。
Androidの公式言語として使われるのが一番多いケースですが、サーバーサイドとして使うケースも増えています。
JVM言語なので、Javaのライブラリと互換性が高い事、型推論やNullに厳密などモダンな言語仕様であること、Javaやった人なら学習コストが低い事などが支持される要因でしょうか。
サーバーサイドKotlinやってみたいんですよね・・・Go一通りやったらかなーという感じです。

Scala

逆に伸びないのがScala関数型言語は難しく、学習コストが高いのと、JVM言語から選択するのならKotlinでいいんじゃね?という理由からだと思います。
あまり採用してるプロジェクト見ないですしね。速度求められるならGoですし・・・


と、言語別に動向を並べてみましたが、Goの躍進とKotlinの存在感が増しているのが今年のトレンドでしょうか。
とにかくGoは良い言語だ。
Go推しの私からしてみたら、この動向は嬉しいです。
この調子で学習を進めていくぞー。