システム開発コラム集
システム開発に関するコラム集です。
19.Webシステム開発言語の種類
Webシステムを開発するにはプログラムを組む必要があります。
みなさんは、プログラムを組むための言葉、つまり、プログラミング言語は、どのくらいの種類があると思いますか?
実はかなりの種類があります。プログラミング言語の調査団体での調べでは、最低でも50種類は存在する様です。
その何れで開発するかによって開発費用や人材量が変わってきます。流行り廃りもあるため一概には言えないのですが、私の持っている印象を書いてみました。参考になればと思います。
PHP(ピーエイチピー)
比較的簡単な言語で誰でも容易にプログラミングが行える非常に人気のある言語です。
ディバッグも比較的容易ですが、 一部プログラマが思う通りに動かない個所があるため、ある程度、把握して制作しないと思わぬところでバグが出ます。
PHP開発者の人口は多いため後のメンテナンス等は安心。
開発コストも平均的です。
フレームワークやテンプレートエンジン等、多くのライブラリが存在します。
CakePHP、Zend、Symfony、Smarty、等
Perl(パール)
それほど難しい言語ではないが、そのままでは、ディバッグが行えない。プロセスで立ち上がるためサーバに負荷がかかりやすいという弱点があります。
昔は人気があったのですが、PHPへ人気を奪われてきています。PHPへ移行した技術者も多くいます。
開発コストも平均的です。
PHP程、人口は多くないですが、Perl技術者を探すのに苦労はしないでしょう。
Python(パイソン)
海外で人気のある言語です。Javaの様にどの環境でも動作します。
また、GoogleやNASAが開発に使用した言語としても有名です。
インデントをプログラムの一部として扱うため誰でも見やすく美しいソースコードを書く事が出来ます。
フレームワークありきの印象が強く多くのライブラリが存在します。
Django、Web2py、Plone、等
日本では、あまり技術者が多くありません。
Ruby(ルビー)
日本人が開発した言語として有名です。
最近、日本で人気が出てきた言語で、技術者育成プログラムとしてRubyの講座を開講している自治体もあります。今後、もっと日本で人気が出る言語と思われます。
Ruby on Railsと呼ばれるフレームワークが開発されて知名度が上がりましたが、Twitterの開発言語だったのですが動作が遅いためPHPで開発しなおした等の噂も耳にします。
技術者は、それほど多くありませんが、これから増えてくると思われます。
ASP/ASP.net(エーエスピー/エーエスピードットネット)
マイクロソフトが開発したプログラミング言語です。
Windows系サーバ上で動作するスクリプト言語で、C++、C#、VB等と組み合わせて使用します。マイクロソフトのVisual開発の資産を使用できるためWindows系のクラサバにWebでの機能を追加する時には有用です。
ライブラリは、Visual開発ライブラリのみで、Windowsサーバ自体があまり普及していない事もあり、開発者も多くありません。
開発費用も他に比較し若干高めと思われます。
Java(ジャバ)
サンマイクロシステムズが開発したオブジェクト指向型の開発言語です。
どの環境でも動作しますが、環境依存のプログラムをしてしまうと動作しません。
中間言語へのコンパイルを行い、その中間言語がスクリプト言語の様な動作をします。
また、ゲーム、アプリケーション、サイト、システム、等の様なタイプのソフトウェアも制作できる万能言語です。
また、それぞれのソフトウェアを制作するためのライブラリやサービス等が充実しており環境構築のためのソフトウェアがそろっています。
PHP以上にメジャーな言語で技術者も多く存在します。
開発費用は、他の言語に比較し高めです。
技術的にも若干ハードルが高かったりします。
C/C++(シー/シープラスプラス)
旧来から存在する開発言語です。
どの環境でも動作しますが、各環境でコンピュータが理解できる言語へのコンパイルが必要になります。
また、環境に依存したプログラムをしてしまうと他環境では動作しません。
ゼロから作る言語でOSやドライバー、開発言語さえ作る事ができます。
現状、WebシステムをC/C++で制作する人は、ほとんどいません。
処理速度は、他の言語を圧倒しますが、開発費用は非常に高いです。
C/C++の技術者は、最近は少なくなってきています。また、Webの仕組みをC/C++で制作する人は稀です。
Javascript(ジャバスクリプト)
Javascriptの事をJavaと呼ぶ開発者がいますが、その様な開発者にWebシステムの開発をお願いするのはやめた方が良いでしょう。
Javascriptは、Javaと付いていますがJavaとは全く別の言語で開発元も異なります。Javascriptだけでシステムを構築する事は難しくHTMLや他の言語との組み合わせで補足的な役割で使われます。
Ajax技術では、Javascriptが中心的な役割をしているため、最近は非常に注目を浴びている言語です。
HTMLの補足的な機能として使われている言語なので技術者は多くいます。
Webシステム開発を経験している技術者であれば大半はJavascriptを扱えるでしょう。
マークアップ言語(HTML、CSS)
HTMLやCSS(スタイルシート)はプログラミング言語ではありません。マークアップ言語と呼ばれます。
しかし、Webシステムを表示させるのに無くてはならない重要なものとなります。
これらは、DreamWeaver、ホームページビルダー、等のツールによって編集が可能ですが、Webシステムでは、これらのツールで制作している可能性が低いためHTML、CSS自体を手打ちで編集できる技術者が必要になります。
上記のプログラミング言語を使用できる技術者であれば基本的にはHTML、CSSの編集を行う事は出来ると思います。
なお、HTML、CSSの技術は幅広いため、中途半端な技術者もいますので注意しましょう。
その他
サーバ上で動作するプログラミング言語であれば、何れの言語も使用できます。Javascript+PL/SQLやWindows系であればC#、VBでも可能です。
C#、VBの技術者は多くいますが、Web、のシステムやネットワーク技術に精通してる技術者が少ないです。また、C#、VB等で制作されたWebシステム自体が、ほとんど存在しません。
何れにしろ稀なケースで制作されたWebシステムを制作、メンテナンス出来る技術者は少ないです。
また、開発費用も容易に高くなると予想が出来ます。