-
プログラム
-
クラスとかインスタンスってなんのためにあんの? [無断転載禁止]©2ch.net
-
UPLIFTで広告なしで体験しましょう!快適な閲覧ライフをお約束します!
関数だけでよくね? - コメントを投稿する
-
クラスとかインスタンスとか存在しない関数だけの言語もあるんだからそれを使いたまえ
-
副作用を制するため
-
c+訳わからん
-
多人数で巨大なプログラムを作ったり保守したりするとき、
関数だけしかない言語では大混乱が起きて、出来上がるソフトの品質や人的リソースが足りなくなりつつあった
これがソフトウェア危機
これに対処し、もっと簡単に早く作れるように、便利なものたちがいくつか出来上がった
その一つがオブジェクト指向であり、クラスとインスタンスだ -
ちなみにcommon lisp独学でやってるんだけどさ
ストリームってのがよくわからない
ただ単にreadとかの関数だけでやっててもなにも問題なさそうだと思うんだが
あとsbclでファイルにアクセスしようとするとアクセスが拒否されるのってどうにかならんの? -
>>6
いらないよ -
ゴミ
-
>>9
ありがとう -
>>13
(企業によるが)同じ業務(仕事)を長年続ける事がないので、次の担当に業務を引き継ぐのにあれこれ説明が必要だったりする
新しい担当がプログラム経験ある人でもモジュール単位で纏まってると楽って話
自宅個人でやってるならまず無い
ちなみにアプリ開発系は複数人でプログラム組む事が多くて、規模が大きい程、人の入れ替えも激しい
そうするとプログラム作成のための規約書に細く書かれてるので、それに準拠して作成してく=引き継ぎも割と楽 -
こういう類いの質問をする奴には、自分で考えようとしないのが多い。
歴史的背景とかはいいけど、思想的な事は、悪いことは言わんから、自分で答えを探すようにしたほうがいい。 -
自分で答えを見つけた結果に
関数型最高オブジェクト指向いらね。みたいな産廃が生まれるんじゃん -
こういう質問の答えは経験を積まないと理解できないから考えさせるのは酷だと思うの
effective c++とか読むのが一番いいんだろうけど -
>>14
なるほど!!ありがとう! -
>>15
効率の良い方を選んだんだけど、なんで自分から答えを探すほうがいいん? -
>>16
ある程度のぼんやりした答えはないよりあったほうがいいと思ってね -
>>17
あざすm(_ _)m -
ウォターフォールの欠点を解消するためのOOP
-
>>22
専門用語わかりませんな -
>>14
昨日の自分は他人だ。一時間前だって。 -
ID:auao+fea
典型的な他人にケチを付けたがる人 -
>>27
俺の頃はC言語主流でモジュール指向を意識してた
で、言語自体を突き詰めていくと今のC++形態が必然的に望まれるようになる
Windowsだと、これにOLE(とdll等)の思想を加える事でオブジェクト指向へと進む
ただ、アプリの言うところのオブジェクト指向とプログラミングのオブジェクト指向では意味合いが違う事も多いので、その辺は経験あるのみ -
>>28
口調が違うだけで似た者同士だと思うけどなw -
>>32
Head Firstオブジェクト指向分析設計
でいいんじゃないの?
最初は広範囲に扱ってるのがいいだろうし。
安定のオライリーブランドで。
タイトルで警戒する人もいるかもしれんが、
バートランド・メイヤーさんの本みたいなやり過ぎ感はない。 -
>>30
否定するなら何か出さないとさw -
>>29は内容が糞過ぎてスルーだったよw
-
ちなみに俺は>>1だけども、前に行ったようにcommonlisp独学でやってるのよ
で、sbclって処理系はファイルにアクセスしようとするとアクセスが拒否されましたって表示されるんだけど、これどうしたらいいの??? -
そういう明らかな環境依存のトラブルを自己解決できないレベルでなんでLispやってんの?
順序が違うからLispやめとけ -
>>38
じゃあまず基本情報とか取ったほうがいいですかね? -
頭悪いだけじゃん・・・
-
引き継ぎの話をしてるのに>>25が何を言いたいのか分からない
-
>>37
大概のOSはフォルダやファイルにアクセス権が設定されてるから、
読み込みたいなら読み込み権限を
書き込みたいなら書き込み権限を
実行したいなら実行権限を
それぞれ付与する必要がある
まあ上の方が書かれてる通り、OS環境とサンプルは書いて質問した方がいいですね -
>>42Windows10なんだけどもそういうのは本とかで勉強するものですかね?
-
わざわざ身構えて勉強する程のコトじゃないよ
困ったことがあればエラーメッセージやエラーコードから検索してMS公式のFAQを見れば良い
大事なのはエラーがプログラム由来なのかそれ以外なのか見分ける事
基本的にファイルやフォルダってのはプログラムの外の世界(=OS)にある
だいたいアタリを付けてググれるようになれば無問題 -
これでぐぐるといろいろ出てくるよ
Windows ファイル アクセス権 -
こういうのは技術ではなくセンス
-
知識だろ
-
条件分岐でどのdllを使うか決まるみたいなもんじゃだめなのオブジェクト指向って
-
>>1
今、プログラミング(C#)を勉強中だけど、素人なりにオブジェクト指向って便利だと思ってる
ずっと以前にPerlをちょっとだけ勉強したことがあるけど、そのときは
オブジェクト指向とかを理解する前にやめてしまっていた
以前は関数をずらずら並べてコードを書いてたけど、それが長くなってくると
全体を把握するのがしんどくなってくる
今は、クラスというもっと大きな単位で関数とデータをまとめるので、以前よりは楽に感じる
あとからメンテナンスするときも、読みやすく、内容を思い出しやすい
それから、似たようなデータに対してほぼ同じ処理をする場合に、Perlをやってたときは
コピペして同じような関数を複数作ったり、if文を並べたりしてた
クラスの機能をいろいろ利用すると、同じ関数を使い回せるので、コードがぐちゃぐちゃになりにくい
C#を勉強し始めたときは「オブジェクト指向って上級者向けで自分のような素人には
不要じゃないのか」って思ってた
だけど自分用のツールをいくつか作ってみて、むしろ俺みたいに優秀じゃない人間でも、
混乱しにくく、読みやすく、プログラミングしやすくなるような仕組みなんだと感じてる -
>>53
ありがとう! -
>>53
日記に書いてろゴミカス -
オブジェクト指向ってバカ向きだよな。
ボタンを押すだけだもん。
猿だよ猿 -
バカでも扱えるんなら
それは素晴らしいじゃないか -
ピアノってバカ向きだよな。
ボタンを押すだけだもん。
猿だよ猿 -
プログラムも馬鹿向きだよなw
-
バカには理解できないからバカに見えるだけだけどな!
-
パソコンって馬・・・
-
uyというのは概念であって
インターネット上のリソースはすべて「uy」クラスから派生してる事も知らねーとか流石に草 -
「uy」という存在は、
ちょっと冗談きついレベルの初心者や痛い奴を
丁寧な言葉で分からせるのが面倒そうだな・・・ って時に出現する「何か」です
ム板は「uy」の存在によって余計な長文を書く手間が省く恩恵を受けています -
>>53
日記に書いてろゴミカス -
>>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
ドラコンブックって1万近くするやつですか?? -
>>84
そうなんですけど、僕は二冊に分かれてる時代に書いました。 -
上流設計書が糞な時ってどうやってOOPすればいいんですか?
-
諦めませう
-
実装内部でのみOOP
-
仕様書にないクラスを書くなって怒られる
-
クラスは極力避けて静的メソッドで作る
静的メソッド増やすにもいちいち上司と交渉が必要
ただしグローバル変数は自由に増やしてもよい
メソッドが無限に長くなってもよい
そんな職場です -
わけわからんなw
-
工数稼げていいじゃん(他人事)
-
>>92
クラス内にサブクラスを定義したり、関数内で関数定義したらどうだろうか? -
設計と実装が別れてるのなら、設計者が無能かここで愚痴ってる実装者が無能かの
どちらかだろうな。今の情報だけでは判断つけかねる -
なぜ他に専用のクラスが必要なのか
-
設計してないんだろうな。
-
設計ではなく、説明してないんだろうな。
-
そこよりも、グローバル変数を自由に増やして良いってのがわからん。
-
>>92
その上司は情報処理技術者試験を受けたことがあるのか聞きたい。 -
組み込みだろ。
-
オブジェクトとインスタンスってメモ帳で表現できるよな。
幾つも起動出来て、それぞれ別の作業が可能
それぞれに干渉しないし…
自分である程度の大きさで設計しないと
オブジェクト志向の良さって理解できないかも -
クラスとインスタンスは正直いらないな。 Javaの開発者もJavaをもう一度作り直すならクラスを捨て去りたいと言ってるようだし。Cだけでもオブジェクト指向は十分できるしね。
-
だよな
コンパイルしたら、拡張子が「.class」とか
やめてほしいわ -
Javaはバカばっかだからね
-
>>104
単独スレッドでも可能だな。そもそもマルチコアかマルチCPUでなきゃ本当の同時処理なんてあり得ないし
それを同時とみなせるようなプログラミングも難しい物じゃない。(カーネルは難しいかもしれんが) -
>>108
クラスというより継承を捨てたいって話に見える -
>>116
マルチスレッドは同時処理の話だろう。大丈夫? -
>>117
"継承を捨てたい"はわりと最近のオブジェクト指向共通の流れだしな。
C++あたりが知識の基礎の人は継承がオブジェクト指向のすべてだから
「継承を捨てるってことはオブジェクト指向が終わりってこったなwww」とか言ってそうw -
まともなプロジェクトでは継承は禁止だからね
言語的にも禁止したいという欲求は当然と言える -
www
-
これより王位の継承を始める
皆の者、敬礼! -
javaの技術者なんかはソースコードを継承の迷宮にしちゃうからな。あれには参る
-
どっちがどっちだか知らんがクラスにメソッドを指示するタイプのオブジェクト指向だと
クラスに命令した後の動作は"クラスが自分の仕事としてやる"という考え方なので
投げて戻り値を待って他が同期を取る必要があるクラスじゃなければ
投げたあとは各クラスが勝手にやってるものとして動作順はあんまり考えない。
プログラマからしたらプロセスがマルチスレッドで動いてるのと感覚的には変わらない。 -
>>124
それ言語限定してるだろ。javaとか -
>>128
>で、その状態遷移とやらは
>>> それぞれに干渉しないし…
>を実現できるのかね?
そんな事も知らんで「とやら」とか「ごとき」とかって大口叩くの、こういうのがプロジェクトに混ざってると恐ろしいコードが出てくんだよなー
>Java ガーとか
ネトウヨの口癖だな -
javaはプログラマーを守るのを仕様としていると銘打つが、javaが禁止していない…まあやっちゃいけないって事を誘発しかねない環境になっている部分がありそうにも見える。
-
>>129
> そんな事も知らんで
ある部分の処理に時間がかかる時に他へ影響しない方法書いてからほざけ
> >Java ガーとか
> ネトウヨの口癖だな
Java って言い出したどこかのバカに言ってやれよ w -
DDDの仕事したい
UI層で直接DB層を操作する仕事はもう嫌だ -
JavaってMVVMとか出来るの?
-
匿名通信(Tor、i2p等)ができるファイル共有ソフトBitComet(ビットコメット)みたいな、
BitTorrentがオープンソースで開発されています
言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか?
Covenantの作者(Lyrise)がそういう人と話したいそうなので、よろしければツイートお願いします
https://twitter.com/Lyrise_al
ちなみにオイラはCovenantの完成が待ち遠しいプログラミングできないアスペルガーw
The Covenant Project
概要
Covenantは、純粋P2Pのファイル共有ソフトです
目的
インターネットにおける権力による抑圧を排除することが最終的な目標です。 そのためにCovenantでは、中央に依存しない、高効率で検索能力の高いファイル共有の機能をユーザーに提供します
特徴
Covenant = Bittorrent + Abstract Network + DHT + (Search = WoT + PoW)
接続は抽象化されているので、I2P, Tor, TCP, Proxy, その他を利用可能です
DHTにはKademlia + コネクションプールを使用します
UPnPによってポートを解放することができますが、Port0でも利用可能です(接続数は少なくなります)
検索リクエスト、アップロード、ダウンロードなどのすべての通信はDHT的に分散され、特定のサーバーに依存しません
8 -
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
W2VU7 -
PX0
↑今すぐ読める無料コミック大量配信中!↑