Rust Part6

■ このスレッドは過去ログ倉庫に格納されています
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/
2018/08/11(土) 11:30:07.23ID:nAROCX9/
>>115
紙でも索引がついてれば大抵どうにかなる
それより、紙は抽象的なことをパラパラめくりで検索できるから好き
電子書籍だと「あの図のあるページが見たい」とか思うとまともな検索手段がないから糞
忘れっぽい俺なんかは「あれだよ、あれ」って思いながら探すから紙じゃないと無理

ま、人それぞれだわな
117デフォルトの名無しさん
垢版 |
2018/08/11(土) 11:53:07.64ID:AWnFhpjF
しおりが中途半端なんだよな
2018/08/11(土) 16:19:22.53ID:JzIBa0Ak
>>116
そういう問題解決こそSE/PGの腕の見せ所では?
119デフォルトの名無しさん
垢版 |
2018/08/11(土) 17:14:16.24ID:wtNlwqlz
んなあほなw
120デフォルトの名無しさん
垢版 |
2018/08/14(火) 00:14:17.48ID:P4UIxLbl
マクロ使いすぎの人多すぎでは
2018/08/14(火) 02:55:13.30ID:ZM6hbFw/
>>120
Scalaの悪い所をまねてるようだ
変に技巧派が目立って、人を遠ざける
2018/08/14(火) 03:36:15.88ID:6NKcX7Ow
5千円ぐらいの本は、分厚すぎる!

3千円ぐらいの、もっと薄い本を出せ!
2018/08/14(火) 09:49:30.54
Packtのように頻繁に電子書籍セールやって$10とかで買えて、且つ糞本じゃなければいい
2018/08/16(木) 19:57:15.86ID:qcHYUDTK
オライリーの買ったけど、入門本としては有志翻訳のThe Programming 〜のが良くない?
2018/08/16(木) 21:13:29.61ID:xERoD9sc
>>124
具体的にはどの辺が?
2018/08/17(金) 00:08:17.87ID:/bpWb8fJ
rust書いてるとhaxe思い出す。
2018/08/17(金) 07:37:15.66ID:eJodi2Ev
みんなどういうモチベでrustやってるのん
2018/08/17(金) 08:25:34.03ID:zzEImb7F
Rustをマスターすれば成仏できる
129デフォルトの名無しさん
垢版 |
2018/08/17(金) 09:11:29.07ID:7hC1UKUq
Rustをマスターすればモテモテに
2018/08/17(金) 09:19:07.42ID:vhwq6spf
Rustをマスターすれば童貞懐妊して、生まれた幼女とイチャイチャできるよ
2018/08/17(金) 10:09:36.32ID:gFBQ2D9n
オライリーのRust本、いつのまにかPDF版も発売してるやん
少し安い
2018/08/18(土) 03:40:02.29ID:O/56gld0
なんでカニなの?
https://i.imgur.com/pDYq0hU.jpg
https://i.imgur.com/hGWqtv2.jpg
2018/08/18(土) 08:50:53.23ID:S1Er/dIV
>>132
コンピュータ研究者のカニチャーハン氏に敬意を表する為
134デフォルトの名無しさん
垢版 |
2018/08/18(土) 10:30:46.36ID:2sc6SUFd
カニチャーハンってカーニハンとなんとなく似てるな。
きっとカニチャーハン&リッチーって書いてあっても気づかないだろうな。
2018/08/19(日) 11:05:26.71ID:2zvtFV6n
5000円は高い。その価値あるの?
136デフォルトの名無しさん
垢版 |
2018/08/19(日) 17:09:31.22ID:PCz528s8
価値を知らないのに高いと評するのか
2018/08/19(日) 17:21:28.94ID:Bw0LnJX7
知らないので顧客が価値を認めるような観点を提示せよ
138デフォルトの名無しさん
垢版 |
2018/08/20(月) 00:35:35.97ID:JBCtYT+G
馬鹿は客じゃないから去りたまえ
2018/08/20(月) 00:54:57.67ID:PA8pISQK
>>137
英語版の話だけどamazonのレビューでけっこう高評価ついてるよ
少なくともその人たちは買って良かったって判断したんじゃない?
2018/08/20(月) 00:56:58.28ID:LSZVP4tA
カニチャーハンのことかと思ってた…
141デフォルトの名無しさん
垢版 |
2018/08/20(月) 01:37:22.80ID:GHO1XUgy
紙の本は5184円、電子書籍は4147円。
https://www.oreilly.co.jp/books/9784873118550/
2018/08/20(月) 12:09:21.88ID:1nsldRzy
https://doc.rust-jp.rs/the-rust-programming-language-ja/1.6/book/dining-philosophers.html
これ酷くね?
Rustならではのどんなやり方で問題を解決するのかと思えば
こんなのって
2018/08/20(月) 14:01:34.15ID:ZN9V+nnq
>>125
後者のが順を追って説明してくれてる…気がする
習熟者から見るとそうでもない?
2018/08/20(月) 14:03:35.45ID:ZN9V+nnq
あ、あとタイトル間違えてたね
>>132の比較のつもりだった
2018/08/20(月) 20:09:21.31ID:oAXTEFOF
>>142
そんなのって?どう酷いの?
2018/08/20(月) 21:31:16.82ID:1nsldRzy
いやだって、なんでわざわざこの題材っていう
リソーススタベーションに対する
Rustならではのスマートな解答があるのかと思えば、ナニコレ
ならなんでこの題材にしたのか不明
2018/08/20(月) 21:38:09.93ID:rDwzmoqy
Rustにスマートさなんてないただある種の間違いが少なくなると主張している

なにをやるにもつっかかる
Rustだけに
2018/08/20(月) 21:41:58.64ID:1nsldRzy
Rustは並列性がどうとか言ってなかったっけ
それで最初の題材でコレもってくるセンスが謎
149デフォルトの名無しさん
垢版 |
2018/08/20(月) 22:08:57.88ID:JBCtYT+G
何が謎か分からん
2018/08/20(月) 22:23:58.46ID:7YukIB6U
>>146
ここは書いた本人的にもいまいちだったと思っていたらしく、本家では結構前に削除されてる。
まあチュートリアルならせめてmutexではなくchannelだとは思う。
151デフォルトの名無しさん
垢版 |
2018/08/20(月) 22:34:49.09ID:JBCtYT+G
うーむそうかな
並列処理ではmutexはかなり一般的で本質的だと思うけど
ロックを得ないことに安全に並列処理はできないのだし
2018/08/20(月) 22:35:51.84ID:sOQT11b6
結局なんでカニなん?
2018/08/20(月) 22:39:02.32ID:rDwzmoqy
mutexがスコープ抜けた時点で勝手に解放されるのが恰好いい的な?
2018/08/20(月) 22:47:50.39ID:7YukIB6U
>>151
一般的で本質的ってのはその通りだと思うけど、
チュートリアルで一番最初に導入すべきかというと、そうでもないのでは?って感じかな。
2018/08/20(月) 22:49:01.92ID:wDDgfGz+
カニチャーハン氏はRustに全然関係してないからね
156デフォルトの名無しさん
垢版 |
2018/08/20(月) 23:03:39.98ID:GHO1XUgy
Kernicharhan & Ritchie
2018/08/20(月) 23:17:29.99ID:02kdtA3g
>>152
おまいら(rustacean)の先祖がミジンコ、もとい甲殻類(crustacean)だから
2018/08/21(火) 07:16:48.68ID:eRQ3K4Ir
rustらしさといえば&と&mutの仕組みがそのままスレッド間でも使えるところとか
RAIIとかmoveも良いけどc++にもあるので
2018/08/21(火) 13:49:43.65ID:gNkN0CkF
rustらしく書いたコードって、&と&mutが大量に出てきて、なんか見た目ごちゃついてない?
move多用で書きたくなる
2018/08/21(火) 17:52:41.07ID:lClDMlnu
clone多用しないならそれで良い
161デフォルトの名無しさん
垢版 |
2018/08/21(火) 19:13:44.58ID:9N93jiAN
&やmutはまだいいけどライフタイムとジェネリクスが入り乱れると頭抱える
自分じゃ書けないからライブラリのコード読むときだけど
2018/08/21(火) 21:48:12.99ID:b9rnTQC8
impl traitでちょっと楽になったけど、書きながら試行錯誤しているときに関数にして切り出すのが面倒
ちゃんと設計しろよって言われるかもしれんが、rustの仕様とライブラリ全部きっちり頭に入れるのも非現実的だと思ってる
2018/08/22(水) 04:11:36.67ID:iCx1kAM9
絶対に必要、ってとこ以外でmoveするとclippyに怒られてくやしい
2018/08/22(水) 19:18:34.56ID:RyuF5Err
>>150
バグってるからだぞ。

他人の書いたマクロが拷問だよな。
165164
垢版 |
2018/08/22(水) 19:53:16.67ID:RyuF5Err
わるい。バグは修正したんだった。削除した理由はこっち。
ttps://github.com/rust-lang/rust/pull/30595

> まあチュートリアルならせめてmutexではなくchannelだとは思う。
これも冒頭二段落に書いてある。
2018/08/23(木) 01:21:36.71ID:vCVCF+WZ
存在型と量化子安定してたのか。
( ゚∀゚)o彡゚G・A・T!!
( ゚∀゚)o彡゚G・A・T!!
( ゚∀゚)o彡゚G・A・T!!
2018/08/23(木) 12:07:00.98ID:zWfNRiLe
Vecのswap_remove()って賢いやり方だな
どこ発祥の文化? C++あたり?
2018/08/23(木) 23:27:32.87ID:EN+b8ws+
交換を一回しかしない配列の回転の応用だからJon BentleyのProgramming Pearlsだな。
2018/08/24(金) 00:58:26.59ID:OIfpv6Qg
>>168
へー、ピアソンから出てた『珠玉のプログラミング』か
読んでみたい
170デフォルトの名無しさん
垢版 |
2018/08/24(金) 12:20:35.42ID:ZVlysGry
>>169
つまらんよ
2018/08/25(土) 11:49:09.72ID:UzOZyqtt
古典ですな。
今読んでもそんな悪くない本だと思う。
2018/08/26(日) 17:59:52.65ID:BVSpPirf
rustfmt-nightlyがビルドできないお(´・ω・`)
2018/08/26(日) 23:46:50.01ID:8nEJLfEg
古めのnightlyじゃないと無理
2018/08/27(月) 17:35:35.62ID:ddJdp269
PR出ててもうマージされてた(`・ω・´)
175デフォルトの名無しさん
垢版 |
2018/09/01(土) 01:39:37.63ID:qa+GqmPA
VSCodeでRust Tool Missingと出てたからクリックしたらエラーたくさん出た。
ググったらNightlyのコンパイラじゃないとRacer(レイサーってのがRust Toolのこと?)は入れられないと
あったから。とりあえずRust Nightlyを入れた。
その後、また同じように入れようとしてみる。
cargo install racer && cargo install rustfmt && cargo install rustsym Updating registry `https://github.com/rust-lang/crates.io-index`

ダメだった!エラーが5個くらい出る。
どうすれば良いの?
2018/09/01(土) 11:07:28.41ID:ZPWIV19B
>>175
IntelliJを入れる
2018/09/01(土) 22:51:12.01ID:6Yw3sf7c
>>175
rust関係ないからcodeスレへ。アドオン何使ってるかもちゃんと書けよ。
2018/09/02(日) 05:13:21.00ID:wH0i7ysW
VSCodeって言っちゃったのがまずかった
VSCodeのターミナル(WSLのzsh)で出たエラーだから、MacでもLinuxでも、このエラー起こると思う!
最近Rustインストールした人で、同じエラー出ている人いないかな?
GithubのRacerに書かれてある方法で試してみる・・
179デフォルトの名無しさん
垢版 |
2018/09/02(日) 08:10:44.09ID:KdakvMsf
エラーを書かずに同じエラーとわ
180デフォルトの名無しさん
垢版 |
2018/09/03(月) 05:33:11.38ID:17orVuxK
これはすごい

https://github.com/EbTech/rust-algorithms
2018/09/03(月) 23:57:51.98ID:HH7kYsUG
Rustで使いやすいGUIツールキットってどんなのがあるんだろうな
マルチプラットフォームかつネイティブでそこそこのパフォーマンスを得られるのが良い
wxWidgetsは有名だけどwxRustは3年放置されている。使えるのかな
182デフォルトの名無しさん
垢版 |
2018/09/04(火) 00:37:25.68ID:JHljRMUU
良い塩梅に発酵したときが食べ頃
2018/09/04(火) 02:01:24.43ID:ph6Gu5BU
>>181
gtk-rsは?
前にちょっと触ってみただけだから実用レベルかは知らんが
今でも積極的にコミットされてるから期待はできそう

純Rust製ならPistonが作ってるconrodかな?winitとgliumをベースにしてるっぽい?
こっちは使ったことすら無いんで全く分からん
純Rust製に惹かれたが、なかなか時間が作れなくて放置中…
因みにwinitはイベント管理用でgliumはOpenGLのクレートね
2018/09/04(火) 06:57:27.16ID:9XviyzUs
>>183
ggr-ksに見えた
2018/09/04(火) 09:10:47.26ID:hvcJ5TzR
>>178
GithubのRacerに書いてあるとおりにやったらいけた
Rust Nightlyを入れただけではダメで
rustup toolchain add nightly
cargo +nightly install racer
でいけた。Multirustという機能があるからNightlyを使いたければ毎回指定するということを初めて知った
186デフォルトの名無しさん
垢版 |
2018/09/04(火) 10:31:00.23ID:gEGTZvcA
>>184
+1
187デフォルトの名無しさん
垢版 |
2018/09/04(火) 21:01:57.03ID:T2pQ9bem
>>184
ワロタ
2018/09/05(水) 00:23:07.06ID:OjlFeqT/
rlsじゃなくてracer使うのか
2018/09/05(水) 03:15:12.05ID:Ozj2BDZl
RLSだけでいいの?それならRLSでいきたい
でもNightlyをデフォルトに設定したらRLSがスタートできなかった
2018/09/05(水) 03:15:35.14ID:Ozj2BDZl
Rusty Codeっていうのにした
191181
垢版 |
2018/09/05(水) 07:39:35.54ID:6RBOwdE6
>>183
ありがとう。GTK+が無難ですかね。gtk-rsを試してみます

純Rustは確かに惹かれますがこれってネイティブなのだろうか・・・
2018/09/05(水) 07:46:50.58ID:dKL5q8IE
Intellij Rustの作者が作ってるlibsyntax2がLSPを提供するようになってる
https://github.com/matklad/libsyntax2/tree/master/crates/server

racerの代わりになる日が来るだろうか?
IDE機能の提供はコンパイラでやるのが一番いいんだろうけど
2018/09/05(水) 07:48:44.63ID:dKL5q8IE
>>183
>>191
gtkってマルチプラットフォームと言えるの?
Linuxでしかまともに動かないイメージ
まあWindowsでは最低限は動くのかもしれんけどmacOSではダメダメでしょう
194181
垢版 |
2018/09/05(水) 08:06:31.33ID:6RBOwdE6
>>193
そうなの?
まぁ今回の用途はWindowsとLinux/*BSDで動けばよし
たしかGIMPはGTKだったはず
195デフォルトの名無しさん
垢版 |
2018/09/05(水) 08:14:42.53ID:bMCIX8s0
え、エレクトロン
2018/09/05(水) 09:01:55.04ID:H9u1sp8h
そもそもgimpを作るためにgtk作ったわけで…
197デフォルトの名無しさん
垢版 |
2018/09/05(水) 11:38:43.13ID:/V9AsOwQ
GTKは糞
2018/09/05(水) 16:19:07.91ID:dKL5q8IE
マイナー言語のGUIにはGtkバインディングぐらいしかないのが現実
199181
垢版 |
2018/09/05(水) 18:50:23.45ID:6RBOwdE6
GTKのバインディングがあるならTkのバインディングも・・・と思ったら見あたらない?
Tkも一応ネイティブだったはず。機能面はぱっとしないが今回の用途には足りるかも

>>195
その手のWeb技術ベースのってアプリケーション側からウィジェットを更新する術に乏しい
印象があるけどそうでもないのかな
200デフォルトの名無しさん
垢版 |
2018/09/05(水) 20:07:45.33ID:L3ODpJW1
ウィジェットってこの文脈だとどいう意味?
2018/09/05(水) 21:04:58.50ID:NRWr9JTz
OS(フレームワーク)ネイティブのGUIコンポーネントって意味だと思う。
というか、こっちの意味での利用のほうがコンピュータ的には一般的だったかと。
2018/09/05(水) 22:08:13.79ID:s4eOolF2
Windows向けRustのリンカがlldになるのはいつかな
2018/09/06(木) 00:48:46.68ID:az09claK
GIMPはMotif・・・。うん。わかってるよ。

>>191
msvcツールチェーンでビルド面倒くさいから頑張れ。
2018/09/08(土) 20:22:07.67ID:2/RJPWQT
何かやるのに言語からつくっちゃえって、どうなんだろ。
2018/09/08(土) 21:39:35.66ID:r9+/L/Cg
なにかやるわけでもないのに言語だけ作るほうが珍しい気もするぞ。
で、どの言語のこと言ってるの?
2018/09/08(土) 21:50:01.66ID:obhERXW7
>>205
Rust
2018/09/08(土) 22:35:38.88ID:6Sgjlvo2
Cの事じゃないのか。
2018/09/09(日) 17:19:35.86ID:J1tV93ug
GUIといえばlibuiはどうだろう?

というかRustでGUIって面倒くさそう
2018/09/09(日) 18:05:38.77ID:4xLE2iMW
面倒臭いと思うよ

GUIだと大抵はイベントハンドラ多用する場合が多いから
Rustだと多分クロージャを渡すことになって
キャプチャする変数の所有権が絡んできて面倒なことになる

可能な限りデータを全て不変にして参照カウンタ使うのが一番楽そう
誰かもっと良い方法知ってたら教えて
2018/09/09(日) 18:56:16.25ID:UvF45WNM
キャプチャ必要かな。しなけりゃいいんじゃね?
RxやReduxみたいなのならRustでもできるような気がするが。
2018/09/09(日) 20:18:26.49ID:0/8ezFqB
wasm来たらhtmlでいいじゃん
2018/09/09(日) 23:57:56.69ID:SgQ7ecDz
>>209
相互/循環参照があり得るから参照カウンタじゃ無理だよ。
メモリ管理面の煩わしさを考慮するならjavaみたい
にイベントハンドラをtraitにしてユーザーデータ自身に
実装させればいいけど、今ではこのアプローチ自体が煩わしいと思う。

あと参照カウンタの場合一度に多すぎる解放処理が発生して
UIがもたつく可能性があるね。
トレーシングGCなら必要ないなら遅らせるからこういう事は起きない。

rustでトレーシングGC使う場合rootingはプログラマが行う必要があるから
自前でメモリ管理するのと同じだし、それ以外にGUIのシーングラフ自体にトレーシングGCがいるね。
ffiで既存のgui利用してrustからはデータ渡すだけにするのが簡単だと思う。
2018/09/10(月) 14:20:14.67ID:WMxfZQty
yewとrelmが気になる
2018/09/10(月) 19:39:57.20ID:3ZIEHwy7
ちなみにWEB開発のサーバーサイドでRustって現実味あるの?
Goがたまに使われてるから、Rustにもチャンスあるのかなと思ったけど
215デフォルトの名無しさん
垢版 |
2018/09/10(月) 20:02:06.79ID:WGo2tHWR
君が作ればチャンスは無限大
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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