TypescriptとRustです。
Typescriptはしばらく新規案件に関して覇権を取るでしょう。
Webその他で実用するならNodeでTSを使う。強い厳密さや速度が求められるならRUSTです。
Like!
Webサービスで言うと,最近はフロントエンドもバックエンドもJavaScript/TypeScriptで書けるようになりましたので,学習しておいて損はないと思います.
ただし,最近はどの言語を触るにしても,特定のフレームワークを利用して開発することが多くなりました.(PythonであればDjango,flaskだったり,JSならReact,Vueだったり)
根幹となる言語仕様はもちろん重要ですが,各々のフレームワークに合った書き方を学ぶのが大事になってきています.
そのうえでオススメを選ぶなら「TypeScript+React」を挙げておきます.
設計で気を付けるべきことが多いですが,かなりの拡張性があると思います.
一方でJSはネイティブな領域にはどうやっても立ち入れません.それらはC++やRustのようにネイティブコードを書きだせる言語の専門分野です.
大学ではほぼ必ずCを学びますが,それはネイティブコードを吐く以上,それなりにプロセッサやメモリの扱い方を併せて学ぶ必要があるからです.
オススメというよりは,遅かれ早かれ避けては通れない道になるでしょう.
冗談抜きで「これを書いた奴はどんなことを学んできたんだ」というレベルのコードに実務上で遭遇しますので,悲劇が増える前に強調したいのです.
Like!
私はElixir(エリクサー)を推しています.
- Enumとパイプライン演算子で上から下にデータ変換していくようなプログラミングスタイル(データ変換パラダイムと呼んでいます)と,関数パターンマッチで,とても気持ち良くプログラミングできる
- アクターモデルに基づいて,並行・並列処理を容易に記述できる
- Supervisorによるエラーハンドリングにより,フォールト・トレラント・システムを容易に構築できる(Supervisorによるエラーハンドリングを言語レベルで導入しているプログラミング言語は,Elixir/ErlangなどBEAM言語だけです)
- 自動テスト・Doctestが組み込まれており,Typespecsによる後付けの型チェックを入れられるので,TDDやソフトウェア品質保証も容易にできる
- Regexによる正規表現,Nimble Parsecによる構文解析,マクロによるメタプログラミングなど,充実していて,ミニ言語(DSL)を取り入れるのがとても容易
Like!