フリーエンジニア成功のポイントは生産性!
ITエンジニアにとって道具となるのは、まず第一にプログラミング言語です。そしてそのプログラミング言語も多様化しており、それぞれに特徴があります。そのためどのような場面でどのような言語を選ぶのかによって、システム開発の生産性も、またシステム運用上の生産性も変わります。もっともこれまで使用されていた言語を、生産性を高めるために異なる言語に変えるという判断は、慎重に行う必要があります。というのも初期使用の言語に適合するようにシステムが設計されているため、設計の変更が望めないのであれば、変更は翻訳に過ぎないものとなり、生産性を高めるまでに至らない場合も多いのです。
初心者がまず学習すべきプログラミング言語として知られるJavaは、オブジェクト指向の言語です。クライアントアプリケーションや大規模サーバーの構築や携帯電話のアプリケーションなどには、実際のところC言語に替わってJavaが広く使用されています。というのもプラットフォームに依存せず、メモリ管理の煩わしさがないという点から、C言語に比べて短時間で高品質な開発が可能になるためです。もっともLL言語に比べると手間取る部分もありますが、それも対処法があるため特に問題にはなりません。
Perlはインタプリタ型言語であり、コーディングすればそのまま動作が実行できるという点で優れており、そのため多くのWebアプリケーションで使用されています。またコマンドラインツールとしても一般的であり、正規表現を埋め込みで利用できるために、テキスト処理の多いWebサービスの構築にも向いています。更に巨大なライブラリ群であるCPANを活用出来るというメリットがあります。
PHPは元々テンプレートエンジンとして開発されたという経緯から、通常のテキストファイルにプログラムを埋め込む形で使用します。そのためHTMLに直接埋め込むことが出来るという、まさにWebアプリケーションの構築向けに作られた言語として、Webサイト開発の生産性は高いのです。そしてPHP向けの新たなWebフレームワークが最近開発されているため、大規模サイトの開発にも十分耐え得るものになっています。
Rubyはシンプルに記述することが出来るオブジェクト指向の言語であり、再利用性やテキスト処理を強力に遂行出来るのですが、Ruby on Railsが開発されたことによって、Webアプリケーションを高速に開発出来る言語としての認識が高まっています。もっとも現在のところ開発現場で即戦力となることが出来るレベルのスキルと知識を兼ね備えた人材は少ないと言われているのですが、今後重要性が増すと期待されています。