Java
C++
RubyOnRails
281

今後必要になるプログラム言語

今後必要になるマスター言語

Java
Ruby
C++
PL/SQL

Java

Java Applet
Java Servlet
JavaScript

この 3 つのうち Java Servlet および JavaScript は必須。
条件として JavaBeans について的確な知識があり、自分で設計取り回しができるレベル。

JavaBeans の設計とは、Java 特有の空間的なソースやデータの配置を把握してることが条件なので、システムエンジニアへの質問もしくは仕様理解に努めること。

国内外問わずシステムのシェアは Windows 主体でありほぼ Java で統一されている。
さらに動的 HTML などについても Java Servlet の知識が流用される。
JavaScript の知識については特に必要ないが JavaBeans その他に直結するケースが多いので仕様確認。

Ruby

この言語については Java のサブルーチンとしての位置づけで利用される。
共通部品としての C++ の代替として使われる。

今後 C++ や Ruby メインで、Java がサブルーチンとして使われることも考えられなくはないが
生産性及びトータルスケジュールや予算もあり、ほぼ Java と変わらないため今後もそうなる。

C++

C++ についても Java メインルーチン & Ruby サブルーチン & C++ ライブラリの関係性。
そのため C++ については MSDN に精通し、HDD やメモリについての影響具合を瞬時に理解できること。
(バスについてはその限りではないそれが C++ のメリット)

Java でも Ruby でも理解できればほぼ両方できるので問題はない。
C++ についてはアセンブラとのセット言語であるのはどこまでも変わらずで。

単独で C++ を学ぶ理由は全くない。
通常、Java や Ruby の知識でライブラリがしっかり把握できること。
その前提で C++ ライブラリの説明書きが記載されてる。

この原則の考えを持っていけば会議などでも円滑に進む。
MSDN については Microsoft のライブラリのみではあるが、そこにあるもので MS ライセンスでないものを GitHub などで検索すれば同等のものがあるかもしれない。

基本的には MSDN こそ C++ である。
C++ の使い道はアセンブラとのセットでコンシューマーのゲーム開発のみ。
PC ゲームはシステム屋とほぼ同じ。
モバイルゲームについては独自のライブラリが多数あるので独自言語独自仕様が必須で新規モバイルゲームは全時代の資産がないため前途多難です。
(更にはほぼ全社フロント系である)

上位下位関連性

上位言語下位言語のように関連性上位というのがある。

Java > Ruby > C++ > アセンブラ
個人的な趣味や理想や美学のようなものでいうと

Java ≧ Ruby ≧ C++ == アセンブラ
このようになっていくべきである!とは思う。

現実、Ruby は Java の代替にはならない。
あくまでも Java と同等か関連性下位の言語が Ruby である。

PL/SQL

Oracle 社の SQL 言語でこれに準ずる言語はいくつかあるが、すべて PL/SQL 準拠でできているのでここが必須。

まとめ

Java (JavaBeans 含む) + PL/SQL + JavaScript が
一番シェアが続き、予算にも優しく、基本仕様が今後変更されることもない。
そのほかは共通部品サブルーチンとして使われるので、中小の請負の一部でしか開発はないものと思われる。

Ruby に限らずシェアと予算とニーズ予測の外側にある言語については、趣味として扱われるので取得する理由も読む理由もない。
(サブルーチンとしてどうか、というときに MSDN 検索すればよい。)