技術書で技術を身につける奴と技術書に呑まれる奴 [転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
1仕様書無しさん
垢版 |
2015/04/28(火) 07:38:34.94
最近思う
全く勉強しない奴は害だが
技術書で学んだことは、全て正しく実践すべきことのように時と場合も考えず周囲に強制するバカはもっと害

この手のバカは自分は有能、他者は無能と思い込んでいるから質が悪い
2015/05/05(火) 08:46:53.91
本当にメモリを意識させたいならC言語で教育すればいいだろ。
177仕様書無しさん
垢版 |
2015/05/05(火) 11:07:39.59
>>175そのNULLの突っ込み等々だろ?
処理上のどのタイミングで破棄するか記述しろってこった。
2015/05/05(火) 11:22:08.06
それはGCに頼らない事にならないが。
2015/05/05(火) 11:28:14.74
プログラマの意思を示すことが大事だという話なのに、
GCがいつ動くとかの話になんの意味があるの?
2015/05/05(火) 11:31:44.53
GCが勝手に走って処理が一瞬止まる心配してるんじゃないの?
2015/05/05(火) 11:33:39.83
メモリ食いつぶす心配してるなら
そりゃGC云々の話じゃないと思うんだけどな。
2015/05/05(火) 11:46:11.82
管理したいリソース、管理する必要がないリソース。
この二つがあるよ。

メモリは多くの場合、管理する必要がないリソース。
なぜなら、メモリは必要な量を必要なタイミングで
得られれば十分だから。

それに対して、ファイルなどは、誰かが解放していないと
ロックされたなどで他の人が取得できないことがある。

GCは管理する必要がないものを管理しなくて良くしたことに
大きなメリットがある。
2015/05/05(火) 12:19:25.75
>>180
それを言うならGCのあるシステムを使うこと自体が間違い

>>181
たぶんそんな話は誰もしてないんじゃないかな

>>182
短寿命なプロセスならそうだろうが、長寿命なプロセスのことを考えたことある?
2015/05/05(火) 12:20:31.11
>>182
長寿命なプロセスであれば、メモリが必要なくなってから
少し時間が相手から解放されても問題ない。
2015/05/05(火) 12:23:01.56
結局GC云々じゃなくてメモリ意識しましょうて事じゃないの?
2015/05/05(火) 12:38:34.20
要するに下手な設計をGCのせいにしてるだけだろ。
自分のバグをすぐOSやコンパイラのせいにする奴と同じタイプ。
2015/05/05(火) 12:40:24.19
>>184
日本語で
2015/05/05(火) 12:49:53.26
>>187
じゃあ言い方を変えるよ。

長寿命なプロセスでも問題ない。
なぜ問題あると言い出したのか
その理由を先に書いてくれ
2015/05/05(火) 12:51:33.80
1人ないし2人読み取り専用おじさんがいるからいつまでも平行線の話が続くというこの流れ
2015/05/05(火) 12:53:50.51
C言語でもC++でもそうだけど、メモリは10バイト必要な時に
10バイト確保して、10バイト必要なくなった時に10バイト
解放されるわけじゃない。

そんなことをしたらパフォーマンスが落ちてしまう。
だからある一定の塊ごとに確保されたり解放されたりする。

解放の話に絞ると、10バイト解放してもすぐにはメモリは解放されない。
それはGCの動きと変わらない。
2015/05/05(火) 15:51:28.39
GC否定するなら
JAVAとかドットネットの言語を作った頭のいいエンジニアを
説き伏せられる論理武装してんだろうな
2015/05/05(火) 16:04:47.10
してたら、2ちゃんねる相手に戦わない。
193仕様書無しさん
垢版 |
2015/05/05(火) 17:28:32.10
メモリ管理をしなくてよい。
でもメモリ管理のGC用資料があるのはなぜに?しかも余計複雑になって。
2015/05/05(火) 17:47:01.84
GCって共産主義みたいなものだよな。
本物の神様が計画経済回すなら共産主義経済はばら色の社会だよ。

でも神様はいないんだ。
2015/05/05(火) 17:50:04.21
>>188
君の理論はたぶんこうだ。

「俺が困ってないから問題ない」

単に想像力が欠如してるだけなのに。
2015/05/05(火) 17:55:47.37
相乗力欠如している。問題がある。
その問題を想像しろ。
俺からはどこが問題あるか言わない
想像しろ。きっと問題はあるはずだ。

裁判でも使える高等テクニック
2015/05/05(火) 18:06:08.81
>>196
問題がないと言い張るなら、こうだから問題ない、
って言えばいいのにね。
2015/05/05(火) 18:13:36.67
ないものは証明できないのでは?
悪魔の証明。

問題があるところを言うことにしよう。

じゃあ今からどこが問題があるか言うぞ。
2015/05/05(火) 18:15:20.34
2ちゃんねるんってなんだかんだで屁理屈通用しないよねw
お決まりのパターンはお決まりのパターンで論破される。
2015/05/05(火) 18:21:54.63
あー、すまん。ちょっと出なけれなくてはいけなくなったので、
問題があると思っている人に任せることにするよ。
あとはよろしく。
俺の代わりに、どこが問題か、びしっと指摘しておいてくれ。
2015/05/05(火) 19:09:00.37
>>199
どいつもこいつも例が弱い
今のところ戯言だよ
2015/05/05(火) 23:42:58.58
>>200
帰ってくるまで待ってるよ
2015/05/05(火) 23:58:12.45
俺が書くとなぜかGCがまともに働かない気がする
2015/05/06(水) 01:04:47.67
>>182
ファイルは異なるプロセス間で同時に使用したいこともあるが、プロセス毎に割り振られるアドレス空間のヒープ領域の
とあるアドレス0x6021a3なんかは異なるプロセス間で共有するようなことはあんまりないから、後者にはGCは有効だよ

>>183
短寿命なプロセスならそうだろうが、長寿命なプロセスのことを考えたことある?

メモリ不足なんかは>>182の主張とは別の問題だし、俺には>>183の言い分がいまいちわからん
205仕様書無しさん
垢版 |
2015/05/06(水) 02:06:42.70
プロセス跨いで管理しないといけないリソースはそんなにないが、
異なるスレッド間で管理しないといけないリソースは結構ある。
2015/05/06(水) 02:21:22.25
GCで一番よく起きたであろう問題がjavaというかjavaに限らずだけど、
webアプリでの循環参照によるリソースの食いつぶしだろ。
それまでのアプリだと循環参照でリソースを食いつぶすほど長い間
生存するものは稀で問題にならなかったが、webアプリの台頭で
顕在化した問題。

GCが想定していたのは主にCでポインタの参照が意図せず切れて
リークすることを想定して、それを回避するのが目的だったわけで。
参照が外れないことが問題になるとはつゆほども考えずに今でも
null入れて人力で頑張ってねに近い管理の仕方しかできていない。
再起動で強引にリソース開放して何とかしてるっていうところも
少なくないでしょう。

GCとは関係ないけど結局のところリソースの確保と開放には
コストがかかるから可能な限りnull入れるくらいの手しかないと
してもサボらずやりましょうってのが今の流れだと思うけどね。
ただこういうのは早いうちに叩きこまれていないと中々実践
出来るものでは無いから苦労するんだけどね、周りが。
2015/05/06(水) 07:40:27.61
マークアンドスイープ方式なら循環参照は起きない。
2015/05/06(水) 07:45:21.49
旧vbではnullを設定する習慣があったが
参照カウンタを消し込むためのバッドノウハウだった。

最近の言語でいちいちnull設定してたら笑われる。
209仕様書無しさん
垢版 |
2015/05/06(水) 08:09:01.16
>>206
そこだね
nullつっこんで、ここでおしまい
ときちんとやる
参照が途切れた途切れない
んな考え方で最初に教えるな
GCはあくまでも最終補助手段
2015/05/06(水) 08:17:44.61
いちいちnull設定してる奴って、意味のない初期化もセットで必ずやってるよな。
なんなのあれ?
そして、なぜかそういう奴が書いたコードはバグが多い。
2015/05/06(水) 08:30:04.91
>>209
ネタで言ってるんだろ?
だんだん判ってきたぞ
2015/05/06(水) 09:51:28.39
newがあるのにdeleteがないのは気持ち悪い。
213仕様書無しさん
垢版 |
2015/05/06(水) 10:40:47.02
deleteがないのは納得いかんよな。
そのインスタンスを保持してる変数をnullにできるのに。

というか、nullの挙動を変えて欲しい。

メソッドとか実行時、何も処理しないし、何も返さないけど、すべてのクラスにキャストできるバーチャルな存在であって欲しい。
参照されたら警告でも出しておけばいいじゃん。
2015/05/06(水) 12:23:45.35
>>208
旧VBも今のVBも

Nothing

じゃなかったかな、知らんけどヌルじゃなかった気がする
2015/05/06(水) 12:57:40.15
>>208
> 旧vbではnullを設定する習慣があったが
> 参照カウンタを消し込むためのバッドノウハウだった。

あれはバッドノウハウでも何でもない。
無理解が引き起こしたもの。

一つは、Nothingを代入する必要がない所でもやっているだけ
(他の言語で必要のないnullを代入するのと一緒)

もう一つは、本当にNothingが必要な所でNothingを代入している。
(他の言語でもそうだが循環参照やグローバル変数へのnullなど必要な場合はある)

無理解でなんでもかんでもNothingを代入していただけ。
そこにバッドなノウハウはなにもないよ。
2015/05/06(水) 13:03:10.10
http://oshiete.goo.ne.jp/qa/3364444.html
2015/05/06(水) 13:50:12.33
>>216
>(VB6等では直ってます)

この一言だけでよくね?
2015/05/06(水) 13:55:05.81
経緯を知らん人間が居るだろ。
2015/05/06(水) 14:21:22.02
>>204
この人はメモリの細分化で困ったこととかないんだろうなぁ。
それはそれで幸せな人生だろうけどなー。
2015/05/06(水) 14:23:58.17
>>210
>いちいちnull設定してる奴って、意味のない初期化もセットで必ずやってるよな。

こういう奴がY2K問題を引き起こすんだよなぁ...
2015/05/06(水) 14:39:09.93
>>220
どっちにしろ意味判んないでやってる奴は駄目だよ。
222仕様書無しさん
垢版 |
2015/05/06(水) 15:05:54.92
>>210
意味の無いNULL設定なのか、意味のあるNULL設定なのかによって首肯しかねる
でも、きちんと初期化と解放を入れている人のほうが綺麗なソース書いてるケースが多い

たぶん、そういう人は、育ちがCなんだろうと思うけど
2015/05/06(水) 18:31:11.05
最後まで自分で面倒見られるソースなら適宜初期化は省略するけど、
後で誰がいじるかとか考えると(一部切り出されたりするし)、
全部初期化しておく、というのは正しいあり方だよ。
2015/05/06(水) 18:43:35.30
初期化というのが何なのかわからんのだけど?

意味が無いのにやっている初期化って
どんなの?
2015/05/06(水) 19:33:08.08
>>224
こんなの
int i;
i = 0;
i = 3 * 5;
馬鹿じゃね?
2015/05/06(水) 19:35:21.85
>>225
それなら
int i = 3 * 5;
って書く方がいいですね。

後で誰かがいじる時を考えて、
頭に?が浮かぶようなコードは書きません。
2015/05/06(水) 19:57:05.18
>>226
> i = 0;

> i = 3 * 5;
がつながってるわけないだろ。

本当に想像力のない馬鹿ばかりだな。
本当に仕事してるのか?こんな奴らが作ったシステムは怖くて使えんぞ。
2015/05/06(水) 20:00:44.43
>>227
i = 0;

i = 3 * 5;
の間に1000行あったとしても無駄な事に変わりはないんだけど。
229仕様書無しさん
垢版 |
2015/05/06(水) 20:09:55.34
変数宣言は必要になるまでやらないのが鉄則。
2015/05/06(水) 20:10:47.04
>>228
なんかもう馬鹿と話すのいやになってきた。
2015/05/06(水) 20:14:13.92
>>229
昔のCはそうは行かなかったけどなー
途中で変数が必要になるんなら関数分けれって話だが。
2015/05/06(水) 20:29:19.62
>>230
説明しなくていいよ。

みんなわかってるから。
君に問題があるということは。
2015/05/06(水) 20:29:58.87
意味が無いことをやるのってなんなんだろうね。
何も考えてないのかも。
2015/05/06(水) 20:34:16.27
>>231
昔は単純にコンパイラを作る都合上そうした方が都合が良かったから
そうなっていただけで、人間が使う場合はファイルの先頭まで戻らないと
型が分からないより、使うところの近くで宣言している方が見やすいという
合理的理由もあるんだけどね。 C以外だとオブジェクトのインスタンスを
作るのをなるべく遅らせるという意味もある。EffectiveC++にもきちんと
理由は書かれているけどね。 まあ、改版されているとはいえ20年前に
出た本からそれほど進歩はしてないな。
235仕様書無しさん
垢版 |
2015/05/06(水) 21:28:38.62
>>227
おれもそう思うわ。
というより、
i=0とi=3*5を書いた奴が同じ人物とも限らないし、
iはほかでも使っていてi=0が後から入ってきた可能性もみえてくる。
ある条件のときに、初期化されていないiを参照しにいっている処理があって、
バグが出ていて、それを特定するときにi=0を入れてやって、その後消し忘れたとか。

まぁ別にint i = 0;としてても俺はなんとも思わないけどね。
几帳面で、律儀なお人wwwとしか思わない。
もちろん、そこが何度も呼び出されるところであれば、バカにできないロスだから
やめさせるけど。
236仕様書無しさん
垢版 |
2015/05/06(水) 21:33:39.23
てかさ始まりじゃなく終わり部分の話じゃないの?
nullだnothingだの設定とかって・・・。
2015/05/06(水) 21:50:51.39
>>2235
変数はスコープ内で局所化するのが良いコーディングなのよ。
C言語の場合は関数でしかスコープを切れないから
関数の先頭で宣言する習慣なんだ。
それを他言語に持ち込んで、C言語はこうだったからって
思考停止だよねえ。

あげく同じ変数を使い回すとか、よく言えたもんだ。
恥かしくないの。
2015/05/06(水) 22:09:52.28
>>236
始まりの無意味な初期化も、終わりの無意味な初期化(?)も根は同じだぞ。
問題の根源は、無駄に長いスコープの変数を使う事にある。
普通は変数のスコープを短くすればいいんじゃね?で済む話なんだけど
何故かこういう無意味なコードを書いて、混乱や問題を引き起こす人がいるんだよ。
2015/05/06(水) 22:14:12.75
>>238
根は思考停止だ。
自分がやってることを説明出来ないPGばっか。
240仕様書無しさん
垢版 |
2015/05/06(水) 22:15:31.60
>>235
それはまったく別の話
それはそれで問題としてあるけど
2015/05/06(水) 22:37:29.33
使う前にきれいにしろ
使い終わったら掃除しろ

日本人だったら子供のころからしつけられてるはずなんだがなあ
2015/05/06(水) 22:46:52.17
言語によっては変数の初期値が定められているが。
掃除のやり方もしらないで、やったつもりになってるんじゃないの。
2015/05/06(水) 22:47:49.05
>>241
きっと綺麗にしてるつもりなんだと思うよ。
ただ、子供と同じで使ったオモチャを箱にしまうけど、そのオモチャ箱を片付ける所まで頭が回ってない。
結果、オモチャ箱があちこちに散らばってるっていうw
2015/05/06(水) 23:03:54.18
>>243
無駄な初期化だなんだといってる人たちって
「だって掃除のおばちゃんがやるんでしょー」
みたいなこと言ってるじゃない。

現実はそうなんだけどw日本人としてそれはどうよと。
2015/05/06(水) 23:14:52.63
>>244
多分お前も世界に誇れる日本人じゃないよ
クズよりマシって程度でしょ?
2015/05/06(水) 23:17:26.06
>>244
精神論でプログラミングしてるのかw
根性でプログラムが動いたらいいなw
2015/05/06(水) 23:32:33.29
掃除のおはちゃん「あ、それアタシがやっときますからいいですよ〜」
俺「いや、アンタは信用出来んから自分でやる」

俺すげー嫌なやつじゃんw
2015/05/06(水) 23:46:00.28
>>247
意味もなく初期化したりnull設定する理由がこれです。
2015/05/07(木) 00:03:01.36
>>247
日本人のおばちゃんだったらそうだけどなあ...
2015/05/07(木) 00:04:45.63
>>246
根性じゃないよ。
他人への気遣いだよ。
2015/05/07(木) 00:05:55.60
おばちゃんみたいに気を利かせてくれるならともかく、コンピューターは
書いてあることしか出来ないからなあ。 信用できるのは書いてあることは
必ず実行してくれるってことだけだろ。
2015/05/07(木) 00:08:45.81
信用出来ない理由は、システムに対する自分の不勉強だろ?
挙動がよく判らないから手当たり次第にやっとけ、ってw
2015/05/07(木) 00:21:10.09
俺冷静さ失っていくつかレス間違ってるわ。すまん。>>247
2015/05/07(木) 00:56:50.40
>>252
他人への気遣いだと、何回言えばわかるんだ?

どなたか日本人はいらっしゃいませんか〜
2015/05/07(木) 01:05:41.38
>>252
勉強すれば全てが理解できると思い込めるなんて羨ましい脳みそだ。
2015/05/07(木) 01:09:51.80
>>255
仕事したことがないんだろうね。
もしかしたら中2くらいかもしれない。
257仕様書無しさん
垢版 |
2015/05/07(木) 18:17:27.37
職業プログラマなんだから一緒に仕事するだろうメンバの力量に合わせたコード書けばいいだけだろ
一緒にやるメンバーの力量にケチつけて納期に間に合わないと言う奴は自分の能力の低さをアピールしてるだけ
高い能力のメンバーとやりたいなら技術力を売りにしてるスタートアップにでも行けばいい
ってか普通の会社なら高い能力が必要なプロジェクトなら選抜メンバーが選ばれるでしょ
選ばれないならお察しだしね・・・
2015/05/07(木) 19:38:27.66
俺からするとここのスレの奴らどいつもこいつも雑魚
2015/05/07(木) 21:00:18.25
>>257
芸能人なんかでもよくあるじゃない、バーターって奴
あんな感じでエースを引っ張ってくると、ゴミも数匹ついてくるんだよ
2015/05/07(木) 21:38:23.97
>>259
お前もゴミ寄りっしょ
2015/05/07(木) 21:44:30.35
>>258
センパイチィっす!
262仕様書無しさん
垢版 |
2015/05/07(木) 21:52:16.93
実社会にどれだけ影響を与えたか
でプログラマの価値は決まる
2015/05/07(木) 22:04:38.12
実社会にどれだけ損害を与えたかにみえた
264仕様書無しさん
垢版 |
2015/05/07(木) 22:09:53.73
おれの書いたプログラムが元でサーバが同時多発停止して、
翌日のニュースになったことあるよ。
2015/05/07(木) 23:43:50.40
>>264
担当の機能が知的財産的に問題になりそうだからリリース前までに法務部に確認しろよって言ったのにそのままリリースされてニュース沙汰になったことはある
2015/05/08(金) 01:07:11.03
>>262
おいおい、そんな本質的な事言っちゃうとここの雑魚共が黙っちゃうだろ
2015/05/08(金) 03:06:15.31
実社会に影響与えるプログラマなんて居ないよ。
社会的インパクトは何を作るか考える企画の段階で決定付けられるからな。

企画もプログラミングもやるなら、プログラマーっていうよりクリエイター
って言った方がしっくりくるかもな。
2015/05/08(金) 05:51:47.64
意味もなくnull入れたり初期化する人って
ほぼ例外なくC、C++を長年やってる(やってた)人なんだよねぇ
「とりあえず言語仕様が分からんから、念の為初期化しておこう
ああ、安心・安心」
2015/05/08(金) 06:28:17.49
社内のコーディング規約で無理矢理やらされてたとかもあると思うぞ
2015/05/08(金) 06:42:22.95
初期値入っているとデバッグがしやすい
271仕様書無しさん
垢版 |
2015/05/08(金) 06:45:35.15
>>264
でもさ
実際、いっぱい損害を与えた奴はいるよなw
272仕様書無しさん
垢版 |
2015/05/08(金) 06:48:44.65
保守性や拡張性、可読性うんぬんかんぬん言っても、
前にスレあったけど
そもそもユーザーのほしいもの作れてないんだから、これほど無意味な部分でしか語れないプログラマって愚かだよね

最優先はユーザーのほしいものを作ることでしょ
2015/05/08(金) 06:49:35.01
>>272
全く関係ない話だよね
274仕様書無しさん
垢版 |
2015/05/08(金) 07:35:10.70
使う人、システムを買う人にメリットがあるかどうか?
が、関係ないと思っちゃう時点で目的と手段が完全に逆転してる。
2015/05/08(金) 07:45:27.23
買い手の意識も逆転させれば俺等の勝ちだろ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況