開発
千里の道も一歩から
iwabuchi
半年程前からRuby on Rails(以下、RoR)を利用して、Webサービスの開発に従事している私ですが、やればやるほど自分の知識不足に気が付きます。
Webアプリケーション開発には多くの複雑な処理が絡みますので、全てを自前でコーディングするのは最早不可能に近いです。ですので、ほとんどのWebアプリケーションに共通するような処理はフレームワークに任せ、開発者はそのアプリケーション独自の処理のみを記述すればよいという考え方でWebアプリケーションは開発されています。
Webアプリケーションを開発する際に、社内で主に利用されているRoRは、Webアプリケーション向けのフレームワークです。クライアントからのリクエストの取り扱いや、モデル・ビュー・コントローラの連携を開発者がほとんど意識することなく開発を進めることが可能です。
それは、裏返すと知らないのにできてしまうということ。
プログラミングでは、なんでか分からないけど動いた!というのは忌避されているように思いますが、フレームワークを利用する場合、フレームワークの裏側まで意識している開発者はどの程度いるでしょうか。フレームワークの存在意義自体が詳細を隠し、抽象化された土台の上で開発ができるようにするものだということは理解できますし、裏側がきちんと動作することは(RoRの場合は)多くの人々によってテストが行われているので信頼できるとは思います。しかし、なんで動くのか分からないけど動いているという奇妙な状態が起きているのは違いありません。
私もRoRの動作の詳細まで理解している訳ではありませんが、できるだけ理解しようと努めています。フレームワークの裏側を理解することは、きちんと動作を把握しきれていないのにプログラム書いちゃっていいの?というプログラマの憂いを払拭するだけでなく、適切なメソッドを選択したり、デバッグが容易になったりと実用上有益な行為だと思います。ただ、このように深く深く知ろうと思ってしまうと底などない訳でして。
結論:一日の時間を三倍くらいにしてほしい。
担当:岩渕