TOPシステム開発> 【新・言語進化論】言語選択の分かれ道> 第5回:WebアプリケーションといえばPHPだが? (3/3)

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

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

第5回:WebアプリケーションといえばPHPだが?

著者:Jurabi 西山 星児、岡 俊行

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

将来の視点から言語を眺めてみよう

これまで「現場が要請する言語選択のワケ」ということで、いろいろな選択基準について述べてきた。最後に、将来の開発現場ではどうようなプログラミング言語が求められるかを考えてみたい。

筆者は、そもそも「プログラミングという行為は楽しくなければならない」と考えている。もちろん実際のビジネスの現場では、楽しいことばかりではないということも承知している。

それでもあえてそう主張したいのは、プログラミングが本来高度に知的な作業であり、それを効率的に行うには何らかの動機付けが必要であると考えるからだ。そして「楽しさ」というのは、知的作業における最高の動機付けである。

では、プログラミングにおける楽しさとは何だろうか。



筆者は、それを抽象化の力だと考える。抽象化とは、さまざまな処理から共通のパターンを見出すことであり、きわめて創造的な行為だ。処理パターンを言語の中で定義して、再利用できるような力があったらうれしいと思うだろう。原始的なところでは、C言語のマクロがある。もう少し進化するとC++のテンプレート機能になる。

この流れをさらに進化させたのが、このところ関心の高まりつつある関数型言語である。従来の手続き型の言語では「処理をどう実現するか」を記述していたのが、関数型言語では実現手法を抽象化することによって「何をしたいか」という意図を記述するのがプログラミングの中心課題になっている。

関数型言語はまだ主流にはなっていないが、普及のための突破口の1つはCPUのマルチコア化であろう。近い将来、マルチプロセッサ構成を抽象化して扱えるようになり、スレッドの同期のような低レベルの処理からプログラマを解放して、並列処理をエレガントに記述できる関数型言語が登場したときに、一気に普及するのではないかと筆者は夢想している。

実際の開発の現場においては、今回の記事にもあったようにすでに開発環境やプログラミング言語が決まってしまっているところも多いだろう。将来の保守性への配慮から、設計標準やプログラミング標準などが厳格に決められ、極力単純なビジネスロジックだけで実装するように制約されている場合もあり、まったく自由度がない世界かもしれない。

自由度がないというのは、パターンを固定して誰がやっても同じ結果を得られるようにするためだ。つまり、いずれは「抽象化される」ということである。これはそんなに遠い将来の話ではない。

そうなったときに、抽象化を駆使した「楽しい」プログラミングができる世界に移行できるよう、今から新しい言語にも触れておくことをお勧めしたい。


タイトルへ戻る




株式会社Jurabi 西山 星児
著者プロフィール
株式会社Jurabi 西山 星児
新しい技術情報にビンカンで、プログラミング以外にも常にアンテナを張っている。デザイン、スポーツ、お笑いなど幅広い分野に興味を持ち、バランスのよい技術者へと成長することを目指している。先日、27Kmマラソンに挑戦して完走したのが自信になってます。


株式会社Jurabi 岡 俊行
著者プロフィール
株式会社Jurabi 岡 俊行
CTO
コンシューマ系の機械翻訳ソフトの開発に10年ほど携わった後、活動の場を広げるべく、現Jurabiの設立に参加。自然言語処理やオープンソース開発などの技術指向をコアとしつつも、上流から下流までを見通せる高付加価値な技術者の育成を目指す。自身はC++の泥臭さとLispのシンプルな奥深さを愛する言語好き。
http://www.jurabi.jp/


INDEX
第5回:WebアプリケーションといえばPHPだが?
  WebアプリケーションといえばPHPが人気だが?
  例外処理
将来の視点から言語を眺めてみよう