プログラミング言語とは?その種類、仕事、収入、キャリアを解説!

これからプログラミング言語を学ぼうと考える人にとって、知りたいことはたくさんあると思います。

プログラミング言語にはどんな種類があり、その先にはどんな仕事があるのか、プログラミング言語ごとの収入レベル、どんなキャリアアップパターンがあるかなどです。

プログラミング言語を習得する前に、それらの全体像を把握しておくことは、人生の効率化につながります。やりたい仕事からプログラミング言語を選ぶ人もいるでしょうし、キャリアアップの視点で戦略的にプログラミング言語を決める人もいるでしょう。

確実に言えることは、自分が進む道に対して確信を持てることはモチベーションにつながり、成功する確率も高まるということです。

本記事では、プログラミング言語に関して初心者の方が、言語の種類やその先の仕事、収入、キャリアコースが理解できるように解説します。

 

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

プログラミング言語とは、コンピューターが理解できる言葉で命令するために記述された形式言語です。プログラミング言語にはいくつかの種類があり、自分がやりたい分野の仕事で使われているプログラミング言語を把握することが重要です。

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

HRog編集部が発表したプログラミング言語にフォーカスした給与ランキング・2020年版は、以下のようになっています。昨年に引き続き給与ランキング1位はR言語で、2位はGo言語でした。
 


 

 

 

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. プログラミング言語の特徴と制作物

プログラマーには様々な種類があり、作るものによって、使用するプログラミング言語も変わってきます。代表的なものをまとめましたので、是非参考にして下さい。
 

分野業務内容スキル制作物例
WEB分野Webプログラマーは、システムエンジニアが作成した仕様書に沿って、Webに特化したプログラミングを中心にシステムの開発を行います。クライアントサイドとサーバーサイドの両方の開発に関わります
  • HTML
  • CSS
  • PHP
  • JavaScript
  • ECサイト
  • SNS
  • 企業サイト
  • コミュニティサイト
ゲーム分野ゲームプログラマーは、ゲームの企画や構成の仕様に合わせて、プログラムを組みます。キャラクターの動きやゲーム内のシステムをプログラムで作成し、意図通りの動作を実現します
  • C
  • C++
  • C#
  • Unity
  • PlayStation
  • NintendoSwitch
  • DS
  • Wii
組み込み・制御分野組み込み系プログラマーは、電子機器の中の動作制御ソフトウェアを開発します。温度制御装置や人感センサーが内蔵されているエアコン、カーナビや自動運転ニーズの高い自動車など、近年組み込みエンジニアのニーズは高まっています
  • Visual C++
  • VisualStudio.NET
  • デジタルカメラ
  • 電子レンジ
  • テレビ放送受信機
  • スマートフォン
アプリケーション分野アプリケーションプログラマー(アプリ開発者)は、システム設計からプログラム開発、動作テストなど、アプリ開発の一連の作業を担当します。ネットワークやデータベースに関する知識も必要とされます
  • Java
  • C
  • C#
  • Ruby
  • 銀行ATM
  • Twitter
  • Gmail
  • メルカリ
汎用系システム分野汎用系システムプログラマーは、銀行や保険会社などの顧客データベースの開発を行います。事務処理のシステム開発に向いているCOBOLを身に付けると、汎用系システムプログラマーとして採用されやすくなります
  • COBOL
  • Java
  • FORTAN
  • RPG
  • 顧客データベース
オープン系分野オープン系プログラマーは、近年高性能化したPCをベースにシステム開発を行います。導入コストが安く、常時アップデートができることが大きな特徴です。ネットワーク化された複数のPCで、データベースにアクセスできるシステムを構築します
  • Java
  • JavaScript
  • PHP
  • Ruby
  • 販売店舗データベース
  • 病院顧客データベース

 

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

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

4-1. 大手SIerエンジニア

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

4-2. 下請けエンジニア

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

4-3. カリスマ的フリーエンジニア

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

4-4. 新興IT企業エンジニア

◆カリスマ的フリーエンジニア

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

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

 

5. まとめ

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

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

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

 

カテゴリー
企画書用語集