前回までは、HTMLやCSSといったWebサイトにおける見た目にあたる部分について書き方も含め解説しました。
今回は、裏側のシステムを作る上で使われるプログラミング言語の種類について詳しく紹介しています。ここではよく使われている言語を紹介しているので、知っておくだけでも違うでしょう。
プログラミング言語の種類
プログラミング言語の種類を簡単にみていきましょう。プログラミング言語は大きく「コンパイル言語」と「スクリプト言語」というものに分かれます。それぞれどういった特徴があるのか、具体的にどんな言語が該当するのか見ていきましょう。
コンパイル言語
コンパイル言語とは、人間の書いたソースコードを事前にコンパイルして機械語に翻訳しておく言語を指します。プログラムを書きコンピュータに命令を送りたい場合、機械語に変換し、コンピュータにも分かるように伝えなければならず、この変換作業をコンパイルと呼びます。
Java
Javaはサン・マイクロシステムズ(現:オラクル)によって開発されたプログラミング言語です。大規模なプロジェクトのプログラムに向いていて、「一度書けば、どこでも動く」というモットーの通り、様々なデバイス、OSなどの環境を問わず実行できることが特徴です。「Twitter」や「Evernote」などもJavaで開発されています。
C#
C#は、Microsoftによって開発されたプログラミング言語です。.Net Frameworkというマイクロソフトが開発した実行環境上で動作するように作られていたためWindowsでの動作が中心でしたが、現在はゲームを作る言語としてよく使われています。
Swift
Swiftは、Appleによって開発されたプログラミング言語です。主にiOSやMacOSで動作するアプリ開発に使われています。最近のiPhoneアプリは基本、このSwiftという言語を使って作られているので、iPhoneアプリを作りたいと思っている人は、Swiftの勉強を始めることをおすすめします。
スクリプト言語
スクリプト言語は、事前に処理を行わずにその場でソースコードを翻訳します。初心者にとっては、コンパイル言語と比べて習得しやすいのが特徴でしょう。
JavaScript
JavaScriptはネットスケープ・ナビゲーションズによって開発されたプログラミング言語です。元々はブラウザ上で動作させるために作られていましたが、現在ではNode.jsの登場によりサーバーサイドや各種デバイスでも動作が可能になりました。ちなみにJavaと名前は似ていますが、かつては若干記述の仕方が似ていた程度で、現在では全く関係がありません。
郵便番号を入力すると住所を自動入力してくれたり、Google検索で何か文字を入力すると検索キーワードを予測変換するなどの動きはすべてJavaScriptで行われています。他にもWebサイト上で見るアニメーションなどJavaScriptを使っているシーンは非常に多いので、使い勝手の良い言語です。
Ruby
Rubyはまつもとゆきひろ氏によって開発された国産のプログラミング言語です。Ruby単体で使われるよりも「Ruby on Rails」というフレームワークによってWebアプリケーションの開発で使われる機会が多かったRubyですが、現在ではmRubyなどの登場によって組み込み機器等でも動作が期待されている言語です。クックパッドやWantedlyは、Ruby on Railsで開発されています。自社でWebサービスを運営している会社がRuby on Railsを使うケースが多いでしょう。
Python
Pythonはグイド・ヴァンロッサム氏によって開発されたプログラミング言語です。Pythonの用途は幅広く、最近では機械学習やディープラーニングでほぼ必須のプログラミング言語となっています。「YouTube」や「Instagram」はPythonで開発されています。
PHP
PHPはラスマス・ラードフによって開発されたプログラミング言語です。歴史は古く、PHP5あたりで他のプログラミング言語の登場等により低迷していましたが、PHP7の登場で大幅に処理速度が向上されました。ブログソフトウェアとして有名なWordPressはPHPで開発されています。初めてプログラムを書き、概念を理解する際に馴染みやすい言語と言えるでしょう。
プログラミング言語の歴史
すべてのプログラミング言語の歴史を語り始めると、とても長い道のりです。幾つものプログラミング言語が普及し、廃れて、現在に至っています。ここでは、主要な言語の歴史を簡単に説明します。
現代の様々なプログラミング言語のルーツといえるC言語が、1972年にベル研究所のデニス・リッチーらによって開発されました。
その後、様々なプログラミング言語が生まれては消え生まれては消えを繰り返し、1980年代に大規模なプログラムが肥大化してきて開発コストが莫大に上がったため、より効率良くにいろんな機能が使えるようにC++が開発されました。
さらに、後々macOSやiOS上でのアプリケーションの開発言語として使われるObjective-Cが開発されています。一方同じく1980年代の後半にスクリプト言語の主流となるPerlが開発されました。
1990年代になると、現代でも広く使われているプログラミング言語がたくさん開発されます。1990年には、生産性の向上を目的としたプログラミング言語であるPython、1991年にはWindows用途のソフトウェア開発として使われているMicrosoft Visual Basic、1993年にはPerlの複雑さを補うRubyが開発されます。
また、1995年にJavaが、1997年にはNetScapeというブラウザを動的に処理するためのプログラミング言語としてJavaScriptが開発されます。
2000年代に入るとマイクロソフトからWindowsアプリケーションを開発するためのプログラミング言語としてC#が、2003年にはJavaと互換性のあるプログラミング言語であるScalaが、2009年にはGoogleからプログラミングの効率化を目指したGo言語が登場します。
2011年には先日Androidの標準的な開発言語として発表されたKotlinが、2014年にはアップルがmacOS/iOSのアプリケーション開発向けのプログラミング言語としてSwiftを開発します。
と、ここまでただただ登場を紹介してきましたが、冒頭でもお伝えしたとおり、この間にたくさんの言語が生まれ、消えていっているのです。
なぜこんなにプログラミング言語があるのか
「なぜこんなにプログラミング言語があるのか」と不思議に思う人もいるでしょう。前半でも少し解説しましたが、「プログラミング言語によって用途が違う」ということが答えです。
料理も火の強さ、具材や油の量によって使うフライパンや鍋の種類も変わってくるように、プログラミング言語も目的によって向き不向きがあります。
なるべく効率良く、速くシステムを完成させたいと思ったらRubyやPHPなどの言語、大規模なシステムを構築したいと思ったらJavaやC#というように作るシステムの大きさによって最適な言語も変わってくるのです。
* * *
以上、プログラミング言語の種類や歴史について紹介してきました。 全てプログラムを書くための言語ですが、作るシステムによって向き不向きがあったりします。すでに自分の中で作りたいWebサービス・スマホアプリのアイデアがある場合、どの言語が最適なのか理解しておきましょう。 次回以降は、PHPの言語を使って実際にプログラムを書いてみます。HTML/CSSよりは複雑に感じるかもしれませんが、普段触っているWebサイトのシステムがどう作られているのか、エンジニアはどんな作業をしているのかを理解する助けになるはずです。著者紹介
TechAcademy (https://techacademy.jp/)
プログラミングやWebデザイン、アプリ開発が学べるオンラインスクールを運営。
TechAcademyマガジンでは、プログラミングやWebデザインなど技術に関する最新トレンド、ツールの使い方を紹介しています。開発作業や学習に役立つコンテンツがご覧になれます。
なお、本稿はTechAcademy の「はじめてのプログラミングコース」を元に解説しています。