Rust part16
■ このスレッドは過去ログ倉庫に格納されています
☆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/ 前スレにあったrustupのnamingの話だけど もともとはサブコマンドのないシェルスクリプトでrustをupdateするからrustup 元の意味からするとrustup updateは重複表現なんだけど rustupを動詞として捉えずツール名の名詞として捉えればrustup updateは違和感ない rustupにサブコマンドがない時代なんてあったっけ? rustupの前身のmultirustの頃からupdateサブコマンドはあったような updateのupじゃなくてsetupのupじゃないの? 意味的に >>6 コード的には主にmultirust.sh -> multirust.rs -> rustup.rsなんだけど 名前はrustup.shから引き継がれてる rustup.shはサブコマンドがなかった rustup.rsは最初からサブコマンドがあったけどrustupと叩くと今のrustup update相当の処理(update_all_channels)をしてた >>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()可能 drainとかsinkとかRustはわかりやすい絶妙なネーミングが多いな WebAssembly に一番適した言語と聞いて来ました お世話になります どの道だって希望なんてないよ。 比較的マシな道を探すだけ >>14 やめとけ Linuxの話題は あわしろを召喚しちまうぞ Rust is coming to Linux, says Torvalds https://cloud7.news/linux/rust-is-coming-to-linux-says-torvalds/ 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. >>19 当面は新規開発のドライバぐらいにしか使わないって話だっけ? 既に安定して動いているカーネル本体からスタートするのは非効率たから 新たに増えていくデバドラなどからRust導入 そしてRust>C>C++と評価されたことも大きい ドライバだとunsafe祭りになると思うけど、それでもRust活かせるのかな Rustは標準ライブラリからしてunsafeだらけ Rustのメリットはunsafe部分を局所的に閉じ込めることができること (他言語は全てがunsafe状態) そして局所的に閉じ込めた部分の健全性を人間が確保すればプログラム全体の健全性がコンパイラにより保証されること C だとどこが「安全ではない」のかわからん。 unsafe がはっきりと切り離せる分だけ多少はマシ。 >>19 やめとけ Linuxの話題は あわしろを召喚しちまうぞ Cたけでなくほとんとのプログラミング言語がデータ競合を見過ごす、あるいは、対応しても実行時にようやく気付いてエラー Rustのようにコンパイル時エラーとしてくれるのはレア 結局allocを用意して、Resultを返すような別方言のRustを作っただけじゃん。こんなんでええのかよ、糞言語 mallocに失敗してパニックするかどうかは最終的にどうやって切り替える仕様になるわけ? Cargo.tomlに書くとか? >>32 全体が一気に切り替わるようなのは多分想定されてない Resultを返すAPIが追加される感じ 例えばtry_reserveなんかはnightlyでは実装済み 話としては二段階あるんだよね 一つは昔からのcore::つまりいわゆるno std::環境 つまりヒープは標準ライブラリとして提供しない BoxやVecやStringなどのヒープ利用以外はイテレータ含めて全て使える ヒープは自分で管理するかそういうクレイトを使う もう一つがstd::からのalloc::の分離 BoxやVecやStringは現在ここにある Box::try_new()やVec::try_reserve()やString::try_reserve()を使ってアロケーション時のエラーを得ることも可能 この理解でよい? >>33 try_reserveは1.57でstabilizeされてる >>34 core::もalloc::もno_std用 一部コレクションのtry系メソッド以外はどういう形にするか明確な方針は決まってないんじゃないかな Allocatorトレイトをstabilizeしていく方向は決まってるだろうけど それを使った上位のAPIがどういう風になるかはわからない >>35 no_std用と言うのは言い過ぎかも stdにてcoreやallocからuseしているため >>31 みたいなレスしちゃった時点で負けなんだが本人が歳だけ食ってメンタル10代のこどおじだから面倒臭いんだよな >>29 何と戦ってるの? こんなのよくある問い詰められて二の句が告げなくて『なにが?』とか『なんのこと?』ってはぐらかしてる馬鹿なおっさんそのものなんだが本人気付いてないんだろうなw いずれにせよ ベアメタルなどの組み込みやOS開発向けがほとんどの用途 それ以外の影響なし普通の人々にとっては今まで通り 質問失礼します。 初心者なので当たり前の事質問してたらすみません。 風化対策でTCを置くのは理解してTCを拠点内においてそのすぐ1マス開けて横にもう一個建築物を建てたのですが そっちだけ風化してしまって崩れてました。これは何が原因なのでしょうか。 Rustってそういうゲームだったんだな 微妙に興味わいた なるほど…どおりで皆が何いってるかがまったく理解できなかったわけですね。 自分が初心者だからだと思ってました。凄い恥ずかしいです。リンクまでありがとうございます! redditでもゲームの方のrustの質問が来るのは珍しくない模様 Twitterで ゲームのRustと紛らわしいからググラビリティがどうこう、いうツイートがかなりあるけど それらのツイートがなければかなり検索楽になるから止めてほしい redditは確かあまりにゲームの書き込み多いからスクリプトでそれっぽいキーワード弾いてるんじゃなかったっけ? 今でもときどき書かれてはいるけど Rustは、JS上がりの人や、女性に人気が有る印象。 >>53 Web系は時期にWebAssemblyが超使われるようになるだろう。 そうなるとWeb系の人はRustできないとWeb系の仕事ができないとなるから 嫌でも覚えるしかないだろうな。 そんな状況になるとRustはWebAssemblyのためのものって感じなるだろう ないないウェブはどんどん移り変わるツールチェインのトレンド追い続けるだけだからwasmやrustが大人気になってメインになることは100%ない かと言って組み込みも今動いているCコードをわざわざ書き換えることはないと思うからかなり先かな そのまま新しい言語が来てRustは忘れ去られるのであった(終) そりゃMSですらRustに可能性を感じてWindowsのコアコンポーネントをRustで書き換えたりしてるけどだからと言ってC++がお役御免になるなんて考えちゃう奴はどうかしてるというかにわかの馬鹿かポジショントークのどちらかだよ まぁこの20〜25年ずっとウェブはJS、デスクトップ・モバイルはJAVAだから何も変わってないんだよ現実はそんなものさ どこでも同じシンプルな結論が出ている ・既存のものを書き換えるのは無意味 ・新たに作るものはRust 一択 USの状況見るとRustが広く使われるようになるのはもう疑う余地ないと思ってるけど ここまで世の中の現実を知らない人がRustを推してるのを見ると悲しくなる C は使われる範囲が広すぎた。 JavaScript は使われる範囲が広すぎた。 必ずしもベストではない場面でも使われ過ぎた。 そういった「過剰に使われている状況」が改善されていくってだけだろう。 現状がベストならあえて変更する必要はない。 5chに限らずネットだと言語だなんだドヤ顔で蘊蓄垂れてイキリ散らかしてる奴ばかりだがGoogleに腐るほど日本人、まともなアプリの開発できないとネタにされるくらいソフトウェア後進国のIT土人国家なのオチが綺麗過ぎて爆笑してしまう このスレでも結局オチはエロゲっていうクソみたいなセンスのキチガイしかいないからなお前らがRust推すほどこりゃダメだって思うわ C/C++よりコンパクトに機能が高く書きやすいからRustを使っている 他の言語は遅くて論外 JSをサーバーサイドに使うのはどうなんかね? 速さは性能やらCDNでごまかせるけど、RUSTやC++とかで出来るならそっちのほうが良さそうな気がする まあPHP使ってる雑魚だから現状関係ないけど 用途や状況に合わせて言語は使い分ければいい ひとくちにWebと言っても用途も状況も様々 RustRust言うけどこのスレの人間たちもRustでは一日1000行もコード書いてないだろ >>66 ウェブの表層のほとんどは「ビジネスロジックの記述」をやりたい。 Rust や C++ は良くも悪くも機械に対する指示としての側面が大きい。 ビジネスと機械の間を埋めるのがエンジニアの役割ではあるんだが、 ビジネス寄りのエンジニアとガチ技術寄りのエンジニアで棲み分けが有る。 もちろん何だって速いに越したことは無いが、 ソフトウェアをガチガチにチューニングしたって限界があるからなぁ。 頑張ってソフトウェアをチューニングしてもせいぜい二倍とか三倍とか程度にしか伸びん。 ビジネスが拡大すれば再現なく高い性能が要る (可能性が有る) わけで、 必要なときに機械の数を倍にすれば倍の性能になるデザインのほうが重要なんだよ。 俺は楽だからwebも含めて大抵はrustで書いてるな こちらはまずはバックエンドとスクレーパー方面だけRust化した フロントエンドはこれから お前らは日本人あるあるで手段と目的を履き違えてる奴ばかりなんだよ 御宅を並べるのは中国にすら20年遅れてしまったソフトウェア分野で結果出してからやれお前らみたいなの逆に迷惑 ウェブつながりのつい最近の話でNode-Sass(LibSass)が非推奨になりDart-Sassになった理由は色々言われているが要はC++でsassの実装は極めて難しくLibSassをメンテする・できるボランティアがいなくなったからなわけで じゃあお前らご自慢のRustでLibSass書き直せよ?お前らなら余裕だろ?結果出してくれよ? お前らみたいにネットのコメントだけでイキってる奴らって最高にダサい tauriってrustとjsは同時にデバッグできるのん? ドキュメント読む限りでは Rustは他のRustプログラムと同様にgdb/lldb jsはWebViewのデバッガを利用することになるようだが >>73 公式ドキュメントの方法じゃないけどVSCodeのrust-analyzer使えばlaunch.jsonやtasks.json書かなくても簡単にRustのデバッグできるよ UIは実行後のウィンドウでCtrl+Shift+iでWebView Consoleが開くからconsole.logはこっちのコンソールで確認できる ただUIのjsのブレークがうまくいかないからこっちは俺が教えてほしい 出来ても結局自分でライブラリ類は書かなきゃ行けないんでしょ? jsの大量のライブラリが使えるならいいんだけど >>72 なぜ失敗altJS言語なんかに頼ってるんだ? 当然Rust版sassもある >>68 >Rustでは一日1000行もコード書いてないだろ 日本のITの主力のドカタ向けのRustの仕事はまだほとんどないだろうからな。 だから、いまRustしている奴の多くは個人の趣味でRustしている感じだろうし。 俺的にはRustを使った社内システムの開発とかやっているレベルで激すごいなって思う Rustがメジャーになれば受注案件でRustも使うってなるんだろうが 現実を直視できないアホばっか Rustの案件なんてあるわけないだろ都内ですらC++のドライバ開発で人材集めるの相当苦労するのにRustでプロダクションクオリティで書けるPGがいたとして名抜きの奴隷なんてやるわけない だからそんなプロジェクトはないし案件が発注されることもない なるほどRustを叩いているのは受注土方だったんだな こちらは自社開発だから便利で安全で高速なRustを普通に採用できている ローカルなツールを自分一人でシコシコ作ってるってパターンだろw 現実にRust利用がどんどん広がっていってる現状に嫉妬してるおまえらはRustアンチスレの方へ行けよ > 現実にRust利用がどんどん広がっていってる >>83 の脳内現実w 自社開発製品 ・FizzBuzzイテレータ ・カウントアップイテレータ ・フィボナッチイテレータ 当社製品はすべてジェネリック対応 型の最大値を超えると自動的にイテレート終了 Rust製で安心安全高速! 5ちゃんねるユーザー大絶賛!! 「所有権複製論」の複オジ先生自ら開発!!! このRustアンチ いつも不利になると作り出した仮想敵叩きへと逃げ込むな WebAssembly で圧倒的需要を勝ち取ったRust の勝利 >>85 5ちゃんねるユーザーからゴミ扱い!!の間違いでは? 自演自画自賛してたから 大絶賛でも間違いではない いや、間違いか >>88 Wasmで、DOM直書きできるのは、今のところRustしかないことが いまのWasmを書く際のRust人気になってるようだ。 しかし、今後、ライブラリの中にDOM操作を隠蔽できてしまえば、 ライブラリを使う限り自分でDOM操作はしなくて良くなるからDOM直書きは 不要になる。 >>93 君は日本語を直書きできるようにしたほうがいいんじゃないか? >>95 現段階でWasmを使おうとしている人の大部分は、 「WebプログラミングはHTMLとDOM操作で行うもの」 という固定観念があるので、それが直接的に出来るRustを使おうとしていると 言うことだ。 しかし、DOM操作を関数の中に閉じ込めてしまえば、DOM操作と言う概念を 一切合財忘れてしまって、Windowsプログラミングのような手法でWeb プログラミングできるようになる。 >>95 現段階でWasmを使おうとしている人の大部分は、 「WebプログラミングはHTMLとDOM操作で行うもの」 という固定観念があるので、それが直接的に出来るRustを使おうとしていると 言うことだ。 しかし、DOM操作を関数の中に閉じ込めてしまえば、DOM操作と言う概念を 一切合財忘れてしまって、Windowsプログラミングのような手法でWeb プログラミングできるようになる。 >>97 いったんそうなってしまうと、WebプログラミングにDOM操作が全く必要なく なってしまうので、WasmにおけるRustのアドバンテージが消失してしまう 可能性が高い。 rustでもDOM操作はJS経由してるし直接的にできるわけではないでしょ wasmでrustが有利とされているのはランタイムが薄くてバイナリサイズが小さくできる点では >>99 そもそもJSの時点で速度に不満の有る人がどれだけいることか、という点がある。 C++なら既存の資産もあるし、nativeアプリと互換性を持たせることが出来る メリットもあるが、Rustにはない。 >>99 そもそもJSの時点で速度に不満の有る人がどれだけいることか、という点がある。 C++なら既存の資産もあるし、nativeアプリと互換性を持たせることが出来る メリットもあるが、Rustにはない。 ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.1 2024/04/28 Walang Kapalit ★ | Donguri System Team 5ちゃんねる