クラスとかインスタンスってなんのためにあんの? [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
クラスとかインスタンスとか存在しない関数だけの言語もあるんだからそれを使いたまえ 多人数で巨大なプログラムを作ったり保守したりするとき、
関数だけしかない言語では大混乱が起きて、出来上がるソフトの品質や人的リソースが足りなくなりつつあった
これがソフトウェア危機
これに対処し、もっと簡単に早く作れるように、便利なものたちがいくつか出来上がった
その一つがオブジェクト指向であり、クラスとインスタンスだ >>5なるほど
1人で作るときには必要ないってこと? ちなみにcommon lisp独学でやってるんだけどさ
ストリームってのがよくわからない
ただ単にreadとかの関数だけでやっててもなにも問題なさそうだと思うんだが
あとsbclでファイルにアクセスしようとするとアクセスが拒否されるのってどうにかならんの? >>11
自分で把握できる程度で他に渡さないとしてらかと
まあモジュール指向的に作ると引き継ぎ楽 >>12
なるほど
ちなみに引き継ぎってどこからどこに引き継ぐん?素人ですまん >>13
(企業によるが)同じ業務(仕事)を長年続ける事がないので、次の担当に業務を引き継ぐのにあれこれ説明が必要だったりする
新しい担当がプログラム経験ある人でもモジュール単位で纏まってると楽って話
自宅個人でやってるならまず無い
ちなみにアプリ開発系は複数人でプログラム組む事が多くて、規模が大きい程、人の入れ替えも激しい
そうするとプログラム作成のための規約書に細く書かれてるので、それに準拠して作成してく=引き継ぎも割と楽 こういう類いの質問をする奴には、自分で考えようとしないのが多い。
歴史的背景とかはいいけど、思想的な事は、悪いことは言わんから、自分で答えを探すようにしたほうがいい。 自分で答えを見つけた結果に
関数型最高オブジェクト指向いらね。みたいな産廃が生まれるんじゃん こういう質問の答えは経験を積まないと理解できないから考えさせるのは酷だと思うの
effective c++とか読むのが一番いいんだろうけど >>15
効率の良い方を選んだんだけど、なんで自分から答えを探すほうがいいん? >>16
ある程度のぼんやりした答えはないよりあったほうがいいと思ってね >>21
PC業界は初心者に上から目線で能書きを垂れる奴多い
てのが、このスレの流れで分かるでしょ
もし今から目指してるなら大企業のみにしとく方が良いよ >>17
それはC++のハウツー本でしょ
内容が高度ってだけで >>15
その思想の入り口が欲しいんだよ
素朴な回答が大きな一歩に繋がる
生暖かく付き合ってくれ ID:auao+fea
典型的な他人にケチを付けたがる人 >>27
俺の頃はC言語主流でモジュール指向を意識してた
で、言語自体を突き詰めていくと今のC++形態が必然的に望まれるようになる
Windowsだと、これにOLE(とdll等)の思想を加える事でオブジェクト指向へと進む
ただ、アプリの言うところのオブジェクト指向とプログラミングのオブジェクト指向では意味合いが違う事も多いので、その辺は経験あるのみ >>28
口調が違うだけで似た者同士だと思うけどなw >>28
effective c++でクラスやインスタンスがなんであるか学べると思ってるの?
あれはc++に特化した本で、しかもクラス志向は弱く、汎関数志向が強く出てる本。 >>31
すまん、effective c++って書いたのは適当だったんだ
代わりにいい本紹介してあげてくれ >>31
キツネちゃんの写真が写ってる本だろ。
君の言うことだいたい合ってるぜ >>32
Head Firstオブジェクト指向分析設計
でいいんじゃないの?
最初は広範囲に扱ってるのがいいだろうし。
安定のオライリーブランドで。
タイトルで警戒する人もいるかもしれんが、
バートランド・メイヤーさんの本みたいなやり過ぎ感はない。 ちなみに俺は>>1だけども、前に行ったようにcommonlisp独学でやってるのよ
で、sbclって処理系はファイルにアクセスしようとするとアクセスが拒否されましたって表示されるんだけど、これどうしたらいいの??? そういう明らかな環境依存のトラブルを自己解決できないレベルでなんでLispやってんの?
順序が違うからLispやめとけ >>38
じゃあまず基本情報とか取ったほうがいいですかね? >>25
だよ
時間が経つと自分一人で書いたコードでも忘れる >>39
長期的にはまず今使ってるOSについて詳しくなること
短期的にはサンプルコード/環境/ファイルの場所その他
を晒してから助言を求めること 引き継ぎの話をしてるのに>>25が何を言いたいのか分からない >>37
大概のOSはフォルダやファイルにアクセス権が設定されてるから、
読み込みたいなら読み込み権限を
書き込みたいなら書き込み権限を
実行したいなら実行権限を
それぞれ付与する必要がある
まあ上の方が書かれてる通り、OS環境とサンプルは書いて質問した方がいいですね >>42Windows10なんだけどもそういうのは本とかで勉強するものですかね? わざわざ身構えて勉強する程のコトじゃないよ
困ったことがあればエラーメッセージやエラーコードから検索してMS公式のFAQを見れば良い
大事なのはエラーがプログラム由来なのかそれ以外なのか見分ける事
基本的にファイルやフォルダってのはプログラムの外の世界(=OS)にある
だいたいアタリを付けてググれるようになれば無問題 これでぐぐるといろいろ出てくるよ
Windows ファイル アクセス権 >>19>>27
調べれば正しい答えが出てくるような知識だけの問題なら、誰かに教えてもらう方が効率がいいのはわかるし、それでいいと思う。
しかし、思想・考え方の問題は、誰かの結論を教科書的に鵜呑みにしてるだけじゃ意味ない。
疑えというわけじゃなく、それを手助けとして、自分なりの納得できる結論を導いていけるならいいけどね。
こういう質問をする人は何となくそれが出来ない人が多かったもので、ついついw 条件分岐でどのdllを使うか決まるみたいなもんじゃだめなのオブジェクト指向って >>1
今、プログラミング(C#)を勉強中だけど、素人なりにオブジェクト指向って便利だと思ってる
ずっと以前にPerlをちょっとだけ勉強したことがあるけど、そのときは
オブジェクト指向とかを理解する前にやめてしまっていた
以前は関数をずらずら並べてコードを書いてたけど、それが長くなってくると
全体を把握するのがしんどくなってくる
今は、クラスというもっと大きな単位で関数とデータをまとめるので、以前よりは楽に感じる
あとからメンテナンスするときも、読みやすく、内容を思い出しやすい
それから、似たようなデータに対してほぼ同じ処理をする場合に、Perlをやってたときは
コピペして同じような関数を複数作ったり、if文を並べたりしてた
クラスの機能をいろいろ利用すると、同じ関数を使い回せるので、コードがぐちゃぐちゃになりにくい
C#を勉強し始めたときは「オブジェクト指向って上級者向けで自分のような素人には
不要じゃないのか」って思ってた
だけど自分用のツールをいくつか作ってみて、むしろ俺みたいに優秀じゃない人間でも、
混乱しにくく、読みやすく、プログラミングしやすくなるような仕組みなんだと感じてる オブジェクト指向ってバカ向きだよな。
ボタンを押すだけだもん。
猿だよ猿 ピアノってバカ向きだよな。
ボタンを押すだけだもん。
猿だよ猿 バカには理解できないからバカに見えるだけだけどな! 世の中には >>55 みたいなしょうもない糞、死ねばいい糞、何の価値もない糞
がいるもんだなw
お前、あの、どこかの掲示板でえらそうにしてた「あ」クラスの屑か? uyというのは概念であって
インターネット上のリソースはすべて「uy」クラスから派生してる事も知らねーとか流石に草 「uy」という存在は、
ちょっと冗談きついレベルの初心者や痛い奴を
丁寧な言葉で分からせるのが面倒そうだな・・・ って時に出現する「何か」です
ム板は「uy」の存在によって余計な長文を書く手間が省く恩恵を受けています >>53
iOSとかのためにObjective-C始めると
あれ、関数にあたる単位をオブジェクティブに扱うのに特化したCだから
"あったら便利"とかいう域を超えて"息をするようにオブジェクト指向"で
最初、サンプルコードがまったく読めないw
言語仕様じゃなくてクラス(フレームワーク)の方で機能実現してて
「あれ呼んでこれ渡して。ね、簡単でしょ?」「わかんねーよw」って
呼んでる先みると、「あれとこれ(クラス)使って
これをオーバーライド。ね、簡単でしょ?」「わかんねーよw」と
コード数行追加でどんどん作ってるんだけどフレームワークを
ひょいひょい持ってきて改造して使用してるから
フレームワーク知らないとコードが追えないw
でも記述の少なさとか見るとこれが本当にオブジェクト指向が
やりたかったことなんだなぁと妙な感慨に浸れる。 >>22
OOPとウォーターフォールは共存するんだが?
むしろ、OOPの方が従来よりもモデリングを先行させるからウォーターフォールに向いてる。
上流でクラスを決めるから。
ろくなクラス設計もせずにコードを書くと破綻する。 ただ、上流がプログラミング能力を持ってないと
クラスを作れない。
クラスを決める能力を持ってない人が
クラスを決めようとするから破綻するし、
特に上流がクラス作成という下流の作業をするわけないだろ!って
思ってる人が上流の人に多いから破綻する >>69
クラスを決めるんじゃなくてオブジェクト指向設計だろ?
オブジェクト指向設計ができないなら、オブジェクト指向プログラミング言語を使ってもオブジェクト指向に
ならない。
だいたいオブジェクト指向は万能ではないからな。 C言語ですらオブジェクト指向で作れる。
ただしアクセス制御がきかないので、相当なレベルのプログラマがやらないとひどいことになる。 そもそもstdio.hがオブジェクト指向ライブラリだしね (メッセージングからか〜と考えていて、ふとこいつらC++の話してる?(笑)
と気づいたときの困惑といったら…) オブジェクト指向の本当の価値はオブジェクト指向設計をしないと理解出来ないよ。
例えばjavaで言うインターフェイスの実用的な使い方なんてまともなオブジェクト指向設計にしか存在しない。
一言で言うと、ビジネスロジックの再利用、拡張、保守性に優れたシステムを設計するために用いる。 単に現実の世界の多くのドメインをモデル化するのにOOPがマッチしただけ 現実の世界の多くのドメインをモデル化するのにOOPがマッチする とはいえ、すべてがオブジェクト指向で完結するわけではないので、オブジェクト指向プログラミング言語で作るとオブジェクト指向でない部分がどうしてもできる。 そこをなんとかオブジェクト指向的に取り繕うのがお前の仕事だろ ドラゴンブックに載ってるアルゴリズムを一通り実装してみたんだけど、
OO的にすると余計メンドクサイことになって、結局、試行錯誤の結果、
書いてある通りが一番簡単という結論に至った。
ついでに書くと、ドラゴンブックのレベルでは実用にほど遠かった。
テーブルの圧縮とかいろいろ研究しないと実用にならなさそう。 >>79
いやwww 当たり前だろwwww
オブジェクト指向っていうのは、ロジック(アルゴリズム)を
書くためのものじゃなくて、それを組み込む枠組み、
フレームワークに使うものなんだから。
例えば、それらのアルゴリズムにグラフ書くアルゴリズムとか
ソートやサーチのアルゴリズムがあると思うが、
それらのアルゴリズムを入れ替え可能にするなどのために使うんだよ。 見方はいろいろあるけど使い回せるように
ユニットのインターフェイスを分離して抽象性を上げるものだから
ユニットの"中を"オブジェクト指向で無理に書いて
「めんどくさいだけじゃん!ほっら!ほっら!!」って
お話にならないイチャモンなら20年前にC++で死ぬほどみた。 >>79
次はOO疑似コードで書いてる本を
OO抜きで書いてみてください >>79
ドラコンブックって1万近くするやつですか?? >>84
そうなんですけど、僕は二冊に分かれてる時代に書いました。 ■ このスレッドは過去ログ倉庫に格納されています