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/
2018/04/14(土) 15:50:41.81ID:TDyE7icd
Rustの提案するエセソリューションは機械語のレベルと相性が悪い
CやC++のほうがまだまともなアプローチしてる
2018/04/14(土) 15:53:50.88ID:LmbQudMt
>>377
うおっ!
ここにきてまさかのRAIIを否定し始めるとか予想外すぎたわ!
お前C++のスマポってなにか知ってる?
2018/04/14(土) 15:55:07.64ID:TDyE7icd
>>379
ほとんどのコンパイラで採用されてない仕様書上にしかない機能なんざ知らんよ
2018/04/14(土) 15:58:27.76ID:TDyE7icd
実際混乱引き起こしてるまともじゃない方法なのは上の流れで自明だろ
2018/04/14(土) 16:02:24.43ID:LmbQudMt
>>380
よろしい。そんな君にはJavaがおすすめだ。そっちで元気にやりたまえ。
2018/04/14(土) 16:05:01.76ID:75zALjkM
以前も言われてたけど「ひまわり学級の子が普通の授業に出て暴れてる」って表現が実に的確で草
2018/04/14(土) 16:07:01.72ID:TDyE7icd
間違ったものを間違った奴が流行らせようとしてるんだからそれには「違う」って言っとかないとダメだろ
話にならんと放置したらいずれ手遅れになるほど蔓延する
そうならないうちに叩いておくべきなんだよ
2018/04/14(土) 16:10:39.48ID:w273LxVR
混乱引き起こしてるのは違いないけどさ
「俺の頭の中で混乱を引き起こしてる」って正確に書こうよ
2018/04/14(土) 16:11:44.32ID:TDyE7icd
>>385
上のFFI絡みの流れは俺じゃないけど?
2018/04/14(土) 16:15:30.43ID:w273LxVR
完全手動でメモリ管理するのは混乱起きないからいいよね〜
2018/04/14(土) 16:21:52.10ID:TDyE7icd
>>387
コンパイラに丸投げするよりは良いな
混乱しないって意味だとGCが一番だが
2018/04/14(土) 16:27:01.78ID:nFvlFlcl
>>375
上のやり取りは俺じゃないけど?
散々間違いがあったら指摘してくれって書いてたのがデタラメを振りまいた?
間違いの指摘に礼を言って終えるところに、鳴りを潜めていたアンチがウキウキで「混乱を引き起こしたRust!!!」と喚き立てた
このスレでも何回もやってる流れじゃんクソダセー
2018/04/14(土) 16:38:44.62ID:TDyE7icd
はいはい内ゲバですね
ほんとくだらん言語
2018/04/14(土) 16:43:14.18ID:nFvlFlcl
>>390
内にいるつもりなんだお前
2018/04/14(土) 16:44:00.69ID:nFvlFlcl
インタプリタへの丸投げ>完全手動でメモリ管理>コンパイラへの丸投げ
実行開始までの混乱しない順だなどう考えても
2018/04/14(土) 16:47:43.87ID:TDyE7icd
>>391
外から内ゲバ眺めてやっぱこの言語くだらねって思ってるだけ
C++の(後方互換維持のための苦しい構文追加以外)なにが悪いんだか
2018/04/14(土) 17:00:21.56ID:LmbQudMt
>>393
スマポが何かを知らないヤツがC++を語り始めたぞ…
2018/04/14(土) 17:00:54.52ID:nFvlFlcl
>>378
ていうかこれ知りたい
Rustの何が(例:MIR)どう機械語との相性が悪く
それに対してC/C++のまともなアプローチの具体例を教えて
2018/04/14(土) 17:03:21.15ID:LmbQudMt
>>395
代弁してやろう。
「自力で頑張る」

以上
2018/04/14(土) 17:17:27.65ID:TDyE7icd
>>395
結局解放処理は自分で書くんだろ?
メモリ上の確保のされ方はコンパイラにはわからないんだから

結局中途半端にしか自動化できないから無意味で、それなら自分で管理した方が結果的に良いって話
2018/04/14(土) 17:24:46.46ID:Syz4zWn3
解放の仕方を実装したら、後はコードのどの場所で何回確保しても自動で解放される事が分かってないっぽいね
2018/04/14(土) 17:31:29.95ID:LmbQudMt
>>398
だってRAIIもスマポも知らないんだもん。しょうがないじゃん
2018/04/14(土) 17:34:05.03ID:nFvlFlcl
>>397
C FFIとかの一部分で解放処理を書くんだよ
お前が言ってる通り「手動」だしお前の好きな「手動」でよかったな
中途半端にとは言っても機能するし「無意味」と言い切るには典型すぎる誤謬

>>395にまともに答えてくれる?どう相性が悪いの?どんなアプローチ?
2018/04/14(土) 17:50:25.61ID:TDyE7icd
>>400
今の説明でわからんなら一生わからんよ
2018/04/14(土) 17:56:25.03ID:LmbQudMt
>>401
あっ! 逃げたww
2018/04/14(土) 18:04:42.44ID:nFvlFlcl
Q. Rustの何がどう機械語との相性が悪く、それに対してC/C++のまともなアプローチの具体例を教えて
A. 結局中途半端にしか自動化できないから無意味で、それなら自分で管理した方が結果的に良い

Rustアンチ君との最後のやり取りがこれなのか…?悲しい
2018/04/14(土) 23:45:32.28ID:lczq2IdA
いい加減ワッチョイスレに移動しようぜ
405デフォルトの名無しさん
垢版 |
2018/04/14(土) 23:54:45.22ID:LmbQudMt
>>404
実際問題ワッチョイは過疎る
2018/04/15(日) 03:16:54.39ID:8wseEBgk
>>404
YOUがワッチョイのほうで話題ageれば
2018/04/15(日) 09:21:32.45ID:eccSQZbu
ここはネタスレだからこれでいいよ

まともな話題ないし
2018/04/15(日) 10:16:53.40ID:pCFT19cL
ワッチョイは運営が管理を放棄するための口実
409デフォルトの名無しさん
垢版 |
2018/04/15(日) 10:33:02.44ID:E1b18XLI
ワッチョイあった方が良い派です
2018/04/15(日) 11:32:28.09ID:fK7P6CAL
いちおう指摘しておくと以下にわっちょい付きのスレはある。
https://mevius.5ch.net/test/read.cgi/tech/1514107621/l50
2018/04/15(日) 14:26:16.16ID:WuS7UUJE
そう思うんなら勝手にそっちでやってくれ
いちいちこっちに宣伝しないでよろしい
2018/04/15(日) 14:57:22.17ID:eccSQZbu
せめてスレ立てたやつくらいはあっち書き込んでくれよ。
ワッチョイスレ(本スレ)には俺しかいない。
2018/04/15(日) 15:05:21.27ID:6SePuRaV
人が集まってる(勝ち残った)方が本スレ
2018/04/15(日) 16:17:50.87ID:vLrea5+q
アンチスレの方が人多いっていい加減認めようぜ
415デフォルトの名無しさん
垢版 |
2018/04/15(日) 20:40:55.33ID:oxsxYGoa
>>414
いちおうアンチスレも存在するんだぜ
http://mevius.5ch.net/test/read.cgi/tech/1509028624/
2018/04/15(日) 21:13:20.51ID:0BluVJwA
>>384
大元に言わないで、ここでグダってる時点で説得力無いけどな。
2018/04/16(月) 09:16:50.73ID:fU1aO3Gb
英語で説明する気力がないんだろ
2018/04/21(土) 15:59:38.16ID:GAOK2TS0
それもあるが日本語の記事でrustマンセーしてるやつは大抵バカっていうのもある。
2018/04/21(土) 18:22:00.01ID:u/5OPPGG
会話になってないし
時間おいたところで>>395に答えなくてもいいことにはならないからね
2018/04/22(日) 12:28:50.40ID:fDht+F2y
もう答えた
>>397
421デフォルトの名無しさん
垢版 |
2018/04/22(日) 15:34:45.59ID:4jEar62+
自分から「機械語のレベルと相性が悪い(>>378)」と言ってるのに
「具体的にはどういうこと?(>>395)」と聞かれて、
その返答(>>397)に機械語のことが一切出てこないのは流石に草
2018/04/22(日) 20:55:11.63ID:jr6NU+gW
英語で説明する以前に日本語でのコミュニケーションに難ありなのか
日本語ネイティブじゃない方なのかな
2018/04/22(日) 22:58:46.99ID:lYpO0H1A
機械語との相性のいいC,C++のソリューションって、機械語バイト列を関数ポインタにキャストして呼び出すとかじゃないの?
そんなことRustでできるようになって欲しくはないな。
2018/04/22(日) 23:13:49.80ID:KagmHCpN
できるよ
推奨してないけど
2018/04/23(月) 00:45:39.39ID:Fi1E6adA
JITとかそういう用途?
2018/04/24(火) 00:26:37.67ID:IHcLIR+Z
rustで書かれたjitなかったっけ?

ところでrustで書かれたウィルスとかマルウェアとかないよな。
goならMiraiで使われてたけど。
2018/04/27(金) 21:30:01.00ID:Tx6nrcMv
C/C++の弱い型付けによるキャストは機械語と関係ないだろ
Rustは強い型付けしか原則許してなくてunsafe使えば弱い型付けも出来るけど好んでする必要性はないよねー

プログラミング言語と機械語の間はC/C++もRustもLLVM IRで仲介されてるから、どっちかだけが相性良いとかなさそう
LLVM IRじゃなくGas仲介するとこう違うんだよ、くらいの反論を期待してみるテスト
2018/04/27(金) 23:30:19.86ID:AfC0onIC
>>427
フロントエンドの話してるのに、バックエンドがLLVMだから違いなどない!は、おかしいのでは?
そんなこと言い始めたら、言語仕様の優劣など語るに値しないということになってしまう。
2018/04/27(金) 23:43:23.39ID:MR18u0zM
>>427
Any使ったdowncastはunsafeじゃないけどどういうコードの話してんの?
2018/04/28(土) 16:19:50.16ID:6S6rcsk3
このRustのチャットみたいなのって公式のもの?

https://gitter.im/rust-lang/rust
2018/05/01(火) 14:27:18.61ID:riKaEN0n
rustでフォントをレンダリングしたいのですがfont-rsやfreetypeなどの設定逆引き的なサイトってありませんかね?
チュートリアル的なサイトは見つかるのですがそこから突っ込んで使用したい場合に参考になりそうな情報がみあたらないです
レンダリングされる線を任意の幅にしたいです
極細フォントを使って線幅1ピクセル×2=計2ピクセルでアンチエイリアス無しみたいな感じの結果が欲しいです
2018/05/01(火) 14:37:54.06ID:riKaEN0n
具体例を補足します
出力が2値の場合に普通にレンダリングした物を減色してしまうと線幅の不均一になったりディザが掛かってしまって
表示品質が極端に悪くなってしまうのでそれを防止したいです
たとえば「田」みたいな字をレンダリングして減色するとある線は1ピクセルだけど別の線は2ピクセルになってしまったり
交わるところに不要なドットが出現したりします
それを全て任意の線幅に統一したいです
2018/05/01(火) 14:58:24.50ID:8Qa5eQjM
ここはアンチスレなので、まともな質問はslackへどうぞ
2018/05/02(水) 04:26:15.76
えぇ。。
2018/05/02(水) 04:45:47.66ID:JZRYx+4v
https://rust-jp.herokuapp.com/

rustのslack
↓のサービス使ってオープンにすればよい
http://slackarchive.io 👀
Rock54: Caution(BBR-MD5:b95868ef2c0ed5e765a4d10ada4cf289)
2018/05/02(水) 11:08:56.76ID:C2OG+VM0
Rustってカルトみたいなもんだよな
実態はスカスカで教祖の金儲けに使われてるだけなのに、信者は正義と信じて疑わない辺り

slackなんて内輪の集会に逃げ続けて表の評価に曝されることを避けてる時点でまともなプログラミング言語じゃない
2018/05/02(水) 11:13:07.30ID:9TOinEtH
>>436
Rustの提案するエセソリューションは機械語のレベルと相性が悪い
CやC++のほうがまだまともなアプローチしてる
2018/05/02(水) 11:39:02.32ID:C2OG+VM0
>>437
お前はさっさとその答え教えてくれよ
Rust批判するにしてもコンピュータの知識皆無すぎるわ。批判側がお前と同じ知的レベルに見られるのがクソ
2018/05/02(水) 11:55:03.24ID:9TOinEtH
>>438
へー今日はたくさん書き込むつもりなんだ
2018/05/02(水) 12:31:00.89ID:ZVrvL9q8
こちらはまともなアンチとキチガイアンチのスレになります。
2018/05/02(水) 12:53:31.01ID:vKwn9vOL
いやどっちもキチガイだから
2018/05/02(水) 12:58:01.18ID:vKwn9vOL
>>436
表の評価(2ch)wwww
2018/05/02(水) 20:38:46.50ID:Ua9w95BC
少しずつRustの研究が出てきたね
ttps://arxiv.org/abs/1804.10806
2018/05/03(木) 01:12:08.40ID:Sirn7AO1
win10 rs4にしてからrustdocが遅い。
rs4にMeltdown/Spectre対応のパッチも含まれてたんだろうか。
445デフォルトの名無しさん
垢版 |
2018/05/03(木) 02:54:28.33ID:Rj4yBmSF
Rustを導入している企業・組織の一覧をご覧ください


https://www.rust-lang.org/ja-JP/friends.html
2018/05/03(木) 08:55:22.99ID:4wWpk2nD
Windows defenderが動いてるとかでは
2018/05/03(木) 12:04:38.70ID:y3R7schb
少なくとも5chではgoよりrustの方が盛り上がってるな。
2018/05/08(火) 01:41:55.63ID:jFUdx6HI
impl traitはよ
2018/05/08(火) 21:29:46.74ID:RGDg6ogT
パフォーマンスとマルチスレッドを理由にRustを採用という事らしい

https://logmi.jp/282807
2018/05/08(火) 22:15:52.43ID:W4Ax9FiD
ドワンゴといい、ヤバい会社の指標としていいねw
2018/05/08(火) 22:23:27.27ID:T0pMALEX
機械語のレベルと相性が悪いしなw
452デフォルトの名無しさん
垢版 |
2018/05/08(火) 22:26:07.82ID:EnN/pyur
>>450
>>445
これでもそんな知恵遅れみたなこと言うの?
2018/05/08(火) 23:31:08.80ID:W4Ax9FiD
同じリストを他言語でも作ってみたら?
どれだけバカなこと言ってるかわかると思うよ。
454デフォルトの名無しさん
垢版 |
2018/05/08(火) 23:52:08.90ID:EnN/pyur
ああそりゃ分かるだろうね、是非作ってみたまえよ
2018/05/09(水) 00:11:01.28ID:ZcDO5kt6
>>449
謳い文句通りの「速度とマルチスレッド」で選んだら後でめんどくさいよ。
MIRの導入もなかなか成果出てないし、同期はセマフォ/ミューテックスしかなくて
javaみたいに高レベルから低レベルまで自分で書けるわけじゃないし、
non blocking ioも、lock free collectionもなくて外部ライブラリへの依存度が極めて高いし、
cargo腐ってるせいでrustのtooling絡みのissueが日に日に増えるし。

rustの良いところは言語の部分だからコアな機能使わないなら他言語のほうが良い。
土方の要求には合わないでしょ。

それよりimpl traitまだー?
456デフォルトの名無しさん
垢版 |
2018/05/09(水) 00:44:09.86ID:D/4RZNTl
間も無くなんだから静かに待ってなさい
2018/05/09(水) 08:29:25.33ID:SINErtCB
>>449
これってgoでは無理だったんかね?
単純に趣味の問題?
2018/05/09(水) 13:55:28.84ID:9bmRNzTn
goって言語仕様でマルチスレッドによるデータレースを起こさない仕組みってあるの?
無かったらその部分が大きいのでは?
2018/05/09(水) 15:04:31.38ID:bH4TOh4o
goはchannel経由にすれば自動的にアトミック
mutex部分が隠ぺいされてるので意識する必要が無い
460デフォルトの名無しさん
垢版 |
2018/05/10(木) 01:52:41.29ID:8hhZ9q5s
むしろrustがなぜチャネル的なもの入れなかったんだ?
2018/05/10(木) 02:11:20.77ID:71z1/J2u
標準にも外部crateにもいっぱいあるだろ
ライブラリとしてではなく言語仕様としてという意味か?
2018/05/10(木) 10:12:22.36ID:sqBEyANZ
>>459
言ってることがよくわからんメモリ共有は基本的にmutexみたいな物はついてない気がするけど。基本的にchannel経由で情報交換しない方針にすれば
データ競合は防げるって話では?

rustってデータ競合がコンパイル時点で防げるって意味がわからん。
そんなことがかのうなん?
2018/05/10(木) 10:16:06.63ID:sqBEyANZ
>>462
X 基本的にchannel経由で情報交換しない方針
○ 基本的にchannel経由で情報交換する方針
2018/05/10(木) 10:17:49.30ID:sqBEyANZ
>>463
詳細はこちら
Goでスレッド(goroutine)セーフなプログラムを書くために必ず注意しなければいけない点
https://qiita.com/ruiu/items/54f0dbdec0d48082a5b1
2018/05/10(木) 13:22:21.00ID:MOe7VLfi
数十GBのオブジェクト管理は、gc待ちきついからオフヒープでとか、(これ聞いたときよりgcは良くなってる)
goroutineで確保したメモリは解放せずgoが管理するから、常駐で同時に大量に走ると解放されないとかはあるみたい。
2018/05/10(木) 13:35:12.76ID:71z1/J2u
>>462
それが売りの一つなんだから当然出来る
具体的にはこれでも読んでくれ

https://rust-lang-ja.github.io/the-rust-programming-language-ja/1.6/book/concurrency.html
2018/05/10(木) 18:25:01.25ID:0Uo+Yl5e
以下の場合に&*fで具体的にどうなってるのかが分からない
*でderefされてトレイトオブジェクトの実態になって、&を付けることで再度トレイトオブジェクトになってる?
ちなみにexec(f.deref())だとそのまま通るけど、これはBoxのderefが&Tを返すからだよね?
*だとBoxのderefで返った&Tではなく、さらにderefされてTが返っているってこと?


fn create() -> Box<Fn()> {
Box::new(|| println!("test"))
}
fn exec<F: Fn()>(f: F) {
f()
}
fn main() {
let f = create();
exec(&*f);
}
468デフォルトの名無しさん
垢版 |
2018/05/10(木) 21:37:45.30ID:r2ZBYv9N
Derefを実装した型に対しての*xは*x.deref()の糖衣構文
つまり、&*xは&*x.deref()と同じで、それはつまり、x.deref()と同じ
2018/05/10(木) 22:16:14.49ID:0Uo+Yl5e
なるほど
*x ==x.deref() って言う認識だったのが間違ってたのか
ありがとう
2018/05/12(土) 02:06:23.28ID:6a2pRrds
impl trait来たな
471デフォルトの名無しさん
垢版 |
2018/05/12(土) 14:27:50.20ID:CbmhA0Cx
きた
2018/05/14(月) 08:56:23.29ID:+8ra2A+L
久しぶりにRustやろうと思ったけど公式リファレンスが最新版に追いついてないのな
どっかに変更履歴のまとめとか無いのかな
473デフォルトの名無しさん
垢版 |
2018/05/14(月) 12:00:52.07ID:fAXXTBeo
>>427
公式リファレンスって何のことを指してるんだ?
APIリファレンスならきちんと最新版に追従してるし、
チュートリアル(The Book)も2nd Editionがきちんと出てる
バージョンアップの追従ならリリースノート見るかRustの公式ブログ見れば大体分かると思う

Rustは6週間に1回のハイペースでマイナーバージョンアップ繰り返してるから
The Bookのほうは最新版に追いつくこと自体がほぼ不可能だと思うけど
(つい最近もimpl traitがstable化されたばっかりだし…)
474デフォルトの名無しさん
垢版 |
2018/05/14(月) 12:06:29.06ID:fAXXTBeo
>>473
間違えた
X >>427
>>472
2018/05/14(月) 21:32:55.87ID:+8ra2A+L
そのimpl traitが気になってまたRustやろうと思ったんだけどね
全機能の索引みたいなのがないと学習効率が落ちる
2018/05/17(木) 09:49:24.40ID:iDnHcMfd
rustって生産性高い?
安全性が高まって結果的に高くなるということではなくね
やっぱでかいプログラムじゃなきゃ使う効果ない?
2018/05/17(木) 10:44:40.51ID:eZl7hMvh
Javaでnull参照が10億ドル単位の損害と言われてるので
RustはJavaより10億ドルほど生産性が高い
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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