公式
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
■ このスレッドは過去ログ倉庫に格納されています
2022/10/06(木) 22:43:13.96ID:Re0G7B20
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
英単語を声に出して読んでみ
英単語を声に出して読んでみ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【コメ】卸売業者「簡単に安売りできない」「大暴落起きれば大赤字に」 JA「新米の販売進度が近年になく遅い。コメの回転が悪い」 ★5 [Hitzeschleier★]
- 「これいいじゃん!!!」 セブン-イレブンの1620円で買える“1人用クリスマスケーキ”🎂に注目殺到「天才すぎる」 [パンナ・コッタ★]
- 高市早苗首相が天理教系企業に“巨額発注” 総額5000万円 本人は「政治団体の活動に必要な支出」と回答 ★2 [Hitzeschleier★]
- 高市首相、トランプ米大統領に「早期に会いたい」 日中関係悪化受け… ★4 [BFU★]
- テレビ朝日本社から20~30代の関連会社社員とみられる男性が転落し死亡 六本木けやき坂通りの通行人にはけが人なし [少考さん★]
- 小島瑠璃子さん、代表取締役を務める会社を破産申請 [牛丼★]
- 報ステさん、今日のトップニュースが美川憲一の会見www 高市&進次郎vs中国の話は?? [597533159]
- ボディを透明にしたい
- 現役JKのお茶会スレ( ¨̮ )︎︎𖠚ᐝ182
- 【実況】博衣こよりのえちえちスーパーダンガンロンパ5🧪
- 【すこん部🏡】白上フブキ🦊配信中❗【ホロライブ▶】
- 【安倍晋三】中国船4隻が領海侵入 [828897501]
