【保存版】これから勉強したいプログラミング言語10選 – 言語の違いと特徴まとめ
いざプログラミングを勉強しよと思っても、どの言語から学べばいいかわからないということはないでしょうか。
特に初心者であればプログラミング言語の違いについてよく理解していないことも多いと思います。そこで、どんなプログラミング言語があるかを知った上で勉強する言語を絞っていきましょう。
まず、プログラミング言語とは「コンピュータに対する一連の動作の指示を記述するための人工言語の総称」のことをさします。この言語が違いとプログラムの書き方が大きく変わってしまうので、特徴を理解しておくことは重要になります。
なお、TechCrunchではプログラミング言語の人気ランキングについての記事が紹介されていました。このランキングではJavaScript、JAVA、PHPが人気のようです。
勉強する前に絶対覚えておきたいプログラミング言語の違い
プログラミング言語の種類について紹介する前にこれだけは覚えておきましょう。
プログラミング言語には「クライアントサイド」と「サーバサイド」の2種類があり、それぞれ動く場所が異なります。クライアントサイドの言語はGoogle Chromeなどのブラウザ上で動き、サーバサイドは文字通りサーバ側で動きます。
知っている方には当たり前の知識ですが、基本としておさえておきましょう。
また、 言語の種類として「コンパイラ言語」と「スクリプト言語」と呼ばれる言語があります。
コンパイラ言語は、コンパイルして機械が解釈しやすい状態になってるため処理は速いですが、記述ミスがあるとコンパイルができません。また、コードを書いてからコンパイルして実行の流れなので手間がかかります。一方のスクリプト言語は、実行のたびに機械語に翻訳されるため、コンパイラ言語に比べて処理は遅いですがコンパイルなしですぐ動かせるので、初心者でも取り組みやすい言語になります。
これらの特徴を理解した上で各プログラミング言語をみていきましょう。
人気プログラミング言語10選
先ほど紹介したTechCrunchの記事にあったプログラミング言語上位10についてご紹介します。
1.JavaScript
- 動く場所:クライアントサイド
- 言語の種類:スクリプト言語
- 適用分野:Web開発、管理ツール
- 使われているサービス、業界:Webサービス全般
JavaScriptは開発をするための環境がブラウザとテキストエディタだけでよく、初心者でもすぐにプログラミングを始めることができます。そのため、プログラミング学習サイトで使える言語はJavaScriptがメインになっています。まずプログラミングを勉強する人におすすめの言語です。
また、jQueryなどの便利なライブラリの普及によって簡単にリッチな動きを開発できるようになっていたり、最近ではiPhoneなどのiOSでFlashが表示されないこともありJavaScriptに代替されつつあります。
2.Java
- 動く場所:サーバサイド
- 言語の種類:コンパイラ言語
- 適用分野:アプリケーション開発、Web開発、アプレット
- 使われているサービス、業界:Androidアプリ、金融機関などのオンラインサービスなど
初心者の方にありがちな間違えなのですが、JavaScriptとは全く異なる言語ですので注意しましょう。
JavaはもともとC言語などの良い部分を引き継ぎ、欠点を克服するよう設計された言語です。そのためまったくプログラミング言語についての知識がない人が学ぼうとすると文法などを理解するのが難しい可能性があるので注意しましょう。
3.PHP
- 動く場所:サーバサイド
- 言語の種類:スクリプト言語
- 適用分野:Web開発
- 使われているサービス、業界:Facebook、Yahooなど
Facebookなど多くのWebサービスで使われている言語です。最近、CMSとして有名なWordPressもPHPが使われています。
多くの企業で利用されており、かつレンタルサーバーでも利用が許可されていることが多いため、初心者がサーバサイドのプログラミング言語を勉強する際ははじめやすい言語です。また、Facebookの言語がPHPのため、Facebookアプリなどを開発する際もPHPの知識が必要になっています。
4.Python
- 動く場所:サーバサイド
- 言語の種類:スクリプト言語
- 適用分野:アプリケーション開発、Web開発
- 使われているサービス、業界:Googleなど
日本国内では多く使われていませんが、欧米で人気のある言語です。また、Googleが提供しているクラウドサービスのGoogle App EngineはメインとしてPythonを利用することになります。
後述するRubyやPerlも、Pythonと同じスクリプト言語です。この3つの言語は役割で重なる部分が多くなります。もし勉強するのであればどれか1つを選ぶようにすることをおすすめします。
5.Ruby
- 動く場所:サーバサイド
- 言語の種類:スクリプト言語
- 適用分野:Web開発
- 使われているサービス、業界:クックパッドなど
まつもとゆきひろ氏によって開発されたためもともとは国内を中心に使われていた言語です。海外では似たような言語のPythonが人気でしたが、オープンソースのWebアプリケーションフレームワークであるRuby on Railsの普及により、国際的にも知られるようになりました。
6.C#
- 動く場所:サーバサイド
- 言語の種類:コンパイラ言語
- 適用分野:アプリケーション、Web開発、ゲーム
- 使われているサービス、業界:Windows、Xbox 360など
Javaに似ている言語です。人気だったJavaに対して、マイクロソフトが開発したMicrosoft .NET向けのアプリケーションを開発する際の言語です。ですのでWindowsやMicrosoftのゲーム機のXbox 360などで使われています。
基本的な仕組みはJavaと同じですので、まったくの初心者が学ぶのは難しい言語といえます。
7.C言語
- 動く場所:サーバサイド
- 言語の種類:コンパイラ言語
- 適用分野:アプリケーション開発、ドライバ・OS開発
- 使われているサービス、業界:パソコン、プログラミング言語のもと
現在使われている他の多くのプログラミング言語の文法に影響を与えている言語です。また、LinuxやWindowsなどのOSは多くの機能がC言語で書かれており、Webサーバーやメールサーバーなどのソフトも言語で書かれていることが多くあります。
業務系システム開発や組み込み系システム開発には使われる言語ですが、Web開発にはあまり使われていない言語です。そのため、Webサイトを作るといった場合には向いていないですが、プログラミングの基礎を学ぶには適している言語です。
8.C++
- 動く場所:サーバサイド
- 言語の種類:コンパイラ言語
- 適用分野:アプリケーション開発、ドライバ・OS開発
- 使われているサービス、業界:パソコン、OS
C言語を発展させたプログラミング言語です。C言語の基本を学んでからC++を勉強するのが一般的であるため、初心者には手を出しずらい言語です。
また、C言語に比べて大規模な開発や組織開発に適しています。C言語と同じくWeb開発に適している言語ではありません。
9.Objective-C
- 動く場所:サーバサイド
- 言語の種類:コンパイラ言語
- 適用分野:アプリケーション開発
- 使われているサービス、業界:iOS用アプリ
Mac OSに標準付属する公式開発言語です。そのため、主にアップルのMac OS XやiOS上で動作するアプリケーションの開発として使われる言語です。
C言語がわかればわりと覚えやすい言語ですが、アップル社のアプリ以外で使うことが少ないというマイナス面もあります。また、C言語の基本がない初心者には難しい言語といえます。
10.Perl
- 動く場所:サーバサイド
- 言語の種類:スクリプト言語
- 適用分野:Web開発
- 使われているサービス、業界:はてな、mixi、DeNA
PythonやRubyと似ている言語です。古くからある言語ですのではてな、楽天など国内で長く運営ているサービスで使われていますが、現在では、Ruby、PHP、Pythonなどの普及によって以前ほどの影響力はなくなっています。
それでも、多くのレンタルサーバでサポートされており、趣味でWebアプリケーションを開発するには適した言語です。
プログラミング言語の特徴まとめ
今回紹介したプログラミング言語を表にまとめてみました。プログラミングを勉強することで何を得たいかによって学ぶ言語を決めていきましょう。
| 言語 | 動く場所 | 言語の種類 | 使われているサービス・業界 |
| JavaScript | クライアントサイド | スクリプト言語 | Webサービス全般 |
| Java | サーバサイド | コンパイラ言語 | Androidアプリ、金融機関 |
| PHP | サーバサイド | スクリプト言語 | Facebook、Yahoo |
| Python | サーバサイド | スクリプト言語 | |
| Ruby | サーバサイド | スクリプト言語 | クックパッド |
| C# | サーバサイド | コンパイラ言語 | Windows、Xbox 360 |
| C言語 | サーバサイド | コンパイラ言語 | パソコン、プログラミング言語のもと |
| C++ | サーバサイド | コンパイラ言語 | パソコン、OS |
| Objective-C | サーバサイド | コンパイラ言語 | iOS用アプリ |
| Perl | サーバサイド | スクリプト言語 | はてな、mixi、DeNA |
いかがでしたか?
先日紹介した無料で学べるプログラミング学習サイトも、サイトごとにそれぞれ扱っているプログラミング言語が異なるので、是非今回の記事を参考にしてみてください!
Date: 2012/10/25 Categories: プログラミング言語 Tags: C#, C言語, JAVA, JavaScript, Objective-C, Perl, PHP, Python, Ruby, クライアントサイド, コンパイラ言語, サーバサイド, スクリプト言語, プログラミング言語