プログラミング言語 Rust 4

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2017/10/14(土) 17:38:14.04ID:uWD69LeP
Mozilla発のプログラミング言語「Rust」のスレです

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

前スレ
プログラミング言語 Rust 3
https://mevius.5ch.net/test/read.cgi/tech/1495343069/
2017/10/14(土) 17:50:32.20ID:TG6KQnkb
乙py
2017/10/14(土) 19:21:55.29ID:exUih+Y4
rustって難しいの?
使いにくい言語って結局クソじゃね?
有難がってるのって信者だけ?
2017/10/14(土) 20:28:14.94ID:5CxcJldf
簡単だからみんなに愛されてるよ
2017/10/14(土) 20:49:22.17ID:d/ZcF8z5
低能には無理なだけ。
2017/10/14(土) 21:21:44.96ID:MEMAbYNQ
乙rs
7デフォルトの名無しさん
垢版 |
2017/10/15(日) 02:22:15.99ID:Gzamsjai
>>3
厳しい先生だと思う。
でもそれは俺らのためでもあって、rust先生の審査を通ったプログラムは安全と言える。
ただ先生も普段が厳しすぎるとは思ってるので、わかってる奴ら用にunsafeって抜け道も用意してくれてる、、、
そんな感じ。
2017/10/15(日) 17:08:59.82ID:OLs+Obq4
>>3
そう。信者と本山(モジラ)だけ
試しにAPIサーバでも書いてみりゃ即この言語使えねえってわかるぞ
2017/10/15(日) 17:11:39.41ID:OLs+Obq4
あと何度もいうけど「Rustのコンパイル通らないプログラムは危険」とかいうデマゴーグが嫌い
きちんと状態管理すりゃいくらでも正しく動くのに
やれstatic領域は排他制御しろだのやれこの変数はスコープ明示的に切れだのいらんことばっかいうのがRustコンパイラな
2017/10/15(日) 17:45:57.69ID:rS8Rkw3L
書きやすさは一旦置いといたとしても
保守のしやすさってどうなんだろうか
この言語は、保守しやすいコードへ導く言語なんだろうか
2017/10/15(日) 17:55:29.27ID:OLs+Obq4
>>10
一度書いたものを書き換える度にコンパイラが奇声をあげるので変更もままならないという意味では保守性()は高いかもな
メンテナンス性がまったくないともいう
2017/10/15(日) 18:15:28.06ID:rS8Rkw3L
>>11
メンテナンス性はまったくない、でFA?

言語とのしてのメンテナンス性の傾向ってのは
さほど語られてるのを目にしないけど個人的には

Java
10年後数万行のコード見てもわりと整然としてる
あとから何度も手を入れて運用していける

Ruby
最初書きやすい、表現力が高い?と感じながらスイスイ書いていける
半年後、雑然としていてまったく読めない
クソみたいなコード書いた自分が悪いとはいえ

↑こういう感想を抱いている
2017/10/15(日) 18:56:05.11ID:OLs+Obq4
そもそもRustはプログラミング言語として破綻してるので、
モジラ信者でもない限り使わん触らんが一番幸せだ

悪いことは言わんからRustのことは忘れろ
2017/10/15(日) 19:40:50.30ID:tVDbMyAt
>>13
ほんと定期的に沸くなこのアンチ

>>12
メンテナンス性でいうなら、最初に型さえうまく設計してれば結構拡張性あるから、
その辺はどっちかというとHaskellに近いかな
クセはあるけど型をきちんと理解して最初の設計に組み込んでおけばかなり自由が効く

最初の型合わせゲームは辛いけどな
2017/10/15(日) 21:01:33.85ID:hXoFufWE
ID:OLs+Obq4 くらいの基地外になれば100年だって粘着する。
2017/10/16(月) 00:56:00.52ID:L0xOtnmA
firefoxをRustで書けるわけないと言ってたのがMozilla以外使わないに後退したのか
17デフォルトの名無しさん
垢版 |
2017/10/16(月) 01:34:41.28ID:fJuedXc2
>>16<br>
そりゃまぁ、事実としてmozillaがRustでfirefoxを書いちゃったからな

firefox Quantum beta 試してみたけど確かにchrome並みに速くなったな
そしてchromeよりメモリは食わないのが良い
でも正直、俺はメモリ不足を感じたことがないからChromeベースのVivaldiを使い続けるが

無事にfirefoxも出たことだしRustもう少し普及してくれないかなぁ
2017/10/16(月) 06:58:12.63ID:tAuyK94w
quantam はcssしかrustになってないからまだ速くなるらしいぞ
19デフォルトの名無しさん
垢版 |
2017/10/17(火) 15:47:54.26ID:wIRdElZt
>>18
ブラウザのレンダリング速度ってcssをどれくらい速く捌けるかが大部分なんじゃないの?
それ以外がRustになったところで速くなるといっても微々たるものなのでは...

Servoって確かJSエンジンは従来のSpiderMonkeyをそのまま使ってるんだよね
JSはGCあるし、DOM管理(Rust側のDOMオブジェクトとの連携)とかどうやってるのかよく分からんけど
DOM管理の部分とかがRustになったらさらに速くなるのかな?

今のQuantumってGecko全体の何%くらいがRustになってるんだろう?
2017/10/17(火) 18:19:17.27ID:+iMUpGrE
firefoxはまだまだchromeに負けてる
https://www.phoronix.com/scan.php?page=article&;item=firefox-quantum-bench&num=1

rustの力ではよどうにしかして😣
2017/10/19(木) 23:42:22.47ID:IsyCcSeh
というか Servo はいつになったらまともに動くようになるんだろう。
精力的に開発が行われているのに、数クリックでフリーズする状況が年単位で続いているのが謎すぎる。
2017/10/20(金) 00:07:38.98ID:wgfDnpHi
>>21
数クリックでフリーズってどういう事?
普通に動くぞ
2017/10/20(金) 00:17:55.96ID:rZiWAdIU
>>22
定期的にバイナリ落としてきて Windows/Linux で試しているけれど、リンクを数回辿る
くらいの操作で入力を受けつけなくなる。 Windows と Linux は物理的にも違うマシン
だし、おま環じゃないと思うんだけどなあ。
24デフォルトの名無しさん
垢版 |
2017/10/20(金) 02:33:32.00ID:Ka6W9rl7
>>23
下のサイトでnightlyビルドで公開されてるやつ試したが日本語サイトは全滅だった。
英語サイトならWikipedia, Github, Rustの公式サイトあたりは見れたぞ。
Amazon, youtube, google mapは動かなかったが。。。
ちなWin10ね

https://servo.org
2017/10/21(土) 15:27:07.62ID:QcSDmzOK
>>24
起動直後にそれらのサイトにアクセスすると普通に動くけれど、
そのままリンクを辿ったりするとフリーズしない?
こちらもそこで落とした Nightly on Win10.
2017/10/21(土) 15:39:44.95ID:01QdRZD5
rocketというwebフレームワーク気になる

そもそもrustってwebサーバーに向いてる?🤔
2017/10/21(土) 16:07:39.00ID:guA6ZzKE
rocketワイも気になるンゴ
2017/10/21(土) 18:49:44.39ID:JlJoedU7
trait Foo: Sized {
const BAR: Self;
const BAZ: Self = Self::BAR;
}

beta や nightly では通るのに、stable ではエラー出して通らないのな。
2017/10/21(土) 22:00:10.66ID:guA6ZzKE
30デフォルトの名無しさん
垢版 |
2017/10/21(土) 22:37:04.09ID:WA0WypxL
>>29
あ、アは、日本語の音節の1つであり、仮名の1つである。1モーラを形成する。
五十音図において第1行第1段(あ行あ段)に位置する。
by wikipedia
https://ja.wikipedia.org/wiki/
2017/10/22(日) 05:54:14.55ID:bmxwOMJ1
>>26
向いてはないな

web系は処理速度や信頼性、保守性よりも生産性が重要視される。
生産性ではRustはphpやruby on rails には劣る。

かといって向かないとも思わない。
現にRustのweb系のフレームワークは複数存在してるし、
どれも今のところ結構精力的に開発、更新されてる。

Rustはc++と比べて抽象化と並行性という意味では優れているから、
特にRocketは他言語のwebフレームワークにも負けないレベルの短いコード量で
Webサーバー作れる(あくまで個人的な感想。異論は認める)し、
将来的には並行性を活かしてパフォーマンスも改善されると思われる。

Rustが好きなら十分アリだと思う。
逆に目的のWebサーバーさえ作れれば言語なんかどれでも良い
って感じならRustはないな。

Rustは慣れるのにとにかく時間がかかるけど、慣れちゃえば
それほど生産性の低い言語だとは思わないし(高いとも思わないが)。。。
結局は学習コストがRustの一番の問題なんだよなぁ。。。

思ったより長文になった。すまぬ
2017/10/22(日) 09:29:16.36ID:sz06mai3
web系で一括りは雑でしよ
シングルスレッドでうぇいうぇいやってるアプリ層と下位の屋台骨支えてるところでは世界が違う
シンプルにまずはc++の代替を狙う言語でいい
仕事で使うレベルを考えるとc++の教育コストにうんざりしてるからrustには期待してる
2017/10/22(日) 11:20:50.04ID:WwgEyxCZ
そーいえばいつの間にかrustfmtのフォーマットが変わって
くそめんどいことになってるけど、
どうしてこうなったの
34デフォルトの名無しさん
垢版 |
2017/10/25(水) 21:48:06.68ID:RVSof4zp
C/C++を覚えなきゃだめです
Rustを使うにしろGo言語を使うにしろです何の新しい言語を使うにしてもです
世のライブラリの大半はC/C++用に作られているわけです
Rustでラップされたライブラリ、代替できるRustで書かれたライブラリ、そんな便利なものがたくさんあればいいのですが
2017/10/26(木) 17:41:17.14ID:iL6gP4TT
typedef struct Foo {
int x;
int * x_ref;
} Foo;

Foo foo;
foo.x = 11;
foo.x_ref = &foo.x;

C で書くとこんな感じになる、自分の要素への参照を要素として持つ構造体って、Rust じゃもしかして書けない?
苦心してこんなん書いてもやっぱ無理だし。

use std::mem;

struct Foo<'a> {
x: i32,
x_ref: &'a i32,
}

impl<'a> Foo<'a> {
fn new() -> Self {
let mut foo = Foo {
x: 32,
x_ref: unsafe { mem::uninitialized() },
};
foo.x_ref = &foo.x;
foo
}
}
2017/10/26(木) 18:27:07.74ID:oDCnt1ox
参照として持たせる意味が分からない
2017/10/26(木) 18:39:59.49ID:iL6gP4TT
カーソルに使うんだよ。
2017/10/26(木) 23:52:30.58ID:ErMEtQpf
前もこのスレで同じようなこと聞いてダメだったはず

一つの構造体の中に、配列とその中のどれかを指す参照が入ってる構造

解決策は、参照をやめてインデックスを持つ
2017/10/28(土) 17:28:01.09ID:sEZMTm/T
let mut foo = vec![false; 20];
// fooの2番目と3番目をtrueにするには
foo[1] = true;
foo[2] = true;
// しかないでしょうか?
40デフォルトの名無しさん
垢版 |
2017/10/28(土) 18:11:36.42ID:MtYOEUVQ
2番目と3番目以外がどうなってもいいなら
let mut foo = vec![true; 20];
2017/10/28(土) 18:33:36.35ID:sEZMTm/T
すいません…
良くありません
2017/10/28(土) 19:14:18.79ID:R69/khYl
実際のところ生産性ってどうなん?
GUIプログラムとかにも向いてる?
いい感じのGUIフレームワークがあったとして。
2017/10/28(土) 19:33:23.13ID:2Kf4Kqfh
>>39
何がしたいの?
いろいろ出来るけど
2017/10/28(土) 19:58:15.36ID:sEZMTm/T
>>43
pythonでいえば
foo[1:2] = [True] * 2
みたいなことです

(1..3).for_each(|x| foo[x] = true);
といちいち書くのが面倒(な上処理が重そう)だったので伺いました
実装したいのはアトキンの篩です
2017/10/28(土) 20:29:56.20ID:2Kf4Kqfh
>>44
効率が悪いってのはindexアクセスを二回やるとこのこと?
ここは過疎ってるからまじめに聞きたければSlack行くとよいよ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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