Rust part8

レス数が1000を超えています。これ以上書き込みはできません。
2020/01/24(金) 11:47:52.41ID:9oO1hUHl
Mozilla発のRust言語のスレ

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

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

前スレ
Rust Part7
http://mevius.5ch.net/test/read.cgi/tech/1563114707/
2020/08/18(火) 18:17:07.57ID:xqTakpBf
>>941
調査によって、まちまちだな。
StackOverflowでは、Rustは好きな言語ランキングでは、五年連続Topらしいが、
「人気」は低い。
今のところ「好き」だが「人気」は無いのがRust。
恐らくこの場合、「人気」= 「Popular」のことで、英語の Poluarは、
「人気」と言う意味のほかに、「普及している」とか「一般的」、というような
意味もあるのでややこしい:
https://news.mynavi.jp/article/20190412-807191/
948デフォルトの名無しさん
垢版 |
2020/08/18(火) 18:30:54.90ID:xqTakpBf
「好き」ならば「学びたい」のだろう、と思いきや、そうでもないということか。
「最も好きな言語は何ですか?」
という問に対して、相手に馬鹿にされないためには、Rustが丁度よい言語
である気はする。
でも、結構、実際に使用したいと思っているどうかは別。
俺もそんな質問されたら、答えに窮して Rust と答えてしまうかも知れんが、
使う気はほぼ無い。
2020/08/18(火) 21:58:33.67ID:eVuhfWpC
Rustはターゲットになる開発領域が狭くてどう足掻いても大人気誰も彼もRust!なんてことにはならないよ

C++が広範な領域で使われてたのは選択肢のなさとWinのAPI基準の1つなのとCとの運用のしやすさ

選択肢が増えてWinもよっぽどなことしなけりゃC#があるしCをコールする分にはどの言語も十分改善されてきた

0から作るある程度のパフォーマンスを求めるプロダクトならGoがあって、アセンブリと連携するけどcgoのオーバーヘッドやGCのオーバーヘッドが気になるみたいな際際じゃなけりゃRustにならない

計算高速化のcalleeとしては安全性があまり旨味のない要素だからC++の選択がまだ強い

以上に加えてエラー周りとかアセンブリ連携もnightlyがあってまだ熟してない部分があり厳しい立ち位置にいるという認識だ
2020/08/18(火) 22:03:32.42ID:67oHHRca
>>949
>計算高速化のcalleeとしては安全性があまり旨味のない要素だからC++の選択
C++ が呼ばれ側になるのですか?
2020/08/18(火) 22:21:20.07ID:y+NJXGZa
>>949
その中だとパフォーマンス的にはGoでいいけど言語仕様が簡素すぎて辛い、みたいな層の受け皿としてRustが使われてるケースはありそうかな。
ScalaがいいけどJVMは厳しい、みたいなのとかも。
まぁニッチなのは間違いない。
2020/08/18(火) 22:56:18.34ID:tqFHaZPp
Microsoftが興味持ってるからC# + Rustが未来の姿だ
UIはC#
2020/08/18(火) 23:14:15.49ID:eVuhfWpC
>>950
TensorflowとかPytorchのバックはC++だよね
これらは当然CUDAとの兼ね合いであるのは間違いないけど、CUDA側がRustではなくC++を選択してる意図として安全性の旨味のなさは間違ってないと思う
C++の仕様が先立つ言語であることや人口の多さ、既存資産との兼ね合いの比重のが大きいだろうけどね
2020/08/18(火) 23:33:09.98ID:bX3QY+Cn
>>953
そりゃCUDA1.0の頃(もう10年以上前だぞ)にRustなんて影も形もなかったんだから選択されないのは当然だろう。
その視点で見るならここ1-2年で開発開始されるプロジェクトでどの程度採用されるか、では?
今だとブロックチェーン界隈とかかね。
2020/08/19(水) 01:11:27.31ID:I1IAXvPk
>>949
rustは元からサーバーは視野に入れてないだろ
956デフォルトの名無しさん
垢版 |
2020/08/19(水) 03:59:31.08ID:HXpA5baw
"abc".split("").collect::<Vec<_>>()は["", "a", "b", "c", ""]になるんだけど、うまく空白なしでスプリットでできない?
2020/08/19(水) 04:27:22.19ID:0Kuyi32B
.charsじゃなくてどうしても.split使ってvecにしたいってことなのか?
2020/08/19(水) 04:32:39.30ID:0Kuyi32B
"abc".split_terminator("").skip(1).collect::<Vec<_>>();でできるけど
普通はchars使うやろ
959デフォルトの名無しさん
垢版 |
2020/08/19(水) 10:35:25.48ID:HXpA5baw
>>957
charだとparse()がなくて変換めんどくさい
あと容量無駄
2020/08/19(水) 10:42:04.16ID:3t1Yn2l3
charと&strって&strのがでかくね????
961デフォルトの名無しさん
垢版 |
2020/08/19(水) 10:54:53.71ID:HXpA5baw
>>960
Splitは
type Item = &'a str
だから無駄に生成しないって意味ね
2020/08/19(水) 11:03:27.99ID:6EiBw6oz
>>961
でも最後にVecに格納するポインタは一文字ごとに8バイト取られるんだから、charの方が小さくない?
2020/08/19(水) 12:52:58.21ID:ysyRx3At
&strはfat pointerだから16byte じゃね
2020/08/19(水) 13:05:48.82ID:P3FDipJp
確かに16バイトだね。parseにしてもto_digitでいいし、Vec<&str>のメリットはなさそう。
2020/08/19(水) 14:18:38.67ID:Rgg+SJNu
Rustのコア開発者達がMozillaのリストラで大量解雇されたようだが大丈夫なのか?
2020/08/19(水) 14:44:59.88ID:WLoKFS1m
MozillaとRust Core Team、Rustの非営利団体を立ち上げへ
https://mag.osdn.jp/20/08/20/104100

Mozillaのプログラミング言語「Rust」を開発するRust Core TeamとMozillaは8月18日、独自の非営利団体を立ち上げることを発表した。Mozillaの大規模なリストラ計画を受け、Rustプロジェクトの安定を図る。

Mozillaは約250人規模の人員解雇計画を明らかにしているが、この中にはRustプロジェクトやコミュニティにアクティブに参加しているメンバーも含まれるという。
この再編計画がプロジェクトとしてのRustに対する不確実性を生んでいることから、非営利団体立ち上げを急ピッチで進めることにしたようだ。

なおRustにはMozilla外部からの貢献も多く、Mozilla内部の開発者の多くも余暇を使って参加しているため、Mozillaの再編計画によりプロジェクトが大きな影響を受けることはないとしている。
2020/08/19(水) 15:18:50.67ID:tsnEmyts
解雇された人のtwitterとか見てると
「弊社でRust書きませんか?」なオファーが殺到って感じだし
個人の生活としてはそんなに問題ないんじゃないかな。
Rustの開発に割ける時間が増えるのか減るのかは知らんが。
2020/08/19(水) 17:11:33.75ID:Zv91SX/x
Rust財団作って開発と管理を移管するのかね

その後プラチナスポンサーにMicrosoftがいても驚きはないな
2020/08/19(水) 18:13:15.60ID:J1Jz5rCd
非営利団体を立ち上げるらしいですね、安心安心
2020/08/19(水) 21:07:57.58ID:g0VuJGRT
>>966の記事でも触れてるけどrustはコントリビュータが多いからmozillaの再編は影響すくない。
mozillaの中のままでmozillaの計画の影響受けたら面倒くさいからこの際独立しようって考えだろうね。

といかMozillaのはアフターコロナを見据えた再計画なんでアメリカにしてはコロナに関してはまともな部類なんだけど国内でどう見られるかだね。
2020/08/19(水) 22:22:34.63ID:2mI2lZ4E
Servo開発者が解雇されるみたいだね
2020/08/20(木) 01:56:33.75ID:U3jykTiC
僕も解雇されてニートになったんで暇つぶしにRust始めようかと思うんですがRustって個人の趣味として使うならナンセンスなんですか?
WinのGUI開発しようと思ってるんですがあんまり情報ないですよね
2020/08/20(木) 07:40:13.19ID:VY9dfKBD
その用途なら素直にC#使えば?
974デフォルトの名無しさん
垢版 |
2020/08/20(木) 11:28:50.60ID:RX/3qqm6
Xamarinより糞なものが完成するだろう
2020/08/20(木) 13:10:46.32ID:bydbmtvj
趣味なら好きなもの興味のあるものつかえばええ
2020/08/20(木) 14:37:00.37ID:uihwOB88
PythonとJSをちょっと書けるくらいなんですが
Rustを勉強する前にCをやったほうがいいですか?
977デフォルトの名無しさん
垢版 |
2020/08/20(木) 16:14:06.53ID:TxgxGTNZ
時間の無駄だからやらないでいいよ
2020/08/20(木) 16:38:36.44ID:Z64Rk/C4
人生なんて生きてる間の暇潰しだろ
979デフォルトの名無しさん
垢版 |
2020/08/20(木) 17:19:36.86ID:RX/3qqm6
川上さんが同じこと言ってた
2020/08/20(木) 18:34:28.31ID:0udGtUoq
>>976
一度Cを書かないとRustのありがたみの半分が理解できないよ
981デフォルトの名無しさん
垢版 |
2020/08/20(木) 21:01:28.94ID:TxgxGTNZ
そんなことはない
やらなくていい
2020/08/20(木) 22:00:49.47ID:Ga5wwJ4q
世の中にはドキュメントを読んで納得できるタイプの人と
実際に自分で罠にはまってみないと納得できないタイプの人がいる。
自分が後者だと思うなら一度Cで苦しむのがいいんじゃないかな。そうじゃないなら不要。
2020/08/21(金) 00:12:22.78ID:NOJ3NXTi
だいたいドキュメントを鵜呑みにして罠にはまる
2020/08/21(金) 03:22:09.47ID:gX4UqW46
RustってC/C++の代替って言うけどそもそも今時Cって使う?
趣味で使ってる言語の1位がRustだって記事もあったけどCで何作るの?
なんでRustがこんなに人気なのか理解できない
2020/08/21(金) 10:06:09.07ID:x9AY+WVq
Linuxの基本的なコマンド(ls,grep等)を高機能にした代替コマンドがよくRustで作られてる
2020/08/21(金) 18:18:06.15ID:hY6Ml5La
>>984
よく勘違いされることであるが、Cが昔から使いこなせている人は、Rustでなくても、
特に問題を感じていなかったりする。
2020/08/21(金) 18:48:37.51ID:taULJ50I
よく勘違いされることであるが、Cが昔から使いこなせてると思ってる人は、
単にバグに気付いてないだけだったりする。

真面目な話、組み込み系のシニアエンジニアにありがち。
オフラインの家電やってる頃は良かったんだろうけど、
ネットに接続とかやるとたいていやらかす。
2020/08/21(金) 20:12:18.80ID:r2LsFpPg
Cでマルチスレッド書けって言われてもバグる自信しか無いわ
C製ツールをRustで書き直したものはマルチスレッド化して高速化してるわけだしな
2020/08/21(金) 20:57:32.34ID:awVkHdGE
LinuxカーネルハッカーというCの超ベテランからも
LinuxにRustも使いたいという話が出るくらい
2020/08/21(金) 21:03:56.70ID:JrVTIgi/
C使えるけど気苦労多いしRustの方が良い
Cを積極的に使う理由は少ない
2020/08/21(金) 21:20:19.48ID:psrfcNr7
単に文字列扱うだけでめんどくさくなって
「仕様削ってintにしていい?」と言いたくなるのがC
2020/08/21(金) 22:15:47.76ID:wnXs3Jul
>>984
rustを評価する際にC/C++の代替なんて誰も言ってないよな。mozillaも評価いいMSとかも。
C++より安全って言ってるのを外野がC/C++の代替と言い出したのが
ろくにrust書いてない連中が呪文のように唱えだしただけだと思う。
C++の代替になってもCの代替にはならないと思う。

>>991
早くuchar.hを自分で用意する作業に戻るんだ!
2020/08/21(金) 22:26:40.07ID:JrVTIgi/
逆にCの代替になる必要はないと思う
CとのFFIは不自由なくできるわけで
むしろFFIが不自由なC++の代替にはなりづらいと思う
2020/08/21(金) 22:39:33.13ID:7UnAdk+W
Cの代替ってのは別にCの用途すべてを置き換えうるって意味じゃないでしょ
ripgrepとか見れば十分Cの代替と言える
2020/08/21(金) 23:03:52.36ID:QT6UwXc0
例えばQEMUなんかは既存のCの書き直しは大変過ぎるからやらないけど、
新規開発のデバイスエミュレーションコードはRustでって言ってるね。
そういう代替の仕方もあると思う。
2020/08/22(土) 03:28:45.96ID:MH6yoyVU
>>989
その人が、凄腕プログラマーとは限らないが。
2020/08/22(土) 09:45:03.68ID:YOeBtImF
Cの代替はD
2020/08/22(土) 09:49:22.85ID:+2o9Uv3C
>>996
日本語読めないんだね
2020/08/22(土) 10:58:14.06ID:oUSNiZjo
Linuxのカーネルハッカーが、凄腕プログラマとは限らないと言っているんだ。
プログラマの世界は、レベルの差が大きいから、その程度では凄腕には
分類されない。
例えば、VzEditorのc.mosさんは、その程度ではなかった。
2020/08/22(土) 11:13:12.20ID:+2o9Uv3C
>>999
お前よりはカーネルハッカーの方が腕も頭も良さそうだな
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 210日 23時間 25分 20秒
レス数が1000を超えています。これ以上書き込みはできません。