TOPシステム開発> 【新・言語進化論】言語選択の分かれ道> 第1回:なぜそのプログラミング言語を選んだのか? (2/3)

【新・言語進化論】言語選択の分かれ道

【新・言語進化論】言語選択の分かれ道

第1回:なぜそのプログラミング言語を選んだのか?

著者:シンクイット編集部

公開日:2007/11/1(木)

プログラミング言語を選択する基準は何か?

では、プログラミング言語を選択する際に考慮する要素とは何であろうか?

その選定基準としては、「目的」「言語仕様」「データベースとの接続」「Webアプリケーションフレームワーク」「開発環境」「エンジニアの確保」「生産性」などの要素が考えられる。

まず重要なのは「目的」のソフトウェアが作れることであろう。どのようなプログラミング言語においても、最終的にはどのようなソフトウェアも作ることができる。しかし、プログラミングが非常に困難を極める。

「言語仕様」も知っておく必要がある。言語仕様とはプログラミング言語の文法や記号の意味を厳密に規定したドキュメントのことである。どのようなプログラミング言語にも存在し、誰が読んでも同じ意味としてとらえられるように規定されている。言語仕様を理解することで、プログラミング言語の特徴を深くとらえることが可能となる。

また、企業システムにおいては、多くの場合データベース(Oracle、SQL Server、DB2、MySQL、PostgreSQLなど)が必要となる。データベースを選定できる場合もあるが、データベースがすできに決まっている場合は、その「データベースとの接続」を考慮する必要がある。

Webアプリケーションの開発においては、「Webアプリケーションフレームワーク」にどのようなものがあるのかを知っておく必要がある。Webアプリケーションフレームワークとは、Webアプリケーション開発に共通したアーキテクチャを再利用するためにまとめた枠組みである。Webアプリケーションフレームワークによって短期間で高品質なアプリケーション開発が可能となるため、近年非常によく利用されている。しかし、Javaに存在していたものと同じフレームワークが、Cにも存在するとは限らない。

図1:選択基準
図1:選択基準

プログラミング言語が決まると「開発環境」も絞られてくる。近年の大規模開発では、統合開発環境(IDE)が利用されるケースもあり、JavaではEclipse、CではVisual Studioが代表的なプロダクトだ。この場合も、開発の際に使うEclipseの機能がVisual Studioでも必ず存在するわけではないため、留意する必要がある。

また、開発に携わるエンジニアの確保も重要である。どれほど素晴らしいプログラミング言語であっても、使いこなせるエンジニアが少なければ、開発を進めることが難しい。よって広く利用されているプログラミング言語は、エンジニアの確保がしやすいという利点がある。時間とコストに余裕があれば、新たに教育して育てるという手段も存在するが、往々にして短納期を求められる昨今においては時間的余裕がないのが現実である。

Rubyが注目されるようになった一因に、Ruby on Railsがあることは言うまでもない。「開発生産性の高さ」が評価され、ソフトウェアの開発期間を大幅に縮めることができることから人気が高まっている。当初は大規模なシステム開発が難しいとされていたが、近年ではいくつか事例も出ており、今後LLと呼ばれるプログラミング言語はより注目されるだろう。

ざっとあげただけでも、さまざまな選択基準がある。では実際の現場においては、どのような要因がプログラミング言語選択の「決定打」となったのだろうか?



INDEX
第1回:なぜそのプログラミング言語を選んだのか?
  プログラミング言語を何にするのか?
プログラミング言語を選択する基準は何か?
  現場の実例から学ぶプログラミング言語選択の決定打!