X



【悲報】プログラミングの大先生、嫌儲で激論レスバ どっちの勝ち? [364799964]

■ このスレッドは過去ログ倉庫に格納されています
0001番組の途中ですがアフィサイトへの転載は禁止です (中止W d3af-ErrA)
垢版 |
2023/02/14(火) 15:30:39.39ID:dQXFoc8g0St.V●?2BP(1000)

https://imgur.com/

55 番組の途中ですがアフィサイトへの転載は禁止です (中止 0a56-D0vN) 2023/02/14(火) 14:33:50.22 ID:kq23qcgY0St.V
>>1
プログラム関連においてエラーが出て意味不明に思う場合
それは断じて英語が読めないからではない

プログラムの技術に関するスキルが足りてないからだ
例えばヒープとスタックに関する技術を知らん人が
スタックエラーを翻訳して読んだところで何が理解できるというのか?

この回答者も返事が間違っていて
英語を読めるように努力するのではなく
メモリやアドレスに関するIT技術を高めることがエラー対処になると言わなくちゃいけない
恐らくこの回答者の実力も大したことないと思うわ

60 番組の途中ですがアフィサイトへの転載は禁止です (中止W 078f-eAyv) 2023/02/14(火) 14:35:08.83 ID:YcwzkYpW0St.V
>>55
何のエラーか一切書かれてないのに良くそこまで妄想できるな
病気だろ

70 番組の途中ですがアフィサイトへの転載は禁止です (中止 0a56-D0vN) 2023/02/14(火) 14:36:21.03 ID:kq23qcgY0St.V
>>60
エラーというのはメモリに関するものが基本だろ
おまえもプログラムなんて組んでないな
ちょっとした言葉で実力なんてバレちゃうんだよ

80 番組の途中ですがアフィサイトへの転載は禁止です (中止 Sd4a-XiwN) sage 2023/02/14(火) 14:37:45.23 ID:PwdsPRWrdSt.V BE:821322453-2BP(1000)
>>70
質問者と同じレベルだよ君は

87 番組の途中ですがアフィサイトへの転載は禁止です (中止 0a56-D0vN) 2023/02/14(火) 14:38:50.72 ID:kq23qcgY0St.V
>>80
NULLにしたってアドレス参照不能から来てる
スタックもヒープも・・・とにかく
お前らなんぞがプログラミングを語るな

102 番組の途中ですがアフィサイトへの転載は禁止です (中止W 078f-eAyv) 2023/02/14(火) 14:41:18.21 ID:YcwzkYpW0St.V
>>87
スタックオーバーフローなんてCでもめったにあり得ないが頭大丈夫?
8ビットマイコンでもいじってんの?
まあ8ビットマイコンでもそんなエラーは出ないがな
Cにはスタックオーバーフローを予測する機能がないから

108 番組の途中ですがアフィサイトへの転載は禁止です (中止 0a56-D0vN) 2023/02/14(火) 14:42:32.86 ID:kq23qcgY0St.V
>>102
例えば多重に継承してるのを禁止した言語である場合
エラーは何をもって判断してると思う?

116 番組の途中ですがアフィサイトへの転載は禁止です (中止W 078f-eAyv) 2023/02/14(火) 14:44:21.39 ID:YcwzkYpW0St.V
>>108
javaのことを言ってるのかな
インタープリタ言語ごときでメモリのエラーがーとか臍で茶が湧く

127 番組の途中ですがアフィサイトへの転載は禁止です (中止 0a56-D0vN) 2023/02/14(火) 14:45:48.97 ID:kq23qcgY0St.V
>>116
ヒープに対するアドレスが重複してたらエラーを出すんだよ
メモリ以外の何物なのか、それ
0261番組の途中ですがアフィサイトへの転載は禁止です (ワントンキン MMfa-lY+j)
垢版 |
2023/02/15(水) 16:26:36.47ID:UmQuItMDM
>>257
C++もRustも複数参照の方も対応しているよ
C++ではshared_ptrそしてRustではRcを使って複数参照のメモリ自動解放も可能
これらのみがリファレンスカウンタを利用します

>>259
いいえ違います
C++のunique_ptrもRustの通常もリファレンスカウンタは使いません
0262番組の途中ですがアフィサイトへの転載は禁止です (ワッチョイW f386-/42J)
垢版 |
2023/02/15(水) 16:28:42.55ID:nra79zCo0
結局この人は、相手の力量もわからずに周りくどい説明ばかり垂れ流して、それを情報科学ほ共通概念で説明しても反応しないという事は、情報科学の人ではないな

最初は文章を丸暗記してる人かと思ったけど
今時点の印象は基本教養の不足したC++プログラム関係者という印象
0263番組の途中ですがアフィサイトへの転載は禁止です (ワッチョイW f386-/42J)
垢版 |
2023/02/15(水) 16:32:30.90ID:nra79zCo0
>>261
後半部、キミのアホさ加減がよくわかった
リファレンスカウンター方式で解釈すると
unique_ptrは上限1でコピー不可/譲渡可の
リファレンスカウンターと等価だという極めて単純な話

最初から気になっていたけど
自分の視点だけしか見えていなくて
視点変更が不得意な人だね
なんだかなぁ
0264番組の途中ですがアフィサイトへの転載は禁止です (ワッチョイW f386-/42J)
垢版 |
2023/02/15(水) 16:34:55.34ID:nra79zCo0
でもリファレンスカウンターには反応せず
あとからshared_ptrの話を持ち出してきたあたり
リファレンスカウターという概念を知らない文化圏の人なんだろうけど、それって基礎教養なしの独学の人なのかと気になった

情報科学の共通概念で話が通じないのはしんどいね
0266番組の途中ですがアフィサイトへの転載は禁止です (ワントンキン MMfa-lY+j)
垢版 |
2023/02/15(水) 16:38:31.69ID:UmQuItMDM
>>263
リファレンスカウンタなんて持ち出さなくても説明できる概念だよ
もちろん無理やり上限1のケースと解釈してもいいがそこは主要な原理ではありません
C++のunique_ptrもRustも自動メモリ解放を実現している基本原理はRAIIなのでそこを押さえておきなさい
0270番組の途中ですがアフィサイトへの転載は禁止です (ワントンキン MMfa-lY+j)
垢版 |
2023/02/15(水) 16:45:52.93ID:UmQuItMDM
>>264
リファレンスカウンタなんて使ったら遅いし無駄なのでC++でもRustでも極力使わないようにしてやむを得ない最小限でのみ用います
どちらの言語もC言語と異なりRAIIをサポートとしているため単独参照ならばカウンタを使わずとも使用が終われば自動でヒープ解放できるわけです
0271番組の途中ですがアフィサイトへの転載は禁止です (ワッチョイW f386-/42J)
垢版 |
2023/02/15(水) 16:47:47.45ID:nra79zCo0
>>266
あと「基本原理」という言葉を出した以上は
リファレンス論文は出してね

言語的バックグラウンドがまるで異なる人に
自分のバックグラウンドを
リファレンス無しに押し付けるのは
研究者や教職員ではない、高校生レベルの人だと認識
してるけどね
0272番組の途中ですがアフィサイトへの転載は禁止です (スップ Sdaa-WWoJ)
垢版 |
2023/02/15(水) 16:48:52.04ID:MD8hWkCOd
>>101
相手が知らない単語を多く使った方の勝ち

という争いに変わってる
0276番組の途中ですがアフィサイトへの転載は禁止です (ワッチョイ 3f4e-D0vN)
垢版 |
2023/02/15(水) 16:54:55.63ID:Q3HfJ/UD0
プログラミング初心者でVSCodeの設定につまずいて
実質まだなにもやってないんだけど
『.txtと.mdなど開いたファイルごとにtheme(テーマ)設定を変わるようにしたい』
っていう俺のこの疑問はどうやったら解決するの?

検索しても、あまりにも答えが出ない。
出なさすぎるので、
もしかすると自分は、初心者特有の非常識なアプローチをしてるのではないか?という不安。
0278番組の途中ですがアフィサイトへの転載は禁止です (ワントンキン MMfa-lY+j)
垢版 |
2023/02/15(水) 16:59:11.24ID:UmQuItMDM
>>271
RAIIのリファレンスを出せってマジ言ってるの?
じゃあRAIIも知らずにC++やRustのメモリ自動解放を批評していたわけ?
ちなみにRAIIはメモリだけでなく他のリソース自動解放にも使われている原理だよ 例えばファイルの自動クローズとか
0279番組の途中ですがアフィサイトへの転載は禁止です (ワッチョイW f386-/42J)
垢版 |
2023/02/15(水) 17:05:25.93ID:nra79zCo0
イディオムを原理と言ってしまう幼さに絶望

原論文やリファレンスも出せない
って事は、その用語の定義や初出を調べずに
ただ何となくC++とRustの文脈で原理と呼ぶ人が居るから
それを真似しているだけ

俺さいしょからRustには全く興味ないと断った上で
齟齬のある説明に突っ込んでるんだけど
思い込みの激しいひとは大変だな
0282番組の途中ですがアフィサイトへの転載は禁止です (ワッチョイW f386-/42J)
垢版 |
2023/02/15(水) 17:18:24.31ID:nra79zCo0
まあとりあえず有力そうなリファレンスはこれかな
[B] The boost C++ libraries
B Schäling - 2011 - books.google.com
… RAII stands for Resource Acquisition Is Initialization. The idea behind this idiom: forany resource acquired,an object should be initialized that will own that resource and close itinthe …

この書籍のリファレンスを掘らないとそれ以前の歴史は引っ張り出せない
0284番組の途中ですがアフィサイトへの転載は禁止です (ワントンキン MMfa-lY+j)
垢版 |
2023/02/15(水) 17:19:33.68ID:UmQuItMDM
RAIIを知らなかったということはC++でもメモリ含めたリソース扱ったことないのだろうけど
なぜヒープでのメモリ確保やメモリ自動解放の議論で暴れているのだろう
理解ができないならばガベージコレクションのある言語を使っていてもいいんだよ

この観点からはプログラミング言語は大きく3つに分かれているのだから
(1) ガベージコレクションのある言語はすべて自動で楽だけど遅い
(2) C言語などは手動メモリ解放となりミスると危険だが速い
(3) Rust言語などは自動メモリ解放で安全で楽で速い
ちなみにC++はスマートポインタ必須の時のみ(3)に近い状況
0285番組の途中ですがアフィサイトへの転載は禁止です (ワッチョイW f386-/42J)
垢版 |
2023/02/15(水) 17:23:45.42ID:nra79zCo0
この高校生の人、何が原因でRAIIのリファレンスも出せずに負け犬宣言を繰り返してるの?

Rustには全く興味がないと一番最初に宣言した上で
説明の齟齬や欠落を指摘してやったのに
逆ギレ負け犬宣言して信仰告白コピペ継続とか
まるで英語論文読めない落ちこぼれの嫌儲の人みたい
0287番組の途中ですがアフィサイトへの転載は禁止です (ワッチョイW f386-/42J)
垢版 |
2023/02/15(水) 17:29:38.76ID:nra79zCo0
ちなみに共通点
・喧嘩腰
・説明不足を指摘されても認めず意地を張る
・理解を示してやっても逆ギレ
・原理とイディオムの相違、等価モデルの概念といった
 基本教養に問題がある
・リファレンスを決して出せない
 知っているのが常識だと言い張って
 己の不明を誤魔化す
・定型文連投

結構似てるよね
0288番組の途中ですがアフィサイトへの転載は禁止です
垢版 |
2023/02/15(水) 17:38:40.70
id:nra79zCo0はコンピューターサイエンスをちゃんと勉強した人ではあるんだろうが
Rustの知識はないので、自分がズレてることを自覚できてない

Rustの所有権はリファレンスカウンタと違う
リファレンスカウンタってのは、参照されてる側を監視してるわけだけど
所有権は参照してる側を監視している
だから、参照している側のライフタイムが終わったら、即座に参照されている側も終わる
方向性が逆だし、無駄な時間のロス、確認処理もない
0292番組の途中ですがアフィサイトへの転載は禁止です
垢版 |
2023/02/15(水) 17:42:10.30
何を理由に統失って言ってるのか、なんで統失にこだわってるのかがさっぱりわからん
俺別に妄想とかしとらんし、脳汁ドバーみたいな言葉の羅列もしとらんしなあ

多分あなたが統合失調症で現場を離脱した人とかなんじゃなくて?
いま寛解状態とかじゃない?
でもなんか思い込みで他人を断定しすぎてるから、気を付けたほうがええで
0293番組の途中ですがアフィサイトへの転載は禁止です (ワントンキン MMfa-lY+j)
垢版 |
2023/02/15(水) 17:42:59.14ID:UmQuItMDM
>>282
RAIIで2011年の書籍を出してくるとは驚く!
C++が世に出たのは日本で言えば昭和の時代だよ
C++の作者Stroustrupの書いた書籍「プログラミング言語C++」の日本語版の初版が手元にあるけど発行日は1988年11月15日
その最初の時からRAIIに基づいてデストラクタが自動的に呼ばれていたのだから
0294番組の途中ですがアフィサイトへの転載は禁止です (ワッチョイW f386-/42J)
垢版 |
2023/02/15(水) 17:50:30.29ID:nra79zCo0
RAII (Resource Acquisition is Initialize)というイディオムのリファレンスを求めているのに

そのイディオムに名前が付く前のC++ finaliz処理を
RAIIイディオムの使用例だと言い出してしまったら

それはそのイディオム自体が後付けのバズワードに過ぎない事を証明しているように見えるな
ビャーンストラウストラップ自身がRAIIに類する言葉を使い始めたのはいつなの?w
0295番組の途中ですがアフィサイトへの転載は禁止です (ワッチョイW f386-/42J)
垢版 |
2023/02/15(水) 17:57:49.79ID:nra79zCo0
あと、イディオムとよく似た概念でパターンランゲージというのがあって、使用例自体は1970年から80年にかけて開発されたSmalltalkシリーズのクラスライブラリの中にも多数使われているのだけど
それを建築設計分野の意匠の組み合わせ方を指す「パターンランゲージ」という表現で扱い始めたのは1987年、
その成果を書籍デザインパターンとして出版したのは1994年で
そっから派生したのがイディオム関連本だから
まあせいぜいその辺りが非公式な使い始めじゃないかと推測する
0296番組の途中ですがアフィサイトへの転載は禁止です (ワッチョイW f386-/42J)
垢版 |
2023/02/15(水) 18:01:03.00ID:nra79zCo0
あと、デストラクタの中で追加の終了処理をする話は
デストラクタの登場当時だろうから
1970年とか1967年Simula言語とか
それよりも古い言語まで遡れる可能性が高いね

で、その大昔からある概念をまとめて整理してRAIIというイディオムで表現したのは誰でいつ?
0297番組の途中ですがアフィサイトへの転載は禁止です (ワントンキン MMfa-lY+j)
垢版 |
2023/02/15(水) 18:07:18.31ID:UmQuItMDM
>>294
RAIIの概念を知らなかった人に言ってもムダかもしれないけど
RAIIという呼び名はどうでもよくてというかこの呼び名は実は評判悪いこともあるくらいで
その中身の原理が重要なので一言で言い表すためだけに使われてる

>>296
リファレンスがどうしても必要なら初出はこれかな
Sutter, Herb (1999) "Exceptional C++" Addison-Wesley ISBN 0-201-61562-2
論文書くときに引用する時くらいしか初出なんて気にしないけど拘る意図がわからない
それよりもGCやリファレンスカウンタ無しでC++スマポやRustがどうやって安全にヒープメモリ自動解放を実現できているかをこれで理解できたかい?
0298番組の途中ですがアフィサイトへの転載は禁止です (ワッチョイW f386-/42J)
垢版 |
2023/02/15(水) 18:11:11.94ID:nra79zCo0
>>297
やっとリファレンスを出してきたか

次の課題はRAIIの原著に即した定義ね
他の論文や書籍がイディオムと呼んでいるものを
あなたは何度も原理だと言い張ったのだから
それが原理と書かれているのか
イディオムと書かれているのか
それ以外の概念として呼ばれているのか
あなたは自分の発言を検証するべきだ

もちろん、そんな責任を放棄して
無責任な言葉を使うのもあなたの自由
0299番組の途中ですがアフィサイトへの転載は禁止です (ワッチョイW f386-/42J)
垢版 |
2023/02/15(水) 18:14:15.49ID:nra79zCo0
結局スマートポインタのひとつunique_ptrで実装してあると説明すれば終わる話を
齟齬のある表現で何度も説明したり
それを指摘されるとC++のRAII原理だ知ってるのが当たり前だと言い出してリファレンスを出さなかったり
あなたの言動は物凄く効率が悪いよね
0300番組の途中ですがアフィサイトへの転載は禁止です (ラクッペペ MMc6-mBaX)
垢版 |
2023/02/15(水) 18:21:07.17ID:f72/h+PVM
>>219
元スレの方見てみろ
やばい人だわ
嫌儲のプログラミング関係スレって何でもこんなにやばい人湧くんだろ
0303番組の途中ですがアフィサイトへの転載は禁止です (ワッチョイW f386-/42J)
垢版 |
2023/02/15(水) 18:33:12.40ID:nra79zCo0
ID無し嫌儲統失の人はたぶん学生時代から
この種のゼミ形式の会話ができなくて
ロンダ時に指導教官と大喧嘩して

それで学生を理解する教員になるかと思ったら
学生相手にも誤爆罵倒トラブルを起こしたり
ブログで学生への罵倒を繰り返して
今の状態になったんだよな

ゼミでまともに議論するスキルのない人の末路
0304番組の途中ですがアフィサイトへの転載は禁止です (ワントンキン MMfa-lY+j)
垢版 |
2023/02/15(水) 18:34:58.67ID:UmQuItMDM
RAIIの原理が働かないCなどの言語だとデストラクタも動かずメモリ自動解放もできないことが分かれば大丈夫だよ

>>299
RAIIは言語に依存しない概念だけど
unique_ptrはC++言語だけの特殊な実現例であって一般的な話ではない
例えばRustはunique_ptrを必要としない
RustだとCopy実装型以外は所有権があるし
スタック上に確保であってもライフタイムが管理されるため親関数で確保したスタック領域は呼び出し子孫関数で使えるけど逆は無理とコンパイル時点で安全に排除できる
さらに参照の扱いも違っていてそこはデータ競合を含めた安全性の保証の差となっている
0306番組の途中ですがアフィサイトへの転載は禁止です (ワッチョイW f386-/42J)
垢版 |
2023/02/15(水) 18:39:01.74ID:nra79zCo0
言ってることがコロコロ変わり始めた
何かの学習成果を反映し始めたのだろうけど
誰もRustに興味のない場所で
定義すらはっきりさせることの出来ないRAIIを振り回して
原理なのかイディオムなのか明確にすることもなく概念と呼び変えて

なかなかいい加減な人だな
でもそれが人間本来のいい加減さなんだろうな

草生えた
0307番組の途中ですがアフィサイトへの転載は禁止です (ワッチョイW f386-/42J)
垢版 |
2023/02/15(水) 18:41:46.94ID:nra79zCo0
でもこちらが質問していることには答えずに
コロコロ変わった話を一方的にレスされるのは
不愉快極まりないよね

そこら辺の人間関係の基本はどうなってるのよ
リファレンスを前にしてもなお
質問されたことに答えないのは
自分に都合の悪い話は無視するという
嫌儲統失おばさんと全く瓜二つで
相手にする価値ゼロだよな
0309番組の途中ですがアフィサイトへの転載は禁止です (ワントンキン MMfa-lY+j)
垢版 |
2023/02/15(水) 18:48:32.95ID:UmQuItMDM
>>307
ヒープの自動解放の話ならC++とRustしかメジャーな言語ないでしょ
あとは自動回収のガベージコレクション言語になっちゃうし
もし他にあるならC++とRustと比較して出してよ
あまり詳しくなさそうだから無理せずにね
0310番組の途中ですがアフィサイトへの転載は禁止です (ワッチョイW f386-/42J)
垢版 |
2023/02/15(水) 18:59:09.86ID:nra79zCo0
>>309
一番最初からRustに興味ないと宣言したし
真ん中辺でC++はLisp/Smallltalkのエピゴーネンだから重視していないと宣言したよな

興味ない話を、お前さんの興味だけが理由で語る義務は俺には一切無いね
デストラクタのカスタマイズに関してはSmallltalkのあたりには出現していて、GNU SmallltalkとかSqueak (両方ともネイティブコンパイル可能) は確認可能
GCが無いと言う言語縛りには付き合う義務は一切ないね、それはキミ自身の価値観であってこちらには関係ない
0312番組の途中ですがアフィサイトへの転載は禁止です (ワッチョイW f386-/42J)
垢版 |
2023/02/15(水) 19:06:40.96ID:nra79zCo0
まあかわいそうな人だよね

俺興味ないって宣言してから
ツッコミを入れているのに
首尾一貫した説明を最後に崩して泥をつけ
興味ないと宣言済みの赤の他人に
自分の興味本位の話をしつこくして
それでこの人の人生は豊かになるの?

似たような趣味の人と語り合えば丸く収まるのにね
0313番組の途中ですがアフィサイトへの転載は禁止です (ワントンキン MMfa-lY+j)
垢版 |
2023/02/15(水) 19:07:57.97ID:UmQuItMDM
>>311
ヒープの自動解放はリファレンスカウンタ無しでも可能
リファレンスカウンタは参照数の管理に必要なだけであって、共有参照がなければリファレンスカウンタが全く必要なく実現できているように、リファレンスカウンタは本質ではない
0318番組の途中ですがアフィサイトへの転載は禁止です (ワントンキン MMfa-lY+j)
垢版 |
2023/02/15(水) 19:16:47.81ID:UmQuItMDM
>>315
じゃあリファレンスカウンタなんて必要なくてもヒープで確保したメモリの自動解放ができる仕組みを
ようやく理解できたということかね?
それならばよろしい
0319番組の途中ですがアフィサイトへの転載は禁止です (ワッチョイW f386-/42J)
垢版 |
2023/02/15(水) 19:18:35.22ID:nra79zCo0
オタクが嫌われる理由
・ちょっと話しかけると
 際限なく信仰話を続ける
・リファレンスを出せと言われると
 知ってて当たり前だから出す必要が無い
 という信仰コミュニティの価値観を振り回す
・それでもリファレンスを出させて
 そこに何と書かれているか
 原理と書かれているのかイディオムと書かれているのか
 質問してやると答えられなくなってしまう
・テンパった末に長時間主張していた話を
 全部ひっくり返して破産状態のまま
 それでも会話を続けようとする

病人だわな
0321q (ワッチョイW 4a09-kPh/)
垢版 |
2023/02/15(水) 19:19:47.10ID:r/Zcdq1h0
昔の2chってこんな感じ
優しいわけじゃない
0324番組の途中ですがアフィサイトへの転載は禁止です (ワッチョイ 8a56-HeqD)
垢版 |
2023/02/15(水) 19:23:46.43ID:X1ZDubxt0
このスレにもやばい人いて草
0325番組の途中ですがアフィサイトへの転載は禁止です (スッップT Sdaa-D0vN)
垢版 |
2023/02/15(水) 19:25:34.88ID:p5WgJTOad
バカがいて突っ込んだけどバカだからしつこく絡まれたって感じか
よくあること
0326番組の途中ですがアフィサイトへの転載は禁止です (ワッチョイW f386-/42J)
垢版 |
2023/02/15(水) 19:31:16.95ID:nra79zCo0
あと気になったのはつまらない虚言を強弁する癖

虚言を弄さず誠実に答えれば会話が進むのに
思い込みで強弁と虚言を繰り返して
それは一目見て矛盾に気づくレベルの虚言だから
近付いてもメリットがないと一目でわかってしまう

普通は発言を吟味しないと虚言に気付かないくらい
繊細な虚言をするもんだけど
この人は最初から喧嘩腰のバトルモードだから
不要に目立つ虚言が齟齬を発生して
手口がバレてしまう
0330番組の途中ですがアフィサイトへの転載は禁止です (ワッチョイW 3b78-c1N7)
垢版 |
2023/02/15(水) 22:27:32.82ID:asnCrW440
あれ?Cもgccなら今はstack protectorデフォでつけられなかったっけ?
言語仕様の話?
0331番組の途中ですがアフィサイトへの転載は禁止です (ワッチョイW 3b78-c1N7)
垢版 |
2023/02/15(水) 22:33:44.25ID:asnCrW440
>>247
>オブジェクトの自動開放にはGC以外にリファレンスカウントという方式があって、オブジェクト型のポインタ参照が追加されるたびに+1、ポインタ参照が廃棄されるたびに-1して、ゼロになったら廃棄する。ただしその方法も実行時に余分なオーバーヘッドは起きる。

参照カウントはそもそもGCだよ
JavaなどのGCという広義の意味としても、世代の低いものには参照カウントは積極的に使われてる

もうこの説明の時点でこいつがマウントしかできない
ろくに仕様や実務知らない奴なのがわかる
0332番組の途中ですがアフィサイトへの転載は禁止です (ワッチョイW 3b78-c1N7)
垢版 |
2023/02/15(水) 22:44:17.39ID:asnCrW440
ちうか仮にもCS出身名乗るならググって出てきた素人の説明そのまま引用すんなよな…
Mark and Sweepぐらいサラッと出てくんだろ
JVMのメモリモデルまで突っ込んでる話してるし
0333番組の途中ですがアフィサイトへの転載は禁止です (ワッチョイW 3b78-c1N7)
垢版 |
2023/02/15(水) 22:47:47.74ID:asnCrW440
>>246
こいつもそうかGC無しでとか言ってるし
0334番組の途中ですがアフィサイトへの転載は禁止です (ワントンキン MMfa-lY+j)
垢版 |
2023/02/15(水) 22:53:46.80ID:39fPWiQ5M
>>331
その通りでGCの実現方法としてトレーシング方式とリファレンスカウンタ方式があるのだけど
ここで話は少し複雑でリファレンスカウンタを使っていても実は2種類に分かれる
・1つはGC実行時にリファレンスカウンタがゼロのものをまとめて『回収』し、トレーシング方式と同様にこのGCを時々行なう
・もう1つはリファレンスカウンタがゼロになった瞬間に即座に『解放』してしまう
後者はまさにCでの手動freeやC++でのunique_ptrでの自動解放やRustでの自動解放と同じタイミングで即座に行なわれるためガベージコレクションとはみなさないことが多い
その方式を取る言語としてSwiftがあり、C++のshared_ptrやRustのRcも同じであり、いずれもGCとはみなされていない
0335番組の途中ですがアフィサイトへの転載は禁止です (ワッチョイW 063c-6cBW)
垢版 |
2023/02/15(水) 22:55:51.89ID:gaeS3LHz0
こういう昼間っから喧嘩腰の人専門板に多い
特にpc関連とかプログラマーとか
以前にスマホの初心者が質問するスレでiPhone使いだけどこういう疑問があって質問したいけど
って言ったら即レスでiPhone使いは頭悪いとかそれに同調するような意見ばっかで結局質問に答える人いなかった
それもこのスレみたいに平日の真っ昼間に
結局知人に聞いて解決したけどなんか引っかかる部分というか哀れに感じた
質問の仕方が悪かったのかもしれんけどそれ以前にiPhoneだからとかで区別してるのは確実にオッさんだしこいつらなんだよって感じで余計哀れに思ったや
0337番組の途中ですがアフィサイトへの転載は禁止です (ワッチョイW 3b78-c1N7)
垢版 |
2023/02/15(水) 23:01:30.01ID:asnCrW440
Rustはどっちかというとメモリ管理しやすいというより全く逆の発想で
スタックに積みスコープを限定しライフタイムを圧縮し
一意型に似た方式を使いヒープ確保すらもRcなどで利用するのも本来邪道なようにして
メモリ管理を極力減らすことでバグ出さないようにできるのが売り

そして>>266も完全に勘違いしてるね
これは所有権移転できる時点で>>263のが正しいし
何よりRAIIは初期化時の確保と解放の責任先の話であって
メモリの解放点が初期化した文脈でのスタックやスコープで決まるなんて話では全くないです
0338番組の途中ですがアフィサイトへの転載は禁止です (ワッチョイ e308-FlRM)
垢版 |
2023/02/15(水) 23:06:40.42ID:poTC8eP+0
PHPしか使えない底辺ウェブプログラマだからヒープだの言われてもわからんわ
0339番組の途中ですがアフィサイトへの転載は禁止です (アウアウウー Sa4f-c1N7)
垢版 |
2023/02/15(水) 23:08:57.15ID:6CZ4k8Soa
>>337
補足しておくとなんで参照カウント1のが正しいと言ってるかというと
moveセマンティクスによる移動がその動作そのものだから
本当に本来の意味で一意=uniqueを示すなら最適化によるeliminationをいちいち期待するまでもなく
そのmoveのコードすらいらない

Rustはそういう意味では単なる参照カウント1からは少し脱却してるけど再使用の禁止はできないから一意型には足りない
0340番組の途中ですがアフィサイトへの転載は禁止です (アウアウウー Sa4f-c1N7)
垢版 |
2023/02/15(水) 23:10:25.36ID:6CZ4k8Soa
>>334
見なされてないは単なる詭弁でしかない
普通に参照カウント方式というGC
タイミングが違うだけ
0341番組の途中ですがアフィサイトへの転載は禁止です (ワントンキン MMfa-lY+j)
垢版 |
2023/02/15(水) 23:12:59.35ID:39fPWiQ5M
>>337
いいえ
Rustで所有権が移動していくのはその通りですが
最後に所有権を保持している変数がRAIIによって尽きるときにstd::ptr::drop_in_placeすなわちデストラクタが呼ばれることで
最終的なメモリ解放が行われます
0342番組の途中ですがアフィサイトへの転載は禁止です (ワントンキン MMfa-lY+j)
垢版 |
2023/02/15(水) 23:15:59.16ID:39fPWiQ5M
>>340
全然ちがいます
ガベージコレクション(GC)はその名の通り溜まったゴミをまとめて回収します
しかしshared_ptrやRcではゴミは溜まりませんし、まとめて回収されることもありません
GCとみなされないことが多いのはそのためです
0343番組の途中ですがアフィサイトへの転載は禁止です (テテンテンテン MMc6-cVDL)
垢版 |
2023/02/15(水) 23:20:32.45ID:TWO2ufebM
嫌儲にプログラムモメン(土方モメン)が多いのはこの仕事が過酷な証なんやろなあ
働きぶりを見てもジャアアアや終わりだよ言いたくなるのもわかるわ
0344番組の途中ですがアフィサイトへの転載は禁止です (ワッチョイW 3b78-c1N7)
垢版 |
2023/02/15(水) 23:26:24.40ID:asnCrW440
>>342
なんかしょうもない話になってきたな…
それ完全に思い込みだよ

会話終わらせるためにまず結論から押し付けるけどRefCountがGcでない派は普通にマイナー
https://twitter.com/imos/status/818835251011076096

なぜ君と違ってそう考えてる人がこれだけ多いのかというとCS領域ではGC扱いとなってるから
copygcみたいに特別な処理がないならGCじゃないと思ってるなら完全に勘違いでネイティブ言語のGCライブラリはまさにRcの方式だった
https://twitter.com/5chan_nel (5ch newer account)
0345番組の途中ですがアフィサイトへの転載は禁止です (ワッチョイW 3b78-c1N7)
垢版 |
2023/02/15(水) 23:29:00.74ID:asnCrW440
>>341
それはこちらの説明を少し詳しく書いただけで何の反論にもなってない

RAIIはまとまって解放し管理を楽にするだけで
君の反論した文脈には関係がない
メモリ管理におけるオブジェクト解放の起点それそのものはRAIIではない
0346番組の途中ですがアフィサイトへの転載は禁止です (ワントンキン MMfa-lY+j)
垢版 |
2023/02/15(水) 23:32:09.76ID:39fPWiQ5M
>>344
ちゃんと>>334の区別説明を読みましょう
リファレンスカウンタ方式のガベージコレクションはもちろんあります
それとは別にリファレンスカウンタ方式の即時メモリ解放もあるだけです
そのアンケートはその二つを区別していないから全く意味がありません
0347番組の途中ですがアフィサイトへの転載は禁止です (ワッチョイW 3b78-c1N7)
垢版 |
2023/02/15(水) 23:33:55.49ID:asnCrW440
なんかRAIIがscoped_ptrみたいなのと一緒に語られるから意味を勘違いしてる人めっちゃ多いけど
本来これはオブジェクトの内包するリソースを外から初期化解放させる行儀の悪いものを正す話だから全く別

たまたまscoped_ptrやrefcountのメモリ管理に使いやすく目的と合致しただけ
0348番組の途中ですがアフィサイトへの転載は禁止です (ワッチョイW 3b78-c1N7)
垢版 |
2023/02/15(水) 23:35:32.12ID:asnCrW440
>>346
読みましょうじゃなくて普通にGCだから
gcにまるで別スレッドや別コンテキストである必要性を勝手に要件にしてはいけないよ
0349番組の途中ですがアフィサイトへの転載は禁止です (ワッチョイW 3b78-c1N7)
垢版 |
2023/02/15(水) 23:38:23.39ID:asnCrW440
>>346
それとアンケートもはんろんになってないよ
反対側のがmark and sweepと区別ついてないのが多いだろうしね
0351番組の途中ですがアフィサイトへの転載は禁止です (ワントンキン MMfa-lY+j)
垢版 |
2023/02/15(水) 23:39:18.90ID:39fPWiQ5M
>>345
全て間違ってますよ
RAIIはまとまって解放しません
RAIIは尽きたものだけが、そのタイミングでデストラクタ発動となり解放となります
そしてRAIIの機構がない言語(例えばC)ではメモリ自動解放を実現できません
>>341の通りです
0353番組の途中ですがアフィサイトへの転載は禁止です (ワッチョイW ff84-fTjZ)
垢版 |
2023/02/15(水) 23:42:25.08ID:iCLgiPr30
どっちにも言えるけど優秀なエンジニアって知識欲があるわけ
知らないことを聞いたら反発じゃなく「そうなんだ!」って嬉しくならないやつはエンジニアに向いてない

つまりその視点で会話を見るとどっちもエンジニアとして大したことないなってのがわかる
0355番組の途中ですがアフィサイトへの転載は禁止です (ワッチョイW 3b78-c1N7)
垢版 |
2023/02/15(水) 23:52:57.10ID:asnCrW440
https://www.eidos.ic.i.u-tokyo.ac.jp/~tau/lecture/programming_languages/gen/slides/pdf/06-gc.pdf#page21

これの21ページ見りゃわかるけど
CS領域の人は普通にreference countingはgcって考えてるんだよ
ただJavaが出てmark and sweepがメジャーになってからそれがGCだと思う人らが増えてしまったのでそう考える奴がいる事は否定しない
ただ真面目に勉強してるならちゃんと考え改めなさいね
0356番組の途中ですがアフィサイトへの転載は禁止です (ワッチョイW 3b78-c1N7)
垢版 |
2023/02/15(水) 23:55:48.51ID:asnCrW440
>>351
お前さんRAIIの意味完全に履き違えてるよ
RAIIはクラスの話
https://programming-place.net/ppp/contents/glossary/alphabet/raii.html

C++知ってる人間かと思ったけどどうやら全然違うようだね
つか知ったか多すぎ
0357番組の途中ですがアフィサイトへの転載は禁止です (ワッチョイW 3b78-c1N7)
垢版 |
2023/02/15(水) 23:57:20.42ID:asnCrW440
>>351
一応言っておくけどC言語でもOOPとして書いてるなら普通に可能
RAIIは初期化と解放の責任の概念だから
0358番組の途中ですがアフィサイトへの転載は禁止です (ワントンキン MMfa-lY+j)
垢版 |
2023/02/15(水) 23:59:39.87ID:39fPWiQ5M
>>356
いいえ違います
例えばRustはRAIIですがクラスはありません
0360番組の途中ですがアフィサイトへの転載は禁止です (ワッチョイW ebaf-cm5r)
垢版 |
2023/02/16(木) 00:00:01.78ID:Tp160E0L0
2人とも気が合ってるな
そして毎日嫌な思いをしてそう
0361番組の途中ですがアフィサイトへの転載は禁止です (ワントンキン MMfa-lY+j)
垢版 |
2023/02/16(木) 00:02:13.74ID:KhH5J/wOM
>>357
いいえ
C言語はRAIIではないためリソースの自動解放は無理です
したがってメモリ自動解放も無理です
■ このスレッドは過去ログ倉庫に格納されています

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