公式
https://www.rust-lang.org/
https://blog.rust-lang.org/
https://github.com/rust-lang/rust
Web上の実行環境
https://play.rust-lang.org
日本語の情報
https://rust-jp.rs/
※Rustを学びたい人はまず最初に公式のThe Bookを読むこと
https://doc.rust-lang.org/book/
※Rustを学ぶ際に犯しがちな12の過ち
https://dystroy.org/blog/how-not-to-learn-rust
※Rustのasyncについて知りたければ「async-book」は必読
https://rust-lang.github.io/async-book/
※次スレは原則>>980が立てること
前スレ
Rust part16
探検
Rust part17
レス数が1000を超えています。これ以上書き込みはできません。
2022/10/06(木) 22:43:13.96ID:Re0G7B20
2022/10/06(木) 22:43:37.18ID:Re0G7B20
Rust The Book (日本語版)
https://doc.rust-jp.rs/book-ja/
Rust edition guide (日本語版)
https://doc.rust-jp.rs/edition-guide/
Rust by example (日本語版)
https://doc.rust-jp.rs/rust-by-example-ja/
Rust cookbook (日本語版)
https://uma0317.github.io/rust-cookbook-ja/
Rust API guideline (日本語版)
https://sinkuu.github.io/api-guidelines/
Rust nomicon book (日本語版)
https://doc.rust-jp.rs/rust-nomicon-ja/
Rust async book (日本語版)
https://async-book-ja.netlify.app/
Rust WASM book (日本語版)
https://moshg.github.io/rustwasm-book-ja/
Rust embeded book (日本語版)
https://tomoyuki-nakabayashi.github.io/book/
Rust enbeded discovery (日本語版)
https://tomoyuki-nakabayashi.github.io/discovery/
Rust Design Patterns (日本語版)
https://qiita.com/Yappii_111/items/4ccc3a8461cdd4035651
https://qiita.com/Yappii_111/items/654717e6a6a980722189
Rust API guideline (日本語版)
https://sinkuu.github.io/api-guidelines/
https://doc.rust-jp.rs/book-ja/
Rust edition guide (日本語版)
https://doc.rust-jp.rs/edition-guide/
Rust by example (日本語版)
https://doc.rust-jp.rs/rust-by-example-ja/
Rust cookbook (日本語版)
https://uma0317.github.io/rust-cookbook-ja/
Rust API guideline (日本語版)
https://sinkuu.github.io/api-guidelines/
Rust nomicon book (日本語版)
https://doc.rust-jp.rs/rust-nomicon-ja/
Rust async book (日本語版)
https://async-book-ja.netlify.app/
Rust WASM book (日本語版)
https://moshg.github.io/rustwasm-book-ja/
Rust embeded book (日本語版)
https://tomoyuki-nakabayashi.github.io/book/
Rust enbeded discovery (日本語版)
https://tomoyuki-nakabayashi.github.io/discovery/
Rust Design Patterns (日本語版)
https://qiita.com/Yappii_111/items/4ccc3a8461cdd4035651
https://qiita.com/Yappii_111/items/654717e6a6a980722189
Rust API guideline (日本語版)
https://sinkuu.github.io/api-guidelines/
2022/10/06(木) 22:43:46.54ID:Re0G7B20
Rust CLI (Command Line Interface) apps Book
https://rust-cli.github.io/book/
Rust macro Book
https://danielkeep.github.io/tlborm/book/
Rust Future Book
https://cfsamson.github.io/books-futures-explained/
Rust async-std Book
https://book.async.rs/
Rust tokio Book
https://tokio.rs/tokio/tutorial
Rust rustc Book
https://doc.rust-lang.org/rustc/
Rust rustdoc Book
https://doc.rust-lang.org/rustdoc/
Rust rustup Book
https://rust-lang.github.io/rustup/
Rust Cargo Book
https://doc.rust-lang.org/cargo/
Rust unstable Book
https://doc.rust-lang.org/nightly/unstable-book/
Rust Reference
https://doc.rust-lang.org/reference/
Rust Standard Library
https://doc.rust-lang.org/std/
https://rust-cli.github.io/book/
Rust macro Book
https://danielkeep.github.io/tlborm/book/
Rust Future Book
https://cfsamson.github.io/books-futures-explained/
Rust async-std Book
https://book.async.rs/
Rust tokio Book
https://tokio.rs/tokio/tutorial
Rust rustc Book
https://doc.rust-lang.org/rustc/
Rust rustdoc Book
https://doc.rust-lang.org/rustdoc/
Rust rustup Book
https://rust-lang.github.io/rustup/
Rust Cargo Book
https://doc.rust-lang.org/cargo/
Rust unstable Book
https://doc.rust-lang.org/nightly/unstable-book/
Rust Reference
https://doc.rust-lang.org/reference/
Rust Standard Library
https://doc.rust-lang.org/std/
2022/10/06(木) 22:43:58.88ID:Re0G7B20
☆WebAssembly(WASM) https://webassembly.org/ https://ja.m.wikipedia.org/wiki/WebAssembly
・Wasmer - The Universal WebAssembly Runtime https://wasmer.io/
-> WASI(WebAssembly System Interface)とEmscriptenに準拠したWASMを実行できるランタイム
・WAPM - WebAssembly Package Manager https://wapm.io/
-> WebAssembly製ツール/ライブラリのパッケージマネージャー
☆Rust
・wasm-pack - your favorite rust -> wasm workflow tool!
https://github.com/rustwasm/wasm-pack
-> WebAssemblyのrustcコンパイルサポート
・Yew - Rust / Wasm framework for building client web apps https://yew.rs/ja/
-> WebAssembly によってマルチスレッドな Web アプリのフロントエンドを作ることができる、モダンな Rust のフレームワーク
☆最近のWebAssemblyのニュース
・Publickey - Enterprise IT × Cloud Computing × Web Technology / Blog より https://www.publickey1.jp/programming-lang/webassembly/
・WebAssembly活用プロジェクト https://madewithwebassembly.com/
・WebAssemblyが気になるので調べてみた - Qiita https://qiita.com/t_katsumura/items/ff379aaaba6931aad1c4
・WASMとRustはVue.js/React.jsを打倒するのか? - JSへの侵略の歴史 https://zenn.dev/koduki/articles/c07db4179bb7b86086a1
・Typescriptの次はRustかもしれない https://zenn.dev/akfm/articles/81713d4c1275ac64a75c
・WebAssemblyはJVMやeBPFのリバイバルではない WasmがWeb以外でもアツい理由 - ログミーTech https://logmi.jp/tech/articles/324956
・Rust GUI の決定版! Tauri を使ってクロスプラットフォームなデスクトップアプリを作ろう https://zenn.dev/kumassy/books/6e518fe09a86b2
類似スレ
【wasm】ブラウザでC++。Emscriptenを語ろう https://mevius.5ch.net/test/read.cgi/tech/1547549448/
・Wasmer - The Universal WebAssembly Runtime https://wasmer.io/
-> WASI(WebAssembly System Interface)とEmscriptenに準拠したWASMを実行できるランタイム
・WAPM - WebAssembly Package Manager https://wapm.io/
-> WebAssembly製ツール/ライブラリのパッケージマネージャー
☆Rust
・wasm-pack - your favorite rust -> wasm workflow tool!
https://github.com/rustwasm/wasm-pack
-> WebAssemblyのrustcコンパイルサポート
・Yew - Rust / Wasm framework for building client web apps https://yew.rs/ja/
-> WebAssembly によってマルチスレッドな Web アプリのフロントエンドを作ることができる、モダンな Rust のフレームワーク
☆最近のWebAssemblyのニュース
・Publickey - Enterprise IT × Cloud Computing × Web Technology / Blog より https://www.publickey1.jp/programming-lang/webassembly/
・WebAssembly活用プロジェクト https://madewithwebassembly.com/
・WebAssemblyが気になるので調べてみた - Qiita https://qiita.com/t_katsumura/items/ff379aaaba6931aad1c4
・WASMとRustはVue.js/React.jsを打倒するのか? - JSへの侵略の歴史 https://zenn.dev/koduki/articles/c07db4179bb7b86086a1
・Typescriptの次はRustかもしれない https://zenn.dev/akfm/articles/81713d4c1275ac64a75c
・WebAssemblyはJVMやeBPFのリバイバルではない WasmがWeb以外でもアツい理由 - ログミーTech https://logmi.jp/tech/articles/324956
・Rust GUI の決定版! Tauri を使ってクロスプラットフォームなデスクトップアプリを作ろう https://zenn.dev/kumassy/books/6e518fe09a86b2
類似スレ
【wasm】ブラウザでC++。Emscriptenを語ろう https://mevius.5ch.net/test/read.cgi/tech/1547549448/
2022/10/06(木) 22:44:37.34ID:Re0G7B20
2022/10/07(金) 01:27:41.85ID:YCt9Quz7
>>1
おつ
おつ
7デフォルトの名無しさん
2022/10/07(金) 11:28:42.39ID:d4ub3t4L2022/10/07(金) 12:26:19.13ID:+0mlf9Ez
Null安全でないGC言語のNimに浮気する人
2022/10/07(金) 12:31:49.01ID:7pvxFIpA
Null安全性が入れば雑なスクリプト用としては使えるんだけどな
2022/10/07(金) 13:04:35.78ID:KVLYaA/l
雑なスクリプト用途ならもっとシェアあって長続きしそうな競合が色々あるからなあ
2022/10/07(金) 13:36:57.50ID:yqDZzsii
Rustも意外に雑に手軽に書けるケースが多いと分かってきた
数値以外は先にスタック上に変数を用意(=メモリ確保)してしまえば
後はその参照を使ってアクセスするだけで所有権もライフタイムも気にせず気楽にコーディングできるんだな
数値以外は先にスタック上に変数を用意(=メモリ確保)してしまえば
後はその参照を使ってアクセスするだけで所有権もライフタイムも気にせず気楽にコーディングできるんだな
2022/10/07(金) 15:04:20.94ID:xg0qXK5h
lifetimeや所有権よりshared xor mutableの方が煩わしいと感じる人は多そうに思う
2022/10/07(金) 15:24:21.69ID:BlyXu4eU
僕はヌルヌルおまんこは好きですね
2022/10/07(金) 15:25:06.27ID:CNFz94QB
2022/10/07(金) 15:53:22.67ID:5wCZEj21
スレッド内ならばCellが使えるから可変性も自由自在だよ
2022/10/07(金) 15:57:51.33ID:4o6UHnyi
Cellを使ったら負け
2022/10/07(金) 16:08:39.72ID:CWgGAn1/
Cellは安全性・高速性・利便性を両立するRustの最重要パーツの一つ
2022/10/07(金) 16:27:35.67ID:tZ5nTuVj
だんだんトンデモスレになってきてるね
2022/10/07(金) 16:33:32.37ID:UzCytJZE
Rust2っていつぐらいになりますか?今のままだと使いづらいです。。。
2022/10/07(金) 16:36:51.77ID:XhwpMEr8
Cellを使わずにshared xor mutableに囚われて不自由なプログラミングしている初心者は意外と多いね
2022/10/07(金) 16:38:47.86ID:+z0uh25z
>>18
真に受けて複オジ2世が生まれないことを願ってる
真に受けて複オジ2世が生まれないことを願ってる
2022/10/07(金) 16:49:17.62ID:Znh4X5V+
Cellの利便性を知らない初心者がいるのは直感に反するからだろう
Cellは可変参照なくても非可変参照だけで書き換えられるからな
Cellは可変参照なくても非可変参照だけで書き換えられるからな
2022/10/07(金) 16:51:07.23ID:BSEaYe20
Cellを使うデメリットはないの?
ないならデフォルトがCell相当になっててもよさそう
ないならデフォルトがCell相当になっててもよさそう
2022/10/07(金) 16:56:27.41ID:Znh4X5V+
2022/10/07(金) 17:20:16.20ID:Znh4X5V+
誤解のないように言えば
スレッドを使わずにシングルスレッドの状況でももちろんCellを使える
スレッドを使わずにシングルスレッドの状況でももちろんCellを使える
2022/10/07(金) 17:44:54.27ID:0oTv+2yR
組み込みとかだとヒープの利用が難しいので自然とスタックメインになる
27はちみつ餃子 ◆8X2XSCHEME
2022/10/07(金) 17:45:11.12ID:uxbzrjvk2022/10/07(金) 17:53:21.56ID:xg0qXK5h
>>27
それはRefCellでは
それはRefCellでは
2022/10/07(金) 17:55:50.86ID:Znh4X5V+
30はちみつ餃子 ◆8X2XSCHEME
2022/10/07(金) 18:21:14.63ID:uxbzrjvk そっかー。
2022/10/07(金) 19:26:54.49ID:CNFz94QB
CellはCopy traitが必要なので場合によってはとんでなくパフォーマンスが劣化する場合がある
単なる数値なら問題はないが
単なる数値なら問題はないが
2022/10/07(金) 19:45:02.34ID:Znh4X5V+
>>31
そんなことはない
Cell<T>のTは完全に自由でありCopy要件はない
Cellで数値だけでなくVecやString等も自由に使える
例外的に一部のメソッドはCopy要件を持つがそれはOption<T>等でも同じでありそのメソッド特定のみの話
そんなことはない
Cell<T>のTは完全に自由でありCopy要件はない
Cellで数値だけでなくVecやString等も自由に使える
例外的に一部のメソッドはCopy要件を持つがそれはOption<T>等でも同じでありそのメソッド特定のみの話
2022/10/07(金) 19:48:12.01ID:xg0qXK5h
>>31
Cell::takeやCell::replaceなど追加されたのでCopyを実装してない型でも使えるよ
StringやVecなどCopyできない型を扱う場合でも
元の値をtakeして更新後replaceするなどうまく書けばそれほど非効率にもならない
Cell::takeやCell::replaceなど追加されたのでCopyを実装してない型でも使えるよ
StringやVecなどCopyできない型を扱う場合でも
元の値をtakeして更新後replaceするなどうまく書けばそれほど非効率にもならない
2022/10/07(金) 19:52:07.74ID:xg0qXK5h
CellやRefCellはshared xor mutableを知った上で適切に使った方が良いと思うので
初学者へ勧めるべきかというと微妙な気はするなあ
初学者へ勧めるべきかというと微妙な気はするなあ
2022/10/07(金) 19:58:58.94ID:Znh4X5V+
2022/10/07(金) 20:08:27.14ID:YCt9Quz7
何がしたいの?
2022/10/07(金) 20:16:39.71ID:CNFz94QB
38デフォルトの名無しさん
2022/10/07(金) 20:49:01.57ID:3/fEI9MA >>33
Cellの更新はset()で十分だね
もちろんreplace()してoldを捨てるのと同じ
>>37
take()はdefault値とのreplace()と同じ
これは気持ち悪いことでも何でもなくて
例えばmutableなOption<T>を維持しながら扱う時と同じ操作
その場合もSome(T)からTを取り出す時にdefault値と入れ替えるtake()を使うよね
何かが入っていないと未定義になるからその身代わり
もちろんすぐに更新する場合は概念上だけの扱いとみなせるし
実際の生成コードでもdefault値が入るコードは最適化で消えちゃう
未定義状態を避けるための自然な操作と捉えてよいかと
Cellの更新はset()で十分だね
もちろんreplace()してoldを捨てるのと同じ
>>37
take()はdefault値とのreplace()と同じ
これは気持ち悪いことでも何でもなくて
例えばmutableなOption<T>を維持しながら扱う時と同じ操作
その場合もSome(T)からTを取り出す時にdefault値と入れ替えるtake()を使うよね
何かが入っていないと未定義になるからその身代わり
もちろんすぐに更新する場合は概念上だけの扱いとみなせるし
実際の生成コードでもdefault値が入るコードは最適化で消えちゃう
未定義状態を避けるための自然な操作と捉えてよいかと
2022/10/07(金) 21:02:50.21ID:CNFz94QB
>>38
うーむ確かにそう言われるとむしろRust Wayな気がしてきた
うーむ確かにそう言われるとむしろRust Wayな気がしてきた
2022/10/07(金) 21:12:11.57ID:4RElSAp/
不必要にCellを使ってみたくなるのはRust厨二病によくみられる症状
悪影響は少ないから温かく見守っておけばそのうち治るよ
悪影響は少ないから温かく見守っておけばそのうち治るよ
2022/10/07(金) 21:18:22.03ID:7pvxFIpA
まとめると実行時に値を書き換えたいオブジェクトにはCellを使う
書き込む場合はset
読み込む場合はtakeを使う
RefCellはオワコン
書き込む場合はset
読み込む場合はtakeを使う
RefCellはオワコン
2022/10/07(金) 21:30:00.49ID:Znh4X5V+
>>40
内部可変性を知らないのかな?
Cellは内部可変性を与えるものであり
& mutに縛られずにコーディングの自由度を上げるだけでなく
この内部可変性を使わないと記述できない場合もあるほど重要なもの
内部可変性を知らないのかな?
Cellは内部可変性を与えるものであり
& mutに縛られずにコーディングの自由度を上げるだけでなく
この内部可変性を使わないと記述できない場合もあるほど重要なもの
2022/10/07(金) 22:49:11.13ID:xg0qXK5h
> inherited mutability is preferred, and interior mutability is something of a last resort.
内部可変性は必要な時だけつかうべき
https://doc.rust-lang.org/std/cell/
内部可変性は必要な時だけつかうべき
https://doc.rust-lang.org/std/cell/
44デフォルトの名無しさん
2022/10/07(金) 23:05:27.46ID:3/fEI9MA スレッド間での共有ができないからその場合は内部可変性を避けないとコンパイルエラーとなっちゃう
しかし共有しないものならばいつでも安全に使うことが出来ます
不自由なプログラミングをしてまで内部可変性の利用を避ける必要はありません
そのような場合にはむしろ使うべき時ですよ
しかし共有しないものならばいつでも安全に使うことが出来ます
不自由なプログラミングをしてまで内部可変性の利用を避ける必要はありません
そのような場合にはむしろ使うべき時ですよ
2022/10/07(金) 23:15:28.30ID:GE9TWYxP
The Bookの内容も理解してないようだから厨二病というより厨一病だねぇ
2022/10/07(金) 23:27:40.94ID:Znh4X5V+
2022/10/07(金) 23:41:21.31ID:xg0qXK5h
>>46
!Syncが許容される場面では常にCellを使うべきだと考えていますか?
!Syncが許容される場面では常にCellを使うべきだと考えていますか?
2022/10/07(金) 23:44:26.62ID:Znh4X5V+
2022/10/07(金) 23:59:28.46ID:v90MyUH0
Cellは安全なだけでなく
実行コストもかからないし
データ設計の幅も広がるし
メリットだらけだよね
実行コストもかからないし
データ設計の幅も広がるし
メリットだらけだよね
2022/10/08(土) 00:00:53.53ID:74M5kg9b
後で読むからブログにでもまとめといて
2022/10/08(土) 00:05:55.63ID:PJN/h6/8
Cellを嫌ってる人って何かの病気なの?
数ある型の一つに過ぎないのに
数ある型の一つに過ぎないのに
2022/10/08(土) 00:09:24.75ID:STUNJ/8C
2022/10/08(土) 00:21:36.43ID:iVJbbbtq
Cell使わずにshared xor mutableの制限で苦しんでいる人は単なるバカ
2022/10/08(土) 00:35:12.49ID:D3DCz8sQ
CellとかRefCellってRustの本にも殆ど解説がないよな
ちょろっとおまけ程度にしかない
これなしでは現実的なプログラム書けないと思うのだが本の著者らはRustを理解してないんだろうか
ちょろっとおまけ程度にしかない
これなしでは現実的なプログラム書けないと思うのだが本の著者らはRustを理解してないんだろうか
2022/10/08(土) 00:52:04.60ID:2tIWkITu
>>54
書籍は見たことないから知らなかったけどそうなのか
自分が使っている著名なcratesのソースを見てみるとCellを使っているcrateも多い
だから普通に皆がCellを使っていてそこにタブーは無いようだ
まあ当たり前か
書籍は見たことないから知らなかったけどそうなのか
自分が使っている著名なcratesのソースを見てみるとCellを使っているcrateも多い
だから普通に皆がCellを使っていてそこにタブーは無いようだ
まあ当たり前か
2022/10/08(土) 00:58:18.16ID:QzbKhEyQ
Cellなしでは現実的なプログラム書けないというのは言い過ぎ
ある種のプログラムではCellが必要になるくらいが適当では
ある種のプログラムではCellが必要になるくらいが適当では
2022/10/08(土) 01:04:15.77ID:2tIWkITu
Cellが必須となるプログラムと
Cellが必須でないプログラムがあるだけだよな
まあこれも当たり前かw
Cellが必須でないプログラムがあるだけだよな
まあこれも当たり前かw
58デフォルトの名無しさん
2022/10/08(土) 01:12:26.49ID:M3iYd9Ol Rustで日本が変わる!世界が変わる!
などとほざいてる人は自分では使っていないと思う。
使ってたら、ウーン、こりゃ使えんなあ・・・って言ってると思う。
などとほざいてる人は自分では使っていないと思う。
使ってたら、ウーン、こりゃ使えんなあ・・・って言ってると思う。
2022/10/08(土) 01:34:11.88ID:2tIWkITu
Rustは今までに登場したプログラミング言語の中では一番使いやすく効率がいい程度だな
世界や日本がどうなろうとどうでもいいが
理解できない人たちとの不利有利の二極化は起こるだろう
世界や日本がどうなろうとどうでもいいが
理解できない人たちとの不利有利の二極化は起こるだろう
2022/10/08(土) 03:41:06.69ID:D3DCz8sQ
2022/10/08(土) 05:12:58.83ID:ci/6kpez
各crateのソース調べたらtokioもasync-stdもwasm-bindgenもCell使ってるな
別方面でtauriもyewもeguiもCell使ってるな
他にもproc macro用のsynとかCLI用のclapとか様々なcrateがCell使ってるな
この状況を見るとCellは普通に使って当然っぽい
別方面でtauriもyewもeguiもCell使ってるな
他にもproc macro用のsynとかCLI用のclapとか様々なcrateがCell使ってるな
この状況を見るとCellは普通に使って当然っぽい
62デフォルトの名無しさん
2022/10/08(土) 10:23:03.05ID:2effy6oa >>38
それってCellから取り出した値がdefaultだった時の処理を書かないとならないんじゃないんですか?
それってCellから取り出した値がdefaultだった時の処理を書かないとならないんじゃないんですか?
2022/10/08(土) 10:55:13.71ID:/5aPtbi3
2022/10/08(土) 10:59:24.30ID:HCP3bqwV
Cellはスレッドローカルの共有状態を管理する時に使う
カウンタとかフラグとか
shared mutability自体多用するもんじゃないからその辺をよく考えてね
カウンタとかフラグとか
shared mutability自体多用するもんじゃないからその辺をよく考えてね
2022/10/08(土) 10:59:37.80ID:kYZ69ulT
>>54
Cの入門本の8割はmallocの使い方を説明してない
Cの入門本の8割はmallocの使い方を説明してない
2022/10/08(土) 13:18:33.57ID:HbWzH6SV
どうせなら不変な部分を取り出せるようにしてすればよかったのにな。
参照カウントみたいなどこでも付いて回るのは厄介だけど。
参照カウントみたいなどこでも付いて回るのは厄介だけど。
2022/10/08(土) 13:48:31.81ID:D3DCz8sQ
2022/10/08(土) 14:04:15.39ID:cMY3Tlwa
カジュアルにCellを使って欲しくないからだよ
よく考えて使わないとバグのもとだから
必要な人向けにはリファレンスで詳しく解説してる
よく考えて使わないとバグのもとだから
必要な人向けにはリファレンスで詳しく解説してる
2022/10/08(土) 18:26:38.20ID:r98Hfriq
>>62
マルチスレッド間共有していないから
空っぽの時に知らぬ間にアクセスされることはないよ
だから大丈夫
そしてすぐに更新することで最適化される
あとはプログラムの組み立て方の話であって言語による管轄の話ではないね
マルチスレッド間共有していないから
空っぽの時に知らぬ間にアクセスされることはないよ
だから大丈夫
そしてすぐに更新することで最適化される
あとはプログラムの組み立て方の話であって言語による管轄の話ではないね
2022/10/08(土) 19:07:57.58ID:vMI7I1P7
interior mutabilityを持ち所有権を自分が持たないケースは特殊だから説明した方がいいかもしれないが、
interior mutabilityを持ち所有権を自分が持つケースは普通の事だからわざわざ説明するまでもない。
write lockを取るからborrow checkが実行時に遅延されるのも説明しないといけないし。
interior mutabilityを持ち所有権を自分が持つケースは普通の事だからわざわざ説明するまでもない。
write lockを取るからborrow checkが実行時に遅延されるのも説明しないといけないし。
2022/10/08(土) 19:14:27.64ID:N7i/LeD2
Cellの使い方教えればRustユーザーも増えると思うな
所有権そのものより副作用を簡単には許さないところにハードルがあるから
所有権そのものより副作用を簡単には許さないところにハードルがあるから
2022/10/08(土) 19:30:29.77ID:Xn47a3bW
2022/10/08(土) 20:24:05.46ID:QzbKhEyQ
カジュアルに使うならマルチスレッドでも使えるMutex使っておけばよいのではという気もするが
2022/10/08(土) 21:19:30.79ID:BDP0djZ+
CellはCにおけるグローバル変数と同じで真に必要な時以外は極力避けるべきもの
ましてやRustの基本的考え方に慣れてないうちから使うべきものじゃない
ましてやRustの基本的考え方に慣れてないうちから使うべきものじゃない
2022/10/08(土) 22:01:30.85ID:LnEoG2Yz
2022/10/08(土) 22:04:07.45ID:QzbKhEyQ
>>75
ロックのオーバーヘッドを気にする必要があるのはカジュアルに含まれません
ロックのオーバーヘッドを気にする必要があるのはカジュアルに含まれません
2022/10/08(土) 22:06:04.90ID:aSXXl0gc
immutableなのがいいと言いつつ
mutやinterior mutabilityを結局使わせるダサさなw
mutやinterior mutabilityを結局使わせるダサさなw
2022/10/08(土) 22:39:37.88ID:K1piK/7g
>>76
Cell<T>ならスレッド内部専用の代わりにロックがなくてTと同じコストで使えるからオススメ
Cell<T>ならスレッド内部専用の代わりにロックがなくてTと同じコストで使えるからオススメ
2022/10/08(土) 22:40:45.08ID:QzbKhEyQ
immutableだけで書きたければそうすれば良いのでは
そのアプローチに窮屈さを感じる人が大半だからshared xor mutableという安全に使えるサブセットが生み出されたわけで
そのアプローチに窮屈さを感じる人が大半だからshared xor mutableという安全に使えるサブセットが生み出されたわけで
2022/10/08(土) 22:42:33.20ID:QzbKhEyQ
>>78
ただしマルチスレッド対応させようとすると書き換えが必要だし性能面に大きなこだわりがないなら最初からMutexにした方が良いのでは
Cell<T>はランタイムコスト面ではTと同じかもしれないけどコード記述は結局
ただしマルチスレッド対応させようとすると書き換えが必要だし性能面に大きなこだわりがないなら最初からMutexにした方が良いのでは
Cell<T>はランタイムコスト面ではTと同じかもしれないけどコード記述は結局
2022/10/08(土) 22:43:05.48ID:QzbKhEyQ
途中で書き込んでしまった
コードの記述の面ではTとは異なるから同じ使い心地にはならないよね
コードの記述の面ではTとは異なるから同じ使い心地にはならないよね
2022/10/08(土) 22:53:58.00ID:IDy6SwOh
>>80
それは君が勘違いをしている
Cellはマルチスレッドであってもスレッド内で使用することができる
Mutexを使うべき時はマルチスレッドのスレッド間で共有メモリとする時
排他制御のためMutexはコストが重い
したがって両者を互いに代用することは有り得ない
それは君が勘違いをしている
Cellはマルチスレッドであってもスレッド内で使用することができる
Mutexを使うべき時はマルチスレッドのスレッド間で共有メモリとする時
排他制御のためMutexはコストが重い
したがって両者を互いに代用することは有り得ない
2022/10/09(日) 00:09:47.59ID:RlW+XoWS
よくわかんないんだけどMutex<Cell<T>>は有効なの?
2022/10/09(日) 01:31:18.81ID:LqCUQ5jH
>>83
無効ではない
しかしMutex<T>はlockを取れたら& mut Tも得られて書き込みも可能なのでCellは不要
例えば
fn main() {
let m = Mutex::new(Vec::new());
sub(&m);
let v = m.lock().unwrap();
assert_eq!(*v, [123, 456]);
}
fn sub(m: &Mutex<Vec<i32>>) {
let mut v = m.lock().unwrap();
v.push(123);
v.push(456);
}
つまりMutexの可変参照をもっていなくても内部の可変性を得られる
ようするにCellで内部可変性を得られるのと同じ
だからMutex<Cell<T>>と二段に重ねる必要はない
無効ではない
しかしMutex<T>はlockを取れたら& mut Tも得られて書き込みも可能なのでCellは不要
例えば
fn main() {
let m = Mutex::new(Vec::new());
sub(&m);
let v = m.lock().unwrap();
assert_eq!(*v, [123, 456]);
}
fn sub(m: &Mutex<Vec<i32>>) {
let mut v = m.lock().unwrap();
v.push(123);
v.push(456);
}
つまりMutexの可変参照をもっていなくても内部の可変性を得られる
ようするにCellで内部可変性を得られるのと同じ
だからMutex<Cell<T>>と二段に重ねる必要はない
2022/10/09(日) 01:46:07.36ID:NMoxe/se
2022/10/09(日) 01:48:31.99ID:2Hsnp4rW
>>82
ランタイムコストが無視できる場合はMutexが使えるけどCellが使えないシチュエーションはないよね
カジュアル用途なら大は小を兼ねる的な意味でCellよりMutexの方が良いのでは?
Cellにすべき理由あるの?
ランタイムコストが無視できる場合はMutexが使えるけどCellが使えないシチュエーションはないよね
カジュアル用途なら大は小を兼ねる的な意味でCellよりMutexの方が良いのでは?
Cellにすべき理由あるの?
2022/10/09(日) 01:49:26.64ID:2Hsnp4rW
>>86
一文目逆だった。MutexがCellを置き換えられない場合はないよね、と言いたかった
一文目逆だった。MutexがCellを置き換えられない場合はないよね、と言いたかった
2022/10/09(日) 01:53:55.32ID:LqCUQ5jH
2022/10/09(日) 02:00:16.80ID:NMoxe/se
というかRustマジで良くできてんな
考え尽くされてるわ
考え尽くされてるわ
2022/10/09(日) 02:01:56.84ID:Z8ziuvVg
要するに変数は全部Cellで囲っておけばいいんでしょ
2022/10/09(日) 02:08:28.77ID:2Hsnp4rW
2022/10/09(日) 02:24:40.07ID:zCVUy+MP
Qt使おうかと考えているけど
バインディングライブラリのritualを勧めている人がいたけど
最後のコミットが去年でサポーターが心配なんだけど
結局Cのライブラリ読み込みや既存ライブラリの利用とかどれを使えばいいの?
バインディングライブラリのritualを勧めている人がいたけど
最後のコミットが去年でサポーターが心配なんだけど
結局Cのライブラリ読み込みや既存ライブラリの利用とかどれを使えばいいの?
2022/10/09(日) 03:05:30.55ID:LqCUQ5jH
>>91
それは基本的な理解ができていない
static変数はスレッド間で共有が可能なためその型はSync実装を必要とする
だからCellが使えないのは当たり前
スレッド間で共有する必要がないならば
スレッドローカルに持てばSync実装を必要としないためCellを使える
例えば
thread_local! {
static FOO: Cell<Vec<i32>> = Cell::new(Vec::new());
}
これでスレッド毎に持つことができる
もちろんスレッドを使わないシングルスレッドな状況でも使える
それは基本的な理解ができていない
static変数はスレッド間で共有が可能なためその型はSync実装を必要とする
だからCellが使えないのは当たり前
スレッド間で共有する必要がないならば
スレッドローカルに持てばSync実装を必要としないためCellを使える
例えば
thread_local! {
static FOO: Cell<Vec<i32>> = Cell::new(Vec::new());
}
これでスレッド毎に持つことができる
もちろんスレッドを使わないシングルスレッドな状況でも使える
2022/10/09(日) 04:37:34.70ID:8tdOWvz3
Cellって基本的に値がムーブされるから構造体分はmemcpyが起きると思うんだけどそこはどうなの
RefCellやMutexなら直接参照取れるからそっちの方が効率的だよね
RefCellやMutexなら直接参照取れるからそっちの方が効率的だよね
2022/10/09(日) 04:57:14.58ID:95mox/4o
複オジの嘘に騙される前には少しは頭使え
2022/10/09(日) 05:51:16.25ID:md7RXs4/
隔離スレに帰れ
2022/10/09(日) 05:51:33.43ID:LqCUQ5jH
>>94
memcpyは起きない
Cellに関係なく一般的にムーブはあくまでもRustの言語レベルにおける概念的なもの
したがって生成コードでは無駄なメモリ間のムーブ(コピー)は起きずに最適化される
Cellの場合でも同様に最適化される
&Cell<T>に対してtake()してTを更新してset()するコードは
& mut Tに対してTを更新するコードと同じ生成コードとなる
例えばそれらの比較コード
https://godbolt.org/z/1TY9v33YP
完全に同じ生成コードとなっていることが分かる
つまりCell<T>はTと比較して実行時ゼロコストである
memcpyは起きない
Cellに関係なく一般的にムーブはあくまでもRustの言語レベルにおける概念的なもの
したがって生成コードでは無駄なメモリ間のムーブ(コピー)は起きずに最適化される
Cellの場合でも同様に最適化される
&Cell<T>に対してtake()してTを更新してset()するコードは
& mut Tに対してTを更新するコードと同じ生成コードとなる
例えばそれらの比較コード
https://godbolt.org/z/1TY9v33YP
完全に同じ生成コードとなっていることが分かる
つまりCell<T>はTと比較して実行時ゼロコストである
98デフォルトの名無しさん
2022/10/09(日) 07:01:12.90ID:vVo7+K5Y RustコンパイラとLLVMは凄いなあ
いつでもそうだけど生成コードではがっちり最適化してくれる
抽象的に書いても安全に書いてもCと同じ速さ
いつでもそうだけど生成コードではがっちり最適化してくれる
抽象的に書いても安全に書いてもCと同じ速さ
2022/10/09(日) 11:45:38.50ID:kycCKtGO
おまえも隔離スレに帰れ!ちょっと前にLLVMだから凄い坊があそこで暴れてたけど、ここはgccrsとかやる人の場だ、市ね
100デフォルトの名無しさん
2022/10/09(日) 13:36:44.30ID:1+WY+ral gccrsって使えるようになったの?
101デフォルトの名無しさん
2022/10/09(日) 20:46:00.69ID:yOxuO3a2 Linux6.1ってRustで組んだってこと?
102デフォルトの名無しさん
2022/10/09(日) 22:32:00.35ID:pzhOBcZ9 ドライバ等をRustでも書けるようになるだけ
103デフォルトの名無しさん
2022/10/09(日) 23:29:48.75ID:FY4RBnfH Pattern alternativesってなんですか?和訳のパターンORもよくわかりません
https://doc.rust-lang.org/book/appendix-02-operators.html
https://doc.rust-jp.rs/book-ja/appendix-02-operators.html
https://doc.rust-lang.org/book/appendix-02-operators.html
https://doc.rust-jp.rs/book-ja/appendix-02-operators.html
104デフォルトの名無しさん
2022/10/09(日) 23:53:45.87ID:vVo7+K5Y パターンの代替策
つまり「|」記号が
bit演算のORとしてだけでなく
パターンのORとしても使われるよってこと
つまり「|」記号が
bit演算のORとしてだけでなく
パターンのORとしても使われるよってこと
105デフォルトの名無しさん
2022/10/10(月) 11:32:20.19ID:wEJNunBW106デフォルトの名無しさん
2022/10/10(月) 11:45:42.80ID:wEJNunBW107デフォルトの名無しさん
2022/10/10(月) 18:49:06.89ID:lNBbmc/N Linux Kernel6.1は、Rustへ移行した最初のバージョンとなります。
Rustへ移行することにより、C言語バージョンの世代から、およそ30%の高速化を果たしました。
Rustへ移行することにより、C言語バージョンの世代から、およそ30%の高速化を果たしました。
108デフォルトの名無しさん
2022/10/10(月) 22:52:16.26ID:3WEeN/aN 気分はCelltic!
「実はshared xor mutableってしっくりこないんです!」
「実はshared xor mutableってしっくりこないんです!」
109デフォルトの名無しさん
2022/10/10(月) 23:11:02.61ID:U+uG6kFy >>105
内部可変性を得たい場合
スレッド内ではCell<T>もしくは参照を持ち出したいならRefCell<T>を使う
スレッド内部で普通の共有ならばそれらの&を使う (&mutでなくてもOK)
スレッド内部で所有者が別となる共有ならばそれらのRc<...>を使う
スレッド間では完全排他のMutex<T>もしくはreaders複数可のRwLock<T>を使う
(ただしTがi32やboolならばもっと軽いAtomicI32やAtomicBoolが使える)
スレッド間で共有は所有者が別となるのでそれらのArc<...>を使う
内部可変性を得たい場合
スレッド内ではCell<T>もしくは参照を持ち出したいならRefCell<T>を使う
スレッド内部で普通の共有ならばそれらの&を使う (&mutでなくてもOK)
スレッド内部で所有者が別となる共有ならばそれらのRc<...>を使う
スレッド間では完全排他のMutex<T>もしくはreaders複数可のRwLock<T>を使う
(ただしTがi32やboolならばもっと軽いAtomicI32やAtomicBoolが使える)
スレッド間で共有は所有者が別となるのでそれらのArc<...>を使う
110デフォルトの名無しさん
2022/10/11(火) 18:04:30.49ID:BiNGLwWh >>97
最適化頑張ってるだけでムーブは概念的なものじゃないぞ。RBMMなんだから。
最適化頑張ってるだけでムーブは概念的なものじゃないぞ。RBMMなんだから。
111デフォルトの名無しさん
2022/10/11(火) 19:16:08.16ID:Bl5ahscm moveがmemcpy呼び出しになるかどうかはあくまでも実装の話で
move自体のセマンティクスはデータのコピーを要求しないということが言いたいのでは
最適化offにして構造体サイズ大きくするとmemcpy呼び出されるから、memcpy起きないというのは嘘だけど
move自体のセマンティクスはデータのコピーを要求しないということが言いたいのでは
最適化offにして構造体サイズ大きくするとmemcpy呼び出されるから、memcpy起きないというのは嘘だけど
112デフォルトの名無しさん
2022/10/11(火) 19:23:40.64ID:61VrJvDY >>110
あくまでもRustの言語レベルでの抽象的なレベルではムーブはムーブであってビットコピーの保証はそこには一切ない
そして我々は抽象的な概念に基づいてプログラミングすればよい
生成コードはムーブという抽象的な概念だけを保証して最適化される
だからこそ生成コードではムーブでビットコピーが消え得る
あくまでもRustの言語レベルでの抽象的なレベルではムーブはムーブであってビットコピーの保証はそこには一切ない
そして我々は抽象的な概念に基づいてプログラミングすればよい
生成コードはムーブという抽象的な概念だけを保証して最適化される
だからこそ生成コードではムーブでビットコピーが消え得る
113デフォルトの名無しさん
2022/10/11(火) 19:29:43.10ID:61VrJvDY >>111
memcpyはたまたまムーブの最適化なしのデフォルト状態で行われる可能性のあるコードにすぎないね
Rustの言語としてはmemcpyが必ず行われることなんて全く保証しない
ムーブはもっと上位の概念であってRustが保証するのはその上位の概念のみだね
memcpyはたまたまムーブの最適化なしのデフォルト状態で行われる可能性のあるコードにすぎないね
Rustの言語としてはmemcpyが必ず行われることなんて全く保証しない
ムーブはもっと上位の概念であってRustが保証するのはその上位の概念のみだね
114デフォルトの名無しさん
2022/10/11(火) 19:51:08.13ID:Bl5ahscm115デフォルトの名無しさん
2022/10/11(火) 20:23:10.29ID:iRs2n6UT >>114
実はRefCell構造体のメンバーにCellが使われている(現状)
使用されるメモリサイズ
Cell<T> ← Tと同じサイズ
RefCell<T> ← Tのサイズに加えてborrow管理のために内部で使用するCellサイズ分加算
動作コスト
Cell<T> ← (利用後すぐset()すれば)Tと同じコスト
RefCell<T> ← Tのコストに加えてborrow管理のために内部で使用するCellの読み書き操作コスト分加算
実はRefCell構造体のメンバーにCellが使われている(現状)
使用されるメモリサイズ
Cell<T> ← Tと同じサイズ
RefCell<T> ← Tのサイズに加えてborrow管理のために内部で使用するCellサイズ分加算
動作コスト
Cell<T> ← (利用後すぐset()すれば)Tと同じコスト
RefCell<T> ← Tのコストに加えてborrow管理のために内部で使用するCellの読み書き操作コスト分加算
116デフォルトの名無しさん
2022/10/11(火) 21:44:42.19ID:P/g9+OyI ホント笑っちゃうくらい嘘を散りばめてくるよねw
117デフォルトの名無しさん
2022/10/11(火) 21:58:52.19ID:lchMb24F >>114
RefCellやMutexの方が効率的かという質問については
代用として使うならばそれらの方が遅いでしょう
RefCellはボローチェック処理が必ず入ります
Mutexは排他的ロック処理が入るのでさらに遅いです
RefCellやMutexの方が効率的かという質問については
代用として使うならばそれらの方が遅いでしょう
RefCellはボローチェック処理が必ず入ります
Mutexは排他的ロック処理が入るのでさらに遅いです
118デフォルトの名無しさん
2022/10/11(火) 22:06:38.86ID:Bl5ahscm119デフォルトの名無しさん
2022/10/12(水) 14:10:22.75ID:IRDyECLz ムーブ元の変数が使われないことがわかってるんだから
その変数の領域を使い回せばよいだけでしょ?
普通に考えてコピーとか起きないと思うんだが
その変数の領域を使い回せばよいだけでしょ?
普通に考えてコピーとか起きないと思うんだが
120デフォルトの名無しさん
2022/10/12(水) 18:26:20.15ID:R7/twQcO 自称分かってる人同士のケンカ
121デフォルトの名無しさん
2022/10/12(水) 21:47:16.08ID:TdLmkMrU RefCell使うのはアロケーションを避けたいからでしょ
122デフォルトの名無しさん
2022/10/12(水) 23:29:45.96ID:MmGzrhE7 Cell<T>もTもメモリ領域は同じサイズで性質が異なるだけなのね
Cell<T>の更新はこうなるから
(1) メモリ→value読み出し // take()その1
(2) メモリ←default-value書き込み // take()その2
(3) valueを更新してnew-value
(4) メモリ←new-value書き込み // set()
コンパイラがまともなら(2)の部分はムダと判断して無くせそうね
さらにvalueの更新内容によっては (例えば足し算など算術の場合など)
その後にLLVMが最適化でメモリに対して直接実行する命令コードにするだろうから読み出し書き込みも消えるわけね
Cell<T>の更新はこうなるから
(1) メモリ→value読み出し // take()その1
(2) メモリ←default-value書き込み // take()その2
(3) valueを更新してnew-value
(4) メモリ←new-value書き込み // set()
コンパイラがまともなら(2)の部分はムダと判断して無くせそうね
さらにvalueの更新内容によっては (例えば足し算など算術の場合など)
その後にLLVMが最適化でメモリに対して直接実行する命令コードにするだろうから読み出し書き込みも消えるわけね
123デフォルトの名無しさん
2022/10/13(木) 01:04:10.25ID:v9vBAx/l CopyじゃないStringやVecで&mut selfとるメソッドを試せば違いが分かるよ
124デフォルトの名無しさん
2022/10/13(木) 02:00:58.56ID:m/K7Pbd2 Copyを実装しない適当な構造体
#[derive(Default)]
struct Foo {
inner: i32,
}
の &Cell<Foo> と &mut i32 の両方のケースで
>>122の最適化により同じ生成コードとなるから
Copyを実装してるか否かは関係ないみたい
#[derive(Default)]
struct Foo {
inner: i32,
}
の &Cell<Foo> と &mut i32 の両方のケースで
>>122の最適化により同じ生成コードとなるから
Copyを実装してるか否かは関係ないみたい
125デフォルトの名無しさん
2022/10/13(木) 03:36:21.71ID:Oo+uXzBV126デフォルトの名無しさん
2022/10/13(木) 04:02:18.88ID:cMF4wuqy アロケーション発生しなくても(i32, i32)とかにするだけでもう生成アセンブリ同じじゃなくなるね
127デフォルトの名無しさん
2022/10/13(木) 08:01:16.32ID:wSzwAK9q128デフォルトの名無しさん
2022/10/13(木) 15:12:31.34ID:FWxI+s/s >>126
Copyにしてget/setにすれば同じになるかも
Copyにしてget/setにすれば同じになるかも
129デフォルトの名無しさん
2022/10/13(木) 15:31:24.77ID:WZ96xtHr macOSにおけるFirefoxのパフォーマンスを劇的に改善した方法とは?
メモリアロケーター「jemalloc」を独自にカスタマイズしたアロケーターを用いてメモリ管理を行っています。Firefoxのアロケーターでは並列処理時のロックを効率的に行うためにOSごとにネイティブなAPIを使用しているとのこと。このロックAPIとして、macOSではOSSpinLockが用いられていました。
https://gigazine.net/news/20221011-firefox-macos/
これって、Rustのメモリアロケーターがjemallocを基にしたRust実装になってるってことだよね?大昔はjemallocだったという話で
メモリアロケーター「jemalloc」を独自にカスタマイズしたアロケーターを用いてメモリ管理を行っています。Firefoxのアロケーターでは並列処理時のロックを効率的に行うためにOSごとにネイティブなAPIを使用しているとのこと。このロックAPIとして、macOSではOSSpinLockが用いられていました。
https://gigazine.net/news/20221011-firefox-macos/
これって、Rustのメモリアロケーターがjemallocを基にしたRust実装になってるってことだよね?大昔はjemallocだったという話で
130はちみつ餃子 ◆8X2XSCHEME
2022/10/13(木) 16:10:29.83ID:PFF+OL8h >>129
現在の Rust はデフォルトではシステム標準のアロケータを使うはず。
一時期は Jemalloc (のバインディング) を使っていたけどだいぶん前にやめてる。
やりたければアロケータの差し替えは簡単に出来るので
大きなプロジェクトだと (必要な性質にあわせて) 専用のアロケータを持っていることはあるかも。
現在の Rust はデフォルトではシステム標準のアロケータを使うはず。
一時期は Jemalloc (のバインディング) を使っていたけどだいぶん前にやめてる。
やりたければアロケータの差し替えは簡単に出来るので
大きなプロジェクトだと (必要な性質にあわせて) 専用のアロケータを持っていることはあるかも。
131デフォルトの名無しさん
2022/10/13(木) 16:44:36.94ID:7pqOU2dm132デフォルトの名無しさん
2022/10/13(木) 17:51:45.20ID:Fb+ro4ZF >>129
Rustでは1.32.0(2019/01/17)から jemalloc がデフォルトでなくなりましたが、理由はjemallocのほうがマルチスレッドでは
微妙に低負荷で速いですが、コンパイルバイナリで300kB追加されるのとjemalloc自体のバグなどで問題が出ていたから。
Firefoxは恐らく、Cargo.tomlでアロケターをjemalloc系(多分tikv-jemallocator)に変えていて速度を稼いでるのでは?
(完全に想像だけど・・・)
Rust で jemalloc を使ったら並列処理が速くなった
https://zenn.dev/hankei6km/articles/using-jemalloc-in-rust-speeds-up-parallelism
Rustでは1.32.0(2019/01/17)から jemalloc がデフォルトでなくなりましたが、理由はjemallocのほうがマルチスレッドでは
微妙に低負荷で速いですが、コンパイルバイナリで300kB追加されるのとjemalloc自体のバグなどで問題が出ていたから。
Firefoxは恐らく、Cargo.tomlでアロケターをjemalloc系(多分tikv-jemallocator)に変えていて速度を稼いでるのでは?
(完全に想像だけど・・・)
Rust で jemalloc を使ったら並列処理が速くなった
https://zenn.dev/hankei6km/articles/using-jemalloc-in-rust-speeds-up-parallelism
133デフォルトの名無しさん
2022/10/13(木) 20:45:15.45ID:7pqOU2dm134デフォルトの名無しさん
2022/10/13(木) 23:11:21.07ID:Fb+ro4ZF >>133
元記事見ると、jemallocそのものを一部、リプレースして書き換えてるみたいね。firefoxのレタリングエンジン自体はservoで
tikv-jemallocatorを使ってるみたいだけど、リンクしてるのはその通りオリジナルではなく書き換えたjemallocになってるみたい
https://github.com/servo/servo/blob/master/components/allocator/Cargo.toml
https://searchfox.org/mozilla-central/source/memory/replace/logalloc/README
元記事見ると、jemallocそのものを一部、リプレースして書き換えてるみたいね。firefoxのレタリングエンジン自体はservoで
tikv-jemallocatorを使ってるみたいだけど、リンクしてるのはその通りオリジナルではなく書き換えたjemallocになってるみたい
https://github.com/servo/servo/blob/master/components/allocator/Cargo.toml
https://searchfox.org/mozilla-central/source/memory/replace/logalloc/README
135デフォルトの名無しさん
2022/10/13(木) 23:14:01.26ID:Fb+ro4ZF いや動的リンクはしてないのかな?jemallocソースをリプレースして実行ファイルに組み込んでる
136デフォルトの名無しさん
2022/10/13(木) 23:25:53.83ID:cMF4wuqy Firefoxはservo使ってない定期
137デフォルトの名無しさん
2022/10/14(金) 01:05:31.38ID:2gl6G2n+ >>127
コンパイラはそんなに賢くないってことじゃね?
コンパイラはそんなに賢くないってことじゃね?
138デフォルトの名無しさん
2022/10/14(金) 10:36:15.19ID:P+TQoSXr 複オジの嘘をまともに相手してたらキリが無いよ
139デフォルトの名無しさん
2022/10/14(金) 11:07:41.50ID:t+3JDnfr おじさんなんで最近こっちにいるの?
隔離スレが機能しなくなったのとリンクしてるのが面白い
隔離スレが機能しなくなったのとリンクしてるのが面白い
140デフォルトの名無しさん
2022/10/14(金) 21:09:01.17ID:iCatm8xv141デフォルトの名無しさん
2022/10/15(土) 00:38:51.20ID:ZRY2KlKK >>140
servoを構成するコンポーネントのうちfirefoxに取り込まれたstyloしか登場してないように見えるが
servoを構成するコンポーネントのうちfirefoxに取り込まれたstyloしか登場してないように見えるが
142デフォルトの名無しさん
2022/10/15(土) 10:12:30.40ID:kho15VFl 複オジにマジレスしても意味ないよ
143デフォルトの名無しさん
2022/10/15(土) 21:19:13.19ID:Sue68NiD お前の主張は「Firefoxはservo使ってない」であって「styloしか登場してない」では無い、そもそもstyloだけじゃない
途方もなく低い技術力でマウント取りたいことが生きがいの薄汚いオッサン
途方もなく低い技術力でマウント取りたいことが生きがいの薄汚いオッサン
144デフォルトの名無しさん
2022/10/16(日) 01:52:37.08ID:xR2EqnpB servoは独立したレンダリングエンジンだからservoを使うと言えるのはgeckoを丸々置き換えた場合では
というかallocatorの話はどうなったんだ
というかallocatorの話はどうなったんだ
145デフォルトの名無しさん
2022/10/16(日) 13:06:47.08ID:I4ihc4bO 「Firefoxはservo使ってない」定期、顔真っ赤の話しそらしオジサン、geckoを丸々置き換えた場合とか言い出したw
「styloしか登場してない」も消えたwww
あんたはアロケーターなんて興味ないだろwww
したけりゃしろ。自分からは詳しい技術的な話何もできない、マウントしたいだけ、業界にいる寄生虫
「styloしか登場してない」も消えたwww
あんたはアロケーターなんて興味ないだろwww
したけりゃしろ。自分からは詳しい技術的な話何もできない、マウントしたいだけ、業界にいる寄生虫
146デフォルトの名無しさん
2022/10/16(日) 16:22:20.12ID:xR2EqnpB >>134
firefoxのレンダリングエンジンはservoじゃなくてgeckoのままだよ
servoは次世代ブラウザ向けのレンダリングエンジンの実装を模索するための実験プロジェクトで、geckoを置き換えることを意図したものではないよ
servoの一部のコンポーネントは完成度が高くgeckoに取り込まれてはいたので、
servoが発展していったらgecko全体がservoで置き換えられる未来もありえたけど、
mozillaがservoの開発者レイオフしちゃったのでその可能性もなくなっちゃったかと
動的ライブラリや静的ライブラリとして他のアプリケーションにリンクするcrateの場合、リンク先のアプリケーションバイナリに含まれる(または、動的リンクされる)allocatorを利用するのが普通なので、
geckoのservo由来のrustコードもそうなっていて独自にallocatorを定義することはしていないんじゃないかな
firefoxのレンダリングエンジンはservoじゃなくてgeckoのままだよ
servoは次世代ブラウザ向けのレンダリングエンジンの実装を模索するための実験プロジェクトで、geckoを置き換えることを意図したものではないよ
servoの一部のコンポーネントは完成度が高くgeckoに取り込まれてはいたので、
servoが発展していったらgecko全体がservoで置き換えられる未来もありえたけど、
mozillaがservoの開発者レイオフしちゃったのでその可能性もなくなっちゃったかと
動的ライブラリや静的ライブラリとして他のアプリケーションにリンクするcrateの場合、リンク先のアプリケーションバイナリに含まれる(または、動的リンクされる)allocatorを利用するのが普通なので、
geckoのservo由来のrustコードもそうなっていて独自にallocatorを定義することはしていないんじゃないかな
147デフォルトの名無しさん
2022/10/16(日) 18:59:51.30ID:qTG+zV4j rust関係ないけどjemallocを日本語で読む時
ジェ-マロック派?それともジェム-アロック派?
ジェ-マロック派?それともジェム-アロック派?
148デフォルトの名無しさん
2022/10/16(日) 20:24:24.45ID:xR2EqnpB Json Evans mallocだからジェーイーマロックって呼んでる
149はちみつ餃子 ◆8X2XSCHEME
2022/10/16(日) 22:45:33.29ID:SvF0Fhwf それを言うなら malloc が (たぶん) memory allocate の略なんだから
ジェーイーエムアロックと呼ぶのが筋というものでは……。
俺はそもそも口頭で読み上げる機会がないから考えたこともなかった。
ジェーイーエムアロックと呼ぶのが筋というものでは……。
俺はそもそも口頭で読み上げる機会がないから考えたこともなかった。
150デフォルトの名無しさん
2022/10/16(日) 23:11:22.79ID:sz/XVYMu151デフォルトの名無しさん
2022/10/17(月) 18:50:40.32ID:q3uOCHzu152デフォルトの名無しさん
2022/10/17(月) 19:52:15.71ID:gBqRn20s153デフォルトの名無しさん
2022/10/17(月) 19:58:16.39ID:gBqRn20s >>151
FirefoxにRustのコンポーネントを多く導入したQuantumプロジェクトの説明でも、ServoのコンポーネントをGeckoに取り込むと言っていて、
Geckoを置き換えるとは言っていない
https://wiki.mozilla.org/Quantum
FirefoxにRustのコンポーネントを多く導入したQuantumプロジェクトの説明でも、ServoのコンポーネントをGeckoに取り込むと言っていて、
Geckoを置き換えるとは言っていない
https://wiki.mozilla.org/Quantum
154デフォルトの名無しさん
2022/10/17(月) 21:29:09.32ID:MqsTBCMt Rust関係ないからFirefoxスレでどうぞ
155デフォルトの名無しさん
2022/10/17(月) 22:43:40.85ID:GuOtjDmV もうその話題はいいよ
しつこいな
しつこいな
156デフォルトの名無しさん
2022/10/18(火) 10:08:56.84ID:1nhFYrk9 しつこくやって『Cell<T>はTと同じコスト』(真っ赤な嘘)を流したかったんでしょw
157デフォルトの名無しさん
2022/10/18(火) 11:26:14.64ID:f2tKHPpy termuxのrustずっとバージョン不整合で動かないな
rustupじゃそもそもインストール出来ない
rustupじゃそもそもインストール出来ない
158デフォルトの名無しさん
2022/10/18(火) 12:14:53.29ID:PMaXG0c3159デフォルトの名無しさん
2022/10/18(火) 12:23:43.08ID:lAl7R2Of >>153
あー、それ見てワカッタ風吹かしてんのな。「Rustのコンポーネントを多く導入」と言ってる時点で、styloだけじゃないし
2DレタリングのwebrenderもservoからのRust製だわ。”誰も”Geckoを置き換える=Geckoが無いなんて言ってない
https://github.com/servo/webrender
あー、それ見てワカッタ風吹かしてんのな。「Rustのコンポーネントを多く導入」と言ってる時点で、styloだけじゃないし
2DレタリングのwebrenderもservoからのRust製だわ。”誰も”Geckoを置き換える=Geckoが無いなんて言ってない
https://github.com/servo/webrender
160デフォルトの名無しさん
2022/10/18(火) 14:03:11.76ID:f2tKHPpy161デフォルトの名無しさん
2022/10/18(火) 14:27:25.95ID:jB7ekv9R あんまり自信がある訳じゃないんだけど、カーネルが64bitでユーザーランドが32bitみたいな環境だったりしない?
162デフォルトの名無しさん
2022/10/18(火) 14:27:28.03ID:SAVTW7Pl163デフォルトの名無しさん
2022/10/18(火) 14:32:25.86ID:JxWDHfdB グーグル、Rustで書かれたセキュアなOS「KataOS」を発表
https://japan.zdnet.com/article/35194751/
https://japan.zdnet.com/article/35194751/
164デフォルトの名無しさん
2022/10/18(火) 15:37:54.47ID:f2tKHPpy165デフォルトの名無しさん
2022/10/19(水) 03:30:17.24ID:cvhlJCwu fucsia「僕はいらない子なの?」
166デフォルトの名無しさん
2022/10/19(水) 07:05:26.07ID:CJepXKVA167デフォルトの名無しさん
2022/10/19(水) 11:11:44.42ID:H7L8/zfi Googleが立ち上げては潰してきたサービス一覧「Killed by Google」
killedbygoogle.com
killedbygoogle.com
168デフォルトの名無しさん
2022/10/19(水) 11:23:33.38ID:iHEkpSLR 何も産まないよりは健全よね
169デフォルトの名無しさん
2022/10/19(水) 11:35:06.09ID:Dqx/r4FW 役に立つかどうかわからんものに手を出せる余裕が
個別の結果に関わらず
部分的な成果の積み上げで会社をブーストさせるんよ
個別の結果に関わらず
部分的な成果の積み上げで会社をブーストさせるんよ
170デフォルトの名無しさん
2022/10/19(水) 11:38:58.17ID:Sj+PYk/j まあ堅そうな名前ではあるな
171デフォルトの名無しさん
2022/10/19(水) 12:24:59.02ID:j2B3ovC/ IoT向けOSって言ってるし組み込みOSなんて元々百花繚乱だろ。
組み込み機器の脆弱性対応なんて大変だし、そもそもその手の脆弱性が入り込みにくい言語を採用するのは合理的だと思う。
組み込み機器の脆弱性対応なんて大変だし、そもそもその手の脆弱性が入り込みにくい言語を採用するのは合理的だと思う。
172デフォルトの名無しさん
2022/10/19(水) 12:46:33.84ID:xwPbcXKV 日本ってやらない理由、出来ない理由並べる奴が多いよな
多くの日本企業よりGoogleの方が多く生み出しているし世の役に立っている
多くの日本企業よりGoogleの方が多く生み出しているし世の役に立っている
173デフォルトの名無しさん
2022/10/19(水) 12:48:40.76ID:aUvB23KT 南朝鮮ってやらない理由、出来ない理由並べる奴が多いよな 多くの南朝鮮企業よりGoogleの方が多く生み出しているし世の役に立っている
174デフォルトの名無しさん
2022/10/19(水) 13:00:38.45ID:xwPbcXKV Rust Foundationへの参加はNECやFUJITSUよりSamsungの方が早いんじゃないかなぁ
国内大手で積極的にRustを推していこうなんて所はなさそうに見えるし
組み込みのRenesasとかもやる気なさそうだしな
国内大手で積極的にRustを推していこうなんて所はなさそうに見えるし
組み込みのRenesasとかもやる気なさそうだしな
175デフォルトの名無しさん
2022/10/19(水) 19:58:52.34ID:+MAum9P/ 出来ない理由を考えるのではなく!
176デフォルトの名無しさん
2022/10/19(水) 21:32:43.94ID:mHa4T+cl 日本が後進国になってきたのは政治の責任が大きいけど
IT分野で遅れてるのは総じて教育水準が低いからだよ
IT分野で遅れてるのは総じて教育水準が低いからだよ
177デフォルトの名無しさん
2022/10/19(水) 22:51:58.05ID:owfoFln4 民主主義国は政治の責任=有権者の責任
178デフォルトの名無しさん
2022/10/19(水) 23:03:48.16ID:kLmY2FYt179デフォルトの名無しさん
2022/10/20(木) 00:02:58.60ID:ce/AQgdF まったく読むに値しないクソ書き込みの羅列の中で
>>170 だけが唯一価値ある輝きをはなっている
>>170 だけが唯一価値ある輝きをはなっている
180デフォルトの名無しさん
2022/10/20(木) 13:00:10.90ID:Px+TgmX7 在日だらけ。IT分野で遅れてるのは米国(英語圏)・中国の人口差だし、日本の人口減でもある。
世界中で、歴史上、移民以外で人口減を解決した国は1つもない
そういう意味では韓国などはでは優れたソフトウエアは1つもない。馬鹿な半島はAndoridのOSを
握ろうとTizenなどというゴミを掲げたが、食いついたのはNTTドコモぐらい
いま韓国で起こってるのはソフトウエアサービスの””ガラパゴス化””であり、GoogleやAmazon
Apple Payなどに対して参入障壁を作り防御するような、大昔の古臭い日本あった不公正貿易。
民主党政権時代だって3年あったわけだが、利権と中抜きしかしてない。やったことは仕分けだが
1つも役に立たないどころか、地方医療を崩壊させ、気象変動へ対処できるインフラ投資を
一時的止めた害悪しかなかった。その他にも野田政権による執拗な消費税増税もあった。
今彼らは英国が減税を匂わせただけで大混乱していることを見ずに、消費税ゼロを掲げている。
卑劣にも矛先を反らし、リベラルなのに移民反対派で、リベラルなのに「国賊、売国」などという言葉を使い、
まるで戦争前夜か、共産主義や社会主義のような物言いをするアホが出る時点で若い人の人材不足といえる。
世界中で、歴史上、移民以外で人口減を解決した国は1つもない
そういう意味では韓国などはでは優れたソフトウエアは1つもない。馬鹿な半島はAndoridのOSを
握ろうとTizenなどというゴミを掲げたが、食いついたのはNTTドコモぐらい
いま韓国で起こってるのはソフトウエアサービスの””ガラパゴス化””であり、GoogleやAmazon
Apple Payなどに対して参入障壁を作り防御するような、大昔の古臭い日本あった不公正貿易。
民主党政権時代だって3年あったわけだが、利権と中抜きしかしてない。やったことは仕分けだが
1つも役に立たないどころか、地方医療を崩壊させ、気象変動へ対処できるインフラ投資を
一時的止めた害悪しかなかった。その他にも野田政権による執拗な消費税増税もあった。
今彼らは英国が減税を匂わせただけで大混乱していることを見ずに、消費税ゼロを掲げている。
卑劣にも矛先を反らし、リベラルなのに移民反対派で、リベラルなのに「国賊、売国」などという言葉を使い、
まるで戦争前夜か、共産主義や社会主義のような物言いをするアホが出る時点で若い人の人材不足といえる。
181デフォルトの名無しさん
2022/10/20(木) 16:07:13.38ID:zGrDbuOl 英国が減税しただけで、支持率が7% になったw
米国の金利上昇で、韓国の金利も0.5% 上がったw
なのに、借金が1千兆円もある日本の金利が、0%w
狂った世界中の経済学者達が、日本は不正をしている。
日本国債は破綻しなければおかしいと言ってるw
外人が幾ら日本国債を売っても、金利が上がらない。
破綻しないw
いい加減、借金が1千兆円もあるという財務省の嘘に気付け!w
YouTube で勉強しろ。
【TVじゃ絶対言えない話】国の借金は嘘!?中田敦彦が解説
米国の金利上昇で、韓国の金利も0.5% 上がったw
なのに、借金が1千兆円もある日本の金利が、0%w
狂った世界中の経済学者達が、日本は不正をしている。
日本国債は破綻しなければおかしいと言ってるw
外人が幾ら日本国債を売っても、金利が上がらない。
破綻しないw
いい加減、借金が1千兆円もあるという財務省の嘘に気付け!w
YouTube で勉強しろ。
【TVじゃ絶対言えない話】国の借金は嘘!?中田敦彦が解説
182デフォルトの名無しさん
2022/10/21(金) 19:45:15.15ID:xXJwtueL WEB+DB PRESS、何度目のRust入門なんだい?
183デフォルトの名無しさん
2022/10/21(金) 20:10:13.59ID:HoCfXQGg Rust入門は初めて
184デフォルトの名無しさん
2022/10/21(金) 21:22:06.02ID:2TP3mE4K pythonとrustを一通り試してみた
for文の入れ子で外側のforをbreakできるとか、数値を1_000_000と表現できるとか、
そんなところでrustのほうが行き届いている感じがした
ただpythonのリスト内包表記、添え字の-1で配列の一番最後を表すとかそんなのは便利だな
for文の入れ子で外側のforをbreakできるとか、数値を1_000_000と表現できるとか、
そんなところでrustのほうが行き届いている感じがした
ただpythonのリスト内包表記、添え字の-1で配列の一番最後を表すとかそんなのは便利だな
185デフォルトの名無しさん
2022/10/21(金) 21:26:14.55ID:gnp0h5uN Rust入門という感じではないな
Rustを使ったWeb入門という感じ
Rustを使ったWeb入門という感じ
186デフォルトの名無しさん
2022/10/21(金) 22:25:35.46ID:YCtBy6Lb >>185
Web+DB Press読者は簡単なWebアプリ開発はいろんな言語で経験済みで理解しやすいだろうからチュートリアルの対象に選んだだけでは?
Web+DB Press読者は簡単なWebアプリ開発はいろんな言語で経験済みで理解しやすいだろうからチュートリアルの対象に選んだだけでは?
187デフォルトの名無しさん
2022/10/22(土) 13:19:56.51ID:OES5lhv+ >>186
普段読まないけどRustなので買ってみた
なかなかわかりやすかった
基本文法の解説が明らかに足りないけど
サンプルを理解するだけならこの程度で良いのか
面倒な部分が表に出ないようにうまくサンプルを調整してるし
普段読まないけどRustなので買ってみた
なかなかわかりやすかった
基本文法の解説が明らかに足りないけど
サンプルを理解するだけならこの程度で良いのか
面倒な部分が表に出ないようにうまくサンプルを調整してるし
188デフォルトの名無しさん
2022/10/22(土) 21:03:49.60ID:Vp6sRBIs 借用がどうGCに関係するのかよくわからない
うまく説明しているサイトはないですか?
うまく説明しているサイトはないですか?
189デフォルトの名無しさん
2022/10/22(土) 21:38:11.55ID:OES5lhv+ まずスタックとヒープを理解せよ
これは口を酸っぱくして言ってる
でないとRustは理解できない
これは口を酸っぱくして言ってる
でないとRustは理解できない
190デフォルトの名無しさん
2022/10/22(土) 21:39:04.07ID:PO/EA+oY とりあえずThe Bookの4章
https://doc.rust-lang.org/book/ch04-02-references-and-borrowing.html
Rustをそれなりに習得しようと思うなら
The Bookとオライリー本を読むのが一番近道
https://doc.rust-lang.org/book/ch04-02-references-and-borrowing.html
Rustをそれなりに習得しようと思うなら
The Bookとオライリー本を読むのが一番近道
191デフォルトの名無しさん
2022/10/22(土) 23:56:07.88ID:OES5lhv+ 両方とも初心者には辛いよなあ
わかりやすい入門書が待たれる
わかりやすい入門書が待たれる
192デフォルトの名無しさん
2022/10/23(日) 00:22:18.48ID:LnniM1YV 借用するときにデータをスタックに積む
スコープを抜けるときに一気にpopするので
GCがいらない、つまり、早い
heapだとGCのときにデータの移動が必要になる
ので遅い
この理解であってる?
スコープを抜けるときに一気にpopするので
GCがいらない、つまり、早い
heapだとGCのときにデータの移動が必要になる
ので遅い
この理解であってる?
193デフォルトの名無しさん
2022/10/23(日) 00:29:31.67ID:jNoMv4k0 ポインタとか参照とか他の言語で扱ったことない?
194デフォルトの名無しさん
2022/10/23(日) 00:44:57.32ID:h/oZflgJ heapが遅いの要因は、メモリの割り当て解放処理があるから処理量が多いとか、
割り当てた領域がバラバラになることでキャッシュ効率がさがることとかかと
割り当てた領域がバラバラになることでキャッシュ効率がさがることとかかと
195デフォルトの名無しさん
2022/10/23(日) 13:47:22.46ID:/F23RQvw ページング処理みたいなのが、ヒープだと2重に行われるんじゃないの?
196デフォルトの名無しさん
2022/10/23(日) 14:14:22.62ID:ioVOctq2 >>192
Rustでのその辺のメモリの動きはオライリー本に詳しく書いてあった気がするから読むべし
Rustでのその辺のメモリの動きはオライリー本に詳しく書いてあった気がするから読むべし
198デフォルトの名無しさん
2022/10/23(日) 18:33:19.09ID:QEVtmAwk >>192
そんなに物事が単純なら良かったのに...
”スコープを抜けるときにGCがいらない、つまり、早い”、これは間違いでもある。インライン展開されるような高階関数なら良いが
ループ中でアロケーションしてしまうような記述をすると、その度に確保・解放されるので非効率になりかねないし、借用による
メモリーの管理ではないが、参照カウントを使用するSwiftでは、ループでボトルネックになることはある。
このためRustでは高階関数で書く事が一般的に(分かり易く)良い事とされる。あとスタックでどの言語も大体はスコープ外で
消えるのでヒープとスタックの区別は付けましょう
独立したGCスレッドが動く言語だと、スコープ外れでGCするとは限らないので、速い場合がある。一方で、高負荷な環境では
GCスレッドがありで、回収などインターラプトが入るのでRustが有利になる(=※こちらのほうがRustが重要視される理由)
いわゆるSTOP THE WORLD(DIO様風)だ。ただ、これが無ければ良いということではなく、循環参照などを作らなければ
問題ないという話で循環参照を作ってしまうのであれば、独立したGCスレッドは便利でもある
”GCのときにデータの移動が必要”になるかどうかは、GCのアルゴリズム次第であり、厳密には”データの移動が必要”になるのは
メモリーのフラグメント解消つまりコンパクション処理によるところが大きい。これは、近代的なOSでは似たような事を行っていて
これ自体が速度に大幅に影響を及ぼすとは言い難い
そんなに物事が単純なら良かったのに...
”スコープを抜けるときにGCがいらない、つまり、早い”、これは間違いでもある。インライン展開されるような高階関数なら良いが
ループ中でアロケーションしてしまうような記述をすると、その度に確保・解放されるので非効率になりかねないし、借用による
メモリーの管理ではないが、参照カウントを使用するSwiftでは、ループでボトルネックになることはある。
このためRustでは高階関数で書く事が一般的に(分かり易く)良い事とされる。あとスタックでどの言語も大体はスコープ外で
消えるのでヒープとスタックの区別は付けましょう
独立したGCスレッドが動く言語だと、スコープ外れでGCするとは限らないので、速い場合がある。一方で、高負荷な環境では
GCスレッドがありで、回収などインターラプトが入るのでRustが有利になる(=※こちらのほうがRustが重要視される理由)
いわゆるSTOP THE WORLD(DIO様風)だ。ただ、これが無ければ良いということではなく、循環参照などを作らなければ
問題ないという話で循環参照を作ってしまうのであれば、独立したGCスレッドは便利でもある
”GCのときにデータの移動が必要”になるかどうかは、GCのアルゴリズム次第であり、厳密には”データの移動が必要”になるのは
メモリーのフラグメント解消つまりコンパクション処理によるところが大きい。これは、近代的なOSでは似たような事を行っていて
これ自体が速度に大幅に影響を及ぼすとは言い難い
199デフォルトの名無しさん
2022/10/23(日) 19:03:12.25ID:NZM9O6ur200デフォルトの名無しさん
2022/10/23(日) 20:51:00.62ID:h/oZflgJ 一体何と何を比較しているのだ
201デフォルトの名無しさん
2022/10/23(日) 22:09:39.72ID:HOBBKeJ+ なんかすごい早口で支離滅裂なこと言ってるけど
頭を整理した方が良いよ
頭を整理した方が良いよ
202デフォルトの名無しさん
2022/10/24(月) 16:50:56.92ID:SgELnO58 スコープを抜けるときにGCがいらない、つまり、早い
これが間違っている理由を教えてください
これが間違っている理由を教えてください
203はちみつ餃子 ◆8X2XSCHEME
2022/10/24(月) 18:09:05.87ID:VKX4Fsrh ヒープメモリの管理はそれなりに重い処理だというのが論旨のように見える。
GC を使った場合のように不要なオブジェクトの判別をしていくコストは Rust では生じないが
それを除けば空いてる箇所と使用中の箇所を上手いこと管理する実行時コストは
GC (に付随するメモリ割り当て) でやってるのとたぶんそんなに差はないんじゃね。
GC を使った場合のように不要なオブジェクトの判別をしていくコストは Rust では生じないが
それを除けば空いてる箇所と使用中の箇所を上手いこと管理する実行時コストは
GC (に付随するメモリ割り当て) でやってるのとたぶんそんなに差はないんじゃね。
204デフォルトの名無しさん
2022/10/24(月) 18:49:41.29ID:8+UVFZyO205デフォルトの名無しさん
2022/10/24(月) 19:05:34.14ID:Off49nvS 文法で制約したら、書き手もコンパイラも
変数の寿命を厳密に特定することができて便利だろって事で、
どこにどう確保すると速いとか、そういう話とは別では
変数の寿命を厳密に特定することができて便利だろって事で、
どこにどう確保すると速いとか、そういう話とは別では
206デフォルトの名無しさん
2022/10/24(月) 19:14:17.25ID:FdEAHzhz GCがないので速い←わかる
スコープを抜けたらpopするだけなので速い←わかる
スコープを抜けるときにGCがいらない←スコープとGCは何の関係もないよね
スコープを抜けたらpopするだけなので速い←わかる
スコープを抜けるときにGCがいらない←スコープとGCは何の関係もないよね
207デフォルトの名無しさん
2022/10/24(月) 20:07:47.96ID:rCA25jH/ まあGCは常に動く可能性があるからな
逆に全く動かない可能性もある
そこはGCのアルゴリズムによりけり
逆に全く動かない可能性もある
そこはGCのアルゴリズムによりけり
208デフォルトの名無しさん
2022/10/24(月) 21:01:10.53ID:SgELnO58 スタックを使っているから
pop すればそのままメモリが解放されるという意味では?
pop すればそのままメモリが解放されるという意味では?
209デフォルトの名無しさん
2022/10/24(月) 21:39:23.30ID:UxIqfb1a 何と何を比べて何が速いと思ってるのか整理しなよ
話はそれからだ
話はそれからだ
210デフォルトの名無しさん
2022/10/24(月) 22:49:30.31ID:c7GaYtEs >>208
動的データ全部スタックに積むのか。すげーな。
動的データ全部スタックに積むのか。すげーな。
211デフォルトの名無しさん
2022/10/24(月) 22:54:45.01ID:9jOSWWIs そんなことよりコンパイルの遅さマジでテコ入れろYO、非力なCeleronでactix-webのコンパイルしたら10分とかふざけてんのか?
212デフォルトの名無しさん
2022/10/24(月) 23:05:21.00ID:XsMeW9pb コンセプトがコンパイル遅くしても賢くするだから無理
213デフォルトの名無しさん
2022/10/24(月) 23:18:23.86ID:b0depGja 依存ライブラリまで全部自前ビルドさせられてるわけだからな
コンパイル済みcrateの配布とかやってくれればなんとかなりそうではあるが
コンパイル済みcrateの配布とかやってくれればなんとかなりそうではあるが
214デフォルトの名無しさん
2022/10/24(月) 23:42:51.24ID:cJUnO/Lg コンパイル高速化はユーザー側でもいろいろ工夫の余地はあるが
コア数多いマシンを使うのがいちばん効果がある
コア数多いマシンを使うのがいちばん効果がある
215デフォルトの名無しさん
2022/10/25(火) 07:14:07.04ID:0Y9XP165 分散コンパイルか、差分コンパイルか、常にバックエンドでコンパイルか
216デフォルトの名無しさん
2022/10/25(火) 08:16:49.84ID:A5TY3R0Y >>211
流石にもっと良いマシン買えでFA
流石にもっと良いマシン買えでFA
217デフォルトの名無しさん
2022/10/25(火) 08:49:49.17ID:1jHrAe9o でもRustって錆だよね
218デフォルトの名無しさん
2022/10/25(火) 11:17:17.09ID:5EjxpvPU ライブラリ類も複雑化・大型化の一途をたどっているご時世だし
Androidをビルド出来ないようなマシンは開発用としては時代遅れじゃね
Androidをビルド出来ないようなマシンは開発用としては時代遅れじゃね
219デフォルトの名無しさん
2022/10/25(火) 16:49:21.94ID:pUVcngq8 環境負荷を下げるためにもTier1プラットフォームはビルド済みか半分ビルド済みを配布できるようにすべき
220デフォルトの名無しさん
2022/10/25(火) 18:21:31.05ID:RZIJ148t structのフィールドにasyncのクロージャ持たせるの面倒だな
221デフォルトの名無しさん
2022/10/26(水) 00:21:17.27ID:+/Fbza6R >>220
Pin<Box<dyn Future<Output = T>>> ではだめ?
Pin<Box<dyn Future<Output = T>>> ではだめ?
222デフォルトの名無しさん
2022/10/26(水) 01:59:13.05ID:TlW6c1+d223デフォルトの名無しさん
2022/10/26(水) 03:12:53.76ID:J4zGWIbj >>210
全部とは言っていないローカル変数だけだ
全部とは言っていないローカル変数だけだ
224デフォルトの名無しさん
2022/10/26(水) 07:48:04.37ID:i0Q+rT9S >>223
GoだってJavaだってローカル変数はスタックを利用する。
GoだってJavaだってローカル変数はスタックを利用する。
225デフォルトの名無しさん
2022/10/26(水) 08:03:17.30ID:xzd5i3vP226デフォルトの名無しさん
2022/10/26(水) 10:03:48.91ID:8iR+QuRY んなこと言ったらRustだってBox使うだけでヒープ使われるだろ
227デフォルトの名無しさん
2022/10/26(水) 10:28:26.80ID:poB2zSjv ピープアレルギーでも湧いたのか?
228デフォルトの名無しさん
2022/10/26(水) 10:55:30.37ID:xzd5i3vP229デフォルトの名無しさん
2022/10/26(水) 12:39:08.43ID:61QnplYU ヒープで思いついたけどtest::benchってなんで使用したメモリ量出てこないの?Rustだってアロケーター自作できるなら出せなくないと思うんだが
230デフォルトの名無しさん
2022/10/26(水) 13:39:05.90ID:29TlHyS0 c言語なんかも int a[n] とかはスタックから取ってきてる。昔はmallocしてたが。
とはいえlinuxのスタック領域はヒープとそんな変わらん。
とはいえlinuxのスタック領域はヒープとそんな変わらん。
231デフォルトの名無しさん
2022/10/26(水) 13:49:21.71ID:OrdcPqRc 環境によるが、Rust のスレッドごとのスタックサイズのデフォルトが2MBとかで
バカでかいローカル変数や引数を使おうとすると、
簡単に実行時エラー/スタックオーバーフローを実現できるという
ちなみに、String はヒープを使う
バカでかいローカル変数や引数を使おうとすると、
簡単に実行時エラー/スタックオーバーフローを実現できるという
ちなみに、String はヒープを使う
232デフォルトの名無しさん
2022/10/26(水) 14:58:21.99ID:XcmPInF1233デフォルトの名無しさん
2022/10/26(水) 16:10:38.33ID:+/Fbza6R234デフォルトの名無しさん
2022/10/26(水) 18:56:12.77ID:m/VlzFSs C 以外の言語は、すべて浅いコピー・shallow copy でしょ。
実体はコピーされずに、参照だけがコピーされる
たぶん、ローカル変数も参照だけがスタックにあって、
実体はヒープにあるのでしょ
実体はコピーされずに、参照だけがコピーされる
たぶん、ローカル変数も参照だけがスタックにあって、
実体はヒープにあるのでしょ
235デフォルトの名無しさん
2022/10/26(水) 19:32:11.84ID:/Jbhrlo+ そもそもスクリプト言語はマシンスタック使ってないから
C/C++/Rust/Goみたいなコンパイル言語とスクリプト言語(PythonとかRuby)とではメモリモデルが全く違う
JVMのJITはVMスタックをマシンスタックに引き継ぐって処理をやってるけど
C/C++/Rust/Goみたいなコンパイル言語とスクリプト言語(PythonとかRuby)とではメモリモデルが全く違う
JVMのJITはVMスタックをマシンスタックに引き継ぐって処理をやってるけど
236デフォルトの名無しさん
2022/10/26(水) 19:35:12.65ID:+/Fbza6R >>234
Cにdeep copyの概念ある?
Cにdeep copyの概念ある?
237はちみつ餃子 ◆8X2XSCHEME
2022/10/26(水) 19:39:57.27ID:UI6BPQPg238デフォルトの名無しさん
2022/10/26(水) 19:41:30.91ID:WAf5RIwU Box<T>って出現頻度の割に表記が長いよな
boxキーワードに変える案はどうなったんだ?
boxキーワードに変える案はどうなったんだ?
239デフォルトの名無しさん
2022/10/26(水) 20:19:12.15ID:SEIcgM+j >>230
まーた思いつきで適当なこと言ってるの?
まーた思いつきで適当なこと言ってるの?
240デフォルトの名無しさん
2022/10/26(水) 21:39:27.98ID:xibmu52f シャローコピーもディープコピーもプログラマに意識させるような言語の方がいいと思うけどなあ
241デフォルトの名無しさん
2022/10/27(木) 17:59:59.22ID:36nf4K/2 C言語は低レベルすぎるからshallow copyやdeep copyを意識する必要がそもそもないしな
ポインタをそのまま複製するのがshallow copyでポインタをデリファレンスしてからその値を複製するのがdeep copyってだけやし
ポインタをそのまま複製するのがshallow copyでポインタをデリファレンスしてからその値を複製するのがdeep copyってだけやし
242デフォルトの名無しさん
2022/10/27(木) 18:19:49.08ID:mzG41rMz cだってポインタがネストされてたら順番に見てかないといけないのは他の言語と同じでしょ。
ネストを考慮しなくて良いならjavaだってcloneで一発コピーできる
ネストを考慮しなくて良いならjavaだってcloneで一発コピーできる
243デフォルトの名無しさん
2022/10/27(木) 22:00:27.64ID:rMi5UTbc >>241
> C言語は低レベルすぎるからshallow copyやdeep copyを意識する必要がそもそもないしな
むしろ意識しまくりだろ
shallow copyとかdeep Copyとかのおしゃれな名前では呼んでないけど
> C言語は低レベルすぎるからshallow copyやdeep copyを意識する必要がそもそもないしな
むしろ意識しまくりだろ
shallow copyとかdeep Copyとかのおしゃれな名前では呼んでないけど
244デフォルトの名無しさん
2022/10/27(木) 22:11:49.94ID:olmwGZ8d 複製おじさんディープコピー知らなかったもんねw
245デフォルトの名無しさん
2022/10/27(木) 22:27:03.43ID:DBkkmtck あえていうならCにおいては構造体のメンバをそのまま代入するのがshallow copy
構造体のメンバのポインタの領域を新しく領域を確保してコピー元の構造体を再帰的にmemcpyするのがdeep cooy
構造体のメンバのポインタの領域を新しく領域を確保してコピー元の構造体を再帰的にmemcpyするのがdeep cooy
246デフォルトの名無しさん
2022/10/27(木) 23:13:57.69ID:qcIge2ki Cではというが大多数の言語がそうじゃね
247デフォルトの名無しさん
2022/10/28(金) 00:02:58.28ID:Rl5QKwW8 deep copy は、ネストするから難しい
Ruby などは参照のリンクを断つために、
一旦、JSON などの文字列にしてから、オブジェクトを再構築したりする
Marshal もあるけど、色々な条件がつく。
IO, Proc, 特異メソッドが使えないとか
Ruby などは参照のリンクを断つために、
一旦、JSON などの文字列にしてから、オブジェクトを再構築したりする
Marshal もあるけど、色々な条件がつく。
IO, Proc, 特異メソッドが使えないとか
248デフォルトの名無しさん
2022/10/28(金) 01:13:37.77ID:jXOvR4PJ なんか話の脈絡も流れもなく各人が単語に反応して書きたいこと垂れ流すだけのスレと化してんな
249デフォルトの名無しさん
2022/10/28(金) 03:43:44.96ID:01u53tKZ 高階関数はGCの性能に影響を及ぼすの?
250デフォルトの名無しさん
2022/10/28(金) 09:27:53.24ID:jXOvR4PJ Webpackの後継となる新バンドルツール「Turbopack」が登場。Rust製のネイティブアプリケーションでWebpackの700倍高速に。Next.js Conf 2022 - Publickey
https://www.publickey1.jp/blog/22/webpackturbopackrustwebpack700nextjs_conf_2022.html
https://www.publickey1.jp/blog/22/webpackturbopackrustwebpack700nextjs_conf_2022.html
251デフォルトの名無しさん
2022/10/28(金) 16:15:00.57ID:AMrJHSke JavaScriptっていつまでバンドルとかやるん?
252デフォルトの名無しさん
2022/10/28(金) 16:24:46.58ID:muqJ433+ いっそコンパイルしたら
253デフォルトの名無しさん
2022/10/28(金) 16:28:04.57ID:AMrJHSke wasmでそれやろうとしてるけど
wasmランタイムよりJavaScriptランタイムの方がまだ速いというトホホな状態
wasmランタイムよりJavaScriptランタイムの方がまだ速いというトホホな状態
254デフォルトの名無しさん
2022/10/28(金) 19:59:50.54ID:eNUtjibx じゃあasmjsでよくね
255デフォルトの名無しさん
2022/10/30(日) 11:39:14.94ID:zV+ownbZ 何いってんだ
JavaScriptはRustの大口顧客だぞ
バカにするなんてとんでもない
JavaScriptの市場が大きいほどRustが儲かる仕組みなんだ
JavaScriptはRustの大口顧客だぞ
バカにするなんてとんでもない
JavaScriptの市場が大きいほどRustが儲かる仕組みなんだ
256デフォルトの名無しさん
2022/10/30(日) 13:52:59.67ID:Ffhte1rz moziraとgoogle, Microsoftと主要ブラウザメーカーが推進してるからな
257デフォルトの名無しさん
2022/10/30(日) 19:41:21.29ID:TG2fSMWC なんでvecの&mutに*が不必要なのか、いまいち理解してなかったけど
fn calc(n: &mut Vec<usize>) {
(*n).push(1);
}
こういうことかー。そういうことだったのかー
fn calc(n: &mut Vec<usize>) {
(*n).push(1);
}
こういうことかー。そういうことだったのかー
258デフォルトの名無しさん
2022/10/30(日) 23:24:15.56ID:tkb7REiJ struct User {
name : String,
age : u32,
}
fn main() {
let mut user = User {
name : "sato".to_string(),
age : 30,
};
user.age = 40;
user.name = "aaaa".to_string();
println!("{}{}", user.name, user.age);
}
"sato".to_string()で生成したStringは
user.name = "aaaa".to_string()後はどうなるの?
mainの}抜ける=プログラム終了時ようやく解放?
name : String,
age : u32,
}
fn main() {
let mut user = User {
name : "sato".to_string(),
age : 30,
};
user.age = 40;
user.name = "aaaa".to_string();
println!("{}{}", user.name, user.age);
}
"sato".to_string()で生成したStringは
user.name = "aaaa".to_string()後はどうなるの?
mainの}抜ける=プログラム終了時ようやく解放?
259デフォルトの名無しさん
2022/10/30(日) 23:41:49.13ID:fG4j0a7a Dropを自分で実装した型で試せばわかる
260デフォルトの名無しさん
2022/10/31(月) 19:06:46.94ID:DHbQvQ7c 相変わらずLinusに怒られまくってるね
261デフォルトの名無しさん
2022/11/01(火) 06:39:05.97ID:y5vMQo4Y rust導入してもディレクトリ構造が汚くなるだけなのにどうして導入したんだろうね
正直撤回して欲しいわ
正直撤回して欲しいわ
262デフォルトの名無しさん
2022/11/01(火) 07:47:38.45ID:6ZBnCRFC ディレクトリ構造なんかより優先すべきことがあるからだろ
rust使う意味を何も分かってないな
rust使う意味を何も分かってないな
263デフォルトの名無しさん
2022/11/01(火) 14:04:14.12ID:w6yg6Ajb もうlinusがカーネル用にsafeな言語作った方がいいんじゃないの
既成言語じゃ既存の処理系と整合性をとらないといけないから
いろいろな不整合が生じる
既成言語じゃ既存の処理系と整合性をとらないといけないから
いろいろな不整合が生じる
264はちみつ餃子 ◆8X2XSCHEME
2022/11/01(火) 14:12:23.10ID:XoXOtAeK エコシステムの充実はユーザ規模によるところがあるから
たとえ言語の設計としてベストマッチでも特化しすぎると
(使い手が増えなくて) 雑多なツールやライブラリが出揃い難いということもありうる。
Linux くらいの規模なら専用言語を作っても割に合ったりするかな?
たとえ言語の設計としてベストマッチでも特化しすぎると
(使い手が増えなくて) 雑多なツールやライブラリが出揃い難いということもありうる。
Linux くらいの規模なら専用言語を作っても割に合ったりするかな?
265デフォルトの名無しさん
2022/11/01(火) 14:25:52.66ID:smDWdngC linusがなんか言ったの?
ググってもlinux 6.1にrustが取り込まれた話しか見つけられなかった
ググってもlinux 6.1にrustが取り込まれた話しか見つけられなかった
266デフォルトの名無しさん
2022/11/01(火) 14:50:17.04ID:FsVxrWah267デフォルトの名無しさん
2022/11/01(火) 14:58:39.21ID:O+5UiM+O >>263
linusはgcc拡張のCが最高だと思ってる人だよ
linusはgcc拡張のCが最高だと思ってる人だよ
268デフォルトの名無しさん
2022/11/01(火) 18:29:34.49ID:cxS6KzKc >>260
どれ?
どれ?
269デフォルトの名無しさん
2022/11/02(水) 15:56:44.98ID:ohjjd8k9 linuxもデフォルトcというよりもかなりカーネル用の拡張してるからrustもそうすればええわってのが
linusの主張でしょ。
linusの主張でしょ。
270デフォルトの名無しさん
2022/11/02(水) 16:18:07.00ID:qqWWqhkC 一応clangでもlinuxカーネルコンパイルできるようになっているということは、
LLVMに必要な機能はそろっているということだろうから、
rustcからそれらの機能を呼び出せるようにできれば良いのかね
LLVMに必要な機能はそろっているということだろうから、
rustcからそれらの機能を呼び出せるようにできれば良いのかね
271デフォルトの名無しさん
2022/11/02(水) 16:35:45.00ID:F11hp17c リーナスゴシップとかどうでもいいスレチネタを続けるなよ
272デフォルトの名無しさん
2022/11/03(木) 02:16:08.55ID:atTBpfYp しょーもないシンタックスの話より有意義だけどな。
273デフォルトの名無しさん
2022/11/03(木) 05:38:58.72ID:CtTK5dM6 1要素タプルの書き方Pythonと同じなんだね
パターンマッチで参照外しと絡むとややこしいなぁ
// 要素1のタプルはカンマ必要
let (mut a, ) = (1, );
a = 100;
println!("{}", a); //=> 100
// 要素1のタプルはカンマ必要
let &(mut a, ) = &(1, );
a = 100;
println!("{}", a); //=> 100
// (式)と区別つかないからとか
let &(mut a) = &(1);
a = 100;
println!("{}", a); //=> 100
// error[E0308]: mismatched types
let &mut a = &1; // ←ココ
a = 100;
println!("{}", a);
// こっちはok
let &(mut a) = &1;
a = 100;
println!("{}", a); //=> 100
mutがどっちに付くのが優先なのか(イミュータブルなaの参照なのかaのイミュータブル参照なのか)覚えてないと適切に()付けられないね、覚えりゃいいんだけども
Rustの話に限らずもっと根本的な解決方法ってないのかな?
()をいろんな意味に酷使し過ぎでは?関数の引数部分、式の評価順変更、タプル、等々
型は後置修飾なのに&やmutはなんで前から懸かるの?
これ全部RPNにすれば解釈の曖昧さがなくなって優先順位の()が要らなくなり、関数呼び出しもf1(1, f2(2, 3), f3(4))は1 2 3 f2 4 f3 f1となって、タプル以外の()撲滅できないか?
パターンマッチで参照外しと絡むとややこしいなぁ
// 要素1のタプルはカンマ必要
let (mut a, ) = (1, );
a = 100;
println!("{}", a); //=> 100
// 要素1のタプルはカンマ必要
let &(mut a, ) = &(1, );
a = 100;
println!("{}", a); //=> 100
// (式)と区別つかないからとか
let &(mut a) = &(1);
a = 100;
println!("{}", a); //=> 100
// error[E0308]: mismatched types
let &mut a = &1; // ←ココ
a = 100;
println!("{}", a);
// こっちはok
let &(mut a) = &1;
a = 100;
println!("{}", a); //=> 100
mutがどっちに付くのが優先なのか(イミュータブルなaの参照なのかaのイミュータブル参照なのか)覚えてないと適切に()付けられないね、覚えりゃいいんだけども
Rustの話に限らずもっと根本的な解決方法ってないのかな?
()をいろんな意味に酷使し過ぎでは?関数の引数部分、式の評価順変更、タプル、等々
型は後置修飾なのに&やmutはなんで前から懸かるの?
これ全部RPNにすれば解釈の曖昧さがなくなって優先順位の()が要らなくなり、関数呼び出しもf1(1, f2(2, 3), f3(4))は1 2 3 f2 4 f3 f1となって、タプル以外の()撲滅できないか?
274デフォルトの名無しさん
2022/11/03(木) 19:40:23.88ID:4W4icteo275デフォルトの名無しさん
2022/11/03(木) 21:14:31.73ID:Z+updFpk ()については他の言語と同じだしそこで変に独自性を出してもなぁという感じ
276デフォルトの名無しさん
2022/11/03(木) 21:15:01.48ID:t6ap+kyc for &i in vec![0_usize; 5].iter() {
//iのままなんちゃら
}
for i in vec![0_usize; 5].iter() {
//*iでなんちゃら
}
参照外しはどっちをつかってる人のほうが一般的なん?
//iのままなんちゃら
}
for i in vec![0_usize; 5].iter() {
//*iでなんちゃら
}
参照外しはどっちをつかってる人のほうが一般的なん?
277デフォルトの名無しさん
2022/11/03(木) 21:21:15.76ID:0fRPRys5 Copy実装してる型なら別にどっちでも……
278デフォルトの名無しさん
2022/11/03(木) 21:35:17.79ID:b1nVlp4p union で定義した型があり、タグビットに相当するビットで variant を区別できる場合に
enum と同じ表現でパターンマッチするというようなことは出来ませんかね?
マニュアルを見た感じでは出来なさそうなので駄目で元々な相談なんですが……。
それが欲しくなった事情としては抽象的なバイトコードマシンが定義されていて
そのバイトコードをそのまま enum にマッピングできれば楽なのになと思った次第です。
enum と同じ表現でパターンマッチするというようなことは出来ませんかね?
マニュアルを見た感じでは出来なさそうなので駄目で元々な相談なんですが……。
それが欲しくなった事情としては抽象的なバイトコードマシンが定義されていて
そのバイトコードをそのまま enum にマッピングできれば楽なのになと思った次第です。
279デフォルトの名無しさん
2022/11/04(金) 04:42:50.90ID:QJXSkaei .expect("なんとかかんとかfailed.");
expectの引数はこんな文章になりがち
.expect("なんとかexpected, but かんとか found");
ならまだいいけど
コード読むときexpectというメソッド名からその引数には"期待しているものの説明"を"期待"してしまう
慣れるんだろうか…
expectの引数はこんな文章になりがち
.expect("なんとかexpected, but かんとか found");
ならまだいいけど
コード読むときexpectというメソッド名からその引数には"期待しているものの説明"を"期待"してしまう
慣れるんだろうか…
280デフォルトの名無しさん
2022/11/04(金) 08:57:52.35ID:KcmeiRV8 >>279
英単語を声に出して読んでみ
英単語を声に出して読んでみ
281デフォルトの名無しさん
2022/11/04(金) 09:12:11.15ID:NSu48ax/ >>279
公式のドキュメントにも
.expect("failed to parse number")
という例があるしあまり気にしない方がよさそう
https://doc.rust-lang.org/std/result/enum.Result.html#method.inspect
公式のドキュメントにも
.expect("failed to parse number")
という例があるしあまり気にしない方がよさそう
https://doc.rust-lang.org/std/result/enum.Result.html#method.inspect
282デフォルトの名無しさん
2022/11/04(金) 09:15:25.47ID:yWEsFaag >>281
これ英語の分からん奴が書いたんだろう
これ英語の分からん奴が書いたんだろう
283デフォルトの名無しさん
2022/11/04(金) 09:25:36.66ID:u3TD418O >>279
まあ慣れるしかないわな
俺もこの名前はおかしいと思うし世の中でもおかしいと思う人はいるようだ
https://stackoverflow.com/questions/66362625/why-is-rusts-expect-called-expect
まあ慣れるしかないわな
俺もこの名前はおかしいと思うし世の中でもおかしいと思う人はいるようだ
https://stackoverflow.com/questions/66362625/why-is-rusts-expect-called-expect
284デフォルトの名無しさん
2022/11/04(金) 09:47:45.14ID:QJXSkaei >>283
よかった、俺だけではなかったか
よかった、俺だけではなかったか
285デフォルトの名無しさん
2022/11/04(金) 09:54:11.00ID:NSu48ax/ 推奨されるメッセージのスタイルが定義されているので>>279は正しい
https://doc.rust-lang.org/std/result/enum.Result.html#recommended-message-style
どうしても気になるならこれを根拠にしてメッセージを修正するpull req送ると良いと思う
https://doc.rust-lang.org/std/result/enum.Result.html#recommended-message-style
どうしても気になるならこれを根拠にしてメッセージを修正するpull req送ると良いと思う
286デフォルトの名無しさん
2022/11/04(金) 11:58:42.90ID:hgziOenm 君、ぼくのおちんちんを舐めてみないかい
287デフォルトの名無しさん
2022/11/04(金) 12:36:39.57ID:8jcY9XF+ .expect("ン拒否するゥ");
288デフォルトの名無しさん
2022/11/04(金) 13:14:11.67ID:u3TD418O .expect("もう少しぶっといイチモツを用意すべきです")
289デフォルトの名無しさん
2022/11/05(土) 21:07:51.50ID:EPLuMYxk expectがそもそも期待するという意味より、予想するという意味合いで使われてることが多い気がする
290デフォルトの名無しさん
2022/11/05(土) 21:47:55.53ID:6MdwxjIj ここまで1.65の話題ゼロか
291デフォルトの名無しさん
2022/11/05(土) 21:51:57.09ID:4ktyBPoJ GAT難しいからw
292デフォルトの名無しさん
2022/11/05(土) 21:58:52.83ID:B2i8Nuif Rust 1.65.0 の発表
2022 年 11 月 3 日 · Rust リリース チーム
https://blog.rust-lang.org/2022/11/03/Rust-1.65.0.html
新しい Rust リリースの詳細に入る前に、イランの宗教道徳警察によるMahsa Amini の悲劇的な死と、他の多くの人々の死と暴力的な抑圧に注意を向けたいと思います。詳細については、 https://en.wikipedia.org/wiki/Mahsa_Amini_protestsを参照してください。私たちは、人権のために闘っているイランの人々と連帯します。
↑BLMといいウクライナといい海外ITの政治的主張入れて当然みたいなノリ苦手
質実剛健のイメージだったがRustチームも同じでちょっとガッカリ
2022 年 11 月 3 日 · Rust リリース チーム
https://blog.rust-lang.org/2022/11/03/Rust-1.65.0.html
新しい Rust リリースの詳細に入る前に、イランの宗教道徳警察によるMahsa Amini の悲劇的な死と、他の多くの人々の死と暴力的な抑圧に注意を向けたいと思います。詳細については、 https://en.wikipedia.org/wiki/Mahsa_Amini_protestsを参照してください。私たちは、人権のために闘っているイランの人々と連帯します。
↑BLMといいウクライナといい海外ITの政治的主張入れて当然みたいなノリ苦手
質実剛健のイメージだったがRustチームも同じでちょっとガッカリ
293デフォルトの名無しさん
2022/11/05(土) 22:23:37.34ID:CC30py/U 嫌な世の中だな
294デフォルトの名無しさん
2022/11/05(土) 22:33:26.02ID:zxpwXxCd そういうのが嫌なら使わなければよろしい
295デフォルトの名無しさん
2022/11/06(日) 03:47:36.18ID:5A+TXyoz お、Backtraceがstabilizeされたか
めでたい
めでたい
296デフォルトの名無しさん
2022/11/06(日) 23:25:31.82ID:tr7TV8Z+ >>295
うむ
うむ
297デフォルトの名無しさん
2022/11/07(月) 14:30:18.00ID:5gh9UgGm むしろ政治的な要素が少しでもあると過敏反応する日本IT連中のがキモいわ
298デフォルトの名無しさん
2022/11/07(月) 14:37:07.26ID:3k6QMezQ RustってSDGsだよね
299デフォルトの名無しさん
2022/11/07(月) 16:35:16.97ID:F5fz3af4 みんなMSRVいくつにしてる?
300デフォルトの名無しさん
2022/11/07(月) 21:29:16.68ID:oBOm8exD 日本人はまあ事なかれ主義だから仕方がない
301デフォルトの名無しさん
2022/11/09(水) 08:18:29.70ID:JQdb1AnG 過剰反応というかツイッターでも左翼のトレンド操作がバレてしまったし
そういう必死な印象操作する奴らに全く反応しないのも正常性バイアスなだけで危険だと思うけどね
そういう必死な印象操作する奴らに全く反応しないのも正常性バイアスなだけで危険だと思うけどね
302デフォルトの名無しさん
2022/11/09(水) 08:49:14.30ID:jv4fVWS/ 別に操作でもなんでもなく前から人が選んでるって言ってたじゃん。
だからそういうのを過剰反応って言うんだよ。
だからそういうのを過剰反応って言うんだよ。
303デフォルトの名無しさん
2022/11/09(水) 09:39:55.00ID:LmGx5OMY304デフォルトの名無しさん
2022/11/09(水) 09:48:57.31ID:fSnT1d04 貧困老人って左傾化してるイメージある
305デフォルトの名無しさん
2022/11/09(水) 12:28:40.18ID:aAawVede >>302
トレンドはどのように決定されますか?
トレンドはアルゴリズムによって決定され、初期設定では、フォローしているアカウント、興味関心、位置情報をもとにカスタマイズされています。
こういうAI系にRustが使われる可能性ありそうかな?
トレンドはどのように決定されますか?
トレンドはアルゴリズムによって決定され、初期設定では、フォローしているアカウント、興味関心、位置情報をもとにカスタマイズされています。
こういうAI系にRustが使われる可能性ありそうかな?
306デフォルトの名無しさん
2022/11/09(水) 12:56:20.73ID:YZQA7nNX >>305
コア部分がC++、FortranからRustに変わるとかはありそう
コア部分がC++、FortranからRustに変わるとかはありそう
307デフォルトの名無しさん
2022/11/09(水) 13:03:43.26ID:tbXsBHme308デフォルトの名無しさん
2022/11/09(水) 14:25:41.02ID:bNBw/HLH >>306
rustのGPU周りのツールチェインは整備進んでるの?
rustのGPU周りのツールチェインは整備進んでるの?
309デフォルトの名無しさん
2022/11/09(水) 19:49:39.97ID:8uuc6jgH >>308
GPGPU系は普通に使えそうな感じはしてるけどdeep learning周りはNvidiaが乗り気になるまで無理かもしれないと思えてきた
GPGPU系は普通に使えそうな感じはしてるけどdeep learning周りはNvidiaが乗り気になるまで無理かもしれないと思えてきた
310デフォルトの名無しさん
2022/11/12(土) 21:53:46.90ID:PWetNf5n eguiつよそうだけどみんな興味ないの?
311デフォルトの名無しさん
2022/11/13(日) 01:00:16.84ID:1Xo91Kz4 guiはeguiとtauriの2強になりそう
312デフォルトの名無しさん
2022/11/13(日) 02:09:24.41ID:Uh0BavN1 eguiはエグイ
313デフォルトの名無しさん
2022/11/13(日) 02:33:53.13ID:RFRBhoEy314デフォルトの名無しさん
2022/11/13(日) 21:44:40.30ID:SeSkk5iM 丸の内線ってマジでいらんよな
315デフォルトの名無しさん
2022/11/13(日) 22:06:12.87ID:iM/fRtPp 脱Electronした純Rust製コードエディタが出ないことには評価し辛いな。
316デフォルトの名無しさん
2022/11/13(日) 22:58:55.78ID:T5PK/vl5 そんなんLapceがあるだろ
317デフォルトの名無しさん
2022/11/15(火) 00:12:55.17ID:dw7MQVYD Bevyの変更量エグいな。1.0到達まで様子見するわ
https://bevyengine.org/news/bevy-0-9/
https://bevyengine.org/news/bevy-0-9/
318デフォルトの名無しさん
2022/11/15(火) 00:20:45.30ID:aZkMwykQ 米国家安全保障局、CやC++からメモリー安全性の高いJavaなどへの移行を推奨
https://japan.zdnet.com/article/35195997/
ハッカーらによるリモートコード実行(RCE)をはじめとするさまざまな攻撃からコードを保護するために、C#やGo、Java、Ruby、Swift、Rustといったメモリー安全性の高い言語に移行するよう推奨している。
https://japan.zdnet.com/article/35195997/
ハッカーらによるリモートコード実行(RCE)をはじめとするさまざまな攻撃からコードを保護するために、C#やGo、Java、Ruby、Swift、Rustといったメモリー安全性の高い言語に移行するよう推奨している。
319デフォルトの名無しさん
2022/11/15(火) 00:37:48.72ID:91d2LP66 CやC++で書かれているライブラリに依存するのもやめた方が良いのかね
320デフォルトの名無しさん
2022/11/15(火) 01:26:07.72ID:5Bng48RE 実績というのは何にも代えがたい証明だからね。
十分に広く長く使われて枯れたライブラリをすぐさま使用停止するほどではないと思う。
長期的には移行せざるを得ないと思うが。
十分に広く長く使われて枯れたライブラリをすぐさま使用停止するほどではないと思う。
長期的には移行せざるを得ないと思うが。
321デフォルトの名無しさん
2022/11/15(火) 02:05:15.69ID:9SlnRoJw >プログラマー側での実行に大きく依存している
言語の問題ではなくて、処理系と設計の問題だろうけど
C/C++と同程度の注意力であっても、
比較的楽に安全な実装が可能という話か
言語の問題ではなくて、処理系と設計の問題だろうけど
C/C++と同程度の注意力であっても、
比較的楽に安全な実装が可能という話か
322デフォルトの名無しさん
2022/11/15(火) 05:58:46.96ID:XpLYghoG RubyはRustの誤植な気がする
323デフォルトの名無しさん
2022/11/15(火) 06:20:05.09ID:dw7MQVYD Javaもnull非安全クソ言語じゃんぬるぽ
324デフォルトの名無しさん
2022/11/15(火) 07:20:48.25ID:GEd0aXfX >>322
元の記事でも
The National Security Agency (NSA) is urging developers to shift to memory safe languages – such as C#, Go, Java, Ruby, Rust, and Swift
って書いてあるから誤植とかでは無いと思うがNSAのソースを示してほしいね
https://www.zdnet.com/article/programming-languages-these-top-four-rule-and-developers-are-happy-for-now/
元の記事でも
The National Security Agency (NSA) is urging developers to shift to memory safe languages – such as C#, Go, Java, Ruby, Rust, and Swift
って書いてあるから誤植とかでは無いと思うがNSAのソースを示してほしいね
https://www.zdnet.com/article/programming-languages-these-top-four-rule-and-developers-are-happy-for-now/
325デフォルトの名無しさん
2022/11/15(火) 08:46:43.91ID:91d2LP66 メモリ安全という意味ではRubyは条件満たしてはいるのでは
Pythonがないのは気になるが
Pythonがないのは気になるが
326デフォルトの名無しさん
2022/11/15(火) 08:47:01.64ID:UduTysKC327デフォルトの名無しさん
2022/11/15(火) 09:09:11.17ID:ott+UO1u 人工衛星イザナミ・イザナギでも、mruby を使っている
C はポインターでバグるから、
文字列処理などはポインターを使わない、安全なmrubyが良い
それで、mrubyから、Cのライブラリを呼び出せば安全
C はポインターでバグるから、
文字列処理などはポインターを使わない、安全なmrubyが良い
それで、mrubyから、Cのライブラリを呼び出せば安全
328デフォルトの名無しさん
2022/11/15(火) 11:32:13.77ID:LEUpsbho 文字列処理でポインタを使わないってどうやんの?
329デフォルトの名無しさん
2022/11/15(火) 11:45:11.75ID:Ohwd0nE1 陽に使わないって事だろ
330デフォルトの名無しさん
2022/11/15(火) 12:05:46.25ID:91d2LP66 言わんとすることは分かるけど人工衛星と文字列処理はあんまり関係なさそう
331デフォルトの名無しさん
2022/11/15(火) 12:16:51.72ID:REyE3AUr >>326
これからメモリーセーフな言語が沢山出てきそうだな
これからメモリーセーフな言語が沢山出てきそうだな
332デフォルトの名無しさん
2022/11/15(火) 12:57:18.27ID:37NRafRf メモリセーフかつGC無しの言語ってRust以外に増える気配ないよな
需要あるのに
需要あるのに
333デフォルトの名無しさん
2022/11/15(火) 13:11:29.50ID:bU8+MPV6 C++ は安全な言語に混ぜてもらえなかったんだな。
C++はCに寄せられてしまったのかと。
C++はCに寄せられてしまったのかと。
334デフォルトの名無しさん
2022/11/15(火) 13:50:50.90ID:eF4hIM3d 「生ポインタを使わずスマートポインタを使う」
「オブジェクトのコピーはすべてムーブを使う」
を徹底すればそこまで危険ではないんだけどね
「オブジェクトのコピーはすべてムーブを使う」
を徹底すればそこまで危険ではないんだけどね
335デフォルトの名無しさん
2022/11/15(火) 13:53:08.34ID:Ohwd0nE1 >>333
まあやろうと思えばCと同じことができちゃうからね
まあやろうと思えばCと同じことができちゃうからね
336デフォルトの名無しさん
2022/11/15(火) 14:25:30.22ID:5Bng48RE >>334
知っててもクソみたいな誤りをするのが人だからな。
知っててもクソみたいな誤りをするのが人だからな。
337デフォルトの名無しさん
2022/11/15(火) 15:49:10.51ID:91d2LP66 Google Chromeのバグの7割がメモリ安全関連というし、
C++で安全性を保ちつつ大規模複雑なアプリケーションを作るのは難しいのでは
C++で安全性を保ちつつ大規模複雑なアプリケーションを作るのは難しいのでは
338デフォルトの名無しさん
2022/11/15(火) 16:00:29.49ID:AMPFJlS8 そりゃ「〇〇するよう気をつければ良い」が通るんならそもそもバグらないよう気をつけられるはずだしな
人間が気をつけるのと機械的にチェックできることの間には大きな差がある
人間が気をつけるのと機械的にチェックできることの間には大きな差がある
339デフォルトの名無しさん
2022/11/15(火) 21:18:52.91ID:oaKUlL5c >「オブジェクトのコピーはすべてムーブを使う」
微妙に意味が分からん
微妙に意味が分からん
340デフォルトの名無しさん
2022/11/16(水) 03:16:38.83ID:+3Ecu7Qb >>339
クラスにムーブコンストラクタとムーブ代入演算子を必ず実装して
それが呼び出されように書くということね
ゼロから書く場合は可能
つまりRustっぽく書く
しかし外部ライブラリを使う場合は破綻するので無理なのだが
クラスにムーブコンストラクタとムーブ代入演算子を必ず実装して
それが呼び出されように書くということね
ゼロから書く場合は可能
つまりRustっぽく書く
しかし外部ライブラリを使う場合は破綻するので無理なのだが
341デフォルトの名無しさん
2022/11/16(水) 07:33:54.12ID:NR4h2Di6 F#をトライしていたのですが、VSは重いし、VScodeは動かすことができず
Sublimeは何とか動くが、ライブラリをうまくアクセスできず図を出力できず
コマンドラインでの実行もバージョンが古いせいかこれもライブラリにアクセスできず
で、似ているというRUSTをテストしてみました
インストールも簡単、クレートの設定も簡単
コンソールでコンパイル、実行も簡単
webにあるサンプルをテスト、5つほどwarningがでていましたが図を出力できました
F#では実行環境を作るのに四苦八苦しましたが、RUSTはあっというま
感激してここにアップしました
今から勉強します
Sublimeは何とか動くが、ライブラリをうまくアクセスできず図を出力できず
コマンドラインでの実行もバージョンが古いせいかこれもライブラリにアクセスできず
で、似ているというRUSTをテストしてみました
インストールも簡単、クレートの設定も簡単
コンソールでコンパイル、実行も簡単
webにあるサンプルをテスト、5つほどwarningがでていましたが図を出力できました
F#では実行環境を作るのに四苦八苦しましたが、RUSTはあっというま
感激してここにアップしました
今から勉強します
342デフォルトの名無しさん
2022/11/16(水) 07:35:45.01ID:16ZvLDN4 「コピーは使わないでムーブする」なら意味が通じたが
343デフォルトの名無しさん
2022/11/16(水) 12:12:43.09ID:I1e3AS0A344デフォルトの名無しさん
2022/11/16(水) 18:02:22.96ID:+n4YDZit 一部のアスペ以外はそれぐらいの推論はできるからあまり気にしなくていいよ
345デフォルトの名無しさん
2022/11/16(水) 18:02:43.41ID:QMFF+6Ax そういうのは吊るを使う
346デフォルトの名無しさん
2022/11/16(水) 18:29:22.77ID:XyYlAbZW347デフォルトの名無しさん
2022/11/16(水) 20:20:41.18ID:Lkj73ShV .netでrustが使えれば無敵なのに
348デフォルトの名無しさん
2022/11/16(水) 21:13:44.67ID:y4GxYc69 GCのランタイム環境でRUSTは意味ないんじゃ?
349デフォルトの名無しさん
2022/11/16(水) 21:37:10.96ID:eOApcCVI ML 系言語が Rust を高水準にした感じじゃない?
(というか ML の研究からリージョン推論が生まれて Rust に繋がっていったのだが……。)
.NET 用だと F# があるから使ってみても面白いかもね。
(というか ML の研究からリージョン推論が生まれて Rust に繋がっていったのだが……。)
.NET 用だと F# があるから使ってみても面白いかもね。
350デフォルトの名無しさん
2022/11/16(水) 21:59:45.42ID:/cIgFYP8 .NETのライブラリが使いたいとかでは
351デフォルトの名無しさん
2022/11/17(木) 00:08:08.45ID:Wvvh1amI rust難しすぎません?
僕はまだまだ、たぶん無理だけど、そこそこできるようになったとしても、全体の底上げがなければ普及が難しいのではという自己弁護
僕はまだまだ、たぶん無理だけど、そこそこできるようになったとしても、全体の底上げがなければ普及が難しいのではという自己弁護
352デフォルトの名無しさん
2022/11/17(木) 00:34:44.66ID:/MItGujg 既存のC/C++のコードをRustに書き直すのは
頑張らなくても良いですと言われていても
世界に一人ぐらい頑張る人がいて
再実装しましたみたいなのが時々出てくるな
頑張らなくても良いですと言われていても
世界に一人ぐらい頑張る人がいて
再実装しましたみたいなのが時々出てくるな
353デフォルトの名無しさん
2022/11/17(木) 00:48:28.80ID:SzkkMxOu C++ 何となく使っているけど、Rust って難しいの?
C++ より難しいなら、先に勉強しようかな
C++ より難しいなら、先に勉強しようかな
354デフォルトの名無しさん
2022/11/17(木) 01:00:11.07ID:EPum3E1i >>353 とりあえず動かすのはRustのが難しい
正しく動かすのはC++のが難しい
正しく動かすのはC++のが難しい
355デフォルトの名無しさん
2022/11/17(木) 01:28:33.22ID:MDHZgFO+ C++ は未定義を踏むのがさすがに簡単すぎるのがいけない。
356デフォルトの名無しさん
2022/11/17(木) 01:54:53.99ID:6uPAxih4 >>340
これを徹底すればC++も問題ないよ
これを徹底すればC++も問題ないよ
357デフォルトの名無しさん
2022/11/17(木) 03:15:48.27ID:Oh632irx358デフォルトの名無しさん
2022/11/17(木) 05:38:42.23ID:MvDxl/Xz >>356
徹底するのが難しい、って話だろ
徹底するのが難しい、って話だろ
359デフォルトの名無しさん
2022/11/17(木) 05:39:00.42ID:7vp/wPcJ >>356
「〇〇を徹底します」みたいな精神論が再発防止にならないのは業界の常識
「〇〇を徹底します」みたいな精神論が再発防止にならないのは業界の常識
360デフォルトの名無しさん
2022/11/17(木) 05:39:30.88ID:7vp/wPcJ >>357
具体的にはどういうケース?
具体的にはどういうケース?
361デフォルトの名無しさん
2022/11/17(木) 07:38:31.41ID:HsWuKvxv362デフォルトの名無しさん
2022/11/17(木) 07:44:38.30ID:EPum3E1i >>361 マルチスレッドこそRustの得意分野だと思うんだけど
363デフォルトの名無しさん
2022/11/17(木) 07:48:15.39ID:AvIWLuzY rustは所有権とかライフタイムとかなければ簡単で使いやすそうって印象
364デフォルトの名無しさん
2022/11/17(木) 07:53:43.04ID:HKu8SavS 所有権やライフタイムがいらないならrustである必要ないのでは
365デフォルトの名無しさん
2022/11/17(木) 08:37:34.35ID:HsWuKvxv366デフォルトの名無しさん
2022/11/17(木) 08:42:54.13ID:t8CddWfY 複雑なマルチスレッドのアプリで俺にしか直せないバグを故意に仕込むことならC++でしかできないかな
367デフォルトの名無しさん
2022/11/17(木) 09:56:45.90ID:AvIWLuzY >>364
プログラマが全知全能でメモリ関係のバグを踏まないって仮定したら所有権やライフタイムがなくてもrustはc++以上の優れた型システムを持ってる
プログラマが全知全能でメモリ関係のバグを踏まないって仮定したら所有権やライフタイムがなくてもrustはc++以上の優れた型システムを持ってる
368デフォルトの名無しさん
2022/11/17(木) 10:21:30.69ID:oUYdn6MU >>367
Haskellの方が優れてるよ
Haskellの方が優れてるよ
369デフォルトの名無しさん
2022/11/18(金) 17:50:50.73ID:nTmfkfcZ 米GitHubは11月18日までに、2022年にGitHub上で多く使用されたプログラミング言語ランキングを発表した。
その結果、1位は「JavaScript」だった。以降、2位「Python」、3位「Java」、4位「Typescript」、5位「C#」、
6位「C++」、7位「PHP」、8位「Shell」、9位「C」、10位「Ruby」と続いた。
Rubyに負けたらいけないだろw
その結果、1位は「JavaScript」だった。以降、2位「Python」、3位「Java」、4位「Typescript」、5位「C#」、
6位「C++」、7位「PHP」、8位「Shell」、9位「C」、10位「Ruby」と続いた。
Rubyに負けたらいけないだろw
370デフォルトの名無しさん
2022/11/18(金) 17:57:22.15ID:G2UZSnwT 企業の人ってGitHub使えるのかな?
企業が使い始めたら増えると思うけど。
企業が使い始めたら増えると思うけど。
371デフォルトの名無しさん
2022/11/18(金) 18:25:40.22ID:nTmfkfcZ 真の意味でホビーユーザーに支持されなきゃだめだよ
372デフォルトの名無しさん
2022/11/18(金) 18:31:52.75ID:UFs4jVzI ゆきひろにより開発されたオブジェクト指向スクリプト言語か
373デフォルトの名無しさん
2022/11/18(金) 18:55:51.18ID:fYiWUan7 このグラフ、Typescriptの躍進とRubyの凋落が対照的で興味深かった。
374デフォルトの名無しさん
2022/11/18(金) 19:00:57.54ID:WkS6x7hj375デフォルトの名無しさん
2022/11/18(金) 21:08:51.27ID:8iIh2nXZ C/C++の減少分がRustじゃね
376デフォルトの名無しさん
2022/11/18(金) 21:48:16.28ID:G2UZSnwT その説が正しい使い方気がした
377デフォルトの名無しさん
2022/11/19(土) 00:42:59.64ID:h9f1WTcb378デフォルトの名無しさん
2022/11/19(土) 00:49:11.67ID:UL/detO7 いい加減スレ違いはやめろって
379デフォルトの名無しさん
2022/11/19(土) 04:53:18.01ID:c1VeRjNF380デフォルトの名無しさん
2022/11/19(土) 09:49:20.36ID:RDqVxLmi tscがRustだと書き直すのが難しいとか聞いたが
381デフォルトの名無しさん
2022/11/19(土) 10:48:30.65ID:AeJpea+k >>380
tscをRustに一部移植
元のコードがGC前提だから全体の移植は大変なのでGoに変更
GoはGoで無駄な作業が多くて大変。やっぱりRustのほうが良かったのでRustに戻す
というのが今の状況
来年あたりまたGoに戻ってる可能性はあるが
tscをRustに一部移植
元のコードがGC前提だから全体の移植は大変なのでGoに変更
GoはGoで無駄な作業が多くて大変。やっぱりRustのほうが良かったのでRustに戻す
というのが今の状況
来年あたりまたGoに戻ってる可能性はあるが
382デフォルトの名無しさん
2022/11/19(土) 14:18:44.14ID:UL/detO7 >>381
移植とか考えずに仕様だけ洗い出してからRustで実装するのがベストでしょうね
仕様解析チーム(tscを読み込んでドキュメント化する)
とRust実装チーム(Rustのエキスパートたち)
この2チームがいれば十分だし
移植とか考えずに仕様だけ洗い出してからRustで実装するのがベストでしょうね
仕様解析チーム(tscを読み込んでドキュメント化する)
とRust実装チーム(Rustのエキスパートたち)
この2チームがいれば十分だし
383デフォルトの名無しさん
2022/11/19(土) 20:51:33.06ID:W8eLHJQE Rustで実装が難しいようなアルゴリズムは不安全で時代遅れだ説
384デフォルトの名無しさん
2022/11/19(土) 20:55:58.15ID:LAn7MDSu 解析してる間にどんどんtscの仕様は変わっていくよ
385デフォルトの名無しさん
2022/11/19(土) 21:07:54.54ID:2PIO0unP Rustってお互いに参照し合うようなグラフ構造を表現しにくいイメージある
386デフォルトの名無しさん
2022/11/19(土) 22:17:39.01ID:ibRUDL6T し難いのか不可能なのかどっちよ
387デフォルトの名無しさん
2022/11/19(土) 22:23:36.77ID:yb7KRrg5 rustcでグラフ構造扱ってるよ
ポインタではなくインデックスでアクセする実装
ポインタではなくインデックスでアクセする実装
388デフォルトの名無しさん
2022/11/19(土) 22:41:12.16ID:yWSzX/NN >>387
なるほどなあ
なるほどなあ
389デフォルトの名無しさん
2022/11/19(土) 23:28:51.73ID:PCVv4O5z390デフォルトの名無しさん
2022/11/19(土) 23:29:54.28ID:PCVv4O5z391デフォルトの名無しさん
2022/11/19(土) 23:31:24.06ID:PCVv4O5z ポインタが理解できない人は、ポインタが中心に居るところのリンク構造を全て
無視するから、Rustの欠点が理解できないだけ。
無視するから、Rustの欠点が理解できないだけ。
392デフォルトの名無しさん
2022/11/19(土) 23:32:17.52ID:Bzioz9F5393デフォルトの名無しさん
2022/11/19(土) 23:44:21.19ID:PCVv4O5z >>386
不可能ではないが、C言語のように参照やポインタでダイレクトに取り扱うのが
不可能なので、インデックスを介してアクセスした、非常に複雑な仕組みで
アクセスしたりする必要があり、効率が落ちる。
マシン語レベルで見ると、アクセスすすために必要なコードが増えるから。
不可能ではないが、C言語のように参照やポインタでダイレクトに取り扱うのが
不可能なので、インデックスを介してアクセスした、非常に複雑な仕組みで
アクセスしたりする必要があり、効率が落ちる。
マシン語レベルで見ると、アクセスすすために必要なコードが増えるから。
394デフォルトの名無しさん
2022/11/19(土) 23:44:57.71ID:PCVv4O5z 誤:インデックスを介してアクセスした、非常に複雑な仕組みで
正:インデックスを介してアクセスしたり、あるいは、非常に複雑な仕組みで
正:インデックスを介してアクセスしたり、あるいは、非常に複雑な仕組みで
395デフォルトの名無しさん
2022/11/20(日) 00:54:20.94ID:uh6X/Buy 窮屈だからとか言って車に乗るときにシートベルトを付けないタイプの人かな
396デフォルトの名無しさん
2022/11/20(日) 01:12:16.21ID:RgPem6BD 見かけ上はインデックスアクセスでも最適化がかかると途中のアドレス計算はほとんど消滅してポインタでやるのとそんなに差はなくなるよ。
ポインタを露骨に使うのはコンパイラ技術の未熟さをプログラマに補わせてただけ。
十分に高い能力のコンパイラにとってはプログラマが細々とした効率のための指示をするのはむしろ最適化の邪魔になる。
全体の構成やアルゴリズムの話ならともかく、細々とした部分はコンパイラのほうが人間よりよっぽど賢いんやぞ。
ポインタを露骨に使うのはコンパイラ技術の未熟さをプログラマに補わせてただけ。
十分に高い能力のコンパイラにとってはプログラマが細々とした効率のための指示をするのはむしろ最適化の邪魔になる。
全体の構成やアルゴリズムの話ならともかく、細々とした部分はコンパイラのほうが人間よりよっぽど賢いんやぞ。
397デフォルトの名無しさん
2022/11/20(日) 01:28:00.24ID:8zb5D3SN ahoの「アルゴリズムの設計と解析」という古い本で木構造をインデックスアクセスで実装していたけど
rustにふさわしい実装だったんだな
この本はポインタがない言語を想定していたのだろうけど
rustにふさわしい実装だったんだな
この本はポインタがない言語を想定していたのだろうけど
398デフォルトの名無しさん
2022/11/20(日) 01:29:41.16ID:mdre8ZhB ポインタで書いた方が速いじゃんて事は現にあったし
昔だと、それでも遅いからってアセンブリ言語で関数書いて呼んだりしたが
今なら、そこまでやらなくてもいいだろう
これは、コンパイラの進化もあるだろうが、CPUの進化の恩恵が大きい
昔だと、それでも遅いからってアセンブリ言語で関数書いて呼んだりしたが
今なら、そこまでやらなくてもいいだろう
これは、コンパイラの進化もあるだろうが、CPUの進化の恩恵が大きい
399デフォルトの名無しさん
2022/11/20(日) 01:32:00.55ID:8zb5D3SN 脱ポインタの流れは変わらないと思うけどね
安全性とは程遠いからこれを無くさない限り絶対にメモリ安全性は守られない
安全性とは程遠いからこれを無くさない限り絶対にメモリ安全性は守られない
400デフォルトの名無しさん
2022/11/20(日) 09:27:21.62ID:feChXjeV unsafeつかえばいいじゃん
401デフォルトの名無しさん
2022/11/20(日) 13:59:12.71ID:9/YCbfcZ >>396
インデックスを使おうとすると、1つのオブジェクトを作成する際にヒープから確保できず、
同じ集約(コンテナ)に属する全オブジェクトが入っている配列をreallocするような
動作が必要となり、スプリアス的に「停止時間」が入る。
また、その際キャッシュが大規模クリアされてしまう。
インデックスを使おうとすると、1つのオブジェクトを作成する際にヒープから確保できず、
同じ集約(コンテナ)に属する全オブジェクトが入っている配列をreallocするような
動作が必要となり、スプリアス的に「停止時間」が入る。
また、その際キャッシュが大規模クリアされてしまう。
402デフォルトの名無しさん
2022/11/20(日) 14:00:19.95ID:9/YCbfcZ >>400
前スレ(?)で、それでは済まないことが指摘済み。
前スレ(?)で、それでは済まないことが指摘済み。
403デフォルトの名無しさん
2022/11/20(日) 14:05:25.97ID:9/YCbfcZ >>399
自分が理解できないことは「ダメ」なこととしたり、排除しようとしてしまう。
典型例としては:
・数学が苦手な人 --> 数学不要論に走り、学校で教えることすら禁止させようとする。
・オブジェクト指向のメリットが理解できない人 -->オブジェクト不要論に走る。
・ポインタが苦手な人 --> ポインタを排除しようとする。
Rustはポインタを使うデータ構造を上手く使えなくなるようになっているので、
ポインタが理解できない人は、他の人も使えなくなって安堵の境地に浸れる。
オブジェクト指向で最も大事なclassの概念も使えなくなっているので、
オブジェクト指向が使えこなせなかった人は、他の人も使えなくなって、
競走上の劣等性を感じなくてすむ様になって得した気分になる。
しかし、現実は、そう甘くは無い。
自分が理解できないことは「ダメ」なこととしたり、排除しようとしてしまう。
典型例としては:
・数学が苦手な人 --> 数学不要論に走り、学校で教えることすら禁止させようとする。
・オブジェクト指向のメリットが理解できない人 -->オブジェクト不要論に走る。
・ポインタが苦手な人 --> ポインタを排除しようとする。
Rustはポインタを使うデータ構造を上手く使えなくなるようになっているので、
ポインタが理解できない人は、他の人も使えなくなって安堵の境地に浸れる。
オブジェクト指向で最も大事なclassの概念も使えなくなっているので、
オブジェクト指向が使えこなせなかった人は、他の人も使えなくなって、
競走上の劣等性を感じなくてすむ様になって得した気分になる。
しかし、現実は、そう甘くは無い。
404デフォルトの名無しさん
2022/11/20(日) 14:06:00.71ID:RgPem6BD405デフォルトの名無しさん
2022/11/20(日) 14:09:39.17ID:9/YCbfcZ >>404
インデックスは「連番」なので、その集約に属する全てのノードが、
1つの配列に入ってなければならない。
だから、ノードを追加した時に配列の容量が足りなくなると、
全ノードを入れるための配列の再確保が必要となる。
(全ノードが十分入る容量の配列を一気に確保して、move 動作が必要となる。
この際にキャッシュがほぼ全クリア状態になる。)
インデックスは「連番」なので、その集約に属する全てのノードが、
1つの配列に入ってなければならない。
だから、ノードを追加した時に配列の容量が足りなくなると、
全ノードを入れるための配列の再確保が必要となる。
(全ノードが十分入る容量の配列を一気に確保して、move 動作が必要となる。
この際にキャッシュがほぼ全クリア状態になる。)
406デフォルトの名無しさん
2022/11/20(日) 14:14:51.22ID:9/YCbfcZ >>401
[追加]
さらに、それに加えて、インデックスからオブジェクトにアクセスする際には、
オブジェクトのアドレス計算が必要となる。
それに、次のような掛け算が必要となる:
size = sizeof(OBJECT);
address = base + index * size; // 掛け算。
掛け算は計算科学上遅い処理であり、避けるべき処理である事が知られている。
[追加]
さらに、それに加えて、インデックスからオブジェクトにアクセスする際には、
オブジェクトのアドレス計算が必要となる。
それに、次のような掛け算が必要となる:
size = sizeof(OBJECT);
address = base + index * size; // 掛け算。
掛け算は計算科学上遅い処理であり、避けるべき処理である事が知られている。
407デフォルトの名無しさん
2022/11/20(日) 14:16:00.87ID:YFSLlDHr Rustで複雑なことをさせなければいい
408デフォルトの名無しさん
2022/11/20(日) 14:19:02.05ID:RgPem6BD409デフォルトの名無しさん
2022/11/20(日) 14:19:28.58ID:9/YCbfcZ >>406
[補足]
ただし、index * size の値を、「offset 値」として予め計算しておいて、
index値ではなく、offset値をindex値の代わりにすると、この掛け算は
除去できる。
このoffset値は、「相対アドレス」や「相対ポインタ」に相当する。
[補足]
ただし、index * size の値を、「offset 値」として予め計算しておいて、
index値ではなく、offset値をindex値の代わりにすると、この掛け算は
除去できる。
このoffset値は、「相対アドレス」や「相対ポインタ」に相当する。
410デフォルトの名無しさん
2022/11/20(日) 14:20:12.92ID:9/YCbfcZ411デフォルトの名無しさん
2022/11/20(日) 14:20:23.64ID:8zb5D3SN >>405
Vec使えばそんな不効率なことはせんよ
Vec使えばそんな不効率なことはせんよ
412デフォルトの名無しさん
2022/11/20(日) 14:23:27.03ID:RgPem6BD413デフォルトの名無しさん
2022/11/20(日) 14:26:55.83ID:9/YCbfcZ >>411
不可能。
不可能。
414デフォルトの名無しさん
2022/11/20(日) 14:27:54.72ID:9/YCbfcZ >>412
>その差を埋めるために高度なアドレシングモードを用意した。
全く関係無い。
imul命令のlatencyはどんどん速くなって、いて、いまや 3 クロックほどに
なっているらしいが、アドレッシングモードは関係無い。
>その差を埋めるために高度なアドレシングモードを用意した。
全く関係無い。
imul命令のlatencyはどんどん速くなって、いて、いまや 3 クロックほどに
なっているらしいが、アドレッシングモードは関係無い。
415デフォルトの名無しさん
2022/11/20(日) 14:31:49.56ID:RgPem6BD416デフォルトの名無しさん
2022/11/20(日) 14:34:23.52ID:8zb5D3SN この人大丈夫か?
なんか支離滅裂になってきてるが
なんか支離滅裂になってきてるが
417デフォルトの名無しさん
2022/11/20(日) 14:43:00.42ID:AxU0uBeT 速度求めるならsizeは2のべき乗にするだろうしそれならバレルシフタで相当昔から1クロックで済むだろ
それほど大きくないサイズならアドレッシングモードでサポートしてるプロセッサーもあるし
ID:9/YCbfcZ はもう少しちゃんと勉強した方がいいと思うよ
それほど大きくないサイズならアドレッシングモードでサポートしてるプロセッサーもあるし
ID:9/YCbfcZ はもう少しちゃんと勉強した方がいいと思うよ
418デフォルトの名無しさん
2022/11/20(日) 14:48:48.34ID:YFSLlDHr Rustで作ったdenoはなぜか遅いんだよな
https://dev.to/codesphere/bun-the-new-javascript-runtime-competing-with-deno-and-node-115d
https://dev.to/codesphere/bun-the-new-javascript-runtime-competing-with-deno-and-node-115d
419デフォルトの名無しさん
2022/11/20(日) 14:49:57.69ID:9/YCbfcZ >>417
メモリの無駄になるので、一般にはObjectのサイズは2のべき乗には出来ない。
メモリの無駄になるので、一般にはObjectのサイズは2のべき乗には出来ない。
420デフォルトの名無しさん
2022/11/20(日) 14:53:40.99ID:RgPem6BD >>418
元が根本的にダメだったら単に作り直すだけでも速くなったりするが、
大きなプロジェクトの成果物の性能が良いのは細々としたチューニングを続けてきたという蓄積の賜物。
すぐには越えられないのはごく普通のこと。
元が根本的にダメだったら単に作り直すだけでも速くなったりするが、
大きなプロジェクトの成果物の性能が良いのは細々としたチューニングを続けてきたという蓄積の賜物。
すぐには越えられないのはごく普通のこと。
421デフォルトの名無しさん
2022/11/20(日) 15:06:31.98ID:9/YCbfcZ >>415
配列
T a[N];
に対して、
a[index]
のアドレスを計算する時、
address = ((BYTE *)&a) + sizeof(T) * index;
の計算が行なわれ、マシン語レベルでは :
mov rax,(Tのサイズ)
imul rax,(index)
add rax,(aのアドレス)
と計算される。
Tのサイズが、1,2,4,8 の場合に限っては、
lea rax,[(aのアドレス) + (Tのサイズ) * index]
と書けるが、一般の場合には無理。
配列
T a[N];
に対して、
a[index]
のアドレスを計算する時、
address = ((BYTE *)&a) + sizeof(T) * index;
の計算が行なわれ、マシン語レベルでは :
mov rax,(Tのサイズ)
imul rax,(index)
add rax,(aのアドレス)
と計算される。
Tのサイズが、1,2,4,8 の場合に限っては、
lea rax,[(aのアドレス) + (Tのサイズ) * index]
と書けるが、一般の場合には無理。
422デフォルトの名無しさん
2022/11/20(日) 15:15:31.54ID:feChXjeV >>418
bunが速いのは、denoやnodejsではJSで書かれている部分がbunではzigで書かれていることや
JSエンジンのJITの段数の違いによるもので
rust関係ないという理解なんだけど
bunが速いのは、denoやnodejsではJSで書かれている部分がbunではzigで書かれていることや
JSエンジンのJITの段数の違いによるもので
rust関係ないという理解なんだけど
423デフォルトの名無しさん
2022/11/20(日) 15:17:09.91ID:9/YCbfcZ424デフォルトの名無しさん
2022/11/20(日) 15:17:10.42ID:feChXjeV >>402
どのレス?もっかい書いてよ
どのレス?もっかい書いてよ
425デフォルトの名無しさん
2022/11/20(日) 15:17:44.33ID:9/YCbfcZ426デフォルトの名無しさん
2022/11/20(日) 15:24:09.33ID:feChXjeV >>423
Rust製JSエンジンとか書いてる時点でよくわかってないのが読み取れる
Rust製JSエンジンとか書いてる時点でよくわかってないのが読み取れる
427デフォルトの名無しさん
2022/11/20(日) 15:26:15.43ID:feChXjeV >>425
スレのどのレスか教えてよ
スレのどのレスか教えてよ
428デフォルトの名無しさん
2022/11/20(日) 15:26:41.67ID:YFSLlDHr >>420
そっか、チューニング大事なんだな
そっか、チューニング大事なんだな
429デフォルトの名無しさん
2022/11/20(日) 15:30:49.96ID:9/YCbfcZ >>427
検索してくれ。
検索してくれ。
430デフォルトの名無しさん
2022/11/20(日) 15:34:04.94ID:9/YCbfcZ >>426
nodeやdenoは余り知らないから。
nodeやdenoは余り知らないから。
431デフォルトの名無しさん
2022/11/20(日) 15:39:36.41ID:feChXjeV432デフォルトの名無しさん
2022/11/20(日) 15:43:51.99ID:9/YCbfcZ >>431
まあ、そうだ。ただし、それは議論の一部。
ただ、反論する前に、頭がいいことが資格だぞ。
この板は頭の良さに対して全くフィルターが掛かってないから議論が混沌とする。
文字だけで理解するのではなく、イマジネーションと脳内のワーキングメモリー
を働かせて図形的に考えないとダメだぞ。
まあ、そうだ。ただし、それは議論の一部。
ただ、反論する前に、頭がいいことが資格だぞ。
この板は頭の良さに対して全くフィルターが掛かってないから議論が混沌とする。
文字だけで理解するのではなく、イマジネーションと脳内のワーキングメモリー
を働かせて図形的に考えないとダメだぞ。
433デフォルトの名無しさん
2022/11/20(日) 15:45:48.15ID:feChXjeV434デフォルトの名無しさん
2022/11/20(日) 15:47:47.99ID:feChXjeV >>432
そうだね、文章だけではあなたの脳内の意図をちゃんと読み取れないから想像力が重要だね
そうだね、文章だけではあなたの脳内の意図をちゃんと読み取れないから想像力が重要だね
435デフォルトの名無しさん
2022/11/20(日) 15:56:42.10ID:9/YCbfcZ436デフォルトの名無しさん
2022/11/20(日) 15:57:37.84ID:9/YCbfcZ437デフォルトの名無しさん
2022/11/20(日) 16:13:12.85ID:RgPem6BD >>428
チューニングの蓄積は大事だが、チューニングは実行環境 (など) の特性に合わせるということだから
前提となる特性が変われば今までの蓄積が今度は足を引っ張ることもある。
だからたまにはリセット (別プロジェクトとして始動) をするのも必要なことなんだよ。
少しづつ違う方針のものが併存しているのが健全な状態で、
真似したり反発したりしながら新陳代謝をしていくもんだ。
チューニングの蓄積は大事だが、チューニングは実行環境 (など) の特性に合わせるということだから
前提となる特性が変われば今までの蓄積が今度は足を引っ張ることもある。
だからたまにはリセット (別プロジェクトとして始動) をするのも必要なことなんだよ。
少しづつ違う方針のものが併存しているのが健全な状態で、
真似したり反発したりしながら新陳代謝をしていくもんだ。
438デフォルトの名無しさん
2022/11/20(日) 19:14:36.78ID:0EAflA1G グラフとかリンクトリストとかにはarena使えないの?
bumpaloとかtyped-arenaとかid_arenaとかgenerational-arenaとか色々出てるけど
bumpaloとかtyped-arenaとかid_arenaとかgenerational-arenaとか色々出てるけど
439デフォルトの名無しさん
2022/11/20(日) 19:36:54.78ID:feChXjeV >>436
じゃあなんでこのスレに書いてるの?
じゃあなんでこのスレに書いてるの?
440デフォルトの名無しさん
2022/11/20(日) 19:37:03.39ID:feChXjeV >>438
普通に使えるよ
普通に使えるよ
441デフォルトの名無しさん
2022/11/20(日) 19:39:01.04ID:feChXjeV442デフォルトの名無しさん
2022/11/20(日) 20:33:05.68ID:Y0E2xhem 単純なLinkedListのdropでstackoverflow
https://matklad.github.io/2022/11/18/if-a-tree-falls-in-a-forest-does-it-overflow-the-stack.html
dropが再帰的に呼ばれそうなところでwarning出してくれたら嬉しいんだけどな
あ
https://matklad.github.io/2022/11/18/if-a-tree-falls-in-a-forest-does-it-overflow-the-stack.html
dropが再帰的に呼ばれそうなところでwarning出してくれたら嬉しいんだけどな
あ
443デフォルトの名無しさん
2022/11/21(月) 16:56:19.41ID:qlbniNQc 試しにいろいろやってみたけど
引数を含めて参照渡しなのか値渡しなのか完全に区別されてるのがいいね
引数を含めて参照渡しなのか値渡しなのか完全に区別されてるのがいいね
444デフォルトの名無しさん
2022/11/21(月) 17:12:12.72ID:VM/mtrCu unsafeは甘え
445デフォルトの名無しさん
2022/11/21(月) 17:26:26.15ID:EfM99hS7 超エキスパートの皆さんが unsafe で
システムプログラミングしてくださるんだろうが
システムプログラミングしてくださるんだろうが
446デフォルトの名無しさん
2022/11/21(月) 21:30:40.94ID:rgJVysd6 https://qiita.com/ohakutsu/items/5d29001f79d42d63e886
本筋と関係ない部分での強めの態度での批判(というかいちゃもん)、いかにも日本的な陰湿なマウント文化が凝縮されていて笑えない
本筋と関係ない部分での強めの態度での批判(というかいちゃもん)、いかにも日本的な陰湿なマウント文化が凝縮されていて笑えない
447デフォルトの名無しさん
2022/11/21(月) 21:46:20.48ID:bYPD5c9s テスト
448デフォルトの名無しさん
2022/11/21(月) 21:47:48.09ID:bYPD5c9s お、書けたか
今日から勉強始めて Tour of Rust やってるんだけどなんか分かりづらいような...?
The Book からやったほうがいいのかな
今日から勉強始めて Tour of Rust やってるんだけどなんか分かりづらいような...?
The Book からやったほうがいいのかな
449デフォルトの名無しさん
2022/11/21(月) 21:54:54.43ID:sdhkglZS Haskellからやった方がいいかも
450デフォルトの名無しさん
2022/11/21(月) 22:00:50.98ID:bYPD5c9s Haskell... モナド... うっ、頭が
451デフォルトの名無しさん
2022/11/21(月) 23:01:50.99ID:gRBDBkQB >>446
本当にこれ
ワイもその記事のコメント欄読んでいたけど
@Akira-T-Hatakeyamaが的外れの癖に高圧的に書いていて見ていて気分が悪くなったわ
サンプルコードもそんなおかしいものではないし事実Cではするメモリリークも防げている
まったく害のない記事を上げたがために揚げ足取りを取られていて不憫や
本当にこれ
ワイもその記事のコメント欄読んでいたけど
@Akira-T-Hatakeyamaが的外れの癖に高圧的に書いていて見ていて気分が悪くなったわ
サンプルコードもそんなおかしいものではないし事実Cではするメモリリークも防げている
まったく害のない記事を上げたがために揚げ足取りを取られていて不憫や
452デフォルトの名無しさん
2022/11/21(月) 23:15:45.42ID:SGMQ7SqF > Cをきちんと理解していない人が RUST が安全ですと言っても、説得力皆無ですね。
ここに完全同意できてしまうから
この話はもうそこで終わってしまう
批判された側は改善するか記事消すかして
態度で反省を示してほしいわ
ゴミ記事量産すなって話
ここに完全同意できてしまうから
この話はもうそこで終わってしまう
批判された側は改善するか記事消すかして
態度で反省を示してほしいわ
ゴミ記事量産すなって話
453デフォルトの名無しさん
2022/11/21(月) 23:45:49.72ID:/NggQuuk callocの代わりにalloca使えとか揚げ足取りがすぎる
普通のOSならメモリリーク起きないというのも意味不明
普通のOSならメモリリーク起きないというのも意味不明
454デフォルトの名無しさん
2022/11/21(月) 23:50:01.01ID:/NggQuuk とはいえ元記事も微妙でメモリ安全の話をするならuse-after-free等の話をして欲しかった
455デフォルトの名無しさん
2022/11/22(火) 06:46:59.40ID:5norvibI ありがちな不具合を示すサンプルにこうすりゃいいとか言われてもねぇ...
そもそもstr_new()でalloca()使ったらstr_new()から抜けた時に解放されちゃうからもっと酷いことになるのわかってないだろw
そもそもstr_new()でalloca()使ったらstr_new()から抜けた時に解放されちゃうからもっと酷いことになるのわかってないだろw
456デフォルトの名無しさん
2022/11/22(火) 09:08:14.28ID:XE2I6odc457デフォルトの名無しさん
2022/11/22(火) 10:53:06.52ID:iGHsIGH/ コンパイル時評価の欠点
https://c3.handmade.network/blog/p/8590-the_downsides_of_compile_time_evaluation
Rustが攻撃されてる!許せねぇ!
https://c3.handmade.network/blog/p/8590-the_downsides_of_compile_time_evaluation
Rustが攻撃されてる!許せねぇ!
458デフォルトの名無しさん
2022/11/22(火) 11:53:04.77ID:7hOwVVcX const fnと思ったらmacroの話か
書かれてることはもっともだと思うしrust-analyzerの作者も似たようなことを言っていたような
書かれてることはもっともだと思うしrust-analyzerの作者も似たようなことを言っていたような
459デフォルトの名無しさん
2022/11/22(火) 12:05:47.11ID:5norvibI コンパイル時評価の欠点と言うかマクロは混乱しやすいって話だろ
まあ良薬も使いすぎると毒になるしほどほどに使うのは難しいし、処理系のサポートが難しくてエラーメッセージがイミフになるとかあるから半分ぐらいは同意する
まあ良薬も使いすぎると毒になるしほどほどに使うのは難しいし、処理系のサポートが難しくてエラーメッセージがイミフになるとかあるから半分ぐらいは同意する
460デフォルトの名無しさん
2022/11/22(火) 13:20:21.25ID:8XCnEjtt461デフォルトの名無しさん
2022/11/22(火) 16:03:09.05ID:gDAAjuMT 0..10 で生成されるオブジェクトってイテレータですか?
462デフォルトの名無しさん
2022/11/22(火) 16:12:53.87ID:7RPBFD0W463デフォルトの名無しさん
2022/11/22(火) 17:02:18.19ID:gDAAjuMT >>462
ありがとうございました
ありがとうございました
464デフォルトの名無しさん
2022/11/23(水) 08:39:00.67ID:wkDaFc7P >>463
どういたしまして
どういたしまして
465デフォルトの名無しさん
2022/11/23(水) 22:54:55.70ID:/vguy0QL The Bookの日本語版がRust 1.58で英語版がRust 1.62っぽいんですけど、この差が問題になることありますか?
466デフォルトの名無しさん
2022/11/23(水) 23:36:05.63ID:Z55i7UcV467デフォルトの名無しさん
2022/11/24(木) 01:19:12.75ID:4Rr7WzTC468デフォルトの名無しさん
2022/11/24(木) 02:03:20.81ID:7DmT43os 英語が駄目って人は百倍かけても読めない。
469デフォルトの名無しさん
2022/11/24(木) 02:06:19.42ID:L4U2ehwP The Book自体がそんな一生懸命読むべきもんじゃない
別のそのへんの本屋で売ってるRust本でもいい
別のそのへんの本屋で売ってるRust本でもいい
470デフォルトの名無しさん
2022/11/24(木) 02:06:45.58ID:01gKjbzi 機械翻訳も良くなったとは言え普通に間違えるし英語読めない人なら日本語版の方がいいでしょ
471デフォルトの名無しさん
2022/11/24(木) 03:11:31.83ID:7Kcsa8Zb あの日本語版はないわな
Rust習得の弊害でしかない
Rust習得の弊害でしかない
472465
2022/11/24(木) 09:13:21.63ID:/ycVFx5q 様々な意見、ありがとうございます!
両方を見比べて大きな差がありそうなところは英語版を翻訳して読んでみようと思います
両方を見比べて大きな差がありそうなところは英語版を翻訳して読んでみようと思います
473デフォルトの名無しさん
2022/11/24(木) 09:14:00.12ID:ZOGzuV/a 日本語版の一番の欠点は、基礎や概念を説明している項目が所々抜けてることだろうな
なんもわからないまま結論を覚えるだけになってしまう
なんもわからないまま結論を覚えるだけになってしまう
474デフォルトの名無しさん
2022/11/24(木) 10:04:24.95ID:wZ9/qcyF Rustって難しくね?
できればライフタイムあたり意識しないでプログラミングしたいんだけど
できればライフタイムあたり意識しないでプログラミングしたいんだけど
475デフォルトの名無しさん
2022/11/24(木) 11:37:21.52ID:rSYd8nrB そういう難しいところに直に向かい合うための言語なので...
476デフォルトの名無しさん
2022/11/24(木) 12:37:17.60ID:5MNsXfkj Typeshareが1.0になったけどどない?
https://github.com/1Password/typeshare
https://github.com/1Password/typeshare
477デフォルトの名無しさん
2022/11/24(木) 13:01:03.30ID:lMxgdHP2 日本語版ダメだと思うなら添削してくれればいいのに
英語出来る俺スゲーとかマウント取りたいだけの人なんかな
英語出来る俺スゲーとかマウント取りたいだけの人なんかな
478デフォルトの名無しさん
2022/11/24(木) 13:14:00.92ID:rSYd8nrB 仮に貢献してても5chじゃなくて別のコミュニティで表明するんじゃね
479デフォルトの名無しさん
2022/11/24(木) 13:18:22.75ID:B8EZvrTz 横からだけど義務教育で人並みの勉強をして英語がまったくできないっていうのは
本人の資質に問題があると思っている
(もちろん面と向かってこんなことは言わないけど)
本人の資質に問題があると思っている
(もちろん面と向かってこんなことは言わないけど)
480デフォルトの名無しさん
2022/11/24(木) 13:26:27.68ID:rSYd8nrB やっぱり>>477の意見が正しいわ
481デフォルトの名無しさん
2022/11/24(木) 13:29:37.83ID:B8EZvrTz マウント取りたいではなく、それくらい基本的なことなので
日本語版が無いと無理、英語版は無理、的なこと言うのは
それだけで足元見られる可能性がある、という話です
日本語版が無いと無理、英語版は無理、的なこと言うのは
それだけで足元見られる可能性がある、という話です
482デフォルトの名無しさん
2022/11/24(木) 14:12:12.17ID:Td5Dmo+3 余計なこと書くからマウント取りに来てると言われる
やりたくない理由とかいちいち書かなくてもいい
やりたくない理由とかいちいち書かなくてもいい
483デフォルトの名無しさん
2022/11/24(木) 14:16:41.96ID:ZOGzuV/a まあ本当に必要なんだったら、翻訳してくれる人にお金を出したらいいんじゃないか?
484デフォルトの名無しさん
2022/11/24(木) 14:22:39.63ID:B8EZvrTz 足元見られるとも知らずにRustに関する発言、情報発信はしないで欲しい。
背伸びしなくて良いよ、一発逆転なんて無いよと思う。
日本語版はそもそも無い方が良い。訳注満載の付加価値がない限り。(>>483には同意)
背伸びしなくて良いよ、一発逆転なんて無いよと思う。
日本語版はそもそも無い方が良い。訳注満載の付加価値がない限り。(>>483には同意)
485デフォルトの名無しさん
2022/11/24(木) 14:31:48.71ID:Td5Dmo+3 日本語版ダメだよ
↓
だったら直してよ
↓
金出して訳してもらえ
こんな感じ?「俺に金出せ!」でもないらしい。
↓
だったら直してよ
↓
金出して訳してもらえ
こんな感じ?「俺に金出せ!」でもないらしい。
486デフォルトの名無しさん
2022/11/24(木) 14:36:47.65ID:L4U2ehwP 金出して本買え
487デフォルトの名無しさん
2022/11/24(木) 14:39:33.49ID:B8EZvrTz >>485,486
エンコーディング周り、OS毎の違いなど付加価値要素はたくさん有るので
誰かが有償orタダでやってくれるのには文句はない。
ところで、大人になって英語を敬遠している人って、学校時代、
授業で良い発音で教科書を読む人をクスクス笑ってた人でしょ?
エンコーディング周り、OS毎の違いなど付加価値要素はたくさん有るので
誰かが有償orタダでやってくれるのには文句はない。
ところで、大人になって英語を敬遠している人って、学校時代、
授業で良い発音で教科書を読む人をクスクス笑ってた人でしょ?
488デフォルトの名無しさん
2022/11/24(木) 14:50:48.56ID:7DmT43os そりゃあ個々人としては英語を読めりゃあそれに越したことはないがなぁ。
だけど自国のコミュニティ、自国語の資料をそろえることが出来ないというのは格好悪い話であるのも確かだよな。
だけど自国のコミュニティ、自国語の資料をそろえることが出来ないというのは格好悪い話であるのも確かだよな。
489デフォルトの名無しさん
2022/11/24(木) 14:59:33.05ID:B8EZvrTz >>488 クスクス笑ってた側の人ですか?
あと、このスレ、執筆家が何人かいる気がするのは何故?
あと、このスレ、執筆家が何人かいる気がするのは何故?
490デフォルトの名無しさん
2022/11/24(木) 15:18:32.24ID:/JtPgST+ >>479みたいな主張の人は能率の高低論を読める読めない論にすり替えている
日本の義務教育の英語レベルは英語の技術資料を日本語と同等にすらすら
読めるとはほど遠いだろう
英語が読めても日本語と比べたら低能率って人は少なくないという点を無視している
日本の義務教育の英語レベルは英語の技術資料を日本語と同等にすらすら
読めるとはほど遠いだろう
英語が読めても日本語と比べたら低能率って人は少なくないという点を無視している
491デフォルトの名無しさん
2022/11/24(木) 15:23:14.78ID:SV+v/fkD ここはRustスレなので、英語の話がしたいなら英語スレへ
492デフォルトの名無しさん
2022/11/24(木) 15:33:59.04ID:rSYd8nrB 一方rustコミュニティはコンパイラのdiagnosticの翻訳者を募集していたのであった
https://blog.rust-lang.org/inside-rust/2022/08/16/diagnostic-effort.html
>>484はこういうのもやらない方が良いと思ってる?
https://blog.rust-lang.org/inside-rust/2022/08/16/diagnostic-effort.html
>>484はこういうのもやらない方が良いと思ってる?
493デフォルトの名無しさん
2022/11/24(木) 15:36:53.62ID:rSYd8nrB494デフォルトの名無しさん
2022/11/24(木) 15:41:27.99ID:3VG0Xg5C とりあえず日本語で学びたいという人はちゃんとした日本語書籍を買って読むことをすすめる
とにかく最初からあの低品質の日本語訳読むのはオススメしない
ただThe Bookレベルの英語は読めるようにしないとリファレンスも読めないしStackOverflowや公式フォーラムも読めないからすぐ詰むよ
とにかく最初からあの低品質の日本語訳読むのはオススメしない
ただThe Bookレベルの英語は読めるようにしないとリファレンスも読めないしStackOverflowや公式フォーラムも読めないからすぐ詰むよ
495デフォルトの名無しさん
2022/11/24(木) 15:41:58.17ID:B8EZvrTz496デフォルトの名無しさん
2022/11/24(木) 15:45:21.17ID:B8EZvrTz >>494 前半、後半、ともに同意です
497デフォルトの名無しさん
2022/11/24(木) 15:55:09.50ID:rSYd8nrB 個々人の生存戦略としてはそりゃ英語読めた方が良いけど
コミュニティとしては裾野を広げるために各種言語のリソースは用意されてた方が良い
bookの翻訳が不十分なのは課題だが、だからといって翻訳の取り組み自体を否定するのは違うんじゃないの?
それとも英語等のハードルを越えた人間のみ触れるものであるべきという思想なのかな
コミュニティとしては裾野を広げるために各種言語のリソースは用意されてた方が良い
bookの翻訳が不十分なのは課題だが、だからといって翻訳の取り組み自体を否定するのは違うんじゃないの?
それとも英語等のハードルを越えた人間のみ触れるものであるべきという思想なのかな
498デフォルトの名無しさん
2022/11/24(木) 15:59:42.08ID:gyRXVBW5 Rustの翻訳コミュニティって以前から揉めてるけど
それがよくわかるスレだね
それがよくわかるスレだね
499デフォルトの名無しさん
2022/11/24(木) 16:03:48.82ID:B8EZvrTz >>497
いやいや、英語を奉り過ぎだって。
それくらい基本的なことなのに英語を敬遠する勢力がRustコミュニティで発言、情報発信はしないで欲しい。
クスクス笑ってた側の人かどうか、そろそろ表明してくれませんか?
いやいや、英語を奉り過ぎだって。
それくらい基本的なことなのに英語を敬遠する勢力がRustコミュニティで発言、情報発信はしないで欲しい。
クスクス笑ってた側の人かどうか、そろそろ表明してくれませんか?
500デフォルトの名無しさん
2022/11/24(木) 16:11:10.23ID:rSYd8nrB >>499
残念ながらその態度はCoCに反するのでコミュニティで行動していけないのはあなたの方なんだよなぁ
https://www.rust-lang.org/policies/code-of-conduct
残念ながらその態度はCoCに反するのでコミュニティで行動していけないのはあなたの方なんだよなぁ
https://www.rust-lang.org/policies/code-of-conduct
501デフォルトの名無しさん
2022/11/24(木) 16:19:22.01ID:B8EZvrTz >>500
ポリコレを真に受けて衆愚コミュニティにしたいなら、あなた自らが翻訳を率先するのが筋です。
ポリコレを真に受けて衆愚コミュニティにしたいなら、あなた自らが翻訳を率先するのが筋です。
502デフォルトの名無しさん
2022/11/24(木) 16:23:22.95ID:rSYd8nrB503デフォルトの名無しさん
2022/11/24(木) 16:32:29.37ID:B8EZvrTz504デフォルトの名無しさん
2022/11/24(木) 16:38:28.16ID:WiL1nOOz Rust は崇高なものであるべき
みたいな人がいるんだな…
みたいな人がいるんだな…
505デフォルトの名無しさん
2022/11/24(木) 16:39:48.68ID:t2djUU2z てかそんなやつばっかじゃん。プライド高くてさ。
506デフォルトの名無しさん
2022/11/24(木) 17:03:55.18ID:B8EZvrTz >>504,505
そんな思い上がりは全くありません。英語一つでここまで必死に拒絶する、単純翻訳を崇め奉る勢力の存在、その資質に興味があるだけです。
こちらは翻訳の際の付加価値について認めているのに、翻訳活動を全否定されたかのような反応、読解力。
最初は冗談半分でしたが、本当にクスクス笑ってた側の人、うぇーい、したいだけの人のイメージが浮かんで来ます。
純粋に、資質に興味があるだけです。
それとも、本当にライターさん(ネットメディア?)か何かなんですかね。
そんな思い上がりは全くありません。英語一つでここまで必死に拒絶する、単純翻訳を崇め奉る勢力の存在、その資質に興味があるだけです。
こちらは翻訳の際の付加価値について認めているのに、翻訳活動を全否定されたかのような反応、読解力。
最初は冗談半分でしたが、本当にクスクス笑ってた側の人、うぇーい、したいだけの人のイメージが浮かんで来ます。
純粋に、資質に興味があるだけです。
それとも、本当にライターさん(ネットメディア?)か何かなんですかね。
507デフォルトの名無しさん
2022/11/24(木) 17:36:37.60ID:rSYd8nrB >>506
あなたの言う付加価値はローカライゼーションにまつわる固有事情の記事を追加せよという話だよね
付加価値があって初めて価値があるという発言は翻訳そのものには価値を認めてないんだから翻訳自体を全否定してるんじゃないの
あなたの発言は英語もできないやつは人間のカスだからrustに近づくんじゃないとしか読めないんだけど、解釈間違ってる?
あなたの言う付加価値はローカライゼーションにまつわる固有事情の記事を追加せよという話だよね
付加価値があって初めて価値があるという発言は翻訳そのものには価値を認めてないんだから翻訳自体を全否定してるんじゃないの
あなたの発言は英語もできないやつは人間のカスだからrustに近づくんじゃないとしか読めないんだけど、解釈間違ってる?
508デフォルトの名無しさん
2022/11/24(木) 17:46:15.18ID:B8EZvrTz >>507
前半:全否定されたかどうかが気になってしょうがないのでしょうが、こちらはそこに含意は無く、付加価値が満載なら文句は無いです、有償無償問わず。
後半:ずいぶん卑屈な受け止め方ですね。なんでそんな感性が身にしみついちゃったんですか?拡大解釈し過ぎです。
前半:全否定されたかどうかが気になってしょうがないのでしょうが、こちらはそこに含意は無く、付加価値が満載なら文句は無いです、有償無償問わず。
後半:ずいぶん卑屈な受け止め方ですね。なんでそんな感性が身にしみついちゃったんですか?拡大解釈し過ぎです。
509デフォルトの名無しさん
2022/11/24(木) 17:49:09.85ID:B8EZvrTz 追加:自分は一言多いとよく言われます。誤解されやすい人です。
510デフォルトの名無しさん
2022/11/24(木) 17:52:10.07ID:CxyqHr52 仮に日本語で読解に1時間かかるとする。英語だと読解に1.5時間かかるとする
100人いたらその差は50時間
これを英語は読めれば問題ないなどと正当化していたら競争力が落ちるのは当然であろう
100人いたらその差は50時間
これを英語は読めれば問題ないなどと正当化していたら競争力が落ちるのは当然であろう
511デフォルトの名無しさん
2022/11/24(木) 18:12:49.43ID:/hunkqEb 俺は人に教える時に重宝してるけど
初めはざっくり理解できればいいし
初めはざっくり理解できればいいし
512デフォルトの名無しさん
2022/11/24(木) 18:13:50.45ID:B8EZvrTz >>510
その仮定、その足し算に何の意味があるのか、誰の競争力の話か分かりませんが、とにかく頑張ってください。付加価値期待してます。
追加:1.5倍くらいなら英語で頑張り続けたら長くても1~2ヶ月くらいで、≒1倍になるのが適正な資質
その間の努力、時間配分が出来ないならタダの背伸び、無いものネダリ、わがまま、甘え
その仮定、その足し算に何の意味があるのか、誰の競争力の話か分かりませんが、とにかく頑張ってください。付加価値期待してます。
追加:1.5倍くらいなら英語で頑張り続けたら長くても1~2ヶ月くらいで、≒1倍になるのが適正な資質
その間の努力、時間配分が出来ないならタダの背伸び、無いものネダリ、わがまま、甘え
513デフォルトの名無しさん
2022/11/24(木) 18:15:51.60ID:B8EZvrTz >>511
わかります。ものになるかわからない人に時間を掛けたくないですよね。
わかります。ものになるかわからない人に時間を掛けたくないですよね。
514デフォルトの名無しさん
2022/11/24(木) 18:16:33.16ID:7DmT43os 入門ってのは基本的な概念を知らん状態なわけだもんな。
母語の資料があってもそれなりにしんどいので英語は勘弁してつかぁさい。
基本理念がわかればそこから後はまあまあわかるよ。
母語の資料があってもそれなりにしんどいので英語は勘弁してつかぁさい。
基本理念がわかればそこから後はまあまあわかるよ。
515デフォルトの名無しさん
2022/11/24(木) 18:19:43.47ID:tZHOriba 言うてまあこれが一発目の言語ならともかく
普通は(?)CもC++もやってからこれに手を出すやろ?
今更英語とかどうとか言う話になる?
プログラミング言語一般のリテラシーが英語を乗り越えてしまうやろ?
普通は(?)CもC++もやってからこれに手を出すやろ?
今更英語とかどうとか言う話になる?
プログラミング言語一般のリテラシーが英語を乗り越えてしまうやろ?
516デフォルトの名無しさん
2022/11/24(木) 18:20:35.82ID:4/0XLjMc Rust入門レベルを英語で読むって学部1年レベルの線形代数を英語で読むようなものだよ
517デフォルトの名無しさん
2022/11/24(木) 18:46:40.03ID:VGz25HBF518デフォルトの名無しさん
2022/11/24(木) 19:08:31.32ID:B8EZvrTz519デフォルトの名無しさん
2022/11/24(木) 19:16:37.71ID:B8EZvrTz >>517 拡大解釈し過ぎです。何の話をしている文脈なのか、読解力、国語力とは。
1~2ヶ月くらいの努力、時間配分を怠ると、一生ローカライズ産業(非最先端)の食い物にされます。食い物にする側に組する立場ですか?
ライターさん?今後のRust記事注目します。
1~2ヶ月くらいの努力、時間配分を怠ると、一生ローカライズ産業(非最先端)の食い物にされます。食い物にする側に組する立場ですか?
ライターさん?今後のRust記事注目します。
520デフォルトの名無しさん
2022/11/24(木) 19:18:22.16ID:RwBqHjG8 どうしちゃったの、このスレw
まあ、それほど王道と言えるルートが無くて
多少混沌とした落とし穴のある、いばらの道なのかな
まあ、それほど王道と言えるルートが無くて
多少混沌とした落とし穴のある、いばらの道なのかな
521デフォルトの名無しさん
2022/11/24(木) 19:31:21.34ID:tZHOriba522デフォルトの名無しさん
2022/11/24(木) 19:34:18.21ID:gyRXVBW5 トレイト境界の翻訳で一生揉めてたから
翻訳の話題はNGにしないか?
翻訳の話題はNGにしないか?
523デフォルトの名無しさん
2022/11/24(木) 19:44:14.11ID:wuF6EKEG いっそのこと日本語での書き込み禁止で
524デフォルトの名無しさん
2022/11/24(木) 19:50:46.51ID:5MNsXfkj みこちは一兎(ぺこら)しか追ってないのに得られないよね…
525デフォルトの名無しさん
2022/11/24(木) 19:52:52.93ID:5MNsXfkj 誤爆した恥ずかしい(*/□\*)
ちなみにこちらです↓
【バーチャルyoutuber】兎田ぺこら#254【ホロライブ/hololive】ID無し
https://egg.5ch.net/test/read.cgi/sugiuraayano/1669282879/
ちなみにこちらです↓
【バーチャルyoutuber】兎田ぺこら#254【ホロライブ/hololive】ID無し
https://egg.5ch.net/test/read.cgi/sugiuraayano/1669282879/
526479
2022/11/24(木) 20:23:00.17ID:B8EZvrTz 決して面と向かっては言えない私的な世界観ですが、予想以上の反応がありためになりました。
特に、執筆家・ライター・翻訳家・ネット記事・出版などと推測される、母国語資料勢・ローカライズ産業の存在を意識したことはこれまでなかったので。逆に英語一つで足元見る奴がいることに驚いた人もいるかもしれません。
自分的には、今後ネットのRust記事(日本語)と5chスレの関連性に注目してみます。
特に、執筆家・ライター・翻訳家・ネット記事・出版などと推測される、母国語資料勢・ローカライズ産業の存在を意識したことはこれまでなかったので。逆に英語一つで足元見る奴がいることに驚いた人もいるかもしれません。
自分的には、今後ネットのRust記事(日本語)と5chスレの関連性に注目してみます。
527デフォルトの名無しさん
2022/11/24(木) 20:27:49.73ID:aQORibhF この手の奴って英語なんて読めて当然だ言うくせに国語を英語にすればいいとか言わないよな
結局の所イキりたいだけの自己中なんだろう。社会にとって有害なタイプじゃね
結局の所イキりたいだけの自己中なんだろう。社会にとって有害なタイプじゃね
528デフォルトの名無しさん
2022/11/24(木) 20:33:45.50ID:sBZ5giiA 日本語版見て勉強してたけど英語版から欠落した情報があるんだな
よく分からなかったところを見比べてみるわ
よく分からなかったところを見比べてみるわ
529デフォルトの名無しさん
2022/11/24(木) 20:45:47.88ID:ZPzzCY+f 英語読めるに越したことはないし翻訳怪しい所は原文見た方がいいけど日本語版あるのにわざわざ日本人が英語版を読む必要はない
英語の勉強するならそれ専用でやった方がはるかに効率的なので
英語の勉強するならそれ専用でやった方がはるかに効率的なので
530デフォルトの名無しさん
2022/11/24(木) 20:46:18.83ID:tqD1idY4 あの日本語訳はこういうのが盛りだくさん
「最後の違いは、定数は定数式にしかセットできないことです。関数呼び出し結果や、実行時に評価される値にはセットできません。」
時間を使って読むに値しない
「最後の違いは、定数は定数式にしかセットできないことです。関数呼び出し結果や、実行時に評価される値にはセットできません。」
時間を使って読むに値しない
531デフォルトの名無しさん
2022/11/24(木) 20:55:01.86ID:V/Uo5ox3 英語もコンピュータ言語も全くできない人は無理せず日本語で勉強すればいいと思うけど、JavaScript を読めるレベルなら、英語読まないでコードから読んで英語は補助的に読んでみたりとか、工夫のしようはあるで。
532デフォルトの名無しさん
2022/11/25(金) 00:02:56.61ID:HP+HUenZ 文句言うばっかりで誰もpull req出さないから変な日本語が放置されるという
変だなと思ったら気軽に修正案投げられるような仕組みがあるとよいね
変だなと思ったら気軽に修正案投げられるような仕組みがあるとよいね
533デフォルトの名無しさん
2022/11/25(金) 00:11:51.41ID:mKVQfMbx プルリク何百個だせばいいんだよってなる
サンクコストとして捨てちゃったほうが日本のRustコミュニティにとってはプラスなんじゃないかな
サンクコストとして捨てちゃったほうが日本のRustコミュニティにとってはプラスなんじゃないかな
534デフォルトの名無しさん
2022/11/25(金) 00:14:11.06ID:9EBigD0X >>530
確かにいい訳ではないけど
理解できない原因は
専門用語をちゃんと理解していないことに
起因することが多い
この文も「定数」「定数式」「セット」が理解できれば
そんなに難しいことは書いていない
確かにいい訳ではないけど
理解できない原因は
専門用語をちゃんと理解していないことに
起因することが多い
この文も「定数」「定数式」「セット」が理解できれば
そんなに難しいことは書いていない
535デフォルトの名無しさん
2022/11/25(金) 00:32:29.91ID:HP+HUenZ >>533
何百くらいなら一人一回PR送るだけでもほぼ直るんじゃね
何百くらいなら一人一回PR送るだけでもほぼ直るんじゃね
536デフォルトの名無しさん
2022/11/25(金) 00:39:08.22ID:+ImZ41H+ >>534
誰かが理解できないって言ってた?
誰かが理解できないって言ってた?
537デフォルトの名無しさん
2022/11/25(金) 00:39:41.10ID:FYsweZxP538デフォルトの名無しさん
2022/11/25(金) 07:45:02.58ID:HZEumDr5 >>536
理解できるなら問題なくね?
理解できるなら問題なくね?
539デフォルトの名無しさん
2022/11/25(金) 07:48:42.32ID:6Yi+j4c1 安心安全のために少し日本語がスパゲッティ状態になるのは仕方がないんだろ
540デフォルトの名無しさん
2022/11/25(金) 08:02:50.13ID:v7fq4Pg1 プログラム一般論だけど
書籍抜きで進めて、分からない事をぐぐって行くと
最終的には stackoverflow 辺りにたどり着くんじゃない
書籍抜きで進めて、分からない事をぐぐって行くと
最終的には stackoverflow 辺りにたどり着くんじゃない
541デフォルトの名無しさん
2022/11/25(金) 08:11:39.93ID:m5nB+QH5 >>530
これ原文は
The last difference is that constants may be set only to a constant expression, not the result of a function call or any other value that could only be computed at runtime.
だけど、どう訳すのが適切なの?
これ原文は
The last difference is that constants may be set only to a constant expression, not the result of a function call or any other value that could only be computed at runtime.
だけど、どう訳すのが適切なの?
542デフォルトの名無しさん
2022/11/25(金) 08:12:56.32ID:ROoDFC7c 日本の商業技術書は中身がググるレベルのクソ雑魚なのはあるある
特に流行物はその確率が高く、下手すると同人技術書の方がマシまである
特に流行物はその確率が高く、下手すると同人技術書の方がマシまである
543デフォルトの名無しさん
2022/11/25(金) 08:19:17.40ID:8BzXPUw/ 日本での旧Xam○rinコミュニティの構図が思い出されます。
技術本位で勝負している人たちの大多数に見透かされましたからね。
Rust日本語訳勢の一部もそういう構図があるんですな。
英語苦手同士で助け合いましょ
↓
わかる
↓
機械翻訳を手作業で体裁整えました。すごい努力でしょ?
↓
時間を使って読むに値しない
↓
英語得意な人、普通に助けてくれるでしょ?一人一回PR送るだけなんだからね!
↓
は?学生時代、クスクス笑ってた側を助けるわけないじゃん
↓
私をマウントしないでください。英語苦手な人の方が多数派でコミュニティの裾野を広げるため...
↓
は?繋がりピラミッド構図作ってマウントしたがってるのはそっち
技術本位で勝負している人たちの大多数に見透かされましたからね。
Rust日本語訳勢の一部もそういう構図があるんですな。
英語苦手同士で助け合いましょ
↓
わかる
↓
機械翻訳を手作業で体裁整えました。すごい努力でしょ?
↓
時間を使って読むに値しない
↓
英語得意な人、普通に助けてくれるでしょ?一人一回PR送るだけなんだからね!
↓
は?学生時代、クスクス笑ってた側を助けるわけないじゃん
↓
私をマウントしないでください。英語苦手な人の方が多数派でコミュニティの裾野を広げるため...
↓
は?繋がりピラミッド構図作ってマウントしたがってるのはそっち
544デフォルトの名無しさん
2022/11/25(金) 08:23:37.14ID:tPlp31O1 学生時代にクスクス笑われたのがトラウマになってんのか、かわいそうに
545デフォルトの名無しさん
2022/11/25(金) 09:06:15.37ID:fjezKZFE 旧Xam○rin(現MAUI)の話で言うと、多数の別スレで毎日大暴れのMAUI君、英語苦手なのにガンガン成果?を見せてくるあたりは技術志向が強くてバイタリティーがあるので、問題発言だらけだけど許容範囲かな(Flutter側にもバイタリティーが欲しい)
英語苦手って人もいろんな貢献の仕方があるよね。
英語苦手って人もいろんな貢献の仕方があるよね。
546デフォルトの名無しさん
2022/11/25(金) 10:07:23.50ID:9BOxb4Qm >>544
あ〜あ言っちゃいましたね。Rustでガリ勉してる人の事も内心ではクスクス笑ってるんだろ。
あ〜あ言っちゃいましたね。Rustでガリ勉してる人の事も内心ではクスクス笑ってるんだろ。
547デフォルトの名無しさん
2022/11/25(金) 11:07:23.77ID:vXLNQ2UM 機械翻訳使うなっていうのは志賀の件で合意得られたはずなのになんでやるかなぁ
548デフォルトの名無しさん
2022/11/25(金) 11:15:50.25ID:cn0AfbS4 英語読めないやつはRustそもそも向いてないと思う
日本語の情報が充実している言語にしておいた方がいいよ
日本語の情報が充実している言語にしておいた方がいいよ
549デフォルトの名無しさん
2022/11/25(金) 11:22:23.99ID:4bp1jaeM 被害妄想なんかにまじめに付き合ってられないよ
550デフォルトの名無しさん
2022/11/25(金) 11:22:31.94ID:2L/AZJad あれ?いつの間にか機械翻訳使ってるなんて証拠でも出たんか?
またいつもの人が妄想膨らませてるだけと思ってたけど
またいつもの人が妄想膨らませてるだけと思ってたけど
551デフォルトの名無しさん
2022/11/25(金) 11:33:46.83ID:HP+HUenZ552デフォルトの名無しさん
2022/11/25(金) 11:47:02.77ID:PJRcnhAQ そもそもの内容を理解していないのなら翻訳をする資格はないよね。
そっとしておいてほしい。機械翻訳なんてもってのほか。
そっとしておいてほしい。機械翻訳なんてもってのほか。
553デフォルトの名無しさん
2022/11/25(金) 12:05:22.61ID:v5uvIKgG あるいは、原文の疑問点になりそうな箇所は須らくコードで実証すべし
機械翻訳がやってくれない人間による付加価値
機械翻訳がやってくれない人間による付加価値
554デフォルトの名無しさん
2022/11/25(金) 12:17:11.54ID:9A6C+y48 >>548
これでいいと思う。
これでいいと思う。
555デフォルトの名無しさん
2022/11/25(金) 12:21:48.12ID:OY9VtEiW >>548
現状はそれでいいと思う
現状はそれでいいと思う
556デフォルトの名無しさん
2022/11/25(金) 12:24:24.73ID:tJ38pL4L >>551
かく乱しないで欲しい。
かく乱しないで欲しい。
557デフォルトの名無しさん
2022/11/25(金) 12:32:01.12ID:pYHT3oH4 今構造体の勉強してんだけどユニット構造体ってどう言う時に使うの?
トレイトで使うって見たけどいまいちわからん
トレイトで使うって見たけどいまいちわからん
558デフォルトの名無しさん
2022/11/25(金) 12:32:35.70ID:3NnLJm/9 マジで荒らすな
ここに来るな
単発Ngするぞ
ここに来るな
単発Ngするぞ
559デフォルトの名無しさん
2022/11/25(金) 12:32:54.94ID:hG6NI52Y >>541
deepl下敷きにして修正すりゃいい。
最後の違いは、定数は定数式にのみ設定でき、関数呼び出しの結果や実行時にのみ計算される他の値には設定できないことです。
any otherが残念だけど、まあOKだろ。
deepl下敷きにして修正すりゃいい。
最後の違いは、定数は定数式にのみ設定でき、関数呼び出しの結果や実行時にのみ計算される他の値には設定できないことです。
any otherが残念だけど、まあOKだろ。
560デフォルトの名無しさん
2022/11/25(金) 12:37:02.65ID:9dhUDnXy561デフォルトの名無しさん
2022/11/25(金) 12:39:37.74ID:hG6NI52Y >>560
駄目な理由を指摘できない無能がマウントしてくるからRustは駄目なんだよ。
駄目な理由を指摘できない無能がマウントしてくるからRustは駄目なんだよ。
562デフォルトの名無しさん
2022/11/25(金) 12:39:46.16ID:scn2u8sN563デフォルトの名無しさん
2022/11/25(金) 12:44:43.95ID:dNgwgIBZ >>541
そういえば以前、全訳に挑んでいる、とかいう妄想を見たけど関連あったりする?
そういえば以前、全訳に挑んでいる、とかいう妄想を見たけど関連あったりする?
564デフォルトの名無しさん
2022/11/25(金) 12:48:03.92ID:hG6NI52Y >>562
内容を見ないで手段に文句をつけるのは無能のやることだよ。
内容を見ないで手段に文句をつけるのは無能のやることだよ。
565デフォルトの名無しさん
2022/11/25(金) 12:57:12.51ID:qsZx06Ly566デフォルトの名無しさん
2022/11/25(金) 13:00:28.35ID:Y7KZiKcU どうせ素人相手にマウント取っているアフィカスだろ
素人に毛が生えた程度なので突っ込まれても反論できない
具体的な議論は出来ないから話題そらしに終始する
最近この手の輩はここだけじゃなくあちこちのスレで見るわ
素人に毛が生えた程度なので突っ込まれても反論できない
具体的な議論は出来ないから話題そらしに終始する
最近この手の輩はここだけじゃなくあちこちのスレで見るわ
567デフォルトの名無しさん
2022/11/25(金) 13:02:05.70ID:HZEumDr5 >>551
そもそも
> 定数は定数式にしかセットできない
と
> 定数には定数式しかセットできない
じゃ意味違うよね
上は「定数式 = 定数」
下は「定数 = 定数式」
英文読む限りは上のような気がするが言語仕様的には下のような気がする
どっちが正しいんだ?
そもそも
> 定数は定数式にしかセットできない
と
> 定数には定数式しかセットできない
じゃ意味違うよね
上は「定数式 = 定数」
下は「定数 = 定数式」
英文読む限りは上のような気がするが言語仕様的には下のような気がする
どっちが正しいんだ?
568デフォルトの名無しさん
2022/11/25(金) 13:08:19.55ID:ZVM62PVL569デフォルトの名無しさん
2022/11/25(金) 13:21:30.46ID:D+kphDHJ >アフィカス
まだ気が早いけどワッチョイを使えば多少は防げるもんなの?
まだ気が早いけどワッチョイを使えば多少は防げるもんなの?
570デフォルトの名無しさん
2022/11/25(金) 13:31:54.44ID:j44SSeWl >>567
be setだから下だろバカ
be setだから下だろバカ
571デフォルトの名無しさん
2022/11/25(金) 14:44:15.84ID:wOyL9/CI572デフォルトの名無しさん
2022/11/25(金) 14:52:48.53ID:NT6Ragjt >>570
set A B (SVOO)…(ア)
は
A := B
set B to A (SVOC)…(イ)
も
A := B
(ア)は以下2通りの受動態に書き換えられる
A is set B …(1)
B is set to A …(2) (O2を主語にする場合O1の前にtoを補う必要がある)
(イ)は以下1通りの受動態に書き換えられる
B is set to A …(3)
(1)と(2)(3)ではA, Bの並びが逆になるから「be setだから下だろバカ」は間違いで、「be set toだから上だろバカ」が正しいように思える
しかしGoogle翻訳だと、
The variable is set to "バカ"
を英語に翻訳すると、
変数は「バカ」に設定されています
に、
"バカ" is set to The variable
を英語に翻訳するとこちらも、
変数に「バカ」を設定
に、
なるんだよなぁ…
不思議!
set A B (SVOO)…(ア)
は
A := B
set B to A (SVOC)…(イ)
も
A := B
(ア)は以下2通りの受動態に書き換えられる
A is set B …(1)
B is set to A …(2) (O2を主語にする場合O1の前にtoを補う必要がある)
(イ)は以下1通りの受動態に書き換えられる
B is set to A …(3)
(1)と(2)(3)ではA, Bの並びが逆になるから「be setだから下だろバカ」は間違いで、「be set toだから上だろバカ」が正しいように思える
しかしGoogle翻訳だと、
The variable is set to "バカ"
を英語に翻訳すると、
変数は「バカ」に設定されています
に、
"バカ" is set to The variable
を英語に翻訳するとこちらも、
変数に「バカ」を設定
に、
なるんだよなぁ…
不思議!
573デフォルトの名無しさん
2022/11/25(金) 15:02:34.88ID:TzWxad5d >>567
https://www.enago.jp/academy/set-to-be/
In the first case, gamma is set to 1.
で「最初のケースの場合、gammma は 1 に設定される」
みたいな意味らしいから、
I set X to 1.
は、「私は X を 1 に設定した」のような意味になることが有る。
一方、
I assign 1 to X.
は、「Xに1を代入する」の意味になる。
to Y と書いたとき、Y が代入先(dest)なのか、代入元(src)なのかは、
動詞や文脈によって変わってきてしまうのかも知れない。
assgin の場合は、assign src to dest に固定されているはず。
set の場合は、文脈によってどちらも有りうるかも知れない。
https://www.enago.jp/academy/set-to-be/
In the first case, gamma is set to 1.
で「最初のケースの場合、gammma は 1 に設定される」
みたいな意味らしいから、
I set X to 1.
は、「私は X を 1 に設定した」のような意味になることが有る。
一方、
I assign 1 to X.
は、「Xに1を代入する」の意味になる。
to Y と書いたとき、Y が代入先(dest)なのか、代入元(src)なのかは、
動詞や文脈によって変わってきてしまうのかも知れない。
assgin の場合は、assign src to dest に固定されているはず。
set の場合は、文脈によってどちらも有りうるかも知れない。
574デフォルトの名無しさん
2022/11/25(金) 15:04:42.52ID:RgnS8UuF >>569
ならない。IDコロコロがワッチョイコロコロになるだけだし常識ある人が離れる分悪化する可能性が高い
奴の主張によればワッチョイが違うから別人だ!になるのは明らかだし、それで盲目信者の巣窟になった
スレをいくつも見てきた
てかアマゾンや一部のブログを弾いているくせにアフィYoutbeが野放しになっている時点で・・・
ならない。IDコロコロがワッチョイコロコロになるだけだし常識ある人が離れる分悪化する可能性が高い
奴の主張によればワッチョイが違うから別人だ!になるのは明らかだし、それで盲目信者の巣窟になった
スレをいくつも見てきた
てかアマゾンや一部のブログを弾いているくせにアフィYoutbeが野放しになっている時点で・・・
575デフォルトの名無しさん
2022/11/25(金) 15:06:25.98ID:v7fq4Pg1 定数をバインドする式を定数式と呼ぶってことだろ
公式原文も色々怪しくて論議があるから、脳内で意訳しとけ
公式原文も色々怪しくて論議があるから、脳内で意訳しとけ
576デフォルトの名無しさん
2022/11/25(金) 15:08:01.76ID:TzWxad5d >>573
[続き]
I set X to 1.
とかけて、Xがdest(式の左辺)、1が src(式の右辺)であり、
X = 1;
の意味になる。
「The last difference is that constants may be set only to a constant expression,
not the result of a function call or any other value that could only be computed at runtime.」
の意味は、定数の右辺は、定数式、つまり、
constants = constant expression.
だけが許されて、
consttants = f(・・・);
などの、実行時に計算するしか結果が分からないような値は、右辺に来ることは無い、
という意味になるようだ。
[続き]
I set X to 1.
とかけて、Xがdest(式の左辺)、1が src(式の右辺)であり、
X = 1;
の意味になる。
「The last difference is that constants may be set only to a constant expression,
not the result of a function call or any other value that could only be computed at runtime.」
の意味は、定数の右辺は、定数式、つまり、
constants = constant expression.
だけが許されて、
consttants = f(・・・);
などの、実行時に計算するしか結果が分からないような値は、右辺に来ることは無い、
という意味になるようだ。
577デフォルトの名無しさん
2022/11/25(金) 15:13:16.78ID:TzWxad5d >>572
>set B to A (SVOC)…(イ)
>も
>A := B
set以外の動詞の英語の基本原則からするとその通りで、
動詞 A B
と
動詞 B to A
は多くの場合、同じような意味になることが多い。
ところが、set の場合、話がややこしいらしく、
実は、
set B to 1
は、
B := 1
の意味になるらしい。
setだけが原則を破って必ず逆になっているのか、それとも、
文脈によって変わってきてしまうのかは不明。
>set B to A (SVOC)…(イ)
>も
>A := B
set以外の動詞の英語の基本原則からするとその通りで、
動詞 A B
と
動詞 B to A
は多くの場合、同じような意味になることが多い。
ところが、set の場合、話がややこしいらしく、
実は、
set B to 1
は、
B := 1
の意味になるらしい。
setだけが原則を破って必ず逆になっているのか、それとも、
文脈によって変わってきてしまうのかは不明。
578デフォルトの名無しさん
2022/11/25(金) 15:21:16.45ID:HP+HUenZ579デフォルトの名無しさん
2022/11/25(金) 15:22:45.12ID:TzWxad5d >>577
[補足]
(例)
He gave me a chocolate. (1)
He gave a chocolate to me. (2)
は、原則的な意味としては同じ。ただし、meの様な代名詞の場合(1)で書くとは
聞いたことがある。
I assing 1 to X.
I assing X 1.
も同じ意味になるはず。
ところが、
I set X to 1.
は言えても、
I set 1 X.
は多分言えないような気がする。
英語は難しい。
[補足]
(例)
He gave me a chocolate. (1)
He gave a chocolate to me. (2)
は、原則的な意味としては同じ。ただし、meの様な代名詞の場合(1)で書くとは
聞いたことがある。
I assing 1 to X.
I assing X 1.
も同じ意味になるはず。
ところが、
I set X to 1.
は言えても、
I set 1 X.
は多分言えないような気がする。
英語は難しい。
580デフォルトの名無しさん
2022/11/25(金) 15:26:46.87ID:8N49L/hO 力説中のところ申し訳ありませんが、大事なことだと思いますので。
日本語訳の方には、ページごとに原文の特定バージョンへのリンクがあると良いと思いました。
理由
>>541が持って来た原文が現在の原文
The last difference is that constants may be set only to a constant expression, not the result of a value that could only be computed at runtime.
と違うので、はて?と思いHistoryを調べました。
Committed on Jul 24, 2021
https://github.com/rust-lang/book/commit/05d9c4c2312a6542f792492d17a62f79ad6dfd7b#diff-babf686b8b57cc7dd67fd06d087303fe92115f8a5d9fd5dca7cef8645a25bb58R104
日本語版のトップに書いてある日付よりも多少ラグがありました。
https://doc.rust-jp.rs/book-ja/title-page.html
>このテキストのこの版ではRust 1.58(2022年1月13日リリース)かそれ以降が使われていることを前提にしています。
探すのは難しいことではありませんが、手間と言えば手間で、せっかくのcontributeの意欲を削ぎかねません。
日本語訳の方には、ページごとに原文の特定バージョンへのリンクがあると良いと思いました。
理由
>>541が持って来た原文が現在の原文
The last difference is that constants may be set only to a constant expression, not the result of a value that could only be computed at runtime.
と違うので、はて?と思いHistoryを調べました。
Committed on Jul 24, 2021
https://github.com/rust-lang/book/commit/05d9c4c2312a6542f792492d17a62f79ad6dfd7b#diff-babf686b8b57cc7dd67fd06d087303fe92115f8a5d9fd5dca7cef8645a25bb58R104
日本語版のトップに書いてある日付よりも多少ラグがありました。
https://doc.rust-jp.rs/book-ja/title-page.html
>このテキストのこの版ではRust 1.58(2022年1月13日リリース)かそれ以降が使われていることを前提にしています。
探すのは難しいことではありませんが、手間と言えば手間で、せっかくのcontributeの意欲を削ぎかねません。
581デフォルトの名無しさん
2022/11/25(金) 15:35:57.85ID:TzWxad5d >>579
どこの話なのかと思っていたが、
https://doc.rust-lang.org/book/ch03-01-variables-and-mutability.html
に書いてあるものだった。
こうなっているから、>>576の解釈で有っている気がする :
The last difference is that constants may be set only to a constant expression, not the result of a value that could only be computed at runtime.
Here’s an example of a constant declaration:
const THREE_HOURS_IN_SECONDS: u32 = 60 * 60 * 3;
どこの話なのかと思っていたが、
https://doc.rust-lang.org/book/ch03-01-variables-and-mutability.html
に書いてあるものだった。
こうなっているから、>>576の解釈で有っている気がする :
The last difference is that constants may be set only to a constant expression, not the result of a value that could only be computed at runtime.
Here’s an example of a constant declaration:
const THREE_HOURS_IN_SECONDS: u32 = 60 * 60 * 3;
582デフォルトの名無しさん
2022/11/25(金) 15:41:09.30ID:TzWxad5d >>581
[補足]
>const THREE_HOURS_IN_SECONDS: u32 = 60 * 60 * 3;
>The constant’s name is THREE_HOURS_IN_SECONDS and
>its value is set to the result of multiplying 60 (the number of seconds
>in a minute) by 60 (the number of minutes in an hour) by 3
>(the number of hours we want to count in this program).
と書いてあり、能動態に直すと
XXX set its value to 60 * 60 * 3.
となるから、
set A to B
で
A = B
の意味を伝達しようとしていると考えられて、裏づけが取れた。
[補足]
>const THREE_HOURS_IN_SECONDS: u32 = 60 * 60 * 3;
>The constant’s name is THREE_HOURS_IN_SECONDS and
>its value is set to the result of multiplying 60 (the number of seconds
>in a minute) by 60 (the number of minutes in an hour) by 3
>(the number of hours we want to count in this program).
と書いてあり、能動態に直すと
XXX set its value to 60 * 60 * 3.
となるから、
set A to B
で
A = B
の意味を伝達しようとしていると考えられて、裏づけが取れた。
583デフォルトの名無しさん
2022/11/25(金) 15:45:19.49ID:xaW1nBc4 >>581,582
混乱の極みを見事に体現してる。原文見た方が良いでしょ?
混乱の極みを見事に体現してる。原文見た方が良いでしょ?
584デフォルトの名無しさん
2022/11/25(金) 15:55:04.06ID:THLf878Z >>581,582
昨日の1.5倍の人か100倍の人かわかんないけど、原文見たら0.1倍だったね。
昨日の1.5倍の人か100倍の人かわかんないけど、原文見たら0.1倍だったね。
585デフォルトの名無しさん
2022/11/25(金) 16:13:51.74ID:scn2u8sN プログラム関連で出てくる単語とか限られているから、慣れたら英語でも速く読めるからね。
586デフォルトの名無しさん
2022/11/25(金) 16:53:44.00ID:BP7ibfc5587デフォルトの名無しさん
2022/11/25(金) 17:08:35.12ID:N+Zpejdn588デフォルトの名無しさん
2022/11/25(金) 17:37:57.21ID:XtySliSs The Book日本語版、issueやPRが放置気味
https://github.com/rust-lang-ja/book-ja/issues
https://github.com/rust-lang-ja/book-ja/pulls
4人でメンテナンス?頑張ってる方かな?
https://github.com/orgs/rust-lang-ja/people
https://github.com/rust-lang-ja/book-ja/issues
https://github.com/rust-lang-ja/book-ja/pulls
4人でメンテナンス?頑張ってる方かな?
https://github.com/orgs/rust-lang-ja/people
589デフォルトの名無しさん
2022/11/25(金) 18:51:27.43ID:bTqKud61 日本語かどうかの話とちょっと逸れるけど
MDNのドキュメント初めて見たとき感動したな
親切というか見やすいというか
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array/from
↑これは今てけとーにクリックして開いたページだけど
・最初の一行目付近で概要は十分掴める
・実行して試せる
・解説や例が充実
こーいうレベルまでまとまってると捗るよね
MDNのドキュメント初めて見たとき感動したな
親切というか見やすいというか
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array/from
↑これは今てけとーにクリックして開いたページだけど
・最初の一行目付近で概要は十分掴める
・実行して試せる
・解説や例が充実
こーいうレベルまでまとまってると捗るよね
590デフォルトの名無しさん
2022/11/25(金) 18:55:07.58ID:HP+HUenZ >>589
標準ライブラリのrustdocとかこんな感じでは
標準ライブラリのrustdocとかこんな感じでは
591デフォルトの名無しさん
2022/11/25(金) 19:51:17.64ID:6Yi+j4c1 英語できないやつはRust禁止でいいだろ
592デフォルトの名無しさん
2022/11/25(金) 20:14:50.25ID:HZEumDr5 >>582
なるほど、なら
The last difference is that constants may be set only to a constant expression, not the result of a function call or any other value that could only be computed at runtime.
は
最後の違いは定数には関数呼び出しの結果や実行時に計算される値ではなく定数式のみを設定できる事である
くらいかな
なるほど、なら
The last difference is that constants may be set only to a constant expression, not the result of a function call or any other value that could only be computed at runtime.
は
最後の違いは定数には関数呼び出しの結果や実行時に計算される値ではなく定数式のみを設定できる事である
くらいかな
593デフォルトの名無しさん
2022/11/25(金) 21:44:29.00ID:6OlwGlFl 日本語訳読んだだけで秒で間違いに気付ける箇所を指摘したつもりだったんだがw
そうならないのは>>534が書いてるように「定数」「定数式」「セットする」「値」あたりの意味を理解してないってことなんだよね
そうならないのは>>534が書いてるように「定数」「定数式」「セットする」「値」あたりの意味を理解してないってことなんだよね
594デフォルトの名無しさん
2022/11/25(金) 22:47:54.20ID:GlJDmObA > 確かにいい訳ではないけど
用語以前に誤訳なわけだが
用語以前に誤訳なわけだが
595デフォルトの名無しさん
2022/11/25(金) 22:51:14.61ID:OHrntoLc >>557
RangeFullやSinkがunit-like struct
structの中身は空でtrait implのみ
でもそういう用途よりもジェネリックと一緒に使って状態を型で表現して
状態ごとに呼べる関数を制限したいときに使われることが多い
struct NotActivated;
struct Active;
struct Expired;
struct License<State> {…}
impl<State> License<State> {…}
impl License<NotActivated> {…}
RangeFullやSinkがunit-like struct
structの中身は空でtrait implのみ
でもそういう用途よりもジェネリックと一緒に使って状態を型で表現して
状態ごとに呼べる関数を制限したいときに使われることが多い
struct NotActivated;
struct Active;
struct Expired;
struct License<State> {…}
impl<State> License<State> {…}
impl License<NotActivated> {…}
596デフォルトの名無しさん
2022/11/25(金) 23:36:14.56ID:9EBigD0X 原文がちょっと不親切ではあるな
これはいい、これは駄目という例を
挙げてくれれば文とかはどうでもよくなるのに
これはいい、これは駄目という例を
挙げてくれれば文とかはどうでもよくなるのに
597デフォルトの名無しさん
2022/11/26(土) 07:16:42.40ID:PBcpo5Pj さんざん他言語・多言語愛好者をこけにしておちょくり倒してヘイト集めまくって、
挙句の果てに寄ってたかって素人騙してたくせに、その歴史が消える訳ないだろ。
今度は被害者のふり。最近ちょっと大人しくして良い人ぶって許されたと思ったら大間違い。
挙句の果てに寄ってたかって素人騙してたくせに、その歴史が消える訳ないだろ。
今度は被害者のふり。最近ちょっと大人しくして良い人ぶって許されたと思ったら大間違い。
598デフォルトの名無しさん
2022/11/26(土) 09:45:44.06ID:jkgTkEQQ ちょっと何言ってるのか分からない
599デフォルトの名無しさん
2022/11/26(土) 13:29:02.11ID:NN/Ee4C5 「定数は定数式にしかセットできません」だけならともかく
「定数は関数の呼び出しの結果にはセットできません」
「定数は実行時に評価される値にはセットできません」
と重ねてダメ押しされてるのに間違いに気づかないのは致命的すぎるわな
「定数は関数の呼び出しの結果にはセットできません」
「定数は実行時に評価される値にはセットできません」
と重ねてダメ押しされてるのに間違いに気づかないのは致命的すぎるわな
600デフォルトの名無しさん
2022/11/26(土) 21:14:12.05ID:WPAl7BZB 翻訳者の能力の問題もさることながら体制がダメなんだろ
601デフォルトの名無しさん
2022/11/26(土) 23:30:38.96ID:MK1npdNM 1コードブロックに3つもバグが埋め込まれて本番環境で不具合でてるのに中の人は誰も気づかない状態
恐ろしい
恐ろしい
602デフォルトの名無しさん
2022/11/26(土) 23:44:35.96ID:cbpgSLEO >>592
「定数に定数式を設定」という言葉はsrcとdstがどっちなのかに曖昧さが残るので
「定数を定数式で初期化」または、
「定数に定数式を代入」
「定数=定数式のように初期化」
とはっきり書いたほうが分かり易い。
「定数に定数式を設定」という言葉はsrcとdstがどっちなのかに曖昧さが残るので
「定数を定数式で初期化」または、
「定数に定数式を代入」
「定数=定数式のように初期化」
とはっきり書いたほうが分かり易い。
603デフォルトの名無しさん
2022/11/27(日) 02:00:12.48ID:PMZ9qEdk 日本語としてものすごく読みにくいとは思うが
どっちをどっちに設定するかという部分の曖昧さはないだろ
どっちをどっちに設定するかという部分の曖昧さはないだろ
604デフォルトの名無しさん
2022/11/27(日) 02:20:50.36ID:uyoA8rg1 タイムアウト時間を30秒に設定する
timeout_secondsに30を設定する
timeout_secondsに30を設定する
605デフォルトの名無しさん
2022/11/27(日) 07:55:44.11ID:azI8+vf1 こんなところじゃなくて翻訳版bookのレポジトリで議論してきなよ
606デフォルトの名無しさん
2022/11/27(日) 10:18:44.07ID:8gJa+XiI 個々人の生存戦略としてはそりゃ英語読めた方が良い
↓
同意
コミュニティとしては裾野を広げるために各種言語のリソースは用意されてた方が良い
↓
Rustコミュニティは英語に集中してリソース拡充してきている段階では?
翻訳版bookのコミュニティが、日本でのRustコミュニティとして中心的な位置を取りたいという野望でしょうか?
そんな求心力は無いと思いますが。
497: デフォルトの名無しさん sage 2022/11/24(木) 15:55:09.50 ID:rSYd8nrB
個々人の生存戦略としてはそりゃ英語読めた方が良いけど
コミュニティとしては裾野を広げるために各種言語のリソースは用意されてた方が良い
bookの翻訳が不十分なのは課題だが、だからといって翻訳の取り組み自体を否定するのは違うんじゃないの?
それとも英語等のハードルを越えた人間のみ触れるものであるべきという思想なのかな
↓
同意
コミュニティとしては裾野を広げるために各種言語のリソースは用意されてた方が良い
↓
Rustコミュニティは英語に集中してリソース拡充してきている段階では?
翻訳版bookのコミュニティが、日本でのRustコミュニティとして中心的な位置を取りたいという野望でしょうか?
そんな求心力は無いと思いますが。
497: デフォルトの名無しさん sage 2022/11/24(木) 15:55:09.50 ID:rSYd8nrB
個々人の生存戦略としてはそりゃ英語読めた方が良いけど
コミュニティとしては裾野を広げるために各種言語のリソースは用意されてた方が良い
bookの翻訳が不十分なのは課題だが、だからといって翻訳の取り組み自体を否定するのは違うんじゃないの?
それとも英語等のハードルを越えた人間のみ触れるものであるべきという思想なのかな
607デフォルトの名無しさん
2022/11/27(日) 10:36:54.77ID:Zv27eWsM608デフォルトの名無しさん
2022/11/27(日) 11:01:37.30ID:gXtPf0qn609デフォルトの名無しさん
2022/11/27(日) 11:59:56.08ID:azI8+vf1610デフォルトの名無しさん
2022/11/27(日) 12:31:41.07ID:H/u9072G >>609
翻訳版bookの中の人ですね。
本家公認だからって、日本人作のcrate等で活躍している人達を差し置いて
日本Rustコミュニティの中心見たいな態度はどうかと思うぞ。
605: デフォルトの名無しさん sage 2022/11/27(日) 07:55:44.11 ID:azI8+vf1
こんなところじゃなくて翻訳版bookのレポジトリで議論してきなよ
翻訳版bookの中の人ですね。
本家公認だからって、日本人作のcrate等で活躍している人達を差し置いて
日本Rustコミュニティの中心見たいな態度はどうかと思うぞ。
605: デフォルトの名無しさん sage 2022/11/27(日) 07:55:44.11 ID:azI8+vf1
こんなところじゃなくて翻訳版bookのレポジトリで議論してきなよ
611デフォルトの名無しさん
2022/11/27(日) 12:41:05.07ID:iW9ldzKP >>ID:azI8+vf1
こんなところでリクルート活動してないで率先してガンガン品質向上しろよ
本家の代弁者見たいな顔するな。
説得力ゼロ
こんなところでリクルート活動してないで率先してガンガン品質向上しろよ
本家の代弁者見たいな顔するな。
説得力ゼロ
612デフォルトの名無しさん
2022/11/27(日) 12:48:50.89ID:f1nHPrCO クスクス
613デフォルトの名無しさん
2022/11/27(日) 13:27:25.24ID:/KqYda7b おれ、この気持ち共感できる
>日本人作のcrate等で活躍している人達を差し置いて
これだけは断固反対
>なんとか協会とか資格試験を作るんですか?
翻訳版book中の人は、やらないと誓約する必要がある
>日本人作のcrate等で活躍している人達を差し置いて
これだけは断固反対
>なんとか協会とか資格試験を作るんですか?
翻訳版book中の人は、やらないと誓約する必要がある
614デフォルトの名無しさん
2022/11/27(日) 13:59:45.41ID:WnQW1xBa 翻訳議論スレ作れよ
615デフォルトの名無しさん
2022/11/27(日) 14:35:21.35ID:azI8+vf1616デフォルトの名無しさん
2022/11/27(日) 14:44:21.27ID:obDxoM1f617デフォルトの名無しさん
2022/11/27(日) 15:01:53.97ID:uyoA8rg1 低レベルな内容ほど議論が紛糾する
英語ではbikesheddingと言います
英語ではbikesheddingと言います
618デフォルトの名無しさん
2022/11/27(日) 15:41:13.95ID:Cs02dWTs619デフォルトの名無しさん
2022/11/27(日) 16:55:26.99ID:uHmuK07x620デフォルトの名無しさん
2022/11/27(日) 17:09:13.26ID:N296u3Hi621デフォルトの名無しさん
2022/11/27(日) 17:16:08.15ID:TRua3A2I622デフォルトの名無しさん
2022/11/27(日) 17:17:31.45ID:F7pPowDS 怪しい部分も大半は文脈と照らし合わせつつコード読めば理解できるレベルの翻訳なのに一々文句付けるぐらいなら翻訳に参加した方が早いのでは?としか思わない
623デフォルトの名無しさん
2022/11/27(日) 17:20:04.83ID:ZSA0r6oY まあそんな些細なことよりさ
項目が抜けてるところに<未翻訳の項目があります>って表示したら、かなり親切になるんじゃないかな
項目が抜けてるところに<未翻訳の項目があります>って表示したら、かなり親切になるんじゃないかな
624デフォルトの名無しさん
2022/11/27(日) 17:26:26.85ID:97SCWnfr625デフォルトの名無しさん
2022/11/27(日) 17:29:51.04ID:uHmuK07x626デフォルトの名無しさん
2022/11/27(日) 17:32:52.38ID:BVKfKgFe627デフォルトの名無しさん
2022/11/27(日) 17:33:05.29ID:lJvzY49o google翻訳にかけたらそうなったんだから、しょうがないだろ
という事では
という事では
628デフォルトの名無しさん
2022/11/27(日) 17:47:05.67ID:UmH2UGTE629デフォルトの名無しさん
2022/11/27(日) 17:58:03.70ID:Tzlpv0SL630デフォルトの名無しさん
2022/11/27(日) 18:01:08.13ID:AOVlF7rL >>627
ところがgoogle翻訳のほうがマシな場合も多々あるんだよこれが
ところがgoogle翻訳のほうがマシな場合も多々あるんだよこれが
631デフォルトの名無しさん
2022/11/27(日) 18:48:05.90ID:WjtNHhGH ざっと見た感じこの流れが気になる。こんなの秒で同意できるのに。
613: デフォルトの名無しさん sage 2022/11/27(日) 13:27:25.24 ID:/KqYda7b
おれ、この気持ち共感できる
>日本人作のcrate等で活躍している人達を差し置いて
これだけは断固反対
>なんとか協会とか資格試験を作るんですか?
翻訳版book中の人は、やらないと誓約する必要がある
615: デフォルトの名無しさん sage 2022/11/27(日) 14:35:21.35 ID:azI8+vf1
>>610
ちょっと思い込みが激しすぎやしないですかね
こんなところで翻訳案議論しても何の役にも立たないからせめてコントリビューションして来なさいよという意味
616: デフォルトの名無しさん sage 2022/11/27(日) 14:44:21.27 ID:obDxoM1f
横失礼します。
>>613そのものは共感に値します。
>>615さんも同感ですよね?
613: デフォルトの名無しさん sage 2022/11/27(日) 13:27:25.24 ID:/KqYda7b
おれ、この気持ち共感できる
>日本人作のcrate等で活躍している人達を差し置いて
これだけは断固反対
>なんとか協会とか資格試験を作るんですか?
翻訳版book中の人は、やらないと誓約する必要がある
615: デフォルトの名無しさん sage 2022/11/27(日) 14:35:21.35 ID:azI8+vf1
>>610
ちょっと思い込みが激しすぎやしないですかね
こんなところで翻訳案議論しても何の役にも立たないからせめてコントリビューションして来なさいよという意味
616: デフォルトの名無しさん sage 2022/11/27(日) 14:44:21.27 ID:obDxoM1f
横失礼します。
>>613そのものは共感に値します。
>>615さんも同感ですよね?
632デフォルトの名無しさん
2022/11/27(日) 18:52:53.78ID:WnQW1xBa 翻訳の話題NG
想像以上の闇がありそう
想像以上の闇がありそう
633デフォルトの名無しさん
2022/11/27(日) 19:05:09.68ID:vnIlphb/ 今の状態でいきなり協会が立ち上がったら遺恨を残すだけ。
634デフォルトの名無しさん
2022/11/27(日) 19:25:30.10ID:oBBhjDqK てか現状の雑翻訳の張本人=英語マウント君の可能性すらある
635デフォルトの名無しさん
2022/11/27(日) 20:48:36.17ID:Bc2lJjRX rust-jpあたりに私怨ある人が盛り上がってる感じかな
お大事に
お大事に
636デフォルトの名無しさん
2022/11/27(日) 21:42:32.15ID:lFtjfrKw 書いてもないことを勝手に読み取って燃え上がるタイプっぽいからいろいろ大変そうだね…
637デフォルトの名無しさん
2022/11/27(日) 21:46:47.14ID:ZNWbm5aC638デフォルトの名無しさん
2022/11/27(日) 22:01:49.36ID:WnQW1xBa 翻訳の話題禁止も追加しといてくれ
639デフォルトの名無しさん
2022/11/27(日) 22:07:24.37ID:berpMXHg 協会立ち上げるならRust検定も必要だろね。
640デフォルトの名無しさん
2022/11/27(日) 23:00:31.47ID:N2XeKp1i 協会立ち上がったらRustの保証範囲内で国内法損害賠償に応相談?
641デフォルトの名無しさん
2022/11/27(日) 23:11:10.98ID:berpMXHg プログラムに起因する損害を全て保証すれば、Rustの名声も高まるだろうな。
642デフォルトの名無しさん
2022/11/27(日) 23:12:33.38ID:berpMXHg Rustにおいてコンパイルを通るとは、すなわちバグが無いと保障されること。
と宣伝してたからな。
と宣伝してたからな。
643デフォルトの名無しさん
2022/11/27(日) 23:14:15.63ID:berpMXHg Rustサムライという映画があったような。
644デフォルトの名無しさん
2022/11/27(日) 23:29:35.46ID:NsWs/3+t rustの勉強に前に英語の勉強を
645デフォルトの名無しさん
2022/11/27(日) 23:44:50.88ID:berpMXHg 日本が世界に誇るRust言語。
646デフォルトの名無しさん
2022/11/28(月) 08:14:55.76ID:u/1oLUrZ リンクトリストやグラフ構造が地獄という話題に戻ろう
GC無し言語のRuneはrelationという機能で解決してて素晴らしいのではないでしょうか?
有向グラフのコード例↓
https://github.com/google/rune/blob/main/doc/rune4python.md#the-directed-graph-example
GC無し言語のRuneはrelationという機能で解決してて素晴らしいのではないでしょうか?
有向グラフのコード例↓
https://github.com/google/rune/blob/main/doc/rune4python.md#the-directed-graph-example
647デフォルトの名無しさん
2022/11/28(月) 09:39:33.33ID:MVujw8Ga >>646
その言語が何を保証しているのか解説よろ
その言語が何を保証しているのか解説よろ
648デフォルトの名無しさん
2022/11/28(月) 09:52:18.49ID:sJQkfuAF >>643
ググったら何かいそうなのww
ググったら何かいそうなのww
649デフォルトの名無しさん
2022/11/28(月) 11:16:45.67ID:BYOiineU >>595
このジェネリック使った静的チェック付きのStateパターンは他の言語では見ないんだがRustと同じように実装できるんだろうか?
このジェネリック使った静的チェック付きのStateパターンは他の言語では見ないんだがRustと同じように実装できるんだろうか?
650デフォルトの名無しさん
2022/11/28(月) 11:26:51.11ID:VpBGmQkI >>646,649
保証がないなら無意味なのでは
保証がないなら無意味なのでは
651デフォルトの名無しさん
2022/11/28(月) 11:48:49.74ID:ysUCvAXy >>649
C++で言うところのタグディスパッチ
C++で言うところのタグディスパッチ
652デフォルトの名無しさん
2022/11/28(月) 11:51:10.38ID:cwhW39fK653デフォルトの名無しさん
2022/11/28(月) 12:37:21.67ID:B8Z/qDA7654デフォルトの名無しさん
2022/11/28(月) 13:02:49.16ID:wvJe/vpd >>653
一般的なStateパターンではなく、静的チェック付きのStateパターンだと何が保証されるのですか?
一般的なStateパターンではなく、静的チェック付きのStateパターンだと何が保証されるのですか?
655デフォルトの名無しさん
2022/11/28(月) 14:37:02.92ID:goiShTMa656デフォルトの名無しさん
2022/11/28(月) 15:00:23.08ID:pom2iae5657デフォルトの名無しさん
2022/11/28(月) 15:00:27.21ID:pom2iae5658デフォルトの名無しさん
2022/11/28(月) 15:01:45.50ID:pom2iae5 すみません。マウスのチャタリングかな。。
659デフォルトの名無しさん
2022/11/28(月) 15:23:59.23ID:mX/IntZU >>656
Stateパターンに明るくないようならthe bookに2種類のStateパターンの実装が出てるので読んでみて
https://doc.rust-lang.org/book/ch17-03-oo-design-patterns.html
1つめの実装はある状態でサポートされない操作が呼び出されたら何もせずselfを返したり空文字列を返したりしてる
2つめの実装はある状態でサポートされない操作を呼び出すコードが有ればコンパイルエラー
>>595のやり方は2つめの実装をジェネリックとmarket typeを使ってPost<Draft>みたいな形にするもの
Stateパターンに明るくないようならthe bookに2種類のStateパターンの実装が出てるので読んでみて
https://doc.rust-lang.org/book/ch17-03-oo-design-patterns.html
1つめの実装はある状態でサポートされない操作が呼び出されたら何もせずselfを返したり空文字列を返したりしてる
2つめの実装はある状態でサポートされない操作を呼び出すコードが有ればコンパイルエラー
>>595のやり方は2つめの実装をジェネリックとmarket typeを使ってPost<Draft>みたいな形にするもの
660はちみつ餃子 ◆8X2XSCHEME
2022/11/28(月) 15:38:39.29ID:26iHAu1B Modern C++ Design で Policy と呼ばれているパターンに近くない?
基本的な言語機能が違うので単純に比較はできないかもしれないけど。
基本的な言語機能が違うので単純に比較はできないかもしれないけど。
661デフォルトの名無しさん
2022/11/28(月) 16:45:22.66ID:gmgHbWWJ662デフォルトの名無しさん
2022/11/28(月) 17:30:33.44ID:CGc28UZt ん〜、Rustで保証を持ち出さないんだったら、>>649=653?は何をマウントしようとしたのかすら不明
あと655は別人じゃね?
あと655は別人じゃね?
663デフォルトの名無しさん
2022/11/28(月) 17:41:27.83ID:/aP8eVMy 話の流れとは全く関係無いが、
twitterでは、rustで検索するとゲームが多数を占めてしまうので問題だが、
rustlang lang:ja
で検索すると割りと上手く行く。
twitterでは、rustで検索するとゲームが多数を占めてしまうので問題だが、
rustlang lang:ja
で検索すると割りと上手く行く。
664デフォルトの名無しさん
2022/11/28(月) 17:53:52.03ID:x/Rrw6wy ググったら一発で出てきた
doc.rust-jp.rs/rust-nomicon-ja/
>また、様々な種類の安全性や保証についてもたくさん説明します。
doc.rust-jp.rs/rust-nomicon-ja/
>また、様々な種類の安全性や保証についてもたくさん説明します。
665デフォルトの名無しさん
2022/11/28(月) 18:00:25.08ID:JOAT4gaO >rust-jpあたりに私怨ある人
こんなやついるのか?保証に敏感な人はrust-jpの何を拗らせたの?濡れ衣でしょ
こんなやついるのか?保証に敏感な人はrust-jpの何を拗らせたの?濡れ衣でしょ
666デフォルトの名無しさん
2022/11/28(月) 18:15:54.07ID:hRO2AtDN 言及する価値無し
667デフォルトの名無しさん
2022/11/28(月) 18:19:33.94ID:9jvbe+te 誰もYesかNoか答えない(含む自分)5chアンケート調査
↓
Rustではコンパイルが通れば実行時エラーが起きない事が保証される
(ちなみに拗らせてないしrustjpに私怨ありません. >>635のデマでは)
↓
Rustではコンパイルが通れば実行時エラーが起きない事が保証される
(ちなみに拗らせてないしrustjpに私怨ありません. >>635のデマでは)
668デフォルトの名無しさん
2022/11/28(月) 18:33:51.31ID:LDNjf6uN 実行時エラーを心配するって、どういうレベルの人たちだよ
669デフォルトの名無しさん
2022/11/28(月) 18:35:25.02ID:kKtU7ET1 「Rustではコンパイルが通れば実行時エラーが起きない事が保証される」
これ自体が大嘘だろう?I/Oのある呼び出しは必ずRuntimeパニックの可能性があるし、実行時エラーが起きない事が保証されるのは
一部の実行時エラー(主にメモリー関連、例:配列インデックス範囲外など)であり、unsafeでもチェックが働く部分を強調してるだけ
これ自体が大嘘だろう?I/Oのある呼び出しは必ずRuntimeパニックの可能性があるし、実行時エラーが起きない事が保証されるのは
一部の実行時エラー(主にメモリー関連、例:配列インデックス範囲外など)であり、unsafeでもチェックが働く部分を強調してるだけ
670デフォルトの名無しさん
2022/11/28(月) 18:47:02.30ID:cwhW39fK そんなに慌てて連投なさらなくても大丈夫ですよ
おちついてください
おちついてください
671デフォルトの名無しさん
2022/11/28(月) 18:48:22.90ID:/aP8eVMy RustがC++に勝るのは(原因特定の難しい)メモリー関連バグが防げるというだけで、
その他のバグは防げない。
しかも、メモリー関連バグですら、実行段階で始めて発覚するものがRustでも
有りえる。ようは、メモリー関連バグの原因特定がし易くなるというだけで、
メモリー関連バグを綺麗さっぱりなくせるという意味ですらない。
また、FORTRAN、BASIC、Perl、Ruby、PHP、Java、C# などはメモリー安全で
メモリー関連エラーは発生しないが、古来、バグはいくらでも入る。
その他のバグは防げない。
しかも、メモリー関連バグですら、実行段階で始めて発覚するものがRustでも
有りえる。ようは、メモリー関連バグの原因特定がし易くなるというだけで、
メモリー関連バグを綺麗さっぱりなくせるという意味ですらない。
また、FORTRAN、BASIC、Perl、Ruby、PHP、Java、C# などはメモリー安全で
メモリー関連エラーは発生しないが、古来、バグはいくらでも入る。
672デフォルトの名無しさん
2022/11/28(月) 19:09:17.89ID:sJQkfuAF673デフォルトの名無しさん
2022/11/28(月) 20:00:00.32ID:nxIypHTQ The Book にコンパイルは通るけど実行時エラーが出る例あるじゃん、何の話をしてるの?
674デフォルトの名無しさん
2022/11/28(月) 20:03:31.87ID:Wp/I5FPo 実行時エラーが起きないことが保証されると書かれている公式サイトのURLを下さい
文脈も合わせて読まなければ判断できないので
日本語で引用しているということは誤訳の可能性もあるし
文脈も合わせて読まなければ判断できないので
日本語で引用しているということは誤訳の可能性もあるし
675デフォルトの名無しさん
2022/11/28(月) 20:04:25.28ID:ptllJlnS >>671
>古来、バグはいくらでも入る。
Rustでもバグfixが追いつかない実例->lapce
code editorは数人(+ごく稀なcontributor)で対応するには余りにも複雑なプログラムだと思う。
>古来、バグはいくらでも入る。
Rustでもバグfixが追いつかない実例->lapce
code editorは数人(+ごく稀なcontributor)で対応するには余りにも複雑なプログラムだと思う。
676デフォルトの名無しさん
2022/11/28(月) 20:07:06.18ID:TT/P6KwG 他の言語ってインターフェースを関数から返せるっけ?
Rustはトレイト返せるけど
Rustはトレイト返せるけど
677デフォルトの名無しさん
2022/11/28(月) 20:09:20.88ID:ptllJlnS https://github.com/lapce/lapce/issues
他スレで上がってたのを思い出して見てみたら放置されてた
https://github.com/lapce/lapce/issues/1668
他スレで上がってたのを思い出して見てみたら放置されてた
https://github.com/lapce/lapce/issues/1668
678デフォルトの名無しさん
2022/11/28(月) 21:13:58.78ID:2w53O7+w679デフォルトの名無しさん
2022/11/28(月) 21:38:31.45ID:LooEy8MN680デフォルトの名無しさん
2022/11/29(火) 00:09:28.41ID:zwTDTYOm これ一番速いのはいいんだけどなんでバイナリサイズGoの倍もあるんだ?そこが不服だわ
https://ecostack.dev/posts/wasm-tinygo-vs-rust-vs-assemblyscript/
https://ecostack.dev/posts/wasm-tinygo-vs-rust-vs-assemblyscript/
681デフォルトの名無しさん
2022/11/29(火) 00:28:33.22ID:fvnZTYNV682デフォルトの名無しさん
2022/11/29(火) 00:29:24.71ID:bjuqnrsq 確かに。GC無いから転送サイズ小さくなる、と言う触れ込みは再考の必要があるのか。
https://i.imgur.com/nCVoHXW.png
https://i.imgur.com/nCVoHXW.png
683デフォルトの名無しさん
2022/11/29(火) 00:40:07.72ID:zwTDTYOm なんかこうやって纏められるとAssemblyScriptがわりと高いレベルでバイナリサイズ・実行速度・メモリフットプリントのバランス取れてていい感じがするな
wasmターゲット専用言語だからセットアップ単純だし
Rustはwasmターゲットだと若干セットアップ手間だけど速度は文句無しだからバイナリサイズだけせめてGoよりは小さくなってくれ
てかGo(TinyGo)よりサイズが必要な道理はないよな?
まさかデバッグビルドか何かかしら?
wasmターゲット専用言語だからセットアップ単純だし
Rustはwasmターゲットだと若干セットアップ手間だけど速度は文句無しだからバイナリサイズだけせめてGoよりは小さくなってくれ
てかGo(TinyGo)よりサイズが必要な道理はないよな?
まさかデバッグビルドか何かかしら?
684デフォルトの名無しさん
2022/11/29(火) 00:51:42.61ID:GvyrOa7B randじゃね?
Math.randomで揃えたほうが意味のある比較が得られるかも
Math.randomで揃えたほうが意味のある比較が得られるかも
685デフォルトの名無しさん
2022/11/29(火) 01:20:35.39ID:zkGFWomx これが最新情報かどうかわからないけど、wasm-bindgenに対応していないかも
https://blog.logrocket.com/comparing-random-number-generators-rust/
>Note: Unlike JavaScript, there is no Math.random method equivalent currently available in Rust.
randの方は、これで行けた
[dependencies]
wasm-bindgen = "0.2.63"
rand = {version = "0.7", features = ["wasm-bindgen"] }
デバッグビルドの心配はなさそう
https://i.imgur.com/Y1Cut3b.png
https://blog.logrocket.com/comparing-random-number-generators-rust/
>Note: Unlike JavaScript, there is no Math.random method equivalent currently available in Rust.
randの方は、これで行けた
[dependencies]
wasm-bindgen = "0.2.63"
rand = {version = "0.7", features = ["wasm-bindgen"] }
デバッグビルドの心配はなさそう
https://i.imgur.com/Y1Cut3b.png
686デフォルトの名無しさん
2022/11/29(火) 07:42:30.08ID:SJ6gC8Ff687デフォルトの名無しさん
2022/11/29(火) 10:50:30.64ID:kK2YPnkZ688デフォルトの名無しさん
2022/11/29(火) 18:52:25.76ID:K9a8IO+l 文脈を限定すると答えられる5ch意識調査
↓
RustはGC無いから○○では○○が有利/不利。自由に○○を埋めてください
↓
RustはGC無いから○○では○○が有利/不利。自由に○○を埋めてください
689デフォルトの名無しさん
2022/11/29(火) 18:55:24.50ID:t+w4gnFQ 次スレはワッチョイ付けとくか
690デフォルトの名無しさん
2022/11/29(火) 19:25:03.39ID:KYdU3S5N >>689
次スレ待たなくていいからワッチョイスレ建ててよ
次スレ待たなくていいからワッチョイスレ建ててよ
691デフォルトの名無しさん
2022/11/29(火) 19:54:15.57ID:VRBW4+C+692デフォルトの名無しさん
2022/11/29(火) 20:07:43.93ID:oIl8dOKJ >>691
表面的にはひどい荒らしスレに見えますが、ワッチョイなしスレに誘導したい思惑でしょうか
表面的にはひどい荒らしスレに見えますが、ワッチョイなしスレに誘導したい思惑でしょうか
693デフォルトの名無しさん
2022/11/29(火) 20:14:44.32ID:VRBW4+C+ スレタイしかみてないから知らんがな (´・ω・`)
> ワッチョイなしスレに誘導したい思惑
ここがそうなんだけど、どういうこと???
> ワッチョイなしスレに誘導したい思惑
ここがそうなんだけど、どういうこと???
694デフォルトの名無しさん
2022/11/29(火) 20:25:34.24ID:XdsjIrxf 次回からこう聞くように
限定された文脈なのに誰もYesかNoか答えない(含む自分)5chアンケート調査
↓
RustはGC無いからwasmでは転送サイズ小さくなる可能性がほぼほば100%
限定された文脈なのに誰もYesかNoか答えない(含む自分)5chアンケート調査
↓
RustはGC無いからwasmでは転送サイズ小さくなる可能性がほぼほば100%
695デフォルトの名無しさん
2022/11/29(火) 20:44:54.77ID:CCXgN4qQ696デフォルトの名無しさん
2022/11/29(火) 23:14:29.40ID:JTTSm0Nf ワッチョイでスレが健全化された例ってあるん?
697デフォルトの名無しさん
2022/11/30(水) 01:36:38.11ID:CGVOYd9m 新規ワッチョイスレを他言語比較マウント禁止のスレとして立ててくれませんか?
複オジがマウントするから荒れるわけなので、こちらは隔離スレ
こちらの隔離スレではたぶん複オジが嘘つきマウントし放題だけど、心ある人が都度、嘘認定をする流れで
複オジがマウントするから荒れるわけなので、こちらは隔離スレ
こちらの隔離スレではたぶん複オジが嘘つきマウントし放題だけど、心ある人が都度、嘘認定をする流れで
698デフォルトの名無しさん
2022/11/30(水) 08:15:37.71ID:zxU0c19+699デフォルトの名無しさん
2022/11/30(水) 08:41:56.63ID:5hu//ubR スレは健全化しないけど、NG指定が簡単になるからchリーダー使用者の恩恵は大きい。
700デフォルトの名無しさん
2022/11/30(水) 08:50:23.49ID:JOQsrdYp やる気のある荒らしにとってはワッチョイスレの方が自作自演やりやすい
701デフォルトの名無しさん
2022/11/30(水) 08:52:45.01ID:G7Z4SD5Z >>690,697
自分で立てなよ
自分で立てなよ
702デフォルトの名無しさん
2022/11/30(水) 09:59:30.85ID:GLbLL33e 翻訳論議が一段落して、次はワッチョイ論議
つまりこのスレは話題があんまり無い
つまりこのスレは話題があんまり無い
703デフォルトの名無しさん
2022/11/30(水) 10:15:08.01ID:oBo+tKG7 リンクトリストやグラフ構造が地獄という話題に戻ろう
704デフォルトの名無しさん
2022/11/30(水) 11:14:03.81ID:i6HTre51705デフォルトの名無しさん
2022/11/30(水) 11:39:08.76ID:zgBPYpzJ >>704
C++相談室 part162
https://mevius.5ch.net/test/read.cgi/tech/1667194175/
を見る限り、論理的一貫性をもった主張の出来る人ほど、コテハンやワッチョイを長期間維持しているように見えます。
ワッチョイスレを否定したり、建てられても過疎化させようとしている人の側に複オジおよび複オジ軍団?がいると思います。
C++相談室 part162
https://mevius.5ch.net/test/read.cgi/tech/1667194175/
を見る限り、論理的一貫性をもった主張の出来る人ほど、コテハンやワッチョイを長期間維持しているように見えます。
ワッチョイスレを否定したり、建てられても過疎化させようとしている人の側に複オジおよび複オジ軍団?がいると思います。
706デフォルトの名無しさん
2022/11/30(水) 11:45:59.09ID:GLbLL33e そのスレ、先週の木曜から丸1週間
連想配列とハッシュについて、用語の使い方でもめててカオスなんだが
連想配列とハッシュについて、用語の使い方でもめててカオスなんだが
707デフォルトの名無しさん
2022/11/30(水) 12:04:15.09ID:/jkyAEdJ だから、>>696,698,700,704がその、複オジおよび複オジ軍団?、の工作だと思われ
C++スレにも複オジ軍団が居て、事実を捻じ曲げておちょくってる
ワッチョイはブラウザ次第で結構似たものになるので、他の板で実験してから紛らわしいワッチョイになるようにして工作している
もっと効果の高い、地域表示があるワッチョイスレ、どうやって立てるのか教えてくれ
C++スレにも複オジ軍団が居て、事実を捻じ曲げておちょくってる
ワッチョイはブラウザ次第で結構似たものになるので、他の板で実験してから紛らわしいワッチョイになるようにして工作している
もっと効果の高い、地域表示があるワッチョイスレ、どうやって立てるのか教えてくれ
708デフォルトの名無しさん
2022/11/30(水) 12:13:40.18ID:cmtce+MC 複オジ軍団はここしばらくは他スレを荒らして、このスレではバレバレな潜伏しているのはなぜ?
709デフォルトの名無しさん
2022/11/30(水) 12:15:14.45ID:jPWRqkwi 自作自演できないとめっちゃ困るヤツがいるみたいだなw
710デフォルトの名無しさん
2022/11/30(水) 12:23:21.21ID:2gwAbMS9 >>703
じゃ、まずRustで書いた地獄のようなコードを公開しようか
じゃ、まずRustで書いた地獄のようなコードを公開しようか
711デフォルトの名無しさん
2022/11/30(水) 12:23:29.98ID:OzkchGTR 地域表示があるワッチョイスレ、これでいい
712デフォルトの名無しさん
2022/11/30(水) 12:39:01.46ID:pEwW8jKj このスレ他の荒らされスレも自衛のために地域表示があるワッチョイスレを導入するべき
713デフォルトの名無しさん(茸)
2022/11/30(水) 12:39:21.42ID:IuI5QH4S test
http://hobby23.net/archives/wacchoi-ng/
ID+W
!extend:checked:vvvvv:1000:512
ID+IP
!extend:checked:vvvv:1000:512
ID+W+IP
!extend:checked:vvvvvv:1000:512
http://hobby23.net/archives/wacchoi-ng/
ID+W
!extend:checked:vvvvv:1000:512
ID+IP
!extend:checked:vvvv:1000:512
ID+W+IP
!extend:checked:vvvvvv:1000:512
714デフォルトの名無しさん
2022/11/30(水) 12:52:42.68ID:AuqILHPE ワッチョイを入れるともっともらしい事を書きつつ論理性のない奴ばかりになるんだよな
715デフォルトの名無しさん
2022/11/30(水) 12:58:59.97ID:pEwW8jKj でも地域コロコロは相当な手間だろうから効果的
716デフォルトの名無しさん
2022/11/30(水) 13:15:44.12ID:qQx/nUVl いやいやw
ボタン一押しで変えられるからw
ボタン一押しで変えられるからw
717デフォルトの名無しさん
2022/11/30(水) 13:22:01.95ID:UkkEZSxh718デフォルトの名無しさん
2022/11/30(水) 13:31:07.04ID:RA9ND8/X719デフォルトの名無しさん
2022/11/30(水) 13:33:05.03ID:HgZFIyO3720デフォルトの名無しさん
2022/11/30(水) 14:33:18.63ID:bBS0BhSp そう思ってよく見ると、これ軍団?なのかは知らないけど
C++相談室 part162
https://mevius.5ch.net/test/read.cgi/tech/1667194175/392-393
アウアウウー Sa5b-*
ちょくちょく話の腰を折るのが楽しくて仕方ない、ポエオジに見えてきた
C++相談室 part162
https://mevius.5ch.net/test/read.cgi/tech/1667194175/392-393
アウアウウー Sa5b-*
ちょくちょく話の腰を折るのが楽しくて仕方ない、ポエオジに見えてきた
721デフォルトの名無しさん
2022/11/30(水) 15:11:10.30ID:WOTWHh4+ その人競プロスレにもいる
そのワッチョイだとよそ者扱いなの気づいてないかも
その仲間もいる
そのワッチョイだとよそ者扱いなの気づいてないかも
その仲間もいる
722デフォルトの名無しさん
2022/11/30(水) 15:45:12.01ID:pJupgOvS アウアウウーはNGにしてるわ
同じやつかもしれんがロクなやついないので
同じやつかもしれんがロクなやついないので
723デフォルトの名無しさん
2022/11/30(水) 16:09:27.62ID:luaLXMjy >>707
妄想乙。陰謀論とかすぐに信じちゃいそうだから気をつけような
妄想乙。陰謀論とかすぐに信じちゃいそうだから気をつけような
724デフォルトの名無しさん
2022/11/30(水) 16:26:36.69ID:C5ItOzWN C++スレ、だいたい見分け付くから安心して
725デフォルトの名無しさん
2022/11/30(水) 16:45:35.81ID:Wzirhnl9 そこに某オジが混ざってるのは確か
726デフォルトの名無しさん
2022/11/30(水) 19:27:06.50ID:FAHQHXzj ワッチョイ導入を吠える奴に限ってワッチョイコロコロだよな
727デフォルトの名無しさん
2022/11/30(水) 19:33:03.35ID:VjUnhy87 オイコラミネオの方が特徴を出している
728デフォルトの名無しさん
2022/11/30(水) 19:47:27.00ID:wYxb0V08 競プロスレではオイコラミネオがマウントしてアウアウウーがたしなめてる?
729デフォルトの名無しさん
2022/11/30(水) 20:19:35.44ID:30W6u2RH オイコラミネオはかのMAUIと意気投合してる
WPF(.NET, WinUI) GUIプログラミング Part30
https://mevius.5ch.net/test/read.cgi/tech/1667010874/279
279: デフォルトの名無しさん sage 2022/11/26(土) 11:06:15.13 ID:1ldKsJnP
これの少し上(265以降)からx:Nameの話のやり取り。質問者は別人で知ったかしてるのがオイコラミネオ
ID:1ldKsJnP == ID:1ldKsJnPM (オイコラミネオ MMab-ykd8)
http://hissi.org/read.php/tech/20221126/MWxkS3NKblBN.html
WPF(.NET, WinUI) GUIプログラミング Part30
https://mevius.5ch.net/test/read.cgi/tech/1667010874/279
279: デフォルトの名無しさん sage 2022/11/26(土) 11:06:15.13 ID:1ldKsJnP
これの少し上(265以降)からx:Nameの話のやり取り。質問者は別人で知ったかしてるのがオイコラミネオ
ID:1ldKsJnP == ID:1ldKsJnPM (オイコラミネオ MMab-ykd8)
http://hissi.org/read.php/tech/20221126/MWxkS3NKblBN.html
730デフォルトの名無しさん
2022/11/30(水) 20:25:16.86ID:dptuEtJz オイコラミネオ語録
天才
漏れ
のであった
のであっる
天才
漏れ
のであった
のであっる
731デフォルトの名無しさん
2022/11/30(水) 20:50:59.01ID:D0f5nOYN 語録 意味論+のであった コンボ
次世代言語29 TypeScript Swift Go Kotlin Rust Nim
https://mevius.5ch.net/test/read.cgi/tech/1663409149/352
352: デフォルトの名無しさん sage 2022/09/22(木) 06:32:39.62 ID:KYC2ssXj
>>343
意味論(semantics)はコンピューターサイエンスでは常識かつ必須のものであり
今回のような証明においてももちろん不可欠のもの
そして>>319の論文を見てみたら当然のように今回の核心部分で意味論(semantics)が出てきている
皆が言及しているのも当然なのであった
次世代言語29 TypeScript Swift Go Kotlin Rust Nim
https://mevius.5ch.net/test/read.cgi/tech/1663409149/352
352: デフォルトの名無しさん sage 2022/09/22(木) 06:32:39.62 ID:KYC2ssXj
>>343
意味論(semantics)はコンピューターサイエンスでは常識かつ必須のものであり
今回のような証明においてももちろん不可欠のもの
そして>>319の論文を見てみたら当然のように今回の核心部分で意味論(semantics)が出てきている
皆が言及しているのも当然なのであった
732デフォルトの名無しさん
2022/11/30(水) 20:56:14.68ID:xA9q89X1 こういう単発ガイジの対策になるわけですよ
733デフォルトの名無しさん
2022/11/30(水) 20:58:56.08ID:3owZWjDR Doc本家代弁者の思い込み? 本スレ ID:rSYd8nrB
>>492: デフォルトの名無しさん sage 2022/11/24(木) 15:33:59.04 ID:rSYd8nrB
一方rustコミュニティはコンパイラのdiagnosticの翻訳者を募集していたのであった
https://blog.rust-lang.org/inside-rust/2022/08/16/diagnostic-effort.html
>>484はこういうのもやらない方が良いと思ってる?
>>492: デフォルトの名無しさん sage 2022/11/24(木) 15:33:59.04 ID:rSYd8nrB
一方rustコミュニティはコンパイラのdiagnosticの翻訳者を募集していたのであった
https://blog.rust-lang.org/inside-rust/2022/08/16/diagnostic-effort.html
>>484はこういうのもやらない方が良いと思ってる?
734デフォルトの名無しさん
2022/11/30(水) 23:53:41.68ID:BfCpCYnc これは他の開発環境でもよくあることだけど、こんなの訳されたらググりづらくなるだけじゃねえのか
735デフォルトの名無しさん
2022/12/01(木) 00:17:38.55ID:8yYXZOAf rustcの場合はURLやエラーコード出るからメッセージが日本語でも特に支障はないのでは
736デフォルトの名無しさん
2022/12/01(木) 08:02:15.14ID:CTIQwGqT 英語のメッセージでググっても中身のないアフィカス日本語サイトしか出てこないようになっているからどっちもどっち
日本語のメッセージがアフィカスサイトを上回るならメリットあるね
日本語のメッセージがアフィカスサイトを上回るならメリットあるね
737デフォルトの名無しさん
2022/12/01(木) 10:50:28.62ID:aRdHv5SW 昨日のヒントで掘ったら、某オジがなんでPerl偽装するほどハッシュを拗らせてるのか分かった
738デフォルトの名無しさん
2022/12/01(木) 12:18:36.87ID:C8o9eLrx すごく久しぶりにRust関連みたらめっちゃ荒れてんのな。
一体何で揉めてんの?
一体何で揉めてんの?
739デフォルトの名無しさん
2022/12/01(木) 13:18:45.22ID:hut8tsqa 翻訳の話題になると単発Rustガイジが急に湧いてきたから
そこに関わって雑に扱われた人なんだろう
私情がむき出しになってる
怖い怖い
そこに関わって雑に扱われた人なんだろう
私情がむき出しになってる
怖い怖い
740デフォルトの名無しさん
2022/12/01(木) 13:36:00.00ID:fiJuDPd3 そうかな?おれは某オジが公式のお手伝い的立ち振る舞いをする事が迷惑
741デフォルトの名無しさん
2022/12/01(木) 13:40:04.93ID:QSGflsTk ↑単発Rustガイジ
742デフォルトの名無しさん
2022/12/01(木) 13:48:38.39ID:LRCAz4YI オイコラミネオさ~ん、別室で呼ばれてますよ~
743デフォルトの名無しさん
2022/12/01(木) 14:10:19.16ID:+8V7DDLQ オイコラミネオさ~ん、先生がお待ちですよ! #確率的探索中
744デフォルトの名無しさん
2022/12/01(木) 14:15:29.05ID:p39MirQK オイコラミネオさん、じゃあ始めますね~
745デフォルトの名無しさん
2022/12/01(木) 14:17:59.07ID:qbMIrOAL 言われてみれば低品質翻訳オジと某オジは言葉使いが似てるな
746デフォルトの名無しさん
2022/12/01(木) 14:33:23.35ID:o5v4IIF+ おれは某オジがそういうフリをしている可能性を問題視してる
747デフォルトの名無しさん
2022/12/01(木) 14:39:13.55ID:jvRfhEdy 私怨論に話をそらせたいのが某オジ >>635,739
748デフォルトの名無しさん
2022/12/01(木) 14:47:44.37ID:FTdOeqRZ rust-jpに私怨てw
自意識過剰もいいところ
自意識過剰もいいところ
749デフォルトの名無しさん
2022/12/01(木) 14:58:55.31ID:KbSqTJy2 #オイコラミネオさ~ん、知らない事は調べてきて答えてくださいね!
当分の間はコロコロ禁止ですよ!
お友達もあとから呼び出しがありますから伝えておいてくださいね!
当分の間はコロコロ禁止ですよ!
お友達もあとから呼び出しがありますから伝えておいてくださいね!
750デフォルトの名無しさん
2022/12/01(木) 15:18:16.92ID:QSGflsTk ここまで単発Rustガイジ
もうおわりだよこのスレ
もうおわりだよこのスレ
751デフォルトの名無しさん
2022/12/01(木) 15:27:01.81ID:3qQOITc+ お友達さ~ん、ま~た数学拗らせて~
Rustの保証は数学的証明付きだとかホラふかないで~
恥ずかしいからやめてくださいね!
Rustの保証は数学的証明付きだとかホラふかないで~
恥ずかしいからやめてくださいね!
752デフォルトの名無しさん
2022/12/01(木) 16:19:19.59ID:jEoqaGTE 別室での話だけど、
別人が誤ったから、同じ主張やその後の間違いを放り投げて幕引きとか、特徴出し過ぎ
別人が誤ったから、同じ主張やその後の間違いを放り投げて幕引きとか、特徴出し過ぎ
753デフォルトの名無しさん
2022/12/01(木) 16:29:41.61ID:jAeBwf3w こんな所でコソコソしてて草
754デフォルトの名無しさん
2022/12/01(木) 16:37:42.16ID:xrmQW8I1 >>753
#某オジはお願いだからこっち来ないで #MAUIとお幸せに!
#某オジはお願いだからこっち来ないで #MAUIとお幸せに!
755デフォルトの名無しさん
2022/12/01(木) 16:38:32.69ID:35O+q6ze なんでID変えたの?
756デフォルトの名無しさん
2022/12/01(木) 16:46:32.24ID:aw0kAUIM >>755
意味不明
意味不明
757デフォルトの名無しさん
2022/12/01(木) 16:49:44.04ID:jAeBwf3w758デフォルトの名無しさん
2022/12/01(木) 16:54:15.87ID:xSaC71UL いや俺のプロファイルだと間違いなく関わってる人間だ
759デフォルトの名無しさん
2022/12/01(木) 17:00:53.18ID:SU5R7n94760デフォルトの名無しさん
2022/12/01(木) 17:09:30.19ID:fD4PDcdr C++隔離部屋のくだらないレスバをRustスレに持ち込まないでくれる?
761デフォルトの名無しさん
2022/12/01(木) 17:23:29.67ID:uXbJjnno 即解決じゃないでか。手元でやってませんがvalgrindでしょうね
コンパイルエラー→Rust (マウントじゃなく)
valgrind/sanitizer/etcで確認→C/C++
それぞれの流儀に従うまでです ← ここ重要
C言語なら俺に聞け 159
https://mevius.5ch.net/test/read.cgi/tech/1659623547/707
707: デフォルトの名無しさん(ワッチョイ ff63-RPwI) sage 2022/12/01(木) 16:47:51.25 ID:knNtAgEU0
y[200001];とd[200001]がスタック壊してしまいます涙
コンパイルエラー→Rust (マウントじゃなく)
valgrind/sanitizer/etcで確認→C/C++
それぞれの流儀に従うまでです ← ここ重要
C言語なら俺に聞け 159
https://mevius.5ch.net/test/read.cgi/tech/1659623547/707
707: デフォルトの名無しさん(ワッチョイ ff63-RPwI) sage 2022/12/01(木) 16:47:51.25 ID:knNtAgEU0
y[200001];とd[200001]がスタック壊してしまいます涙
762デフォルトの名無しさん
2022/12/01(木) 17:28:44.40ID:uXbJjnno 一つ言えるのは
↓
C言語なら俺に聞け
↓
即解決、機能した
↓
C言語なら俺に聞け
↓
即解決、機能した
763デフォルトの名無しさん
2022/12/01(木) 17:38:11.07ID:fp7Y5Vje764デフォルトの名無しさん
2022/12/01(木) 18:17:06.08ID:Wq6wsgb9 別室の先生方は毎日ボクシングして切磋琢磨している、という説
くだらないレスバだけ、に見えるようでは青い、という説
くだらないレスバだけ、に見えるようでは青い、という説
765デフォルトの名無しさん
2022/12/01(木) 18:40:23.81ID:PeHv0CKI #某オジはこれを作って活躍してください
↓
Rust言語なら俺に聞け
コテハン/ワッチョイ有の方が徳を稼げると思います
#MAUIもこの手法で少数?の支持を得始めたかもです
↓
Rust言語なら俺に聞け
コテハン/ワッチョイ有の方が徳を稼げると思います
#MAUIもこの手法で少数?の支持を得始めたかもです
766デフォルトの名無しさん
2022/12/01(木) 22:44:34.30ID:cwSC/i2f 本気で提案したつもりでしたが残念です。
私は書き込みせず見ただけですかが、
#某オジ = ID:mPKw+fm5 ですね。
http://hissi.org/read.php/tech/20221201/bVBLdytmbTU.html
私は書き込みせず見ただけですかが、
#某オジ = ID:mPKw+fm5 ですね。
http://hissi.org/read.php/tech/20221201/bVBLdytmbTU.html
767デフォルトの名無しさん
2022/12/01(木) 23:06:28.23ID:oYnak1Dn768デフォルトの名無しさん
2022/12/01(木) 23:47:30.33ID:VP+MjCQ6 今更Modern C++に目覚めるぐらいならGoogleのCarbon Langに人生賭けた方が良くない?
769デフォルトの名無しさん
2022/12/01(木) 23:54:13.57ID:Vi6mnuHJ770デフォルトの名無しさん
2022/12/01(木) 23:57:07.42ID:xX1TOujC 複オジ軍団に次世代言語にやたら興味がある人物がいるようだ
771デフォルトの名無しさん
2022/12/02(金) 00:12:34.82ID:TMuqcbhv C++の本 //鈍器
Rustのほん // ペラペラで字が大きい
こんなイメージなので勉強する気Maxの時はビャーネ・ストラウストラップの本を買ってしまおうかと、気の迷いが起こる
Rustのほん // ペラペラで字が大きい
こんなイメージなので勉強する気Maxの時はビャーネ・ストラウストラップの本を買ってしまおうかと、気の迷いが起こる
772デフォルトの名無しさん
2022/12/02(金) 00:15:42.04ID:U8ThSRxs773デフォルトの名無しさん
2022/12/02(金) 06:22:19.71ID:1evFSF3k このスレはオジをNGワードにすると割とスッキリする。
774デフォルトの名無しさん
2022/12/02(金) 06:28:40.89ID:dhVfz/AS 複オジww
775デフォルトの名無しさん
2022/12/02(金) 16:07:31.52ID:ef8lBYgh >>771
いまさら禿本とか
いまさら禿本とか
776デフォルトの名無しさん
2022/12/02(金) 16:15:41.71ID:KasCtwYY 本の厚さと内容の濃さは比例しない
良本なら反比例することもよくある
良本なら反比例することもよくある
777デフォルトの名無しさん
2022/12/02(金) 18:41:11.95ID:zxUfj+om C++は余計な機能が多すぎて、解説する本が分厚くなっている面もある。
シンプルイズベストという言葉もあるくらいなので、HSP最強説。
シンプルイズベストという言葉もあるくらいなので、HSP最強説。
778デフォルトの名無しさん
2022/12/02(金) 19:55:07.44ID:xiR4WMyB ハゲ本は結構良いよ
ただ難しい内容を説明してるわけでもないのに
説明が回りくどいのでそこが好みと合うか
ただ難しい内容を説明してるわけでもないのに
説明が回りくどいのでそこが好みと合うか
779はちみつ餃子 ◆8X2XSCHEME
2022/12/02(金) 20:25:09.96ID:mKFQqkua 解説は平易に越したことはないけど本来もつ複雑さより平易には出来ない。
解説が回りくどいように見えるかもしれんが C++ が回りくどい分がそういう形で表れてるだけ。
回りくどくない C++ 本は何か省いてる。
Stroustrup の本は D&E しか読んだことないから他は知らんけど。
解説が回りくどいように見えるかもしれんが C++ が回りくどい分がそういう形で表れてるだけ。
回りくどくない C++ 本は何か省いてる。
Stroustrup の本は D&E しか読んだことないから他は知らんけど。
780デフォルトの名無しさん
2022/12/03(土) 00:26:57.58ID:dPKr1JJo >>779
ところで、C++は他にどんな本で学びましたか?
ところで、C++は他にどんな本で学びましたか?
781デフォルトの名無しさん
2022/12/03(土) 14:07:20.58ID:6D7qwbVS C++の人がRustも使っているだけで、大半の人は両刀使いって事でOK?
782デフォルトの名無しさん
2022/12/03(土) 14:34:57.98ID:jUK3mt1e 今の段階でC/C++全く使えないでRust使える人は見たことがない
783デフォルトの名無しさん
2022/12/03(土) 14:49:09.11ID:PqbNO9jz 自分の周りには普通にいるけどな、Web系メインだった人とか
単にやったことないってだけで別に今からやればできるようになるとは思うけど
単にやったことないってだけで別に今からやればできるようになるとは思うけど
784デフォルトの名無しさん
2022/12/03(土) 14:50:45.29ID:wt3jQGAX 自分もC/C++は書いたことないよ
785はちみつ餃子 ◆8X2XSCHEME
2022/12/03(土) 15:13:46.08ID:riW5om/o >>780
私は古い世代の人間だからそんなことを聞いてもこれからの役には立たないよ。
とりあえず入門したのは「注解 C++リファレンスマニュアル」だなぁ……。
あとは雑誌を見たりウェブ上のリファレンスとかニュースとかで細々としたことは知った感じ。
私は古い世代の人間だからそんなことを聞いてもこれからの役には立たないよ。
とりあえず入門したのは「注解 C++リファレンスマニュアル」だなぁ……。
あとは雑誌を見たりウェブ上のリファレンスとかニュースとかで細々としたことは知った感じ。
786デフォルトの名無しさん
2022/12/03(土) 15:24:14.86ID:uzIr2bMT Windows の場合、Visual Studio に追加で入れるから最初はC# か何かは使ってないと拒絶しそう
787デフォルトの名無しさん
2022/12/03(土) 15:37:09.41ID:nkG5MvF7 C++も書けるが最近はPythonメインで使っていて今はRustに傾倒してる
788デフォルトの名無しさん
2022/12/03(土) 17:06:05.61ID:ecXQ+fMx Rust の Vec::vec は、push() で末尾追加できますが、
このメソッドの signatureを見ると戻り値は存在しておらず、
メモリー確保に失敗すると panic するという理解で合ってますか。
仮にそうだとして、それを C++ の try catch 構文の様なもので補足することは
できませんか。別に構文はそれに限らずなんでもいいのですが、メモリー不足
が起きた時はpanic して強制的に必ずアプリが終了してしまってアプリ
からの制御は何も出来ない、ということですか。
このメソッドの signatureを見ると戻り値は存在しておらず、
メモリー確保に失敗すると panic するという理解で合ってますか。
仮にそうだとして、それを C++ の try catch 構文の様なもので補足することは
できませんか。別に構文はそれに限らずなんでもいいのですが、メモリー不足
が起きた時はpanic して強制的に必ずアプリが終了してしまってアプリ
からの制御は何も出来ない、ということですか。
789デフォルトの名無しさん
2022/12/03(土) 17:08:41.38ID:ltklWITu モダンC++はハゲ本か独習C++くらいしかまともな入門書がない
790デフォルトの名無しさん
2022/12/03(土) 17:09:29.11ID:yu/BUrHT >>787 Rustに傾倒中の勢いで力試しだと思って、春先からやられっ放しのCountWords最適化に挑戦してはくれないか?
791デフォルトの名無しさん
2022/12/03(土) 17:58:23.87ID:8XRumJlQ これからcodezineでモダンC++の連載始まるぞ
792デフォルトの名無しさん
2022/12/03(土) 18:16:35.82ID:SoE3tSBB >>788
try_reserve
try_reserve
793デフォルトの名無しさん
2022/12/03(土) 18:54:46.71ID:AI9TLj2L 最初から全部モダンな書き方だといいな。
本によっては昔のものと混ざっている。
本によっては昔のものと混ざっている。
794デフォルトの名無しさん
2022/12/04(日) 14:50:02.38ID:Mg8RdVSD 自分がモダンc++で書いてても旧式と絶対に出会ってしまうのでそっちもできるようにしないといけない
これが困る
これが困る
795デフォルトの名無しさん
2022/12/04(日) 16:14:46.07ID:RV2/jwt7 モダンモダンって、意味不明。
自分の生誕年と比して新しいってだけで、どんだけ自己中心的なの。
自分の生誕年と比して新しいってだけで、どんだけ自己中心的なの。
796デフォルトの名無しさん
2022/12/04(日) 16:22:30.31ID:qWdYVkpM 実は、Modern C++というものは厳密には存在しません。
プログラミング言語C++の、あるバージョン以降をそのように呼んでいます
プログラミング言語C++の、あるバージョン以降をそのように呼んでいます
797デフォルトの名無しさん
2022/12/04(日) 16:57:30.52ID:fmKWV/wp 生誕年とか関係なくてC++11以降の新機能を優先的に使うことを一般的にモダンと呼ぶだけだぞ
798デフォルトの名無しさん
2022/12/04(日) 17:20:06.36ID:OHPAilb6 C++11も10年以上前だし今モダンと言ったらもう少し新しいんじゃないの
799デフォルトの名無しさん
2022/12/04(日) 18:17:34.92ID:SUiviY+F CodezineのModern C++連載はC++14、C++17、C++20の3バージョンを主題してるなぁ。
800デフォルトの名無しさん
2022/12/04(日) 18:18:58.95ID:E8sA5vC6 飛び越えられる程度の低い段差が盛段な気がしている
801デフォルトの名無しさん
2022/12/04(日) 18:28:19.68ID:EQ4pAAP6 Rustと関係ないC++の話は隔離相談室でやれ
802デフォルトの名無しさん
2022/12/04(日) 21:28:17.17ID:oPsAeS3X どんなにモダンな書き方してもそれがレガシーになっていくんだからそれなりの対応力がなけりゃプログラマなんて無理
803デフォルトの名無しさん
2022/12/04(日) 22:42:17.79ID:SnbSooMc そう、Rustはもう時代遅れ
804デフォルトの名無しさん
2022/12/04(日) 23:35:05.06ID:pqDz82uP 『モダンRust入門』
805デフォルトの名無しさん
2022/12/04(日) 23:48:46.52ID:mqdeTGzg レガシーRustってどんなやつだろう?
・try!マクロを使ってる
・
・try!マクロを使ってる
・
806デフォルトの名無しさん
2022/12/05(月) 00:26:29.50ID:pon/y3Oa clippyに直せって指摘されるやつ
807デフォルトの名無しさん
2022/12/05(月) 00:27:02.53ID:pon/y3Oa edition2018以前はレガシー
808デフォルトの名無しさん
2022/12/05(月) 03:26:17.69ID:IAPEqd2s >>184
そのpythonの添え字の-1で配列の一番最後を表す仕様は完全に失敗した
プログラミングのミスで添字がマイナスとなった時もエラーとならず最後から数えた場所を指して意図せぬ動きで混乱を招いている
別途アクセスメソッドを用意するのが正解
そのpythonの添え字の-1で配列の一番最後を表す仕様は完全に失敗した
プログラミングのミスで添字がマイナスとなった時もエラーとならず最後から数えた場所を指して意図せぬ動きで混乱を招いている
別途アクセスメソッドを用意するのが正解
809デフォルトの名無しさん
2022/12/05(月) 21:58:50.38ID:zZIMoY87 >>808
同意
同意
810デフォルトの名無しさん
2022/12/05(月) 22:20:16.15ID:85vlj8hv 最初にnegative indexを採用したのはPascalだが-1が最後の要素を表さない。恐らくメジャーな言語で最初はRubyかLuaだわ。
Pythonは1.4から入りだして完全にサポートされたのが2.4なので主犯ではない
それを君は間違いだといいたいだろうが、カタナシのスクリプト言語で長々としたプログラムを書くのがそもそも間違っているYO!
それでアクセスメソッドという結論に安易に行き着くのはget(-1)と同じで正直やめてほしい....
だからと言ってRustのusizeインデックスは正当化できない、使いづらいだけ
Pythonは1.4から入りだして完全にサポートされたのが2.4なので主犯ではない
それを君は間違いだといいたいだろうが、カタナシのスクリプト言語で長々としたプログラムを書くのがそもそも間違っているYO!
それでアクセスメソッドという結論に安易に行き着くのはget(-1)と同じで正直やめてほしい....
だからと言ってRustのusizeインデックスは正当化できない、使いづらいだけ
811デフォルトの名無しさん
2022/12/05(月) 22:21:07.81ID:m5vf/Aut 打ち間違い?がたまたま文法的にOKなんてことは、
どの言語でも、いくらでもシチュエーションとしてあり得ることだろ
どの言語でも、いくらでもシチュエーションとしてあり得ることだろ
812デフォルトの名無しさん
2022/12/05(月) 22:38:33.84ID:NTxK7UYQ 利便性とリスクのトレードオフだからね
いちいち長さから計算する時代じゃない
いちいち長さから計算する時代じゃない
813デフォルトの名無しさん
2022/12/05(月) 22:47:56.84ID:jQ8cc2lX >>810
そんな細かいことってどうでもよくね?
そんな細かいことってどうでもよくね?
814デフォルトの名無しさん
2022/12/05(月) 22:54:27.15ID:9YGPhFSH815デフォルトの名無しさん
2022/12/05(月) 23:11:47.28ID:MKpQGtij Cの入門書を読んで一応ある程度理解したつもりというレベルですが、Rustの入門におすすめの本やサイトがあったら教えていただけませんか?
816デフォルトの名無しさん
2022/12/05(月) 23:44:22.33ID:PMru5zTg >>815
オライリー本
オライリー本
817デフォルトの名無しさん
2022/12/05(月) 23:51:52.39ID:MKpQGtij >>816
Amazonの試し読みで2章Rustツアーを読みました
オライリー本が置いてあるような本屋が近くになく試し読みでも3章以降が読めないのですが、辞書的な感じでしょうか?
通読にも向いてますか?
Amazonの試し読みで2章Rustツアーを読みました
オライリー本が置いてあるような本屋が近くになく試し読みでも3章以降が読めないのですが、辞書的な感じでしょうか?
通読にも向いてますか?
818デフォルトの名無しさん
2022/12/05(月) 23:54:41.51ID:uIcr3Drw 目次を見て判断しなさいよ
819デフォルトの名無しさん
2022/12/06(火) 01:04:16.95ID:AYQzZ/1Z820デフォルトの名無しさん
2022/12/06(火) 03:26:07.35ID:SqysrJ92 >>810
.last()と.get(-1)は全然違うと思うんだが
.last()と.get(-1)は全然違うと思うんだが
821デフォルトの名無しさん
2022/12/06(火) 07:58:01.16ID:zEklaQTD822デフォルトの名無しさん
2022/12/06(火) 10:02:55.32ID:EPp4mQNt >>821
それは低品質版の勝手日本語訳
本物のThe Bookはこっち
https://doc.rust-lang.org/book/
本気で学びたいなら日本語訳のThe Bookに手を出したらダメ
それは低品質版の勝手日本語訳
本物のThe Bookはこっち
https://doc.rust-lang.org/book/
本気で学びたいなら日本語訳のThe Bookに手を出したらダメ
823デフォルトの名無しさん
2022/12/06(火) 10:31:58.81ID:vigVXzh5 >>822
勝手日本語訳ってどういう意味?
勝手日本語訳ってどういう意味?
824デフォルトの名無しさん
2022/12/06(火) 10:38:42.71ID:6z0cppnT >>822 基本的には日本語版で問題ない
それどころか英語版をGoogle翻訳しながら読むよりは質良いから気になるとこがあったら原文読む感じでいい
それどころか英語版をGoogle翻訳しながら読むよりは質良いから気になるとこがあったら原文読む感じでいい
825デフォルトの名無しさん
2022/12/06(火) 10:57:55.33ID:aMDIqhh+ 釣られんなよ (´・ω・`)
826デフォルトの名無しさん
2022/12/06(火) 11:05:39.12ID:aMwchw3Z こうして、日本におけるRustの学習曲線はさらに険しくなるのであった。
827デフォルトの名無しさん
2022/12/06(火) 11:20:31.41ID:HA2LFIoo 定数すら知らないやつが訳した誤訳をそのまま垂れ流してるのが問題ないってww
頭わいてるのかな
そんなんだから所有権を複製しちゃうんだろ
頭わいてるのかな
そんなんだから所有権を複製しちゃうんだろ
828デフォルトの名無しさん
2022/12/06(火) 12:32:25.37ID:rE8cfGd/ 出版社/著者の為にも、本を買ってあげて。
829デフォルトの名無しさん
2022/12/06(火) 12:39:34.84ID:swsmryOJ 数値型やブール型などは所有権の移動はなく常に複製される
830デフォルトの名無しさん
2022/12/06(火) 12:46:01.49ID:6z0cppnT >>827
https://doc.rust-jp.rs/book-ja/ch03-01-variables-and-mutability.html
> 最後の違いは、定数は定数式にしかセットできないことです。関数呼び出し結果や、実行時に評価される値にはセットできません。
ここの話だと思うが、読み間違いやすい文章だな
誤訳と言うほど間違ってはないけど要改善
https://doc.rust-jp.rs/book-ja/ch03-01-variables-and-mutability.html
> 最後の違いは、定数は定数式にしかセットできないことです。関数呼び出し結果や、実行時に評価される値にはセットできません。
ここの話だと思うが、読み間違いやすい文章だな
誤訳と言うほど間違ってはないけど要改善
831デフォルトの名無しさん
2022/12/06(火) 12:58:10.61ID:tS6tYBbH またその話やんの
832デフォルトの名無しさん
2022/12/06(火) 13:04:06.15ID:6z0cppnT ほんそれ
アホ臭いから突っかかってこないでほしい
アホ臭いから突っかかってこないでほしい
833デフォルトの名無しさん
2022/12/06(火) 13:16:01.68ID:lM2TuwNH834デフォルトの名無しさん
2022/12/06(火) 13:40:54.01ID:Vu2BcSww >>833 お前が誤訳だと思うならそれでいいから黙ってろ
835デフォルトの名無しさん
2022/12/06(火) 13:41:28.90ID:FStkMgHU >>829
複製されないよwww
複製されないよwww
836デフォルトの名無しさん
2022/12/06(火) 13:45:42.32ID:vtEUfIF0837デフォルトの名無しさん
2022/12/06(火) 13:52:05.31ID:tS6tYBbH 機械翻訳あるいはどこの誰とも知らぬ人でしょ
そんなの相手にムキになってないで、言語の話しろよ
そんなの相手にムキになってないで、言語の話しろよ
838デフォルトの名無しさん
2022/12/06(火) 15:15:37.73ID:RihiShBF もうそれ飽きたから誤訳言うなら他の場所の誤訳をあげてくれ
まだその方がみんなのためになるし
まだその方がみんなのためになるし
839デフォルトの名無しさん
2022/12/06(火) 15:39:16.64ID:vigVXzh5 ここから日本語版へのリンク張られてるけど外してもらうように働き掛けた方が良いのかね?
https://doc.rust-lang.org/stable/book/appendix-06-translation.html
https://doc.rust-lang.org/stable/book/appendix-06-translation.html
840デフォルトの名無しさん
2022/12/06(火) 16:53:25.53ID:rE8cfGd/841デフォルトの名無しさん
2022/12/06(火) 17:08:44.79ID:5YlTlO+b 普通に「翻訳の改善に協力しては?」って言われるだけでは
5chならともかくリアルのGithubアカウントでそんな恥ずかしいPR出せんな…
5chならともかくリアルのGithubアカウントでそんな恥ずかしいPR出せんな…
842デフォルトの名無しさん
2022/12/06(火) 18:40:54.66ID:vigVXzh5843デフォルトの名無しさん
2022/12/06(火) 20:00:08.84ID:sedVUjKM 本当に日本人って何もせず文句だけ言う人が多すぎだな
改善してほしくて改善点も分かってるなら自分でやった方が圧倒的に早いのに
改善してほしくて改善点も分かってるなら自分でやった方が圧倒的に早いのに
844デフォルトの名無しさん
2022/12/06(火) 21:25:02.08ID:RDoWQe9F あの日本語訳の改善なんて誰も望んでない
845デフォルトの名無しさん
2022/12/06(火) 21:37:33.14ID:FCw1RUR4 問題ありまくりの日本語訳を参考にするのはやめましょうって話であって改善しようって話ではないわな
846デフォルトの名無しさん
2022/12/06(火) 22:49:17.43ID:zEklaQTD >>839 無いよりマシ
847デフォルトの名無しさん
2022/12/06(火) 23:00:32.77ID:N+cyFIt6 元の英語もあんまりよくないな
最後の違いは、定数は定数式に対してだけしかセットできない
実行に計算されるかもしれない値の結果にはセットできない
最後の違いは、定数は定数式に対してだけしかセットできない
実行に計算されるかもしれない値の結果にはセットできない
848デフォルトの名無しさん
2022/12/06(火) 23:03:10.60ID:h/ukiy7O 英語文献をありがたがる、典型的な舶来コンプレックス
849デフォルトの名無しさん
2022/12/06(火) 23:08:53.69ID:gk9SZTYC 誤訳ですよって説得して修正させることができないなら結局主観でしかないってことよ
850デフォルトの名無しさん
2022/12/06(火) 23:43:26.61ID:wxmB/YEK >>847
それが誤訳だっての
それが誤訳だっての
851デフォルトの名無しさん
2022/12/06(火) 23:51:16.30ID:Ow+XJZhk 主観を無くすには無人か少人数の方がよさそうなのに
人が多いほど主観が少ないって誰が言ったのか、それも人が多すぎて特定できない
人が多いほど主観が少ないって誰が言ったのか、それも人が多すぎて特定できない
852デフォルトの名無しさん
2022/12/07(水) 00:00:30.38ID:xLbd5eMx 参考にするのやめた方が良いような情報ならやはり英語版からのリンクは外してもらった方が良いのでは
初学者惑わすだけでしょ
初学者惑わすだけでしょ
853デフォルトの名無しさん
2022/12/07(水) 00:02:06.86ID:3JEhjr2d854デフォルトの名無しさん
2022/12/07(水) 00:09:51.51ID:IJoOi7Sy 文献や資料の質を見極める力もプログラマーにとってはかなり重要な能力
質の低い文献にひっかかったなら失敗から学べ
質の低い文献にひっかかったなら失敗から学べ
855デフォルトの名無しさん
2022/12/07(水) 00:21:26.68ID:rpgrLTt2 AndroidもRustで書かれてたのかよ!
しかもRustの部分は脆弱性の報告0件って恐ろしいほどの安全性だな……
これマジでRust一強の時代がくるかも……
Ubuntuにデフォルトで入るまで待とうとのん気に構えてたけど急いで勉強しないと……!〆(.. )カリカリッ!!
https://japan.zdnet.com/article/35196972/
しかもRustの部分は脆弱性の報告0件って恐ろしいほどの安全性だな……
これマジでRust一強の時代がくるかも……
Ubuntuにデフォルトで入るまで待とうとのん気に構えてたけど急いで勉強しないと……!〆(.. )カリカリッ!!
https://japan.zdnet.com/article/35196972/
856デフォルトの名無しさん
2022/12/07(水) 00:35:34.36ID:21cwGaas857デフォルトの名無しさん
2022/12/07(水) 00:41:52.20ID:xT6Hu5AC C/C++ の書き方の何が危ないのか、Rustはどうやって回避しているのかは何を読めば分かるの?
Out of memory なんか防げるんだっけ?
Out of memory なんか防げるんだっけ?
858デフォルトの名無しさん
2022/12/07(水) 00:58:54.43ID:fQ3/NsZR kLOCあたり1つ以上の脆弱性があったものが1500kLOCでゼロ
unsafeが量も気になるな
unsafeが量も気になるな
859デフォルトの名無しさん
2022/12/07(水) 01:00:43.82ID:+scmKVbE Google製のRustライブラリはどんなのがあんの?
860デフォルトの名無しさん
2022/12/07(水) 04:00:04.20ID:0xPH+d9p861デフォルトの名無しさん
2022/12/07(水) 04:05:04.23ID:+scmKVbE ってか、Googleはその分野で使うためにCarbon開発したんじゃなかったのか?
862デフォルトの名無しさん
2022/12/07(水) 04:17:31.35ID:21cwGaas CarbonもRust使えるならRust使えと言ってる
863デフォルトの名無しさん
2022/12/07(水) 09:06:42.16ID:Mw8qZqut google発のOSSって社員の個人プロジェクトをgoogle名義で公開してるだけの場合もあるからな
864はちみつ餃子 ◆8X2XSCHEME
2022/12/07(水) 09:19:24.95ID:vqEtcxl0 どれがいい感じに発展するか事前にわかるもんではないからな。 狙いとは違う方向で結実することもあるし。
色々やっておく (それが出来る環境を用意する) とどれかは上手くいくし、上手くいかずに消えるものも多いってだけのこと。
色々やっておく (それが出来る環境を用意する) とどれかは上手くいくし、上手くいかずに消えるものも多いってだけのこと。
865デフォルトの名無しさん
2022/12/07(水) 10:24:44.39ID:G2nMx9FR そこまで誤訳だと言うならコントリビューションすれば良いのではないの?
866デフォルトの名無しさん
2022/12/07(水) 10:39:11.42ID:KNXoSnHr867デフォルトの名無しさん
2022/12/07(水) 11:16:25.80ID:6Eaq6nhz868デフォルトの名無しさん
2022/12/07(水) 12:26:52.65ID:El0pJGUF >>867
2chで文句言って他の話題を出にくくする方が有意義だと思うやつもいるんだな。
2chで文句言って他の話題を出にくくする方が有意義だと思うやつもいるんだな。
869デフォルトの名無しさん
2022/12/07(水) 12:31:58.03ID:74PfFudB 複おじ以前と以後で明らかに話題の質が落ちてるよね
おのれ複おじ
おのれ複おじ
870デフォルトの名無しさん
2022/12/07(水) 12:39:55.04ID:m46mCwKQ871デフォルトの名無しさん
2022/12/07(水) 12:46:13.68ID:g3+WCnxI872デフォルトの名無しさん
2022/12/07(水) 12:53:44.84ID:Mw8qZqut >>860
元記事に以下とあるから既存のコードをrustで書き換えることまではしないという意味だと思われる
As we noted in the original announcement, our goal is not to convert existing C/C++ to Rust, but rather to shift development of new code to memory safe languages over time.
元記事に以下とあるから既存のコードをrustで書き換えることまではしないという意味だと思われる
As we noted in the original announcement, our goal is not to convert existing C/C++ to Rust, but rather to shift development of new code to memory safe languages over time.
873デフォルトの名無しさん
2022/12/07(水) 12:54:18.57ID:Mw8qZqut874デフォルトの名無しさん
2022/12/07(水) 15:17:49.39ID:Xzjw4n/l875デフォルトの名無しさん
2022/12/07(水) 15:24:21.27ID:3HHCfxiv マジでrust本腰入れよ
ゾワってしたわ
C/C++書いてたけど取り残される
ゾワってしたわ
C/C++書いてたけど取り残される
876デフォルトの名無しさん
2022/12/07(水) 15:28:39.71ID:h/t9+qo5877デフォルトの名無しさん
2022/12/07(水) 15:40:23.08ID:3HHCfxiv せっかくモダンC++とoneTBB覚えて万能感感じてたのにさ
リセットかよ
リセットかよ
878デフォルトの名無しさん
2022/12/07(水) 15:51:23.23ID:Mw8qZqut >>874
新規コードの20%ね
In Android 13, about 21% of all new native code (C/C++/Rust) is in Rust.
There are approximately 1.5 million total lines of Rust code in AOSP
ともあるからAOSPの全体のコード量分かればrustの割合も分かるはず
新規コードの20%ね
In Android 13, about 21% of all new native code (C/C++/Rust) is in Rust.
There are approximately 1.5 million total lines of Rust code in AOSP
ともあるからAOSPの全体のコード量分かればrustの割合も分かるはず
879デフォルトの名無しさん
2022/12/07(水) 15:52:33.64ID:Mw8qZqut880デフォルトの名無しさん
2022/12/07(水) 15:58:02.82ID:JdTFl5al There are approximately 1.5 million total lines of Rust code in AOSP
*Android Open Source Project (AOSP)
1.5mてどう考えても、例によってRustコンパイラやサードcrateのソースツリーも含まれている悪寒
*Android Open Source Project (AOSP)
1.5mてどう考えても、例によってRustコンパイラやサードcrateのソースツリーも含まれている悪寒
881デフォルトの名無しさん
2022/12/07(水) 16:58:18.23ID:Mw8qZqut >>880
AOSPのソースツリーではrustcはpre-built binaryがコミットされてるから行数カウントには含まれてないっぽい
外部crateは含まれてるかも知れないけど、実際にそれだけのコードが使われているという意味では正しいんじゃないの
AOSPのソースツリーではrustcはpre-built binaryがコミットされてるから行数カウントには含まれてないっぽい
外部crateは含まれてるかも知れないけど、実際にそれだけのコードが使われているという意味では正しいんじゃないの
882デフォルトの名無しさん
2022/12/07(水) 17:03:21.31ID:n0jQbyrj883デフォルトの名無しさん
2022/12/07(水) 17:15:07.05ID:g3+WCnxI 実際に使われているC/C++
を捨てることの正当性ももう無いんだからいいじゃないか
を捨てることの正当性ももう無いんだからいいじゃないか
884デフォルトの名無しさん
2022/12/07(水) 17:35:07.63ID:8PgDeggG >>880
>1.5mてどう考えても、
同感。この短期間に150万行ってどの範囲?これが普通の感想
>>881
>AOSPのソースツリーではrustcはpre-built binaryがコミットされてる
何処?
github mirrorの方で教えて https://github.com/aosp-mirror
>>883
新規nativeコードの21%という数字が水増し、かどうかに係るので整理するべきかと
>1.5mてどう考えても、
同感。この短期間に150万行ってどの範囲?これが普通の感想
>>881
>AOSPのソースツリーではrustcはpre-built binaryがコミットされてる
何処?
github mirrorの方で教えて https://github.com/aosp-mirror
>>883
新規nativeコードの21%という数字が水増し、かどうかに係るので整理するべきかと
885デフォルトの名無しさん
2022/12/07(水) 17:40:15.78ID:21cwGaas 割合とか増えていくんだからどうでもいいだろ
それよりAndroidでrustが使えるところはrustを使うという判断がとっくにされてたのが衝撃
それよりAndroidでrustが使えるところはrustを使うという判断がとっくにされてたのが衝撃
886デフォルトの名無しさん
2022/12/07(水) 17:42:58.56ID:NHS9DFe3 珍しく良い記事紹介だったのに
急に下らない議論になっちゃうのな
急に下らない議論になっちゃうのな
887デフォルトの名無しさん
2022/12/07(水) 17:44:20.91ID:Mw8qZqut >>884
GutHubでどこにあるのかは分からないがAndroid Code Searchでは以下が出てきたのでpre-built binary使ってるのかなと判断した
https://cs.android.com/android/platform/superproject/+/master:prebuilts/rust/linux-musl-x86/1.63.0/bin/rustc;l=1?q=rustc&sq=
C++もrustも外部ライブラリはexternal配下にまとめられているようなので、それぞれで集計の仕方を変えるなんて事をしてない限りは、同一条件での比較になるんじゃないかな
あと150万行ってのはAndroid13の話じゃなくて累積のコード量がって話しだよ
GutHubでどこにあるのかは分からないがAndroid Code Searchでは以下が出てきたのでpre-built binary使ってるのかなと判断した
https://cs.android.com/android/platform/superproject/+/master:prebuilts/rust/linux-musl-x86/1.63.0/bin/rustc;l=1?q=rustc&sq=
C++もrustも外部ライブラリはexternal配下にまとめられているようなので、それぞれで集計の仕方を変えるなんて事をしてない限りは、同一条件での比較になるんじゃないかな
あと150万行ってのはAndroid13の話じゃなくて累積のコード量がって話しだよ
888デフォルトの名無しさん
2022/12/07(水) 17:44:50.45ID:8PgDeggG >>884 追記
なんかRust批判みたいな印象になっているけど、881が多少調べたっぽいので詳しく知りたいだけ
なんかRust批判みたいな印象になっているけど、881が多少調べたっぽいので詳しく知りたいだけ
889デフォルトの名無しさん
2022/12/07(水) 17:47:35.12ID:JLiaiVk0 >>886
次世代隔離スレがなくなると暇してるオジサン達が溢れてくるのよ
次世代隔離スレがなくなると暇してるオジサン達が溢れてくるのよ
890デフォルトの名無しさん
2022/12/07(水) 17:55:32.50ID:8PgDeggG >>887 ありがと
ただし、ここ見るだれでもrustコンパイラを構成するソースファイルが山ほどある
https://cs.android.com/android/platform/superproject/+/master:prebuilts/rust/linux-musl-x86/1.63.0/src/
さすがにgccの方はsoになってる
https://cs.android.com/android/platform/superproject/+/master:prebuilts/gcc/linux-x86/
>C++もrustも外部ライブラリはexternal配下にまとめられている
こうした統計ではソースとしておいてあるかどうかで結構差がある
ただし、ここ見るだれでもrustコンパイラを構成するソースファイルが山ほどある
https://cs.android.com/android/platform/superproject/+/master:prebuilts/rust/linux-musl-x86/1.63.0/src/
さすがにgccの方はsoになってる
https://cs.android.com/android/platform/superproject/+/master:prebuilts/gcc/linux-x86/
>C++もrustも外部ライブラリはexternal配下にまとめられている
こうした統計ではソースとしておいてあるかどうかで結構差がある
891はちみつ餃子 ◆8X2XSCHEME
2022/12/07(水) 17:59:46.34ID:vqEtcxl0 割合で言えば大したことは無くてもある程度は積極的に使おうとする雰囲気は感じなくもないってところかな。
892デフォルトの名無しさん
2022/12/07(水) 18:00:13.04ID:8PgDeggG >>887
>あと150万行ってのはAndroid13の話じゃなくて累積のコード量がって話しだよ
累積のコード量で、Android向け書き起こしRustソースが150万行、という主張であれば水増しの疑いを持ってる
>あと150万行ってのはAndroid13の話じゃなくて累積のコード量がって話しだよ
累積のコード量で、Android向け書き起こしRustソースが150万行、という主張であれば水増しの疑いを持ってる
893デフォルトの名無しさん
2022/12/07(水) 18:01:45.15ID:8PgDeggG894デフォルトの名無しさん
2022/12/07(水) 18:01:53.83ID:Mw8qZqut >>890
コンパイラじゃなくて標準ライブラリのことね
確かにlibcとは扱いに差があるかもね
詳細な数値が気になるならソースダウンロードして測定してみたら良いのでは
https://source.android.com/docs/setup/download/downloading
コンパイラじゃなくて標準ライブラリのことね
確かにlibcとは扱いに差があるかもね
詳細な数値が気になるならソースダウンロードして測定してみたら良いのでは
https://source.android.com/docs/setup/download/downloading
895デフォルトの名無しさん
2022/12/07(水) 18:04:39.07ID:8PgDeggG >>894
そんな手間かけたくないから聞いたんだけど、皆そうなんだろうな
>累積のコード量で、Android向け書き起こしRustソースが150万行、という主張であれば水増しの疑いを持ってる
これで継続だな
そんな手間かけたくないから聞いたんだけど、皆そうなんだろうな
>累積のコード量で、Android向け書き起こしRustソースが150万行、という主張であれば水増しの疑いを持ってる
これで継続だな
896デフォルトの名無しさん
2022/12/07(水) 18:06:43.25ID:Mw8qZqut897デフォルトの名無しさん
2022/12/07(水) 18:11:19.10ID:8PgDeggG898デフォルトの名無しさん
2022/12/07(水) 18:13:51.76ID:8PgDeggG ちなみにPhoronixで読んだが、LinuxのRust対応は賞味2万行
899デフォルトの名無しさん
2022/12/07(水) 18:20:26.12ID:wjXnim/d900デフォルトの名無しさん
2022/12/07(水) 18:24:03.55ID:8PgDeggG 例えば、ここだけど、150万行はおろか、2万行すら程遠いかな
https://github.com/aosp-mirror/kernel_common/tree/android-mainline/rust
https://github.com/aosp-mirror/kernel_common/tree/android-mainline/rust
901デフォルトの名無しさん
2022/12/07(水) 18:36:53.47ID:M+Adnv0G もっと有意義な話しようぜ
fn<T>foo(x: &T); のTにSized制約付くの邪魔くせーとかさ
fn<T>foo(x: &T); のTにSized制約付くの邪魔くせーとかさ
902デフォルトの名無しさん
2022/12/07(水) 18:39:18.13ID:CifLjB7G903デフォルトの名無しさん
2022/12/07(水) 18:41:18.29ID:Mw8qZqut >>901
x: TのときはSizedついて欲しいけど、&Tのときはついて欲しくないということ?
Box<T>やRc<T>やユーザー定義のスマートポインタの扱い考えるとめんどくさいから一律Sizedがデフォルトでよくない?
x: TのときはSizedついて欲しいけど、&Tのときはついて欲しくないということ?
Box<T>やRc<T>やユーザー定義のスマートポインタの扱い考えるとめんどくさいから一律Sizedがデフォルトでよくない?
904デフォルトの名無しさん
2022/12/07(水) 18:48:05.32ID:Mw8qZqut905デフォルトの名無しさん
2022/12/07(水) 18:51:46.12ID:8PgDeggG906デフォルトの名無しさん
2022/12/07(水) 18:53:03.86ID:21cwGaas そりゃC++とのInteropが絶対に必要だしRustはそこが弱い
そういう用途としてはCarbonがあるけどセキュアではない
(C++よりはマシだろうが)
そういう用途としてはCarbonがあるけどセキュアではない
(C++よりはマシだろうが)
907デフォルトの名無しさん
2022/12/07(水) 18:58:45.38ID:8PgDeggG908デフォルトの名無しさん
2022/12/07(水) 19:02:37.66ID:glN0FB8M Androidの中のRustはGabeldorsche, keystore2, DoH, UWBくらいだっけ
もう3年くらいかかってるからそれなりの行数になってる気もするけどどうなんだろ
aospのrepo sync全部やるの時間かかるんだよな…
もう3年くらいかかってるからそれなりの行数になってる気もするけどどうなんだろ
aospのrepo sync全部やるの時間かかるんだよな…
909デフォルトの名無しさん
2022/12/07(水) 19:05:40.97ID:8PgDeggG910デフォルトの名無しさん
2022/12/07(水) 19:09:14.99ID:/TInWduh repo sync 終わらんよな
今3時間経過
今3時間経過
911デフォルトの名無しさん
2022/12/07(水) 19:14:14.71ID:8PgDeggG 期待大
原文では
>There are approximately 1.5 million total lines of Rust code in AOSP across new functionality and components such as Keystore2, the new Ultra-wideband (UWB) stack, DNS-over-HTTP3, Android’s Virtualization framework (AVF), and various other components and their open source dependencies.
となってますので、
Keystore2
Ultra-wideband (UWB) stack
DNS-over-HTTP3
Android’s Virtualization framework (AVF)
and various other components and their open source dependencies.
これで150万行の大半を占めているかのような書き方です
まさかこれが大半を占めていたり
>open source dependencies
rustコンパイラのソースツリーが入っているとは言えませんよね
原文では
>There are approximately 1.5 million total lines of Rust code in AOSP across new functionality and components such as Keystore2, the new Ultra-wideband (UWB) stack, DNS-over-HTTP3, Android’s Virtualization framework (AVF), and various other components and their open source dependencies.
となってますので、
Keystore2
Ultra-wideband (UWB) stack
DNS-over-HTTP3
Android’s Virtualization framework (AVF)
and various other components and their open source dependencies.
これで150万行の大半を占めているかのような書き方です
まさかこれが大半を占めていたり
>open source dependencies
rustコンパイラのソースツリーが入っているとは言えませんよね
912デフォルトの名無しさん
2022/12/07(水) 19:30:47.68ID:/TInWduh 期待すんな
gitとpython入ってるwsl環境とかあれば簡単にとってこれるぞ
https://source.android.com/docs/setup/download/downloading
ただ時間がかかるだけ
この程度出来ない奴がrustについて云々言うとか片腹痛い
gitとpython入ってるwsl環境とかあれば簡単にとってこれるぞ
https://source.android.com/docs/setup/download/downloading
ただ時間がかかるだけ
この程度出来ない奴がrustについて云々言うとか片腹痛い
913デフォルトの名無しさん
2022/12/07(水) 19:35:42.75ID:8PgDeggG >この程度出来ない奴がrustについて云々言うとか片腹痛い
そうだね(笑)
こっちでもやってみるかな
そうだね(笑)
こっちでもやってみるかな
914デフォルトの名無しさん
2022/12/07(水) 19:35:54.12ID:glN0FB8M 半年ほど前のやつがあったのでそれでtokeiかけてみた
とりあえずexternal内が180万行でprebuiltsが500万行くらい
なので1.5mの根拠はexternalの方かな
prebuiltsの方に上で挙がってたmuslとか入っている
external内はrustディレクトリ内の依存クレートが150万くらい
依存クレートでないので最大はcrosvmが30万行くらい
というわけでAndroidのために150万行書き下ろしたというのは言い過ぎ
ただ150万行のソースコード使ってるという原文の主張は正しそう(コンパイラのコードとかは入ってない)
まぁ依存クレートにも明らかにAndroid用っぽいのもあるし
これ以上の切り分けは難しいな
とりあえずexternal内が180万行でprebuiltsが500万行くらい
なので1.5mの根拠はexternalの方かな
prebuiltsの方に上で挙がってたmuslとか入っている
external内はrustディレクトリ内の依存クレートが150万くらい
依存クレートでないので最大はcrosvmが30万行くらい
というわけでAndroidのために150万行書き下ろしたというのは言い過ぎ
ただ150万行のソースコード使ってるという原文の主張は正しそう(コンパイラのコードとかは入ってない)
まぁ依存クレートにも明らかにAndroid用っぽいのもあるし
これ以上の切り分けは難しいな
915デフォルトの名無しさん
2022/12/07(水) 19:50:48.43ID:CifLjB7G916デフォルトの名無しさん
2022/12/07(水) 20:03:05.60ID:glN0FB8M 一応依存クレートも一通り見てみたけど大きいのはメジャーなやつだね
というわけでAndroidのために書かれたコードは全体で40万行以内ってとこかな
まぁtokioやらcrossbeamがちゃんと使われているのは水増しと批判するようなことではなく
むしろいいことなんじゃないか?
というわけでAndroidのために書かれたコードは全体で40万行以内ってとこかな
まぁtokioやらcrossbeamがちゃんと使われているのは水増しと批判するようなことではなく
むしろいいことなんじゃないか?
917デフォルトの名無しさん
2022/12/07(水) 22:19:15.93ID:Lb4jZ7zf それにしても無駄の多いコーディングだな。
そもそもAndroidで使われたというだけであって、Rustが広まったという訳ではない。
そもそもAndroidで使われたというだけであって、Rustが広まったという訳ではない。
918デフォルトの名無しさん
2022/12/07(水) 22:24:52.03ID:Lb4jZ7zf かつてCが流行したのは、LatticeC、SmallC、TurboC、MS-C、WatcomC など
色んな企業がコンパイラ作りを競い合った結果だったかも知れん。
TurboCが流行ったが、それ以前からCは雑誌I/Oなどでも取り上げられて、
さまざまな人が話をし、良い言語であるという噂が立っていた。
当時を知っている俺が言わせて貰えば、なぜか、Rustはビビっとこない。
Cはビビっと来た。
C++は、初期の頃にびびっときたが、C++11では、こりゃもう駄目だ、
と思った。
色んな企業がコンパイラ作りを競い合った結果だったかも知れん。
TurboCが流行ったが、それ以前からCは雑誌I/Oなどでも取り上げられて、
さまざまな人が話をし、良い言語であるという噂が立っていた。
当時を知っている俺が言わせて貰えば、なぜか、Rustはビビっとこない。
Cはビビっと来た。
C++は、初期の頃にびびっときたが、C++11では、こりゃもう駄目だ、
と思った。
919デフォルトの名無しさん
2022/12/07(水) 22:39:14.39ID:UARY1o0b >>918 蓋を開けてみれば様々なバグ(特にメモリ関連)の元凶だったから、その感覚の逆が正解かな
920デフォルトの名無しさん
2022/12/07(水) 22:42:23.65ID:cTs8jKu4 アセンブラとBASICしか無かった所に
Cが登場したから、そりゃ喜んで使うわ
Cが登場したから、そりゃ喜んで使うわ
921デフォルトの名無しさん
2022/12/07(水) 22:59:32.88ID:Odhm3loP >>918
今は何にビビっと来るの?
今は何にビビっと来るの?
922デフォルトの名無しさん
2022/12/07(水) 23:01:58.13ID:Xa+0WmXy >>918
LSI C-86も入れといてね
LSI C-86も入れといてね
923デフォルトの名無しさん
2022/12/07(水) 23:23:48.68ID:g3+WCnxI スタックかグローバル変数しか無い文化でCを流行らせてもヒープのバグは少ない
ヒープを使わないなら変数の寿命は固定長、という伏線が回収されたことに
まだ気付いてない人もいる
ヒープを使わないなら変数の寿命は固定長、という伏線が回収されたことに
まだ気付いてない人もいる
924デフォルトの名無しさん
2022/12/07(水) 23:25:35.88ID:21cwGaas >>918
ロートルは去れ
ロートルは去れ
925デフォルトの名無しさん
2022/12/07(水) 23:26:15.82ID:Lb4jZ7zf >>921
そうだな、まだ決め手となるものは無いが、(個人的には好きではないが)JSに
人気が有るのはブラウザがそれしか使えなかったから「では無い」と思ってる。
Rubyと比較すればJSの方が優れているように感じる。
また、C#はJavaよりは改良されていると感じる。但し、これも好きではない。
Pythonも好きではない。人気が有る理由は恐らくAIのライブラリと使用例が
多いからではないかと思ってる。
ということで、今はびびっとくるものが無い。
そうだな、まだ決め手となるものは無いが、(個人的には好きではないが)JSに
人気が有るのはブラウザがそれしか使えなかったから「では無い」と思ってる。
Rubyと比較すればJSの方が優れているように感じる。
また、C#はJavaよりは改良されていると感じる。但し、これも好きではない。
Pythonも好きではない。人気が有る理由は恐らくAIのライブラリと使用例が
多いからではないかと思ってる。
ということで、今はびびっとくるものが無い。
926デフォルトの名無しさん
2022/12/07(水) 23:31:51.79ID:Xa+0WmXy 結局RUSTに限った話じゃなかったかw
927デフォルトの名無しさん
2022/12/07(水) 23:34:48.20ID:Lb4jZ7zf Rustは大々的には流行らないんじゃないと思うぞ。
理由は色々有るが、
・流行ってる言語は、JS、Python、Java、PHP、C#、Ruby、VB など、初心者向けの
簡易言語が多い。
・Rustは中途半端。伝統を無視。習慣を無視。直感的でない。
・そもそもRustは低レベル向け言語、上記に書いた簡易言語のターゲット層には
被らない。
なお、Googleは色んな言語に手を出す企業。
使ってる言語も幅広く、(同列に入れるべきでないものも混ざるが)
C++、NaCL(*)、Java、Kotlin(*)、Go(*)、Dart(*)、Carbon(*)、Rust、Wasm、
などなど。[(*)は自社製言語や自社製仮想言語(?)]
自社製言語だけでも4つ、仮想言語が1つ。
理由は色々有るが、
・流行ってる言語は、JS、Python、Java、PHP、C#、Ruby、VB など、初心者向けの
簡易言語が多い。
・Rustは中途半端。伝統を無視。習慣を無視。直感的でない。
・そもそもRustは低レベル向け言語、上記に書いた簡易言語のターゲット層には
被らない。
なお、Googleは色んな言語に手を出す企業。
使ってる言語も幅広く、(同列に入れるべきでないものも混ざるが)
C++、NaCL(*)、Java、Kotlin(*)、Go(*)、Dart(*)、Carbon(*)、Rust、Wasm、
などなど。[(*)は自社製言語や自社製仮想言語(?)]
自社製言語だけでも4つ、仮想言語が1つ。
928デフォルトの名無しさん
2022/12/07(水) 23:36:08.15ID:cTs8jKu4 MS-DOS 向けで最初に入ってきたのは
optimizing C86 だったと思う
optimizing C86 だったと思う
929デフォルトの名無しさん
2022/12/07(水) 23:40:24.00ID:Lb4jZ7zf そもそも低レベル言語でもココまでメモリ管理に気をとられる言語はなく、
直感的に書けた。
Rustはメモリ管理ばかりに気をとられる言語。論理に集中しにくい。
また、JavaやC#、C、C++では直感的に書けることがRustでは書けない。
なお、「それはおまえがバグのコードを書いているから」と反論されるが、
はっきり言って、そのコードでも全くバグは無いから。
直感的に書けた。
Rustはメモリ管理ばかりに気をとられる言語。論理に集中しにくい。
また、JavaやC#、C、C++では直感的に書けることがRustでは書けない。
なお、「それはおまえがバグのコードを書いているから」と反論されるが、
はっきり言って、そのコードでも全くバグは無いから。
930デフォルトの名無しさん
2022/12/07(水) 23:49:55.59ID:51+7TkbX 隔離スレがないからとにかく昔話をしたいお爺ちゃん達のたまり場になっちゃったね
931デフォルトの名無しさん
2022/12/07(水) 23:56:19.06ID:Lb4jZ7zf Cが流行ったのはリンクリストが作れたからだ。
Strousutup氏はリンクリストを全否定に近い形で否定しまくっているが、
彼は机上の空論であり、彼が自分で実験してvectorの方が速いとしたものも
実際に合わない机上の空論的なベンチマークテストだったろう。
そしてそれを信じてしまったRustの作者はRustではリンクリストを
まともには使えない状態にしてしまった。
Strousutup氏はリンクリストを全否定に近い形で否定しまくっているが、
彼は机上の空論であり、彼が自分で実験してvectorの方が速いとしたものも
実際に合わない机上の空論的なベンチマークテストだったろう。
そしてそれを信じてしまったRustの作者はRustではリンクリストを
まともには使えない状態にしてしまった。
932デフォルトの名無しさん
2022/12/07(水) 23:59:45.09ID:sHYfIE3H なんだお前だったのか
933デフォルトの名無しさん
2022/12/08(木) 00:03:22.42ID:kNVI3qAc スレ立てろよ
手持ちの回線だと全部無理なんだ
手持ちの回線だと全部無理なんだ
934デフォルトの名無しさん
2022/12/08(木) 00:08:02.18ID:QroOE5Fs ID:Lb4jZ7zfのプライドだけ高い老害感すごいな 狙ってできるもんじゃない
935デフォルトの名無しさん
2022/12/08(木) 00:20:06.52ID:pMPEGjtK 一般人は馬鹿だから偉い学者さんが言った間違った言説を信じるしかない。
実験したことが現実的な状況と合ってなければ実験結果は無意味。
だから、他の経験者はリンクリストが速くてメモリー効率もいいことを知っている
のに机上の空論者であるところのStroustrup氏は、自分がやった机上の空論的な
実験結果を縦に徹底抗戦を仕掛けている。
しかし、実際と有って無いから反感を買っている。
それも、C++から人が離れていっている原因の一つ。
C++もRustもどちらも机上の空論になってる。
実験したことが現実的な状況と合ってなければ実験結果は無意味。
だから、他の経験者はリンクリストが速くてメモリー効率もいいことを知っている
のに机上の空論者であるところのStroustrup氏は、自分がやった机上の空論的な
実験結果を縦に徹底抗戦を仕掛けている。
しかし、実際と有って無いから反感を買っている。
それも、C++から人が離れていっている原因の一つ。
C++もRustもどちらも机上の空論になってる。
936デフォルトの名無しさん
2022/12/08(木) 00:22:10.33ID:pMPEGjtK937デフォルトの名無しさん
2022/12/08(木) 00:29:07.90ID:WCqcOtXz 即NG㌧
938デフォルトの名無しさん
2022/12/08(木) 00:32:17.18ID:pMPEGjtK LinkedListがキャッシュ効率が悪いというのも机上の空論。
なぜなら、机上の空論者は、LinkedListのノードのアドレスが「ランダム」で
あると間違った仮定するから。
実際には基本的に連続しており、多くの場合は連続して無いとしても
軽微な数バイトの隙間がところどころ空いているだけ。
大きく変化することもあるが、それは全体の数箇所だけ。
なぜなら、挿入箇所は、一箇所から始まってその周辺を押し広げてノードを挿入している
だけで、それが少数あるだけだから、アドレスが大きく変わる箇所はわずかで、
「バースト的」になっているから。
机上の空論者は、ノードアドレスをランダムだと考えるから、キャッシュ・ミスが常に
起きると考えてしまう。ところが、そんな状況はまず有りえない。
なぜなら、机上の空論者は、LinkedListのノードのアドレスが「ランダム」で
あると間違った仮定するから。
実際には基本的に連続しており、多くの場合は連続して無いとしても
軽微な数バイトの隙間がところどころ空いているだけ。
大きく変化することもあるが、それは全体の数箇所だけ。
なぜなら、挿入箇所は、一箇所から始まってその周辺を押し広げてノードを挿入している
だけで、それが少数あるだけだから、アドレスが大きく変わる箇所はわずかで、
「バースト的」になっているから。
机上の空論者は、ノードアドレスをランダムだと考えるから、キャッシュ・ミスが常に
起きると考えてしまう。ところが、そんな状況はまず有りえない。
939デフォルトの名無しさん
2022/12/08(木) 00:35:48.02ID:pMPEGjtK >>938
さらに、LinkedListのメモリー効率が悪いというのもウソで、むしろ、
std::vectorの方が悪いことが多い。
なぜなら、後者は、濃度ーを末尾追加していくと、スプリアス的に
今までの配列の入ったテーブルの1.5倍のサイズのテーブルをヒープ領域から
確保してしまう。
これが物凄く致命的で、std::vectorは、要素 T のサイズが大きい場合、
物凄くメモリー効率が悪くなる。
一方、std::list は、要素 T のサイズが大きい場合、std::vectorより遥かにメモリー効率が良い。
さらに、LinkedListのメモリー効率が悪いというのもウソで、むしろ、
std::vectorの方が悪いことが多い。
なぜなら、後者は、濃度ーを末尾追加していくと、スプリアス的に
今までの配列の入ったテーブルの1.5倍のサイズのテーブルをヒープ領域から
確保してしまう。
これが物凄く致命的で、std::vectorは、要素 T のサイズが大きい場合、
物凄くメモリー効率が悪くなる。
一方、std::list は、要素 T のサイズが大きい場合、std::vectorより遥かにメモリー効率が良い。
940デフォルトの名無しさん
2022/12/08(木) 00:39:53.26ID:pMPEGjtK >>939
[補足]
std::vectorは、sizeがcapacityを越えそうになると、今までのcapacityの
1.5倍のテーブルを新たに確保するので、今までのテーブルと合わせると、
一時的に 1 + 1.5 = 2.5 倍のメモリー領域を確保してしまう。
std::list ならこんなことは起きない。
なおさらに悪いことに、std::vectorはことの時、全要素を move するので
キャッシュが大規模に汚染されてしまう。
キャッシュ汚染という点では、std::vectorは、先頭や途中への要素追加
の際もキャッシュが大規模に汚染されてしまう。
[補足]
std::vectorは、sizeがcapacityを越えそうになると、今までのcapacityの
1.5倍のテーブルを新たに確保するので、今までのテーブルと合わせると、
一時的に 1 + 1.5 = 2.5 倍のメモリー領域を確保してしまう。
std::list ならこんなことは起きない。
なおさらに悪いことに、std::vectorはことの時、全要素を move するので
キャッシュが大規模に汚染されてしまう。
キャッシュ汚染という点では、std::vectorは、先頭や途中への要素追加
の際もキャッシュが大規模に汚染されてしまう。
941デフォルトの名無しさん
2022/12/08(木) 00:45:56.87ID:pMPEGjtK stroustrup氏の言説はデタラメが多くてストレスがたまる。
そして、自分が間違った説を後ろ盾するために、間違った仮定の元に
実験を行なっている。
コンピュータの実験の場合、正しい仮定のもとで行なうことが重要で、
実験して時節を裏付ける結果が出たとしても、仮定がまるっきり
間違っているのだからどうしようもない。
ベンチマークテストでも、もし、実際と合わないような内容をテストしても
意味が無い。そんな状況は滅多に起きないから。
コンピュータの測度は「加重平均値」で決まる。どういう「加重」かが、机上の空論者
には分からないからデタラメになる。
言語仕様の策定においても、実際にはそんなことをやってもほとんど意味が無いことを
優先的に簡単化しようとする一方で、もっとも重要なことがめんどくさくなるような
仕様を追加してしまったりする。
だから、C++は机上の空論といわれる。
ところが、同じことがRustにも言える。
そして、自分が間違った説を後ろ盾するために、間違った仮定の元に
実験を行なっている。
コンピュータの実験の場合、正しい仮定のもとで行なうことが重要で、
実験して時節を裏付ける結果が出たとしても、仮定がまるっきり
間違っているのだからどうしようもない。
ベンチマークテストでも、もし、実際と合わないような内容をテストしても
意味が無い。そんな状況は滅多に起きないから。
コンピュータの測度は「加重平均値」で決まる。どういう「加重」かが、机上の空論者
には分からないからデタラメになる。
言語仕様の策定においても、実際にはそんなことをやってもほとんど意味が無いことを
優先的に簡単化しようとする一方で、もっとも重要なことがめんどくさくなるような
仕様を追加してしまったりする。
だから、C++は机上の空論といわれる。
ところが、同じことがRustにも言える。
942デフォルトの名無しさん
2022/12/08(木) 00:46:30.49ID:rnWAZYk7 gccのrustフロントエンドがマージされるそうだけど、これってどういう時に便利なの?
gccでビルドしたCとのcross-language LTOとかできるの?
gccでビルドしたCとのcross-language LTOとかできるの?
943デフォルトの名無しさん
2022/12/08(木) 01:02:47.82ID:D2mGrKMe >>914,916
ありがとうございます とても参考になります
こちらはパーティションを小分けにしていたせいで要領不足にあっていました
これ全体だと300GB以上あるのでしょうか?
仕方ないので
repo init -u https://android.googlesource.com/platform/manifest --depth=1 --partial-clone --clone-filter=blob:limit=10M -b android-13.0.0_r18
としたら100GB位に収まって何とか完走したところです
android-12.1.0_r26も取ってきて21%がcrosvm(当初はChromeOS向け)の移行を含んでるのかどうか見たかったのですが
話のネタが変わってしまったので週末かどこかでやり直すことにしました
ありがとうございます とても参考になります
こちらはパーティションを小分けにしていたせいで要領不足にあっていました
これ全体だと300GB以上あるのでしょうか?
仕方ないので
repo init -u https://android.googlesource.com/platform/manifest --depth=1 --partial-clone --clone-filter=blob:limit=10M -b android-13.0.0_r18
としたら100GB位に収まって何とか完走したところです
android-12.1.0_r26も取ってきて21%がcrosvm(当初はChromeOS向け)の移行を含んでるのかどうか見たかったのですが
話のネタが変わってしまったので週末かどこかでやり直すことにしました
944デフォルトの名無しさん
2022/12/09(金) 01:41:09.99ID:Sh2LVmg/ LinkedList信者まだいるんだ....
リンクリストなんて既にETHやMITでも、コンピューターサイエンスで多くの人が間違いなく否定するものなのに。別にStrousutupだけじゃないぞ?ほぼ全否定で言ってるのは
キャパを越えそうな事を無理やりするのはほぼ設計の問題だし、途中への要素追加が起きるようなコードを書いてて問題ないと思ってるのはプログラマの能力の問題。
バースト的なんて言ってるけど、連続するメモリー領域へのアクセスと比べて明らかにリンクリストが不利になるのは自明だ、さらに逆に途中追加した場合のキャッシュミスを汚染なんて言ってるけど
それこそ現代の多段キャッシュアーキテクチャを甘く見すぎてる。そりゃ容量を超えるような操作を行えばメインメモリに取りに行くけど、言うまでもないがリンクリストの要素の先はメインメモリー散らばってる。
それがキャッシュされるとしてもCPUのキャッシュは1Byteとか8Byteをキャッシュするものじゃなく1キャッシュブロックで連続するメモリーをk単位でキャッシュする。
StrousutupのC++は明らかに欠陥言語だが、それとデーター構造の理解は別の問題。 コンピュータの速度は加重平均なんていう単純なもんではない
すべてがキャッシュに乗るなら一番早く動くが、メインメモリを頻繁にアクセスするなら100倍遅くなる。メインメモリにさえ載りきらないデータを扱いHDDならそこからさらに1000倍遅い。
だがキャッシュの容量しかデータを扱えないプログラムは役に立たたないし、Swapしまくりのプログラムは実用に耐えない。
まだLinkedListを擁護する人が多いのは、欧米のように日本のプログラマーは文系や高卒がやり、明らかにまともに計算機科学というものを受けていないからだ
Rustこそ欧州主体で行われている計算機科学にあまり即してない、FORTRANみたいな米国主導のLinkedListのような産物
リンクリストなんて既にETHやMITでも、コンピューターサイエンスで多くの人が間違いなく否定するものなのに。別にStrousutupだけじゃないぞ?ほぼ全否定で言ってるのは
キャパを越えそうな事を無理やりするのはほぼ設計の問題だし、途中への要素追加が起きるようなコードを書いてて問題ないと思ってるのはプログラマの能力の問題。
バースト的なんて言ってるけど、連続するメモリー領域へのアクセスと比べて明らかにリンクリストが不利になるのは自明だ、さらに逆に途中追加した場合のキャッシュミスを汚染なんて言ってるけど
それこそ現代の多段キャッシュアーキテクチャを甘く見すぎてる。そりゃ容量を超えるような操作を行えばメインメモリに取りに行くけど、言うまでもないがリンクリストの要素の先はメインメモリー散らばってる。
それがキャッシュされるとしてもCPUのキャッシュは1Byteとか8Byteをキャッシュするものじゃなく1キャッシュブロックで連続するメモリーをk単位でキャッシュする。
StrousutupのC++は明らかに欠陥言語だが、それとデーター構造の理解は別の問題。 コンピュータの速度は加重平均なんていう単純なもんではない
すべてがキャッシュに乗るなら一番早く動くが、メインメモリを頻繁にアクセスするなら100倍遅くなる。メインメモリにさえ載りきらないデータを扱いHDDならそこからさらに1000倍遅い。
だがキャッシュの容量しかデータを扱えないプログラムは役に立たたないし、Swapしまくりのプログラムは実用に耐えない。
まだLinkedListを擁護する人が多いのは、欧米のように日本のプログラマーは文系や高卒がやり、明らかにまともに計算機科学というものを受けていないからだ
Rustこそ欧州主体で行われている計算機科学にあまり即してない、FORTRANみたいな米国主導のLinkedListのような産物
945デフォルトの名無しさん
2022/12/09(金) 02:35:24.01ID:wDDTmzGU なんだかRubyガイジみたいな論法だよな
Rubyでできることはすばらしいこと
Rubyでできないことは必要ないこと
いや必要あるか、使うかどうかは検討の上こっちが決めるんで😅
Rubyでできることはすばらしいこと
Rubyでできないことは必要ないこと
いや必要あるか、使うかどうかは検討の上こっちが決めるんで😅
946デフォルトの名無しさん
2022/12/09(金) 08:53:27.93ID:eLXAv6sJ 関数型のElixir は、先頭だけに追加できる片方向リストで、
データが変更されない・immutable だから、バグらない
x = a-b の時に、
先頭に、c を追加して、y = c-a-b となった時に、
a-bの部分が変更されないので、x, y 両方で再利用できる
データが変更されない・immutable だから、バグらない
x = a-b の時に、
先頭に、c を追加して、y = c-a-b となった時に、
a-bの部分が変更されないので、x, y 両方で再利用できる
947デフォルトの名無しさん
2022/12/09(金) 09:23:54.41ID:Bd/06DhF >>944
絶対ネタで書いてるだろw
絶対ネタで書いてるだろw
948デフォルトの名無しさん
2022/12/09(金) 13:50:41.90ID:3DNXTGzR >>944
CPUにおいて、基本的に cache block と cache line は同じ意味だが、
https://stackoverflow.com/questions/14707803/line-size-of-l1-and-l2-caches
のように、Intel CPUにおけるcache lineの大きさは 64バイト。
先読み機能が有るので、少し先まで読むことがあるが、
1KBみたいに大きくは無い。
CPUにおいて、基本的に cache block と cache line は同じ意味だが、
https://stackoverflow.com/questions/14707803/line-size-of-l1-and-l2-caches
のように、Intel CPUにおけるcache lineの大きさは 64バイト。
先読み機能が有るので、少し先まで読むことがあるが、
1KBみたいに大きくは無い。
949デフォルトの名無しさん
2022/12/09(金) 13:58:22.82ID:3DNXTGzR >>944
コンピュータ科学ではむしろ、LinkedListがArrayListより速いことがあることを学ぶ。
コンピュータ科学ではむしろ、LinkedListがArrayListより速いことがあることを学ぶ。
950デフォルトの名無しさん
2022/12/09(金) 14:00:08.53ID:3DNXTGzR >>944
>言うまでもないがリンクリストの要素の先はメインメモリー散らばってる。
現実的な使用法では、バースト的になっていて、散らばってない。
散らばっていると思っている人が現実を知らない机上の空論家だと言っている。
>言うまでもないがリンクリストの要素の先はメインメモリー散らばってる。
現実的な使用法では、バースト的になっていて、散らばってない。
散らばっていると思っている人が現実を知らない机上の空論家だと言っている。
951デフォルトの名無しさん
2022/12/09(金) 14:03:46.44ID:3DNXTGzR >>950
[補足]
バース的で無い場合においても、非常に近いアドレスになっていることが多い。
例えば、ノードを削除してから追加すると、最後に削除されたアドレスが再利用されるから、
データ列を加工する場合にはキャッシュがとても強く働く。
また、ソートにおいてもノードの繋ぎ方を変えるだけだから、コピーはおろか、
ムーブすら発生せず、要素Tのバイト数sizeof(T)が十分大きい場合は、
std::vectorより速い。
[補足]
バース的で無い場合においても、非常に近いアドレスになっていることが多い。
例えば、ノードを削除してから追加すると、最後に削除されたアドレスが再利用されるから、
データ列を加工する場合にはキャッシュがとても強く働く。
また、ソートにおいてもノードの繋ぎ方を変えるだけだから、コピーはおろか、
ムーブすら発生せず、要素Tのバイト数sizeof(T)が十分大きい場合は、
std::vectorより速い。
952デフォルトの名無しさん
2022/12/09(金) 14:08:27.79ID:3DNXTGzR >>944
>コンピュータの速度は加重平均なんていう単純なもんではない
加重平均である事と、単純である事は同じことでは無い。
単純ではないが、加重平均である。
実行時間 T = Σ_i w_i T_i
w_i = 処理 i に対する重みパラメータ
T_i = 処理 i に掛かる時間
w_i は、経験を積まないとわからなくて、机上の空論家はこれを誤って見積もる。
偉いとされる先生を筆頭とした「象牙の塔」の集団幻覚の様な現象が起きる。
>コンピュータの速度は加重平均なんていう単純なもんではない
加重平均である事と、単純である事は同じことでは無い。
単純ではないが、加重平均である。
実行時間 T = Σ_i w_i T_i
w_i = 処理 i に対する重みパラメータ
T_i = 処理 i に掛かる時間
w_i は、経験を積まないとわからなくて、机上の空論家はこれを誤って見積もる。
偉いとされる先生を筆頭とした「象牙の塔」の集団幻覚の様な現象が起きる。
953デフォルトの名無しさん
2022/12/09(金) 14:13:39.03ID:3DNXTGzR >>951
[さらに補足]
・ノードを削除してから追加する--->malloc や new が、直近に
削除したノードのアドレスを再利用されるのでキャッシュが良く効く。
・削除したノードのメモリ・ブロックが全部使われた場合、
malloc や new がHeapやOSから新しくアドレスを確保してくる -->
OSは後続の連続アドレスを返してくるので、アドレスはほぼ連続
するので、キャッシュが良く効く。
故に、実際的な使用においては、LinkedListはキャッシュがよく効く。
[さらに補足]
・ノードを削除してから追加する--->malloc や new が、直近に
削除したノードのアドレスを再利用されるのでキャッシュが良く効く。
・削除したノードのメモリ・ブロックが全部使われた場合、
malloc や new がHeapやOSから新しくアドレスを確保してくる -->
OSは後続の連続アドレスを返してくるので、アドレスはほぼ連続
するので、キャッシュが良く効く。
故に、実際的な使用においては、LinkedListはキャッシュがよく効く。
954デフォルトの名無しさん
2022/12/09(金) 14:18:24.24ID:3DNXTGzR たとえば、馬鹿な人は、通信経路においてのエラーは「ランダムに起きる」から、
「本当にランダム」のケースを脳内で勝手に想像して、
「CRC符合は一般には役に立たない」
と結論付けてしまうかも知れないが、それは机上の空論で、
実際のエラーはバースト的に起きるから、CRC符合は非常に強力に働く。
それと同様にLinkedListもキャッシュが良く効く。
なぜならノードのアドレスが「ランダム」ではないから。
「本当にランダム」のケースを脳内で勝手に想像して、
「CRC符合は一般には役に立たない」
と結論付けてしまうかも知れないが、それは机上の空論で、
実際のエラーはバースト的に起きるから、CRC符合は非常に強力に働く。
それと同様にLinkedListもキャッシュが良く効く。
なぜならノードのアドレスが「ランダム」ではないから。
955デフォルトの名無しさん
2022/12/09(金) 15:08:04.74ID:gsPXBpPV どっちもヤバくて草w
956デフォルトの名無しさん
2022/12/09(金) 16:41:02.60ID:WiULU0Bz 自己完結すれば最速で完結するが
机上で完結しないことを望むなら呪術的な対価を要求されるんだよ
机上で完結しないことを望むなら呪術的な対価を要求されるんだよ
957デフォルトの名無しさん
2022/12/09(金) 17:13:50.21ID:TeKO8AU2 >自己完結すれば最速で完結する
アタオカの巣窟になりつつあるな
アタオカの巣窟になりつつあるな
958デフォルトの名無しさん
2022/12/09(金) 18:30:00.75ID:rq1aZYl+ 絶対にベンチマークの数値は出せないリンクリストおじさん
いつまでrustに粘着してんの
いつまでrustに粘着してんの
959デフォルトの名無しさん
2022/12/09(金) 21:16:01.37ID:o+3mnUPM 馬鹿は想像力が無いから、理論から計算できない上に、仮定も間違っているから
間違った条件で実験して間違った実験結果を出して、それを信じてしまう。
Stroustrup氏もその一部。
間違った条件で実験して間違った実験結果を出して、それを信じてしまう。
Stroustrup氏もその一部。
960デフォルトの名無しさん
2022/12/09(金) 21:33:34.50ID:o+3mnUPM >>959
そんな馬鹿でも実際にプログラムしてる人は自分の間違いに気付くが、
彼と彼の取り巻き達はベンチマーク以外のプログラムはしないので
一生気付かない。そして自分達は実験したから正しいんだと主張し
まくって、それを信じた人類は謝った認識を持って文明の発達が遅れる。
そんな馬鹿でも実際にプログラムしてる人は自分の間違いに気付くが、
彼と彼の取り巻き達はベンチマーク以外のプログラムはしないので
一生気付かない。そして自分達は実験したから正しいんだと主張し
まくって、それを信じた人類は謝った認識を持って文明の発達が遅れる。
961デフォルトの名無しさん
2022/12/09(金) 22:18:43.15ID:STy7gq1K 真面目に言うならStroustrupの指摘したリンクリストは、愚直で安直な1要素で次を示すようなデータ構造はバカのすることで間違いない。
というかStroustrupはプログラマのために教え諭してるのに対して、自分が攻撃されたと思い込み、稀なケースで「LinkedListがArrayListより速いことがある」なんていい年してイキっててもしょうもないだろう?
「非常に近いアドレス」とか自分で参照効率が悪いことを理解してるのに、何がしたいのかサッパリわからん。ぴろゆきみたいに見えない仮想的にロンパーしたいの?
https://www.youtube.com/watch?v=YQs6IC-vgmo
ま、今ではUnrolled Linked listとか普通の配列やB-Treeなどと区別がつかない参照の局所性が大幅に向上しているものもあるから
そんなことで騒ぐのはもはやジジイの域だなあ、10年前の出来事じゃん・・・・
というかStroustrupはプログラマのために教え諭してるのに対して、自分が攻撃されたと思い込み、稀なケースで「LinkedListがArrayListより速いことがある」なんていい年してイキっててもしょうもないだろう?
「非常に近いアドレス」とか自分で参照効率が悪いことを理解してるのに、何がしたいのかサッパリわからん。ぴろゆきみたいに見えない仮想的にロンパーしたいの?
https://www.youtube.com/watch?v=YQs6IC-vgmo
ま、今ではUnrolled Linked listとか普通の配列やB-Treeなどと区別がつかない参照の局所性が大幅に向上しているものもあるから
そんなことで騒ぐのはもはやジジイの域だなあ、10年前の出来事じゃん・・・・
962デフォルトの名無しさん
2022/12/09(金) 22:39:25.91ID:rOm/uTcN ジジイと言うかその人は
1) 頭が悪くて
2) 経験もなくて
3) その自覚が無い
というかわいそうな存在だからあんま刺激しちゃダメ
こうなってくるとこの手のひとは
あとは粘着するだけのマシンと化すから要注意だぞみんな
1) 頭が悪くて
2) 経験もなくて
3) その自覚が無い
というかわいそうな存在だからあんま刺激しちゃダメ
こうなってくるとこの手のひとは
あとは粘着するだけのマシンと化すから要注意だぞみんな
963デフォルトの名無しさん
2022/12/10(土) 00:05:08.23ID:s9w4cjy9 自己完結は悪と思ってるから他者に粘着するんでしょ
964デフォルトの名無しさん
2022/12/10(土) 01:32:53.73ID:ExYz252Q コンピュータサイエンスやプログラミング関連の学者は、アホばっかだからな。
965デフォルトの名無しさん
2022/12/10(土) 01:33:28.16ID:CrLmIOQg Rustではポインタの代わりに要素のインデックスで管理するのが基本であり安全
リストもツリーもグラフもこれで実装可能
これはポインタがない言語では当たり前のように使われていた方式
これまでが間違ってた
ポインタなどというものは数百万行とかあるプログラムで正しく使うのは無理
世界中のエンジニアがそのために苦労している
ポインタとNULLは完全に失敗
リストもツリーもグラフもこれで実装可能
これはポインタがない言語では当たり前のように使われていた方式
これまでが間違ってた
ポインタなどというものは数百万行とかあるプログラムで正しく使うのは無理
世界中のエンジニアがそのために苦労している
ポインタとNULLは完全に失敗
966デフォルトの名無しさん
2022/12/10(土) 01:36:13.33ID:CrLmIOQg ちなみにインデックス管理がゴミだったのはCみたいに配列の要素チェックがなく
生アドレスを直接触れる仕様だったせい
本来この仕様があり得ない
これならポインタの方がマシだし楽だからという理由でポインタが乱用されてきた
生アドレスを直接触れる仕様だったせい
本来この仕様があり得ない
これならポインタの方がマシだし楽だからという理由でポインタが乱用されてきた
967デフォルトの名無しさん
2022/12/10(土) 01:42:29.86ID:ExYz252Q968デフォルトの名無しさん
2022/12/10(土) 01:44:30.98ID:ExYz252Q アメリカのコンピュータ学者は馬鹿。
自ら馬鹿な方法ばかり想定しているから遅いと思い込んでいる。
それを鵜呑みにしてる学生は大ばか者。
自ら馬鹿な方法ばかり想定しているから遅いと思い込んでいる。
それを鵜呑みにしてる学生は大ばか者。
969デフォルトの名無しさん
2022/12/10(土) 01:46:18.37ID:ExYz252Q だからアメリカ人の作るソフトは遅い上にサイズも大きいんだな。
日本人の作るソフトはコードも小さいし、データも小さいし、速度も速い。
全然違う。
なぜなら、アメリカ人がイマジネーションが足りなくて馬鹿なのに自覚が無いから。
なのに、詐欺的手法によってアメリカ製ソフトを蔓延させた。
日本人の作るソフトはコードも小さいし、データも小さいし、速度も速い。
全然違う。
なぜなら、アメリカ人がイマジネーションが足りなくて馬鹿なのに自覚が無いから。
なのに、詐欺的手法によってアメリカ製ソフトを蔓延させた。
970デフォルトの名無しさん
2022/12/10(土) 01:47:54.33ID:48CeiLls ポインタてのは、CPUの汎用レジスタの
アドレッシングモードを考慮して
OSをコーディングしやすくする仕組みだから
アドレッシングモードを考慮して
OSをコーディングしやすくする仕組みだから
971デフォルトの名無しさん
2022/12/10(土) 01:51:53.77ID:ExYz252Q >>967
おっと、こいつが、Stroustrup氏だったのか。
どうりでデタラメな事言ってると思った。まさに、彼が自書で言ってる通りの内容。
この人は計算量などを考えるイマジネーションが不足している。
おっと、こいつが、Stroustrup氏だったのか。
どうりでデタラメな事言ってると思った。まさに、彼が自書で言ってる通りの内容。
この人は計算量などを考えるイマジネーションが不足している。
972デフォルトの名無しさん
2022/12/10(土) 02:00:02.88ID:ExYz252Q 仮に、彼の間違った仮定であるところの、リンクリストのノードのアドレスが
ランダムに近い状態だったとして(それ自体がウソの仮定なのだが)も、
キャッシュペナルティーは、一回当り20クロックほどだ。
だから、この場合、次のノードに移るのに20クロック掛かることになる。
しかし、それでも、ノード数がNの場合に、20*N クロックほどで済むから
そんなに致命的ではない。Nを100倍しても、100倍の時間がかかるだけで、
大した増加ではない。
一方、std::vectorの場合、挿入や削除一回当り、O(N)の時間が掛かるから、
N回それを繰り返すと、O(N^2)の時間が掛かる。
これは致命的で、Nを100倍すると、1万倍の時間になってしまう。
Stroustrup氏は、オーダーの考え方が経験的に身についてない。
ランダムに近い状態だったとして(それ自体がウソの仮定なのだが)も、
キャッシュペナルティーは、一回当り20クロックほどだ。
だから、この場合、次のノードに移るのに20クロック掛かることになる。
しかし、それでも、ノード数がNの場合に、20*N クロックほどで済むから
そんなに致命的ではない。Nを100倍しても、100倍の時間がかかるだけで、
大した増加ではない。
一方、std::vectorの場合、挿入や削除一回当り、O(N)の時間が掛かるから、
N回それを繰り返すと、O(N^2)の時間が掛かる。
これは致命的で、Nを100倍すると、1万倍の時間になってしまう。
Stroustrup氏は、オーダーの考え方が経験的に身についてない。
973デフォルトの名無しさん
2022/12/10(土) 02:06:32.68ID:ExYz252Q >>972
[補足]
CPUの速度はこの30年間で、1コアあたりに限定しても300倍以上になっている。
良いアルゴリズムを使えば、扱うデータも300倍に増やすことが出来る。
ところが、std::vetcorを使った挿入や削除を行なっていた場合、300*300=9万倍
にクロック数が増えるから、CPUの速度がせっかく300倍になっても、300倍の
時間が掛かることになる。
一方、std::listを使った挿入や削除を行なっていた場合には、クロック数が
300倍で済むから、CPUが300倍になったことにより、時間は昔のままで済む。
つまり、std::listの場合、CPUの速度が300倍になった現在、
データを300倍に増やしても、挿入や削除が昔と同じ時間で済むのに対し、
std::vectorは、同じことをするとなんと昔の300倍の時間が掛かるということだ。
こういう基本をstroustrup氏は理解出来て無い。
探索の時間は関係無い。探索しなければいいのだから。
[補足]
CPUの速度はこの30年間で、1コアあたりに限定しても300倍以上になっている。
良いアルゴリズムを使えば、扱うデータも300倍に増やすことが出来る。
ところが、std::vetcorを使った挿入や削除を行なっていた場合、300*300=9万倍
にクロック数が増えるから、CPUの速度がせっかく300倍になっても、300倍の
時間が掛かることになる。
一方、std::listを使った挿入や削除を行なっていた場合には、クロック数が
300倍で済むから、CPUが300倍になったことにより、時間は昔のままで済む。
つまり、std::listの場合、CPUの速度が300倍になった現在、
データを300倍に増やしても、挿入や削除が昔と同じ時間で済むのに対し、
std::vectorは、同じことをするとなんと昔の300倍の時間が掛かるということだ。
こういう基本をstroustrup氏は理解出来て無い。
探索の時間は関係無い。探索しなければいいのだから。
974デフォルトの名無しさん
2022/12/10(土) 02:29:35.43ID:ExYz252Q >>961
>稀なケースで「LinkedListがArrayListより速いことがある」なんていい年してイキっててもしょうもないだろう?
稀ではない。
今はCPUが速くなりすぎて実感がわかないだけ。
だから、遅いCPUでトレーニングした方が良いと言われている。
>稀なケースで「LinkedListがArrayListより速いことがある」なんていい年してイキっててもしょうもないだろう?
稀ではない。
今はCPUが速くなりすぎて実感がわかないだけ。
だから、遅いCPUでトレーニングした方が良いと言われている。
975デフォルトの名無しさん
2022/12/10(土) 03:06:45.22ID:EiHCMpy7 プロファイルでは粘着というより、論破された時の憂さ晴らし自演が延々と続くパターン
ID:Lb4jZ7zf = ID:pMPEGjtK = ID:3DNXTGzR = ID:ExYz252Q +α
今回は ID:Mw8qZqut だな
ID:Lb4jZ7zf = ID:pMPEGjtK = ID:3DNXTGzR = ID:ExYz252Q +α
今回は ID:Mw8qZqut だな
976デフォルトの名無しさん
2022/12/10(土) 08:26:05.03ID:wI0qdr5j CPUが早くなったんだからRustで多少遅くなっても大丈夫
977デフォルトの名無しさん
2022/12/10(土) 08:49:37.65ID:pTzP7Jq7 Goも大丈夫
978デフォルトの名無しさん
2022/12/10(土) 08:52:02.51ID:QB2FhiiS >>975
ID:Mw8qZqut だけどこの人と同一人物判定されるのは不名誉すぎるからやめてくれ
ID:Mw8qZqut だけどこの人と同一人物判定されるのは不名誉すぎるからやめてくれ
979デフォルトの名無しさん
2022/12/10(土) 08:54:11.81ID:5JJKT/6S >>978
そうかな?流れ的には水増し論に決着して放り投げてるよ
そうかな?流れ的には水増し論に決着して放り投げてるよ
980962
2022/12/10(土) 09:12:41.82ID:pmPytGrf 誤解は避けたいからいちおう書いとく
> ジジイと言うかその人は
これはもちろん連投してる哀れなID:ExYz252Qのことね
C++やハゲに文句言うとか身の程知らずもいいとこやわ
> ジジイと言うかその人は
これはもちろん連投してる哀れなID:ExYz252Qのことね
C++やハゲに文句言うとか身の程知らずもいいとこやわ
981デフォルトの名無しさん
2022/12/10(土) 09:19:33.69ID:5JJKT/6S >>980
その人C++スレの自称天才でRustに傾倒していてChatGPT並みに尤もらしい適当をこいている人
その人C++スレの自称天才でRustに傾倒していてChatGPT並みに尤もらしい適当をこいている人
982デフォルトの名無しさん
2022/12/10(土) 09:22:07.09ID:5JJKT/6S その人自演が大好きなので ID:Mw8qZqut だとしてもおかしくない
983デフォルトの名無しさん
2022/12/10(土) 09:25:57.47ID:5JJKT/6S 流れ的には水増しの話が再開するはずなので、ID:Mw8qZqut = >>978がどう反応するか楽しみ
984デフォルトの名無しさん
2022/12/10(土) 09:30:48.75ID:pmPytGrf985デフォルトの名無しさん
2022/12/10(土) 11:09:35.00ID:/zXB1Eur C++ vs Rust Part4建てとく?
986デフォルトの名無しさん
2022/12/10(土) 12:35:14.53ID:QB2FhiiS987デフォルトの名無しさん
2022/12/10(土) 13:03:40.38ID:f/x7hc9i >>986
横からですが、その回答だと、適切かどうかに関して、はぐらかそうとしているだけでは?
論理的に考えてC++でboostを使ってhello_asioとか書いたら、
そのレポジトリの行数にboostのソースもカウントするのが適切かどうかと照らし合わせて考えて見ては?
横からですが、その回答だと、適切かどうかに関して、はぐらかそうとしているだけでは?
論理的に考えてC++でboostを使ってhello_asioとか書いたら、
そのレポジトリの行数にboostのソースもカウントするのが適切かどうかと照らし合わせて考えて見ては?
988デフォルトの名無しさん
2022/12/10(土) 13:23:37.96ID:s9w4cjy9 行数の正確さを保証しているのは行数をカウントするアルゴリズムの質だよ
だから、質を保証するために量を根拠にするのはもう違和感しかない
だから、質を保証するために量を根拠にするのはもう違和感しかない
989デフォルトの名無しさん
2022/12/10(土) 14:01:34.35ID:aynhf3Gg >>987
目的次第やろ
使ってるライブラリも含めてそのプログラムに含まれる脆弱性をカウントする際の分母として使いたいならboostのコードをカウントするのも一つの考え方
Googleが実際にどうカウントしたかは知らんけどRustとC++を異なる条件でカウントしてるんじゃなければここで何言っても無駄だよ
目的次第やろ
使ってるライブラリも含めてそのプログラムに含まれる脆弱性をカウントする際の分母として使いたいならboostのコードをカウントするのも一つの考え方
Googleが実際にどうカウントしたかは知らんけどRustとC++を異なる条件でカウントしてるんじゃなければここで何言っても無駄だよ
990デフォルトの名無しさん
2022/12/10(土) 14:17:34.56ID:CrLmIOQg 糖質にかまうな
991デフォルトの名無しさん
2022/12/10(土) 14:23:19.49ID:++bfMBzJ992デフォルトの名無しさん
2022/12/10(土) 14:29:10.10ID:++bfMBzJ >>990
その発言で ID:CrLmIOQg の内容全部が地に落ちたよ
その発言で ID:CrLmIOQg の内容全部が地に落ちたよ
993デフォルトの名無しさん
2022/12/10(土) 15:17:06.99ID:hJa6mCIB994デフォルトの名無しさん
2022/12/10(土) 16:30:04.48ID:/zXB1Eur 行数をカウントする目的:
利用状況の度合いをバカにも分かる数字で説明するため
依存関係を含めるのが適切か?:
数字を出すのが目的なのでどちらでもよい
利用状況の度合いをバカにも分かる数字で説明するため
依存関係を含めるのが適切か?:
数字を出すのが目的なのでどちらでもよい
995デフォルトの名無しさん
2022/12/10(土) 17:08:17.02ID:+r0o6+3M >>991
>何の目的があって依存関係のソースもカンウトするのか、AndroidのRustチームの考えを知りたい
Rustチームとかじゃなくセキュリティ監査をするチームが計測してるんだぞ
本当に計測方法の詳細や理由が知りたいなら記事書いた本人にTwitterとかで聞けばいいよ
この辺のエンジニアは普通に答えてくれるぞ
>何の目的があって依存関係のソースもカンウトするのか、AndroidのRustチームの考えを知りたい
Rustチームとかじゃなくセキュリティ監査をするチームが計測してるんだぞ
本当に計測方法の詳細や理由が知りたいなら記事書いた本人にTwitterとかで聞けばいいよ
この辺のエンジニアは普通に答えてくれるぞ
996デフォルトの名無しさん
2022/12/10(土) 17:13:44.96ID:bYLLjzjY997デフォルトの名無しさん
2022/12/10(土) 17:50:19.42ID:8gOJz6B3 次スレは平和になりますように
998デフォルトの名無しさん
2022/12/10(土) 17:51:40.13ID:s9w4cjy9 死者の数をカウントしてみろ、平和だぞ
999デフォルトの名無しさん
2022/12/10(土) 21:25:51.87ID:AuQEELto Androidドメインに限定したコードの量を測るよりも、Androidに搭載されうるコードの量を測る方が適切だと思うから外部ライブラリ含んでいいんじゃね。
1000デフォルトの名無しさん
2022/12/10(土) 22:05:26.23ID:s9w4cjy9 C,C++,Rustの三者は対等として、
C/C++とかいう概念はRustと対等か?
C/C++とかいう概念はRustと対等か?
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 64日 23時間 22分 13秒
新しいスレッドを立ててください。
life time: 64日 23時間 22分 13秒
10021002
Over 1000Thread 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 中国軍機レーダー照射、トランプ氏沈黙突く 試される日本外交 [蚤の市★]
- 【広島】「万引きした人を追跡」コンビニ店員の男性(46)を果物ナイフで刺したか 中国籍の少年(17)を殺人未遂容疑で現行犯逮捕 [ぐれ★]
- トランプ大統領 エヌビディア製AI半導体の中国輸出許可 安全保障重視の方針転換 [蚤の市★]
- 【地震】青森県で震度6強 長周期地震動も 津波注意報すべて解除 ★7 [ぐれ★] [ぐれ★]
- 【結婚の壁】結婚どころか今まで恋愛経験は一切ない人も…「年収500万の壁」を突破できない中間層の苦しい現実 [ぐれ★]
- 中国軍機レーダー照射、トランプ氏沈黙突く 試される日本外交 ★2 [蚤の市★]
- こんぺこ!こんぺこ!こんぺこ!🐰🏡
- 【動画】ママチャリまんさん「わたし女ですけど!」シャコシャコシャコシャコ 🚴‍♀❗🚛 [329329848]
- さて1月1日の能登震災から1年経とうとしているわけだが
- 声優・矢尾一樹の妻「治療の影響で思う様に話せない彼に、近くで仕事をしてきた人が、かっこ悪い!もう辞めなよと言った。私は許さない」 [594040874]
- おまえらスキンケアしてる?
- 【画像】TOKIO山口達也に「いいべ」された当時のJK、性加害の反動であたしこグラドルにwww [779857986]
