これからIT業界へ最初の一歩としてプログラマーからスタートしようと考えている方を対象に書かせて頂きます。
転職活動の際に未経験といっても会社選びの材料として募集案内に書かれているプログラミング言語の種類は重要なので慎重になりましょう。
一番最初に選択するプログラミング言語はその後の進み方(キャリアアップの仕方)に少なからず影響します。まず、間違いがないのが、昔から長く歴史があり、今でも様々な製品で主力となっている言語を選ぶことです。
比較的、有名なものを私独断の見識で上げさせていただきました。
主要言語一覧
(1)純粋C/C++言語
(10年少し前、隆盛を誇ったVisual C++ 6.0、Borland C(C++ builder)などベンダーで改良が加わった言語と一線を画す意味で"純粋"とつけています)
(2)Visual C#
(今日のWindowsアプリケーション開発においてNo.1の地位にあります。同じ姉妹言語としてVisual Basic、Visual C++などがあります。)
(3)Java
(4)HTML/Javascript
(5)PHP
(6)Object-c
(7)Swift
(8)Ruby
その他、多種多様です。
(ウィキペディアのプログラミング言語一覧によれば、本当に聞いたこともないような言語がたくさんあります。)
②プログラミング言語の用途例
(1)スマートフォンアプリ(アンドロイド搭載端末用)
- Java
(実情からAndroid APIとセットと考えてもらって問題ありません。)
(2)スマートフォンアプリ(iPhone/iPad等iOS搭載端末用)
- Object-c
- Swift
(実情からiOS APIとセットと考えてもらって問題ありません。)
(3)組み込み系(自動車、電化製品、無線端末等々)
- 純粋C言語
- 純粋C++言語
(4)ウェブサーバー開発
- Java
- HTML/Javascript
- PHP
- Ruby
- Python
(5)ウィンドウズパソコンアプリケーション
- Visual C#
(実情からNET Frameworkとセットと考えてもらって問題ありません。)
③独断と偏見に基づいたお勧めの王道言語
(1)純粋C
歴史という面で断トツ、特に組み込み開発では他言語の追随をなかなか許さない、超有名な言語です。
ポインタという概念を身につけることができます。この感覚の経験はプログラミングスキルの向上という面でかなりプラスの影響を及ぼすと考えています。
後述のJavaと人気を2分する(と表現しても過言ではない)言語です。
個人的には両方、習得して頂きたいです。
(2)純粋C++
純粋Cにオブジェクト指向という概念が追加された、純粋Cの上位互換言語です。
純粋C同様、組み込み開発に使われることが多いです。
(3)Java
WEBサービスの開発で他言語の追随を許さない、超有名な言語です。
同じオブジェクト指向である純粋C++との大きな違いはC++はメモリ上のアドレス操作(C同様ポインタ操作)ができることと、ガベージコレクションになります。
もう少し噛み砕くとC/C++はメモリ操作を自己責任で行う必要があり、Javaは若干緩く、メモリ操作が少しぎこちなくても、フォローしてくれます。
このため、いきなりスマートフォン開発を志し、Javaが最初の言語となっても、将来の投資、自己啓発の一環としてC言語の基本について学んでほしいと思っています。
次回はせっかくですので、C言語のポインタについて簡単にご紹介したいと思います。