人気軽量プログラミング言語5選
はじめに
今回は人気軽量プログラミング言語5選と題して、Python、Ruby、Perl、PHP、JavaScrpitを紹介します。今回扱う言語も、前回と同じくTIOBE Softwareのランキングで人気があるものを選んでいます。
軽量プログラミング言語は、Lightweight Language(略してLL)とも呼ばれます。短い記述で処理を実現でき、手軽に取り扱うことができるプログラミング言語です。PythonやRubyはLLの代表格ですね。
LLはCやJavaなどを使うまでもないような、ちょっとした処理を書く際に利用するととても便利です。また、最近ではCPUの性能向上やメモリの大容量化に加えて、軽量プログラミング言語自身の速度改善なども積極的に行われているので、大規模な開発において活躍する機会も増えています。
LLは学習難易度が比較的低いものが多いです。前回取り上げたコンパイラ言語を学んだ後に、今回の言語に触れてみると、驚くほど簡単だと感じるかもしれません。
軽量プログラミング言語の用途
LLの長所はなんといっても手軽に書けることです。CやJavaと比べると、半分以下の文字数で処理が書けてしまうこともあります。普段の仕事や生活の中で「今、手動でやってるこの作業を自動化したいな」と思った時は、ぜひLLのどれかを手に取ってみましょう。
例えば、とあるWebサイトに存在する100個以上の画像をすべてダウンロードしたいと考えたとします。手作業で収集することもできますが、100個ともなるとなかなか骨が折れますよね。プログラムを書くことができれば、コンピュータに命令して、自動でダウンロードさせることができるようになります。
Webからの情報収集や、ちょっとしたファイル操作を行いたい場合は、PythonやRuby、Perlなどがオススメです。ExcelなどのOfficeソフトで行っている処理を自動化する際は、VBAという言語を使います。
LLには、他の人が作ったライブラリを手軽に利用するための仕組みが用意されているものもあります。PerlのCPANや、RubyのRubyGemsが有名ですね。
適切なライブラリを利用すれば、プログラミングにかかる手間はさらに軽減されます。ライブラリの中にはCで書かれた高速で動作するものもあり、それらを利用するとコンパイラ言語と遜色(そんしょく)ない実行速度で処理を行えてしまうこともあります。
WebアプリにおけるLL
LLはWebアプリを作成する際にもよく利用されます。Webアプリは、Webサーバー上でプログラムを動作させて、ユーザーのリクエストに応じて動的に結果を返すアプリケーションです。FacebookやTwitterなどはWebアプリの一種ですね。
サーバー上で処理を行ってしまうので、Windowsでも、Macでも、スマートフォンでも、ブラウザさえ載っていればプラットフォームを問わずに利用できるのがWebアプリの長所だと言われています。
ブラウザがリクエストを行う → Webサーバーがリクエストを受け付ける → Webアプリが必要な情報をDBに問い合わせる → 返却するページを作成する → ブラウザに結果を返す、
という流れが代表的なWebアプリの動作になります。
上記のフローの中で利用されるソフトウエアは、以下のような言語で作られている場合が多いです。
図1:Webアプリの構成 |
Webサーバーは毎秒何百件という大量のリクエストを受け付けることを想定しているので、素早い処理が求められます。そのため、代表的なWebサーバーであるApacheやlighttpdはCで書かれてます。
データベースは数億件のデータを処理することもあるなど、非常に重い処理を行うので、CやC++が利用されることが多いです。
LLは、リクエスト内容に沿ってデータベースに問い合わせをして、ブラウザに返すページを生成する処理を担当することが多いです。この部分はDBが行う処理と比べると、比較的軽い処理になります。
また、Webアプリは顧客のニーズに応えて頻繁にプログラムに修正を加えることがあります。スクリプト言語はソースコードを置き換えるだけで修正を反映できるので、頻繁な修正にも対応しやすいです。
こうした軽くて更新頻度が高いアプリケーションは、LLの手軽さが活きるジャンルです。