Rust Part6

レス数が900を超えています。1000を超えると表示できなくなるよ。
1デフォルトの名無しさん
垢版 |
2018/07/28(土) 03:04:38.63ID:kAX50nYD
Mozilla発のRust言語のスレ

公式
https://www.rust-lang.org/
https://blog.rust-lang.org/
https://github.com/rust-lang/rust

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

前スレ
Rust Part5
http://mevius.5ch.net/test/read.cgi/tech/1518347244/
2019/05/31(金) 10:42:30.35ID:gCkhoXwv
困る人は是非積極的にcargoにissueたてるなりpull req送って欲しい
人的リソースが足りないのよ
2019/05/31(金) 12:21:42.83ID:IQsfcoDS
Mozillaに金掴まされてるは例のキチの常套句だったなそういえば

>>826
まずcrates.ioそのものは、使う側じゃなくてライブラリ公開する側になったらクソだとわかる
こればっかりは使って体験してくれとしか言えん

ビルドの遅さは、例えばDockerみたいなコンテナの相性がよろしくない

crates.ioに強依存してるから、aptでいうところのsquidみたいなことができない

これらの問題はカジュアルユースなら問題にはならんだろうが、プロユースには耐えんのよ
829デフォルトの名無しさん
垢版 |
2019/05/31(金) 14:27:52.82ID:bmGleV46
aptでいうsquid?ミラーがほしいってこと?
俺の周りのプロはもうそんなことやってないけど。。。
multi stage buildでもしたらいいんじゃないの
2019/05/31(金) 15:23:30.26ID:Iexwvjcg
それはプロユースに耐えんのではなくて、そういう職場もあるってだけの話では?
crates.ioは複数ライブラリ公開しててもクソさが分からんしなぁ。
逆にこのパッケージリポジトリは素晴らしい、とかあるの?
2019/05/31(金) 16:38:04.16ID:yMWj+SpE
>>828
ビルドが遅いという以外何が問題と言ってるのかわからん
2019/05/31(金) 20:19:52.36ID:SYuh0ZxQ
それで十分だろ。
それがわからんやつはboostマンセーして人に迷惑かけてもなんとも思ってない馬鹿と同列にしか思わん。
2019/06/01(土) 00:03:29.85ID:rQOwMxC1
出来上がったバイナリが速ければ問題ないんじゃない?
2019/06/01(土) 00:43:37.39ID:vdsZQvk5
せ…せいさんせいがおちるだろう!
835デフォルトの名無しさん
垢版 |
2019/06/01(土) 03:16:17.57ID:dks5+XhG
rustを良い言語だと評価してるやつはrustとより酷い言語しか使ったことないんだろうよ、VBAとか
2019/06/01(土) 05:14:44.21ID:VD3g6ze/
最初から期待している点は2つ
1つはHaskellで実証されてる、型システムが豊かであることの安全性と利便性をC並みに低レベルな世界に持ち込んで組み込み業界に1石を投じること
もう一つはオブジェクト指向を言語仕様に取り込まなくてもオブジェクト指向でやりたいことの大部分は実現可能だと証明して、OOPパラダイムを衰退させること
2019/06/01(土) 06:05:33.49ID:uJU0WLe5
とあるツールをcargoでビルドしたら、同じcrateが重複してバージョン違いで使われてて驚いた
そんなのアリなんか

Compiling env_logger v0.5.13
Compiling env_logger v0.6.1
838デフォルトの名無しさん
垢版 |
2019/06/01(土) 08:29:18.06ID:KcRSy+XU
a crateとb crateがそれぞれ違うバージョンに依存してたらそうなるだろう
アリというかそうじゃなきゃ困るだろう
そうじゃない言語もあるけど
2019/06/01(土) 11:57:29.44ID:0jNYUL26
hogehoge-sys みたいな外部のライブラリに依存するcrateだと異バージョン混在できなくてつらい
.soを実行時にリンクする都合上仕方ないのだけど
2019/06/01(土) 12:06:40.79ID:97VW9w9Z
絶対に
絶対に
所有権の移動のほうに記号がつくべきだった
2019/06/01(土) 13:12:39.72ID:l6ZXsdGf
>>836
それ以外の部分がクソ過ぎてやっぱダメだわってなってるのが今
以前はこのスレにRustへの苦言かきこんだらボロクソに言われたもんだが
今では俺以外にもRustはクソって声が増えてる。良い傾向
2019/06/01(土) 13:23:53.53ID:NbmdoFzk
rust好みだよ。
843デフォルトの名無しさん
垢版 |
2019/06/01(土) 15:12:11.38ID:6vvLTfZk
まあ使ってみないと本当の意味でダメさ実感できないからな。
実際にさわってみたやつが増えて夢から醒めたんだろw
2019/06/01(土) 15:22:24.76ID:HOnYJOtQ
とある言語についてはいかがかと思う節もあるな〜
2019/06/01(土) 15:47:56.02ID:gFsX3PNG
これ以上バカを現場に増やさないためにプログラム教育にはビルドって科目も入れるべきだな。
2019/06/01(土) 16:00:35.35ID:FeZbI+m/
お前にとってクソで大嫌いなのはわかったから冷静になれよ
2019/06/01(土) 16:20:56.50ID:7xyzPCmu
>>840
それは無理があるんじゃないか?
&で借用が妥当だと思うけど

&は借用の記号と同時に型の情報としての意味も有るはずだから
その点で問題が起きると思うが…
2019/06/01(土) 16:33:15.53ID:7xyzPCmu
例えば移動に記号をつけようとすると
T型と&mut T型の変数を移動する際はそれに全部記号を付ける羽目になるぞ
それでも良いのか?
ちなみに&T型は移動ではなくコピーなので除外したがコピーであって借用ではない
>>840はコピーはどうすべきだと思っているが知らないが
コピーにも記号を付けろと言うならさらに面倒なことになる
本当にそれでも良いのか?
2019/06/01(土) 16:42:00.32ID:gFsX3PNG
'=' の現状のrustの意味の統一を考えれば現状の仕様が妥当だわな。
2019/06/01(土) 17:26:39.90ID:7xyzPCmu
まだ他にも問題はあるぞ
例えば移動をmoveで借用を記号無しにすると
let a = 1_i32;
でaはi32型でなく&i32型になる。なぜなら記号無しは借用だから。
aがi32型になるためには
let a = move 1_i32;
と書かなければならない

さらに言うと
let a = move 1_i32;
let b = a;
let c = b;
でaはi32型、bは&i32型、cは&&i32型となるわけだ

俺はそんなヤバイ言語は使いたくないぞ
2019/06/01(土) 17:43:27.50ID:7xyzPCmu
この際に言いたくなったから言わせてもらうけど
時々「俺の方が良い言語作れる」とか言ってるヤツがいて
それに対する反論に「じゃあコンパイラ作ってみろよ」とか返してるヤツいるけど
そもそもコンパイラを作る実力が有るか無いか以前に
言語をデザインすることの難しさを分かってないヤツが多すぎて
コンパイラを作る段階にも至っていないっと思うわけよ
852デフォルトの名無しさん
垢版 |
2019/06/01(土) 18:30:16.77ID:KcRSy+XU
俺は言語を作るセンスないし他のやつもなさそうだしお前にもなさそうだからこの話題はやめとこな
不毛だからな
2019/06/01(土) 19:00:35.54ID:97VW9w9Z
>>850
記号なし=はコピーで統一したらよい
C++はやってるじゃん
2019/06/01(土) 19:10:56.29ID:y869pNJN
>>853
ポインタの基本をコピーじゃなくてムーブにしたいからムーブの方を記法的に容易にしたんだし、auto_ptrのセマンティクスの非統一による悲劇を避ける為にムーブに統一したんだよ?
議論の順番が滅茶苦茶だぁ
2019/06/01(土) 19:13:31.38ID:97VW9w9Z
uniqueとshareでなんとかなってるじゃん
2019/06/01(土) 19:14:05.19ID:VD3g6ze/
メモリ以外のリソースはコピーできないものが大半じゃね?
2019/06/01(土) 19:14:44.62ID:97VW9w9Z
変数がどの範囲で利用可能なのかぱっと見わからんのが酷すぎる
2019/06/01(土) 19:16:22.51ID:97VW9w9Z
>>856
コピーできないようなまとまったオブジェクトをほいほい変数移さないだろ
2019/06/01(土) 19:18:22.75ID:7xyzPCmu
>>853
取り敢えず借用を記号無しにするのは無理であることは納得してくれたの?

そして移動はどうするの?rustだと移動も結構しょっちゅう使うんだけど…
例えばBox型とかString型とかVec型とか&mut T型とか…
移動もコピーもどちらも=なのが判りづらいってのは一理有るんだけど、
それらの移動に全てmove等の記号をつけていくのはあまりにも面倒だと思うよ
2019/06/01(土) 19:21:21.72ID:8z4Vd8sk
>>857
ぱっと見でわかるってどんな感じなの?
2019/06/01(土) 19:29:50.41ID:97VW9w9Z
>>860
所有権を手放すときに記号つく

>>859
そっちを&にして
右辺値が無名で宙ぶらりんのときはつけないでいいことにしたら
2019/06/01(土) 19:36:06.88ID:7xyzPCmu
>>861
そっちってどっち?移動を&にするの?じゃあ借用はどうするのよ?
さっぱり言ってる意味が分からん
てか最初の質問に答えてくれないかな?納得したの?してないの?
2019/06/01(土) 19:40:22.13ID:97VW9w9Z
>>862
してない。俺も言ってることよくわからん
2019/06/01(土) 19:53:40.68ID:7xyzPCmu
>>863
えぇ…
じゃあ君は借用は記号無し=がいいってこと?
でも君さっき記号無し=はコピーが良いって言ったよね?
865デフォルトの名無しさん
垢版 |
2019/06/01(土) 19:59:43.17ID:KcRSy+XU
だからやめろといったのに
2019/06/01(土) 20:29:24.96ID:97VW9w9Z
borrowこそ新しい概念なんだからそれに記号でもつけりゃよかったんだ
2019/06/02(日) 09:27:14.41ID:rhBrDnBE
変にc++のシンタックスと似るようにしたのは良くないかもな。
moveが基本だったり引数の意味がだいぶ違うわけだから。
2019/06/02(日) 11:39:15.13ID:5wVPTwba
>>866
だからそのborrow(借用)に&と'a(ライフタイム)という記号が付いてんだろうが
頭大丈夫か?
2019/06/02(日) 12:03:59.68ID:hTTUzP/H
こわ びびるわ
2019/06/02(日) 13:16:55.27ID:BjQrM5yg
少なくとも所有権の移動は右辺に影響するんだからそっちにも記号がつくべきだった

あと見た目即所有権帰ってくるやつまで&で書くから見づらい
誰に貸していつ帰ってくるのかわかんねー
871デフォルトの名無しさん
垢版 |
2019/06/02(日) 13:42:33.97ID:y5TRCUBk
2年rust書いてるけど君らのいう分かりにくい、が分らん
フューチャーが分かりにくい、なら抱き合って同意するけど
2019/06/02(日) 13:51:06.05ID:BjQrM5yg
経験者が経験上困らんっていうんならいえることない
2019/06/02(日) 14:11:16.85ID:5wVPTwba
>>871
分かる。futureはマジで難しいよね
Pin/Unpinまでは辛うじて理解できたんやが、Wakerの方が分からん。
誰かRawWakerVTableの解説してくれ…

でもfutureの難しさはasync/awaitが導入されればそれに隠蔽されるから
利用するだけのユーザーならあと少しの辛抱や
874デフォルトの名無しさん
垢版 |
2019/06/04(火) 20:27:22.80ID:ih9X5y39
継続的に数年使ってる人は新機能が出たら新機能だけ覚えればいいんだろうけど
初めて触る人はその累積してきた機能全部を掌握するのは無理
2019/06/04(火) 20:31:14.86ID:Mp+sj/aV
どの言語の話
876デフォルトの名無しさん
垢版 |
2019/06/06(木) 12:34:55.73ID:mhFONxQE
rustをシステム系じゃないエンジニア(C++の仕事してない)が使うメリットって何かある?
2019/06/06(木) 15:33:20.70ID:8T4sxDWW
>>874
C++のことかな
878デフォルトの名無しさん
垢版 |
2019/06/06(木) 16:40:28.94ID:S02+RpbC
廃止された機能や推奨されない機能も覚えておく必要がある
特にC++で言えばunicodeの変換(std::codecvt**)が超糞
2019/06/06(木) 17:37:47.91ID:qi/Zl49P
誰も使ってなかったから大丈夫だぞ
880デフォルトの名無しさん
垢版 |
2019/06/06(木) 17:43:00.49ID:S02+RpbC
「誰も使ってなかった」ことも含めて
その累積してきた機能全部(結局全部になるだろうな)を掌握する必要がある訳だろ
2019/06/06(木) 20:15:57.08ID:cbON3Xt8
なるほど素晴らしい観点っすね、実行不能という点に目をつぶれば。
2019/06/06(木) 20:24:43.80ID:qi/Zl49P
でぇじょうぶだ
[[deprecated]]
がある
2019/06/06(木) 20:59:27.87ID:ulk3mDRi
それついたの思いっきりつかってるwww
昔のが商売人の都合で切られてるんだもん
つかうよ
884デフォルトの名無しさん
垢版 |
2019/06/07(金) 01:20:04.91ID:yhNlt0n8
DX8ですね判ります
885デフォルトの名無しさん
垢版 |
2019/06/09(日) 09:44:49.12ID:16GRLedz
rustでIDE補完が甘いのは誰も気にしてないんか?
そもそもみんなIDE使ってないんか?
886デフォルトの名無しさん
垢版 |
2019/06/09(日) 10:53:44.61ID:V8qyq4Ge
yes
yes
887デフォルトの名無しさん
垢版 |
2019/06/09(日) 11:45:40.10ID:16GRLedz
なるほど
ありがと
2019/06/09(日) 12:39:28.24ID:KZPUbdMm
カドカワから月末に訳本の
プログラミング言語Rust 公式ガイドが出るけど2018対応じゃないよね?
Rust本が増えてきたのは嬉しい
2019/06/09(日) 13:16:34.55ID:6XtsQJZK
>>885
intelijのrustプラグイン
2019/06/09(日) 17:47:47.78ID:fZX8nJhE
>>888
バカが飛び付いて社内に導入しようとするの潰すの
毎回労力がかかってしゃーないからやめて欲しいんだけどな
クソ言語の本出すの
2019/06/09(日) 19:53:39.94ID:dn1tcJB+
>>890をクビにしたほうがいろんな労力減りそう
2019/06/09(日) 20:10:37.83ID:g9Y1eGPc
いやもうクビにされたから
2019/06/09(日) 20:50:32.69ID:Ju2lyAiK
無能なアンチがいるということは、安心して使っていいってことだな
894デフォルトの名無しさん
垢版 |
2019/06/09(日) 21:29:03.95ID:Hf+s2B1M
なんで潰すんだ?何に恐れているんだ?
2019/06/09(日) 22:35:02.37ID:IWnnOtZA
>>888
TRPLの翻訳だと思うけど
TRPL本家は2018対応済みで、webで公開されてる日本語訳は未対応。
本家に追従して対応した可能性もあるかと。
2019/06/09(日) 22:49:44.20ID:/FZVYwra
そりゃクソコード残して辞めてくことだろ。
まじで死ねと思うわ。
897デフォルトの名無しさん
垢版 |
2019/06/09(日) 23:15:43.90ID:Hf+s2B1M
それは言語の所為じゃないだろ
レビューしないの?
しないにしても同じクソでもJavaやC++よりマシだと思うんだが
2019/06/09(日) 23:20:05.52ID:oBKk3YD0
言語関係ねーじゃんメンテする能力がないんだろ
諦めてgoで作り直せ
2019/06/09(日) 23:29:34.50ID:KZPUbdMm
>>895
ググったらTRPLでした
ただ紙の原著は2018年発売でRust 2018未対応
紙の翻訳なのか最新のWebの翻訳なのかは不明
2019/06/10(月) 19:54:10.24ID:pALnBaZ+
borrow checker通せない人にとってはすべてのコードが読めない糞コードなのだろう
2019/06/10(月) 20:09:47.13ID:+pGCakeA
>>897
社内でそいつしか使わないから当然レビューも不能
上の人間も「いいじゃんやってみれば」で話にならない
結果まともにレビュー通ってないクソが本番に出てトラブル
作ったやつは雲隠れ

って流れを見たことあるよ。Rustじゃないけど
2019/06/10(月) 21:02:28.09ID:Ii7tq5Jr
もちろん言語のせいではないのだが
そういう輩は実績作りのためだけに新しくてより複雑なクソルールの多い言語を選ぶ傾向にある
2019/06/10(月) 21:42:17.89ID:YayWwtn2
ボローチェッカに苦しめられてる人は
なにか他から移植をしようとでもしてるのかな?
ゼロからかくぶんにはボローチェッカなんて
ただただすがすがしいだけと思うけど
チェックご苦労さんですってもんだけど
2019/06/10(月) 22:01:36.37ID:mnkCbxfC
>>901
そういう体制だとCでもJavaでも言語に関係なく
色々問題起きてるだろ
905デフォルトの名無しさん
垢版 |
2019/06/10(月) 22:39:55.68ID:ztopQxP/
未知の言語を読むストレスは理解できるけど
一件正しそうなぶっ壊れたロジックを探し当てる方がはるかに辛い
Rustなら完璧だなんて思わないけど同じ条件で雲隠れされるならJavaやCよりはるかにマシ
2019/06/10(月) 23:55:35.49ID:Ii7tq5Jr
使いたいだけのバカに限ってRefCell使いまくりとかボローチェックなんか
関係ねーわなクソコード残していくわけだがな。
2019/06/11(火) 01:15:48.45ID:l5LeGTtt
結局プンプンの人達は何か言いたいん?
初心者が使ったら他言語より酷いことになるって話?
作り逃げされた時に他言語よりメンテきついって話?
それともrust関係ない話?
2019/06/11(火) 02:06:13.82ID:96ANt4tY
>>907
結局どの言語だろうとワナビのキッズが使ってレビューも不完全なら悲惨なことになるし
Rustはそういうワナビホイホイなところがある言語で
キッズを拡散すんのは勘弁してくれってことよ

新しいものの宿命みたいなとこはある
909デフォルトの名無しさん
垢版 |
2019/06/11(火) 03:49:38.56ID:yYbS6F0N
Rustを使いたいって奴はボローチェッカ最高勢だろ
筋の通らない話だ
2019/06/11(火) 04:31:39.25ID:igA88yE8
ボローは着てても心は錦
2019/06/11(火) 06:46:52.09ID:IH0Pnzj/
ついにMSもmozillaのステマの被害者になったのか
2019/06/11(火) 07:02:09.61ID:SPafmD89
iotedgeの話?
2019/06/14(金) 09:17:15.61ID:pOVU2Gce
FireFoxでプライベートブラウジングモードにしたら
指定してダウンロードしたページまでブラウザ終了時に消しやがる
しかもfilesはそのままでトップのhtmlだけ

きっとRustの融通の利かなさのせいでこんな仕様なんだ
不条理すぎる
2019/06/14(金) 11:08:06.53ID:xIN9Beve
空白行がちょっとわざとらしいかな
2019/06/14(金) 13:20:49.03ID:Nd5NXbWJ
>>913
Rust導入してからアドオンの互換性切るわバグ増えるわシェア1割切るわで
いいところのない火狐
2019/06/15(土) 00:03:52.04ID:NpwaWXGS
Itaniumみたいな失敗の仕方しとるな。
2019/06/15(土) 21:37:19.62ID:XPu65rgR
dbっていうか、
OracleとかSqlserverに読み書きするような
アプリはあまり現実的でない?
918デフォルトの名無しさん
垢版 |
2019/06/15(土) 22:21:29.06ID:fdz2jl5D
なんで?
2019/06/16(日) 01:21:02.75ID:fpQlVPtj
オラクルを使う常駐物のアプリを
一個書いたんだけど
プロプラなdb向けだと
crateの充実度的な意味で
大変だったし、保守してけるか
ちょっと不安だったので。
920デフォルトの名無しさん
垢版 |
2019/06/18(火) 06:17:33.52ID:3nOE2mBA
プログラム板にキチガイ降臨中!botに一晩も反応する異常さ
一般人(学校恩師)に殺害予告をしているのでスレ建て通報してください。
https://mevius.5ch.net/test/read.cgi/tech/1559872586/

142 名前:a4 ◆700L1Efzuv 投稿日:2019/06/18(火) 05:29:55 ID://qVkzO
>>141
名古屋の人な 俺ね、君の問題を大橋先生と混ぜないことにする。つまりね、
片桐孝洋のことをボコろうと思う。普通に顎の骨を折る。これくらいで警察来るか?
一般市民とかさ、普通にさ、俺らの秘密なんだけどさ、日本人なんて復活ねーから。
2019/06/18(火) 06:59:19.24ID:92piNmQC
cargoの自動ダウンロード機能を使わないワークフローのチュートリアルが欲しい
足りないコードを示してくれるのは助かるけど知らないうちにGPLな奴が混じっていたなんて事態は避けたい
2019/06/18(火) 07:30:34.19ID:WDfQ8m9Y
https://github.com/onur/cargo-license
923デフォルトの名無しさん
垢版 |
2019/06/18(火) 21:04:15.94ID:d5A36Be/
パッケージで
依存するパッケージたちの実行可能な環境やライセンスやインストールサイズをパッケージインストール前に分かったりしない?
2019/06/18(火) 23:05:26.62ID:LxDQxmkL
>>923
実行環境以外はcrates.ioのAPIから取れるみたいだから可能は可能。
ツールになってるものはぱっとは見つからなかったけど
jsonパースしながら依存関係辿るだけだし適当に作ればいいのでは。
925デフォルトの名無しさん
垢版 |
2019/06/19(水) 04:55:23.37ID:tVNS+22r
【出資】松本卓朗 人工知能詐欺【注意】
https://rio2016.5ch.net/test/read.cgi/rikei/1560859403/
2019/06/19(水) 11:14:57.11ID:8YG5H7yC
考えてみれば当たり前なんだがcargoはrust周辺しか面倒を見てくれない。他に依存するライブラリがあっても関与しない
つまりビルドは出来るが実行出来ないということが起きる。コード次第ではpanicして何が足りないかすら出力されない
ドキュメントに何を用意すべきなのかちゃんと書いていないcrateも少なからずあって不完全なメッセージ片手に探し回る羽目になる
レス数が900を超えています。1000を超えると表示できなくなるよ。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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