Rust part28

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2025/03/24(月) 17:37:00.15ID:NJwebgj2
公式
https://www.rust-lang.org/
https://blog.rust-lang.org/
https://github.com/rust-lang/rust

公式ドキュメント
https://www.rust-lang.org/learn

Web上の実行環境
https://play.rust-lang.org

※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 part27
https://mevius.5ch.net/test/read.cgi/tech/1733146370/

ワッチョイスレ
プログラミング言語 Rust 4【ワッチョイ】
https://mevius.5ch.net/test/read.cgi/tech/1514107621/
2025/04/23(水) 12:16:36.99ID:nIc2Gxfq
デファクトになったらボランティアベースでも回るかね
2025/04/23(水) 20:50:51.07ID:uqhnESs+
ディール だけ で回るかどうかの方が知りたい
2025/04/23(水) 21:20:01.21ID:TDm/u4ft
>>609
uvはRustで書かれたオープンソースでライセンスはApache2&MIT
つまり自由にフォーク可能
したがってuvでサポート契約サービスはありえても
uvを使用料でお金を取る可能性は低く
もしそうなれば有志たちがuvをフォークして無料提供を続けるパターンとなる
したがってuvを気にせずに使っても問題ない
2025/04/23(水) 21:38:33.95ID:WPvg2tW3
>>612
元々書いた人なり団体が一つでそこが今後クローズドにしますと言えばそこからは普通にライセンス変更はできるよ
そういうのはたまにあるし
2025/04/23(水) 21:40:20.32ID:WPvg2tW3
GPTに聞いた答え
実際に「Apache 2.0で公開 → 後にクローズドライセンスで商用展開」する事例はかなり多い
2025/04/23(水) 21:45:14.93ID:TDm/u4ft
もちろんライセンス変更後はフォークできないけど
ライセンス変更前はフォークできるためそれは問題とならない
2025/04/23(水) 21:46:24.20ID:PSneroc7
>>606
uv怪しいよな
Pythonをバイナリで配布してるあたりが金取ってきそうな予感
2025/04/23(水) 21:49:14.92ID:WPvg2tW3
企業向けは有料でクローズドで個人向けはオープンのままに変わることもよくある話
2025/04/23(水) 21:53:14.31ID:uqhnESs+
何言ってんだいニューメディア
紙の本はみんな有料さ
2025/04/23(水) 21:54:56.18ID:TDm/u4ft
>>617
それはフォーク側でなく元の側な
フォーク側は企業であろうと個人であろうと無料で利用できる
2025/04/23(水) 21:58:30.25ID:WPvg2tW3
実際開発してるのはその団体でソースがあってもそれからフォークして新たに開発しながら使うのは少ない
mariaDBとかみたいに開発者が分裂してるなら開発者がフォーク先にも残るけど
2025/04/23(水) 22:20:06.96ID:gHP82hJN
これまでの有力筆頭だったRyeもuvに統合となったし
Pythonで最強静的解析ツールのRuffもuvと同じところで作られていてRust製だよ
2025/04/23(水) 22:26:23.93ID:P67C9oqU
クラウドサービスは有償クローズドでCLIはOSSのままというのはよくあるパターン
自然に課金に誘導できOSS乞食も納得させやすい合理的な形なのだけど、
uvやruffって今のところ囲い込みというより既存のPythonツールセットを一部置き換える形で容易に導入できることを売りにしてるから、
クラウドサービスと統合されたPython開発スイートみたいな方向へ行くのはユーザー離れを招きそうだね
2025/04/23(水) 22:45:26.71ID:WPvg2tW3
そこに資金回収のフロンティアが残されている
2025/04/23(水) 22:51:38.64ID:Pf4IRGe7
Ruffもuvもgithub上でコミュニティによってIssue/Pullベースで開発されているのを知らない無知なやつが有料化されるぞ!とか見当外れな批判していてワロタ
2025/04/23(水) 22:52:58.24ID:fW7CNVPb
複おじ頻出単語集
となる
2025/04/23(水) 22:56:52.19ID:b6DagpWu
つまり、uvの作者は霞を食べて生きてるってことでいいの?
2025/04/23(水) 23:08:49.69ID:N+tdJcQb
開発チームにはripgrep, bat, hyperfine, maturinの開発者にCPythonのコア開発者たちがいると書かれてるな
つまりRust&Pythonの開発者たちの本流だ

>>626
企業がサポートをお願いしたい時の筆頭候補になる
2025/04/23(水) 23:09:00.88ID:uqhnESs+
いつの価値観で断罪したいのか知らんけど、どうせ現在の価値観ではOKだろ
629デフォルトの名無しさん
垢版 |
2025/04/23(水) 23:23:47.07ID:aWedmqOO
>>624
GitHubでOSSとして公開されてたものが後に有償化するのは普通にあるぞ
C#のPrismとか、PythonのPySimpleGUIとかがその例
2025/04/23(水) 23:33:07.28ID:ASKXB7Kt
PythonのRuffとuvのAstralはサイトのトップページにオープンを理念とすると掲げているとともに信頼があり多くの有能開発者たちが協力しているプロジェクト
2025/04/24(木) 01:17:00.64ID:2X7oX7JP
Don’t be evilとか言ってた企業が世界一evilな企業になるみたいな話だね
2025/04/24(木) 01:49:00.09ID:x6sR980L
anacondaがやばすぎて疑心暗鬼になってる人たち
俺も一員
2025/04/24(木) 02:13:25.73ID:pnRjJMwb
企業としてマネタイズする場合、ソフト自体を有償化する (無償版と並列に運用する体制) パターンと付随するサービスのほうで稼ぐパターンとその会わせ技のパターンがある。
uv はパッケージマネージャなわけだからエンタープライズ向けに精査されたパッケージリポジトリの提供とかで商売になるんじやないかなぁ。
2025/04/24(木) 02:51:42.67ID:/mu+RrCU
OS依存をおそれないC/C++はコンパイラもライブラリもOSで管理するから問題ない
自称OS非依存の方がかえって邪悪になるってことかな
2025/04/24(木) 03:01:04.69ID:TkOo4M39
OS というかディストリビューションのパッケージマネージャに乗っかるのが C/C++ の伝統ではあるな。
ただ、本来は実行環境の管理に使うべきシステムだから開発環境の管理に使うのは微妙に行き届かない面もあり、事情がややこしくなる部分もある。
2025/04/24(木) 08:59:09.87ID:0duaLY4u
>>630
Astralが信頼できるかどうかは関係ない
VCから貰った金が底を尽きたら会社は即潰れるし、貰った金はいずれ100倍にして返すよう常に期限付きでプレッシャーをかけられる
そして見通しが厳しくなれば最終的にVCは事業の持続的成長を放棄した強引な方法で回収にかかる
dockerやanacondaがいい例だ
これは善い悪いという話ではなくスタートアップ企業の構造上の宿命なの
2025/04/24(木) 09:35:38.68ID:pnRjJMwb
この手のスタートアップは最終的に大手に買われるのがゴールとなるのが一般的だ。
企業の信頼性というのは理念ではなく企業体力 (資本力) で測られる。
個人ユーザ程度の些細なところでマネタイズしなくて良いくらいに資本がある会社が運用してくれるのがユーザとしては安心できるシナリオと言える。

オープンソースの一大拠点である Github だってマイクロソフト傘下なんだぞ。
638デフォルトの名無しさん
垢版 |
2025/04/24(木) 13:31:41.47ID:ndm7u60W
LibreOfficeのスレかと思った
2025/04/24(木) 14:34:38.61ID:8pJUwD28
MSになってgithubから脱出したOSSもあるけどな
2025/04/24(木) 17:58:43.83ID:XhsO3LV3
>>632
その件があったからuvとRuffのAstralはオープンを方針として明記していて
https://astral.sh/about
オープンさを大切にしてオープンソースで寛容なライセンスを信念として掲げている
だから開発コミュニティに協力してくれる人たちが集まってる
2025/04/24(木) 18:41:31.45ID:0duaLY4u
理念がどうあれ、事実としてVCから出資を受けてしまっている以上、必ずVCは利益を目的として意思決定に介入する
もし高尚な理念を本当にこの先守っていきたいなら、VCへの株式譲渡などせず財団方式で運営すべきだった
君の信心に対してとやかく言う筋合いはないが、君が信じているのは果たして誰なのか?は考えてみたほうがいいよ
2025/04/24(木) 20:59:08.21ID:/mu+RrCU
理念が期待通りに機能しないのは人間が悪いんだよ
理念が撃つのではない 人が撃つのだ
2025/04/24(木) 22:09:03.03ID:xYJ9bO0b
人間を襲ったクマを駆除するのか生け捕りにして山に還すのかどっちが正しいんか
2025/04/24(木) 22:13:28.49ID:B7M2FwrP
Astralって今はカネとってる商品一つもないの?
2025/04/24(木) 22:38:38.78ID:/mu+RrCU
>>643
そういうのを最もくよくよと考えてるのが中立
中立ではない人はわりと判断が早いよね
2025/04/25(金) 19:05:53.27ID:fabJEIST
中立でなくて中庸では?
2025/04/25(金) 20:10:42.17ID:FfAt1dci
>>643
検討の余地はない
2025/04/25(金) 20:50:10.25ID:DbDcSEbW
目の前に6億積まれてこの金で開発に集中していいよと言われたら断れないよね
創業者はSentryのシンパらしいからそのうちクラウドサービスでマネタイズを試みるんじゃないかな
ビッグテックが欲しがるのは基本的にプラットフォームであり、コードそのものにはあまり価値を認めないから、まずはクラウドを成功されられるか次第だろうな
2025/04/25(金) 23:36:31.47ID:9WzjZMyy
なるほど、合法な6億も違法な6億も、返せ返せと言われる点ではどっちもどっちだ
2025/04/25(金) 23:39:57.43ID:v7JcTsu2
Python方面でも最近の良いものは全てRust製なんだね
2025/04/26(土) 00:28:58.67ID:lxu0QMrc
uv以外ある?
2025/04/26(土) 00:29:47.79ID:lxu0QMrc
polarsだっけpandas的なやつ
653デフォルトの名無しさん
垢版 |
2025/04/26(土) 00:38:28.74ID:Ov7+kHPs
qiskitのrustが進んでる
654デフォルトの名無しさん
垢版 |
2025/04/26(土) 00:38:45.64ID:Ov7+kHPs
qiskitのrust化が進んでる
2025/04/26(土) 00:48:53.01ID:lxu0QMrc
量子コンピュティングか。何も分からん
656デフォルトの名無しさん
垢版 |
2025/04/26(土) 08:40:09.93ID:c5NITHBq
Python以外、例えばRubyのライブラリをRustで書くといった動きってあるの?
2025/04/26(土) 08:49:32.69ID:MQn0RGBc
RubyだとJITコンパイラ(YJIT)がRustで書かれてるね
2025/04/26(土) 09:38:41.16ID:iRBbkycD
完全にグルー言語と割り切って使われているPythonと違って、Rubyって未だに絶頂期の変なプライドを引きずってる人が多いからRustの採用は広まらなそう
yjitみたいに元々Cで書かれている部分を置き換える分には抵抗がないだろうけども
2025/04/26(土) 10:00:27.35ID:G2uFKMwF
rubyってmatzがcかc++で書いてたんでしょ?今のところ書き換える意味はないよ
仮に替えるとしてコンパイラを書き換える理由はなんだ?
rustで書いてみたかったとか
2025/04/26(土) 10:07:34.20ID:iRBbkycD
yjitはMRIと比較して普通に速い
もちろんRustだから速いのではなく、元々の実装がヘボいだけ
2025/04/26(土) 10:29:27.39ID:pbPDl6lv
ゆるゆるRubyをRustで描き治すなんて発狂しそう
2025/04/26(土) 10:59:05.36ID:4hz3gxa1
Pythonにしても元々Cで書かれていたライブラリのコア実装をRustに切り替えてるだけで、PythonからRustになったりはあまりしてないと思うが…
Rubyの場合pure Rubyなライブラリが多くてRustにできる余地が少ないイメージだけど実際どうなんだろうね
2025/04/26(土) 11:35:09.77ID:OmZIap2o
理念をどうこう言っても理念通りにいかないのも普通のこと。
現実はトレードオフの連続で、微妙な判断の連続を繰り返したら汚くもなってくる。
「綺麗なのは使われてないものだけ」という格言もある。
不恰好なのは現実の道具として使われてきた証とも言える。

ただ、現実の事情は変わっていくからね。
昔の現実に合わせたものが今の事情にマッチしなくなっていく。
プログラミング言語だってたまには新しいものが現れて過去をリセットしつつまた汚く (しかし現実に都合よく) なっていくんだろう。
2025/04/26(土) 11:35:21.29ID:tLquDHIY
改善点無しで書き換えるのはやらん方が良い
2025/04/26(土) 11:37:10.07ID:Opf+QDvF
多神教、二元論はピュアじゃないとか、データさえあればプログラミングは不要とかいう一元論は今でも絶頂期
2025/04/26(土) 12:05:07.12ID:EVE9ATPb
実際、業務システムならDBが全て
ドメイン駆動とかほざくアホは無視し、Postgres上で徹底的に業務ルールを定義するのが最善
2025/04/26(土) 13:13:44.82ID:8siE2IDQ
結局Rustはなにならできるの?
2025/04/26(土) 13:33:53.91ID:KvigRu5f
全部出来るでしょ。ただC並みに細かくなるので、業務アプリレベルのものは、GC付き業務フレームワークのPythonやrubyでいいよ
2025/04/26(土) 13:34:17.50ID:KvigRu5f
アプリ用DSLか
2025/04/26(土) 13:44:16.81ID:N0vsCMMC
>>667
Rubyを高速に動かすために不可欠なYJITがRust製
2025/04/26(土) 14:26:52.65ID:EVE9ATPb
>>667
主に、有効であることが既に確認されている既存のソリューションの高速化に用いられる。
新規性の高い未確立なソリューションの開発に用いられることは少ない。
Rustは信頼性とパフォーマスに優れている一方で、柔軟性が乏しいため試行錯誤の必要な開発には向かないと思われているのだろう。
もちろん異論はあるだろうが、実態としてな。
2025/04/26(土) 14:42:28.20ID:N0vsCMMC
>>671
それは真逆だ
Rustでの開発は柔軟性が高いため
新たな設計による機能強化や高速化などにRustが用いられている
一方で単なる既存の書き換えだけではどの言語間でも効果は限られる
スクリプト言語からRustへ移植する場合でも少なくとも中核部分はそのままよりも設計し直した方がより高速化と省メモリに繋がる
2025/04/26(土) 14:59:40.76ID:KvigRu5f
CとGC言語両方経験者ならすぐ分かるような質問多いね
精進頑張って
2025/04/26(土) 15:12:31.71ID:G2uFKMwF
全レスにそれってあなたの感想ですよねって返されても何も言えない

図書館言ったらプログラム書籍のコーナーが1つ棚が減っていてその分AI等の書籍の棚が出来ていた
どこにこんなに本があったのかと
ゴミみたいなRust入門書とPython入門書などが書庫行きになってた
2025/04/26(土) 15:37:01.99ID:Opf+QDvF
個人の感想とか個人の試行錯誤は良いぞ
全体主義的な試行錯誤はダメだ
2025/04/26(土) 15:58:41.44ID:IX/fzv3g
>>674
>プログラム書籍のコーナーが1つ棚が減っていて

PearlとかRubyとかPHPとかJavaとか減っていけ
2025/04/26(土) 16:18:14.26ID:OmZIap2o
>>671
新規性が高いというのはユーザを抱えていないということでしょ。
結果的に観測されにくいってだけじゃね?
2025/04/26(土) 16:27:16.63ID:G2uFKMwF
ソースが短い内容なのに実行時ランタイムが必要な奴を置き換えてる
2025/04/26(土) 17:16:17.24ID:Opf+QDvF
観測が任務だったのにろくに観測しない
1話でやったやつを見てない
0話切り
2025/04/26(土) 17:41:13.28ID:Ov7+kHPs
>>675
塞翁が馬でどうなるかわからないな
俺が抑圧されたら反抗するが
2025/04/26(土) 17:51:31.23ID:Cl6IuO5W
コード書きなよ。そして考える。読んで考える
2025/04/26(土) 18:04:49.72ID:OmZIap2o
>>678
これは割と効いてくるので良い方針だと思う。
いまどきは Ruby でも JavaScript でも JIT でかなり高速化してるんだけど、 JIT だと何度も通過する内にだんだんネイティブコードに置き換わっていく仕組みだからガッと動いてすぐ終わるようなコードだとぜんぜん JIT の恩恵がない。
それでいてそこそこ大きいランタイムのロードには時間がかかるからあまり向いてないんだよね。
2025/04/26(土) 18:05:29.29ID:iRBbkycD
>>672
そんなもん完成形は目の前にあるんだから、頻繁に大規模な手戻りが発生するようなら設計した奴が無能なだけ
スタートアップなんかでのガチで新規性の高い開発ってのは、そもそも作っているものに価値が無い可能性が高い
そのような性質の開発にRustは適していると思う?
俺自身の意見はともかく、現状その問いにYesと言えるだけの実績がRustに無いのは事実だ
2025/04/26(土) 18:06:58.12ID:SE+oHzey
WebブラウザWasm、CDN Edge、クラウドなどもRustが言語筆頭候補の領域
2025/04/26(土) 18:21:45.82ID:Vj7XK48K
rustから他の言語に書き直すのは大変そう
2025/04/26(土) 18:50:24.41ID:vxR7V27Y
>>658
RubyのYJITはC言語で書かれていたMJITを単にRustへ移植したのではなくて全く別のアプローチ
YJITを作ったShopifyの研究開発チームがYJITの論文も発表しているよ

>>683
スタートアップが新規に開発でRustなら既に話題になってるPythonのruffやuvも該当するね
2025/04/26(土) 19:24:47.94ID:iRBbkycD
YJITやuvやruffが新規なのか
別に煽るつもりも否定するつもりもないのだけど、平均的なRust開発者の認識がそうなんだとしたら、Rustは実際にそういう言語なんだろうね
2025/04/26(土) 19:37:07.61ID:ZNj+yWV2
276,406行のC++コードを捨ててRustへ移行したスタートアップの技術的決断
https://zenn.dev/rwcolinpeng/articles/14760991836800
689デフォルトの名無しさん
垢版 |
2025/04/26(土) 19:40:30.88ID:oUxoHCOL
Cからrustへの書き換えはわりとうまく行きそうだけどC++からだとしんどそう
2025/04/26(土) 19:49:20.55ID:7Pa19F9r
スタートアップでも開発効率の高いRustを採用する方が当然有利ってことだな
2025/04/26(土) 21:18:45.78ID:Opf+QDvF
試行錯誤ってカーゴカルトを正当化するんだな
滑走路作ってみな
飛ぶぞ
2025/04/26(土) 21:47:38.26ID:w8ZEIOp2
別の視点でスタートアップであろうとなかろうと
競合相手がいて他の条件がほぼ同等ならRustを採用した方がおそらく有利っぽい
速度の面でも使用リソースの面でも
2025/04/26(土) 22:16:38.86ID:Cl6IuO5W
開発者が優秀だからじゃないか
同じ人が開発する時の速度に影響するかなあ
2025/04/26(土) 22:43:45.38ID:BBm+0pf8
kindle 日替わり500円
2025/04/26(土) 23:08:38.66ID:ZxsqU4Rq
Cのままだとライセンス違反になりそうなグレーゾーンをRustで書き換えて解決ってか
2025/04/26(土) 23:13:16.03ID:aIZ11R/f
言語を書き換えてもライセンス抵触なら無意味
それ以前にいまどき落とし穴の未定義動作だらけにC言語なんて使うのはコンパイラ指定な特殊な組み込み環境くらいだろ
2025/04/26(土) 23:22:10.41ID:ZxsqU4Rq
>>689
その通りなんだがC++の機能にどの程度依存してたかだな
2025/04/26(土) 23:40:40.79ID:Ov7+kHPs
>>695
freebsdカーネルは完全にgcc捨ててllvm化が終わってる
2025/04/27(日) 05:42:31.77ID:68J8pPED
>>688
C++エキスパートなら、必要なスキルが揃っているから移行コストが少ない、というのがデカイね。

逆にC++で大規模開発するのにコーティング規約を決めてなかったみたいだから、コーダーが好きにやって破綻している感じもある。
C++標準化委員会は標準的なコーティング規約を決めた方がいいんだろうけど、宗教戦争になりかねないから難しいか。
2025/04/27(日) 06:03:34.96ID:3KVBTXf3
C++を完全に捨てるしかなかったな

>>688
>>C++ はプログラマーに多くの柔軟性を与えますが、それには代償が伴います。バグを埋め込むのが非常に簡単であり、その多くは非常に厄介です。しかし、それ以上に C++ プログラムのデバッグは非常に困難です。特に並行プログラミングにおいてはなおさらです。

>>依存関係の管理が面倒です。たとえば CMake のように、C++ プロジェクトのコンパイルを自動構成するツールはありますが、開発者は依存ライブラリの構成やインストールを手動で行う必要があります。

>>標準テンプレートライブラリ(STL)は、たとえばネイティブなコルーチンのサポートなど、モダンプログラミングの一部ツールに対応していません。その結果、開発者は多くのコミュニティプロジェクトに依存せざるを得ず、これらの多くは長期的なサポートがありません。

>>品質保証が難しいです。C++ は非常に多機能な言語であるがゆえに、開発者ごとにまったく異なるコーディングスタイルで C++ を書いてしまう傾向があります。異なるバックグラウンドを持つ開発者がチームに増えると、コードの可読性を維持できなくなりました。さらに、C++ コードのバグは簡単には特定できず、コードレビューが非常に困難になる原因でもありました。
2025/04/27(日) 06:08:20.98ID:Vt2v/90n
>>688
C++エキスパートかどうかは何も痕跡がないな
むしろJava屋さんじゃね(Initial commit)
https://github.com/risingwavelabs/risingwave/tree/cb527ae81e9d9f51010da4b16ad9101447b7670b
2025/04/27(日) 06:20:56.04ID:Ytmxd4+G
>>688
こういう極端な例しか出て来ないよね
2025/04/27(日) 06:23:06.49ID:EwmWReBG
>>688
今となっては何もかも劣るC++を使うメリット無いからな
ましてやそのような最近のシステムなら非同期並列が必須なのでC++だと茨の道
2025/04/27(日) 07:51:33.32ID:Mi41ddJF
libuvを使うのじゃ
全くおすすめできない
2025/04/27(日) 07:52:41.59ID:Mi41ddJF
非同期並列並行が標準装備なんて恵まれた言語ばかりになってグスン
2025/04/27(日) 08:04:58.94ID:X0KzsrtM
設計の見直しがあるとRustは辛いよなぁ
Goのほうが柔軟な気がする
707デフォルトの名無しさん
垢版 |
2025/04/27(日) 09:24:24.45ID:PvBOOBWE
Kotlin もよろしく
2025/04/27(日) 09:26:48.67ID:gUGAvcfj
Oracle怖いので
2025/04/27(日) 10:46:11.91ID:RSOujG5D
> 開発者は多くのコミュニティプロジェクトに依存せざるを得ず、これらの多くは長期的なサポートがありません。

これを理由にしてRustへ行くのはちょっと本末転倒感あるけどなあ
数年後には、古くなったcrateに縛られてモダンでクールな〇〇をイントロデュースするのベリーハードだぜフ〇ックとかブツブツ言ってるだろうな
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。