オブジェクト指向が嫌いだ!(ぼやき)

投稿者: | 2008年2月14日

フレームワークもライブラリーも・・・ようは人が作ったプログラムを使うのが嫌いだ。

「(すでに有る)車輪を発明してはいけない」と人は言う。 「SEは短気だから、すでに有るものを使ってすぐに動かしたい。」とも言う。

しかし、本当にそうなのか?

先ず、自分のしたいことができそうなライブラリを探さなくてはいけない。 そしてドキュメントを読んだり、とりあえず使ってみたり、人に聞いたりしながら、その作法や世界観(クラス)を学ばなくてはならない。

そして、しばしば超えがたい壁にぶつかる。「 それはできません!そういう仕様です!!」

なんと・・・やりたければ自分で作れと・・・人が書いたものにエクステンションをつける事がどれだけ大変なのかと。だったら一から自分で作るがな!!

そもそも、オブジェクト指向だクラスだのって本当に必要なんでしょうか?PHPの美点は、そうした仰々しいお膳立て抜きに、やりたいことをHTMLに挿入して実行できるお気軽さ(強引さ?)だったのでは?

さらに私の性格は、文書を読むより書きたいほう、話を聞くよりしゃべりたい方です。 よって、人が書いたスクリプトを読んで解析するくらいなら、最初から自分で書きたい、ロジックも考えたいのであります。

あと、机が散らかっているのが嫌い、つまりファイルが沢山できるのが嫌いなのです。しかも、パッチワークのように機能が付加され、何の書類か判らないときている。まあそれでも、問題なく動いているならブラックボックスとして割り切りましょう。しかし、動かなくなったら?手に負えません。えーいしゃらくせー!全部捨ててやる!!

こんな私はSE向きではないのかも知れません。と言うか元来SEではなく、WEBデザインの延長でサーバーサイドのスクリプトもやりだしたのでした。

進むべきか、退却すべきか・・・とか考えてるうちに、慣れてしまった方が早いのかな?

オブジェクト指向が嫌いだ!(ぼやき)」への0件のフィードバック

  1. 管理人タイチ

    正確に言うと、Pearなどのライブラリは機能が限定されているし、コードも精緻なので良いのですが、問題なのはブログツールやショッピングカートのようなツールですね。

    これらは、システムとして大規模・複雑なので、予め機能を把握しておくことが難しく、かなり深入りしてから「こんなことができなかったの?」という発見をしたりします。

    一方で、自分に必要かどうかに関わらず様々な設定項目があり、それをWEBフォームから入力してDBに保存するだけで結構なシステムですし、最終的なサイトの表示ロジックも「この設定が〇〇だったらXXを表示する」といった複雑なテンプレートになってしまいます。

    もちろん、様々なニーズに答えたいという思いはあるでしょうが、無節操に機能を追加していくと、複雑怪奇なパッチワークになってしまうでしょう。したがって、こうしたツールには「機能は限定されているが、大抵のケースで不足無い」という、ある種の作り手のセンス(ポリシー)が必要なのかも知れません。

    返信
  2. いくずく

    ミーハーYAHOOブログユーザーのいくずくです(^^♪
    僕がプログラムを始めたころは、まだ、構造化プログラミングすら一般的でなく、平気で複雑なスパゲッティプログラムを書いている人がたくさんいました。その後、構造化プログラム、オブジェクト指向というように、開発手法としてのソフトウェア工学が進歩してくるのですが、確かにこれらはプログラム開発手法の概念としては画期的でしたね。主にはこれらのブラックボックス化、カプセル化、階層化の仕組みによって、当時は非常に困難だった巨大プログラムの開発がかなり容易になったように思います。
    ただ、デメリットは、開発のオーバーヘッドが大きい、初期設計思想への依存度が高いということですね。最初に適切なクラス設計を入念に練っておかないと後でこまりますし。設計手順がかっちりしすぎて、ちょっとしたプログラムをさっと作るのが難しくなってしまいました。
    PHPはよく知らないですが、これもオブジェクト指向言語なんですね。確かにある程度以上複雑なプログラムを作るにはオブジェクト指向あったほうがよいですが、PHPのユーザー層によっては必要としない人も多そうですね。

    返信
  3. 管理人タイチ

    知ったかぶりの「はてなダイアリー」ユーザのタイチです。

    そういえば、いくずく殿は中学生の頃からプログラムを組んでいたよね。正に歴史の生き証人といったところでしょうか(^^)。一方、僕は20年以上遅れてノスタルジックなプログラミングをやっていると…

    オブジェクト指向というか型にはめることのメリットとデメリットって、正にその通りですね。まあ、どんな産業でも成熟すればするほど、大規模化・効率化する一方で、小回りが効かない・個性が無くなるというのはありますね。

    PHPは元々オブジェクト指向ではなく、PHP4位から一応オブジェクトも使えるようになり、現在のPHP5で完成された感じでしょうか。なので、以前は(3-4年前かな?)オブジェクト志向ならJava、手続き型ならPHPという住み分けだったそうです。

    今は、マシンのパフォーマンスを引き出せる、プラットフォームに左右されないのがJavaで、PHPは規則が緩く習得しやすい、HTMLに挿入して順次実行というお手軽さから、いろんな機能を短期間でリリースするWEBサービスで重宝がられます。

    例えば楽天やニフティー、そしてYahooでも半数以上のサービスがPHPで書かれているそうです。

    返信

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です