今巷には非常に多くのプログラミング言語が溢れています。これからプログラミング言語を学ぼうと考えている人のために、現在主流となっているプログラミング言語の特徴を簡単にご紹介します。
プログラミングの主要言語
Java
Javaはスマホアプリや組み込み系システム、データベースやサーバーなどの大規模システム開発などで用いられるプログラミング言語です。Googleが開発に使用していることでも有名です。「JavaVM」と呼ばれる仮想マシン上で動作し、JavaVMが動作する環境であればどのようなプラットフォーム上でも動かすことができる汎用性の高さが特徴です。
Javaのもう一つの大きな特徴が「オブジェクト指向」です。オブジェクト指向とはプログラムを手順の集まりではなく「モノ」として見立てる考え方です。一つ一つの処理を「部品」とし、「部品」を組み立てていくことで「モノ=オブジェクト」を構成する考え方がオブジェクト指向です。
オブジェクト指向によって効率的に汎用性の高いプログラムを作成することができます。新しいプログラミング言語が次々に登場する中、Javaは常に求人数トップクラスを誇る人気言語です。ただしJavaを用いた開発には時間とコストがかかるため、小規模な案件は少なく、大規模かつ比較的長期的な案件にどっぷりと腰を据えて関わりたい人向けの言語となっています。
C言語
C言語は1972年に登場したプログラミング言語で、比較的歴史の古い言語です。ISOやJISに標準採用されており、かつてはプログラマーであれば必ず一度は使用するべき言語とされていました。
C言語は多くの演算子やデータ型、制御構造を持っているため、ハードウェアを制御するOSやデバイス開発に多く用いられています。身近な例ではUNIXもC言語で記述されています。現在プログラミング言語の主流でもあるJavaとは比較されることが多く、特にオブジェクト指向があるかないかは両者の大きな違いとなっています。C言語にはオブジェクト指向の概念がないため、開発効率がJavaに比べて落ちるという反面、実行前に「コンパイル」によって機械が理解可能な言語に翻訳するため処理速度が速いというメリットがあります。
シェアをJavaに奪われた感もあるものの、未だに人気は衰えていません。また、Javaをはじめとして多くのプログラミング言語の基になった言語でもあるため、C言語を習得することで他のプログラミング言語を習得しやすくなるという利点もあります。ただしC言語を独学で習得するのは難易度や時間の観点からも難しく、本格的に学びたい場合はスクールなどに通うことをおすすめします。
C++
C++はC言語の拡張版として登場した言語で、C言語にオブジェクト指向の概念を加えたものです。C言語の処理の速さという利点に加えてオブジェクト指向のプログラミング効率の良さを持ちます。さらにC言語に比べるとコードの量が減るため、まったく同じ処理を記述する場合はC言語よりもコード数が少なくて済みます。
またC言語と互換性があるので、C++とC言語は同時に使用することができます。C言語を拡張した言語なので、C言語を理解していればC++を習得するのはそれほど難しくはありません。ただ、できることが多い分覚えることもたくさんあるため、PHPやPython、Rubyなどと比べると難易度は高いです。コード量も、C言語に比べて減ったとは言えほかの言語に比べたらまだまだ多いというのが実際のところです。
C++はAdobeやAmazon、ChromeやPaypal、Facebookなど多くのソフトウェアやサービスの構築に使用されています。C++のエンジニアは給与面でも高い水準が狙えます。特に大企業での需要が高い傾向にあります。
C#
C#はC言語の拡張版と考えている人も多いかもしれませんが、実はC++とJava、そしてVisualBasicを組み合わせた言語です。C++でオブジェクト指向が取り入れられましたが、オブジェクト指向プログラミングを行うためには個々のクラスに対するポインタ、つまりメモリの管理が必要になり、これが非常に複雑な作業となっていました。C#ではこの複雑なメモリ管理プロセスが自動化されています。
C言語やC++に比べるとコードが書きやすく、習得もそれほど困難ではありません。C#は.NET Framework上で動作するためWindows環境でしか起動しませんが、無料で提供されている「Mono」という.NET Framework互換環境を使えばWindows以外の環境でも動作させることができます。
C#はゲームやスマホアプリ、Webアプリ、デスクトップアプリなど様々なアプリケーション開発に用いることができます。
VB
VB(Visual Basic)はMicrosoft社が開発した言語です。まだコンピュータが非常に高価でOSすら搭載されていなかった1964年に誕生した「BASIC」を、アプリケーション開発に特化させてよりアップグレードさせたのがVBです。
VBはとても分かりやすい言語で全般的にコーディングも必要としないため初心者でも簡単にプログラムを作成することができます。Excelに搭載されており、帳票の作成などに使用されることも多いVBAはVBの簡易版言語で、プログラミングを全く勉強したことがなく、エンジニアでもない全くの初心者であっても簡単にプログラムを組むことができます。また、IE(InternetExplorer)で用いられているVBScriptはVBのスクリプト言語です。
VBはオブジェクト指向言語ではありませんが手軽にプログラミングができるため、プログラミングの世界へのとっかかりとして最適な言語です。
Swift
Swiftは2014年にApple社が発表したまだ新しいプログラミング言語です。Apple製品の開発にはそれまでObjective-Cというプログラミング言語が使用されていましたが、これには構文が独特でApple製品に特化しているという特徴があったため、利用者や利用シーンが限定されており、保守性やメンテナンス性の面での問題もありました。そこで登場したSwiftはコードが全世界に公開されており、Apple製品だけでなくWeb開発などにも用いることのできる汎用的な言語であり、現在最も将来性の高いプログラミング言語でもあります。
SwiftはRubyやPythonなどに代表されるような新しいプログラミング言語と同様、「コードが簡潔で読みやすい」という特徴を持っています。また、Apple製品以外のWebアプリケーションやWebサーバの開発も行えるようになったというのも非常に大きな特徴です。それまでiPhoneのオンラインアプリを開発する場合、クライアント側(iPhone側)のアプリ開発はObjective-C、Webサーバ側の開発はRubyといったように異なる言語を用いて開発を行う必要がありました。そのため両方の言語を使える人、またはObjective-CとRubyそれぞれの技術者を探す必要がありました。Swiftならばアプリとサーバ、両方の開発を行うことができるので技術者を探す手間も開発の手間も解消うすることができるようになりました。
Swiftは需要が高い割にまだ技術者の数が少ないため、今最もねらい目の言語の一つといえるでしょう。
PHP
PHPはWeb開発に特化したプログラミング言語で、WordPressの開発に用いられていることでも有名です。RubyやPythonなどWeb開発に用いられる言語は多数ありますが、中でもWebに特化しているのはPHPとJavaScriptぐらいでしょう。
JavaScriptとPHPの大きな違いは、JavaScriptがWebブラウザ上で動作するのに対し、PHPはサーバー側で動作するという点です。PHPはC言語を基に作られており、PHP自体がC言語で記述されています。そのため、C言語を学んだことのある人にとっては習得しやすい言語でしょう。
また、C言語を基としていながらオブジェクト指向型の言語なので、効率的な開発が可能であり大規模な開発にも適しています。PHPで開発するために必要なのはPHP自体とLinux、Apache、MySQLだけなので個人で簡単に開発環境を用意することができます。そのため学習もしやすく、プログラミング初心者にもおすすめの言語です。
Python
Pythonは今最も注目を浴びているプログラミング言語の一つです。長年にわたり需要・給与の面でトップをキープし続けているJava、C言語を超す勢いでランキング上位に食い込んでいるのがPythonなのです。
Pythonは組み込み系アプリやWebアプリ、デスクトップアプリ、ゲームなど様々な開発に用いることができますが、特に近年話題となっている「人工知能」や「機械学習」の分野でもPythonが使われており、今後さらなる需要の伸びが予想されます。
Pythonの特徴は文法がシンプルで可読性に優れており、初心者でも学びやすいとともに大人数での開発に適していることです。また様々な分野の開発に使用できるライブラリが豊富に公開されているため、1から開発する手間を省くことができ効率的な開発が可能となっています。プログラミング初心者はもちろんのこと、今後さらに活躍の場を広げたいと考えているベテランプログラマーにとっても身に着けておいて損はない言語と言えるでしょう。
Ruby
Rubyは日本で開発されたプログラミング言語で、Webアプリケーションやスマホアプリ、機械学習などの分野で使用されるオブジェクト指向型のスクリプト言語です。Rubyの特徴はコードが非常にシンプルで書きやすい点です。プログラミングの自由度が高く、他のプログラミング言語に比べてコードの記述量が圧倒的に少なくて済むためプログラミングがしやすくなっています。
また日本で開発された言語なので日本語のドキュメントが豊富だということが日本人のプログラマーにとっては大きなメリットとなっており、近年人気が高まっています。Java、PHP、Python、Perl、C言語などの特徴を取り入れているため、これらの言語を習得していればRubyも比較的簡単に習得できるでしょう。
Rubyには豊富なフレームワークが用意されていますが、中でも有名なのが「Ruby on Rails」でしょう。これは無料のWebアプリケーションフレームワークで、テストの自動化やコード記述量の制約によって可読性の高いプログラミングを可能にしています。世界的な需要はPythonの方が高いのですが、日本では日本語ドキュメントの豊富さなどからRubyの方が需要が高い傾向にあります。
JavaScript
JavaはRuby同様オブジェクト指向型のスクリプト言語です。JavaScriptというと「Javaの別名」や「Javaの機能の一つ」などと考えている人も多いのですが、JavaとJavaScriptは全くの別物です。JavaScriptは主にWebアプリケーション開発で用いられる言語ですが、最も身近な使われ方は動的なWebページを作成することでしょう。初心者でも学びやすく、ブラウザとテキストエディタさえあれば開発ができるという手軽さから、最近ではWebデザイナーでもJavaScriptを身に着けるのが一般的になっています。
まとめ
どれか一つのプログラミング言語を極めるのもいいし、幅広くいろいろなプログラミング言語を扱えるようになるのもいいでしょう。基本のC言語から始めるのもいいし、トレンドのPythonから始めてみるのもいいかもしれません。ここでご紹介した以外にも様々なプログラミング言語があるので、いろいろ調べてみて自分に合ったプログラミング言語、自分に合った勉強方法を探ってみてください。