テーマ、知りたいこと
普段業務でTypeScriptでバックエンド開発しているのですが、他の言語も学びたいと思っており、おすすめを知りたいです。
背景、状況
用途はWebサービス開発です。
特に「このサービスを開発したい」というのはないのですが、TypeScriptはバックエンド向きじゃないみたいな話もXでちらほらみかけるので、この言語おすすめみたいなのがあれば知りたいです。
期待しているのは、優先度順に以下です
- バックエンド向きな言語を学びたい
- 他言語を学ぶことでプログラミングに対する考え方が良い意味で変わる(視野が広がる)
- 需要がある言語の習得
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
回答5件
#1
補足:年末年始に勉強したいなって考えております
#2
総合スコア119
投稿2025/12/24 03:20
編集2025/12/24 05:47期待値的に、特に「考え方が変わる」という点でScalaが良い選択だと思います。
TypeScriptから来ると、Scalaの型システムは別次元に感じるはずです。
高階カインド、型クラス、パターンマッチングあたりを触ると「型でここまで表現できるのか」ってなります。関数型プログラミングも、TypeScriptで関数型っぽく書くのとは全然違う体験ができます。
バックエンドとしても実績は十分で、Twitter、LinkedIn、楽天とか大規模サービスで使われてます。Play FrameworkやAkka HTTPあたりのエコシステムもしっかりしてます。
需要面は正直GoやRustより少なめですが、Scala案件は単価高めで、金融系とか大規模システムでは根強く求められてる印象です。
年末年始に学ぶなら、学習曲線はちょっと急ですけど、TypeScriptの型の経験があれば理解しやすいと思います。すぐ転職に使えるならGoかもですが、プログラマーとしての引き出しを増やすならScala一択だと思いますよ。
加藤潤一さんという方のこの記事とか学習におすすめです!
https://zenn.dev/j5ik2o/books/scala-book-0f190ca38c551a9def3f
#3
#2 ありがとうございます。Scalaいいですね。TypeScriptより型システムすごいんですね
比較として挙げていただいたGoやRustについても気になっています。例えばRustならメモリ管理や低レイヤーへの意識が得られると思うのですが、言語によって得られる考え方の変化に違いがあるのでしょうか?
#4
総合スコア5817
投稿2025/12/26 04:37
現代ではウェブは確立した技術の組み合わせです。 黎明期のような試行錯誤は必要なく、どれだけたくさんの部品 (ライブラリ) があるかが選定基準として重要です。 そしてライブラリの量は皆が使っている言語に蓄積されていきますので主流の言語に乗っておくのが良い選択肢になってしまうのです。
もちろん言語自体の機能も及第点以上は必要であるにしてもそれはほどほどで充分で、物量こそが正解だという現実があります。 そして可能ならその物量を簡単に扱えるパッケージマネージャとリポジトリがあるとなおよいですね。 JavaScript の npm や Rust の crates.io などのことです。
逆にウェブの様々な技術 (規格) に対応したライブラリがない (少ない) 言語でライブラリが豊富な言語と同じようにサービスを作ることを考えたら馬鹿げていることはすぐにわかるでしょう。 いくら言語自体が優れていても何もかも自前で書くのは大変なことです。
場合によっては複数の言語を組み合わせることも可能ですが組み合わせやすい言語とそうでない言語はありますし、いずれにしてもそれによって得られるライブラリの量という要素は無視できない大きなものです。
古い時代の成功例としては viaweb (Yahoo!ショッピングの前身) が Common Lisp で書かれていたというのが有名ですね。 実行速度と柔軟さを両立していてホットデプロイが当たり前、高度な型システムもあるというのは当時としてはこれ以上ないほど先進的で有用な選択肢だったと思います。
ただ、 Common Lisp はあまりにも柔軟すぎて統制を取り難いのは欠点だと考えられています。 少人数で大規模なものを作ってしかも動かしながら頻繁に改良していくという前提では良い選択肢でも、更に巨大な規模にしていくには少人数では無理になっていきますし、統制の取りやすい言語が望ましくなります。 実際にYahoo!ショッピングは別の言語で書きなおされています。
現代においてはユーザが少ないのでライブラリも多いとは言えないです。 昔は他の言語もそれほどライブラリの蓄積がなかったので相対的に言語自体のパワーで押しきれたのでしょうが……。 そして成功例が viaweb くらいしかないので本当に Common Lisp の力だったのか疑問視する人もいます。 単に viaweb の創設者であるポール・グレアムが有能だったのかもしれません。
言語自体は結構面白いと思うんですけどね。 (と言いつつ私自身はそんなに詳しくないです。)
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。