X



Rust Part5
■ このスレッドは過去ログ倉庫に格納されています
0473デフォルトの名無しさん
垢版 |
2018/05/14(月) 12:00:52.07ID:fAXXTBeo
>>427
公式リファレンスって何のことを指してるんだ?
APIリファレンスならきちんと最新版に追従してるし、
チュートリアル(The Book)も2nd Editionがきちんと出てる
バージョンアップの追従ならリリースノート見るかRustの公式ブログ見れば大体分かると思う

Rustは6週間に1回のハイペースでマイナーバージョンアップ繰り返してるから
The Bookのほうは最新版に追いつくこと自体がほぼ不可能だと思うけど
(つい最近もimpl traitがstable化されたばっかりだし…)
0474デフォルトの名無しさん
垢版 |
2018/05/14(月) 12:06:29.06ID:fAXXTBeo
>>473
間違えた
X >>427
>>472
0475デフォルトの名無しさん
垢版 |
2018/05/14(月) 21:32:55.87ID:+8ra2A+L
そのimpl traitが気になってまたRustやろうと思ったんだけどね
全機能の索引みたいなのがないと学習効率が落ちる
0476デフォルトの名無しさん
垢版 |
2018/05/17(木) 09:49:24.40ID:iDnHcMfd
rustって生産性高い?
安全性が高まって結果的に高くなるということではなくね
やっぱでかいプログラムじゃなきゃ使う効果ない?
0477デフォルトの名無しさん
垢版 |
2018/05/17(木) 10:44:40.51ID:eZl7hMvh
Javaでnull参照が10億ドル単位の損害と言われてるので
RustはJavaより10億ドルほど生産性が高い
0478デフォルトの名無しさん
垢版 |
2018/05/17(木) 11:16:01.90ID:mMzQfbWV
まあ、ネタにマジレスになるが、
その論法だと俺の未完成言語は誰もバグを生み出してないので
Rustより生産性が高いなw
0481デフォルトの名無しさん
垢版 |
2018/05/17(木) 15:12:36.48ID:xSjwlbqQ
自分がGCなしの言語使ってた時の経験だと、ヌルポより、freeした後にアクセスするバグの方が多かったから、オーナーを一つにするrustはいいと思う。
まあ、objective-cのARCでいいじゃんとも思うけど。
0482デフォルトの名無しさん
垢版 |
2018/05/17(木) 15:31:36.59ID:eZl7hMvh
そこでoptionalですよ
こいよ継承クラス、ポリモーフィズムなんて捨ててかかって来い!

実際、null非許容のポインタが欲しい
0486デフォルトの名無しさん
垢版 |
2018/05/17(木) 23:47:12.62ID:STJHYINb
1.27.0-nightly (2f2a11dfc 2018-05-16)がregressionしとる。
issueある。待つヨロシ。

>>427,473
the rust referenceのことじゃね?the bookとは別にあるだろ。
全然追いついてないよアレ。そもそもまだ仕様書がない言語だし。
" best-effort document"って書いてあるでしょ
0487デフォルトの名無しさん
垢版 |
2018/05/18(金) 23:04:38.08ID:e1n+oPRU
httpサーバでありかつクライアントであるみたいなプログラム書く場合、現状hyper一択なのかね?
acitx-webとか誰か使ってない?
0488デフォルトの名無しさん
垢版 |
2018/05/19(土) 02:24:33.88ID:1CYkmYAx
最初rocketで書いてたけどactix-webで書き直してる
今だとactix-webが一番良い感じだと思う
必要に応じて同期、非同期、アクターモデルと使い分けられるし
0491デフォルトの名無しさん
垢版 |
2018/05/23(水) 03:14:02.94ID:V0Z2NuNB
>>490
もう入ったから消せませんってのは横暴なようにも見えるがしようがないとも思う
一度入れてしまった機能をまた使えなくするとか、それこそ混乱するし…
そもそも何故impl trait を引数の位置にも書けるようにしたのかは確かに甚だ疑問ではあるけど…
引数の位置でジェネリクスとトレイト境界じゃなくてimpl trait じゃないとダメなケースとかある?
無いなら、warning出してジェネリクスとトレイト境界に書き直すように促すのが妥当じゃないかな?
0493デフォルトの名無しさん
垢版 |
2018/05/23(水) 10:44:20.66ID:KWn7zjxF
こういうところでマウンティングとらないといけない辺り
言語(笑)開発チームとやらも内情はどうなってることやら
0495デフォルトの名無しさん
垢版 |
2018/05/23(水) 12:46:35.30ID:wx8WkS/n
<T: Trait> foo: T

foo: &Trait
との比較で特殊なケースを除き前者の方が効率良いが
syntax上後者の方が簡単なので
初心者が誤って後者を使ってしまうケースがあった
これを防ぐためにimpl Trait および &dyn Traitを導入し
&Traitをdeprecateすることになった
0496デフォルトの名無しさん
垢版 |
2018/05/23(水) 19:22:54.70ID:Au5e7VGg
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

D49IO
0497デフォルトの名無しさん
垢版 |
2018/05/23(水) 20:12:10.79ID:OqqpDSMd
もう入ったから消せません
は正論

何故クソ機能の進入を許してしまったのか、どうすれば食い止められたのかについて追求すべき
0498デフォルトの名無しさん
垢版 |
2018/05/23(水) 21:15:28.51ID:cEWT5Ura
ジェネリクスの型変数って引数と戻り値の型を揃えるとかそういう使い方をすべきであって
Traitをimplした型を受け取るという意味ではimpl Traitを使うべきだと思う
ただimpl Traitを導入するなら1.0の時点で導入してて欲しかった
0499デフォルトの名無しさん
垢版 |
2018/05/23(水) 23:34:44.01ID:J44hs+nP
こういうところでマウンティングとらないといけない辺り
言語(笑)開発チームとやらも内情はどうなってることやら
0501デフォルトの名無しさん
垢版 |
2018/05/25(金) 02:08:00.91ID:MJUyxiHQ
Rust始まる前に終わったか
0503デフォルトの名無しさん
垢版 |
2018/05/25(金) 10:31:47.59ID:fl2+4CP3
>>495
それはdyn Traitの実装理由であっても、
引数位置のimpl Traitを実装した理由の説明になってない
0505デフォルトの名無しさん
垢版 |
2018/05/29(火) 19:15:02.85ID:MDdgGfn5
target/debug 以下に生成されるdepsとかbuildって何なの?
goとかにはないよね?
gtk-rsだと500MB消費しちゃうんだけど他のプロジェクトで使い回しとか出来ないの?
0506デフォルトの名無しさん
垢版 |
2018/05/29(火) 23:04:02.93ID:R7SeORIn
>>505 環境変数CARGO_TARGET_DIRを指定してやれば再利用してくれるよ
ただ、vscodeのrustプラグインの何かがこの環境変数を考慮してないんで挙動がおかしくなったことがあるんで注意
0511デフォルトの名無しさん
垢版 |
2018/05/31(木) 06:31:41.15ID:Ao0QiwhU
日本の企業くらいだよ。
rustで書いてまっせっていうバカなアピールするのは。
0515デフォルトの名無しさん
垢版 |
2018/05/31(木) 20:32:40.66ID:ITatAB0P
wtftwっていうタイル型WM、設定ファイルまでrustで書くのどうなんだろ
設定ファイルはluaあたりが無難?
0516デフォルトの名無しさん
垢版 |
2018/05/31(木) 22:08:10.33ID:Ao0QiwhU
>>513
いやもうなかったことにしたがってるじゃんw
それなのに変なのに付きまとわれてるっていう。
0518デフォルトの名無しさん
垢版 |
2018/05/31(木) 22:43:00.94ID:RS4tQXGE
Dropboxのbrotliデコンパイラが昨日更新されてたから
24時間以内のホットな情報だ
0520デフォルトの名無しさん
垢版 |
2018/05/31(木) 22:46:14.56ID:Qkx1CtmH
>>515 ざっとコンフィグファイル見たらXMonadのコンフィグよりは理解しやすいように思った
xmonad.hsはもっと宣言的に書けて、モナドとか上手く作って見栄えは良くできるんだけど、
馴染みのない演算子(<+>とか)使いまくるんで、よっぽどHaskellに慣れ親しんだ人でないと全容が理解できない

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

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

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

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

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

Cargoで自動ダウンロードして・・・みたいな使い方をしていると意図せずGPL/LGPLになっていた
みたいなライセンス事故が起きそう
0552デフォルトの名無しさん
垢版 |
2018/06/04(月) 22:37:59.16ID:OFCCUtyY
>>550
えぇー・・・わざわざインストールしないと出来ないのかよ。とりあえずやってみるか
依存関係はどうすりゃいいんだ?no_stdでも使える奴だけ探したいとか
0553デフォルトの名無しさん
垢版 |
2018/06/05(火) 01:20:50.84ID:4vI8haY4
>>552
ライセンスをついては、crate名が既知なら、

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

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

皆が皆付けてるとは思えないので、参考程度にしかならないだろうけど。
0555デフォルトの名無しさん
垢版 |
2018/06/06(水) 04:08:38.62ID:SHaHb3Ap
ちょうどいい機会だから、カーゴのギフハブべったり依存をやめて抽象化してほしいわん
0562デフォルトの名無しさん
垢版 |
2018/06/09(土) 13:15:23.42ID:qABRMkwT
なんで筋の通らない批判を平然とするのか不思議
0563デフォルトの名無しさん
垢版 |
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で書こうが他の言語で書こうがどっちにしろ従来のアドオンの一部は動かないよ。
0570デフォルトの名無しさん
垢版 |
2018/06/16(土) 13:06:12.19ID:Om4I19uv
>>569
非効率になるのを嫌ったってことみたいですね
stdでもつには重すぎるってのは理解はできるけど 確かに不便なんだよなー

自分は結局
ioの関数呼ぶ前にinfo!でログ出すとか
戻ってきたio::Errorをmap_errでPathBuf埋め込んだ自前のErrorに変換するとかしてます
0571デフォルトの名無しさん
垢版 |
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プログラムの見た目変わりそう
0572デフォルトの名無しさん
垢版 |
2018/06/16(土) 20:35:40.86ID:unm3Vek/
2回もpath書くの全然かっこよくないから、少し重くてもなんでもいいから便利なライブラリがあれば使うわ
■ このスレッドは過去ログ倉庫に格納されています

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