Rust Part5

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2018/02/11(日) 20:07:24.54ID:ri7dLd1B
Mozilla発のRust言語のスレ

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

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

前スレ
https://mevius.5ch.net/test/read.cgi/tech/1507970294/
496デフォルトの名無しさん
垢版 |
2018/05/23(水) 19:22:54.70ID:Au5e7VGg
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

D49IO
2018/05/23(水) 20:12:10.79ID:OqqpDSMd
もう入ったから消せません
は正論

何故クソ機能の進入を許してしまったのか、どうすれば食い止められたのかについて追求すべき
2018/05/23(水) 21:15:28.51ID:cEWT5Ura
ジェネリクスの型変数って引数と戻り値の型を揃えるとかそういう使い方をすべきであって
Traitをimplした型を受け取るという意味ではimpl Traitを使うべきだと思う
ただimpl Traitを導入するなら1.0の時点で導入してて欲しかった
2018/05/23(水) 23:34:44.01ID:J44hs+nP
こういうところでマウンティングとらないといけない辺り
言語(笑)開発チームとやらも内情はどうなってることやら
2018/05/24(木) 00:25:13.01ID:XbYocBeq
javaのジェネリックスが理解できてないやつが多いだけ。
501デフォルトの名無しさん
垢版 |
2018/05/25(金) 02:08:00.91ID:MJUyxiHQ
Rust始まる前に終わったか
2018/05/25(金) 10:28:02.89ID:fl2+4CP3
始まる要素が欠片でもあっただろうか
2018/05/25(金) 10:31:47.59ID:fl2+4CP3
>>495
それはdyn Traitの実装理由であっても、
引数位置のimpl Traitを実装した理由の説明になってない
2018/05/25(金) 12:05:08.76ID:2Lpcv/H6
fn foo(a: &dyn Trait)

fn foo<T: Trait>(a: T)
では前者の方がlightweightでは
2018/05/29(火) 19:15:02.85ID:MDdgGfn5
target/debug 以下に生成されるdepsとかbuildって何なの?
goとかにはないよね?
gtk-rsだと500MB消費しちゃうんだけど他のプロジェクトで使い回しとか出来ないの?
2018/05/29(火) 23:04:02.93ID:R7SeORIn
>>505 環境変数CARGO_TARGET_DIRを指定してやれば再利用してくれるよ
ただ、vscodeのrustプラグインの何かがこの環境変数を考慮してないんで挙動がおかしくなったことがあるんで注意
2018/05/29(火) 23:26:47.02ID:MDdgGfn5
>>506
おお流石に出来たんですね

プラグインがおかしくなるのはrls側の問題ですかね🤔
2018/05/29(火) 23:29:14.13ID:TMN/Dqsk
Rustと言えばcookpad。
2018/05/30(水) 14:08:55.25ID:EgEwhYIf
>>501
最近Rustの話聞かなくなったな
2018/05/30(水) 18:12:45.66ID:pSj5bsTP
HNはリリースの度に話題になってるけど
2018/05/31(木) 06:31:41.15ID:Ao0QiwhU
日本の企業くらいだよ。
rustで書いてまっせっていうバカなアピールするのは。
2018/05/31(木) 06:42:55.06ID:RS4tQXGE
まあCloudflareも日本にリージョンあるしな
2018/05/31(木) 10:37:31.25ID:QFV8wAla
>>511
泥箱って日本企業だっけ
2018/05/31(木) 15:17:41.00ID:Rs+XOVpI
日本の企業って凄いんだなー
2018/05/31(木) 20:32:40.66ID:ITatAB0P
wtftwっていうタイル型WM、設定ファイルまでrustで書くのどうなんだろ
設定ファイルはluaあたりが無難?
2018/05/31(木) 22:08:10.33ID:Ao0QiwhU
>>513
いやもうなかったことにしたがってるじゃんw
それなのに変なのに付きまとわれてるっていう。
2018/05/31(木) 22:30:50.22ID:Rs+XOVpI
>>516
「なかったことにしたがってる」というソースをプリーズ
2018/05/31(木) 22:43:00.94ID:RS4tQXGE
Dropboxのbrotliデコンパイラが昨日更新されてたから
24時間以内のホットな情報だ
2018/05/31(木) 22:43:34.41
Rustが失脚すると得をする組織があるの?
どうしてそこまで情熱的にRustを貶すの?
2018/05/31(木) 22:46:14.56ID:Qkx1CtmH
>>515 ざっとコンフィグファイル見たらXMonadのコンフィグよりは理解しやすいように思った
xmonad.hsはもっと宣言的に書けて、モナドとか上手く作って見栄えは良くできるんだけど、
馴染みのない演算子(<+>とか)使いまくるんで、よっぽどHaskellに慣れ親しんだ人でないと全容が理解できない

設定ファイルのフォーマットを開発言語と同じにするのはdwmから続くタイル型WMの流儀だし、
思ったより読めていいと思うよ。
2018/06/01(金) 00:57:19.91ID:Lcv3mjW7
>>519
前段 モジラとその小判鮫以外の全組織が喜ぶ
後段 技術的にカスなものを貶すのは技術者の義務だろ
522デフォルトの名無しさん
垢版 |
2018/06/01(金) 01:23:36.92ID:n6iooPs9
>>521
>技術的にカスなものを貶すのは技術者の義務だろ
じゃあPHPではなく敢えてRustをdisる理由は?
あちらの方が広く使われてるからより害悪だと思うが
2018/06/01(金) 04:40:22.00ID:WbqigEkQ
>>520
ほうほう
2018/06/01(金) 06:21:30.96ID:/a7YB1o/
>>522
あれを使ってるやつも害悪性は理解してるからな。
こういう技術的にインテリな要素のある言語って信者がとにかく頑なで
実際のプログラムの現場で非常に問題になることが多い。
525デフォルトの名無しさん
垢版 |
2018/06/01(金) 07:12:12.64ID:V5eoRgyy
ほーん具体的にどんな問題がおきたの?
2018/06/01(金) 07:23:19.18ID:M/qnTWL0
んー例えば
Rustの提案するエセソリューションは機械語のレベルと相性が悪い
CやC++のほうがまだまともなアプローチしてる
2018/06/01(金) 08:47:59.46ID:n6iooPs9
>>525
んー例えば
コンパイルが通せなくて自尊心が傷ついて自ら会社をやめちゃう問題とか

この話どこまで事実か知らないけど仮に本当だったとしても
これって言語の問題というよりチームのプログラマの腕を過大評価
もしくは計算に入れてなかったというマネジメントの問題だよね
2018/06/01(金) 09:23:44.51ID:vv7FkXWB
んー例えば
プラズマクラスター付き家電が話に出てきたら今まで黙ってたのに凄い勢いでエセ科学だと解説し出すよね
2018/06/01(金) 11:58:37.06ID:HQSTzzds
いや、この粘着をクビにするためにRust導入したんでしょ
性格異常だもん
2018/06/01(金) 17:08:52.31ID:j7xDfBQ9
老害をふるい落とすために新しい言語を取り入れてるって話?
2018/06/01(金) 19:16:22.80ID:q9V9sFRe
このフィボナッチ数列も書けないあほ
何度言い返せなくなっても数日後に甦る粘着性
C++で実行時にエラーが出るようなコードを書きまくったのでしょう。性格の悪さと溢れる自尊心から誰の耳も貸さなかったのでしょう。
プログラマーとして生きるよりかは、匿名掲示板で巨悪組織Mozzilaと闘うBBS戦士の方が社会的に良さそう
2018/06/01(金) 19:29:07.67ID:M/qnTWL0
たとえばドワンゴとかDropboxとか
Rustを採用した企業自体を叩く行為をよくしているよな
あれ見るとちょっと辛くなる
533デフォルトの名無しさん
垢版 |
2018/06/01(金) 20:33:15.28ID:hus0bbCf
>>526
具体的には?
2018/06/01(金) 22:00:45.35ID:/a7YB1o/
例えばここみたいに安全でもなんでもないドヤしたいだけのクソなrustコードが量産されるとか。
ttp://tanakh.jp/posts/2016-12-20-rust-pezy-sc.html
535デフォルトの名無しさん
垢版 |
2018/06/01(金) 22:44:23.66ID:hus0bbCf
だから具体的はどこが問題なの?
2018/06/01(金) 22:47:27.38ID:aoTZOmsj
槍玉にあげる例が1個しかないのがダサ過ぎるわ。しかもその例も対象が特殊だし

>>534は「それRustでやる意味がある?」という疑問に全く応えられないのが問題
LLVM IR-> PEZY-SCというコンパイラがあるんだったら、LLVMがバックエンドの他言語でもいいよねって話
それができないなら、LLVM->PEZY-SCは未完成か現実に即してないんじゃねえのって話
537デフォルトの名無しさん
垢版 |
2018/06/01(金) 22:57:48.57ID:hus0bbCf
rustでやってみたって記事にrustでやる意味あるの?って疑問が出てくるのが不思議なんだけど
rustでも出来た、以外に意味はないでしょう
2018/06/01(金) 23:37:58.33ID:RhYZ0Afc
新しいこと覚えられないから焦ってるんじゃね
2018/06/02(土) 00:12:03.87ID:LoS19xRX
>>534
安全じゃないコード も 書けるってことに価値があるんだろ?
C/C++以外の他言語では書くことさえできない。でもC/C++は安全性を売りにはしていない
Rustは安全性を売りにしつつ、必要に応じて安全性を捨てる選択もできるということに価値がある
で、たまたまその記事が安全性を捨てることが必要な数少ない例の1つだったってだけ
2018/06/02(土) 08:09:01.38ID:yQHVvQ0k
安全でもなんでもないって
unsafeあるやんけ!危険危険!
前後の文脈一切分からんけどとにかく危なそうなこと書いてあるやんけ!
つって叩いてるんだろうなw

>>535
その手の問いにそいつが素直に答えたこと無いからあきらめよう
2018/06/02(土) 09:00:03.22ID:uxIlP8w7
たまたまねw
どんだけコード例出しても言い出しそうだなw
そもそもコード例が少ない訳で、推進してる奴のコードがそんなもんなら
十分否定的な要素だけどね。
2018/06/02(土) 09:25:00.11ID:yb2DUuBi
grep出来ねえのか^^;
543デフォルトの名無しさん
垢版 |
2018/06/02(土) 09:27:20.96ID:1kkEW1PU
ちょっとrustの記事書いただけで代表的な推進派扱いかよ
2018/06/02(土) 09:29:46.62ID:IrGCDZgn
>>541
お前さんの理屈だと、Rustじゃこんなに危険になる!って事だろ?
じゃあ、Rustではそういう危険な書き方しか出来ない!って示さなきゃな。
俺は中立だが、あんまり非論理的なdisりはアンチ=低能と思わせたがってるピエロにしか見えんよ。
2018/06/02(土) 09:41:57.37ID:yb2DUuBi
既に20万行はコードあるからレビューがてら指摘したら喜ばれるよ
2018/06/02(土) 11:52:56.13ID:SXqC6st7
>>541
ほんとだどこが問題で悪いのか全然書かない
具体的に言及しだすとフィボナッチ数列とか機械語レベルとか、残念なことになるのが自分でもわかってたのか

まあ本人が書いた通り「ドヤしたいだけ」とか…なんかな?前もマウンティング取られたとか訴えてたし…
2018/06/03(日) 21:39:05.60ID:xPSrrQIy
またいつもの、ボロクソにされたらしばらく潜伏してから復活するパターンかな
たまには芸風変えたら
2018/06/04(月) 06:53:30.60ID:OFCCUtyY
Rustの不満は言語仕様やrustcよりcargoやその辺の連携(情報の少なさも含む)にある
2018/06/04(月) 07:51:33.98ID:+kVYhEiS
既成のクレートを探すのはcrates.ioになると思うけどライセンスってどうやって調べるんだろ
同様にクレート間の依存関係も判りにくい
どちらも一式を落としてきて中身を確認しないと判らないような・・・

Cargoで自動ダウンロードして・・・みたいな使い方をしていると意図せずGPL/LGPLになっていた
みたいなライセンス事故が起きそう
2018/06/04(月) 09:21:50.73ID:wd+rp+GF
>>549
$ cargo install cargo-lichking
$ cargo lichking check

一先ずlichkingでチェックできるよ
2018/06/04(月) 09:35:16.99ID:4FFAt/Kh
LGPLのstatic linkとかやめて欲しいよね
2018/06/04(月) 22:37:59.16ID:OFCCUtyY
>>550
えぇー・・・わざわざインストールしないと出来ないのかよ。とりあえずやってみるか
依存関係はどうすりゃいいんだ?no_stdでも使える奴だけ探したいとか
2018/06/05(火) 01:20:50.84ID:4vI8haY4
>>552
ライセンスをついては、crate名が既知なら、

ttps://crates.io/api/v1/(クレート名)

でjson取れるので、そこから再帰的に依存辿れば収集はできそう
2018/06/05(火) 01:35:07.04ID:4vI8haY4
>>552
no_stdかどうかについては、Cargo.tomlのcategoryパートに"no-std"があるかどうかぐらいしか確認するすべなさそう(2017-2-10に追加されたっぽい)。

皆が皆付けてるとは思えないので、参考程度にしかならないだろうけど。
2018/06/06(水) 04:08:38.62ID:SHaHb3Ap
ちょうどいい機会だから、カーゴのギフハブべったり依存をやめて抽象化してほしいわん
2018/06/06(水) 07:27:41.91ID:j1CMVtJk
は?
2018/06/06(水) 08:37:47.80ID:hN7IXoGK
crates.ioべったりは分かるけどGitHub依存って何
2018/06/06(水) 09:53:27.50ID:x7s61f1u
goと勘違いしてるのでは
2018/06/09(土) 09:42:43.51ID:W19N5ngq
rustダメじゃん
firefoxは言語オタに支配されたのか?

【IT】高速化を進めてアドオンを排除したFirefox、ついにシェアが10%切る★2
https://asahi.5ch.net/test/read.cgi/newsplus/1528388348/
2018/06/09(土) 10:00:10.77ID:4+qUC/SZ
FirefoxのシェアでRust叩きって前スレでもやったじゃん
http://mevius.5ch.net/test/read.cgi/tech/1507970294/100-
2018/06/09(土) 12:47:19.10ID:Cz/ni8by

前やったから何?
562デフォルトの名無しさん
垢版 |
2018/06/09(土) 13:15:23.42ID:qABRMkwT
なんで筋の通らない批判を平然とするのか不思議
2018/06/09(土) 15:26:07.97ID:4+qUC/SZ
>>561
ええ…?FFアドオン排除でRustディスは気にならないのか
以前の試みはアドオンとRustを絡めてみた感じだったな
↓のレスをいつものごとく無視し数日潜んでRust叩きを試みていたけど、スレを跨いで同じ材料出すなよ


109 デフォルトの名無しさん sage 2017/11/15(水) 14:21:13.24 ID:FBksKtwj
>>108
失敗してるやん
Rustなんかで書き直したせいでアドオン全滅してる

114 デフォルトの名無しさん 2017/11/15(水) 14:36:17.78 ID:bBOLEH2G
>>109
それは設計の段階で従来のアドオンとの互換性の一部を捨てるように仕様変更したからだよ。
firefoxのアドオンは自由度が高すぎるが故に、セキュリティに問題を抱えやすかったし、
アドオン同士が衝突して落ちるとかも結構あったから、そこら辺をChromeと同レベルくらいに制限して、
セキュリティと安定性を取る方向に方針転換した。
仕様が変わってるんだから、Rustで書こうが他の言語で書こうがどっちにしろ従来のアドオンの一部は動かないよ。
2018/06/10(日) 00:29:32.38ID:+hx+JhDk
今回は1週間も我慢できなかったのか
ほかに行く場所ないの
2018/06/10(日) 01:42:55.67ID:x48+YOhO
>>555の話だけど、
>>555はhg使えなかった時代で止まってんじゃないの?
2018/06/10(日) 09:09:46.77ID:gHOtKfe5
>>565
gitとgithubはちがうよ?
2018/06/10(日) 09:10:23.63ID:gHOtKfe5
キチガイ帰ってきてよかった
2018/06/10(日) 10:06:20.84ID:flig3pd5
相変わらず宗教じみてんな
2018/06/16(土) 11:05:45.57ID:dxp9ohIz
何でio::Errorにファイル名入ってないんだろう? 不便だなーと思ってたけど
検索してみたら、前は入ってたのに1.0リリース前に削除されたんだとさ

https://internals.rust-lang.org/t/add-filename-information-to-io-error/
2018/06/16(土) 13:06:12.19ID:Om4I19uv
>>569
非効率になるのを嫌ったってことみたいですね
stdでもつには重すぎるってのは理解はできるけど 確かに不便なんだよなー

自分は結局
ioの関数呼ぶ前にinfo!でログ出すとか
戻ってきたio::Errorをmap_errでPathBuf埋め込んだ自前のErrorに変換するとかしてます
2018/06/16(土) 18:58:29.98ID:dxp9ohIz
>>570
ここで紹介されてる、failureを拡張して let file = File::open(path).with_path(path)?; と書けるようにするのが
カッコいいなと思った
https://github.com/rust-lang-nursery/failure/issues/189

failureは1.0に向けてまだまだ変えていくみたいだし、これ書いた焦げ寿司氏も参加するみたいだから
期待してるわ
throw!マクロが標準化したら、?の時みたいにrustプログラムの見た目変わりそう
2018/06/16(土) 20:35:40.86ID:unm3Vek/
2回もpath書くの全然かっこよくないから、少し重くてもなんでもいいから便利なライブラリがあれば使うわ
573デフォルトの名無しさん
垢版 |
2018/06/16(土) 23:56:34.69ID:f9DGXpDH
トレイトオブジェクトってなんでトレイトオブジェクトって呼ぶん?
ようはヒープに動的に作られたストラクトだら?
2018/06/17(日) 01:17:39.67ID:TG/aPZPS
何らかのTraitを実装したオブジェクトだから、じゃ駄目なの?
変に勘ぐって誤解してるよ。スタックにある構造体でもトレイトオブジェクトになる
575デフォルトの名無しさん
垢版 |
2018/06/17(日) 07:51:39.85ID:p2Sm4Lro
うーんここにはそういうニュアンスでは書いてない気がするんだけどなあ
https://rust-lang-ja.github.io/the-rust-programming-language-ja/1.6/book/trait-objects.html
2018/06/17(日) 11:48:23.47ID:an9lNlus
traitってなんだよ
2018/06/17(日) 12:00:53.08ID:erltHdM+
>>576
特性
2018/06/17(日) 12:03:03.50ID:an9lNlus
わかんねえよw
2018/06/17(日) 14:20:21.15ID:rd16QG+W
traitは写像の集合で本来的には定義域の集合でないものなので、それとして扱う場合を特別にトレイトオブジェクトって呼んでるんじゃないの?
2018/06/17(日) 14:55:33.49ID:TG/aPZPS
>>575
ヒープにある構造体である、とはどこにも書いてないよね

複数の異なる型を同じ関数や構造体で持っておきたいけど、
型が違うからコンパイル時にサイズが決まらないんで困ったねって状況を解決するのがトレイトオブジェクト
そういう事態じゃなければfn foo<T: TraitFoo>(obj: T)とかやって型毎に関数をコンパイラに作ってもらうのが普通
2018/06/17(日) 15:32:03.62ID:hewfXZ0r
マス科の淡水魚じゃなかったけ
2018/06/17(日) 15:36:27.65ID:Wo64nPZg
それはトラウト
トラウトサーモン。
583デフォルトの名無しさん
垢版 |
2018/06/17(日) 20:19:57.60ID:p2Sm4Lro
なんらかのトレイトじゃなくて特定のトレイトを実装したなんらかの型ってことかな
584デフォルトの名無しさん
垢版 |
2018/06/17(日) 20:38:08.98ID:JVUiE6fQ
D言語の再来と言われるRustには注目しています。
2018/06/18(月) 11:09:28.26ID:LH5G8a9n
さすがに「C#とか糞wwこれが俺の考えた最強言語ww」→「結局C#が全部正しかったですサーセンww」で終わったただの中二言語と一緒にするのは失礼
2018/06/18(月) 15:38:58.79ID:/sFO+jYl
そうだな。D言語に失礼だ
2018/06/18(月) 17:49:36.48ID:fn6n18W4
C#に、な
2018/06/18(月) 18:41:33.59ID:MmynirXE
まるでD言語が死に絶えたみたいな口振り
2018/06/18(月) 18:44:27.51ID:eWM+pHRs
え?とっくに死に絶えたでしょ
2018/06/19(火) 00:05:30.49ID:wsgBP7Sf
>>571
1.0待てなくてもう現行のfailureにどっぷり浸かっとる。
failureはいいぞ!
2018/06/19(火) 13:49:32.69ID:77HD0esi
D言語は最近顔本コミットを受けて活発化してる

Rustは採用企業が全く増えなくなって資金も枯渇
メインコミッタもリンゴのSwiftやらにヘッドハントされて
もう将来ないでしょ
2018/06/19(火) 13:50:33.43ID:77HD0esi
もちろん言語のエコシステムとしての将来がないってだけで、
ライフタイムとかの実装系の先駆としての意義はあったとおもうが
2018/06/19(火) 15:45:39.61ID:Es9NuDl6
終わってみればdartの舞の海だったな。
2018/06/19(火) 17:08:02.40ID:menX4d1R
なんで急に元力士の名前が出てきたんだ?
二の舞って言いたかったのか?
2018/06/19(火) 17:13:53.63ID:TNMX9OjF
>>590
なんかfailureのissues見ると、現状のstd::errorの設計は失敗作扱いみたいだな
それって共通認識なんかな?
■ このスレッドは過去ログ倉庫に格納されています