Webサーバーで実行できるプログラミング言語
Webサーバーに、プログラムの実行環境をインストールすることで、多種多様なプログラミング言語で作成したプログラムを動かせるようになります。
サーバーサイドで実行できる主なプログラミング言語
サーバーサイドは前回の記事で説明しています⇨クライアントサイドとサーバーサイドとは
サーバーサイドでは好きなプログラミング言語を使えます。
現在、Webサーバーのサーバサイドのプログラムを作ルのに使われている主なプログラミング言語は下記の通りです。
言語の違いは、主に文法ですが言語によって習得のしやすさや処理のしやすさやプログラムの改良のしやすさや処理のしやすさ、プログラムの改良のしやすさ、チーム開発のしやすさなども違います。
またそれぞれ、得意不得意があり、同じことをする場合のプログラムでも閣僚が違うこともあります。
言語 | 種類 | 概要 |
---|---|---|
PHP(ピーエイチピー) | インタプリンタ | Rasmus Lerdor氏によって作られたプログラミング言語。Webプログラミングに特化されているのが特徴。文法が平易で習得しやすい。レンタルサーバーの対応はPerlと並んで多い。多くのWebサイトで使われており、利用率がもっとも高いプログラミング言語 |
Peal(パール) | インタプリンタ | Larry Wall氏によって、自身のサーバー作業を効率的にやりたいと言う欲求から生まれたプログラミング言語。初期のWebプログラムによく使われたプログラミング言語。 レンタルサーバーのほとんどでは、Perlを実行できるように構成されている。Webプログラミングの代表的な存在で「CGI」といえば、Perlで作られたプログラミングのことを指すこともある。 文法が少し複雑なのとWebに特化されたものではないため、近年はPHPにその座を奪われています |
Ruby(ルビー) | インタプリンタ | まつもとひろゆき氏によって開発されたプログラミング言語。PealとPythonのいいところがとりいられているのが特徴。「Ruby on Rails(ルビーオンレイルズ)と言うWebプラットホームを使ったWebプログラミングが好評で、それを機に大きく普及した。 PerlとPythonと似た文法ながらわかりやすく書きやすいので愛好者が多い。 サポートしているレンタルサーバーはさほど多くないがシェアを伸ばしている |
Python(パイソン) | インタプリンタ | オランダ人のGuide van Rossum氏によって開発された言語。名前の由来はイギリスBBCのコメディ番組「Monty Python」より。短いプログラムで見やすく効率的にかけるのが特徴。シェアはすごい勢いで増えている。 |
JavaScript(ジャバスクリプト) | インプリンタ | クライアントサイドで実行するのと同じプログラミング言語を、サーバーサイドでも利用できる。「Node.js」と言う実行環境が有名でこれをインストールすると、サーバーサイドでJava Scriptが使えるようになる。対応しているレンタルサーバーは少ない。 |
Java(ジャバ) | コンパイラ | Sun Microsystem社が開発したプログラミング言語。文法はC++に似ている。コンパイラであるため、実行にソースコードが必要ない。プログラムが構造しやすく、多人数でのチーム開発に向く。大規模なWebサイトでよく使われる。サポートしているレンタルサーバーはそんなに多くない |
C#(シーシャープ) | コンパイラ | Microsoft社が開発したプログラミング言語。.NET Frameworkと言う実行環境上で動作する。 Windows Serverで動作するWebプログラムを書くときに、多く使われる。 言語文法は、Javaととてもよく似ている。Windows Server環境以外のサーバーでは、利用できない |
VB.NET(VBドットネット) | コンパイラ | Microsoft社が開発したプログラミング言語。C#と全く同じ事ができる言語だが、言語文法が「Visual Basic」と言う、同社のWindows開発環境に似たものに仕立てられている。実行環境などはC#と同じ |
レンタルサーバーでは使えないプログラミング言語もある
サーバーサイドで、上の表に示したプログラミング言語を使ってプログラムを実行するには、サーバーにその実行環境をインストールしておく必要があります。
専用サーバーなら自分でインストールできますが、レンタルサーバーでは権限の問題からインストールできません。
つまりレンタルサーバーの場合「使えるプログラミング」は契約するレンタルサーバーのサービスに依存します。
多くのレンタルサーバーは、PHPやPerlをサポートしますが、これら以外のプログラミング言語に対応するかどうかはサービス次第です。
インタプリンタとコンパイルの違い
プログラミング言語には「インタプリンタ形式(interpreter)」と「コンパイラ(compailer)」の2種類があります。
インタプリンタ形式では、一度「コンパイラ」と言うプログラムを使い「バイナリーコード」に変換したものを実行します。
バイナリーコードとは、機械的に処理しやすいように変換した形式です。
数字の羅列で表現されており、人間が一目見ただけでは理解できませんがコンピューターは、ソースコードよりも効率よく実行します。
コンパイルする作業のことを「ビルド(build)」と呼ぶこともあります。
インタプリンタ形式のメリット/デメリット
インタプリンタ形式の場合は、コンパイル作業が必要ないので、ソースコードを記述するための「テキストエディタ」さえあればすぐに開発を始められます。また、もし実装時に不具合があっても、すぐにその場で修正できます。
反面実行するときに、そのソースコードを解釈するので実行速度はコンパイラよりも劣ります。また、インタプリンタ形式では、文法のミスなどがあっても、該当部分が実行されるまでは文法ミスがあるかどうかがわからないこともあります。
コンパイラ形式のメリット/デメリット
コンパイラ形式では、実行の際にはコンパイル後の「バイナリーコード」だけが必要です。ソースコードは、必要ありません。
そのためプログラマがかいたソースコードを秘匿できます。また、文法エラーなどがある場合は、コンパイルの時点で発見できます。
デメリットとして「コンパイラ」などの開発環境が必要になるという点が挙げられます。ソースコードを修正した場合、それを反映させるためには、もう一度コンパイルし直さなければなりません
人気のプログラミング言語
現在、小中規模なシステムでよく使われているのは「PHP」と「Perl」です。
これらの言語が多く使われる理由は、
1.ほとんどのレンタルサーバーでサポートされている
2.習得が容易で情報が多い
3.プログラマの人口が多くプログラマを集めやすい、と言う点が挙げられます。
中小規模なシステムになると「Java」が使われることが増えてきます。
Javaが使われる理由は「PHP」や「Perl」に比べてソースコードの分割がしやすく、多人数でのチーム開発に向いていること、そしてコンパイラなので、ソースコードを隠蔽できることです。
最後に
いかがでしたでしょうか、具体的にWebサーバなどで使用されるプログラムについて記述してきましたが、これはWebプログラムを学習するまたはプログラミングを始めたいと思っている方によって最初の一歩としては大事なことですのでしっかりと押さえておいてください。
このところに関しては割と興味がある内容かと思いますので割とサラッと読めてしまうかもしれません。
ではでは