Rust part21

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2023/08/15(火) 22:24:39.45ID:xzxy4cgp
公式
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 part20
https://mevius.2ch.net/test/read.cgi/tech/1677771928/

ワッチョイスレ
プログラミング言語 Rust 4【ワッチョイ】
https://mevius.2ch.net/test/read.cgi/tech/1514107621/
2023/12/25(月) 12:40:39.37ID:Sk+Bp6T/
タイムトラベル知らんのか
654デフォルトの名無しさん
垢版 |
2023/12/26(火) 01:14:24.20ID:79CvGGY2
>>652
CやC++やJavaでも昔からコールスタックは遡れたけど、あれのビジュアル良くしたやつとは違うのかね?
2023/12/26(火) 01:58:52.00ID:DHuhCQvi
>>654
違う
状態の変遷を戻ったり進めたりできる
つかググればすぐ出てくるやろ
2023/12/26(火) 04:22:44.20ID:hadQuCYF
>>634
コミュニティに入るPGのレベルが全体的に高すぎて
俺の実装でversionを1.0にするのはおこがましい的な萎縮が働いてそう
2023/12/26(火) 04:22:50.25ID:hadQuCYF
>>634
コミュニティに入るPGのレベルが全体的に高すぎて
俺の実装でversionを1.0にするのはおこがましい的な萎縮が働いてそう
2023/12/26(火) 08:35:59.69ID:P1ddGMJS
>>656
セマンティックバージョニングのせいだよ。
バージョンナンバーの付け方は基準があって互換性が維持されるときとされないときで数値の上げかたが違う。
しかしメジャーバージョンがゼロのときは基準の適用外で勝手にしていいことになってる。
初期は試行錯誤があって当然だからね。
キッチリした管理なんかしたくないからまだまだ初期だという体裁でゼロのままにしたほうが楽なんだよ。
2023/12/26(火) 08:50:16.75ID:RJv1OlmX
>>658
これやな
オレオレライブラリ作る時とか
絶対に1系まで上げない
2023/12/26(火) 09:58:50.36ID:4qW9SvtE
Rustの要であるfutures futures-coreなども0.3のままだな
hyperは先月ようやく正式1.0になり先週1.1になった
h2が0.3から0.4に上がった
2023/12/26(火) 10:02:59.91ID:QVgSLMrU
どうでもいいな
662デフォルトの名無しさん
垢版 |
2023/12/26(火) 11:10:33.20ID:rdxjbOn3
メジャーバージョンが0のライブラリなんて怖くてよう使わん
Julia並みの破壊的変更が来ても文句言えんからな
2023/12/26(火) 11:17:02.90ID:RJv1OlmX
そういう日が来たら全部壊して書き直した方が早いよ
自分の書いてる所の効率も洗練されて良くなるし
664デフォルトの名無しさん
垢版 |
2023/12/26(火) 11:53:58.51ID:druMhfTB
まあこういう感じの真面目にサポートとかする気のない人しか使ってない言語なんだろうな
2023/12/26(火) 12:09:12.16ID:aCwAChA1
>>656
それ他の言語でも散見されるぞ
1.0は枯れ切った後に出て実質でかい機能追加は行わなくなったところでつけることが多い
大抵凄腕の人のライブラリに多いような気がする
SemVerが浸透する前からこの状態だったし
2023/12/26(火) 15:06:21.44ID:iSUEMnuj
Inkscapeは一生1.0に上がらないと思ってた
2023/12/26(火) 16:49:51.67ID:KvBUmVJg
GitHub Issueが2627件あるZigはどうするつもりなんだろう
2023/12/26(火) 17:19:43.95ID:Y/g/LC26
どうでもいいな
ライブラリの質はSemverで測るものじゃないから
669デフォルトの名無しさん
垢版 |
2023/12/26(火) 17:33:22.23ID:E/z8PERd
ライブラリの質にsemver考慮しない人間、仕事にRust使う気がなさそう
趣味プログラムで一年も生かす気がないコードならまあわかる
仕事で限られた工数で長期サポートするならsemver気にしないはありえん

まあRustなんて所詮趣味プログラミング向けなのかもな
まともな仕事には使えん
2023/12/26(火) 17:36:00.58ID:APrQ9KVs
個々のバージョンにおいて出来が良いかどうかはともかくとして、
長期的な互換性に対する姿勢を測る指針のひとつにはなる。
2023/12/26(火) 17:43:23.74ID:AKSTTleD
帰れゴミカスども
https://mevius.5ch.net/test/read.cgi/tech/1701997063/
2023/12/26(火) 18:34:35.78ID:6dPf9R/w
ライブラリを選ぶときや使うときには当然Semverは気にする
でもそれは質を測るものではない
その違いが分からないとか理解に苦しむ

ま、どうでもいいけど
2023/12/26(火) 18:42:19.39ID:krXurI2c
rustを使う人は、みんな凄腕で無ければ自分で実装するイメージ。
674デフォルトの名無しさん
垢版 |
2023/12/26(火) 20:02:46.87ID:E/z8PERd
>>672
質って品質って意味だろ?
品質にはサポート品質は当然含まれるだろ
2023/12/26(火) 20:12:35.91ID:RJv1OlmX
出来たばっかりの言語にやってきて
1系になってるライブラリまるでない使えねー!

お前はJavaに帰れ
676デフォルトの名無しさん
垢版 |
2023/12/26(火) 20:20:41.08ID:E/z8PERd
>>675
古いって言ってももう開発開始から17年なんだよな
Javaリリースから27年であり、正直そこまで差はないだろ
正式リリースからは8年だけど、リリースが遅かったことを評価することは出来んし、正直そこまで差はないと思わざるを得ない
正直、いつまで新しい言語みたいな顔してるんだよって気持ちだ

まるで自分を若いと勘違いしているおっさんみたいだ
677デフォルトの名無しさん
垢版 |
2023/12/26(火) 20:30:47.94ID:rdxjbOn3
しかしJavaに帰れってのも悲しい発言だな
結局仕事ならJavaって>>675も思ってるってことなんだもんな
2023/12/26(火) 20:34:34.53ID:4qW9SvtE
他の言語と比較したい人は言語比較スレへ
アンチ活動したい人はアンチスレへ
2023/12/26(火) 22:38:40.65ID:ewLNJPek
>>674
メジャーバージョンが1.0以上かどうかはサポート品質を測る指標にならないんだよ
実際にいろんなライブラリをきちんと調べて使った経験があれば誰にでもわかる常識的なこと

エアプで批判だけしたかったのだとしたらもう少し別の観点から攻めた方がいい
680デフォルトの名無しさん
垢版 |
2023/12/26(火) 23:11:29.12ID:exfh4uMB
>>679
いや仕様が安定しているというのはオープンなライブラリが提供可能な最大のサポートだが

まあでもそう思わない分野があるのは理解できるよ
多分君の業界では一度書いたコードが1年以上使われることはないのだろう
そういう業界ではライブラリが変わりまくって新機能が追加されることをサポートと呼ぶだろうし、それはまあわからんではない

でも0.9で止めるみたいな、特に新機能付けるわけでもないけどfixする気もありません。好きな時に変えたいですみたいなのはサポートとは程遠いよね?
681デフォルトの名無しさん
垢版 |
2023/12/26(火) 23:13:25.69ID:exfh4uMB
0.9は関係なかったな
2023/12/27(水) 00:41:46.65ID:3CBetLUr
>>680
まとめると
仕様の安定度を知りたいんたけど
よくわかんないから1.0未満は不安定
1.0以上なら安定だと判断してるってことだね
君の業界では

ご愁傷様です
683デフォルトの名無しさん
垢版 |
2023/12/27(水) 00:49:37.20ID:JhhYq7wG
>>682
書いてないことを読み込んで妄想で勝手にまとめる読解力すごいな
2023/12/27(水) 00:53:03.07ID:6D5uPlZV
>>682
まぁワッチョイスレから逃げ回ってるような荒らしなんだから構うのはやめとこうぜ
2023/12/27(水) 05:17:40.43ID:/OnGyPrY
そこまでNGされるのが嫌なのか
2023/12/27(水) 21:49:50.71ID:feQ9KdG1
自然淘汰とかいうけど
それを人為的にやったらただの私刑じゃないかね
2023/12/27(水) 22:20:54.47ID:/OnGyPrY
改行NGにすれば全部消えるよ
俺は一時期それにしてたけどおもちゃが見えなくなるのは寂しいからやめた
どうしても消したい場合はそれ推奨
2023/12/27(水) 22:55:48.52ID:+Ixmj89w
Polonius期待
2023/12/28(木) 08:10:24.28ID:7EmcMJDG
1.0 出てても信頼できるかどうかは結局のところ内情ちゃんと見ないとわからないからなぁ。
パッチバージョンで破壊的な事するOSSはとても多い。
2023/12/28(木) 08:35:00.47ID:uitX+xsl
>>689
Rustならば
①バージョン上がろうがバージョン指定のまま使い続けられる
➁ソース内のテスト及びカバレッジの仕組により意図しない破壊的ミスを防げる
➂意図した破壊的変更は1.xから2.0へ上げるルールが守られているため①により1.*指定で安心して使える
2023/12/28(木) 09:01:37.54ID:JG4/aLYi
そのルールが厳格に守られてなんかいないって話なんやが。
692デフォルトの名無しさん
垢版 |
2023/12/28(木) 09:05:11.24ID:tRLYlD1D
1.0を超えたら信頼出来るなんて言ってる奴は居ないんだよな
1.0を超えてないのは問題外だが
2023/12/28(木) 11:02:26.82ID:TCyyQhqN
>>692
1.0を超えてなくてもAPI仕様が安定していて信頼できるのも普通にある
1.0を目安にしちゃうのは中身を判断する術を持たないマヌケだけ
694デフォルトの名無しさん
垢版 |
2023/12/28(木) 11:34:37.14ID:PHYdezLP
>>693
仕様が安定しているなら1.0にすれば良い
それをしないのは使用を固定したくないという甘えの意思表示
実態として変わらないとしても、人に使ってもらうことについて真面目に考えていない心の現れ
695デフォルトの名無しさん
垢版 |
2023/12/28(木) 11:35:52.30ID:PHYdezLP
お前が勝手に信頼しているだけで、開発者も想定していない信頼を受けて困っているだろう
696デフォルトの名無しさん
垢版 |
2023/12/28(木) 11:47:36.08ID:PHYdezLP
普通に考えて欲しいんだが、自分がライブラリ開発者の立場だったとして、1.0に上げていないライブラリを安定してて信頼できるものとして使うユーザーがいたら「ちょっと待って」って思うだろ
2023/12/28(木) 11:54:18.66ID:jeZ/sYb6
使わせてもらってる立場から、使ってやってるに増長するキッズ
文句言うならサポート契約でも結んでからにしろクズ
2023/12/28(木) 11:58:34.84ID:uitX+xsl
Rustと関係ない話なら他のスレでやれ
ここで話すなら具体的にRustのどのクレートの話か示せ
2023/12/28(木) 11:59:02.76ID:N5v1piyg
バージョン関係なくTHIS SOFTWARE IS PROVIDED "AS IS"なライセンスのライブラリでなに勘違いしてんだろこいつとは思う
2023/12/28(木) 12:00:19.07ID:N5v1piyg
>>698
ここを新しい雑談スレにするか
今決めた
701デフォルトの名無しさん
垢版 |
2023/12/28(木) 12:00:19.20ID:PHYdezLP
開発者の意思表示を正しく読めよ
1.0になってないものを勝手に信頼するな
それはユーザーの心構えが出来ていない
702デフォルトの名無しさん
垢版 |
2023/12/28(木) 12:02:39.92ID:jJTXzrLr
>>699
それは法の話だろ
法とは別に、法的な責任を取らないとしてもどの程度信頼して欲しいかがあるだろ
2023/12/28(木) 12:07:24.88ID:N5v1piyg
>>702
特定の機能のサポートは不十分ですとかそういうのならREADMEに書くけど
漠然と程度とだけ言われてもなんのことだろう……
704デフォルトの名無しさん
垢版 |
2023/12/28(木) 12:09:48.59ID:x4URU/48
>>693
>>695
705デフォルトの名無しさん
垢版 |
2023/12/28(木) 12:15:29.31ID:PHYdezLP
>>703
不十分なのが特定の機能だけなら全体を1.0に上げてからその機能をexperimentalとして提供して良いだろ
だから特定の機能が不安定とかはバージョンニングと独立では?
俺なんか勘違いしてるか?
2023/12/28(木) 12:19:43.58ID:uitX+xsl
具体的にどのクレートの話か出せない時点で机上の空論
2023/12/28(木) 12:25:11.39ID:N5v1piyg
>>705
具体的な領域の限定や条件の明示なく絶対的な「信頼」が存在すると思っている
それがv1リリースで示されると思っている、ってあたりを勘違いしてるんじゃないかな……

セキュリティを語るときに「この前提が崩れない限り」安全としか語れないのと似ている
708デフォルトの名無しさん
垢版 |
2023/12/28(木) 12:30:33.09ID:PHYdezLP
>>707
それはお前の勘違いだな
俺はv1になっていないと信頼出来ないとは書いたが、
v1リリースで示されるとは一言も書いていない。

対偶は成立するが、裏は成立しない。高校で習っただろ
2023/12/28(木) 12:35:25.46ID:N5v1piyg
>>708
なるほどな、「『俺は』信頼できない」か
「信頼できる」と呼ぶに値する主観的絶対的基準があるんだな
それが何かは明文化できる?
2023/12/28(木) 12:35:38.49ID:ySYWG+kx
お前まともにRust使ったことないだろう
なんでこのスレにいるの?
2023/12/28(木) 12:39:55.64ID:9fQ265/7
仕様の安定度を知りたいなら1.0未満かどうかなんてゴミのような基準使わなくても他にいくらでもマシな方法があるだろうに
712デフォルトの名無しさん
垢版 |
2023/12/28(木) 12:43:17.71ID:PHYdezLP
>>709
「俺は」は「書いた」にかかっている
複数通りの解釈が可能な文書を書いたことを謹んでお詫び申し上げる
2023/12/28(木) 12:46:56.09ID:N5v1piyg
>>712
なら要旨は変わらないよ
絶対的信頼などない

せいぜいcargo-crevでも参考にするがいい
https://web.crev.dev/rust-reviews/
714デフォルトの名無しさん
垢版 |
2023/12/28(木) 12:49:05.73ID:PHYdezLP
>>713
絶対的な信頼が可能なものなど存在しないのが当たり前なので俺はこれまで話題にも上げなかったが、どうしてもその話をしたいようなので、そんなものはないという点については当たり前のこととして同意することをここに記す
2023/12/28(木) 12:50:06.29ID:3VbosFG3
ほんとにどうでもいい話だったな
2023/12/28(木) 12:52:12.25ID:DH0jKNBE
最近のMicrosoftやApple、Googleなんて安定しているとはいいがたく商用でも責任なんて取らないがみんな使っている
717デフォルトの名無しさん
垢版 |
2023/12/28(木) 14:56:05.00ID:PHYdezLP
ほんとうにどうでも良い話だったな
俺に噛みついてきた人間、逆裏対偶理解していない数IA未履修者と、わざわざ1.0未満で止めているものを勝手に信頼し始めるやべー奴しかいなかった
2023/12/28(木) 15:03:10.32ID:13cJB/jM
やっぱりワッチョイは必要だという結論しか出て来ない
ワッチョイ無しは荒らしに構うから伸びてるだけだわ……
2023/12/28(木) 15:54:11.64ID:uitX+xsl
>>718
必要な人はこちらへ住み分け

プログラミング言語 Rust 4【ワッチョイ】
https://mevius.5ch.net/test/read.cgi/tech/1514107621/
2023/12/28(木) 17:10:51.72ID:QN4uwoNP
>>717
清々しいほどの負け犬の遠吠えだな
クスッと笑えたので㌧クスッと
721デフォルトの名無しさん
垢版 |
2023/12/28(木) 20:36:54.93ID:JQwnhIVp
>>679
あなたがたまたまそうだっただけ
はい、光の速さで論破
2023/12/29(金) 08:33:17.51ID:CCwb5Mxd
バージョン0.9は「信頼してはいけない」という解釈が可能
複数通りの解釈を発生させた戦犯は謝罪するべきという解釈も可能
2023/12/29(金) 08:38:26.10ID:sHM61QvB
0.1.234 みたいにパッチバージョン爆発させてる OSS は継続性という点でわりと信頼感がある。
2023/12/29(金) 09:12:11.91ID:a+GKJrq8
たしかに234.0.0と0.1.234なら1.0未満とはいえ後者のほうがいいな
2023/12/29(金) 09:59:51.90ID:CCwb5Mxd
セマンティックだから1通り以上の解釈がある
無意味かつ無リスクな数字にすれば0通り
2023/12/29(金) 10:19:20.55ID:DHnfEKbi
>バージョン0.9は「信頼してはいけない」という解釈が可能
じゃ0.10にすればいいんですねww
2023/12/29(金) 10:25:18.94ID:f2oltWq4
>>723
誰もがお行儀良くone by oneでincrementしてるとは限らないよ
2023/12/29(金) 10:30:28.27ID:CUdroGt9
ライブラリを選ぶときは過去にリリースしたバージョン数、期間、頻度、メンテナンス状況、リリースノートの内容、ドキュメントの内容、Dependencies、Dependentsあたりの基本的項目くらいはみんな確認するよね?

バージョン番号だけで評価しようとする意味がわからない
2023/12/29(金) 10:36:02.78ID:0cvltfsQ
>>728
「だけで」と言ってるやつはいないよ。
その上でバージョンナンバー自体に対してはこういう基準で見るというのが現在のトピック。
730デフォルトの名無しさん
垢版 |
2023/12/29(金) 11:52:32.00ID:fWvRNSV1
急に「だけで」みたいな条件を脳内補完し始める人間、数IA未履修者っぽい気配がする
2023/12/29(金) 11:57:48.80ID:gPoT6KCM
>>728
むしろ採用クレート比較の際にバージョン番号で判断したことはない
それらの項目に加えてダウンロード数とその変化も見る
2023/12/29(金) 12:12:05.81ID:PikwmNJc
番号見てあれこれ想像してないで受け入れテスト書けよ
2023/12/29(金) 12:18:04.06ID:pF6WWzLY
>>732
ほんとそれ
あちこちに直接組み込んだら
別ライブラリ使いたいの度に全部書き直しやんけ

自前のちょっとしたラッパー書いて
同プロジェクトから呼ぶときはラッパー通せば良くね?

一度バージョン上げてみてテスト通らないので、時間出来るまで見送りですねーってやれば終わり
734デフォルトの名無しさん
垢版 |
2023/12/29(金) 12:42:41.12ID:1/HEfF20
ちょっとH2とH2に依存しているライブラリの使っている機能全てのラッパー書いてラッパーのメンテナンスしてくれる人いるー?

できれば別ライブラリ使いたくなった時も対応してくれるいいなー
2023/12/29(金) 12:45:01.14ID:gPoT6KCM
>>733
破壊的変更があるバージョンへと上げる必要はない
セキュリティ問題への対応のためバージョンアップが必要、かつ、破壊的変更バージョンしかない、という状況は極めて稀
稀な状況のみ追随すればよい
2023/12/29(金) 13:03:50.04ID:ymW7FjRY
>>735
セマンティクバージョンの話なんだからそれは当たり前やろ
マイナーやパッチの場合の判断や
2023/12/29(金) 13:50:41.57ID:CCwb5Mxd
標準ライブラリのたぐいを自作ライブラリでラップするのは
自己肯定感というか個人主義の成功体験がないと難しいんじゃないか
2023/12/29(金) 14:08:03.03ID:5mnDPveJ
ぽまいらGRUBも使ってなかったの?
あれなんかあんな便利なのにずーっと0.9だったでしょ
あんなに人類に役立つソフトなかなかないで
2023/12/29(金) 14:12:05.35ID:gPoT6KCM
ラップすることは本質ではなくただ単にラップするのは本末転倒
抽象化のために自分側の関数をそれぞれ作ってその中に外部ライブラリを閉じ込めるのが一般的
結果的にラップの一形態となっているにすぎない
740デフォルトの名無しさん
垢版 |
2023/12/29(金) 14:12:37.90ID:Y5pppiMt
GRUBの仕様が変わったら面倒って状態になったことないので流石に別の話では
2023/12/29(金) 16:21:20.54ID:GcW4fAIp
>>731
だよな
それが常識的な考え

バージョン番号から勝手な推測をしたところで
他から得られる情報ですべて上書きされるだけだからライブラリ選択においては全く意味がない
2023/12/29(金) 16:40:37.66ID:fjXA5V8+
>>729
>「だけで」と言ってるやつはいないよ。
「だけで」と言ってるやつはいないけど「だけで」判断してるマヌケはいるよね?
まぁほぼ君だけなんだけどさ↓

「メジャーバージョンが0のライブラリなんて怖くてよう使わん」
「0.9で止めるみたいな、特に新機能付けるわけでもないけどfixする気もありません。好きな時に変えたいですみたいなのはサポートとは程遠い」
「1.0を超えてないのは問題外」
「1.0に上げていないライブラリを安定してて信頼できるものとして使うユーザーがいたら「ちょっと待って」って思うだろ」
「1.0になってないものを勝手に信頼するな」
「わざわざ1.0未満で止めているものを勝手に信頼し始めるやべー奴しかいなかった」
2023/12/29(金) 18:22:07.42ID:v1Foeynd
確かにどう見てもバージョンナンバーだけで判断してるな
744デフォルトの名無しさん
垢版 |
2023/12/29(金) 19:11:58.37ID:fWvRNSV1
俺が書いた内容がID透視によって別の人の書き込み扱いになっていて笑っちゃった
ごめんよ>>729

それはそうと、>>742>>743も裏と対偶の区別がついていない中卒の主張かな?
「バージョン1未満」と「信頼出来る」でベン図を書いてみて、俺の主著の領域と「バージョンだけで判断」の領域に色をつけてみて欲しい
745デフォルトの名無しさん
垢版 |
2023/12/29(金) 19:28:31.50ID:fWvRNSV1
ああ、それとも「仕様が安定していて信頼出来る」と「あるプロダクトの依存として採用する」の方が良いかな
2023/12/29(金) 19:32:39.94ID:0cvltfsQ
関連しそうなクレートを全て精査するのは無理なんだから分かりやすい基準で足切りラインを設定するのは普通の処置なんじゃないの。
それがバージョンナンバーでも作者でもダウンロード数でもいいけど、バージョンナンバーでマシそうなのを選出してから細かい絞り混みをするのはそんなに不自然なこととは思わないけどな。
クレートを使う側の選出では偽陰性が増えてでも疑陽性が少ないほうが絞り混みやすいわけだし。
2023/12/29(金) 20:54:47.18ID:CCwb5Mxd
ベン図も三角関数も
何の役に立つのかを分かりやすく示さなければ足切られる側なんだよな
2023/12/29(金) 21:21:00.48ID:qZkdUj+g
>>746
そこでバージョンナンバーを考慮することはない
例えば比較の片方が1.xでもう片方が0.3.xだとして何の判断材料にもならない
749デフォルトの名無しさん
垢版 |
2023/12/29(金) 21:52:37.44ID:fWvRNSV1
バージョンナンバーを考慮することはないって意見、同意はしないけど逆裏対偶みたいな基本的な誤りはないのでまあ分野によってはそうかもって感じ
俺も年単位でサポートする気がない書き捨てに近いプログラム書くときはそうだし
2023/12/29(金) 23:21:04.71ID:QVcmgKmp
バージョンおじさん見苦しい
2023/12/30(土) 00:00:54.19ID:xE8SJEDn
所有権の複製のときといっしょの流れになってない?w
しょーもないところで食い下がってゴールポスト動かして居座るやつ
752デフォルトの名無しさん
垢版 |
2023/12/30(土) 00:42:52.50ID:slhZof7h
対偶と裏の違いがわかってないから変なゴールポストを幻視してしまうのでは?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況