これから勉強すべきプログラミング言語、実はそんなに多くありません。
- Go
- あまりに優秀すぎる goroutine
- 超軽量のマイクロスレッド
- Java よりも高速に実行可能
- Java の 1/2 ~ 1/10 のメモリフットプリント
- 実行速度のライバルは C/C++, Rust ですが、これらの言語よりははるかに遅いです
- C/C++
- 勉強すべきなのは C++ ですが、土台としての C があるため、まずは C を勉強する必要があります
- 大体のプログラミング言語が C/C++ の影響を受けています
- Rust
- Web、スクリプト系は Go に移行していくと思われます
- 反対に、ネイティブの座を徐々に奪っていく可能性があるのが Rust です
- Rust はコケる可能性がありまだ時期尚早な面もあります
- C++ に劣らぬ実行スピードを誇ります
- Microsoft が Win32 API の Rust の実装の提供を考慮に入れるくらいの仕上がり具合です
以下、これから衰退していく言語です
- Java
- Go に取って代わられるでしょう
- メモリの使用量が Go と比べてあまりにも多く、非常に不利です
- また Go 独自のスケジューリングとして処理される、かつ Go 独自の超々軽量スレッド goroutine もあるため、実行速度でも Go の方がはるかに高速に実装できるようになります
- ただし、既存の資産が豊富にあるため、衰退の速度はそれほど早くはないでしょう
- Python
- 同様に、 Go に取って代わられるでしょう
- Python は豊富なライブラリがあるので生き残る道があるとすれば Python にしか存在しない重要なライブラリを使用するかどうかです
- Ruby
- Python と同様に、 Go に取って代わられるでしょう
- もっとも、Ruby はもはやレガシーだと私は思っています
- C++
- もしかすると、Rust に取って代わられる可能性があります
- 判断はまだ時期尚早
勉強する順番
- C
- 二ヶ月くらい勉強してください
- 最終的に、プログラミング言語Cを読んで、ほとんどの内容が理解できるようになってください
- C++
- 最低半年は勉強してください
- プログラミング言語C++, Effective C++, More Effective C++, Effective Modern C++ がほとんど完璧に理解できるようになるまで勉強してください
- Go
- The Go Programming Language
- プログラミング言語Go
- Go言語による並行処理
- Rust
今すぐプログラミング言語を習得して就職したい場合
- この場合、おそらく最も適した言語は Java だと思われます
- しかし、この言語は徐々に、しかし確実に衰退していきますので、そこだけは注意してください(もっとも、10 年レベルで、ですが)
- Java を勉強する場合、以下を抑えておくとよいでしょう
- 以上二冊を理解するのはあくまでも最低条件なので、就職までこぎつけるためには GitHub のアカウントを作成し、アウトプットとしていくつか実際に動くものとソースコードを企業側に提示することができないと厳しいと思われます
- とにかくアウトプットを行い、Java の修得はアウトプットの副産物とすること
- 無事就職でき、また会社にも慣れてきた、という場面になったら、このページの先頭に書いてあるような順番で他の言語を習得していけばよいと思います
- Java しか知らないエンジニアという存在は脆いと思うので、危うさからの脱却、いざというときの転職の保険として学んでおきましょう
0 件のコメント:
コメントを投稿