「C++の色々配慮してめんどくさい感じは好きだけど、実務になったらメモリ安全性とか考えて今後Rustに変わっていくんかな」
「うだうだ言ってないで仕事で必要なのをやればいいんだよ、趣味なら好きなのやればいい」
っていう雑談スレ。
・C/C++ <=> Rust いまさら聞けない移行質問なども適当にどぞ
・レスバはじめんのは勝手だけど、面白いこと・へぇなこと書いたヤツが優勝
・マな話は、マのスレもご活用ください↓
前スレ: 結局C++とRustってどっちが良いの? 7traits
http://mevius.5ch.net/test/read.cgi/tech/1693451813/
関連スレ(マ板): Google&Microsoft「セキュリティバグの70%はC/C++のメモリ管理ミス。Rustにする」
https://medaka.5ch.net/test/read.cgi/prog/1619943288/
結局C++とRustってどっちが良いの? 8traits
■ このスレッドは過去ログ倉庫に格納されています
2023/10/28(土) 13:45:00.38ID:fh9BWjjr
566デフォルトの名無しさん
2023/11/20(月) 21:56:32.85ID:Ygoo/zhh567デフォルトの名無しさん
2023/11/20(月) 21:59:46.43ID:1QHH6HXV568デフォルトの名無しさん
2023/11/20(月) 22:02:12.48ID:SNQO1x/A569デフォルトの名無しさん
2023/11/20(月) 23:27:57.05ID:/Ubqd6b6 >>530
Reactはクラスコンポーネント時代も
開発元のFacebookが様々なケースで継承を使うとよいケースは存在していないことを確認しているとReact公式に書いていたもんな
もちろん今はクラスコンポーネントすら捨てて関数コンポーネント
Reactはクラスコンポーネント時代も
開発元のFacebookが様々なケースで継承を使うとよいケースは存在していないことを確認しているとReact公式に書いていたもんな
もちろん今はクラスコンポーネントすら捨てて関数コンポーネント
570デフォルトの名無しさん
2023/11/21(火) 08:57:03.65ID:CeBFd4j1 GitHubで最も使われている言語はJavaScript、最も利用者が増加したのはRust。AIプロジェクト数はこの1年で3倍増GitHubが年次調査「Octoverse 2023」発表
https://www.publickey1.jp/blog/23/githubjavascriptrustai13githuboctoverse_2023.html
AI関連のプロジェクトを国別に見ると米国が突出していますが、日本はインドに次いで3位となっており、日本のオープンソース開発者は世界的に見て積極的にAI関連のプロジェクトに関わっていることが分かります。
プログラミング言語別にコントリビュータの増加率を見ると、1位がRust、2位がRua、3位がTypeScript、4位がHCL(HashiCorp Configration Language)、4位がTSQL、5位がPythonとなります。
https://www.publickey1.jp/blog/23/githubjavascriptrustai13githuboctoverse_2023.html
AI関連のプロジェクトを国別に見ると米国が突出していますが、日本はインドに次いで3位となっており、日本のオープンソース開発者は世界的に見て積極的にAI関連のプロジェクトに関わっていることが分かります。
プログラミング言語別にコントリビュータの増加率を見ると、1位がRust、2位がRua、3位がTypeScript、4位がHCL(HashiCorp Configration Language)、4位がTSQL、5位がPythonとなります。
571デフォルトの名無しさん
2023/11/21(火) 09:29:05.70ID:WJ7yrtvk React本体のJavaScriptコードで継承が使われてるという事実は嘘つきオジがいたので指摘しただけで重要な事ではない
JavaScriptの継承を理解してる人ならリポジトリ見れば誰でもわかる
重要なのはReactやReact Nativeが依存しているHTML/CSS/JavaScriptなどのホスト環境が提供するGUIライブラリやそれに類するものは全て実装継承モリモリで作られているということ
それはなぜなのか?
JavaScriptの継承を理解してる人ならリポジトリ見れば誰でもわかる
重要なのはReactやReact Nativeが依存しているHTML/CSS/JavaScriptなどのホスト環境が提供するGUIライブラリやそれに類するものは全て実装継承モリモリで作られているということ
それはなぜなのか?
572デフォルトの名無しさん
2023/11/21(火) 09:48:09.93ID:meOGGGPH573デフォルトの名無しさん
2023/11/21(火) 10:52:34.98ID:TIZNoRj+ 増加<率>だからねw
574デフォルトの名無しさん
2023/11/21(火) 10:53:27.83ID:TIZNoRj+ つまり分子が大きいというより分母が少ない
575デフォルトの名無しさん
2023/11/21(火) 10:56:46.75ID:fyFN08Ef ヒント非公開
576デフォルトの名無しさん
2023/11/21(火) 11:02:46.10ID:ZX3v40di >>571
GitHubのコードに対するリンク一行貼るくらいやってよ
GitHubのコードに対するリンク一行貼るくらいやってよ
577デフォルトの名無しさん
2023/11/21(火) 11:06:40.20ID:ZX3v40di >>571
gtkはCだね
gtkはCだね
578デフォルトの名無しさん
2023/11/21(火) 11:07:36.25ID:HSO31doi >>557
ほんそれ
ほんそれ
579デフォルトの名無しさん
2023/11/21(火) 11:18:07.78ID:Lmp19CDx580デフォルトの名無しさん
2023/11/21(火) 11:27:49.20ID:j31CN6Yb >>569
とFacebookの犬が申しております
とFacebookの犬が申しております
581デフォルトの名無しさん
2023/11/21(火) 12:12:04.36ID:Vub9wpCB >>571
嘘つきはお前だよ
嘘つきはお前だよ
582デフォルトの名無しさん
2023/11/21(火) 12:25:12.17ID:MyNMYruR583デフォルトの名無しさん
2023/11/21(火) 12:27:03.76ID:vP2RupFQ 特定のレスに妙に攻撃的な単発ちょくちょく湧いてくるのってやっぱりアイツ?
584デフォルトの名無しさん
2023/11/21(火) 12:50:14.72ID:j31CN6Yb >>583
いや、あいつとは別
いや、あいつとは別
585デフォルトの名無しさん
2023/11/21(火) 12:50:16.11ID:j31CN6Yb >>583
いや、あいつとは別
いや、あいつとは別
586デフォルトの名無しさん
2023/11/21(火) 13:37:07.13ID:f4244eke アイツじゃねーかw
587デフォルトの名無しさん
2023/11/21(火) 13:52:02.24ID:Lmp19CDx 質問する側は基本的に無力で、答える側に生殺与奪の権を握られる
一発逆転するには攻撃力か何かで優位に立たなければ
一発逆転するには攻撃力か何かで優位に立たなければ
588デフォルトの名無しさん
2023/11/21(火) 18:59:23.42ID:E3kr56i/ 勝ったところで、所詮クソvsクソだぞ
面白いことを書け
面白いことを書け
589デフォルトの名無しさん
2023/11/21(火) 19:14:06.76ID:MyNMYruR 攻撃的なこと言われて大人しくなってるの草
590デフォルトの名無しさん
2023/11/21(火) 22:22:25.20ID:3Y9OZVuh591デフォルトの名無しさん
2023/11/21(火) 22:23:49.29ID:3Y9OZVuh592デフォルトの名無しさん
2023/11/21(火) 22:43:10.96ID:Q9pynku3593デフォルトの名無しさん
2023/11/21(火) 23:11:04.07ID:Lmp19CDx Cはスマポ<T>を作れない
C++でもtemplateを使わない主義ならばスマポのようなものをTが実装継承するかも
C++でもtemplateを使わない主義ならばスマポのようなものをTが実装継承するかも
594デフォルトの名無しさん
2023/11/21(火) 23:15:06.85ID:x0TxAGsF >>592
論点は実装継承は不要なのかどうか
常にコンポジションを使うべきかどうか
GTKは言語機能によらない実装継承を使っているというだけ
コンポジションで実装する事も技術的には当然可能だがその選択をしてないことに意味がある
特に言語が提供してないにもかかわらずGTKのためだけに継承機能をわざわざ作り上げるほど実装継承を欲した理由を理解するべき
論点は実装継承は不要なのかどうか
常にコンポジションを使うべきかどうか
GTKは言語機能によらない実装継承を使っているというだけ
コンポジションで実装する事も技術的には当然可能だがその選択をしてないことに意味がある
特に言語が提供してないにもかかわらずGTKのためだけに継承機能をわざわざ作り上げるほど実装継承を欲した理由を理解するべき
595デフォルトの名無しさん
2023/11/21(火) 23:35:36.54ID:LOJe+P0r Reactが依存しているHTMLのボタン要素を例に話をするとボタン要素は次のような型階層を取ることがDOM APIの仕様で決められている
EventTarget <- Node <- Element <- HTMLElement <- HTMLButtonElement
上位の型のパブリックなメソッドやプロパティはや下位の型でも使えるようにする必要がある
これは実装継承だけでなくコンポジション+インターフェースでもRustのenumのような代数データ型を使っても実現可能なんだが知る限り全てのブラウザが実装継承を使って実装している
EventTarget <- Node <- Element <- HTMLElement <- HTMLButtonElement
上位の型のパブリックなメソッドやプロパティはや下位の型でも使えるようにする必要がある
これは実装継承だけでなくコンポジション+インターフェースでもRustのenumのような代数データ型を使っても実現可能なんだが知る限り全てのブラウザが実装継承を使って実装している
596デフォルトの名無しさん
2023/11/21(火) 23:45:35.68ID:Q9pynku3597デフォルトの名無しさん
2023/11/21(火) 23:49:00.55ID:5SU8rUzf なぜかというと
例えば仕様変更でNodeに新しいメソッドが追加されたとしても実装継承なら一箇所変更すればいいだけだから
コンポジション+インターフェースの場合はNode以下の数百個のクラスや構造体にメソッドを追加して委譲するコードを書いて回らないといけない
実装継承というのはサブタイピングとコードの再利用を同時に行うことだが、その2つを同時に行えるという点が最大のメリットであり存在理由なわけ
例えば仕様変更でNodeに新しいメソッドが追加されたとしても実装継承なら一箇所変更すればいいだけだから
コンポジション+インターフェースの場合はNode以下の数百個のクラスや構造体にメソッドを追加して委譲するコードを書いて回らないといけない
実装継承というのはサブタイピングとコードの再利用を同時に行うことだが、その2つを同時に行えるという点が最大のメリットであり存在理由なわけ
598デフォルトの名無しさん
2023/11/22(水) 00:08:02.11ID:h68LLJ0S >>596
問題がないわけではないんだよ
GTKの実装継承は言語機能のそれと比べてクソ面倒臭い上に言語に組み込まれた型システムではないからこその弱さがある
Rustでも実装継承をマクロで模倣することもできるがだからといってそれに何の問題ないわけではないというのと同じ
他のやり方があったとしてもより楽に安全に開発できるようになるなら言語機能としてあった方がいいってことになるよね?
問題がないわけではないんだよ
GTKの実装継承は言語機能のそれと比べてクソ面倒臭い上に言語に組み込まれた型システムではないからこその弱さがある
Rustでも実装継承をマクロで模倣することもできるがだからといってそれに何の問題ないわけではないというのと同じ
他のやり方があったとしてもより楽に安全に開発できるようになるなら言語機能としてあった方がいいってことになるよね?
599デフォルトの名無しさん
2023/11/22(水) 00:19:05.87ID:i7dbnQQ2 >>1-10
乗り遅れるな!
いつまでも待ってはくれませんよ
https://note.com/nukatiktok/n/nfbb66b3b3d3e ←4000円貰えます
この機会にぜひ
https://i.imgur.com/eWEQ3eT.jpg
(毎日動画見てるだけでお金貰えるんだぞ💰)
乗り遅れるな!
いつまでも待ってはくれませんよ
https://note.com/nukatiktok/n/nfbb66b3b3d3e ←4000円貰えます
この機会にぜひ
https://i.imgur.com/eWEQ3eT.jpg
(毎日動画見てるだけでお金貰えるんだぞ💰)
600デフォルトの名無しさん
2023/11/22(水) 00:33:52.03ID:SCjy6MJ9 >>597
それは仕様変更前のクラス数百個を捨てさせ変更後の数百個で置き換えるには都合が良い
一箇所変更するだけで古いクラス数百個が消滅する
だが古いクラスに依存していた資産が消滅するのは本当にお得なのか?
それは仕様変更前のクラス数百個を捨てさせ変更後の数百個で置き換えるには都合が良い
一箇所変更するだけで古いクラス数百個が消滅する
だが古いクラスに依存していた資産が消滅するのは本当にお得なのか?
601デフォルトの名無しさん
2023/11/22(水) 01:12:20.99ID:uxQX1dJD602デフォルトの名無しさん
2023/11/22(水) 01:26:34.89ID:uxQX1dJD603デフォルトの名無しさん
2023/11/22(水) 16:32:36.94ID:Ky8NVDmM 「GCは嫌い。だけどC++は苦手。
噂だとRustがそれを解決するらしいから」
ということでRust票が入っているだけ。
噂だとRustがそれを解決するらしいから」
ということでRust票が入っているだけ。
604デフォルトの名無しさん
2023/11/22(水) 18:06:32.01ID:VuMm7++t GoogleもMicrosoftもAmazonもCloudflareも
そんな理由でRustを採用して使っている?
そんな理由でRustを採用して使っている?
605デフォルトの名無しさん
2023/11/22(水) 18:40:30.34ID:I05HGQ1N 結局windows11 10.0.22631.2715 (23H2)にRust製モジュール入らなかったが
606デフォルトの名無しさん
2023/11/22(水) 19:20:29.71ID:zUxnYc1v MSの使ってるコンパイラは何だろう?
607デフォルトの名無しさん
2023/11/22(水) 20:23:02.05ID:BBiTeKwa608デフォルトの名無しさん
2023/11/22(水) 20:29:20.42ID:ltxaInSK609デフォルトの名無しさん
2023/11/22(水) 21:18:08.59ID:+UnlqW3r 関数名の重複を許す仕組みは信用できる
クラスは名前がかぶったらたいてい古い方が無かったことにされるのが信用できない
クラスは名前がかぶったらたいてい古い方が無かったことにされるのが信用できない
610デフォルトの名無しさん
2023/11/22(水) 21:25:34.99ID:zUxnYc1v なにそれ?
611デフォルトの名無しさん
2023/11/22(水) 21:26:35.97ID:5rDf7evN612デフォルトの名無しさん
2023/11/22(水) 21:47:18.27ID:+UnlqW3r intは信用できないのでi32やi64になったのはまあいい
実装継承の祖先の名前がずらりと並ぶのは嫌だ
実装継承の祖先の名前がずらりと並ぶのは嫌だ
613デフォルトの名無しさん
2023/11/22(水) 22:42:24.09ID:+dkhSESN >>612
それは実装継承による設計をする古い頭のままの駄目プログラマーの典型例
それは実装継承による設計をする古い頭のままの駄目プログラマーの典型例
614デフォルトの名無しさん
2023/11/22(水) 22:48:19.59ID:F4GGzYS9 >>611
いるよワイ
とにかくC++はコピーを正しく扱うのがあまりにも難しいのよ
C++の弱点はこの一点に尽きる
もちろんCとの互換性を保つためなのだが本当に難しい
そこにコピーやめたろ!って英断したRustは本当にC++使いの人が設計したんだなと感じる
この部分に手を入れかつ速度を落とさない実装もできる方法を突き詰めるとこうなる
いるよワイ
とにかくC++はコピーを正しく扱うのがあまりにも難しいのよ
C++の弱点はこの一点に尽きる
もちろんCとの互換性を保つためなのだが本当に難しい
そこにコピーやめたろ!って英断したRustは本当にC++使いの人が設計したんだなと感じる
この部分に手を入れかつ速度を落とさない実装もできる方法を突き詰めるとこうなる
615デフォルトの名無しさん
2023/11/22(水) 22:59:48.09ID:Lo22StDU >>614
Firefoxはservoで行き詰ったよ
Firefoxはservoで行き詰ったよ
616デフォルトの名無しさん
2023/11/22(水) 23:05:36.01ID:F4GGzYS9 Effective C++の初版はほぼこのコピーをいかにうまくやるかを解説した本だった
あらゆる手段でコピーが発生してもオブジェクトの整合性が取れるように注意点を書きまくった
しかしその内容はあまりにも普通の人には難し過ぎた
そして一つのクラスを作るたびにこんなに気をつけて実装しないといけないのか!やってられん!となって
その結果、もう全部ヒープにとって生ポインタでいいじゃんとなってしまった
そのおかげでコピー問題は無くなったが
メモリリークや二重開放、ヌルポの山を産んだ
あらゆる手段でコピーが発生してもオブジェクトの整合性が取れるように注意点を書きまくった
しかしその内容はあまりにも普通の人には難し過ぎた
そして一つのクラスを作るたびにこんなに気をつけて実装しないといけないのか!やってられん!となって
その結果、もう全部ヒープにとって生ポインタでいいじゃんとなってしまった
そのおかげでコピー問題は無くなったが
メモリリークや二重開放、ヌルポの山を産んだ
617デフォルトの名無しさん
2023/11/22(水) 23:09:46.91ID:EF2LJjbV ポインターをメンバーに持つと言うのがコピーの問題になってるだけやん?
アドレスをコピーするのか、実体を複製して新しいポインターとして格納するのか
用途によってはどちらかが不都合だったりするからなぁ
アドレスをコピーするのか、実体を複製して新しいポインターとして格納するのか
用途によってはどちらかが不都合だったりするからなぁ
618デフォルトの名無しさん
2023/11/22(水) 23:14:04.80ID:F4GGzYS9 >>617
実態を持っても同じだよ
そのオブジェクトが内部にポインタを持ってたら同じ問題が発生
さらにそのオブジェクトが(ry
というわけで地獄のような連鎖になることがわかる
そして厄介なのは自分が作っていないクラスだった場合お手上げということ
いかにやばいか分かっていただけただろうか
だから一時期はあらゆるオブジェクトがヒープ割り当てをしていた
実態を持っても同じだよ
そのオブジェクトが内部にポインタを持ってたら同じ問題が発生
さらにそのオブジェクトが(ry
というわけで地獄のような連鎖になることがわかる
そして厄介なのは自分が作っていないクラスだった場合お手上げということ
いかにやばいか分かっていただけただろうか
だから一時期はあらゆるオブジェクトがヒープ割り当てをしていた
619デフォルトの名無しさん
2023/11/22(水) 23:21:57.25ID:F4GGzYS9 スマートポインタによって状況はだいぶ改善されたとは思うが
しかしこのコピー問題というのは常に残っているのだ
そのオブジェクトを安全にコピーできるようにするという本質的な難しさは変わっていない
そしてムーブかコピーかみたいなものをライブラリ提供者が決めなければならず
それを使う側が意識することはかなり難しい
ドキュメントを読み込んで使い方を熟読するしかない
数百個のクラスがあった場合その全てのクラスの性質を暗記しないといけないのである!
しかも一個のミスで全てが崩壊する
こんなことは不可能に近い
しかしこのコピー問題というのは常に残っているのだ
そのオブジェクトを安全にコピーできるようにするという本質的な難しさは変わっていない
そしてムーブかコピーかみたいなものをライブラリ提供者が決めなければならず
それを使う側が意識することはかなり難しい
ドキュメントを読み込んで使い方を熟読するしかない
数百個のクラスがあった場合その全てのクラスの性質を暗記しないといけないのである!
しかも一個のミスで全てが崩壊する
こんなことは不可能に近い
620デフォルトの名無しさん
2023/11/22(水) 23:27:21.33ID:F4GGzYS9 その結果全てのオブジェクトをヒープにとってそのポインタだけを持ち回る、という実装がほとんどとなったのである
こうすればとりあえずコピーに関する問題はなくなる
俺はその時期にC++を仕事で書いていた
全てのオブジェクトがヒープにあった
コピーに関して悩んだことがなかったので
Effective C++を読んでもこの本は何でこんな「不整合が起きないオブジェクト」の作り方の解説ばっかりやってるんだろうと思っていたぐらいだ
こうすればとりあえずコピーに関する問題はなくなる
俺はその時期にC++を仕事で書いていた
全てのオブジェクトがヒープにあった
コピーに関して悩んだことがなかったので
Effective C++を読んでもこの本は何でこんな「不整合が起きないオブジェクト」の作り方の解説ばっかりやってるんだろうと思っていたぐらいだ
621デフォルトの名無しさん
2023/11/22(水) 23:30:42.74ID:F4GGzYS9 ちなみにこの全てのオブジェクトをヒープに取ればいいじゃんの思想をデフォルトにした言語がJavaである
メモリの解放漏れはGCにより問題なくなったがヌルポを量産したのは言うまでもない
メモリの解放漏れはGCにより問題なくなったがヌルポを量産したのは言うまでもない
622デフォルトの名無しさん
2023/11/22(水) 23:32:00.30ID:UBOPkQxC ChatGPTとまでは言わんが、IDEも仕事しろ、っていう世の中ではある
623デフォルトの名無しさん
2023/11/22(水) 23:37:47.47ID:Rf3A/fx6 >>615
金がなくなっただけでスポンサーついたら復活した
金がなくなっただけでスポンサーついたら復活した
624デフォルトの名無しさん
2023/11/23(木) 00:06:01.85ID:KrVwEhLS625デフォルトの名無しさん
2023/11/23(木) 00:11:54.90ID:mLPybMZb Javaにはポインタしかない
ゆえにコンポジションを繰り返せばリンクリストのようになる
でも実装継承なら
という風に二つの問題は一つにつながる
ゆえにコンポジションを繰り返せばリンクリストのようになる
でも実装継承なら
という風に二つの問題は一つにつながる
626デフォルトの名無しさん
2023/11/23(木) 01:52:03.12ID:FMewW6Qw >>616
Effective C++がコピーの話ばっかりという印象はないけどな
あるのはもともとCにあるコピー問題をいかにC++で解決するかというスタンスの解説
あとコピー問題を解決するためヒープを使うってのも謎理論
それは因果関係逆でしょ
ポインタをメンバーに持つデータ構造のコピーをいかに安全に実現するかでしょ
STLコンテナによりそこに厳密な意味定義が必要となった
Effective C++がコピーの話ばっかりという印象はないけどな
あるのはもともとCにあるコピー問題をいかにC++で解決するかというスタンスの解説
あとコピー問題を解決するためヒープを使うってのも謎理論
それは因果関係逆でしょ
ポインタをメンバーに持つデータ構造のコピーをいかに安全に実現するかでしょ
STLコンテナによりそこに厳密な意味定義が必要となった
627デフォルトの名無しさん
2023/11/23(木) 07:44:46.73ID:N5SmR8A3 >>568
と負け犬が申しております
と負け犬が申しております
628デフォルトの名無しさん
2023/11/23(木) 09:38:23.37ID:jt92Atwz >>621
ヌルポは型無しnullpointerによる型の制約に違反する問題だろ。
スタックだろうがヒープだろうが型無しインスタンスを使う限り発生する。
c++もポインタを排除して参照のみにできれば随分違うだろうけど。
ヌルポは型無しnullpointerによる型の制約に違反する問題だろ。
スタックだろうがヒープだろうが型無しインスタンスを使う限り発生する。
c++もポインタを排除して参照のみにできれば随分違うだろうけど。
629デフォルトの名無しさん
2023/11/23(木) 10:31:50.34ID:mLPybMZb 中途半端に浅いコピーは、深い方が正しい可能性を否定できない
これがコピー問題
ヒープを使えば極端に浅いコピーになる
これはバグではなく意図的にしか見えないから問題が解消する
これがコピー問題
ヒープを使えば極端に浅いコピーになる
これはバグではなく意図的にしか見えないから問題が解消する
630デフォルトの名無しさん
2023/11/23(木) 10:37:31.57ID:mHKDjsht >>597
そこはRust最低だよな
そこはRust最低だよな
631デフォルトの名無しさん
2023/11/23(木) 10:57:07.78ID:KmXfNFgK 機能追加が常に善なら後発言語は機能お化けに
なる一方のはずだがそうはなってないので
〇〇言語には△△機能が無いからゴミという
論法はあまり意味がない
なる一方のはずだがそうはなってないので
〇〇言語には△△機能が無いからゴミという
論法はあまり意味がない
632デフォルトの名無しさん
2023/11/23(木) 12:06:15.18ID:gaANDpVB633デフォルトの名無しさん
2023/11/23(木) 12:33:56.71ID:cJqQ5Mzl634デフォルトの名無しさん
2023/11/23(木) 13:07:39.51ID:mHKDjsht C++のtemplateは失敗
635デフォルトの名無しさん
2023/11/23(木) 13:35:39.34ID:tND7y2dZ636デフォルトの名無しさん
2023/11/23(木) 13:53:47.80ID:KmXfNFgK637デフォルトの名無しさん
2023/11/23(木) 14:01:33.34ID:P5PvPGf5 実装継承不要とか言ってたやつら負けるの早すぎだろ
拍子抜けもいいところ
拍子抜けもいいところ
638デフォルトの名無しさん
2023/11/23(木) 15:08:18.27ID:m+MQWJu5 いや。参考になったから、それはそれでいいぞ(IUnk派
639デフォルトの名無しさん
2023/11/23(木) 16:01:38.36ID:M3SMKrV5 Reactの継承を使っているコードを出せない時点で負け犬はどっちか明確
強い言葉使ってやるからかかってこい
強い言葉使ってやるからかかってこい
640デフォルトの名無しさん
2023/11/23(木) 16:37:00.29ID:/KrkujPK 「Reactは本体含めて継承は一切使っておらず、全て関数だと言い張る人がいるのですが本当でしょうか?」と
自分の主張ではないフリしてStack Overflowあたりで聞いてみ?
めっちゃ馬鹿にされるだろうけどすぐに欲しがってる答えをもらえるぞw
自分の主張ではないフリしてStack Overflowあたりで聞いてみ?
めっちゃ馬鹿にされるだろうけどすぐに欲しがってる答えをもらえるぞw
641デフォルトの名無しさん
2023/11/23(木) 16:38:05.49ID:t7xzkVTj ビビってレスもできんかw
情けないクズ
情けないクズ
642デフォルトの名無しさん
2023/11/23(木) 16:43:11.88ID:9Fa6B1S9 プロトタイプ継承もわかってないのに事あるごとにReact連呼してたのかと思うと滑稽を通り越してちょっと可哀想
643デフォルトの名無しさん
2023/11/23(木) 16:52:07.60ID:t7xzkVTj はよそのコードを出せよ
それも出せないくせに偉そうに御託をごちゃごちゃ言う
偉そうに自分語りするくせに的外れ
虫唾が走る
それも出せないくせに偉そうに御託をごちゃごちゃ言う
偉そうに自分語りするくせに的外れ
虫唾が走る
644デフォルトの名無しさん
2023/11/23(木) 17:57:28.21ID:qpiJFg02 継承はプログラミングスタイルとして決定が多いため
モダンな各プログラミング言語で継承が不採用となっただけでなく
Reactでも継承を使わずに済むように進化してきたのよ
モダンな各プログラミング言語で継承が不採用となっただけでなく
Reactでも継承を使わずに済むように進化してきたのよ
645デフォルトの名無しさん
2023/11/23(木) 18:04:46.83ID:t7xzkVTj おーいまた遅レスかー?
快活クラブから出ちゃったのー?
快活クラブから出ちゃったのー?
646デフォルトの名無しさん
2023/11/23(木) 18:52:56.05ID:t7xzkVTj >>644
多分そういう意味すらわかってないと思うよ
プロトタイプ継承がどうとかそんな話とカンケーないのにな
とっととReactのリポジトリクローンしてgrepすりゃわかるのに
何でその程度のことができないのか
多分そういう意味すらわかってないと思うよ
プロトタイプ継承がどうとかそんな話とカンケーないのにな
とっととReactのリポジトリクローンしてgrepすりゃわかるのに
何でその程度のことができないのか
647デフォルトの名無しさん
2023/11/23(木) 19:34:58.02ID:5s3/w8/I src/foo/bar.jsの124行目見てどう思うプギャー
とやればいいだけなのになぜかやらない
とやればいいだけなのになぜかやらない
648デフォルトの名無しさん
2023/11/23(木) 21:12:25.76ID:FMewW6Qw >>629
それは理解がおかしい
浅い深いのコピーの分類ではうまくいかなかったのが歴史
それが所有権の概念とムーブセマンティクスの導入で整理されたのが今の状態
浅いと言っていたのがムーブで深いのがコピー
ヒープがどうのこうのってのは間接的なこと
そもそもヒープが単一って前提もc++にはない
それは理解がおかしい
浅い深いのコピーの分類ではうまくいかなかったのが歴史
それが所有権の概念とムーブセマンティクスの導入で整理されたのが今の状態
浅いと言っていたのがムーブで深いのがコピー
ヒープがどうのこうのってのは間接的なこと
そもそもヒープが単一って前提もc++にはない
649デフォルトの名無しさん
2023/11/23(木) 21:20:40.39ID:FMewW6Qw >>634
まぁ判断は難しいね
下手に表現力が高かったがために、一見言語組み込みでやるべきものの多くがユーザー側で実現されてきた
様々なテクニックが発見され発展速度向上には寄与しただろうが一方で深い考察のなく導入された結果仕様の複雑さを招いた
個人的にはエラーメッセージ見ても何が悪いのかすぐに理解できない代物になったのは許せないね
まぁ判断は難しいね
下手に表現力が高かったがために、一見言語組み込みでやるべきものの多くがユーザー側で実現されてきた
様々なテクニックが発見され発展速度向上には寄与しただろうが一方で深い考察のなく導入された結果仕様の複雑さを招いた
個人的にはエラーメッセージ見ても何が悪いのかすぐに理解できない代物になったのは許せないね
650デフォルトの名無しさん
2023/11/23(木) 21:32:54.70ID:12+j04nO C++のテンプレートはCのマクロ文化を止めたかったんでしょ
メタプロガチ勢が頑張りすぎてカオスになったけど功績は大きいと思う
メタプロガチ勢が頑張りすぎてカオスになったけど功績は大きいと思う
651デフォルトの名無しさん
2023/11/23(木) 21:58:33.69ID:hsLNP7GU ディープコピーを知らずに盛大に恥を晒した某オジがコピーについて語るとか世も末だなw
652デフォルトの名無しさん
2023/11/23(木) 22:09:33.63ID:t7xzkVTj テンプレートはコンテナを矛盾なく書くのがめちゃくちゃ難しいのよ
まず要素の型が実体とポインタ両方に対してうまく動くようにするのは至難の業
例のコピー可能オブジェクトの話とも絡んできて「無理」となる
この辺Rustはよくできてる
イテレータが可変参照なのか共有参照なのか、実体なのかによってきちんと分けられている
C++で困った部分を完全に解決してくれてる
Rust素晴らしい
まず要素の型が実体とポインタ両方に対してうまく動くようにするのは至難の業
例のコピー可能オブジェクトの話とも絡んできて「無理」となる
この辺Rustはよくできてる
イテレータが可変参照なのか共有参照なのか、実体なのかによってきちんと分けられている
C++で困った部分を完全に解決してくれてる
Rust素晴らしい
653デフォルトの名無しさん
2023/11/23(木) 22:28:06.68ID:0De2U7us654デフォルトの名無しさん
2023/11/23(木) 23:13:27.00ID:FMewW6Qw そりゃSTLで満足してる間はそれでいいだろ
アロケーターを指定したことないだろ?
アロケーターを指定したことないだろ?
655デフォルトの名無しさん
2023/11/23(木) 23:28:00.45ID:M3SMKrV5 むかしはSTLがない環境も多かったからね
windows環境ではクソ遅かったせいか
完全にないものと扱う奴さえいた
windows環境ではクソ遅かったせいか
完全にないものと扱う奴さえいた
656デフォルトの名無しさん
2023/11/23(木) 23:30:28.39ID:0De2U7us >>654,655
じゃ今のSTLは問題ないで良いのかな?
じゃ今のSTLは問題ないで良いのかな?
657デフォルトの名無しさん
2023/11/23(木) 23:37:07.63ID:u/H26W0M >>652
そこに加えてRustはスタック領域も扱えるからさらにヒープ使用を減らせるところ
そこに加えてRustはスタック領域も扱えるからさらにヒープ使用を減らせるところ
658デフォルトの名無しさん
2023/11/23(木) 23:37:56.70ID:09UkZirn 問題ないと問われればあるだろうね
ただよく訓練されたC++使いは気に入らないと文句を垂れても仕方ない事もよく理解してるから
その環境で可能な別の手段を用いるだけだよ
ただよく訓練されたC++使いは気に入らないと文句を垂れても仕方ない事もよく理解してるから
その環境で可能な別の手段を用いるだけだよ
659デフォルトの名無しさん
2023/11/23(木) 23:39:53.17ID:0De2U7us660デフォルトの名無しさん
2023/11/23(木) 23:48:05.78ID:09UkZirn どのような問題かなんて別の手段で解決した後に覚えてるわけないじゃん
何でも欲しがりさんには判らないか
何でも欲しがりさんには判らないか
661デフォルトの名無しさん
2023/11/23(木) 23:58:49.29ID:0De2U7us >>660
示せないなら問題あるなんて言ってはいかんだろうよ?
示せないなら問題あるなんて言ってはいかんだろうよ?
662デフォルトの名無しさん
2023/11/24(金) 00:21:55.00ID:oZLKiYTi C++はSTLを一応擁しているけど、各プロジェクトで、もうちょっと軽量で自分とこ向きのコンテナ持ってるとこが多い
異論は認める
異論は認める
663デフォルトの名無しさん
2023/11/24(金) 00:29:35.14ID:qKRvRsRu664デフォルトの名無しさん
2023/11/24(金) 00:31:58.77ID:oZLKiYTi 俺はSTLが重厚すぎて自分の手に負えないと思ってるので、なんとも。
STLにもバリエーションがあるのは承知していて、あんまり幅広く試せてないってのも。
ただし、依存(include)してるプロジェクトは当然あるし、試作には便利なので、ないのは困る。
STLにもバリエーションがあるのは承知していて、あんまり幅広く試せてないってのも。
ただし、依存(include)してるプロジェクトは当然あるし、試作には便利なので、ないのは困る。
665デフォルトの名無しさん
2023/11/24(金) 07:39:29.33ID:eRQLkcC1666デフォルトの名無しさん
2023/11/24(金) 08:38:00.98ID:4SGglGUV■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国国営メディア「沖縄は日本ではない」… ★6 [BFU★]
- 高市政権にパイプ役不在…日中高まる緊張 公明党の連立離脱影響、自民内にも懸念「自分でまいた種は自分で刈り取ってもらわないと」★2 [ぐれ★]
- 【速報】 日経平均の下落率3%超す、財政懸念で長期金利上昇 [お断り★]
- ナイツ塙が指摘のローソンコーヒーカップ、ロゴ「L」で誤解生みデザイン変更へ 在庫使い切る3か月後にリニューアル [muffin★]
- 【速報】 高市政権、「日本版DOGE」を立ち上げ 米国で歳出削減をした「政府効率化省(DOGE)」になぞらえたもの [お断り★]
- バービー、 台湾有事の発言の波紋で「たまったもんじゃない」「高市さんに真意は聞きたい」「国民に向けて説明してほしい」 [muffin★]
- 【悲報】早速高市首相のせいで全国の民泊でキャンセルラッシュwwwwwwwwwwww 経営者も嘆き「こんな事は初めてだ…」😲 [871926377]
- 映画「ゼルダの伝説」、リンクとゼルダ姫が白人になってしまう。日本のものは日本人だろうが!! [592058334]
- 中国「高市が謝罪撤回しないとこれ全部なくなるけどどうする?」 [931948549]
- 高市早苗「株やってる奴ザマァwww格差是正のためにも、もっと暴落した方がいいよwww」(´・ω・`)確かに。 [252835186]
- んなっしょい🍬禁止🈲のお🏡
- お前らSteam Machine買うンゴ?wwwwwwww
