Mozilla発のRust言語のスレ
公式
https://www.rust-lang.org/
https://blog.rust-lang.org/
https://github.com/rust-lang/rust
Web上の実行環境
https://play.rust-lang.org
前スレ
Rust part8
https://mevius.5ch.net/test/read.cgi/tech/1579834072/
探検
Rust part9
■ このスレッドは過去ログ倉庫に格納されています
2020/08/23(日) 01:07:35.52ID:MgEpWwVh
722デフォルトの名無しさん
2021/02/15(月) 03:28:26.27ID:QPKY0Zj9 喧嘩売りたいわけじゃないんですけど、Rustって明示性を重視してますよね、mutとか、所有権とか
でもそのくせ式としてreturnを省略できたり、でも例外はないからOptionやResultが普通でunwrap
しなくちゃならなかったり、でも>>505-508のようにメモリモデルの(まだ)定義がなく?、>>333
みたいな暗黙の再借用が出来たり色々ちぐはぐな気がするんですが、1.5、2.0辺りになったら大幅に
変わったりしますか?足を撃ち抜かないCPPとしては「良い」出来だと思うんですが、、正直、ほんの
ちょっと触ってみてCargoコンパイルが重くて、特徴の明示的など非常にめんどくさいんですがそういうもの?
C++20やC++23なんてありますが正直、もう時代の役目を終えたと感じます。いくら色々な機能を追加しても
能力次第で足を撃ち抜く事には変わりなく、そのような用途であるカーネルさえ古典的な安定したC、C++を
使いますよね。RustがWebkitを倒せたらほとんど使いどころがないような?
それと恐らく借用があるのでGCは搭載・あるいはON/OFFされないとほぼ確実に思いますが、async
awaitな非同期ではくGoのようなライトウェイトなGoroutineみたいなのが搭載される計画はありますか?
余談ですがLinux-kernelやドライバに使われると聞いているので、(標準的・言語的にはランタイムに入る事は)
無いんだと思ってますが、Goも例外は無いけど、なんであの界隈はブロック例外がアンナにも、お嫌い
なんでしょうかね?ちなみに最近、Nimというのを触ってとても感銘を受けました。
でもそのくせ式としてreturnを省略できたり、でも例外はないからOptionやResultが普通でunwrap
しなくちゃならなかったり、でも>>505-508のようにメモリモデルの(まだ)定義がなく?、>>333
みたいな暗黙の再借用が出来たり色々ちぐはぐな気がするんですが、1.5、2.0辺りになったら大幅に
変わったりしますか?足を撃ち抜かないCPPとしては「良い」出来だと思うんですが、、正直、ほんの
ちょっと触ってみてCargoコンパイルが重くて、特徴の明示的など非常にめんどくさいんですがそういうもの?
C++20やC++23なんてありますが正直、もう時代の役目を終えたと感じます。いくら色々な機能を追加しても
能力次第で足を撃ち抜く事には変わりなく、そのような用途であるカーネルさえ古典的な安定したC、C++を
使いますよね。RustがWebkitを倒せたらほとんど使いどころがないような?
それと恐らく借用があるのでGCは搭載・あるいはON/OFFされないとほぼ確実に思いますが、async
awaitな非同期ではくGoのようなライトウェイトなGoroutineみたいなのが搭載される計画はありますか?
余談ですがLinux-kernelやドライバに使われると聞いているので、(標準的・言語的にはランタイムに入る事は)
無いんだと思ってますが、Goも例外は無いけど、なんであの界隈はブロック例外がアンナにも、お嫌い
なんでしょうかね?ちなみに最近、Nimというのを触ってとても感銘を受けました。
723はちみつ餃子 ◆8X2XSCHEME
2021/02/15(月) 04:42:37.54ID:GNSRFiac >>722
これはきちんと議論を追っているわけではなく私なりの理解だということを事前に断っておくけど、
(unsafe を除いて) メモリ管理のチェックが自動化できることが最重要の指針だと思う。
チェックするにあたって必要な情報が多いから結果的にたくさんのことを明示する必要があるけど、
曖昧さがないなら明示する必要はないし、
実際の利用でほとんど常に同じような指定をしているならそれをデフォルトにして違うときだけ指定するのでも問題にならない。
これはきちんと議論を追っているわけではなく私なりの理解だということを事前に断っておくけど、
(unsafe を除いて) メモリ管理のチェックが自動化できることが最重要の指針だと思う。
チェックするにあたって必要な情報が多いから結果的にたくさんのことを明示する必要があるけど、
曖昧さがないなら明示する必要はないし、
実際の利用でほとんど常に同じような指定をしているならそれをデフォルトにして違うときだけ指定するのでも問題にならない。
724デフォルトの名無しさん
2021/02/15(月) 09:10:14.02ID:Rhj6q0xj >>722
単に明示性を重視してるというよりは、分かりにくいとか非推奨とか高コストなとこは明示して
そうでないとこは省略させたいように見えるな。
例えば関数の型なんかは技術的には省略して推論できるけど
分かりにくくなるからあえて書かせるとか。
なのでreturnは自明だけどResultはちゃんと処理させたい、
という考え方かと。
goroutineみたいなのはまず入らないだろうね。
そもそもなるべく標準ライブラリは小さくする方針だし、
現状でもrayonみたいな並列処理ライブラリ使えばいいし。
単に明示性を重視してるというよりは、分かりにくいとか非推奨とか高コストなとこは明示して
そうでないとこは省略させたいように見えるな。
例えば関数の型なんかは技術的には省略して推論できるけど
分かりにくくなるからあえて書かせるとか。
なのでreturnは自明だけどResultはちゃんと処理させたい、
という考え方かと。
goroutineみたいなのはまず入らないだろうね。
そもそもなるべく標準ライブラリは小さくする方針だし、
現状でもrayonみたいな並列処理ライブラリ使えばいいし。
725デフォルトの名無しさん
2021/02/15(月) 14:18:13.02ID:QPKY0Zj9726デフォルトの名無しさん
2021/02/15(月) 18:15:16.43ID:Y11JAZ1I goroutineの代替ならtokioとかasync-stdみたいな非同期IO系のランタイムも外せないのでは
goroutineの並列と並行のどっちの側面について言ってるのか次第ではあるけど
goroutineの並列と並行のどっちの側面について言ってるのか次第ではあるけど
727デフォルトの名無しさん
2021/02/15(月) 18:57:38.65ID:Rhj6q0xj asyncではなく、って言ってるのでrayonとかの方が近いかな、と。
まぁどっちにしてもgoroutineそのものなモデルを提供するライブラリは多分ないので
各自必要な並列並行性に応じたライブラリを選ぶ必要はある。
まぁどっちにしてもgoroutineそのものなモデルを提供するライブラリは多分ないので
各自必要な並列並行性に応じたライブラリを選ぶ必要はある。
728デフォルトの名無しさん
2021/02/15(月) 22:30:19.90ID:LbvG7Uo/ RustにあってC++にない機能はありますか?
729デフォルトの名無しさん
2021/02/15(月) 23:16:52.31ID:Yv9X0Du7 >>728
memory safety
memory safety
730デフォルトの名無しさん
2021/02/15(月) 23:34:00.74ID:FO8OS1Ro リージョン推論とアフィン型
731デフォルトの名無しさん
2021/02/15(月) 23:35:54.84ID:jLBVKIGa 勢い
732デフォルトの名無しさん
2021/02/16(火) 00:39:31.16ID:uH9KCelr 若者
733デフォルトの名無しさん
2021/02/16(火) 01:35:01.04ID:birNKbej hygenicなマクロやproc macro
734デフォルトの名無しさん
2021/02/16(火) 14:47:28.42ID:0SiibFTk 初心者
735デフォルトの名無しさん
2021/02/16(火) 19:09:01.10ID:zfzmKwUo LinuxカーネルをRustで書こうとかいう話が去年出てたけど、
社会のインフラにもなってるようなカーネルの開発者が考えてることと
プログラミング言語で遊びたい人の考えてることが違いすぎて萎えた
しょせん、プログラミング言語なんてアセンブラとC以外は全部遊びだよね
安かろう悪かろうの遊びレベルの仕事に金払う会社があるから勘違いされやすいけど
社会のインフラにもなってるようなカーネルの開発者が考えてることと
プログラミング言語で遊びたい人の考えてることが違いすぎて萎えた
しょせん、プログラミング言語なんてアセンブラとC以外は全部遊びだよね
安かろう悪かろうの遊びレベルの仕事に金払う会社があるから勘違いされやすいけど
736デフォルトの名無しさん
2021/02/16(火) 19:18:56.90ID:ckHFYEhB JAVAも遊びってマジ!?
737デフォルトの名無しさん
2021/02/16(火) 19:36:38.83ID:KZAm4Q8q COBOLも遊びだそうです
738デフォルトの名無しさん
2021/02/16(火) 19:47:40.11ID:6a7fxa+u 遊びで生まれた子供がなんか言ってらw
739デフォルトの名無しさん
2021/02/16(火) 20:07:29.86ID:6oy5nTaC 今はカーネルモジュールを対象にRustをサポートする予定みたい
ABIとかメモリ管理まわりの差異の吸収をどうするか一番熱いところをやってるね
https://lwn.net/Articles/829858/
ABIとかメモリ管理まわりの差異の吸収をどうするか一番熱いところをやってるね
https://lwn.net/Articles/829858/
740デフォルトの名無しさん
2021/02/16(火) 20:25:37.08ID:F9q4wvox C/Ruby 併用のmruby の本が出た。
文字列処理などは、GC のあるRuby側で書く
Webで使えるmrubyシステムプログラミング入門、近藤宇智朗、2020/11
宇宙開発などの組み込み用、MicroPython, Lua, Squirrel の代替になる。
Ubuntu 18.04, C99 対応
人工衛星イザナギ・イザナミでも、使っている
文字列処理などは、GC のあるRuby側で書く
Webで使えるmrubyシステムプログラミング入門、近藤宇智朗、2020/11
宇宙開発などの組み込み用、MicroPython, Lua, Squirrel の代替になる。
Ubuntu 18.04, C99 対応
人工衛星イザナギ・イザナミでも、使っている
741デフォルトの名無しさん
2021/02/16(火) 21:11:02.07ID:mcPcmZQC なぜここで宣伝?
742デフォルトの名無しさん
2021/02/16(火) 22:20:14.90ID:VGyCnBhh そいつただのキチガイだから聞いても無駄だぞ
743デフォルトの名無しさん
2021/02/16(火) 22:40:03.47ID:/P278iHx >>735
LinuxもC言語ももとはと言えばスペーストラベルってゲームで遊びたくてLinuxの前身のUNIXが作られたし、そのゲームを移植するためにB言語がつくられて、
さらにそれを改良したのがC言語だ。
LinuxもC言語ももとはと言えばスペーストラベルってゲームで遊びたくてLinuxの前身のUNIXが作られたし、そのゲームを移植するためにB言語がつくられて、
さらにそれを改良したのがC言語だ。
744デフォルトの名無しさん
2021/02/17(水) 00:07:57.00ID:NXsZKPRa ここにも出没するのか…
745デフォルトの名無しさん
2021/02/17(水) 00:30:02.75ID:5fjXtzC9 なるほど。いろんなスレで同じこと書きまくってんのな
746デフォルトの名無しさん
2021/02/17(水) 02:18:16.85ID:JbW6f0lc >>743
Cが遊びにも使えることを主張しても反論になってないぞ
Cが遊びにも使えることを主張しても反論になってないぞ
747デフォルトの名無しさん
2021/02/17(水) 03:00:38.28ID:0wQZl1Sa 推奨NGワード: ruby
748デフォルトの名無しさん
2021/02/17(水) 11:52:49.70ID:SnS/pdJc RUSTはウェブとかAI分野でのバブルは考えにくい
あるとすればIOTやら組み込み向けだろう
あるとすればIOTやら組み込み向けだろう
749デフォルトの名無しさん
2021/02/17(水) 13:28:23.14ID:JbW6f0lc 金融でHaskell流行ったみたいな感じでrust流行ったりしないかね
750デフォルトの名無しさん
2021/02/17(水) 13:40:51.06ID:9AH/BrCU そもそもそんなに流行ってほしいか?
インフラとかライブラリとか地味なところで
ひっそりと使われるのが適してると思うけど。
インフラとかライブラリとか地味なところで
ひっそりと使われるのが適してると思うけど。
751デフォルトの名無しさん
2021/02/17(水) 18:07:12.21ID:JbW6f0lc 利用者増えた方が投資も増えて進歩が速くなるから
752デフォルトの名無しさん
2021/02/17(水) 20:57:43.14ID:JskNfOx3 今の様子じゃ10年経ってもなんも変わらんだろ。先のある言語じゃない。
753デフォルトの名無しさん
2021/02/17(水) 21:22:18.90ID:CcjHMdPi システムプログラミング分野ではC++からRustに変わっていくんじゃないの?
754デフォルトの名無しさん
2021/02/17(水) 21:34:22.05ID:HqSggkAC GAHUMが採用し出して団体まで作ったのに先がないなんてどんな世界観なんじゃ
755デフォルトの名無しさん
2021/02/17(水) 22:03:18.40ID:Pg4t51og Rustが流行らなくてもRustの考え方を取り入れた言語が広まってくれればいいな
756はちみつ餃子 ◆8X2XSCHEME
2021/02/17(水) 23:46:21.75ID:bnMjXKAr やりたいことが出来るライブラリ (クレート) があるなら
言語の詳細がどうでもよくなりがちってのはあると思う。
言語の詳細がどうでもよくなりがちってのはあると思う。
757デフォルトの名無しさん
2021/02/18(木) 00:18:21.59ID:ldFX1qZV コンストラクタ、構造体のめんどくささ考えても絶対流行らんわ。
根本的におかしい言語機能なんだよ。
根本的におかしい言語機能なんだよ。
758デフォルトの名無しさん
2021/02/18(木) 01:33:00.72ID:3wQQElw6 プログラマーって人と違った事が好きな尖った奴のイメージがあるけど、実際は
寄らば大樹の陰で巨人が採用したプログラミング言語に従うのが吉なのだ。
寄らば大樹の陰で巨人が採用したプログラミング言語に従うのが吉なのだ。
759デフォルトの名無しさん
2021/02/18(木) 02:01:34.78ID:n4kSgdMy rustにはコンストラクタなんていうげんごきのうはないが
760デフォルトの名無しさん
2021/02/18(木) 02:22:20.29ID:17ht1voR 型コンストラクタはあるのでは
761デフォルトの名無しさん
2021/02/18(木) 02:35:11.90ID:aOnYkWOR ボカァ、今後はC++がRustのパラダイムを吸収して (saferな書き方を提供して) Rustの役割は終わると思うね
762デフォルトの名無しさん
2021/02/18(木) 05:45:24.92ID:rijSrz3Z それならそれでもいいけどそうなるためにはある程度Rustの取り組みが成果を上げる必要があるわけで
C++の建て増し感も気になる
C++の建て増し感も気になる
763デフォルトの名無しさん
2021/02/18(木) 05:57:46.70ID:g5HFTB9g C++の建て増し感はもはや長所と思うしかない
仮に今後「Rustのパラダイムを吸収する」方向に進むとしたらそれはまさに建て増しだ
個人的にはマルチパラダイムを体現してるようで結構だと思うが、建て増し感が受け入れられない人にとってはやはりクソ言語なのだろうね。C++は
仮に今後「Rustのパラダイムを吸収する」方向に進むとしたらそれはまさに建て増しだ
個人的にはマルチパラダイムを体現してるようで結構だと思うが、建て増し感が受け入れられない人にとってはやはりクソ言語なのだろうね。C++は
764デフォルトの名無しさん
2021/02/18(木) 07:19:44.62ID:hiVMRxyD >>758
それ日本というかプログラマを使い捨てられる文化圏だけじゃね
それ日本というかプログラマを使い捨てられる文化圏だけじゃね
765デフォルトの名無しさん
2021/02/18(木) 14:50:08.00ID:rijSrz3Z リナスやストールマンやヘルスバーグが興味持てばまた違って来るだろう
766デフォルトの名無しさん
2021/02/18(木) 19:42:22.85ID:1bJLI/ST どこかでRocketで非同期処理できるようになるって見た気がするんだけど、
ググってもそれらしき情報が見つからない。
俺の勘違い?
ググってもそれらしき情報が見つからない。
俺の勘違い?
767デフォルトの名無しさん
2021/02/18(木) 20:20:01.72ID:SByJzFqI768デフォルトの名無しさん
2021/02/19(金) 01:45:21.75ID:C4/TpWTT >>761
それを何年も何十年も待ってる人が沢山いるけど、やらないでしょ
それを何年も何十年も待ってる人が沢山いるけど、やらないでしょ
769デフォルトの名無しさん
2021/02/19(金) 06:37:54.65ID:ytqZaYub コンパイラスイッチなりプラグマなり必要になるからそれなら新言語で、ってなっちゃうわな
770デフォルトの名無しさん
2021/02/19(金) 08:59:27.98ID:2/3+b4qC >>768
やらないやつはrustで書くのも無理だよ
やらないやつはrustで書くのも無理だよ
771はちみつ餃子 ◆8X2XSCHEME
2021/02/19(金) 12:37:09.63ID:EWSghxXn >>761
Rust が依存関係をチェックする仕組みはそういう機能があるというだけではなくて、
それで全体が統一されていることが大事でしょ。 (一部には unsafe もあるけど。)
C++ の上に Rust 的なパラダイムを建て増しして便利になることもあるかもしれないけど、
統率されていることの有用さとは別物だよ。
Rust が依存関係をチェックする仕組みはそういう機能があるというだけではなくて、
それで全体が統一されていることが大事でしょ。 (一部には unsafe もあるけど。)
C++ の上に Rust 的なパラダイムを建て増しして便利になることもあるかもしれないけど、
統率されていることの有用さとは別物だよ。
772デフォルトの名無しさん
2021/02/19(金) 12:59:22.09ID:5rOBR4Oa 原理的には従来のunsafe C++にsafe C++を建て増して
既存のコードを徐々にsafeにうつしていくというのは出来そうかな。
しかし実際やるとなるとRustへの移行と同じくらい手間がかかりそう。
safe/unsafe間がFFIでなくなるのは多少楽かもだけど、
境界でsafeなことを保証するのは人間が考えないといけないし。
既存のコードを徐々にsafeにうつしていくというのは出来そうかな。
しかし実際やるとなるとRustへの移行と同じくらい手間がかかりそう。
safe/unsafe間がFFIでなくなるのは多少楽かもだけど、
境界でsafeなことを保証するのは人間が考えないといけないし。
773デフォルトの名無しさん
2021/02/19(金) 13:00:29.26ID:HAYVHwal 基本的saferで特例でunsafeとその逆じゃ全然違うからなあ
774デフォルトの名無しさん
2021/02/19(金) 13:44:19.68ID:h/t0+GoU ぼく丘safer
775デフォルトの名無しさん
2021/02/19(金) 13:54:40.33ID:jb9MooDY 実際の機能がCのライブラリにリンクしてるだけとか、丘saferだな
776デフォルトの名無しさん
2021/02/19(金) 15:45:22.92ID:ytqZaYub 上手いことsafetyにラップしてくれてればそれでいいよ
777デフォルトの名無しさん
2021/02/19(金) 20:14:37.43ID:2/3+b4qC safetyだと思い込めればええんやろ。単純な連中だわ。
778デフォルトの名無しさん
2021/02/20(土) 01:02:31.59ID:MdDLRkGY こいつめっちゃウザい
779デフォルトの名無しさん
2021/02/20(土) 12:53:25.44ID:TL3BSHJV 誰だよ
780デフォルトの名無しさん
2021/02/28(日) 14:52:22.32ID:JEl8UZRv アクセスを強要する言語はダメだよ
781デフォルトの名無しさん
2021/03/05(金) 19:00:28.35ID:aSqkecBn Iterator周りのconst fn化って目処立ってたりするのかな
782デフォルトの名無しさん
2021/03/09(火) 11:54:18.25ID:e2HkPLHr Rustで作られた有名なものを教えてください
Rubyだったらrails、homebrewとか
Rubyだったらrails、homebrewとか
783デフォルトの名無しさん
2021/03/09(火) 12:47:03.15ID:R5GGXoEM784デフォルトの名無しさん
2021/03/09(火) 13:27:01.38ID:uSJY4o8s >>782
Servo(Firefoxのレンダリングエンジン)
Servo(Firefoxのレンダリングエンジン)
785デフォルトの名無しさん
2021/03/09(火) 13:44:11.22ID:R5GGXoEM tauriが伸びて来るかはまだ未知数
786デフォルトの名無しさん
2021/03/09(火) 19:29:25.88ID:wHDXlDgC Haskellで言うxmonadみたいな?
787デフォルトの名無しさん
2021/03/09(火) 19:53:58.75ID:eVxnhZwi >>782
dropbox
dropbox
788デフォルトの名無しさん
2021/03/09(火) 20:01:24.82ID:zonUHFVg789デフォルトの名無しさん
2021/03/09(火) 20:04:31.04ID:zonUHFVg firecracker >>783 のところに書かれてたか・・・。
790デフォルトの名無しさん
2021/03/09(火) 20:10:47.51ID:xbBrvliS Tock/OpenTitan/OpenSKみたいなセキュリティ系のファームウェアとか
こういうのは特にアナウンスもなく採用されていくから
気づいたらみんな使ってたということになるかも。
こういうのは特にアナウンスもなく採用されていくから
気づいたらみんな使ってたということになるかも。
791デフォルトの名無しさん
2021/03/09(火) 23:06:36.57ID:E3PmhGqz rustで書かれた有名なもの…rustかな?
792デフォルトの名無しさん
2021/03/11(木) 12:01:52.44ID:Y/wb0v0V Rustが使ってるLLVMってC++製なんだ
793デフォルトの名無しさん
2021/03/11(木) 12:11:40.89ID:88YcySCa ダメじゃん
根幹がC++
C++にタマタマ握られてる
根幹がC++
C++にタマタマ握られてる
794はちみつ餃子 ◆8X2XSCHEME
2021/03/11(木) 14:41:42.94ID:L0vKEaLv C++ の資産を (ほぼ) 一方的に利用しているのもそれはそれで気分いいじゃん?
795デフォルトの名無しさん
2021/03/11(木) 14:49:39.38ID:wgd6SgIa 同じ目的のために作られた道具として既存のものに取って替われないのは不名誉しかない
796デフォルトの名無しさん
2021/03/11(木) 15:10:09.87ID:UCScJ1K4 >>782
ripgrep
ripgrep
797デフォルトの名無しさん
2021/03/11(木) 15:32:57.89ID:dn2xUnIJ アホな人相手にしてると自分もだんだんアホになるよ
798デフォルトの名無しさん
2021/03/11(木) 16:11:55.93ID:ndX1jvez 新紙幣発行したその日にすべての旧紙幣を使えなくすべきって主張する人?
799デフォルトの名無しさん
2021/03/11(木) 16:44:26.00ID:uvX65qSE LLVMをrustで書き換えた日こそ天下か?いやいやOSのカーネルこそ
800デフォルトの名無しさん
2021/03/11(木) 19:03:39.84ID:21294wFC Runuxはよ
801デフォルトの名無しさん
2021/03/11(木) 19:19:34.73ID:aZ7HXs2o 相変わらずしょーもない妄想にふけるやつしかおらんな
802デフォルトの名無しさん
2021/03/11(木) 23:57:00.49ID:ZRdHs705 Rustにいわゆるクラス変数みたいなものってないんですか?
803デフォルトの名無しさん
2021/03/12(金) 00:04:34.96ID:0cefU6Fx リーナス「オブジェクト指向のたわごとを持ち込むならRustの評価見直すぞ」
804デフォルトの名無しさん
2021/03/12(金) 01:07:04.26ID:1OUd5zSC >>802
ありますけど、mutable static変数なんて扱いづらいだけですよ?
ありますけど、mutable static変数なんて扱いづらいだけですよ?
805デフォルトの名無しさん
2021/03/12(金) 01:23:52.52ID:U+iRPjP4 staticはクラス変数とは違うような
806はちみつ餃子 ◆8X2XSCHEME
2021/03/12(金) 03:18:16.54ID:ByeOJ4Y7 Rust は色んなものをモジュール単位にしているような印象がある。
構造体のフィールドへのアクセスもモジュール内では制限がなくて、
モジュールの外に対して可視性を制御する仕組みになってるわけだし。
型の単位ではプライベートとパブリックを分ける気がない。
考え方次第ではあるけどスコープ管理の「雰囲気」からすると
C++ のクラスが Rust で言うところのモジュールに近いと言えなくもないんじゃね?
まあ前提が違うものについて無理やり共通点を見つけることにどれほど意味があるかわからんけど。
構造体のフィールドへのアクセスもモジュール内では制限がなくて、
モジュールの外に対して可視性を制御する仕組みになってるわけだし。
型の単位ではプライベートとパブリックを分ける気がない。
考え方次第ではあるけどスコープ管理の「雰囲気」からすると
C++ のクラスが Rust で言うところのモジュールに近いと言えなくもないんじゃね?
まあ前提が違うものについて無理やり共通点を見つけることにどれほど意味があるかわからんけど。
807デフォルトの名無しさん
2021/03/12(金) 10:21:25.50ID:3fdjVE8p808デフォルトの名無しさん
2021/03/12(金) 12:26:55.76ID:J+ar7EHR Dropboxは何のGUIライブラリで作られているのかわかりますか?
809デフォルトの名無しさん
2021/03/12(金) 16:33:37.37ID:qQge26zC >>808
rustで書き直したのはサービス側と同期エンジンじゃないかな?
rustで書き直したのはサービス側と同期エンジンじゃないかな?
810デフォルトの名無しさん
2021/03/12(金) 18:45:06.86ID:kTC1PKHO Rustって何で構造体のメモリーレイアウトをデフォルトでは勝手に並び替えるんだ?まじやめて欲しい
サイズを小さくする為?それとの他の理由があんのか?明示的だと言いながら余計な事ばかりすんなや
サイズを小さくする為?それとの他の理由があんのか?明示的だと言いながら余計な事ばかりすんなや
811デフォルトの名無しさん
2021/03/12(金) 20:33:09.00ID:jgkfYeWQ 老害乙
812デフォルトの名無しさん
2021/03/12(金) 20:59:59.44ID:Y+hYjm0T 構造体の並び順はメモリーアライメントで苦労したこと無い人の意見だな。
813デフォルトの名無しさん
2021/03/12(金) 21:41:21.91ID:1OUd5zSC >>810
#[repr(C)]付けないで文句言ってるならお前のせいやで?
#[repr(C)]付けないで文句言ってるならお前のせいやで?
814デフォルトの名無しさん
2021/03/12(金) 22:08:58.65ID:TCjnSuLT815デフォルトの名無しさん
2021/03/12(金) 23:34:08.62ID:9XEGWpCC 今時プラットフォームに依存する構造体のメモリーレイアウトを前提としたコードは書いちゃダメよ
816デフォルトの名無しさん
2021/03/13(土) 00:40:30.95ID:PGOVIZdP >>814
クラス変数って要はグローバル変数だから濫用すべきではないよ
クラス変数って要はグローバル変数だから濫用すべきではないよ
817デフォルトの名無しさん
2021/03/13(土) 15:49:02.94ID:GoEo1qHE818デフォルトの名無しさん
2021/03/13(土) 16:03:49.74ID:DC1SOqVQ819デフォルトの名無しさん
2021/03/13(土) 17:29:01.78ID:eNr110Cx820デフォルトの名無しさん
2021/03/13(土) 18:01:56.32ID:JM8M9JoF 選択可能なんだからどうでもいい
https://doc.rust-lang.org/nomicon/repr-rust.html
https://doc.rust-lang.org/nomicon/repr-rust.html
821デフォルトの名無しさん
2021/03/13(土) 20:55:02.47ID:yJisos8z >>817
コンパイラが十分賢くなったときに様々な最適化を自動で出来るようにする余地を残すため
デフォルトでメモリレイアウトを保証しないって設計になってるんだけど
自分で最適化する場合はコンパイラの最適化を抑止するってのはrustに限らずよくある話だしなにが不満なのかよくわからない
コンパイラが十分賢くなったときに様々な最適化を自動で出来るようにする余地を残すため
デフォルトでメモリレイアウトを保証しないって設計になってるんだけど
自分で最適化する場合はコンパイラの最適化を抑止するってのはrustに限らずよくある話だしなにが不満なのかよくわからない
822はちみつ餃子 ◆8X2XSCHEME
2021/03/13(土) 22:01:36.30ID:aUdFS8U8 >>810
明示的じゃん。
明示的に並べ替えを禁止する指定があるじゃん。
ほとんどの場合に順序はどうでもいいんだから、
どちらがデフォルトであるべきなのかなんて自明だろ。
条件付きだが C++ もデータメンバの順序を並び替えることは (言語仕様上は) 有りうるし、
並べ替えて良いと規定されているときに並べ替えを抑止するような指定方法はない。
(処理系の拡張としては有ったりするかもしれんが。)
Rust のほうがマシ。
現在の Rust は言語仕様と処理系の仕様の区別が曖昧なので repr が
(今後現れるかもしれない) 他の処理系でも使えるポータブルな機能なのかわからんけど。
明示的じゃん。
明示的に並べ替えを禁止する指定があるじゃん。
ほとんどの場合に順序はどうでもいいんだから、
どちらがデフォルトであるべきなのかなんて自明だろ。
条件付きだが C++ もデータメンバの順序を並び替えることは (言語仕様上は) 有りうるし、
並べ替えて良いと規定されているときに並べ替えを抑止するような指定方法はない。
(処理系の拡張としては有ったりするかもしれんが。)
Rust のほうがマシ。
現在の Rust は言語仕様と処理系の仕様の区別が曖昧なので repr が
(今後現れるかもしれない) 他の処理系でも使えるポータブルな機能なのかわからんけど。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 ★2 [蚤の市★]
- 「偽サッチャー」「自滅的」「時代遅れ」 高市首相の経済政策を海外メディアが酷評 [蚤の市★]
- 【ド軍】山本由伸、WBC出場を決断!ドジャースが本人の意向を尊重、佐々木朗希はチームが故障歴を懸念で不参加 [鉄チーズ烏★]
- 米大統領報道官「日本と強固な同盟維持、中国とも協力」 [少考さん★]
- JA全農が「新おこめ券」…来年9月末の有効期限を新設、必要経費のみ上乗せ ★2 [蚤の市★]
- 【テレビ】粗品「THE W」バッサリ「おもんない、レベル低い」審査員就任で「日テレが“血の海”に…」 [湛然★]
- 女も昔は精子だったんだな
- 【未確認生ハメ情報】安倍晋三が高市早苗氏とチョメチョメしていたという噂が囁かれる。 [928194223]
- 【画像】地方局の女子アナさん、朝からエッチなおパンツを全国放送されてしまう😍
- 最近朝に暇だからラヴィット!見てるけど(´・ω・`)
- 【悲報】女さん「ハローワークで仕事を探してる3-40代の中年男性いるでしょ。あれ何?」 [483447288]
- 中国人、ガチ超正論。「日本人がアイヌに対してやったことを『問題ない』とするなら、中国が日本人に同じことをしても文句ないだろう?」 [314039747]
