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/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
対偶と裏の違いがわかってないから変なゴールポストを幻視してしまうのでは?
2023/12/30(土) 01:02:25.15ID:CdBdHENn
『「バージョン1未満」は「信頼出来ない」と判断しているが「バージョンだけで判断」していない』

複製オジさんもビックリしてそう
754デフォルトの名無しさん
垢版 |
2023/12/30(土) 01:56:09.99ID:slhZof7h
>>753
はい中卒
>>751
居座るというか、俺へのレスがあるからお返事書いてあげているだけなんだよな
どっちかというと召喚されている
2023/12/30(土) 04:10:17.11ID:+VY2mXpj
>>754
具体的にどのクレートをバージョンナンバーにより採用した採用しなかったのかを書きなさい
756デフォルトの名無しさん
垢版 |
2023/12/30(土) 04:20:00.71ID:slhZof7h
>>755
人にものを聞く態度か? それが?
「しなさい」とか言う奴に対してまともな返事を書く気はない
757デフォルトの名無しさん
垢版 |
2023/12/30(土) 04:25:37.61ID:slhZof7h
いやそれはそれと俺が選ばなかったライブラリの話、真面目に答えると結構ちゃんと選ばないと分野がバレるな
2023/12/30(土) 04:26:52.37ID:+VY2mXpj
>>756
一度も具体的な話を書けないエアプログラマーはこのスレから去れ
759デフォルトの名無しさん
垢版 |
2023/12/30(土) 04:56:11.37ID:slhZof7h
>>758
自分もそうだろ
ブーメラン得意か
760デフォルトの名無しさん
垢版 |
2023/12/30(土) 05:03:26.73ID:slhZof7h
不毛な話に返信している自覚はあるので、俺に言及する奴が消えたら俺も書かなくはなるんだよな
ID:+VY2mXpjが具体的な話をしてくれたらそっちに話題が移るんじゃないだろうか
2023/12/30(土) 05:10:37.63ID:+VY2mXpj
>>759
バージョンナンバーで選んだことはないためそんな具体例は当然ない
バージョンナンバーで選んでいるおまえが具体例を出せ
762デフォルトの名無しさん
垢版 |
2023/12/30(土) 05:19:08.00ID:slhZof7h
>>761
「出してください」な
763デフォルトの名無しさん
垢版 |
2023/12/30(土) 05:21:27.73ID:slhZof7h
まあちゃんと「出してください」って言われても俺の分野がバレない奴があったか悩ましいが
764デフォルトの名無しさん
垢版 |
2023/12/30(土) 05:28:06.55ID:slhZof7h
こういうのは具体的を出すということ自体が結構難しいんだよな
>>761が使っているライブラリでバージョンが1未満のものを上げるとかしてくれたら話が早い
2023/12/30(土) 06:29:39.39ID:GnED1sKw
Rust勉強中。アノテーション注釈が出てきたところで流行らない理由をなんとなく察する
ヌルポとメモリーリークを防げるから個人開発で使う分にはいいけど。会社で広める気にはならない
学習コスト高いわ
2023/12/30(土) 10:07:43.55ID:bcJEqtzR
async traitが安定化されてる!!!
https://blog.rust-lang.org/2023/12/28/Rust-1.75.0.html
2023/12/30(土) 10:32:04.21ID:QGv3PFfa
>>765
アノテーション注釈ってなんやねん
無駄にラーニング学習コスト費用高い資料読んでね?
768デフォルトの名無しさん
垢版 |
2023/12/30(土) 11:16:50.31ID:kCUZZSzY
>>765
ライフタイム注釈ってタイプしたつもりで全然ちがう文字を打ち込んでた
the bookを読んでるだけだよ。疲れてたんだ…
2023/12/30(土) 11:33:27.15ID:d4YZn3CY
the book はきついよね
2023/12/30(土) 11:41:42.24ID:scaDM36O
staticを自粛する言語はみんな高コスト
チェリーピッキングみたいに最高値の近辺だけが高いという指摘はうさんくさい
2023/12/30(土) 12:22:34.64ID:WjlNag1n
>>768
非公式翻訳版を読んでるだろ
あれで学習したやつは例外なく使えないのが出来上がるからやめとけよ
772デフォルトの名無しさん
垢版 |
2023/12/30(土) 18:18:48.80ID:Ycw4kjfb
>>759
自分が具体的なことを書いていないという指摘は否定しないw
2023/12/31(日) 05:11:31.11ID:15iRFp/+
>>765
ライフタイム注釈はたいてい一意に定まりその時は省略できるから面倒にならないよ
省略できず明示的にライフタイム注釈を指定しないといけない場合は
例えば複数の参照を受け取り参照を返す関数などでそれら参照間の関係を指定する
2023/12/31(日) 10:19:28.53ID:kd8WxVq5
>>765
>ヌルポとメモリーリークを防げるから
メモリリークは防げない
ヌルポとメモリリークが防げればいいだけならNull Safetyを備えたGC言語で十分
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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