プログラミング言語 Rust 3 [無断転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2017/05/21(日) 14:04:29.55ID:9L9dm7b/
Mozillaがリリースした、プログラミング言語「Rust」について語るスレです。

http://www.rust-lang.org/
https://github.com/rust-lang/rust

Servo
https://servo.org/
https://github.com/servo/servo

◆前スレ
プログラミング言語 Rust 2
http://echo.2ch.net/test/read.cgi/tech/1478023960
2017/09/02(土) 19:03:59.64ID:AHW4eZK5
ウォーズマン理論により各言語の普及率(PG人口比)でスコアを倍加すると
数の暴力が発揮されJavaが最強のプログラミング言語であることが証明される

とでも言えば風情があるのかね?
2017/09/02(土) 19:58:54.78ID:X2T/f4uE
風情駆動開発
2017/09/03(日) 01:23:29.76ID:KzrJfOQ0
ネタにマジレス以下の寒い話だな
706デフォルトの名無しさん
垢版 |
2017/09/03(日) 02:55:54.90ID:8KnlJyLG
ネタに対する模範解答って『やはりRust最強だな!』とか?
2017/09/03(日) 09:50:38.50ID:YZmIGy7N
>>705
風情の有無を話してるのであって、寒さ暑さを話してるんじゃないんだけど

>>706
まずはageないことから始めよう、な?
708デフォルトの名無しさん
垢版 |
2017/09/03(日) 11:35:08.63ID:CVrfF8Ix
>>702
わび・さび ですよね、わかります
I know. sorry & rust
2017/09/03(日) 12:50:33.18ID:E+2Ill1j
お前ら、associated constantsがstableになったってのにいつまで下らない話を続けているんだ
2017/09/03(日) 13:04:30.79ID:Zk5wiRrT
関連定数が乗ったなら、次は依存型だ!
2017/09/03(日) 13:07:07.67ID:9s1YDGRT
依存型はやり過ぎだ!高階型でいい!
2017/09/03(日) 14:56:28.19ID:3Ui33to1
impl Trait と トレイト境界の特殊化の実装が先だろ……
これのせいで書けないコードあるんだぞ
2017/09/03(日) 14:59:38.46ID:E+2Ill1j
きっとimpl periodのうちに全部実装してくれるよ(適当)
2017/09/03(日) 16:40:58.80ID:Sqyt1HzW
async を汎用的に実装するなら モナド ( M<T> ) 的な高階型が必要?
2017/09/03(日) 17:05:48.88ID:4Saw+NMi
emccなしでwasmれるって本当?
2017/09/03(日) 20:29:20.09ID:HVXRIsjy
linkerとしてemcc必要では
2017/09/04(月) 01:02:25.35ID:TiSfjsBP
そもそもwasmなんて誰が必要としてるんだという問題がある
実際現状wasm使うよりV8の方が速いだろ
2017/09/04(月) 02:18:35.33ID:yWQauj9l
実験的な機能に現時点での必要性を求められても……
2017/09/04(月) 03:38:50.42ID:B0/qvj/R
JSの分野でもRust使いたいじゃん
2017/09/04(月) 03:56:46.84ID:acsdbygY
asmjsが早いんだからランタイム側の対応が十分進めばwasmも早くなるでしょ
2017/09/04(月) 10:53:07.99ID:e2EV4sJ/
>>719
Rustなんて実用にならない言語未満使うくらいなら、クソとはいえ言語の体なしてるJS使うわクソ
2017/09/04(月) 12:07:05.02ID:Wptm5Fxj
好きな言語を使ったらええ
2017/09/04(月) 20:51:30.52ID:hGu6xlI4
お前らslackにまけとるやんけ
2017/09/04(月) 23:53:57.54ID:yWQauj9l
いつの間に戦っていたのか
2017/09/05(火) 02:01:35.76ID:a/Cb1ZW9
Hack&Slack
2017/09/05(火) 04:46:57.50ID:kj7TSLdS
@seanmonstarがMozillaを辞めるとか言いだして一瞬ギョッとしたけど、次の職場ではフルタイムでRustを使うと言っているからhyperの開発はむしろ加速しそう?
http://seanmonstar.com/post/164869651177/bye-mozilla-hello-bouyant
2017/09/05(火) 07:50:37.72ID:JsNUX7wh
rustってまだ俺の中で実験言語だけど
そろそろプロダクト作ってる人とか出てる?
2017/09/05(火) 10:31:25.11ID:Xe9ypjwu
>>727
噂では泥箱あたりが使い倒してるとか
ずっと前から言われてるけど未だにコードの一つも公開されてないからただの提灯持ちで実際は使われてないと見てるがね
2017/09/05(火) 10:34:56.85ID:Xe9ypjwu
Rustが1.0過ぎてから今に至るまで、Rust使ってるって主張する企業は
モジカス自身と個人情報おもらしの一件で何かしら話題とお金が欲しい泥箱しか見ないって時点で色々と察するべきなんだよ

お前らいい加減目を覚ませ
2017/09/05(火) 12:37:41.86ID:xNvKf2Ex
https://www.rust-lang.org/en-US/friends.html
2017/09/05(火) 13:37:05.48ID:Fbd5ldy5
見たことのないフレンズばかりだね
2017/09/05(火) 14:44:43.29ID:Xe9ypjwu
>>730
そのうちモジラのフロント企業じゃないのはいくつだい?
2017/09/05(火) 14:48:42.01ID:a/Cb1ZW9
ID:Xe9ypjwu
この異常者まだ居たのか
2017/09/05(火) 16:16:47.13ID:yjuOh0Qw
LINEはモジラのフロント企業
2017/09/05(火) 17:49:37.05ID:RCCGTejb
dropboxやsamsungもmozillaのフロント企業の可能性が・・・?
実はmozillaってすごい会社なんじゃね
2017/09/05(火) 19:27:40.10ID:JsNUX7wh
rustっていまいち売りがないよな。
ちょっとしたツールを作るっていうのには向いてない気がする。
Goくらいの適当言語がちょうどいい。
2017/09/05(火) 19:44:37.37ID:RqVBFvg5
ちょっとしたではなく、きちんとしたソフトウェアを書くための言語だよ
2017/09/05(火) 19:51:45.33ID:gLY7ZEwx
Rustは、型システムがきちんとしてないとイライラしてしまう人向けの言語だよ
2017/09/05(火) 23:06:17.75ID:iU8sfTGh
システムに近いところを触るバックエンドのデーモン等に向いた言語だよ
2017/09/06(水) 00:48:38.63ID:UIwOcimL
SIGSEGVに絶望したくない人のための言語
2017/09/06(水) 09:02:56.43ID:Sz3zXSu8
パッケージのインストールだけで長時間かかるのだけ何とか改善してくれる神様たちっていないんですかね
issueにそういう要望とか出ないものですかね
2017/09/06(水) 10:49:22.58ID:XzXTbCma
前にも出てたけど、CARGO_TARGET_DIRを設定すればさっきそれコンパイルしたじゃん!ってのが無くなる
まあコンパイルそのものは遅い方だからそれは我慢する
2017/09/06(水) 16:57:20.79ID:LVeCvIyg
Celeronの1コア、メモリ1GBなのでパッケージによっては5時間経ってもコンパイルが終了しないんですよね
例えばclippyとか。
パッケージのアップデート毎に結局更新されたものをコンパイルし直すからCARGO_TARGET_DIRの設定してもあまり変わらないような気もします
Core i7やryzen、メモリ8GBとかだともっと早く終わりますかね?
2017/09/06(水) 17:03:33.32ID:SQ4/Zkph
お前には Core 2 Duo がお似合いだ
2017/09/06(水) 18:26:50.13ID:n6C9v4DP
コンパイラ、コンパイラドライバ、パッケージマネージャをそれぞれ独立して利用しやすくして欲しい
ポストC/C++を目指しているはずなのに言語仕様と関係のない制約が増えるのは勘弁
2017/09/06(水) 18:51:54.27ID:l44s4mC+
https://github.com/mozilla/sccache
2017/09/06(水) 19:10:48.28ID:VuLMXPgk
>>745
java, phpが独立した3rd tools乱立でひどいことになったから
次世代は低レベルと高レベルの2レイヤーを公式に提供しようぜって現代の風潮でそれに沿ってると思うが
あいつら個々に独立したビルドシステム, テスター, パッケージマネージャー, ランチャーが乱立して辛い
rustやgoは公式で色んなものが利用しやすく整備されてて涙が出るよ, マジで

rustの公式ツールに不満があるなら3rd toolsを自分で作れば良いよ
誰も作るなとは言ってなくて、作ること自体は止められないはず、賛同する人がどれほどいるのか懐疑的だけど
2017/09/06(水) 19:12:16.98ID:VuLMXPgk
低レベル:rustc, 高レベル:cargo って意味な
2017/09/06(水) 19:37:16.90ID:n6C9v4DP
Rust=Cargoな感じになっているように思うのは俺だけなのか?とりあえずCargoを使え的な記事ばかりでrustcを活用する記事はほとんど見ない
ちょっと高度な事をしようとすると絶望的に情報がない。さらにrustcの不安定性(機能しないオプションがある)が追い打ちをかけるw
2017/09/06(水) 20:12:23.66ID:OeC1JAcK
まあ今のRustとmakeを組み合わせようとはちょっと思えないな
2017/09/06(水) 20:27:57.04ID:b9fzClHU
ビルドにcmakeを要求するのに、エラーメッセージが分かりづらくて
はっきりとcmakeの必要性が分からないcrateが結構ある

依存ライブラリ一つ一つまでreadme読まないし
2017/09/06(水) 20:57:11.59ID:58f4P28i
cargo3兄弟
2017/09/06(水) 21:15:39.15ID:VuLMXPgk
build.shからmake叩いて、更にmakeからant叩いてたjava全盛期に比べれば多少はね
cmakeの代わりにbuild.rs(及びgcc-rs)使えば良いんだろうけど、build.rs書くの面倒でcmakeに走ってる予感

gcc-rsの機能拡張としてファイルパターンマッチ的なものが提供されたらcargoからcmakeも駆逐されるかもねー
あんまりbuild.rs使わないから既にデファクトスタンダードなcrateが存在してたらすまぬ
2017/09/06(水) 21:32:03.27ID:9SnBSqY1
そこまで分かっててなんでRust使い続けようと思うんだお前ら……
2017/09/06(水) 21:35:26.17ID:5mAj6AyW
cargoが便利だから
2017/09/06(水) 22:38:49.71ID:vuSxRzDq
https://blog.rust-lang.org/2017/09/05/Rust-2017-Survey-Results.html
ところで夏サーベイの結果出てるな

分かってたがNightlyの使われっぷりに吹く
2017/09/07(木) 01:09:15.04ID:pG20pyYC
だってRust会社で使えないしー が1位でRustむずいよーこわいよー が2位か
2017/09/07(木) 07:25:42.24ID:2QTh9NrO
CrateがCargo前提になっていて他のビルドマネージャやrustcからは実質的に使えないよな?
2017/09/07(木) 10:39:04.19ID:S617O9ZV
cargoって裏でやってることはrustcのラッパじゃなくて独自の方法でコンパイルしてるのか?
ひでえ仕様だな
2017/09/07(木) 18:01:04.73ID:QzkAwThZ
>独自の方法でコンパイルしてる
そんなことはないはずだが、どこからそんな情報が出てきたんだ?
2017/09/07(木) 21:46:15.77ID:seYx4u2p
crateが実質cargo専用になってるってbuild.rsとかその辺のことか?
2017/09/07(木) 22:56:42.47ID:wVi6dnoF
crates(.ioからのダウンロード、及び、crateの依存解決/分割ビルド)が実質cargo(コマンド)専用と言いたんじゃないのかな
curlでダウンロードして、rustcで.rlib作る分割コンパイルすれば出来なくはない
cargoコマンドのコードは開示されてるから自分で頑張れ, https://crates.io/crates/crates-io

rustcを使いこなせずcargo未満/rustc以上ツールの車輪の再発明を熱望する無能と
rustのコンパイルできるコードを書けず挫折したアンチが合わさり話が明後日に向かっておるわ
2017/09/07(木) 23:20:58.99ID:Aqe6d3N/
cargo install に download-only オプションがつけばいい流れ?
2017/09/08(金) 00:39:59.57ID:XDOpFOHk
>type hello.rs
fn main() {
println!("Hello World!");
}
>rustc -V
rustc 1.19.0 (0ade33941 2017-07-17)
>rustc hello.rs
>rustc -v hello.rs
>
-vが効いていないように見えるけど仕様なの?
コンパイラやリンカに与えられているオプションとかを見たいんだけどどうしたらいい?
2017/09/08(金) 03:12:39.89ID:70HlBZeV
rustc -Z print-link-args hello.rs

https://github.com/rust-lang/rust/issues/36175
2017/09/08(金) 07:52:33.56ID:cSX02n8Z
それはnightly限定ですやん
2017/09/08(金) 15:02:00.13ID:2+W6iI80
スコープでインスタンスの寿命を静的に管理しようってのは面白いと思うのだが、
再帰的な構造とか扱う場合の簡易さをも少し考えるべきだったね。

まああんまこだわらなければ結構使いやすい気はするけど。
2017/09/08(金) 16:10:21.35ID:jNusN9J0
こだわるも何も木構造まともに書き下せない言語の用途ってなんだよ

https://amp.reddit.com/r/rust/comments/33jv62/vecrcrefcellboxtrait_is_there_a_better_way/
この辺の問題も一行に解決してないし
2017/09/10(日) 00:10:13.39ID:EaeDwKWj
まあ raw pointer 使えば何とでもなるし(震え声)。
2017/09/10(日) 15:21:33.90ID:Z1fxPFbT
木構造は書けるでしょ
難しいのは巡回するグラフ構造
2017/09/10(日) 16:53:04.07ID:6IGW1QFW
>>770
木構造の一番いいサンプルおしえてよ
2017/09/10(日) 21:30:15.59ID:/y0BRE7n
木にせよ一般のグラフにせよライフタイム管理が面倒くさい
2017/09/10(日) 22:30:44.85ID:/LC/x3j3
この辺とか?
http://agtn.hatenablog.com/entry/2017/01/16/151745
ただ入れる操作によっても RefCell にしたり、やっぱり面倒は面倒。
2017/09/11(月) 00:36:42.39ID:xCZu5AEB
ぐええ、隣接リストとアリーナの違いがよく分からない
2017/09/11(月) 06:43:38.80ID:Yii5jhjx
768はこれがまともじゃないっていいたかったんでしょ。
2017/09/11(月) 10:26:55.85ID:XW0rQ7er
CやC++ならポインタ持っておくだけで簡単に実現できるのに……
2017/09/11(月) 23:14:03.66ID:0LGm7EQD
C++使うか、unsafe使えば良いのでは
2017/09/11(月) 23:14:47.15ID:0LGm7EQD
Rc+RefCellな型を用意するだけでもマシになるか
2017/09/12(火) 00:26:37.00ID:nVT3ZJzi
ていうか練習ならともかく実際に使うプログラムでポインタをつないでグラフを表現することなんてそんなに頻繁にあるか?
取りうる表現の中で効率性が最悪な部類じゃん
Vecに対するLinkedListみたいなもんだろこれ
2017/09/12(火) 01:20:27.09ID:Tl3HhyXK
オブジェクト指向っぽいAPIを触るときはだいたいその形にならない?
2017/09/12(火) 03:08:23.10ID:CK+WAwk/
グラフの時だけ、ガベコレ使えるGc型が欲しい
2017/09/12(火) 08:30:34.06ID:mcDW5eHR
じゃああんたは現実世界でツリー構造のものをどうやって表すの?
2017/09/12(火) 11:30:27.08ID:u82oOWPv
>>779
VecじゃなくあえてLinkedList使う場面普通にあるんだが……
2017/09/12(火) 14:48:49.21ID:+kMyckKw
linux の赤黒木の実装はポインタベースではあったな。
しかし個人的には配列実装のが結局速いって気はする。
2017/09/12(火) 15:07:56.52ID:yDRUgdvZ
Effective Hogeでそういうことは言及されてるけど
Rustはどうだかなとドキュメント見たらSecond Editionで"Effective Rust"の節自体が削られとる:-(
Stack vs Heapはどこかに記述されてた覚えがあるから、ツリー/リスト操作もどこかに潜り込んでるのかなぁ
2017/09/12(火) 17:41:48.32ID:r07bb/MI
配列ベースの実装はポインタの代わりにindex使うだけだからできることはあんまり変わらんわな
配列の方がデータの局所性高そうで速そうではある
2017/09/12(火) 18:02:30.56ID:kvuESNKU
データ構造によって速い操作が違うという基本的な概念がない奴おるな
2017/09/12(火) 18:50:57.82ID:wPca0Ysf
vectorのmutabilityの問題があるの理解できてる?
2017/09/12(火) 18:53:28.85ID:O0/aVCto
>>779
効率ってなんの効率?
2017/09/12(火) 22:05:08.25ID:RDvyqWgj
>>787
まあそういう無能がありがたがる言語なんだろうなRust
2017/09/12(火) 22:20:04.05ID:SHXpQI2F
mutabilityはRefCell使えば良いのでは
Refcell使わずにVecの中身を直接触る必要ある?
2017/09/12(火) 22:27:17.20ID:wPca0Ysf
>>791
いや、それでいいかも
rcさえなくなればborrowをユーザに書かせなくてすむからそれでいいや
2017/09/13(水) 14:03:19.87ID:K9O6G+Si
低レイヤーできます!ってアピールしたい言語なんだろうけれど、
あんま向いてない言語な気はする。
2017/09/13(水) 14:56:53.13ID:6DzbMbn9
低レイヤを書くにはチェッカーが強すぎて邪魔で、高レイヤを書くには全くカジュアルさがない
どっちにもなれない哀れな言語よ
2017/09/13(水) 18:10:30.60ID:dAYfacw9
並列で大規模で低レイヤーな領域に向いた言語だからどれか一つでも欠けてる領域で使いづらいと思うのは仕方ない
2017/09/13(水) 20:06:39.58ID:fx0j+lzd
低レイヤーはやっぱC言語だな。
ポインタの習得が難しい事以外に欠点ないじゃんこの言語。
Rustはもっとポインタ扱いやすくして出直してきな。
2017/09/13(水) 20:42:07.11ID:SU8+D2f1
rustの並列処理って言うほど特化(最適化)されてる気はしないけどな・・・
スレッド跨いだオブジェクトの所有権譲渡も保障されてはいるけど、従来言語/ライブラリに比べてめっちゃ便利という感じはしない
futures-awaitとかyieldを使うと変わるのかねぇ、無くても困りはしないしと使ってないけどfutures-awaitは使ってみるかな
2017/09/13(水) 20:42:42.41ID:K9O6G+Si
C だっていろいろ批判はあるだろ。
型がゆるいとか、名前空間がグローバルしかないとか。
まあそれを差し引いてもやっぱ有効な言語と思うけど。
2017/09/13(水) 20:49:43.29ID:6DzbMbn9
>>798
Rustのコンパイル通す実力あるならCのその辺りの問題なんてないものと同じだから
Rustなんて使わずCでいいじゃんってなるんだよな
2017/09/13(水) 20:52:03.57ID:SU8+D2f1
とか思ってたら、yieldの方が公式nightlyにマージされたのか
futures-awaitもnightly要求するし素直にyieldの方を使ってみよ, stableにはいつ来るのかなぁ
2017/09/13(水) 21:19:48.43ID:KPH4Bf/5
今さら C はねえよ
2017/09/13(水) 21:41:03.71ID:6DzbMbn9
>>801
Rustよりはあるわ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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