memorandums

日々の作業ログです。

ThinkIT:PHPによるシステム開発コストは安いのか

大学3年生にPHPを用いたソフトウェア設計法と開発方法を教えています。できればC/Sシステムの開発を経験させたかったので、適当なミドルウェアを探したのですが、無償かつスタンダードな開発環境を見つけることができませんでした。最終的に、今の3年生はC言語を学習してきましたので、C言語に似た構文で書けるPHPでWebアプリケーションを開発することにしました。

他大学でもWebアプリケーションをチーム開発しているところは多いようです(多くはJavaのようですが)。フレームワークは使わず、1ページ1ページ、View部やデータアクセス部や認証機能などを作りこんでもらっています。個人的にはそれなりにうまく機能していると感じています。

さて、長い前振りでしたが、タイトルのThinkITの記事では、(プロが)開発環境としてPHPを選択することがコスト削減につながる理由について書いています。PHPは習得しやすい言語といわれていますし、事実、私もそうだと感じます。それ以外に著者である須藤さんは以下のようなメリットをあげています。

  • 環境のセットアップが早い(楽)
  • 書いたプログラムをコンパイルせずすぐ動作を確かることができるためアジャイル開発に向く
  • 開発ツールが優れている→Zend Studio(商用)
  • PHPは最初からWebシステム開発用言語として開発されているためWebシステム開発のための便利機能が豊富に用意されている
  • 豊富なライブラリ
  • 豊富なアプリケーション

開発のプロもこう感じてるということは、少なくとも、大学で演習したことが役に立つということだと思います。

この記事の最後に須藤さんが書かれているC言語PHPの対比は興味深く読ませていただきました。要約すると以下です。

C言語はシステム記述言語であるから、習得するにはプログラミング言語だけではなくコンピュータの仕組みについても知らなければならない。一方、PHPはコンピュータに関する知識が(当面は)無くてもそれなりのシステムを作ることができる。

まさに、このことについて悩んでいます。今どきのWebアプリケーション開発であれば、フレームワークを使ってMVCを分離して、さまざまな有用なモジュールを組み合わせて開発することでしょう。しかし、そこからスタートしていいのか?という疑問が浮かびます。モジュールやマッピングツールなどで隠蔽されて裏で何をやっているか知らず、それでもソフトウェアが作れるようになる、それでいいのか?それでもいい時代なのかも知れません。でも。。。悩みます。来年の3年生からはJava世代なので、素朴なServletJSPでいくか、StrutsやSpringなどのフレームワークを使うか。いっそのことEJB3.0でいくか。。。自分のアイデアを設計書にまとめてそれをプログラム・テストできる、最低限、そういう力を身につけてもらいたいだけなので。。。アプリケーションサーバーや設置用ファイルの設定などが面倒そうで。。。(作った経験はありませんが)Wicketのようなものでもいいかとも思いますし。

明日から6月かぁ。。。早いものです。ううぅ梅雨がやってくるぅ。