Rust part16
..
2:デフォルトの名無しさん
22/06/27 08:18:31.94 gDlfKP6u.net
Rust The Book (日本語版)
URLリンク(doc.rust-jp.rs)
Rust edition guide (日本語版)
URLリンク(doc.rust-jp.rs)
Rust by example (日本語版)
URLリンク(doc.rust-jp.rs)
Rust cookbook (日本語版)
URLリンク(uma0317.github.io)
Rust API guideline (日本語版)
URLリンク(sinkuu.github.io)
Rust nomicon book (日本語版)
URLリンク(doc.rust-jp.rs)
Rust async book (日本語版)
URLリンク(async-book-ja.netlify.app)
Rust WASM book (日本語版)
URLリンク(moshg.github.io)
Rust embeded book (日本語版)
URLリンク(tomoyuki-nakabayashi.github.io)
Rust enbeded discovery (日本語版)
URLリンク(tomoyuki-nakabayashi.github.io)
Rust Design Patterns (日本語版)
URLリンク(qiita.com)
URLリンク(qiita.com)
Rust API guideline (日本語版)
URLリンク(sinkuu.github.io)
3:デフォルトの名無しさん
22/06/27 08:20:20.52 gDlfKP6u.net
Rust CLI (Command Line Interface) apps Book
URLリンク(rust-cli.github.io)
Rust macro Book
URLリンク(danielkeep.github.io)
Rust Future Book
URLリンク(cfsamson.github.io)
Rust async-std Book
URLリンク(book.async.rs)
Rust tokio Book
URLリンク(tokio.rs)
Rust rustc Book
URLリンク(doc.rust-lang.org)
Rust rustdoc Book
URLリンク(doc.rust-lang.org)
Rust rustup Book
URLリンク(rust-lang.github.io)
Rust Cargo Book
URLリンク(doc.rust-lang.org)
Rust unstable Book
URLリンク(doc.rust-lang.org)
Rust Reference
URLリンク(doc.rust-lang.org)
Rust Standard Library
URLリンク(doc.rust-lang.org)
4:デフォルトの名無しさん
22/06/27 08:41:06.85 iHSX8+Sp.net
☆WebAssembly(WASM) URLリンク(webassembly.org) URLリンク(ja.m.wikipedia.org)
・Wasmer - The Universal WebAssembly Runtime URLリンク(wasmer.io)
-> WASI(WebAssembly System Interface)とEmscriptenに準拠したWASMを実行できるランタイム
・WAPM - WebAssembly Package Manager URLリンク(wapm.io)
-> WebAssembly製ツール/ライブラリのパッケージマネージャー
☆Rust
・wasm-pack - your favorite rust -> wasm workflow tool!
URLリンク(github.com)
-> WebAssemblyのrustcコンパイルサポート
・Yew - Rust / Wasm framework for building client web apps URLリンク(yew.rs)
-> WebAssembly によってマルチスレッドな Web アプリのフロントエンドを作ることができる、モダンな Rust のフレームワーク
☆最近のWebAssemblyのニュース
・Publickey - Enterprise IT × Cloud Computing × Web Technology / Blog より URLリンク(www.publickey1.jp)
・WebAssembly活用プロジェクト URLリンク(madewithwebassembly.com)
・WebAssemblyが気になるので調べてみた - Qiita URLリンク(qiita.com)
・WASMとRustはVue.js/React.jsを打倒するのか? - JSへの侵略の歴史 URLリンク(zenn.dev)
・Typescriptの次はRustかもしれない URLリンク(zenn.dev)
・WebAssemblyはJVMやeBPFのリバイバルではない WasmがWeb以外でもアツい理由 - ログミーTech URLリンク(logmi.jp)
・Rust GUI の決定版! Tauri を使ってクロスプラットフォームなデスクトップアプリを作ろう URLリンク(zenn.dev)
類似スレ
【wasm】ブラウザでC++。Emscriptenを語ろう スレリンク(tech板)
5:デフォルトの名無しさん
22/06/27 11:22:00.27 KIsxDRwt.net
前スレにあったrustupのnamingの話だけど
もともとはサブコマンドのないシェルスクリプトでrustをupdateするからrustup
元の意味からするとrustup updateは重複表現なんだけど
rustupを動詞として捉えずツール名の名詞として捉えればrustup updateは違和感ない
6:デフォルトの名無しさん
22/06/27 12:15:14.52 BV1DTZv2.net
rustupにサブコマンドがない時代なんてあったっけ?
rustupの前身のmultirustの頃からupdateサブコマンドはあったような
7:デフォルトの名無しさん
22/06/27 12:51:56.59 lmKSzJyY.net
updateのupじゃなくてsetupのupじゃないの?
意味的に
8:デフォルトの名無しさん
22/06/27 15:34:37.88 hKxUT5Kw.net
>>6
コード的には主にmultirust.sh -> multirust.rs -> rustup.rsなんだけど
名前はrustup.shから引き継がれてる
rustup.shはサブコマンドがなかった
rustup.rsは最初からサブコマンドがあったけどrustupと叩くと今のrustup update相当の処理(update_all_channels)をしてた
9:デフォルトの名無しさん
22/06/27 21:57:27.41 TFU41qtv.net
>>987
Stringを自己trimするtrim_in_place()を対称的に短く書くなら
fn trim_in_place(s: &mut String, mut f: impl FnMut(char) -> bool) {
if let Some(end) = s.rfind(|c| !f(c)) {
let end = s.ceil_char_boundary(end + 1);
s.truncate(end);
}
if let Some(start) = s.find(|c| !f(c)) {
s.drain(..start);
}
}
たとえわずかでも先にendを処理
fは char::is_whitespace など
ただし目的外使用なので長くなるけど置き換え
s.drain(..start);
↓
s.replace_range(..start, "");
こちらはunstableなので長くなるけど置き換え
let end = s.ceil_char_boundary(end + 1);
↓
let end = ((end + 1)..).filter(|&i| s.is_char_boundary(i)).next().unwrap();
ここでendはrfind()で発見済なのでend + 1でunwrap()可能
10:デフォルトの名無しさん
22/06/28 06:27:19.73 BuyF3SOs.net
drainとかsinkとかRustはわかりやすい絶妙なネーミングが多いな
11:デフォルトの名無しさん
22/06/28 10:43:40.67 dP6FappF.net
WebAssembly に一番適した言語と聞いて来ました
お世話になります
12:デフォルトの名無しさん
22/06/28 14:56:42.53 5u7YfLuV.net
>>11
地獄の入口へようこそ
13:デフォルトの名無しさん
22/06/28 16:01:32.46 /+DN4/Xk.net
WebAssemblyアプリ開発ではRustが一番人気、用途ではサーバレスが急上昇、ランタイムはWasmtime。The State of WebAssembly 2022 - Publickey
URLリンク(www.publickey1.jp)
14:デフォルトの名無しさん
22/06/28 16:03:15.75 ucMrCo9H.net
リーナスに認められて良かったな
15:デフォルトの名無しさん
22/06/28 16:10:40.89 hziWXk46.net
>>11
この門をくぐる者は一切の希望を捨てよ
16:デフォルトの名無しさん
22/06/28 16:21:33.94 9UGNj1/z.net
どの道だって希望なんてないよ。
比較的マシな道を探すだけ
17:デフォルトの名無しさん
22/06/28 18:52:34.41 EAIC//mO.net
>>14
やめとけ
Linuxの話題は
あわしろを召喚しちまうぞ
18:デフォルトの名無しさん
22/06/28 19:34:49.71 e581Ez58.net
>>17
志賀くんは志賀スレに帰ってください
19:デフォルトの名無しさん
22/06/28 20:32:29.27 +JjrPLHw.net
Rust is coming to Linux, says Torvalds
URLリンク(cloud7.news)
Linus Torvalds also announced some changes he plans to implement into Linux soon.
Most significantly, the open-source programming language, Rust might be included in the next release.
Torvalds stated that Rust will be introduced in a limited way.
Torvalds reminded the attempt to introduce the C++ programming language 25 years ago, which didn’t go as expected.
Compared to C, Rust is better at utilizing and protecting resources.
20:デフォルトの名無しさん
22/06/28 20:34:01.06 nuii8/Ul.net
>>19
当面は新規開発のドライバぐらいにしか使わないって話だっけ?
21:デフォルトの名無しさん
22/06/28 21:09:24 20pFpWMa.net
既に安定して動いているカーネル本体からスタートするのは非効率たから
新たに増えていくデバドラなどからRust導入
そしてRust>C>C++と評価されたことも大きい
22:デフォルトの名無しさん
22/06/28 21:14:03 nuii8/Ul.net
ドライバだとunsafe祭りになると思うけど、それでもRust活かせるのかな
23:デフォルトの名無しさん
22/06/28 21:23:20 20pFpWMa.net
Rustは標準ライブラリからしてunsafeだらけ
Rustのメリットはunsafe部分を局所的に閉じ込めることができること (他言語は全てがunsafe状態)
そして局所的に閉じ込めた部分の健全性を人間が確保すればプログラム全体の健全性がコンパイラにより保証されること
24:デフォルトの名無しさん
22/06/28 23:19:05.36 9UGNj1/z.net
C だとどこが「安全ではない」のかわからん。
unsafe がはっきりと切り離せる分だけ多少はマシ。
25:デフォルトの名無しさん
22/06/28 23:21:02.37 UTlbkk5U.net
>>18
おい荒らすな
26:デフォルトの名無しさん
22/06/28 23:53:24.19 EAIC//mO.net
>>19
やめとけ
Linuxの話題は
あわしろを召喚しちまうぞ
27:デフォルトの名無しさん
22/06/28 23:54:54.04 GLoxI7Da.net
Cたけでなくほとんとのプログラミング言語がデータ競合を見過ごす、あるいは、対応しても実行時にようやく気付いてエラー
Rustのようにコンパイル時エラーとしてくれるのはレア
28:デフォルトの名無しさん
22/06/28 23:59:16.02 ZKoUX8TI.net
>>18
あわしろは巣に帰れ。
29:デフォルトの名無しさん
22/06/29 04:43:12 wTdKgESK.net
結局allocを用意して、Resultを返すような別方言のRustを作っただけじゃん。こんなんでええのかよ、糞言語
30:デフォルトの名無しさん
22/06/29 08:04:17.65 qEG8UGib.net
>>29
Rust本体もそうなるんじゃないの?
31:デフォルトの名無しさん
22/06/29 09:29:30.30 MBU9aINq.net
>>29
何と戦ってるの?
32:デフォルトの名無しさん
22/06/29 09:48:50.80 0DT3duzl.net
mallocに失敗してパニックするかどうかは最終的にどうやって切り替える仕様になるわけ?
Cargo.tomlに書くとか?
33:デフォルトの名無しさん
22/06/29 10:00:12.87 RxSbHfnw.net
>>32
全体が一気に切り替わるようなのは多分想定されてない
Resultを返すAPIが追加される感じ
例えばtry_reserveなんかはnightlyでは実装済み
34:デフォルトの名無しさん
22/06/29 10:29:37.35 o1jl8+0D.net
話としては二段階あるんだよね
一つは昔からのcore::つまりいわゆるno std::環境
つまりヒープは標準ライブラリとして提供しない
BoxやVecやStringなどのヒープ利用以外はイテレータ含めて全て使える
ヒープは自分で管理するかそういうクレイトを使う
もう一つがstd::からのalloc::の分離
BoxやVecやStringは現在ここにある
Box::try_new()やVec::try_reserve()やString::try_reserve()を使ってアロケーション時のエラーを得ることも可能
この理解でよい?
35:デフォルトの名無しさん
22/06/29 12:52:13.13 FmyetX4I.net
>>33
try_reserveは1.57でstabilizeされてる
>>34
core::もalloc::もno_std用
一部コレクションのtry系メソッド以外はどういう形にするか明確な方針は決まってないんじゃないかな
Allocatorトレイトをstabilizeしていく方向は決まってるだろうけど
それを使った上位のAPIがどういう風になるかはわからない
36:デフォルトの名無しさん
22/06/29 13:45:27.71 o1jl8+0D.net
>>35
no_std用と言うのは言い過ぎかも
stdにてcoreやallocからuseしているため
37:デフォルトの名無しさん
22/06/29 14:16:46.78 XdEhzXWC.net
文脈考えなよ
38:デフォルトの名無しさん
22/06/29 17:53:19.15 2Zsw8Y9r.net
>>30 >>31
顔真っ赤www
39:デフォルトの名無しさん
22/06/29 18:28:59.03 wO7vqP7J.net
>>31みたいなレスしちゃった時点で負けなんだが本人が歳だけ食ってメンタル10代のこどおじだから面倒臭いんだよな
>>29
何と戦ってるの?
こんなのよくある問い詰められて二の句が告げなくて『なにが?』とか『なんのこと?』ってはぐらかしてる馬鹿なおっさんそのものなんだが本人気付いてないんだろうなw
40:デフォルトの名無しさん
22/06/29 19:04:20.88 XnJfgfHX.net
勝ち負け...?
41:デフォルトの名無しさん
22/06/29 19:27:35.51 IsSV4hIQ.net
いずれにせよ
ベアメタルなどの組み込みやOS開発向けがほとんどの用途
それ以外の影響なし普通の人々にとっては今まで通り
42:デフォルトの名無しさん
22/06/29 19:34:28.69 MBU9aINq.net
何か知らないが負けということでいいんじゃないかな
43:デフォルトの名無しさん
22/06/29 19:39:19.86 gsbD96Kr.net
やべえやつがひとりおります
44:デフォルトの名無しさん
22/06/29 19:53:31.44 5n1aZHdk.net
底辺社畜PG向け言語Rust
45:デフォルトの名無しさん
22/06/29 21:48:58.34 RzXMGtd7.net
質問失礼します。
初心者なので当たり前の事質問してたらすみません。
風化対策でTCを置くのは理解してTCを拠点内においてそのすぐ1マス開けて横にもう一個建築物を建てたのですが
そっちだけ風化してしまって崩れてました。これは何が原因なのでしょうか。
46:デフォルトの名無しさん
22/06/29 22:00:10.18 4HxK0x7A.net
>>45
URLリンク(itest.5ch.net)
こっちかな
47:デフォルトの名無しさん
22/06/29 22:04:21.14 1d6RU23A.net
Rustってそういうゲームだったんだな
微妙に興味わいた
48:デフォルトの名無しさん
22/06/29 22:10:07.93 RzXMGtd7.net
なるほど…どおりで皆が何いってるかがまったく理解できなかったわけですね。
自分が初心者だからだと思ってました。凄い恥ずかしいです。リンクまでありがとうございます!
49:デフォルトの名無しさん
22/06/30 00:54:31.20 uacoAllZ.net
マジボケなのかネタなのか判断に悩むなw
50:デフォルトの名無しさん
22/06/30 01:09:06.16 iRvhWgC6.net
redditでもゲームの方のrustの質問が来るのは珍しくない模様
51:デフォルトの名無しさん
22/06/30 08:24:56.17 cp0D79F2.net
Twitterで
ゲームのRustと紛らわしいからググラビリティがどうこう、いうツイートがかなりあるけど
それらのツイートがなければかなり検索楽になるから止めてほしい
52:デフォルトの名無しさん
22/06/30 08:29:33.75 M3oLoiTd.net
redditは確かあまりにゲームの書き込み多いからスクリプトでそれっぽいキーワード弾いてるんじゃなかったっけ?
今でもときどき書かれてはいるけど
53:デフォルトの名無しさん
22/06/30 23:08:04.50 AnwUVCfk.net
Rustは、JS上がりの人や、女性に人気が有る印象。
54:デフォルトの名無しさん
22/07/01 00:25:37.32 ESXQaW+s.net
>>53
Web系は時期にWebAssemblyが超使われるようになるだろう。
そうなるとWeb系の人はRustできないとWeb系の仕事ができないとなるから
嫌でも覚えるしかないだろうな。
そんな状況になるとRustはWebAssemblyのためのものって感じなるだろう
55:デフォルトの名無しさん
22/07/01 01:05:48.97 QsJqZKbw.net
ないないウェブはどんどん移り変わるツールチェインのトレンド追い続けるだけだからwasmやrustが大人気になってメインになることは100%ない
56:デフォルトの名無しさん
22/07/01 01:20:55.79 TBvdgDV9.net
かと言って組み込みも今動いているCコードをわざわざ書き換えることはないと思うからかなり先かな
57:デフォルトの名無しさん
22/07/01 02:59:59.38 ApKTYQSv.net
そのまま新しい言語が来てRustは忘れ去られるのであった(終)
58:デフォルトの名無しさん
22/07/01 03:03:39.63 2xG+zSps.net
そりゃMSですらRustに可能性を感じてWindowsのコアコンポーネントをRustで書き換えたりしてるけどだからと言ってC++がお役御免になるなんて考えちゃう奴はどうかしてるというかにわかの馬鹿かポジショントークのどちらかだよ
59:デフォルトの名無しさん
22/07/01 03:09:52.32 iXSnlIKp.net
まぁこの20〜25年ずっとウェブはJS、デスクトップ・モバイルはJAVAだから何も変わってないんだよ現実はそんなものさ
60:デフォルトの名無しさん
22/07/01 03:32:40.77 pCpAVMfP.net
どこでも同じシンプルな結論が出ている
・既存のものを書き換えるのは無意味
・新たに作るものはRust 一択
61:デフォルトの名無しさん
22/07/01 10:02:10.38 fTPBYdla.net
USの状況見るとRustが広く使われるようになるのはもう疑う余地ないと思ってるけど
ここまで世の中の現実を知らない人がRustを推してるのを見ると悲しくなる
62:デフォルトの名無しさん
22/07/01 11:50:32.58 7FVP6Hci.net
C は使われる範囲が広すぎた。
JavaScript は使われる範囲が広すぎた。
必ずしもベストではない場面でも使われ過ぎた。
そういった「過剰に使われている状況」が改善されていくってだけだろう。
現状がベストならあえて変更する必要はない。
63:デフォルトの名無しさん
22/07/01 13:17:28.43 T/nKI+TL.net
5chに限らずネットだと言語だなんだドヤ顔で蘊蓄垂れてイキリ散らかしてる奴ばかりだがGoogleに腐るほど日本人、まともなアプリの開発できないとネタにされるくらいソフトウェア後進国のIT土人国家なのオチが綺麗過ぎて爆笑してしまう
このスレでも結局オチはエロゲっていうクソみたいなセンスのキチガイしかいないからなお前らがRust推すほどこりゃダメだって思うわ
64:デフォルトの名無しさん
22/07/01 13:34:36.46 6BKJVwkC.net
エロは全人類共通の性技(正義)
65:デフォルトの名無しさん
22/07/01 13:37:31.87 fF+Ny/hr.net
C/C++よりコンパクトに機能が高く書きやすいからRustを使っている
他の言語は遅くて論外
66:デフォルトの名無しさん
22/07/01 13:42:34.60 UdT3FWB5.net
JSをサーバーサイドに使うのはどうなんかね?
速さは性能やらCDNでごまかせるけど、RUSTやC++とかで出来るならそっちのほうが良さそうな気がする
まあPHP使ってる雑魚だから現状関係ないけど
67:デフォルトの名無しさん
22/07/01 14:03:44.85 8rqDa7Vf.net
用途や状況に合わせて言語は使い分ければいい
ひとくちにWebと言っても用途も状況も様々
68:デフォルトの名無しさん
22/07/01 14:14:38.28 EeNr3/+w.net
RustRust言うけどこのスレの人間たちもRustでは一日1000行もコード書いてないだろ
69:デフォルトの名無しさん
22/07/01 14:44:33.26 7FVP6Hci.net
>>66
ウェブの表層のほとんどは「ビジネスロジックの記述」をやりたい。
Rust や C++ は良くも悪くも機械に対する指示としての側面が大きい。
ビジネスと機械の間を埋めるのがエンジニアの役割ではあるんだが、
ビジネス寄りのエンジニアとガチ技術寄りのエンジニアで棲み分けが有る。
もちろん何だって速いに越したことは無いが、
ソフトウェアをガチガチにチューニングしたって限界があるからなぁ。
頑張ってソフトウェアをチューニングしてもせいぜい二倍とか三倍とか程度にしか伸びん。
ビジネスが拡大すれば再現なく高い性能が要る (可能性が有る) わけで、
必要なときに機械の数を倍にすれば倍の性能になるデザインのほうが重要なんだよ。
70:デフォルトの名無しさん
22/07/01 15:16:38.49 5qHSWxfW.net
俺は楽だからwebも含めて大抵はrustで書いてるな
71:デフォルトの名無しさん
22/07/01 15:59:50 6Fa4fCYf.net
こちらはまずはバックエンドとスクレーパー方面だけRust化した
フロントエンドはこれから
72:デフォルトの名無しさん
22/07/01 16:39:02.14 aPWs3jPS.net
お前らは日本人あるあるで手段と目的を履き違えてる奴ばかりなんだよ
御宅を並べるのは中国にすら20年遅れてしまったソフトウェア分野で結果出してからやれお前らみたいなの逆に迷惑
ウェブつながりのつい最近の話でNode-Sass(LibSass)が非推奨になりDart-Sassになった理由は色々言われているが要はC++でsassの実装は極めて難しくLibSassをメンテする・できるボランティアがいなくなったからなわけで
じゃあお前らご自慢のRustでLibSass書き直せよ?お前らなら余裕だろ?結果出してくれよ?
お前らみたいにネットのコメントだけでイキってる奴らって最高にダサい
73:デフォルトの名無しさん
22/07/01 17:47:49.60 7QFFYcwX.net
tauriってrustとjsは同時にデバッグできるのん?
74:デフォルトの名無しさん
22/07/01 18:22:07.89 coxy+5j4.net
ドキュメント読む限りでは
Rustは他のRustプログラムと同様にgdb/lldb
jsはWebViewのデバッガを利用することになるようだが
75:デフォルトの名無しさん
22/07/01 20:10:55.31 85aMWYB4.net
>>73
公式ドキュメントの方法じゃないけどVSCodeのrust-analyzer使えばlaunch.jsonやtasks.json書かなくても簡単にRustのデバッグできるよ
UIは実行後のウィンドウでCtrl+Shift+iでWebView Consoleが開くからconsole.logはこっちのコンソールで確認できる
ただUIのjsのブレークがうまくいかないからこっちは俺が教えてほしい
76:デフォルトの名無しさん
22/07/01 20:21:51.18 EeNr3/+w.net
出来ても結局自分でライブラリ類は書かなきゃ行けないんでしょ?
jsの大量のライブラリが使えるならいいんだけど
77:デフォルトの名無しさん
22/07/01 21:22:16.36 KDX5NQEk.net
>>72
なぜ失敗altJS言語なんかに頼ってるんだ?
当然Rust版sassもある
78:デフォルトの名無しさん
22/07/02 00:08:31.01 AmkG6Kqz.net
>>68
>Rustでは一日1000行もコード書いてないだろ
日本のITの主力のドカタ向けのRustの仕事はまだほとんどないだろうからな。
だから、いまRustしている奴の多くは個人の趣味でRustしている感じだろうし。
俺的にはRustを使った社内システムの開発とかやっているレベルで激すごいなって思う
Rustがメジャーになれば受注案件でRustも使うってなるんだろうが
79:デフォルトの名無しさん
22/07/02 02:58:41.46 e9/H958U.net
現実を直視できないアホばっか
Rustの案件なんてあるわけないだろ都内ですらC++のドライバ開発で人材集めるの相当苦労するのにRustでプロダクションクオリティで書けるPGがいたとして名抜きの奴隷なんてやるわけない
だからそんなプロジェクトはないし案件が発注されることもない
80:デフォルトの名無しさん
22/07/02 06:04:06.91 snCDtfbl.net
なるほどRustを叩いているのは受注土方だったんだな
こちらは自社開発だから便利で安全で高速なRustを普通に採用できている
81:デフォルトの名無しさん
22/07/02 07:01:32.45 rBgXmnU4.net
ローカルなツールを自分一人でシコシコ作ってるってパターンだろw
82:デフォルトの名無しさん
22/07/02 08:08:38.42 BtqLg7Vq.net
>>80
複オジ虚言癖は治そうぜ
83:デフォルトの名無しさん
22/07/02 08:15:05.98 BolvizBW.net
現実にRust利用がどんどん広がっていってる現状に嫉妬してるおまえらはRustアンチスレの方へ行けよ
84:デフォルトの名無しさん
22/07/02 09:33:07 At3W7bIA.net
> 現実にRust利用がどんどん広がっていってる
>>83の脳内現実w
85:デフォルトの名無しさん
22/07/02 09:49:00.17 HrEq3hU6.net
自社開発製品
・FizzBuzzイテレータ
・カウントアップイテレータ
・フィボナッチイテレータ
当社製品はすべてジェネリック対応
型の最大値を超えると自動的にイテレート終了
Rust製で安心安全高速!
5ちゃんねるユーザー大絶賛!!
「所有権複製論」の複オジ先生自ら開発!!!
86:デフォルトの名無しさん
22/07/02 11:22:31.41 1Wo0Z6fx.net
>>85
それは自社開発じゃなくて自宅開発
87:デフォルトの名無しさん
22/07/02 12:45:33.26 yGSrF2fX.net
このRustアンチ
いつも不利になると作り出した仮想敵叩きへと逃げ込むな
88:デフォルトの名無しさん
22/07/02 13:49:27 TX4Qhw1m.net
WebAssembly で圧倒的需要を勝ち取ったRust の勝利
89:デフォルトの名無しさん
22/07/02 15:30:51 SW5ywFpw.net
>>85
5ちゃんねるユーザーからゴミ扱い!!の間違いでは?
90:デフォルトの名無しさん
22/07/02 16:31:59.49 At3W7bIA.net
>>89
どう見ても皮肉だろ...
91:デフォルトの名無しさん
22/07/02 18:21:13.38 2aQtTORk.net
自演自画自賛してたから
大絶賛でも間違いではない
いや、間違いか
92:デフォルトの名無しさん
22/07/02 18:32:55.56 ZP/ubSg9.net
トヨタがRust経験者募集してるのにな
93:デフォルトの名無しさん
22/07/02 19:02:42.47 9mM8C95j.net
>>88
Wasmで、DOM直書きできるのは、今のところRustしかないことが
いまのWasmを書く際のRust人気になってるようだ。
しかし、今後、ライブラリの中にDOM操作を隠蔽できてしまえば、
ライブラリを使う限り自分でDOM操作はしなくて良くなるからDOM直書きは
不要になる。
94:デフォルトの名無しさん
22/07/02 19:15:03.41 XVh8wB4/.net
>>92
ソースよろしく
95:デフォルトの名無しさん
22/07/02 21:51:05.68 uYWMd8XN.net
>>93
君は日本語を直書きできるようにしたほうがいいんじゃないか?
96:デフォルトの名無しさん
22/07/03 00:47:23 dzYoxo9e.net
>>95
現段階でWasmを使おうとしている人の大部分は、
「WebプログラミングはHTMLとDOM操作で行うもの」
という固定観念があるので、それが直接的に出来るRustを使おうとしていると
言うことだ。
しかし、DOM操作を関数の中に閉じ込めてしまえば、DOM操作と言う概念を
一切合財忘れてしまって、Windowsプログラミングのような手法でWeb
プログラミングできるようになる。
97:デフォルトの名無しさん
22/07/03 00:47:34 dzYoxo9e.net
>>95
現段階でWasmを使おうとしている人の大部分は、
「WebプログラミングはHTMLとDOM操作で行うもの」
という固定観念があるので、それが直接的に出来るRustを使おうとしていると
言うことだ。
しかし、DOM操作を関数の中に閉じ込めてしまえば、DOM操作と言う概念を
一切合財忘れてしまって、Windowsプログラミングのような手法でWeb
プログラミングできるようになる。
98:デフォルトの名無しさん
22/07/03 00:49:19 dzYoxo9e.net
>>97
いったんそうなってしまうと、WebプログラミングにDOM操作が全く必要なく
なってしまうので、WasmにおけるRustのアドバンテージが消失してしまう
可能性が高い。
99:デフォルトの名無しさん
22/07/03 01:58:58 HrPxrbHk.net
rustでもDOM操作はJS経由してるし直接的にできるわけではないでしょ
wasmでrustが有利とされているのはランタイムが薄くてバイナリサイズが小さくできる点では
100:デフォルトの名無しさん
22/07/03 02:21:32.37 dzYoxo9e.net
>>99
そもそもJSの時点で速度に不満の有る人がどれだけいることか、という点がある。
C++なら既存の資産もあるし、nativeアプリと互換性を持たせることが出来る
メリットもあるが、Rustにはない。
101:デフォルトの名無しさん
22/07/03 02:21:34.94 dzYoxo9e.net
>>99
そもそもJSの時点で速度に不満の有る人がどれだけいることか、という点がある。
C++なら既存の資産もあるし、nativeアプリと互換性を持たせることが出来る
メリットもあるが、Rustにはない。
102:デフォルトの名無しさん
22/07/03 02:26:10.32 dzYoxo9e.net
twitterを見ていると、Rust派の人は、JSより高速になることをメリットと考えている
ようだが、JS自体がもともと結構速いので、多くの用途では実際にはほとんど
体感速度は高速にはならない。
なので、Wasmの意味が無い、用途が無い、という結論に至ってしまう。
これはそもそも、Wasmが作られた経緯を無視しているから。
WasmはC++をブラウザで使いたい、という事から始まったもの。
EmscriptenでC++をasm.js化していたものが、それをさらに効率よくするために
生み出された。
だから、もともとJSを高速化したいことが目的ではなく、C++を使うことが
目的だった。
Rustでは駄目なのだ。Rustでやろうとするから、そもそも論に陥る。
そもそも、そんなに高速にする意味があるのか、という。
103:デフォルトの名無しさん
22/07/03 02:29:04.40 dzYoxo9e.net
Rustはメンドクサイのだ。
だから、「そこまでして高速にする必要があるのか」という疑問に至る。
ところが、C++はRustほどはめんどくさくない。
普通に直感的に書いたものが、JSの5倍程度の速さを安定してたたき出す。
なので、C++で書くと楽なので意味があるが、Rustはめんどくさいので意味が無い、
104:> ということになり、Wasm不要論へと繋がっていく。 しかしそれは、Rustを使おうとしたことがそもそも間違いなのだ。
105:デフォルトの名無しさん
22/07/03 03:29:33.96 IpMp4A6f.net
てか明らかにvueもreactもいじったことない奴が騒いでるだけだろ。
まともに相手するだけ無駄だわ。
106:デフォルトの名無しさん
22/07/03 03:50:27.37 A6Umne1m.net
世界中のIT技術者から愛されているプログラミング言語はなにか。
プログラミング関連のQ&Aサイト「Stack Overflow」を運営する米Stack Exchangeがそのような調査結果を発表した。
各言語の「Loved」(愛している)と「Dreaded」(恐れている)の比率でLovedが最も高かったのは「Rust」(86.73%)で7年連続で1位になった。
回答数は7万1467件。
URLリンク(www.itmedia.co.jp)
107:デフォルトの名無しさん
22/07/03 03:54:07.92 A6Umne1m.net
URLリンク(www.atmarkit.co.jp)
「WebAssemblyアプリケーションの作成に使用している言語は何か」と質問したところ、Rustが最も多くの回答を集めた。
「WebAssemblyアプリケーションの作成に今後最も使用したい言語は何か」という質問でも、Rustを挙げた回答が最も多かった。
108:デフォルトの名無しさん
22/07/03 07:40:44.40 xnM4EaFU.net
そりゃそうなるわな
既存のメンテ以外ではC++で書くことはない
時間とともにRust一色となるだろう
109:デフォルトの名無しさん
22/07/03 08:33:17.69 tt1RzXNI.net
Rustは圧倒的にコーティングしやすい
様々な近代的なパラダイムを洗練して採り入れたことが大きい
メモリ解放も完全自動で気にしなくていいのにC並に高速というオマケ付き
110:デフォルトの名無しさん
22/07/03 09:36:25.32 yj7fRD7v.net
こういう頭悪いのいい加減やめろって
複オジさん
111:デフォルトの名無しさん
22/07/03 09:40:08.35 0zvrEFac.net
大きな代償はあるけどな
112:デフォルトの名無しさん
22/07/03 10:48:20.41 +dvng9gb.net
>>108
安全安心のおまけもついてくる
>>110
Rustに大きな代償はない
113:デフォルトの名無しさん
22/07/03 11:37:22.22 BkE0C3wS.net
煩雑。
参照でツリーが作れない。
リンクリストが本来の性能を引き出せない。
114:デフォルトの名無しさん
22/07/03 11:38:06.57 BkE0C3wS.net
これらのRustの問題点は、教授レベルでも理解出来てない人が多い。
115:デフォルトの名無しさん
22/07/03 11:48:29.39 xlXEUxdt.net
教授レベル?!
複オジ大先生 vs 数学100点大先生のやり取りはいつもいつも有意義有意義ww
116:デフォルトの名無しさん
22/07/03 12:04:57.77 0zvrEFac.net
今日日曜だけどつまらない書き込みしてんじゃないぞ
一日最低1000行書かないとレスしたらダメだぞ
117:デフォルトの名無しさん
22/07/03 12:06:35.28 0zvrEFac.net
ライフタイムがらみで一日なんどかキーボードかマウスを投げたくなる
自動で判定しろよ
118:デフォルトの名無しさん
22/07/03 12:53:49.06 E6Fi7aBt.net
>>116
そんな悩むようなことか?
そこまで酷いのは何か基本理解の欠如があるのではないか
簡単な具体例を出すことを勧める
119:デフォルトの名無しさん
22/07/03 13:33:15.09 /eA4inlP.net
オブジェクトの寿命に関するルールは実際には C++ とそれほど差が無い。
厳密に検証するということと、検証に必要なちょっとしたアノテーションが必要ってだけ。
120:デフォルトの名無しさん
22/07/03 14:26:00.76 HrPxrbHk.net
1000行書くという謎の目標にこだわってるからライフタイムの理解がおろそかになってるのでは
エラーが出るたびに原因をしっかり調べれば同じ過ちを何度も繰り返すことはなくなるでしょ
121:デフォルトの名無しさん
22/07/03 14:38:47.08 Tm7q4JxH.net
登大遊は凡人レベルのコードでいいなら1日1万行は余裕で書けるって豪語してて草生えたな
一時期は天才少年プログラマーと持て囃されてた彼も所詮日本の凡才駄プログラマーだったな
彼を見てるとわかるが日本人は手段にこだわって目的を達成できずに結果残せないないアホばかりなんよ
SNSやナレッジコミュニティやオフ会でドヤ顔で偉そうに蘊蓄たれてイキリ散らかしてるやつばかりなのって要するに日本の終わってるゼネコンビジネスIT業界で楽しみを見出せる要素がそこしかないからなんだってことよ
如何に日本のプログラマーがゴミで哀れな奴らかわかる
122:デフォルトの名無しさん
22/07/03 15:03:07.11 E6Fi7aBt.net
そもそもコードを書く時間よりもその
コードのリファクタリングなどの時間の方が多い
そしてリファクタリングでは行数は減る方向が多い
書く行数の多さを
123:Cにするのは質ベースより量ベースの典型的なダメパターン
124:デフォルトの名無しさん
22/07/03 15:32:59.76 EctOodKi.net
普通にプログラミングするには問題ない程度にライフタイムを理解した上でも、
Rustには沢山の欠点が有り、ライフタイムをこれ以上理解しても、それは
解決しないと思ってる。
なぜなら言語そのものが持つ欠点だから。
125:デフォルトの名無しさん
22/07/03 16:05:52 /eA4inlP.net
それはそう。
足りない諸々は unsafe でやれ (プログラマが正しさを保証しろ) というデザインであって、全部を面倒見れるとは誰も思ってないよ。
126:デフォルトの名無しさん
22/07/03 16:42:05.24 HrPxrbHk.net
コード例ちょうだいよ
127:デフォルトの名無しさん
22/07/03 17:02:40.60 j5zH7gpx.net
大先生方wとまともに議論が成り立つわけないじゃんww
128:デフォルトの名無しさん
22/07/03 17:03:35.61 EctOodKi.net
>>123
しかし、Rustの方式では、ある種のアルゴリズムは、unsafe の中だけに
閉じ込めきれないことがあり、結局、アプリでそのアルゴリズムを本来の
効率では使えないことがある。
これも言ってることを理解するには経験と深いイマジネーションが必要なので
反論してくる人が居てもその反論が間違いで、Rustの欠点として本当に存在
している。
昔、C言語が登場した頃、アセンブラほどには速度を引き出せ無い事が有ったが、
大事な部分の関数をアセンブリコードで書けばそれで解決した。だから、
C言語がこんなに普及した。
ところが、Rustでは、それと同じ事が出来ない。
unsafeの中だけに閉じ込めきれず、「はみ出してくる」部分がsafeに扱えないので破綻してしまう。
129:デフォルトの名無しさん
22/07/03 18:00:07.94 K4HcDkkQ.net
具体性の欠片もないフワフワした話しかできないんなら黙ってりゃいいのにw
130:デフォルトの名無しさん
22/07/03 21:50:25.68 HrPxrbHk.net
linked listの人の完全論破されたら潜伏してほとぼりが冷めてから全く同じ主張を繰り返すムーブ何回目だよ
131:デフォルトの名無しさん
22/07/03 22:08:21.67 tiLDs1XL.net
>>126
具体的なことを何一つ言えない時点で話にすらならないが
一つ重要なアドバイスをしてあげよう
unsafeとは他の言語と同じ状態ということ
つまりunsafeについて批判すればするほどそれはRust以外の言語がいかにダメなのかを語っていることになる
ちなみにRustはunsafeの中でC言語と同じことができるしもちろんインラインアセンブラも書ける
つまりRustはC言語と同じ機能及び性能を有している側面がまず第一としてある
その上で外部を巻き込むことなくunsafeな部分を内部に完全に閉じ込めた各モジュール例えば標準ライブラリなどを次々と生み出すことにも成功している
そしてRustコンパイラが安全性を保証するプログラムを現実に書くことができることを実証してきた
だからこそIT大手各社が共同でRustを支持する状況にまでなったのだ
132:デフォルトの名無しさん
22/07/03 22:47:34.33 a+FSzkH8.net
なんか違う気がする
133:デフォルトの名無しさん
22/07/03 23:17:08.11 x9P0i8er.net
なんか違うというレベルじゃなく一番大事なところが間違ってるよ
134:デフォルトの名無しさん
22/07/03 23:41:56.43 ha/kcOac.net
このスレでよく見かけるパターン
Rustアンチな人は不利になると「なんか違う」「間違ってる」など呟くが具体的には何も言えない
135:デフォルトの名無しさん
22/07/03 23:48:10.53 uYnkpWRD.net
このスレじゃなくて5chすべてがそうなんだよ馬鹿www
こんな便所の落書きにすら劣るキチガイの巣窟で正論打っても意味ねーんだよ
こいつらはこいつら自身が一番嫌いなDQNやチンピラと同じ大いなる無駄なことして暇つぶしてるガイジどもなんだよwww
136:デフォルトの名無しさん
22/07/03 23:57:49 vZYSRByq.net
複オジは信者の自分以外はみんなアンチにみえちゃうみたいw
137:デフォルトの名無しさん
22/07/04 00:48:50.97 H2jYU4qp.net
cと同じに欠けるってのは明らかに嘘だろ。メモリモデルが違いすぎるっつーの。
138:デフォルトの名無しさん
22/07/04 01:01:44.47 zU5p2DDn.net
>>129
あなたは理解できてない。
139:デフォルトの名無しさん
22/07/04 01:54:43.58 3k8jHKP2.net
>>135
たとえば?
140:デフォルトの名無しさん
22/07/04 02:12:28.58 WMds9h9Q.net
rustには定義されたメモリモデルはないわけだが何を比較してCと違うと言っているの?
URLリンク(doc.rust-lang.org)
141:デフォルトの名無しさん
22/07/04 03:21:25.34 zU5p2DDn.net
>>135
「メモリモデル」という言い方は、PC-9801のような16BIT MS-DOS時代に
別の意味で使っていたから混乱を招くが、言いたいことは分かる。
142:デフォルトの名無しさん
22/07/04 04:54:10.56 086teQVY.net
言いたいことが分かるなら説明すればいいのに...
143:デフォルトの名無しさん
22/07/04 07:57:34.42 aE2+UZrf.net
>>139
結局のところ>>129で合っているわけか
144:デフォルトの名無しさん
22/07/04 09:03:48.35 tfDB1jS/.net
>>138
そんな真面目な用語じゃなくて
プログラマがメモリに対して持つメンタルモデルとかそのくらいの意味ではないかと思われる
145:デフォルトの名無しさん
22/07/04 09:23:30 YSvCn/0F.net
メンタルモデルw
146:デフォルトの名無しさん
22/07/04 09:24:13 WMds9h9Q.net
>>142
そのレベルの話だとしてもスタックやヒープの使い方はrustもcも同じだよね
何をもって違いすぎると言っているのかがわからん
147:デフォルトの名無しさん
22/07/04 11:11:40 1aJxC781.net
>>129
>unsafeとは他の言語と同じ状態ということ
unsafeでもRust特有のメリットもあればデメリットもある
特にC/C++とは担保されてるsafetyのレベルが根本的に違うので「unsafeなら他の言語と同じ」とか言ってる人はunsafeをまるで理解してないので騙されないように
148:デフォルトの名無しさん
22/07/04 11:57:37 DrP+xMl0.net
そこはあまり本質的じゃないな
Rustは機能的にも速度的にもC言語の代替となれる点が本質だろう
そのうえでRustは非常に大きなプラスαがあるからC/C++は不要となった
149:デフォルトの名無しさん
22/07/04 12:04:57 RBYxpWsA.net
Rustの側で書き換えないから
let a=99;
とかした奴をCに渡してC側で書き換えるのってアウトだよね?
150:デフォルトの名無しさん
22/07/04 12:06:52 qOfLavvD.net
>>146
何の本質??
151:デフォルトの名無しさん
22/07/04 12:45:51.46 rY6uXQUu.net
>>142
メンタルモデルなんて言葉ねーよ、ハゲ
152:デフォルトの名無しさん
22/07/04 12:48:07.99 RggUqH9I.net
Rustの登場でC/C++が要らなくなったのは当然
>>147
まずはRustの初歩を学習必須
Rustではlet mut a = 99; とmutを指定すればその変数が書き替え可能
呼び出し先で書き替えたいならば
まずRustの関数を呼び出す時は &mut a と可変参照を渡せば呼び出し先で書き替え可能
Cの関数を呼び出す時はそれを *mut とポインタにして渡せば呼び出し先で書き替え可能
153:デフォルトの名無しさん
22/07/04 12:51:14.14 iNsmlcex.net
>>146
全てunsafeにでもしない限り、効率を落とさずには代替になれない例が有ると言っている。
ポインタ値をアプリ全体でLinkedListのノードを識別するための id 値として
利用している場合だ。
index 番号では効率が劇的に下がるケースが多い。
154:デフォルトの名無しさん
22/07/04 13:07:11.60 EPYowFm9.net
>>151
その件に限らず全てのケースで以下が成立する
基本事項: RustではCと同じ速度&同じ安全度で常に全ての実装が可能
追加事項: RustではCと同じ速度&完全に安全なインタフェースで多くの実装が可能
したがってCが不要となったとの話はもちろん正しい
155:デフォルトの名無しさん
22/07/04 13:15:16.22 tfDB1jS/.net
&a as *const _ as *mut _
156:デフォルトの名無しさん
22/07/04 13:24:41.08 iNsmlcex.net
>>152
あなたの理解は浅い。
157:デフォルトの名無しさん
22/07/04 13:39:33.82 Lyc/Sj1E.net
>>153
それはmut宣言していない変数を(先のC関数もしくはRust unsafeで)書き換えてしまうことになるためあまりよろしくない
書き替えるならばmut変数のmut参照を直接*mutにした方が良いのでは
let mut a: 型名 = 初期値;
c_func( & mut a as *mut _ )
>>154
それは>>152で正しい
158:デフォルトの名無しさん
22/07/04 13:43:31 NdI05vlq.net
すべての言語にunsafeがあればいいよね
159:デフォルトの名無しさん
22/07/04 14:00:59 WMds9h9Q.net
>>151
ベンチマークください
160:デフォルトの名無しさん
22/07/04 14:07:26.39 V2xsx4Ai.net
>>147
FFI呼び出しに要求されるsafetyを満たしてないと言う意味ではアウトだけどそれがどうかした?
161:デフォルトの名無しさん
22/07/04 14:13:33.00 hjCO09br.net
まーた複オジ vs 100点オジの低レベルな言い争いになってるから
隔離スレ復活させたほうがいいな
162:デフォルトの名無しさん
22/07/04 15:40:19.20 iNsmlcex.net
>>155
頭の悪い人は黙ってろ。
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
292日前に更新/279 KB
担当:undef