Rust part21 ..
[2ch|▼Menu]
611:デフォルトの名無しさん
23/11/20 18:11:32.44 NaWZknyA.net
>>598
enumで

612:デフォルトの名無しさん
23/11/20 18:17:00.50 ieYqPgSw.net
>>595
最適化の話は「どちらにしてもゼロとは限らない」という話のための前ふり。
仮にその場所に限ってはゼロになったとしても周囲の最適化の足を引っ張ることもある。
総合的な速さを出すには諸々を加味したチューニングが必要なので単純にキャストしたほうが速いとは考えるなというのが主旨。
もちろん諸々を考慮して検証した上で実際に速くなることが確かめられるならそれを否定したりはしないよ。割に合うことは少ないとも思うけど。

613:デフォルトの名無しさん
23/11/20 21:13:04.59 ojqzhkRS.net
ちゃんと考えるよ。
角度とか

614:デフォルトの名無しさん
23/11/20 23:02:22.90 QHUUbGYT.net
重要なのは、Rustで書くと遅くなる(コストがかかる)パターンを、実際に発見できたのかどうか?
もしそのようなパターンを発見できて、(Cによる)速い方法でも安全性に問題がないのならば、
Rustの歴史ではそれを(必要なら)unsafeで記述してライブラリの中に安全に閉じ込めてきた
そのためRustで一般プログラマーがunsafeを使わずに記述しても、ほとんどのケースでCと同等の速さが出る

615:デフォルトの名無しさん
23/11/21 04:05:24.41 60zWiP9n.net
個人的な懸念点は処理のゼロコピー化においてCに劣るのか?という点
Rust界隈でゼロコピーフレームワークが色々あるがどういう工夫が行われているのか
調査は時間がかかりすぎるからやらないw

616:デフォルトの名無しさん
23/11/21 04:13:54.83 60zWiP9n.net
データ転送はCPU上の演算と比較してかなり遅い処理なので
ゼロコピーで劣ると一部の処理でかなり遅くなる
そしてベンチマーク系のプログラムではゼロコピーはあまり問題にならない。

617:デフォルトの名無しさん
23/11/21 04:16:28.76 60zWiP9n.net
ゼロコピーが問題になるのはserder、通信
あとたぶんOSの実装でも問題になるはず
だから数学的計算というよりはシステム間の垣根を超えるようなところで問題になる
RustがベンチマークでC並といっても、あくまで数値計算系の話

618:デフォルトの名無しさん
23/11/21 08:42:33.89 UPhRR3yr.net
ゼロコピーってのはオリジナルのバッファ以外には追加でヒープアロケーションをせずに処理をするという意味

619:デフォルトの名無しさん
23/11/21 10:07:46.27 ZzleWc4x.net
ウザイからttf_parserのコードでも読んでくれば

620:デフォルトの名無しさん
23/11/21 11:00:12.68 HSO31doi.net
unsafe という名前が誤解の元になってる
unsafe に描く内容って結局安全な内容しか描いてはいけない訳だ
そして unsafe は使ってはいけない機能ではなくむしろ積極的に使って良い機能

621:デフォルトの名無しさん
23/11/21 11:55:27.06 pNsPVZam.net
こういうやつがいるからこそunsafeという名前に価値があるんだよな

622:デフォルトの名無しさん
23/11/21 12:57:54.74 4vFkathr.net
>>605
それらRustで書くことで遅くなった事例がない
むしろ例えばCDN世界トップのCloudflareは
Cで書かれたnginxを全面的にRustで作り直すことで
CPUリソースとメモリリソースを1/3に削減することに成功している

623:デフォルトの名無しさん
23/11/21 15:25:53.24 OibZ9mzY.net
Cloudflareのやつはnginxがスレッドベースで処理をブロッキングしてしまう(CPU時間とメモリを占有してしまう)から
マイクロスレッドで作り直した=基本設計を大きく変更したというだけで、Rustだからパフォーマンスが向上したというわけではない

624:デフォルトの名無しさん
23/11/21 16:18:31.31 Pb5WKpvw.net
stdをunsafeで検索するとUnsafeCellしか出てこなくて
unsafeな関数の名前がほとんどuncheckedなのは
let x = unsafe { do_something_unsafe() };
だとアホっぽいからかな

625:デフォルトの名無しさん
23/11/21 18:24:54.78 Fzh9NpIU.net
検索方法が間違ってる
そしてuncheckedはunsafeとは意味が違う

626:デフォルトの名無しさん
23/11/21 23:10:58.28 lumDzvUR.net
>>611
そこではなく
杞憂の>>603が言うところのゼロコピーやゼロコストはCとRustで同様に実現できているから
新たなシステムはCを使わずにRustで書いたという話ではないか

627:デフォルトの名無しさん
23/11/21 23:28:16.17 u3FDf3nL.net
外部入力をtransmuteとか地雷臭がハンパない
どうぞご安全に〜

628:デフォルトの名無しさん
23/11/21 23:39:45.33 lumDzvUR.net
transmute使わなくてすむsafeなライブラリ関数が揃ってるからね

629:デフォルトの名無しさん
23/11/25 09:15:59.95 rKTwm3uz.net
Rust って同じ変数名なのに違う型に出来るよね?
同じスコープで再定義出来ると言うか上書き出来る
名前が変わらないから便利って思うかも知れないが
気を付けてソース観ていないと途中で型が変わってるやん!ってなる
なかなか嫌な構文だね
可読性低下しない?勘違いしそう

630:デフォルトの名無しさん
23/11/25 09:18:00.86 rKTwm3uz.net
あと上書きされたとき前のリソースは上書きされたタイミングで消えてない
明示的に drop していれば消えるがしなかったら実は生きたまま
迷惑仕様じゃないかな

631:デフォルトの名無しさん
23/11/25 10:20:51.65 ytuM+CNS.net
>>618
同じスコープ内でシャドウィングする時は意味的に同じものを入れるようにする

前のリソースがすぐにドロップされないのはシャドウィング時にそのリソースへの参照を使う事で不要なアロケーションを避けられるから

632:デフォルトの名無しさん
23/11/25 12:38:39.68 EEEndPKs.net
シャドウイングされた時に勝手に消える方が迷惑仕様だな
その時点で他から参照されてるかもしれないし

633:デフォルトの名無しさん
23/11/25 13:46:10.54 V6cVkJ+M.net
>>617
Rustはプログラマーに優しい強い静的型付けの言語だから型が違えばエラーになるため混乱もなく大丈夫
また、型変換するたびに別の変数名にしなければいけなかった言語よりも便利でプログラミングも快適だよ

634:デフォルトの名無しさん
23/11/25 16:27:51.72 81rqCYd0.net
Rustの欠点は誰も使ってない所だけ

635:デフォルトの名無しさん
23/11/25 17:24:40.07 4EAT4Ovg.net
>>622
どうしてそんな悲しいこと言うの!

636:デフォルトの名無しさん
23/11/25 18:44:41.46 vlc4nTzz.net
誰も使ってないのってカッコいいな

637:デフォルトの名無しさん
23/11/25 23:55:37.33 B979bnCG.net
俺だけが知っている

638:デフォルトの名無しさん
23/11/26 09:12:21.52 k38CbPq9.net
ユーザーが少ないのはアドバンテージだってポール・グレアムも言ってる。

639:デフォルトの名無しさん
23/11/26 09:20:04.49 OE1+8Rl8.net
GAFAMで使われるようになった時点で言語として消え去る可能性は十分下がったし
別にこれ以上使う人増えなくてもいいんじゃないかな
日本のSIerにまで広まるなんてまずないだろうし

640:デフォルトの名無しさん
23/11/26 10:05:44.56 Deg4O8Si.net
言語じゃないけどBlenderみたいにいつの間にか覇権を取ってたりすることもあり得る

641:デフォルトの名無しさん
23/11/26 11:39:45.82 d/KzVdDP.net
おまえが使ってるのに誰も使ってないって可笑しなことを言うのな
もしかしておまえも使ってないだろ?正直に言え

642:デフォルトの名無しさん
23/11/26 11:42:35.06 Deg4O8Si.net
「俺の周りじゃ」

643:デフォルトの名無しさん
23/11/26 12:18:50.10 d/KzVdDP.net
ぼっちってこと?

644:デフォルトの名無しさん
23/11/26 12:23:12.23 oOwLuMql.net
Rust「きゃー、私のために争わないで

645:デフォルトの名無しさん
23/11/26 12:32:50.97 iMOX0Yuj.net
クズがこっちに移動してきたか
まかせろ

646:デフォルトの名無しさん
23/11/26 13:04:33.25 oOwLuMql.net
crateのバージョンが1.0になってないのが多いから、まだまだだなーって思う

647:デフォルトの名無しさん
23/11/27 02:23:02.91 hnitA9Px.net
ぼっちざRust

648:デフォルトの名無しさん
23/11/27 03:19:17.53 shAL5QFI.net
>>635
ちょっとかっこいいじゃん

649:デフォルトの名無しさん
23/11/27 10:05:45.61 7/k6/GSg.net

URLリンク(www.youtube.com)
URLリンク(www.youtube.com)
URLリンク(www.youtube.com)
URLリンク(www.youtube.com)

650:デフォルトの名無しさん
23/11/28 08:31:02.24 t7+ip2Xg.net
Rustって名前が良くない

651:デフォルトの名無しさん
23/11/28 08:45:48.68 ruCnqVCc.net
Cナントカじゃそれこそカビが生えてる

652:デフォルトの名無しさん
23/12/03 08:34:26.30 JMjzgwiz.net
>>638
go-langよりはマシ

653:デフォルトの名無しさん
23/12/03 18:40:27.28 kcDV2U5x.net
go は何が駄目といってネーミングがクソすぎるからな
あとマスコットがキモすぎる

654:デフォルトの名無しさん
23/12/03 20:05:06.19 KItL/kTG.net
ogleとセットで売り出せていれば多少は救われたかもしれない
文字型runeの中二感は好きなんだけど

655:デフォルトの名無しさん
23/12/08 13:43:21.24 QsZXn/jV.net
VSCodeのrust_analyzerが、全く関係のないC#のプロジェクトでも勝手に動き始めるようになっちゃった
みんなのところどう?他の言語とか使ってたら起動しちゃったりしてる???

656:デフォルトの名無しさん
23/12/08 15:21:20.43 FH+GH+Zi.net
>>641
ネーミングが死ぬほどクソなのは同意だけど
マスコットはかわいいじゃん!

657:デフォルトの名無しさん
23/12/10 04:46:02.96 RGphax9G.net
ʕ◔ϖ◔ʔ < お呼びですか?

658:デフォルトの名無しさん
23/12/10 11:57:04.81 1MxEINjf.net
つべでrust検索するとゲームばっかり出る

659:デフォルトの名無しさん
23/12/21 16:58:33.82 HvDn5p2W.net
GAFAMで使われてるから廃れることないし、
コミュニティに変な人が入って来ない方が居心地が良いまである

660:デフォルトの名無しさん
23/12/21 17:12:16.21 JI0UYSEL.net
gopher はちいかわと同じヤバみを感じる

661:デフォルトの名無しさん
23/12/21 17:13:31.75 HvDn5p2W.net
言語のマスコットネタは寒いよなあ

662:デフォルトの名無しさん
23/12/22 13:35:06.75 lJtOGqn+.net
カニのフェリスも割りと一般的な名前

663:デフォルトの名無しさん
23/12/25 09:35:30.12 734EcmtL.net
「Rust」言語向けの“ビジュアルタイムトラベルデバッガー”「FireDBG」が公開
URLリンク(forest.watch.impress.co.jp)

664:デフォルトの名無しさん
23/12/25 10:28:47.95 7mXOqNeO.net
タイムトラベル?使い物になるのか?

665:デフォルトの名無しさん
23/12/25 12:40:39.37 Sk+Bp6T/.net
タイムトラベル知らんのか

666:デフォルトの名無しさん
23/12/26 01:14:24.20 79CvGGY2.net
>>652
CやC++やJavaでも昔からコールスタックは遡れたけど、あれのビジュアル良くしたやつとは違うのかね?

667:デフォルトの名無しさん
23/12/26 01:58:52.00 DHuhCQvi.net
>>654
違う
状態の変遷を戻ったり進めたりできる
つかググればすぐ出てくるやろ

668:デフォルトの名無しさん
23/12/26 04:22:44.20 hadQuCYF.net
>>634
コミュニティに入るPGのレベルが全体的に高すぎて
俺の実装でversionを1.0にするのはおこがましい的な萎縮が働いてそう

669:デフォルトの名無しさん
23/12/26 04:22:50.25 hadQuCYF.net
>>634
コミュニティに入るPGのレベルが全体的に高すぎて
俺の実装でvers


670:ionを1.0にするのはおこがましい的な萎縮が働いてそう



671:デフォルトの名無しさん
23/12/26 08:35:59.69 P1ddGMJS.net
>>656
セマンティックバージョニングのせいだよ。
バージョンナンバーの付け方は基準があって互換性が維持されるときとされないときで数値の上げかたが違う。
しかしメジャーバージョンがゼロのときは基準の適用外で勝手にしていいことになってる。
初期は試行錯誤があって当然だからね。
キッチリした管理なんかしたくないからまだまだ初期だという体裁でゼロのままにしたほうが楽なんだよ。

672:デフォルトの名無しさん
23/12/26 08:50:16.75 RJv1OlmX.net
>>658
これやな
オレオレライブラリ作る時とか
絶対に1系まで上げない

673:デフォルトの名無しさん
23/12/26 09:58:50.36 4qW9SvtE.net
Rustの要であるfutures futures-coreなども0.3のままだな
hyperは先月ようやく正式1.0になり先週1.1になった
h2が0.3から0.4に上がった

674:デフォルトの名無しさん
23/12/26 10:02:59.91 QVgSLMrU.net
どうでもいいな

675:デフォルトの名無しさん
23/12/26 11:10:33.20 rdxjbOn3.net
メジャーバージョンが0のライブラリなんて怖くてよう使わん
Julia並みの破壊的変更が来ても文句言えんからな

676:デフォルトの名無しさん
23/12/26 11:17:02.90 RJv1OlmX.net
そういう日が来たら全部壊して書き直した方が早いよ
自分の書いてる所の効率も洗練されて良くなるし

677:デフォルトの名無しさん
23/12/26 11:53:58.51 druMhfTB.net
まあこういう感じの真面目にサポートとかする気のない人しか使ってない言語なんだろうな

678:デフォルトの名無しさん
23/12/26 12:09:12.16 aCwAChA1.net
>>656
それ他の言語でも散見されるぞ
1.0は枯れ切った後に出て実質でかい機能追加は行わなくなったところでつけることが多い
大抵凄腕の人のライブラリに多いような気がする
SemVerが浸透する前からこの状態だったし

679:デフォルトの名無しさん
23/12/26 15:06:21.44 iSUEMnuj.net
Inkscapeは一生1.0に上がらないと思ってた

680:デフォルトの名無しさん
23/12/26 16:49:51.67 KvBUmVJg.net
GitHub Issueが2627件あるZigはどうするつもりなんだろう

681:デフォルトの名無しさん
23/12/26 17:19:43.95 Y/g/LC26.net
どうでもいいな
ライブラリの質はSemverで測るものじゃないから

682:デフォルトの名無しさん
23/12/26 17:33:22.23 E/z8PERd.net
ライブラリの質にsemver考慮しない人間、仕事にRust使う気がなさそう
趣味プログラムで一年も生かす気がないコードならまあわかる
仕事で限られた工数で長期サポートするならsemver気にしないはありえん
まあRustなんて所詮趣味プログラミング向けなのかもな
まともな仕事には使えん

683:デフォルトの名無しさん
23/12/26 17:36:00.58 APrQ9KVs.net
個々のバージョンにおいて出来が良いかどうかはともかくとして、
長期的な互換性に対する姿勢を測る指針のひとつにはなる。

684:デフォルトの名無しさん
23/12/26 17:43:23.74 AKSTTleD.net
帰れゴミカスども
スレリンク(tech板)

685:デフォルトの名無しさん
23/12/26 18:34:35.78 6dPf9R/w.net
ライブラリを選ぶときや使うときには当然Semverは気にする
でもそれは質を測るものではない
その違いが分からないとか理解に苦しむ

ま、どうでもいいけど

686:デフォルトの名無しさん
23/12/26 18:42:19.39 krXurI2c.net
rustを使う人は、みんな凄腕で無ければ自分で実装するイメージ。

687:デフォルトの名無しさん
23/12/26 20:02:46.87 E/z8PERd.net
>>672
質って品質って意味だろ?
品質にはサポート品質は当然含まれるだろ

688:デフォルトの名無しさん
23/12/26 20:12:35.91 RJv1OlmX.net
出来たばっかりの言語にやってきて
1系になってるライブラリまるでない使えねー!
お前はJavaに帰れ

689:デフォルトの名無しさん
23/12/26 20:20:41.08 E/z8PERd.net
>>675
古いって言ってももう開発開始から17年なんだよな
Javaリリースから27年であり、正直そこまで差はないだろ
正式リリースからは8年だけど、リリースが遅かったことを評価することは出来んし、正直そこまで差はないと思わざるを得ない
正直、いつまで新しい言語みたいな顔してるんだよって気持ちだ
まるで自分を若いと勘違いしているおっさんみたいだ

690:デフォルトの名無しさん
23/12/26 20:30:47.94 rdxjbOn3.net
しかしJavaに帰れってのも悲しい発言だな
結局仕事ならJavaって>>675も思ってるってことなんだもんな

691:デフォルトの名無しさん
23/12/26 20:34:34.53 4qW9SvtE.net
他の言語と比較したい人は言語比較スレへ
アンチ活動したい人はアンチスレへ

692:デフォルトの名無しさん
23/12/26 22:38:40.65 ewLNJPek.net
>>674
メジャーバージョンが1.0以上かどうかはサポート品質を測る指標にならないんだよ
実際にいろんなライブラリをきちんと調べて使った経験があれば誰にでもわかる常識的なこと
エアプで批判だけしたかったのだとしたらもう少し別の観点から攻めた方がいい

693:デフォルトの名無しさん
23/12/26 23:11:29.12 exfh4uMB.net
>>679
いや仕様が安定しているというのはオープンなライブラリが提供可能な最大のサポートだが
まあでもそう思わない分野があるのは理解できるよ
多分君の業界では一度書いたコードが1年以上使われることはないのだろう
そういう業界ではライブラリが変わりまくって新機能が追加されることをサポートと呼ぶだろうし、それはまあわからんではない
でも0.9で止めるみたいな、特に新機能付けるわけでもないけどfixする気もありません。好きな時に変えたいですみたいなのはサポートとは程遠いよね?

694:デフォルトの名無しさん
23/12/26 23:13:25.69 exfh4uMB.net
0.9は関係なかったな

695:デフォルトの名無しさん
23/12/27 00:41:46.65 3CBetLUr.net
>>680
まとめると
仕様の安定度を知りたいんたけど
よくわかんないから1.0未満は不安定
1.0以上なら安定だと判断してるってことだね
君の業界では

ご愁傷様です

696:デフォルトの名無しさん
23/12/27 00:49:37.20 JhhYq7wG.net
>>682
書いてないことを読み込んで妄想で勝手にまとめる読解力すごいな

697:デフォルトの名無しさん
23/12/27 00:53:03.07 6D5uPlZV.net
>>682
まぁワッチョイスレから逃げ回ってるような荒らしなんだから構うのはやめとこうぜ

698:デフォルトの名無しさん
23/12/27 05:17:40.43 /OnGyPrY.net
そこまでNGされるのが嫌なのか

699:デフォルトの名無しさん
23/12/27 21:49:50.71 feQ9KdG1.net
自然淘汰とかいうけど
それを人為的にやったらただの私刑じゃないかね

700:デフォルトの名無しさん
23/12/27 22:20:54.47 /OnGyPrY.net
改行NGにすれば全部消えるよ
俺は一時期それにしてたけどおもちゃが見えなくなるのは寂しいからやめた
どうしても消したい場合はそれ推奨

701:デフォルトの名無しさん
23/12/27 22:55:48.52 +Ixmj89w.net
Polonius期待

702:デフォルトの名無しさん
23/12/28 08:10:24.28 7EmcMJDG.net
1.0 出てても信頼できるかどうかは結局のところ内情ちゃんと見ないとわからないからなぁ。
パッチバージョンで破壊的な事するOSSはとても多い。

703:デフォルトの名無しさん
23/12/28 08:35:00.47 uitX+xsl.net
>>689
Rustならば
①バージョン上がろうがバージョン指定のまま使い続けられる
➁ソース内のテスト及びカバレッジの仕組により意図しない破壊的ミスを防げる
➂意図した破壊的変更は1.xから2.0へ上げるルールが守られているため①により1.*指定で安心して使える

704:デフォルトの名無しさん
23/12/28 09:01:37.54 JG4/aLYi.net
そのルールが厳格に守られてなんかいないって話なんやが。

705:デフォルトの名無しさん
23/12/28 09:05:11.24 tRLYlD1D.net
1.0を超えたら信頼出来るなんて言ってる奴は居ないんだよな
1.0を超えてないのは問題外だが

706:デフォルトの名無しさん
23/12/28 11:02:26.82 TCyyQhqN.net
>>692
1.0を超えてなくてもAPI仕様が安定していて信頼できるのも普通にある
1.0を目安にしちゃうのは中身を判断する術を持たないマヌケだけ

707:デフォルトの名無しさん
23/12/28 11:34:37.14 PHYdezLP.net
>>693
仕様が安定しているなら1.0にすれば良い
それをしないのは使用を固定したくないという甘えの意思表示
実態として変わらないとしても、人に使ってもらうことについて真面目に考えていない心の現れ

708:デフォルトの名無しさん
23/12/28 11:35:52.30 PHYdezLP.net
お前が勝手に信頼しているだけで、開発者も想定していない信頼を受けて困っているだろう

709:デフォルトの名無しさん
23/12/28 11:47:36.08 PHYdezLP.net
普通に考えて欲しいんだが、自分がライブラリ開発者の立場だったとして、1.0に上げていないライブラリを安定してて信頼できるものとして使うユーザーがいたら「ちょっと待って」って思うだろ

710:デフォルトの名無しさん
23/12/28 11:54:18.66 jeZ/sYb6.net
使わせてもらってる立場から、使ってやってるに増長するキッズ
文句言うならサポート契約でも結んでからにしろクズ

711:デフォルトの名無しさん
23/12/28 11:58:34.84 uitX+xsl.net
Rustと関係ない話なら他のスレでやれ
ここで話すなら具体的にRustのどのクレートの話か示せ

712:デフォルトの名無しさん
23/12/28 11:59:02.76 N5v1piyg.net
バージョン関係なくTHIS SOFTWARE IS PROVIDED "AS IS"なライセンスのライブラリでなに勘違いしてんだろこいつとは思う

713:デフォルトの名無しさん
23/12/28 12:00:19.07 N5v1piyg.net
>>698
ここを新しい雑談スレにするか
今決めた

714:デフォルトの名無しさん
23/12/28 12:00:19.20 PHYdezLP.net
開発者の意思表示を正しく読めよ
1.0になってないものを勝手に信頼するな
それはユーザーの心構えが出来ていない

715:デフォルトの名無しさん
23/12/28 12:02:39.92 jJTXzrLr.net
>>699
それは法の話だろ
法とは別に、法的な責任を取らないとしてもどの程度信頼して欲しいかがあるだろ

716:デフォルトの名無しさん
23/12/28 12:07:24.88 N5v1piyg.net
>>702
特定の機能のサポートは不十分ですとかそういうのならREADMEに書くけど
漠然と程度とだけ言われてもなんのことだろう……

717:デフォルトの名無しさん
23/12/28 12:09:48.59 x4URU/48.net
>>693
>>695

718:デフォルトの名無しさん
23/12/28 12:15:29.31 PHYdezLP.net
>>703
不十分なのが特定の機能だけなら全体を1.0に上げてからその機能をexperimentalとして提供して良いだろ
だから特定の機能が不安定とかはバージョンニングと独立では?
俺なんか勘違いしてるか?

719:デフォルトの名無しさん
23/12/28 12:19:43.58 uitX+xsl.net
具体的にどのクレートの話か出せない時点で机上の空論

720:デフォルトの名無しさん
23/12/28 12:25:11.39 N5v1piyg.net
>>705
具体的な領域


721:の限定や条件の明示なく絶対的な「信頼」が存在すると思っている それがv1リリースで示されると思っている、ってあたりを勘違いしてるんじゃないかな…… セキュリティを語るときに「この前提が崩れない限り」安全としか語れないのと似ている



722:デフォルトの名無しさん
23/12/28 12:30:33.09 PHYdezLP.net
>>707
それはお前の勘違いだな
俺はv1になっていないと信頼出来ないとは書いたが、
v1リリースで示されるとは一言も書いていない。
対偶は成立するが、裏は成立しない。高校で習っただろ

723:デフォルトの名無しさん
23/12/28 12:35:25.46 N5v1piyg.net
>>708
なるほどな、「『俺は』信頼できない」か
「信頼できる」と呼ぶに値する主観的絶対的基準があるんだな
それが何かは明文化できる?

724:デフォルトの名無しさん
23/12/28 12:35:38.49 ySYWG+kx.net
お前まともにRust使ったことないだろう
なんでこのスレにいるの?

725:デフォルトの名無しさん
23/12/28 12:39:55.64 9fQ265/7.net
仕様の安定度を知りたいなら1.0未満かどうかなんてゴミのような基準使わなくても他にいくらでもマシな方法があるだろうに

726:デフォルトの名無しさん
23/12/28 12:43:17.71 PHYdezLP.net
>>709
「俺は」は「書いた」にかかっている
複数通りの解釈が可能な文書を書いたことを謹んでお詫び申し上げる

727:デフォルトの名無しさん
23/12/28 12:46:56.09 N5v1piyg.net
>>712
なら要旨は変わらないよ
絶対的信頼などない
せいぜいcargo-crevでも参考にするがいい
URLリンク(web.crev.dev)

728:デフォルトの名無しさん
23/12/28 12:49:05.73 PHYdezLP.net
>>713
絶対的な信頼が可能なものなど存在しないのが当たり前なので俺はこれまで話題にも上げなかったが、どうしてもその話をしたいようなので、そんなものはないという点については当たり前のこととして同意することをここに記す

729:デフォルトの名無しさん
23/12/28 12:50:06.29 3VbosFG3.net
ほんとにどうでもいい話だったな

730:デフォルトの名無しさん
23/12/28 12:52:12.25 DH0jKNBE.net
最近のMicrosoftやApple、Googleなんて安定しているとはいいがたく商用でも責任なんて取らないがみんな使っている

731:デフォルトの名無しさん
23/12/28 14:56:05.00 PHYdezLP.net
ほんとうにどうでも良い話だったな
俺に噛みついてきた人間、逆裏対偶理解していない数IA未履修者と、わざわざ1.0未満で止めているものを勝手に信頼し始めるやべー奴しかいなかった

732:デフォルトの名無しさん
23/12/28 15:03:10.32 13cJB/jM.net
やっぱりワッチョイは必要だという結論しか出て来ない
ワッチョイ無しは荒らしに構うから伸びてるだけだわ……

733:デフォルトの名無しさん
23/12/28 15:54:11.64 uitX+xsl.net
>>718
必要な人はこちらへ住み分け

プログラミング言語 Rust 4【ワッチョイ】
スレリンク(tech板)

734:デフォルトの名無しさん
23/12/28 17:10:51.72 QN4uwoNP.net
>>717
清々しいほどの負け犬の遠吠えだな
クスッと笑えたので㌧クスッと

735:デフォルトの名無しさん
23/12/28 20:36:54.93 JQwnhIVp.net
>>679
あなたがたまたまそうだっただけ
はい、光の速さで論破

736:デフォルトの名無しさん
23/12/29 08:33:17.51 CCwb5Mxd.net
バージョン0.9は「信頼してはいけない」という解釈が可能
複数通りの解釈を発生させた戦犯は謝罪するべきという解釈も可能

737:デフォルトの名無しさん
23/12/29 08:38:26.10 sHM61QvB.net
0.1.234 みたいにパッチバージョン爆発させてる OSS は継続性という点でわりと信頼感がある。

738:デフォルトの名無しさん
23/12/29 09:12:11.91 a+GKJrq8.net
たしかに234.0.0と0.1.234なら1.0未満とはいえ後者のほうがいいな

739:デフォルトの名無しさん
23/12/29 09:59:51.90 CCwb5Mxd.net
セマンティックだから1通り以上の解釈がある
無意味かつ無リスクな数字にすれば0通り

740:デフォルトの名無しさん
23/12/29 10:19:20.55 DHnfEKbi.net
>バージョン0.9は「信頼してはいけない」という解釈が可能
じゃ0.10にすればいいんですねww

741:デフォルトの名無しさん
23/12/29 10:25:18.94 f2oltWq4.net
>>723
誰もがお行儀良くone by oneでincrementしてるとは限らないよ

742:デフォルトの名無しさん
23/12/29 10:30:28.27 CUdroGt9.net
ライブラリを選ぶときは過去にリリースしたバージョン数、期間、頻度、メンテナンス状況、リリースノートの内容、ドキュメントの内容、Dependencies、Dependentsあたりの基本的項目くらいはみんな確認するよね?
バージョン番号だけで評価しようとする意味がわからない

743:デフォルトの名無しさん
23/12/29 10:36:02.78 0cvltfsQ.net
>>728
「だけで」と言ってるやつはいないよ。
その上でバージョンナンバー自体に対してはこういう基準で見るというのが現在のトピック。

744:デフォルトの名無しさん
23/12/29 11:52:32.00 fWvRNSV1.net
急に「だけで」みたいな条件を脳内補完し始める人間、数IA未履修者っぽい気配がする

745:デフォルトの名無しさん
23/12/29 11:57:48.80 gPoT6KCM.net
>>728
むしろ採用クレート比較の際にバージョン番号で判断したことはない
それらの項目に加えてダウンロード数とその変化も見る

746:デフォルトの名無しさん
23/12/29 12:12:05.81 PikwmNJc.net
番号見てあれこれ想像してないで受け入れテスト書けよ

747:デフォルトの名無しさん
23/12/29 12:18:04.06 pF6WWzLY.net
>>732
ほんとそれ
あちこちに直接組み込んだら
別ライブラリ使いたいの度に全部書き直しやんけ
自前のちょっとしたラッパー書いて
同プロジェクトから呼ぶときはラッパー通せば良くね?
一度バージョン上げてみてテスト通らないので、時間出来るまで見送りですねーってやれば終わり

748:デフォルトの名無しさん
23/12/29 12:42:41.12 1/HEfF20.net
ちょっとH2とH2に依存しているライブラリの使っている機能全てのラッパー書いてラッパーのメンテナンスしてくれる人いるー?
できれば別ライブラリ使いたくなった時も対応してくれるいいなー

749:デフォルトの名無しさん
23/12/29 12:45:01.14 gPoT6KCM.net
>>733
破壊的変更があるバージョンへと上げる必要はない
セキュリティ問題への対応のためバージョンアップが必要、かつ、破壊的変更バージョンしかない、という状況は極めて稀
稀な状況のみ追随すればよい

750:デフォルトの名無しさん
23/12/29 13:03:50.04 ymW7FjRY.net
>>735
セマンティクバージョンの話なんだからそれは当たり前やろ
マイナーやパッチの場合の判断や

751:デフォルトの名無しさん
23/12/29 13:50:41.57 CCwb5Mxd.net
標準ライブラリのたぐいを自作ライブラリでラップするのは
自己肯定感というか個人主義の


752:成功体験がないと難しいんじゃないか



753:デフォルトの名無しさん
23/12/29 14:08:03.03 5mnDPveJ.net
ぽまいらGRUBも使ってなかったの?
あれなんかあんな便利なのにずーっと0.9だったでしょ
あんなに人類に役立つソフトなかなかないで

754:デフォルトの名無しさん
23/12/29 14:12:05.35 gPoT6KCM.net
ラップすることは本質ではなくただ単にラップするのは本末転倒
抽象化のために自分側の関数をそれぞれ作ってその中に外部ライブラリを閉じ込めるのが一般的
結果的にラップの一形態となっているにすぎない

755:デフォルトの名無しさん
23/12/29 14:12:37.90 Y5pppiMt.net
GRUBの仕様が変わったら面倒って状態になったことないので流石に別の話では

756:デフォルトの名無しさん
23/12/29 16:21:20.54 GcW4fAIp.net
>>731
だよな
それが常識的な考え

バージョン番号から勝手な推測をしたところで
他から得られる情報ですべて上書きされるだけだからライブラリ選択においては全く意味がない

757:デフォルトの名無しさん
23/12/29 16:40:37.66 fjXA5V8+.net
>>729
>「だけで」と言ってるやつはいないよ。
「だけで」と言ってるやつはいないけど「だけで」判断してるマヌケはいるよね?
まぁほぼ君だけなんだけどさ↓

「メジャーバージョンが0のライブラリなんて怖くてよう使わん」
「0.9で止めるみたいな、特に新機能付けるわけでもないけどfixする気もありません。好きな時に変えたいですみたいなのはサポートとは程遠い」
「1.0を超えてないのは問題外」
「1.0に上げていないライブラリを安定してて信頼できるものとして使うユーザーがいたら「ちょっと待って」って思うだろ」
「1.0になってないものを勝手に信頼するな」
「わざわざ1.0未満で止めているものを勝手に信頼し始めるやべー奴しかいなかった」

758:デフォルトの名無しさん
23/12/29 18:22:07.42 v1Foeynd.net
確かにどう見てもバージョンナンバーだけで判断してるな

759:デフォルトの名無しさん
23/12/29 19:11:58.37 fWvRNSV1.net
俺が書いた内容がID透視によって別の人の書き込み扱いになっていて笑っちゃった
ごめんよ>>729

それはそうと、>>742>>743も裏と対偶の区別がついていない中卒の主張かな?
「バージョン1未満」と「信頼出来る」でベン図を書いてみて、俺の主著の領域と「バージョンだけで判断」の領域に色をつけてみて欲しい

760:デフォルトの名無しさん
23/12/29 19:28:31.50 fWvRNSV1.net
ああ、それとも「仕様が安定していて信頼出来る」と「あるプロダクトの依存として採用する」の方が良いかな

761:デフォルトの名無しさん
23/12/29 19:32:39.94 0cvltfsQ.net
関連しそうなクレートを全て精査するのは無理なんだから分かりやすい基準で足切りラインを設定するのは普通の処置なんじゃないの。
それがバージョンナンバーでも作者でもダウンロード数でもいいけど、バージョンナンバーでマシそうなのを選出してから細かい絞り混みをするのはそんなに不自然なこととは思わないけどな。
クレートを使う側の選出では偽陰性が増えてでも疑陽性が少ないほうが絞り混みやすいわけだし。

762:デフォルトの名無しさん
23/12/29 20:54:47.18 CCwb5Mxd.net
ベン図も三角関数も
何の役に立つのかを分かりやすく示さなければ足切られる側なんだよな

763:デフォルトの名無しさん
23/12/29 21:21:00.48 qZkdUj+g.net
>>746
そこでバージョンナンバーを考慮することはない
例えば比較の片方が1.xでもう片方が0.3.xだとして何の判断材料にもならない

764:デフォルトの名無しさん
23/12/29 21:52:37.44 fWvRNSV1.net
バージョンナンバーを考慮することはないって意見、同意はしないけど逆裏対偶みたいな基本的な誤りはないのでまあ分野によってはそうかもって感じ
俺も年単位でサポートする気がない書き捨てに近いプログラム書くときはそうだし

765:デフォルトの名無しさん
23/12/29 23:21:04.71 QVcmgKmp.net
バージョンおじさん見苦しい

766:デフォルトの名無しさん
23/12/30 00:00:54.19 xE8SJEDn.net
所有権の複製のときといっしょの流れになってない?w
しょーもないところで食い下がってゴールポスト動かして居座るやつ

767:デフォルトの名無しさん
23/12/30 00:42:52.50 slhZof7h.net
対偶と裏の違いがわかってないから変なゴールポストを幻視してしまうのでは?

768:デフォルトの名無しさん
23/12/30 01:02:25.15 CdBdHENn.net
『「バージョン1未満」は「信頼出来ない」と判断しているが「バージョンだけで判断」していない』

複製オジさんもビックリしてそう

769:デフォルトの名無しさん
23/12/30 01:56:09.99 slhZof7h.net
>>753
はい中卒
>>751
居座るというか、俺へのレスがあるからお返事書いてあげているだけなんだよな
どっちかというと召喚されている

770:デフォルトの名無しさん
23/12/30 04:10:17.11 +VY2mXpj.net
>>754
具体的にどのクレートをバージョンナンバーにより採用した採用しなかったのかを書きなさい

771:デフォルトの名無しさん
23/12/30 04:20:00.71 slhZof7h.net
>>755
人にものを聞く態度か? それが?
「しなさい」とか言う奴に対してまともな返事を書く気はない

772:デフォルトの名無しさん
23/12/30 04:25:37.61 slhZof7h.net
いやそれはそれと俺が選ばなかったライブラリの話、真面目に答えると結構ちゃんと選ばないと分野がバレるな

773:デフォルトの名無しさん
23/12/30 04:26:52.37 +VY2mXpj.net
>>756
一度も具体的な話を書けないエアプログラマーはこのスレから去れ

774:デフォルトの名無しさん
23/12/30 04:56:11.37 slhZof7h.net
>>758
自分もそうだろ
ブーメラン得意か

775:デフォルトの名無しさん
23/12/30 05:03:26.73 slhZof7h.net
不毛な話に返信している自覚はあるので、俺に言及する奴が消えたら俺も書かなくはなるんだよな
ID:+VY2mXpjが具体的な話をしてくれたらそっちに話題が移るんじゃないだろうか

776:デフォルトの名無しさん
23/12/30 05:10:37.63 +VY2mXpj.net
>>759
バージョンナンバーで選んだことはないためそんな具体例は当然ない
バージョンナンバーで選んでいるおまえが具体例を出せ

777:デフォルトの名無しさん
23/12/30 05:19:08.00 slhZof7h.net
>>761
「出してください」な

778:デフォルトの名無しさん
23/12/30 05:21:27.73 slhZof7h.net
まあちゃんと「出してください」って言われても俺の分野がバレない奴があったか悩ましいが

779:デフォルトの名無しさん
23/12/30 05:28:06.55 slhZof7h.net
こういうのは具体的を出すということ自体が結構難しいんだよな
>>761が使っているライブラリでバージョンが1未満のものを上げるとかしてくれたら話が早い

780:デフォルトの名無しさん
23/12/30 06:29:39.39 GnED1sKw.net
Rust勉強中。アノテーション注釈が出てきたところで流行らない理由をなんとなく察する
ヌルポとメモリーリークを防げるから個人開発で使う分にはいいけど。会社で広める気にはならない
学習コスト高いわ

781:デフォルトの名無しさん
23/12/30 10:07:43.55 bcJEqtzR.net
async traitが安定化されてる!!!
URLリンク(blog.rust-lang.org)

782:デフォルトの名無しさん
23/12/30 10:32:04.21 Q


783:Gv3PFfa.net



784:デフォルトの名無しさん
23/12/30 11:16:50.31 kCUZZSzY.net
>>765
ライフタイム注釈ってタイプしたつもりで全然ちがう文字を打ち込んでた
the bookを読んでるだけだよ。疲れてたんだ…

785:デフォルトの名無しさん
23/12/30 11:33:27.15 d4YZn3CY.net
the book はきついよね

786:デフォルトの名無しさん
23/12/30 11:41:42.24 scaDM36O.net
staticを自粛する言語はみんな高コスト
チェリーピッキングみたいに最高値の近辺だけが高いという指摘はうさんくさい

787:デフォルトの名無しさん
23/12/30 12:22:34.64 WjlNag1n.net
>>768
非公式翻訳版を読んでるだろ
あれで学習したやつは例外なく使えないのが出来上がるからやめとけよ

788:デフォルトの名無しさん
23/12/30 18:18:48.80 Ycw4kjfb.net
>>759
自分が具体的なことを書いていないという指摘は否定しないw

789:デフォルトの名無しさん
23/12/31 05:11:31.11 15iRFp/+.net
>>765
ライフタイム注釈はたいてい一意に定まりその時は省略できるから面倒にならないよ
省略できず明示的にライフタイム注釈を指定しないといけない場合は
例えば複数の参照を受け取り参照を返す関数などでそれら参照間の関係を指定する

790:デフォルトの名無しさん
23/12/31 10:19:28.53 kd8WxVq5.net
>>765
>ヌルポとメモリーリークを防げるから
メモリリークは防げない
ヌルポとメモリリークが防げればいいだけならNull Safetyを備えたGC言語で十分

791:デフォルトの名無しさん
23/12/31 10:35:21.39 NOiZF6ke.net
なまじライフタイムを省略できるせいでライフタイム未修得でも書けてしまう言語なので、いざライフタイム省略出来ない時が来た時に脳がバグる

792:デフォルトの名無しさん
23/12/31 11:15:14.55 sbs7ggSq.net
ライフタイムの記述は省略できることはあっても常にライフタイムを意識しながら書かなきゃいけない
それに省略できない場面にも日々遭遇するから「省略できるから面倒にならない」みたいな初心者釣りはやめた方がいい
暗黙的に意識しなきゃいけないC++に比べればある意味面倒ではないという程度

793:デフォルトの名無しさん
23/12/31 11:24:54.37 rKdc/qeD.net
マクロやFFIのようなやや高度な機能を除いた基本機能の中ではライフタイムが一番難しくて一番面倒
性能と引き換えに受け入れなければいけない面倒臭さ

794:デフォルトの名無しさん
23/12/31 12:07:26.58 8Uv46fmp.net
ライフタイム意識しなくても良いと騙されて書き始めた人間のがライフタイムに恐れを抱いて迂回しながら書いた至る所でcloneして値渡するコード

795:デフォルトの名無しさん
23/12/31 13:31:13.38 K3mMRoqD.net
まあ C++ と比較するとおおよそ良くなってると思うが C++ で不都合なく寿命管理できる能力があるなら Rust でライフタイムを明記するのを面倒と感じることはあるだろうな。
人類は駄目なので実際には頻繁に問題を起こすという現実があるんだけどさ。 わかってても間違うのが人類。

796:デフォルトの名無しさん
23/12/31 13:50:46.98 PS1jMjj+.net
お金を賭ければ失敗することもあるけど賭けなければどうということはない
どっちも現実なんだけどリスク回避=現実逃避だと思ってるのが人類あるある

797:デフォルトの名無しさん
23/12/31 14:00:16.32 8Uv46fmp.net
C++で不都合なく寿命管理出来る能力があったらライフタイム管理なんて数文字タイプが増えるだけになのでは

798:デフォルトの名無しさん
23/12/31 14:02:49.07 JAX3toXP.net
>>779
Rustで性能&安全性優位になるのは積極的にスタックに積んで参照使いまくった場合だろうけど、c++だとスマートポインタとアロケータで最適化しとけという話になるからなぁ。
どんくらい性能差あるのかわからん。

799:デフォルトの名無しさん
23/12/31 14:05:38.66 K3mMRoqD.net
>>781
出来ると思ってるが実際には出来てないって話さ

800:デフォルトの名無しさん
23/12/31 16:01:28.24 r3ulhjhy.net
もうRustじゃ無理なんだよ

801:デフォルトの名無しさん
23/12/31 17:31:22.31 15iRFp/+.net
>>784
Rustが有利という話の流れの中で唐突にRustが何か無理なことある?

802:デフォルトの名無しさん
23/12/31 18:02:32.92 K3mMRoqD.net
プログラミング出来ない人は本当に出来ない。
C++ を使えているくらいの人なら Rust を (良いと思うかどうかは別として) 真面目に学べば使いこなせるだろうけど、初心者が最初に学び始めるには全く向いてないなぁと思うくらいのハードルの高さはあると思う。

803:デフォルトの名無しさん
23/12/31 18:29:47.72 15iRFp/+.net
プログラミング出来ない人にRustはハードルが高いという主張か

804:デフォルトの名無しさん
23/12/31 19:12:47.61 SnRIdEnt.net
ゴミには何触らせてもゴミ

805:デフォルトの名無しさん
23/12/31 20:25:01.01 d6XbubcX.net
>>786
単に最近のスクリプト言語が簡単過ぎるだけだと思うけどね
ブイブイ言わせてる()モダンなスクリプト言語使いが
俺たちRustも書けるっしょwみたいなノリで挑戦して
書けなくて諦めるというのを何度も見てきた
本来プログラミングってのはこの程度は難しいものよ

806:デフォルトの名無しさん
23/12/31 20:41:56.95 Asz1BteV.net
Rustを書けず断念するような低レベルの人ならば
他の言語でもまともなプログラムは書けないと思うけどな

807:デフォルトの名無しさん
23/12/31 22:03:37.75 682wQwxe.net
バージョンおじさんの次はスクリプトコンプおじさんか

808:デフォルトの名無しさん
23/12/31 22:07:53.39 fB+p+szm.net
ライフタイムは関数に渡すときborrowするだけなら何も難しいことはないんだが型に参照を含めていろんな操作をしたり持ち回ったりし始めると複雑度が急上昇する

809:デフォルトの名無しさん
23/12/31 22:22:03.06 Asz1BteV.net
そこは同じ
型に含まれてる参照のライフタイムがその型にも付くだけ

810:デフォルトの名無しさん
24/01/01 00:50:09.76 X6Py91w/.net
あけましておめでとうございます
ライフタイム面倒なので捨ててstaticにしたいそんな貴方へ魔法の関数プレゼント!
fn to_static_str(input: &str) -> &'static str {
  input.to_owned().leak()
}

811:デフォルトの名無しさん
24/01/01 19:58:44.82 SMFNndU8.net
the book で勉強中だけど覚えること多いなあ
構文を覚えるだけで70時間はかかりそう
デザインパターンの勉強は必要なさそうだけど
実践投入するには読経も20時間分ぐらい必要だろうな

812:デフォルトの名無しさん
24/01/01 22:17:40.22 nmIunYxl.net
90時間でも約11日稼働ならオンボーディングで
極端に辛いというほどじゃなくね

813:デフォルトの名無しさん
24/01/01 22:29:17.37 pmJAVvpO.net
>>795
Rustの構文は諸言語のバリエーション範囲内でほとんど同じ
強力なパターンマッチングとその構文が新規なくらいですぐ習得できる

814:デフォルトの名無しさん
24/01/02 00:14:27.39 SHn+5kOU.net
Rustの勉強が大変なら勉強なんかせんでええ
Copilotに書かせてコンパイル通ればOKや!

815:デフォルトの名無しさん
24/01/02 08:32:02.80 xTyEZXhx.net
copilot は予測変換の賢いやつって感じ。
個々の場面では思ったよりも賢くて使い物になるが全体を構成するのに人の思考がいらないほど、全部丸投げ出来るほどではない。
出来る人が楽をするツールであって、できない人が使ってもまともなものは作れない。

816:デフォルトの名無しさん
24/01/02 22:18:53.42 3cCPTdjI.net
>>792
どっちかというとそういうもち回しによる複雑な操作するなってのがrustの思想だろ

817:デフォルトの名無しさん
24/01/03 00:45:56.91 cT5UAedN.net
他の言語の習慣を捨てないとなかなか実践できないと思う
しばらく使ってるとRust特有のプラクティスが見えてくるけど

818:デフォルトの名無しさん
24/01/03 00:58:25.14 WEsHc8Hy.net
全体を構成する部分が問題になってRustにノータイムで移行できない人間が書くスクリプト言語で書かれたプログラム、読みたくなさすぎる


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

288日前に更新/259 KB
担当:undef