アカウント名:
パスワード:
>オブジェクト指向でプログラミングしなければならないかどうかは言語に依存するものではないでしょう。
「郷に入りては郷に従え」って言葉がありまして。IOCCC が開催されることとなったきっかけ [kaimei.org]は御存知?その言語にあわない流儀を用いてコーディングするなら最初からその言語を使うな、というお話。仲間内だけでやるならともかく外に出したら困ることになりますよ、と。# そのきっかけを忘れてアホ実装したのが Boost の lambda だったりするわけだが、何故か一部でもてはやされていて困る。
オブジェクト指向がしっくりこないなら、オブジェクト指向ではない言語を使って作れば良いだけです。ですから私の意見としては NG 。
だいたい、履歴書にコーディング経験C++10年、C#5年なんて書いていてあんなコードしか書けないのがいたら詐欺レベルですよね。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
物事のやり方は一つではない -- Perlな人
質問が間違いですね (スコア:5, すばらしい洞察)
そもそも設計がオブジェクト指向でなければ実装だけオブジェクト指向になることもないですし、オブジェクト指向設計はプログラミング言語抜きに行うことも出来ますよね。
(言語に対してある程度のオブジェクト指向的な機能は仮定するにしても)
あと、もとの記事を見るとC++が挙がっていますが、C++は「オブジェクト指向にも書ける」言語であって「オブジェクト指向のための」言語ではありません。
なので「C++を利用するならオブジェクト指向でプログラミングしなければならないか」というように質問を解釈したとすれば、「否」が答ですね。
STLの実装を見てもらえば分かりますが、C++の機能をふんだんに利用して「オブジェクト指向でなく」書いていますね。
各々のコンテナやアルゴリズムはできるだけ独立で直交するように設計されています。
# STLをUMLで再設計してみようとすれば如何にSTLがオブジェクト指向でないかが分かります
Best regards, でぃーすけ
Re: (スコア:0)
>オブジェクト指向でプログラミングしなければならないかどうかは言語に依存するものではないでしょう。
「郷に入りては郷に従え」って言葉がありまして。IOCCC が開催されることとなったきっかけ [kaimei.org]は御存知?
その言語にあわない流儀を用いてコーディングするなら最初からその言語を使うな、というお話。仲間内だけでやるならともかく外に出したら困ることになりますよ、と。
# そのきっかけを忘れてアホ実装したのが Boost の lambda だったりするわけだが、何故か一部でもてはやされていて困る。
オブジェクト指向がしっくりこないなら、オブジェクト指向ではない言語を使って作れば良いだけです。
ですから私の意見としては NG 。
だいたい、履歴書にコーディング経験C++10年、C#5年なんて書いていてあんなコードしか書けないのがいたら詐欺レベルですよね。
Re: (スコア:1)
逆です。例えば「作成するべき対象ソフトウェアがオブジェクト指向であるべきではない」が、「言語Xがオブジェクト指向で書くべき言語」であるとすれば、「言語X」の方が外されるべきな訳です。すなわち「何を作りたいか」の方が「言語」よりも「偉い」のです。
> IOCCC が開催されることとなったきっかけは御存知?
知りませんが、私はIOCCCのワンライナーなら普通に読めますよ。IOCCが何かを皮肉っているのかも知りませんが私には通用しません。
> その言語にあわない流儀を用いてコーディングするなら最初からその言語を使うな、というお話
Best regards, でぃーすけ
Re: (スコア:0)
あなたの頭の中ではオブジェクト指向とクラスが不可分なようですし。
オブジェクト指向分析設計したものはオブジェクト指向(言語)で実装するのが最適か?というと必ずしもそうではなく、現実には、オブジェクト指向で設計しAdaなどで手続的に実装といった話はごろごろしていましたよ。
Re:質問が間違いですね (スコア:0)
私も元AC氏とだいたい同意見で、なんであれ共有されている流儀に反するような書き方はするな、です。NGなのは言語じゃなくて人の問題。