これからどのプログラミング言語を学ぶべき?特徴や用途を解説!



今、プログラミングが注目されています。「テックキャンプ イナズマ」のようなプログラミング教室では、20代~40代の様々なビジネスパーソンがパソコンと格闘しています。

プログラマーになる前に重要なのは、どのプログラミング言語を選ぶかということです。学ぶプログラミング言語で、やれることは変わります。例えばiPhoneのアプリ開発をしたい場合、Swiftというプログラミング言語を習得する必要があります。

2009年GoogleからAI開発用にGoというプログラミング言語が発表され、2011年にはGoogleからJavaScriptの代用として、Dartが発表されました。2014年にはAppleからiPhone開発用のSwiftが発表され、FacebookからPHPをベースにしたHackが発表されました。

巨大プラットフォーマーGAFAは、次にプログラミング言語のプラットフォーマーを狙っていると思います。いずれにしても、次世代のプログラミング言語は何が主流になるか、その見極めが年収や仕事のヤリガイ、ITエンジニアとしての活躍期間に影響を与えるのは事実です。

本記事では、これからプログラミングを学び、ITエンジニアとしてキャリアを積みたいと考えている方向けに作成しました。

今やITエンジニアの3割が文系出身者であるように、出身学部に関わらず誰でもITエンジニアになれる時代です。どんなプログラミング言語を学べば、どんなことができるのか、学ぶためにはどうしたらいいのかを重点的に解説しています。

 

【目次】
1. プログラミング言語とは
2. プログラミング言語の種類
2.1. HTML
2.2. CSS
2.3. Javascript
2.4. PHP
2.5. Ruby
2.6. Java
2.7. Rython
2.8. C#
2.9. Swift
3.どれを目指す!?タイプ別ITエンジニア
4.まとめ

 

1. プログラミング言語とは

プログラミング言語とは、プログラマーがコンピューターのプログラムを書くために用いる構文や命令などの体系のことをいいます。その目的や用途別に、様々な種類のプログラミング言語があります。

プログラミング言語は1940年に誕生し、それは機械言語でコンピュータを動かすものでした。その後進化し続け、1990年代にAIにも使われるPythonが誕生し、1995年には日本初のプログラミング言語Rubyが誕生しました。同年Javaが発表され、オブジェクト指向の流れが決定的になります。1995年にはWeb業界で広く使われているPHP、1997年には中心的存在であるJavaScriptが誕生しました。

2002年にC#が発表され、2007年にはD言語が発表されました。2009年にはGoogleからAI開発に活用が見込まれるGoが発表されました。2011年にはGoogleから、JavaScriptの代用として期待されてるDartが発表されました。

2014年にはGoogleのライバルAppleから、iPhone開発用のSwiftが発表されました。また同年、GAFAの一角を占めるFacebookから、PHPをベースにしたHackが発表されました。

プログラミング言語は、その時代ごとに流行りがあります。どのプログラミング言語を学ぶかで、お給料や仕事の領域が大きな影響を受けるので注意深く選ぶ必要があるのです。

 

2. プログラミング言語の種類

プログラミング言語は、用途に応じて様々な種類があります。習得するプログラミング言語で、作るものが変わってきますので、事前に“どのプログラミング言語とそのサービスが関連しているのか”を、把握しておく必要があります。

 

2.1. HTML
1993年に開発されたHTMLは、Hyper Text Markup Language(ハイパーテキストマークアップランゲージ)の略です。HTMLは、Web系プログラミングを学ぶ時に誰もが最初に学ぶものです。

ほとんどのWebページは、HTMLとCSSというプログラミング言語で作成されています。2014年に発表されたHTMLの改訂第5版であるHTML5は、以下のような特徴があります。

【HTML5の特徴】
・videoやaudioといったタグを使用して、プラグインせずブラウザ自体で動画や音声の再生が可能
・簡単なJavaScriptを書くことで、位置情報がわかる
・大量にデータを、クライアント側に保持させることが可能
・JavaScriptを書かずに、フォームを簡単に実装できる
・それまで長かった記述が、シンプルに書ける
・IE6・IE7では、HTML5がほぼ対応していない
・新しいブラウザを搭載しているスマートフォンでは、快適に使用できる

 

2.2. CSS
CSSとは、Cascading Style Sheets(カスケーディング・スタイル・シート)の略です。CSSは、Webページのスタイルを指定する言語で、HTMLと組み合わせて使用します。

HTMLは情報の構造を定義しますが、CSSはモニター画面に表示される時の文字の色、背景の色、サイズ、レイアウトデザインなどを指定できます。

 

2.3. JavaScript
JavaScript(ジャバスクリプト)は、Web上での複雑な機能が実行可能になる人気のプログラミング言語です。Javaと名称は似ていますが、内容は全く異なるプログラミング言語です。

Webをショートケーキに例えると、スポンジ部分がHTMLでクリーム部分がCSS、いちごなどのトッピング部分がJavaScriptです。JavaScriptには、以下のような特徴があります。

【JavaScriptの特徴】
・更新されたコンテンツを定期的に表示する
・2D/3Dグラフィックのアニメーションを表示する
・インタラクティブな地図を表示する

 

 

HTMLとCSSが組み合わされてWebページが構築されると、JavaScriptはブラウザーのJavaScriptエンジンによって実行されます。JavaScriptはAPI(Application Programming Interface)によって強力な力を与えられ、 動的にHTMLとCSSを修正し、ユーザーインターフェイスを更新します。

Webサイトの上部メイン画像部分がスライドショーとして動く機能が流行っていますが、あれはjQueryというJavaScriptを使い易いように拡張してくれているJavaScriptのライブラリです。アメリカのプログラマージョン・レシグによって開発され、2006年1月リリースされました。

 

2.4. PHP
先述したHTMLが静的にWebページを生成するのに対して、PHPは動的にWebページを生成できるサーバーサイドのスクリプト言語です。

PHPで制作された代表的ソフトウェアとしては、ぐるなび、Wikipedia、Slack、WordPress、やEC Cube、世界最大のSNSであるFacebookも、当初はPHPで開発されていました。

【PHPの特徴】
・多くのWebサービスで使用されている人気のプログラミング言語
・初心者が勉強を始めやすいプログラミング言語
・動作確認がしやすい
・HTMLの中で簡単にコードを動かすことができる
・サーバーサイドのプログラミング言語
オブジェクト指向にも対応
・データベース接続が容易

 

2.5. Ruby
1995年に一般公開されたRubyは、Matzことまつもとゆきひろ氏が、Perl、Smalltalk、Eiffel、Ada、Lispの一部をブレンドしたプログラミング言語です。

【Rubyの特徴】
・エラーを処理するための例外処理機構を備えている
マークスイープ方式のガベージコレクション機能がある
・CからRubyを呼び出すAPIがあるため、C拡張を簡単に書くことができる
・OSに依存しないスレッド機構を備えている
・Windows、macOS、UNIX他、多くのOSで作動する

 

2.6. Java
Windowsなどの特定の環境に依存することなく、どんな環境でもソフトを動かすことができるのがJavaです。プログラミング言語別での求人案件の割合が一番多いのも、Javaの大きなメリットです。

Javaは1995年サン・マイクロシステムズ(2010年オラクルに吸収合併)によって公開され、家電やパソコンから自動車の組み込みシステムまで、多種多様な分野に普及しています。そんなJavaの特徴を、以下に記します。

 

【Javaの特徴】
・一度書けば、どこでも実行できる(Javaのスローガンは、“Write once,run anywhere”)
・メガバンクや証券のシステムで圧倒的に利用されている
・大規模開発に向いている
・セキュリティ面で秀でている
・ネット上の情報も豊富で、学びやすい
・スマートフォン用OSで世界トップのAndroidのスマホ開発用としても重宝されている
・ITエンジニアの求人ニーズで、Javaはトップ

 

 

2.7. Python
少ないソースコードで簡単にプログラムがかけるのが、Pythonの大きな特徴です。1991年オランダのグイド・ヴァン・ロッサム氏によって開発されたPythonの名前は、1969年から始まったイギリスBBC制作の伝説の人気コメディ番組『空飛ぶモンティ・パイソン』から来ているそうです。

その内容の過激さから熱烈なファンも多い

通常開発の規模が大きくなると、プログラムのソースコードが大量かつ複雑になり、バグといわれる不具合が発生しやすくなります。そういったプログラムのミスによる作動停止を防止するために、Pythonは少ないコードで書けるように工夫されており、データ解析やAIの分野で活用されています。

【Pythonの特徴】
・WEBアプリケーションや組み込み開発、データ解析、人工知能に活用されている
・文法がシンプルで読みやすい
・数値処理や画像処理、音声処理などの専門的なライブラリが豊富
・プログラミング言語別人気ランキングではトップクラスの人気を誇る

※ライブラリ…多くのアプリケーションで利用するためにまとめられたプログラム集

 

2.8. C#
C#(シーシャープ)は、高速なソフトウェアの開発が行えて、既存のソフトウェアとの統合もできるようにマイクロソフトが開発したプログラミング言語です。

一見C言語から派生したように思われますが、C#はC++とJavaをもとに開発された全く異なるプログラミング言語です。オブジェクト指向など優れている部分は残しつつ、CやC++で評判が悪かったポインタを排除しています。

C#の特徴を、以下に記します。

【C#の特徴】
・マイクロソフトの技術であるという安心感が、開発に取り入れられる要素になっている
・ゲーム開発エンジン「Unity」を使用した環境で活用されている
・サーバーサイドアプリケーションを作成するためのプラットフォームは、以下の2つ
→ASP.Net(Windowsサーバー上で稼働)
→ASP.Net.Core(Linuxサーバー上で稼働)

 

2.9. Swift
AppleがiPhoneやiPadなどの端末で使えるネイティブアプリを開発するために作成したのが、Swiftです。2014年に発表され、アップルのiOSLinuxで利用できます。

アップルは2016年のWWDCの基調講演で、Swiftでのコード作成方法を教えることを目的とした「Swift Playgrounds」というiPad専用アプリ開発を発表しました。Swiftの特徴を、以下に記します。

【Swiftの特徴】
・マイクロソフトの技術であるという安心感が、開発に取り入れられる要素になっている
・ゲーム開発エンジン「Unity」を使用した環境で活用されている
サーバーサイドアプリケーションを作成するためのプラットフォームは、以下の2つ
→ASP.Net(Windowsサーバー上で稼働)
→ASP.Net.Core(Linuxサーバー上で稼働)

 

3. どれを目指す!?タイプ別ITエンジニア

選ぶプログラミング言語や自社開発か受託開発か、大手企業か中小企業か等、様々な要素によって同じITエンジニアでも働き方や報酬は千差万別です。ここでは、代表的なITエンジニアのタイプをご紹介します。

◆大手SIerエンジニア
ITゼネコンといわれるピラミッド構造のトップに位置するNTTデータ、日立製作所、富士通、NECなどの大企業で働くエンジニアです。その企業ブランド力と与信力で官公庁の巨大なIT予算を受注し、系列のシステム会社他の下請けに卸していきます。年収も高くかつてはエリート的存在でしたが、技術的革新性は低いのが実情です。

◆下請けエンジニア
二次受け、三次受け、四次受けといわれる、ITゼネコンのピラミッド構造の下層で働くITエンジニアです。スキルアップに結び付かない仕事もあり、年収も低いのが特徴です。

◆新興IT企業エンジニア
メルカリやアマゾン、ZOZO、サイバーエージェントといった企業で、アプリやWEBサイト、ゲームなどの自社開発に従事するITエンジニアです。自分の市場価値を高める目的意識の高いITエンジニアが多く、年収も1000万クラスはザラにいます。業界的に有名なカリスマCTO的な人材が存在するケースも多く、そういったITエンジニアとして自己ブランディングを目指せるのも大きなメリットです。

◆カリスマ的フリーエンジニア
ある意味、アーティスト的な色彩のある天才肌のITエンジニアです。自ら開発したアプリが数百万ダウンロードを記録したといった伝説を持っているケースもよくあります。個人のフリーか、小さな個人会社を経営しているパターンが多いです。

【カリスマプログラマのブログ紹介】
shi3z
6歳でプログラミングを始め、29歳で独立行政法人IPAより天才プログラマーとして認定。ブログでは、自身が秋葉原で運営しているプログラミング教室のことから日々のグルメ模様まで綴られています。

 

4. まとめ

現代のビジネスシーンで、プログラミングのニーズは飛躍的に高まっています。各種プログラミングスクールも活況を呈しており、30代のビジネスマンだけでなく、40代や50代の経営層の参加も増えています。

実際の業務でプログラムのソースコードを書かなくとも、“プログラミング的思考”を身に付けることで、業務設計力やプロジェクトマネジメント力が向上するケースも多く、フィンテックやAIの流れを汲んでITの重要性はますます大きくなると思います。

世界と比較して日本の教育システムで大きく欠落しているといわれているのが、“お金の教育”と“プログラミング教育”です。プログラミングは豊かな生活を実現するために即効性の高いスキルとして、今後ますます存在感を高めていくことは間違いないでしょう。

 

※おすすめコンテンツ
【プログラミングを学ぶ前に】プログラミングを学ぶべき6つのメリットを知ろう
プログラミング言語の難易度を解説。初心者はどの言語から学ぶべき?
プログラミングを始めるならこの順番でやってみようぜ!
プログラミング言語別の年収ランキング、中央値1位は「Go」

カテゴリー
企画書用語集
おすすめ記事一覧