[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 05/09 12:56 / Filesize : 312 KB / Number-of Response : 984
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

タスクシステム総合スレ part6



1 名前:名前は開発中のものです。 mailto:sage [2009/04/03(金) 11:25:39 ID:aSgRO8Wl]
タスクシステムについての議論、相談、質問、雑談などのスレです

part5 pc11.2ch.net/test/read.cgi/gamedev/1234977661/
part4 pc11.2ch.net/test/read.cgi/gamedev/1233459490/
part3 pc11.2ch.net/test/read.cgi/gamedev/1226199100/
part2 pc11.2ch.net/test/read.cgi/gamedev/1196711513/
part1 pc11.2ch.net/test/read.cgi/gamedev/1173708588/


・タスクと呼ばれる実装は、非常に多岐に渡ります
 古典タスクシステムについての話題は「>>2」と明示してください
 そうでない場合はカスタム版であることを明示してください

・人を憎んで言語を憎まず

266 名前:名前は開発中のものです。 mailto:sage [2009/04/11(土) 14:39:53 ID:lG5C2wBT]
>>264
ごめん、それ、違う人。
あぁ、「最近本で読んで」とか言われてたのはそのせいか。 >218 の本も読んだこと無いよ。

まぁ基本的にその人と考えてることは同じなんだろうけど、「依存」の中に大昔の
ハードの制約とかも入るような話になっちゃったら 0 にしろとは言い切れないねぇ。

267 名前:名前は開発中のものです。 mailto:sage [2009/04/11(土) 14:44:16 ID:hS6DOynO]
結局タクスシステムとは関係ない話ということでよろしいか?

268 名前:名前は開発中のものです。 mailto:sage [2009/04/11(土) 14:47:58 ID:VwbI10yZ]
いやあるね。
基本的にタスクシステム自体がゲーム仕様に「依存」するからこういう展開になるわけで。

269 名前:名前は開発中のものです。 mailto:sage [2009/04/11(土) 14:50:55 ID:lG5C2wBT]
>>267
依存関係の切り離しも含めてモジュール分割やコード再利用の努力をすれば、
すぐにタスクシステムなんてものは標準コンテナや仮想関数を持った
インターフェースクラスなどに分解され、残るのはゲーム依存部分となり
システムと呼ぶほどのものは残らなくなるだろう、と考えている。

そういう意味でも >263 の質問に答えが欲しい。あと >254 も、かなぁ。

270 名前:名前は開発中のものです。 mailto:sage [2009/04/11(土) 14:51:36 ID:FPJVr62U]
>>266
ハードの制約は大昔も未来も変わらんよ。
非対称マルチコアに最適なタスク管理とか、最近はそっちの方面に流れてるし

実行環境を一切考慮しない唯一の最適なシステムなんてハードが進化し続ける限り不可能。

271 名前:名前は開発中のものです。 mailto:sage [2009/04/11(土) 14:58:23 ID:VwbI10yZ]
>>269
答えがほしいってなんだよ。
自分でやってみればよいだろ。すぐに問題に気が付くから。

272 名前:名前は開発中のものです。 mailto:sage [2009/04/11(土) 14:58:59 ID:lG5C2wBT]
>>270
唯一最適である必要は無い。適切に分割され、要求に応じて組み合わせられるように
なっていればいい。

それなりのサイズの例としては、 C++ 標準ライブラリとか、 C++0x の
乱数発生器フレームワークとか、 shared_ptr, weak_ptr などのスマートポインタ郡とかね。

273 名前:名前は開発中のものです。 mailto:sage [2009/04/11(土) 15:10:54 ID:VwbI10yZ]
だからフレームワークとライブラリは違うってのに。

274 名前:名前は開発中のものです。 mailto:sage [2009/04/11(土) 15:34:22 ID:62IWIIqa]
開発者のオナヌーか
マルチに使えるライブラリうんまーとかは開発者の自己満足
環境に応じて、ゴリゴリに書け



275 名前:名前は開発中のものです。 mailto:sage [2009/04/11(土) 16:07:14 ID:FPJVr62U]
再利用性とか保守性とか、プログラムの一般論としては良いこと、なんだけど
ゲームでそれをするコストに見合うケースは少ないからね…

MMOのクライアントや定番スポーツゲームとか一部の例外を除く
大部分のゲームは再利用も保守も必要ないケースがほとんど。

続編でも旧プラットフォームで作ったチープな仕様のものを再利用して
現行機にもってくる、なんてことはまず無いし。


276 名前:名前は開発中のものです。 mailto:sage [2009/04/11(土) 16:13:26 ID:hS6DOynO]
>>269
>すぐにタスクシステムなんてものは標準コンテナや仮想関数を持った
>インターフェースクラスなどに分解され、残るのはゲーム依存部分となり
>システムと呼ぶほどのものは残らなくなるだろう、

何いってんの?
あらゆるシステムは分解すればシステムと呼ぶものは残らないのは当たり前。
それら使いを組み立てたものをシステムと呼ぶんだろ。

>>272
>それなりのサイズの例としては、 C++ 標準ライブラリとか、 C++0x の
>乱数発生器フレームワークとか、 shared_ptr, weak_ptr などのスマートポインタ郡とかね。
それらを使ってシステムを構築するんだろ。

277 名前:名前は開発中のものです。 mailto:sage [2009/04/11(土) 16:56:46 ID:xXQkL000]
タスクシステムとフレームワーク関係なくね?

フレームワークってハードウェアの差異を抽象化するためのものでしょ。
つまりゲームに特化したOSでしょ。

タスクシステムってハードウェアの差異を抽象化する機能あったか?
単なる自作マルチスレッドライブラリっていう位置づけがせいぜいじゃね。

278 名前:名前は開発中のものです。 [2009/04/11(土) 18:20:01 ID:pUi3qAut]
タスクシステムはゲーム用フレームワークで重要な位置にいるのがわからんのかね。

279 名前:名前は開発中のものです。 mailto:sage [2009/04/11(土) 19:04:53 ID:si1b3yop]
ハリウッドの法則とかしらんのかな

280 名前:名前は開発中のものです。 [2009/04/11(土) 20:03:09 ID:H/Wfcxcz]
このスレのアンチタスク派、頭が悪すぎるだろ。

ろくに実務経験が無いのか、下っ端すぎてゲームライブラリやシステム部分
の製作に参加させてもらえていないのかは知らないが、ゲームの仕様が完全に
決まるまで1行もコード書かない(書けない)とか、いくらなんでもひどいすぎる。

281 名前:名前は開発中のものです。 mailto:sage [2009/04/11(土) 21:11:36 ID:FAassbBg]
都合の良いレス以外は読めないんですね

282 名前:名前は開発中のものです。 mailto:sage [2009/04/11(土) 21:22:43 ID:FAassbBg]
いくつもタスクシステムと称するものを使ったソースを読んでるけど(学生レベルのカスレベルのプログラマ作のものもあれば、ファミコン時代から今までやってるベテランのも)
経験の差、思想の違いだけじゃなく
同じ人でもプラットフォームや言語が違うだけで
タスクシステムの役割や意味するもの、形態が違ってた。


タスクシステムはバズワードでしかない
メリットデメリット云々言うのは野暮
あとプロジェクトを特定せずタスクシステムって言葉を使うのは悪だと思う

283 名前:名前は開発中のものです。 mailto:sage [2009/04/11(土) 21:25:34 ID:xh1QSD+J]
つーかアンチは喧嘩したいだけで
真面目に議論する気がないんだから決着着くわけ無いじゃん。

284 名前:名前は開発中のものです。 mailto:sage [2009/04/11(土) 21:32:27 ID:xQkqf/c4]
にしても、前スレだか前々スレだかに居た引数クンのやり方は無い。
あれはキチガイ。



285 名前:名前は開発中のものです。 mailto:sage [2009/04/12(日) 00:09:59 ID:dmMqUOrY]
タスクと聞くとVOWの渡辺タスクを思い出して笑ってしまう

286 名前:名前は開発中のものです。 mailto:sage [2009/04/12(日) 12:42:11 ID:BK6ZAbdT]
>>284
やってないからそう思えるだけ
実は引数を通したほうがバグ数も格段に低くなって結果的に楽
オブジェクト指向なんて役に立たないもの理解してる暇があったら
まずは引数をキチンと通す組み方を学ぶべき

簡単なプログラムから「グローバル変数・関数を一切使わない」ルールで
一度組んでみて徐々に仕事でも自分の担当するところだけでも
グローバル変数・関数の影響をなるべくうけないように組んでいく

これができるだけでプログラマとしてのレベルはそこらにいる奴等とは
比べ物にならないぐらい上がる
これができるようになることで汎用化できるものと汎用化できないものの判断ができるようになる
(お前等はクズだからこの「汎用化『できないもの』」の判断ってのが苦手っていうかできないだろ?)

287 名前:名前は開発中のものです。 mailto:sage [2009/04/12(日) 12:47:22 ID:zCE7iHyh]
じゃあ、グローバル変数はともかく、
グローバル関数を使わない理由を説明してみ?


288 名前:名前は開発中のものです。 mailto:sage [2009/04/12(日) 12:52:49 ID:kray0MQN]
>>286
>オブジェクト指向なんて役に立たないもの理解してる暇があったら
わぉ
構造化プログラム時代のまま20年間時間が止まったままの人がいるよ
80年代のプログラマが現代にタイムスリップですか?

289 名前:名前は開発中のものです。 mailto:sage [2009/04/12(日) 13:01:05 ID:dWUYp7ZA]
>>286
オブジェクトで渡した方がいいじゃん。
どうせアクセサ経由だし、バラバラに引数渡すよりもバグが入らないね。

290 名前:名前は開発中のものです。 mailto:sage [2009/04/12(日) 13:26:34 ID:vw2uNoL2]
スパゲティプログラムをずるずる書くようなレベルの奴が、
オブジェクト指向なんぞに手を出すのは早すぎ、ということを
言い損なってるだけだろ。

291 名前:名前は開発中のものです。 mailto:sage [2009/04/12(日) 13:59:53 ID:bCeAm0TS]
グローバル関数使わない利点が真面目に分からないのだが。
グローバル変数使うなってのは聞いたことあるが。
というか、Cだと基本的にグローバル関数だよな。
てことはC++でメソッドのみで書けってことなんだろうけど、
C++のメンバ変数ってある意味クラス内でのグローバル変数だから、
グローバルがダメならメンバ変数もダメだよな。
てことは一体・・・。

struct hoge
{
    int x, y, z;
};

class hoge_funcs
{
public:
    static void func1(int &x, int &y, int &z){}
    static void func2(int &x, int &y, int &z){}
};

int main()
{
    hoge h;
    hoge_funcs::func1( h.x, h.y, h.z );
    hoge_funcs::func1( h.x, h.y, h.z );
}

こういうことですね、分かります。

292 名前:名前は開発中のものです。 mailto:sage [2009/04/12(日) 14:10:03 ID:fR0Z14QS]
>>288
オブジェクト指向アンチ=構造化プログラミング派ってのは短絡的すぎる
それどころかむしろ遅れているよ

最近日本でも関数型言語が注目されるようになってきたけど、
オブジェクト指向もサポートしている関数型言語(ocaml等)でオブジェクト指向を多用されない理由は型システムとの相性だけじゃないんだぜ

293 名前:名前は開発中のものです。 mailto:sage [2009/04/12(日) 14:13:21 ID:dWUYp7ZA]
>>292
CやC++が関数型言語なら話は分かる。

294 名前:名前は開発中のものです。 mailto:sage [2009/04/12(日) 14:19:15 ID:fR0Z14QS]
>>293
違う違う。
何も理解してないから言語にこだわってCやC++が関数型言語ならとか言い出しちゃうんだよ



295 名前:名前は開発中のものです。 mailto:sage [2009/04/12(日) 14:27:39 ID:u3tKtjJi]
>>292
またそのパターンか

296 名前:名前は開発中のものです。 mailto:sage [2009/04/12(日) 15:02:02 ID:fR0Z14QS]
入力と出力が一致することは大切。
確かにC++では引数ベースで書くとタルいかもしれんが
自動テストとの相性がいいし、メモリ破壊のチェックも楽になる。

あと>>286と他のレスで、
namespace内の関数やstatic関数はグローバル関数か否かの認識がズレてると思われ

297 名前:名前は開発中のものです。 mailto:sage [2009/04/12(日) 18:59:10 ID:YzcSj6gj]
>286
バカだな。

read onlyなら、引数で渡そうがグローバルに置いてあろうが何も変わらない。
その辺のアクセス制御が出来ない無能は、センス無いとしか言いようが無い。

298 名前:名前は開発中のものです。 mailto:sage [2009/04/12(日) 19:10:15 ID:kray0MQN]
その素晴らしいグローバル関数を一切使わない引数方式とやらで作られた商用ゲーム、
今まで見たこと無いので一本でもあれば教えてくれないかなぁ

タスク使って作られたゲームはたくさん見たけど、そんな素晴らしい方式が
あるなら何で誰も使わないんだろうね。

世界中のゲームプログラマのレベルが君に比べてあまりに低すぎるのかなぁ?

299 名前:名前は開発中のものです。 [2009/04/12(日) 19:10:50 ID:p1GdMo7J]
結局アクセス制御の概念をもってCでライブラリとか組むとさ、
オブジェクト指向言語を使用して組むのと殆ど変わらない
考え方で組むことになると思うのですが・・・。

300 名前:名前は開発中のものです。 mailto:sage [2009/04/12(日) 21:26:04 ID:dWUYp7ZA]
>>294
言ってる事はカプセル化にしか見えないんだけど.。俺には。

301 名前:名前は開発中のものです。 mailto:sage [2009/04/13(月) 01:03:42 ID:UjZc2s3x]
>>298
そういるルールだからです。
「ぬーやる」バーガーはしってますか?

302 名前:名前は開発中のものです。 mailto:sage [2009/04/13(月) 01:07:48 ID:UcN+s1G8]
グーバル関数使わない君はマダかね?

303 名前:名前は開発中のものです。 mailto:sage [2009/04/13(月) 01:54:53 ID:JXX1juts]
悪いw
グローバル関数は間違いだなw

ただ、ヘッダを一括インクルードして
関数をどこでも使えるようにしてしまう組み方がダメだって話
関数を使う箇所だけでヘッダを呼ぶときと
関数を使わない箇所でもヘッダを呼んでしまうのの違い

これに名前ってついてないので説明しにくいが
必要な箇所で必要な分だけインクルードして関数を呼べってこと
簡単に言えばマスターヘッダを作るなってこと

がいいたかったw

304 名前:名前は開発中のものです。 mailto:sage [2009/04/13(月) 01:59:44 ID:8k8BQB+C]
そんな当たり前のことを今更自分が発見したように言われてもなぁ…。



305 名前:名前は開発中のものです。 mailto:sage [2009/04/13(月) 02:08:23 ID:JXX1juts]
>>304
じゃ、俺のいう組み方は普通にわかる?

306 名前:名前は開発中のものです。 mailto:sage [2009/04/13(月) 02:58:53 ID:ZjFryAkH]
Cだったらそんなの当たり前なことだと思うけど。
それタスクシステムと関係ないし。

307 名前:名前は開発中のものです。 mailto:sage [2009/04/13(月) 05:55:56 ID:JkeYci9k]
「俺の組み方」とやらが見えないわけだが
いままでの質疑応答をふまえて一旦書き直してもらえないか


308 名前:名前は開発中のものです。 mailto:sage [2009/04/13(月) 06:20:42 ID:JXX1juts]
>>307
グローバル関数の内容が>>303になるだけ

309 名前:名前は開発中のものです。 mailto:sage [2009/04/13(月) 06:23:07 ID:cdFbiK2J]
グローバル関数禁止でも一括インクルード禁止でもいいけど、
引数云々の話とはどう繋がるんだ?
必要なものだけインクルードしようが、一括でインクルードしようが、
引数の数や種類は一切変わらないと思うんだが。

310 名前:名前は開発中のものです。 mailto:sage [2009/04/13(月) 06:35:40 ID:JXX1juts]
>>309
引数にきちんと渡すことと一括インクルード禁止は両方同時に守らないと
アクセスを制限できない

311 名前:名前は開発中のものです。 mailto:sage [2009/04/13(月) 06:36:49 ID:JXX1juts]
もちろんグローバル変数は当然禁止な

312 名前:名前は開発中のものです。 mailto:sage [2009/04/13(月) 06:37:56 ID:yXP78EaC]
結局C++でやるなら std::list<Task*> とかで充分だしこの方が簡単じゃないか

313 名前:名前は開発中のものです。 mailto:sage [2009/04/13(月) 06:41:27 ID:JkeYci9k]
>>303

そんな2、3スレ前に原型がでたものは今更たどれないし、
当時から見えていても他人は正確に覚えてないだろうから改めてって意味も含めて


314 名前:名前は開発中のものです。 mailto:sage [2009/04/13(月) 07:02:40 ID:JXX1juts]
>>313
いやいや、>>286



315 名前:名前は開発中のものです。 mailto:sage [2009/04/13(月) 07:12:03 ID:JkeYci9k]
引数君じゃないの? 引数君の由来になった話が見えないので分からなかった
>>286レベルの話で「グローバル関数使うなは間違いでした」じゃ今更話すべき内容はないな
今時の言語はネームスペースなりパッケージなりあるし、Cは同一関数名のオーバーロードできないだろ

316 名前:名前は開発中のものです。 mailto:sage [2009/04/13(月) 09:19:54 ID:7048f93j]
>>294
そんなことどこにも書いてねーだろw

>>310
意味がわからない。
引数ベースでやることによってどういうアクセス制限を実現できるの?

317 名前:名前は開発中のものです。 mailto:sage [2009/04/13(月) 09:21:42 ID:7048f93j]
>>294
そんなことどこにも書いてねーだろw

>>310
意味がわからない。
引数ベースでやることによってどういうアクセス制限を実現できるの?

318 名前:名前は開発中のものです。 mailto:sage [2009/04/13(月) 09:26:59 ID:7048f93j]
二重レススマソ

319 名前:名前は開発中のものです。 mailto:sage [2009/04/13(月) 09:37:44 ID:bAffG5gQ]
>>303
お前の想定しているレベルが低すぎる。

わかりやすく言うと、
高校生相手に、小学生のお前が、幼稚園児で習うことを
さも他の奴らがわかってないかのように、
低い説明力で、知識を披露している寒い状況。

320 名前:名前は開発中のものです。 [2009/04/13(月) 12:56:31 ID:kqYtrvhC]
わかってないじゃん
わかってないからグローバル変数使ったり、一括インクルードなんてしちゃうんでしょ?


321 名前:名前は開発中のものです。 mailto:sage [2009/04/13(月) 13:17:25 ID:ml16oMx+]
名前空間って知ってるか?

322 名前:名前は開発中のものです。 mailto:sage [2009/04/13(月) 13:18:02 ID:oo7V00gn]
はいはい、してねーよカス

323 名前:名前は開発中のものです。 mailto:sage [2009/04/13(月) 13:32:50 ID:SRe2zDAR]
>>319
同意。ちょっと低いと思う。
分割インクルードによるアクセス制限なんて、誰でもやってることでしょ。何をいまさら。

未だ並列君や高専君の方が議論は面白かったぞ。

324 名前:名前は開発中のものです。 mailto:sage [2009/04/13(月) 15:24:05 ID:7048f93j]
>>323
突っ込み所が違う気ガス
分割インクルードをアクセス制限だなんて言い出すのはマズいよ



325 名前:名前は開発中のものです。 mailto:sage [2009/04/13(月) 17:02:17 ID:SRe2zDAR]
>>323
まぁね。分割インクルードの一番の目的は単体テストができるように癒着を無くす事だもんね。
ヘッダ分割することでアクセス制限を掛ける効果もあるが、あまりに当たり前すぎる事を>>303がさも自分流だと語りだしたのでびっくりしたんさ。


326 名前:名前は開発中のものです。 [2009/04/13(月) 20:04:51 ID:kqYtrvhC]
それならそれがとても大事なことだってのはわかるよね?
このルールを破ってはいけないんだ
windows.hを作った人はボケだったけどまねしちゃ駄目なんだ
必要なところで必要なものだけ呼ぶんだ

327 名前:名前は開発中のものです。 [2009/04/13(月) 20:15:21 ID:kqYtrvhC]
まあ、あんまりないとは思うけど
必要なものが呼べてないソースも駄目だぞ
さらにこれから必要かもしれない希望的観測も駄目だ
キッチリ必要なもののみな

言うのは楽だけどできるかい?

328 名前:名前は開発中のものです。 mailto:sage [2009/04/13(月) 20:26:29 ID:JkeYci9k]
>>319をもう一回読もうか

329 名前:名前は開発中のものです。 [2009/04/13(月) 21:22:47 ID:BT19AMT2]
引数がどうの言ってるキチガイと
HSPしか使えないゲームも作ったことないド素人は
どっか行ってくんねえかな

330 名前:名前は開発中のものです。 mailto:sage [2009/04/13(月) 21:33:38 ID:JXX1juts]
>>328
いや、お前は知ってるだけ
理解してるとは天と地の差がある
だからタスクシステムなんて使うんだ

331 名前:名前は開発中のものです。 mailto:sage [2009/04/13(月) 21:48:38 ID:oo7V00gn]
タスクシステムとどういう関係があるんだ?

332 名前:名前は開発中のものです。 mailto:sage [2009/04/13(月) 21:56:36 ID:ZjFryAkH]
>>330
どこかのサンプルでタスクシステムって紹介されてるものを、
グローバル変数、一括インクルードなしに改良してみろよ。
できるから。

333 名前:名前は開発中のものです。 mailto:sage [2009/04/13(月) 22:00:08 ID:oo7V00gn]
>>330
がんばれよ

334 名前:名前は開発中のものです。 mailto:sage [2009/04/13(月) 22:07:18 ID:SRe2zDAR]
ID:JXX1jutsは凄いのぅ。きめつけで知ってるだけとかどんだけ上からなんだよ。
PG歴と過去にどんな環境でのPGを経験しているのか是非知りたいぜ。
で、このスレの住人スキルレベルをどう想定しているのかを挙げてもらってから、また>>319を読んでくれ。



335 名前:名前は開発中のものです。 mailto:sage [2009/04/13(月) 22:18:46 ID:JXX1juts]
じゃあ、みんな引数はちゃんと使うしグローバル変数も
一括インクルードも無しで組めてるんだね?

シングルトンとか意味不明なこと言い出すのもダメだぞ

336 名前:名前は開発中のものです。 [2009/04/13(月) 22:35:00 ID:Q6R94BGZ]
C言語前提だけど、グローバル変数はまったくなくても大丈夫だな。

モジュール内で共通して使用するステータスはstaticで作り、
ヘッダには記載しないことによりカプセル化する。

一括インクルードはアプリケーション向けには作ると便利。
テストは個別にテストできるようにモジュール毎に分けておく。

337 名前:名前は開発中のものです。 [2009/04/13(月) 22:37:14 ID:Q6R94BGZ]
追記
どこのモジュールからも参照できるグローバル変数は作らないという観点で書きました。

338 名前:名前は開発中のものです。 mailto:sage [2009/04/13(月) 22:41:33 ID:GUql8Y/z]
引数をちゃんと使うってのがどんなのかわからんな
全ての関数はリエントラントじゃなきゃ駄目とかか?

339 名前:名前は開発中のものです。 mailto:sage [2009/04/13(月) 22:46:11 ID:JXX1juts]
>>338
何?リエ・・・?
あんまり横に長い言葉使うと俺に伝わらないぞ

340 名前:名前は開発中のものです。 mailto:sage [2009/04/13(月) 22:46:47 ID:8k8BQB+C]
>335
自分が出来ていないことを、それとなく出来ているのかどうか周りに確認してる小心者乙www

341 名前:名前は開発中のものです。 mailto:sage [2009/04/13(月) 22:50:41 ID:JXX1juts]
>>340
お前みたいにやりもしないではじめから舐めてかかってる奴に限って
早々に妥協して一生理解することないんだよねw

342 名前:名前は開発中のものです。 mailto:sage [2009/04/13(月) 22:55:12 ID:8k8BQB+C]
>341
『オレさまスゲー』とか思っちゃってるんですねwww

ハイハイw、ID:JXX1jutsサマはすごい才能の持ち主で努力家でもありますデスよwww

343 名前:名前は開発中のものです。 mailto:sage [2009/04/13(月) 23:17:49 ID:ml16oMx+]
ID:JXX1juts 議論は出尽くしたな。
ハイ次の方どぞー。

344 名前:名前は開発中のものです。 mailto:sage [2009/04/13(月) 23:24:55 ID:SoFywSmj]
HSP使いは厨房っぽかったけど、こんどの引数君は
おっさんの中に小学生がまじってる、みたいな格差を感じる…



345 名前:名前は開発中のものです。 mailto:sage [2009/04/13(月) 23:28:22 ID:JXX1juts]
技術的なことなにも答えないで煽りだけして終わり?
っていうか俺のいうことくだらないと思ってるとマジで伸びないぞ
引数も使いこなせない奴にオブジェクト指向触らせるなと言いたい
意味ないからホント自分の組んでるものが意味あるのか?
無いのか判断つかない状態でプログラム組んでる奴マジで多いだろ?

346 名前:名前は開発中のものです。 mailto:sage [2009/04/13(月) 23:40:24 ID:GUql8Y/z]
>>345
じゃあ横に長いとか言ってないで答えてくれ
つかシングルトンと長さ変わらないし。カタカナでも一文字差だし

347 名前:名前は開発中のものです。 mailto:sage [2009/04/13(月) 23:45:51 ID:SoFywSmj]
あまりにレベル格差があるから小学生かと思ったけど
もしかしたらBASICが行番号使ってたころの時代錯誤のロートルかな?

まぁ20年ぐらい昔はBASICとかFORTRANからCに移行したプログラマで
引数使わずにグローバル変数使ってるのが居るって噂を聞いたことがあるが…

いまどきそんな化石プログラマ探しても見つからんよ。

348 名前:名前は開発中のものです。 mailto:sage [2009/04/13(月) 23:53:17 ID:SRe2zDAR]
俺も昔Cしか使えないコンシューマでOOPもどきで書いたなぁ。あれは正直時間の無駄だ。
C++使えば継承・派生・仮想関数使えるから、コードの記述量が3倍ぐらいに膨れ上がる


349 名前:名前は開発中のものです。 mailto:sage [2009/04/13(月) 23:54:21 ID:JXX1juts]
>>348
はい、嘘
書き比べたことないだろ?

350 名前:名前は開発中のものです。 mailto:sage [2009/04/13(月) 23:54:32 ID:SRe2zDAR]
あ、書き途中でゴメン。
C++使えば継承・派生・仮想関数使えるのに、それでもカプセル化にこだわってCのみで書こうとしたら
コードの記述量が3倍ぐらいに膨れ上がったわ。
初心者にはオススメできないぜ。

351 名前:名前は開発中のものです。 mailto:sage [2009/04/13(月) 23:58:40 ID:SRe2zDAR]
そうだね。書き比べたことはない。そんな無駄な手間はしない。
コード量は3倍にもならないかも知れないが、2倍にはなってたと思うぞ。
ただ、体感で保守量が3倍以上にはなってた。同じコードは2度書くなとはよく言ったものな〜。
あれは地獄だった。

352 名前:名前は開発中のものです。 mailto:sage [2009/04/13(月) 23:59:45 ID:8k8BQB+C]
>345
> っていうか俺のいうことくだらないと思ってるとマジで伸びないぞ

当たり前のことをさも自分が発見したように語られてもなぁ…www

353 名前:名前は開発中のものです。 mailto:sage [2009/04/14(火) 00:02:46 ID:S7vD9cWE]
CでOOPもどきのソース見たときあるが、関数名が長かったな。


354 名前:名前は開発中のものです。 mailto:sage [2009/04/14(火) 00:10:09 ID:EDBoOJMk]
>>351
アレアレ?
数字が変わってきちゃったよ?w
実際やってみりゃわかるがほとんど差はでない
っていうか全く差がでない



355 名前:名前は開発中のものです。 mailto:sage [2009/04/14(火) 00:13:01 ID:3FXKgyjE]
>それでもカプセル化にこだわってCのみで書こうとしたら
と書いてるんだが・・・。
この意図が読めてないん?

356 名前:名前は開発中のものです。 mailto:sage [2009/04/14(火) 00:42:01 ID:Xd02NGTo]
もう何でもいいから、軽くその引数とカプセル化使った
弾幕かなんかのソース出したら話が早いじゃん。

ソース見たら一発だろ。こいつがなに言いたいのかさっぱり分からんし。

357 名前:名前は開発中のものです。 mailto:sage [2009/04/14(火) 00:46:32 ID:Xd02NGTo]
上のは >>345 へのレスね。

358 名前:名前は開発中のものです。 mailto:sage [2009/04/14(火) 00:47:45 ID:S7vD9cWE]
Cでカプセル化するとこんな感じか?

// h
struct player_t;
extern void player_construct(struct player_t*);
extern void player_set_x(struct player_t*,int);
extern void player_set_y(struct player_t*,int);
extern int player_get_x(struct player_t*);
extern int player_get_y(struct player_t*);
extern void player_move(struct player_t*);

359 名前:名前は開発中のものです。 mailto:sage [2009/04/14(火) 00:48:50 ID:S7vD9cWE]
// c
struct player_t
{
void (*move)(player_t*);
int x;
int y;
};
void player_construct(struct player_t* player)
{
player->move = &player_move00;
}
void player_set_x(player_t* player,int x)
{
player->x = x;
}
void player_set_y(player_t* player,int y)
{
player->y = y;
}
int player_get_x(player_t* player)
{
return player->x;
}
int player_get_y(player_t* player)
{
return player->y;
}
void player_move(player_t* player)
{
(*player->move)(player);
}

360 名前:名前は開発中のものです。 mailto:sage [2009/04/14(火) 01:17:30 ID:X5T3ILnL]
>>358
例ならこれでいいんじゃね。使ったことないけど。
ttp://www.sage-p.com/process/cool.htm
他にはDirectXでおなじみのCOM。

361 名前:名前は開発中のものです。 mailto:sage [2009/04/14(火) 03:21:18 ID:2Zsr/zIR]
>>354
おいカス。お前がCで
C++と同様の効率が良い仕組みのポリモフィズムを書いてみて
差が出るのを実感しろバカが。

362 名前:309 mailto:sage [2009/04/14(火) 05:42:07 ID:H+OqGA0n]
>>310
一括インクルードとアクセス制限がどう関係するんだ?
必要かどうかを判断してインクルードするのは、そのヘッダ(のクラスや関数)を使う側なんだから、
インクルードするヘッダによってアクセスを制限するのは無理がある。
一々使用者のソースを確認して「このヘッダはインクルードしないでください」と言って回るのか?

アクセスされたら困る関数や変数は最初から公開しない。それだけの話だろ。
一括インクルードを避けることと、アクセス制限とでは、話のレイヤが違うと思うが。

一応確認しておくけど、もともと非公開のプライベートヘッダを取り込むような
マスターヘッダを想定してるわけじゃないよな?

363 名前:名前は開発中のものです。 mailto:sage [2009/04/14(火) 07:07:31 ID:EDBoOJMk]
>>362
頭悪いなお前

364 名前:名前は開発中のものです。 mailto:sage [2009/04/14(火) 07:22:56 ID:qdpCjwYR]
>362
なんでそんな、一括インクルードしてナンデモカンデモやろうとするようなコードを書くのかね?



365 名前:名前は開発中のものです。 [2009/04/14(火) 07:26:47 ID:0xCIIVMv]
ドキュメントも読んだこと無さそうだよね
使うクラスや関数のヘルプに必要なヘッダ書いてあるだろ

366 名前:名前は開発中のものです。 [2009/04/14(火) 07:35:20 ID:0xCIIVMv]
>>361
差なんかでないっていってんだろクソが
そんなもんいくら使ったって実装しなきゃいけない機能は変わらないんだよ
余計なコード増やしてんじゃねぇよ






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<312KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef