プログラミング言語 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/11/15(水) 14:21:13.24ID:FBksKtwj
>>108
失敗してるやん
Rustなんかで書き直したせいでアドオン全滅してる
110デフォルトの名無しさん
垢版 |
2017/11/15(水) 14:22:10.55ID:bBOLEH2G
>>107
昔と比べるとだいぶオープンソースな時代にはなったが、
全てがオープンソースで開発されるような時代ではない。
公式の発表を信じずに何を信じろと?
「俺を信じろ」とでも言うつもりか?
「公式」と「お前」どちらのほうが信用度が高いのかまさか君にはわからないのか?
111デフォルトの名無しさん
垢版 |
2017/11/15(水) 14:22:39.30ID:bBOLEH2G
まぁ、けど確かにここに載っているのは社内の一部の物好きな社員が
メンテの必要もないくらい簡単な社内ツールとかを作るのに
利用しているだけのような気はしているんだが、実際はどうなんだろうな?
2017/11/15(水) 14:25:51.46ID:FBksKtwj
少なくともブラウザから得た個人情報の横流しとステマで生計を立ててる非営利()組織の大本営発表は信じるに値しない
2017/11/15(水) 14:35:48.33ID:MzdtAyc5
>>109
キミの笑いのセンスには脱帽だよ
114デフォルトの名無しさん
垢版 |
2017/11/15(水) 14:36:17.78ID:bBOLEH2G
>>109
それは設計の段階で従来のアドオンとの互換性の一部を捨てるように仕様変更したからだよ。
firefoxのアドオンは自由度が高すぎるが故に、セキュリティに問題を抱えやすかったし、
アドオン同士が衝突して落ちるとかも結構あったから、そこら辺をChromeと同レベルくらいに制限して、
セキュリティと安定性を取る方向に方針転換した。
仕様が変わってるんだから、Rustで書こうが他の言語で書こうがどっちにしろ従来のアドオンの一部は動かないよ。
115デフォルトの名無しさん
垢版 |
2017/11/15(水) 14:42:32.68ID:bBOLEH2G
>>113
あ、これネタだったの?
気づかずにマジレスしてしまったわ。すまん。
2017/11/15(水) 14:49:29.35ID:p5zaPhLE
こっちとしちゃ糖質クンに「自分は視野狭窄している馬鹿なんだ」って気付いてもらうんじゃなく
ただどっちが妥当な話をしているのか周りに伝わればいいんだわ。乙。

Redditで、自社の既存のシステムをRustで書き直したよって言う投稿をよく見かける
自分で触った感じでも、プロトタイピングや全く新しいシステム作るときは他の言語でやった方が楽な気がするけど、
試行錯誤もRustでやった方がはやいわってなるのかね?
2017/11/15(水) 14:49:41.95ID:FBksKtwj
ネタなのは自殺したブラウザの方だろ
118デフォルトの名無しさん
垢版 |
2017/11/15(水) 15:32:16.99ID:bBOLEH2G
>>112
どちらが信用度が高いのか本当に分からなかったようだ。。。
君には呆れを通り越して憐れみを覚えるよ。
2017/11/15(水) 15:38:56.68ID:a1L9d6tA
そういう大きな話じゃなくて、もっと身近な感じでrust使ってるかどうかを聞きたかったんだけど、ここまで>>101しか出てこないな
2017/11/15(水) 17:13:53.76ID:QoaSbxja
rustでチェスの対戦サイト(サーバー)作りましたとかないわけ?
goとかscalaではいくつかあるけど(もちろんphpも)
2017/11/15(水) 18:04:29.51ID:I7ANqDvy
今まで「担当者の趣味でなんとなく」C, Go, Python, Rubyで書かれていたツールをRustで書いて
おー速いやんとニヤニヤしてる段階

>>105
crateのパスは相対
2017/11/15(水) 18:07:27.47ID:lnZNl5oY
>>121
やっぱ細かく分けてるの?
っていうほど巨大なプロジェクトじゃないかな?
2017/11/15(水) 18:17:07.13ID:6qkyb6Qq
Rustでコード書くのって意外と楽しいよね
クロージャもスッキリしてるし
そもそもあと実は俺はスネークケース文化が好き
map_or ←この時面がすき
mapOr ←こんな言語は(あるとしたら)嫌い
2017/11/15(水) 18:58:57.26ID:JXP4Zmpc
ドワンゴがなんか作ってたね
2017/11/15(水) 21:05:47.07ID:Kx4c/qA9
スクリプト言語を趣味でやってる俺ですが
firefoxの軽さに感動してrustに興味を持ちました

現在ネットでrustについて調べてる最中なんですが
c++の置き換えだとかっていう情報はよく書かれてますけど
実際c++を書いたことの無い自分にはいまいち掴めません
なんか他に特徴的なとこはあるんでしょうか?
マルチプラットフォームのguiアプリとか作ってみたいです
2017/11/15(水) 21:54:08.10ID:zsyPe7CY
>>125
>なんか他に特徴的なとこはあるんでしょうか?
自分でガシガシ書く向けだよ。C++より綺麗に。JITなんざ頼らねぇ(れねぇ)、GC邪魔(やる余裕がない)って
領域向けに抽象度をある程度保ったまま書ける。メモリ管理にリージョン使うから解放タイミングが予測できるし、
組み込みもベアメタルもいける。nightlyは書式統一されたインラインアセンブラもある。
低レベル全部rustで書いてもいいし、ライブラリだけrustで書いてCから呼び出せばC++不要。

>firefoxの軽さに感動してrustに興味を持ちました
前にも言ったがfx57の速さにrustは関係ない。設計が根本的に変わった影響。
Servoにあるhtmlの並列トークナイズがfxに移植されたらさらに速くなる。
そんで、言語自体は遅いよ。コンパイラもまだ改善途中だし。
標準ライブラリのコードは速度のためにunsafeだらけで、
JIT/GCがある環境みたいにド直球で素直なコード書くもんじゃなくて、
速くなる部分はLLVMの部分だからコンパイラのバックエンドの違いでしかない。
tracing gcないから開放できないメモリがあるのは他と同じ。
2017/11/15(水) 22:03:43.52ID:rT1iYiCt
>>119
会社で使うコマンドラインツールはほとんどRustで書いてる。
昔はPythonで書いたりしてたけど、使ってるうちにパフォーマンスが問題になったりすることが多くて
後で書き直したりするくらいなら最初からRustでいいや、と。
2017/11/15(水) 23:13:04.10ID:bBOLEH2G
>>125
コマンドラインツールをRustでってのはときどき聞くんだけど、
GUIのアプリをRustでってのは聞いたことないな。
そもそもRust製のマルチプラットフォーム対応GUIフレームワークってのを聞いたことない。
Rust製のまともなGUIフレームワークとか存在してるの?
2017/11/16(木) 00:51:52.06ID:81E2YZma
なるほど、コマンドラインツールか。
rust に合ってる領域かもって初めて納得した。
2017/11/16(木) 02:21:07.10ID:fZgVNMfR
>>128
gnomeは積極的にRustに寄っていってたはず
他は知らん
2017/11/16(木) 02:27:03.23ID:fZgVNMfR
>>129
pecoとか見てるとコマンドラインツールをカジュアルに作るならgoのが向いてる気もするが……
rustにもrgあるし一概にどっちが優れてるとは言えんが
2017/11/16(木) 03:12:54.72ID:fiTPZdVA
gnomeってrustで置き換えていくの?

rustの実用的なGUIってgtkぐらいだと思うけどqtもそろそろ実用段階だったりするのかね
2017/11/16(木) 11:39:32.01ID:W2aOUAlV
rustで書いてるosってrudoxだっけ?
あれってlinuxカーネルののrustによるリファクタリングって事でいいの?

l
2017/11/16(木) 12:32:25.88ID:Uttk70vk
>>133
んなわけねーだろ
2017/11/16(木) 12:53:49.49ID:W2aOUAlV
>>134
完全な新しいos?
じゃあlinuxにかなうわけねーじゃん。ただの自己満プロジェクトかぁ
2017/11/16(木) 13:34:34.31ID:Uttk70vk
>>135
OSとしての実用は自己満レベルでも、コードベース資産としては価値あるんじゃねーの?知らんけど
世の中にはいくらでも自己満OSプロジェクトあるんだからそこは許してやれ
あのGNUですらHurdってOSを自己満で書いてんだ
2017/11/16(木) 13:34:41.95
Rust Essentials - Second Edition

がPacktから出版されましたね
2017/11/16(木) 17:48:48.97ID:dSTVIPFJ
linixこそ個人のお遊びプロジェクトだったんじゃないのか
2017/11/16(木) 17:50:56.93ID:dSTVIPFJ
オライリーはどうなってんの?
2017/11/16(木) 18:55:22.46ID:Uttk70vk
>>139
少なくとも自分はKonozamaくらってる
2017/11/16(木) 20:07:31.98ID:v4h2PTyC
>>140
発売してないよね?
2017/11/16(木) 22:51:18.03ID:a7TN1Oxp
>>136
LZ4圧縮とか、シェルとか、Redox OSはサブプロジェクトに結構見るべきものがある

Pijulプロジェクトで開発されたSSHライブラリとかもそうで、副産物がいい味出してる
2017/11/17(金) 00:27:49.05ID:oCT+XqQK
urxvtをrustで書き直して🙏
alacrittyはなしで🙅
2017/11/17(金) 01:16:04.93ID:r4qIw16A
>>138
そうね。その頃にはオープンソースなunix osが無かったからみんな喜んだ。でも今はlinuxがあるわけで。

まぁでもマイクロカーネルらしいし
ドライバはlinuxのが使えるとかすれば、化けるのかな?
2017/11/17(金) 01:29:54.30ID:AQwbboRb
>>144
歴史の知識もOSの知識も無いなら変なこと言わないほうが良い
2017/11/17(金) 01:36:37.62ID:pIVssbCG
BSD系列全否定ワロタ
2017/11/17(金) 01:43:43.14
茂みから鉞が跳んでくるぞ〜
148デフォルトの名無しさん
垢版 |
2017/11/17(金) 01:49:33.84ID:3GAWOghK
BSDは訴訟がなければな。
あとminixも最初からライセンスが修正BSDだったらな。
2017/11/17(金) 02:00:54.43ID:r4qIw16A
linuxは未だにcで書かれてるわけだけど、
それがrustで書き直されたとしたらどうなるの?予想として。
メモリ使用量は減る?
バグは減るよね。
2017/11/17(金) 04:58:41.34ID:Q8rdVBz+
ID:r4qIw16A
かまってちゃん
2017/11/17(金) 05:02:58.63ID:n+fIjN+j
恐らくバグば減る、メモリ使用量は増える
C言語がサイズ減に全振りしているのをrustは安全側に振ってるからな

だがその前にLinusがブチ切れるだろ間違いない
2017/11/17(金) 09:41:50.16ID:p03/6wS8
let foo = Foo {
c: f1(),
a: f2(),
b: f3(),
};
let bar = (f1(), f2(), f3());

構造体やタプル構築の時って、式の評価順序はソースに記述されてる順序で確定してるんだっけ?
ここでいうと f1 -> f2 -> f3 で
2017/11/17(金) 10:10:51.70ID:j/YEi+T5
そもそもgnuの成果物でもなんでもない不自由なコンパイラであるrustcでコード書くことを御大がよしとするわけねーだろっていう
GPLでrustc書き直してから出直してこい
2017/11/17(金) 11:43:43.45ID:DHrRs5YV
そんなあり得ない話どうでもいい
155デフォルトの名無しさん
垢版 |
2017/11/17(金) 13:35:22.27ID:Eetf/DNi
BSD ← ボスドーって読むのですか?
2017/11/17(金) 19:53:41.29ID:RD2my8vU
>>131
確かに go でもいいのかもしれんが、rust で作るとしたら、
規模とかランタイム速度要求とか
良いところなんじゃないの?って気はしたよ。
少なくともOSやブラウザをこれで作るって話よりかよっぽど現実的な感じがする。
2017/11/17(金) 22:23:35.56ID:n+fIjN+j
rustは明らかに大物を矛盾なく作り上げるの向きと思うんだけれどもな
小物なら正直メモリの心配なんかせずに「mallocの後にfree不要と(以下略)」式にOS任せにしても構わんし
2017/11/18(土) 00:01:05.69ID:ptgryUw4
見解の相違としか言いようがないな。
大物をGCなしで作るとか、よっぽどのプロジェクトじゃないとありえん気がするよ。
2017/11/18(土) 01:19:21.35ID:/UyFtFcG
linuxをrustで書くとか
rustがcに勝る安全性の部分ではcではバグになりうる部分がrustではバグにならないということはあるだろうけど
移植にしろゼロから書き直すにしろ、これら以外のバグが新たに大量に発生するわけで(現行のcで書かれたものは長い間かけてそれらのバグを1つ1つ潰してきた結果であり)
2017/11/18(土) 01:51:07.07ID:Tj1Ciaix
mozilla はそれやったんだよな(恐怖)
2017/11/18(土) 01:59:12.51ID:ZQLxHiSg
>>158
そもそもブラウザこそGC使いたくない大物の代表みたいなもんで、rustはそのために作られたわけで
2017/11/18(土) 12:58:34.70ID:TdFdr2wf
>>159
そのうちAIを駆使してcからrustに理想的にTranslateする技術ができるよきっと
2017/11/18(土) 13:32:56.68ID:Tj1Ciaix
AIは置いといて c2rust は同じく妄想した

ふと思ってググったら関数定義を rust で使えるようにするツールが引っ掛かった
c2rust.py
唐突な Python ワロタ
164デフォルトの名無しさん
垢版 |
2017/11/18(土) 15:08:10.48ID:s0a9MZOf
>>158
組み込みなら割と普通。
2017/11/18(土) 16:08:11.01ID:9rFYKu0I
bindgenというのはある
が、c->rustのトランスパイラは無理だろう。ValidなCでもvalidなRustには自明には移せない
2017/11/18(土) 17:29:31.19ID:b75x0sPb
libcクレート使えば、見た目が半分CっぽいRustプログラムが書ける。
2017/11/18(土) 18:50:09.96ID:ttSwrPbv
勉強中だが業務で初めてRust使う事になった
1000行程度のプログラムだけどこれを機会にスキルアップしないとだ
2017/11/18(土) 19:25:49.39ID:GOdqC4Co
給料良さそう
2017/11/18(土) 21:18:03.25ID:huCirX/z
業務でとかうらやましい
2017/11/19(日) 10:39:11.94ID:t35wRkSN
Rustを業務で使った結果、毎週の報告で「コンパイル通らないので修正中です」を繰り返し
全然進捗が出せずに左遷減給からの自主退社コンボをくらう>>167
モジラのステマなんて信じたばっかりにかわいそうにwwwwww
171デフォルトの名無しさん
垢版 |
2017/11/19(日) 12:35:39.34ID:lEYmgXHF
コンパイル通らない、って聞くけど、ソースジェネレーターって無いの?
2017/11/19(日) 13:30:32.58ID:gjzb/Bmo
新興言語を業務に採用して爆死するパターンはSwiftで既に学んだから、
Rustの業務採用は考えられない。
2017/11/19(日) 13:54:00.95ID:l33ZkuH7
コンパイルも通せないようなバカはお呼びじゃない。
2017/11/19(日) 14:29:17.14ID:JSKIwKyh
Cで書いたコードがgccやclangできっちりコンパイル通るのに
rustに移植して通らないのはrustc(というかRustという言語)が腐ってるからだろ
2017/11/19(日) 14:39:52.55ID:v1Fqqpkv
多言語にベタに移植してコンパイル通らないって喚くって、アホそのもののコメント乙
2017/11/19(日) 14:44:41.47ID:Iq1MXC0c
バグがコンパイル時と実行時のどちらで見つかるかというだけの話なんだがなぁ
CのデバッグよりRustのコンパイル通す方が楽だわ…
177デフォルトの名無しさん
垢版 |
2017/11/19(日) 15:02:25.94ID:QT7cD2cz
>>174
何処から突っ込んでいいのかよく分からないのだが。
まず、君の言い方では「C(gcc or clang)でコンパイルが通ったものをそのまま他言語に
移植したらそれもコンパイルが通るはず(通らない言語は欠陥品)」と言っているように聞こえるんだが、
Cは「弱い静的型付け」の言語なので、Rustどころか「強い静的型付け」のJavaやC#
にさえCをそのまま移植するんじゃコンパイルは通らないぞ。
Java,C#の場合はジェネリックやインターフェースや(出来るだけ使いたくないが)キャストを
使用してコンパイラに対してしっかりと型安全を保証してやらなければコンパイルは通らない。
対して、Cは「弱い静的型付け」なのでコンパイルを通すだけなら場合によってはキャストすら必要なかったりする。
まさか、そのレベルから分かっていないのか?
だとしたらRustの所有権云々以前の問題なのだが。
2017/11/19(日) 17:16:18.02ID:PCwXQfC9
そのレベルは移植の段階で調整しとるわドアホ

やっぱモジラ信者はRustのコンパイラこそ至高で、それを通せないプログラマの方がクソって論調か
相変わらず判で突いたような理論だな
2017/11/19(日) 17:18:54.26ID:PCwXQfC9
俺が言ってるのは、別にマルチスレッドで動かすわけでもないプログラムを所有権どうこうで弾いて、
本来正しく動くはずのプログラムがコンパイルエラーになり、つまりプログラミング言語としてはご法度の、
書けないプログラムが存在するってことについて異議を唱えてる
2017/11/19(日) 17:20:45.77ID:PCwXQfC9
このスレでも何回も言ってるのに未だに理解しないの
本当に工作員って感じだな
2017/11/19(日) 17:33:10.07ID:WE8Zr98v
本来正しく動くはずのプログラムの例を挙げたら?
182デフォルトの名無しさん
垢版 |
2017/11/19(日) 18:48:30.65ID:lEYmgXHF
>>181
無理だと思うよ。
信者ガーとか言ってるのが居るけど、Codeで示せるなら最初から出してるだろうし。
2017/11/19(日) 20:31:34.38ID:PtQzPwdH
mozillaが工作してるならこんなところじゃなくてtwitterなどでやるだろうし
工作員連呼してるのは自分自身が他言語の工作員だからでは
2017/11/19(日) 22:24:37.23ID:Wp15ODw9
C/C++から移植して動かない例か。メンバー間参照(self-borrowing)がある構造体くらいしか思いつかんが、
Vec<T>に対する&T -> インデックス使う
Stringに対する&str -> インデックス使う
Map<K,V>に対する&V -> Entry<K,V>使う
異なるメンバーTに対応する&T -> enum使う

で大体対応できるような気がする
2017/11/20(月) 00:02:25.61ID:E35fLroX
業務で速度重視でrustとgoの選択肢がある時にどっちを選ぶべきか悩んでしまう
個人的にはrustの方が好きだしパフォーマンスも出るんだろうけど、今後のメンテ(教育コスト含む)とか考えたらgoにすべきなのかなって

今更null安全でも無くmapやfilterも無い言語は…って感じではあるんだけど
グリーンスレッドは嬉しいが
2017/11/20(月) 00:32:58.09ID:76vYtb+v
目的による
外向きサーバ作るならGoのが学習コスト抑えられて楽にスケールする
Rustとの速度差はネットワーク帯域でつぶれて有意に出ないことが多い

長期間メンテするcmdツールやデータ管理ツール作るならRustの方がかっちりかけるから負債になりにくい
Goは気を抜くと容易にサクラダファミリア化する
2017/11/20(月) 01:32:59.51ID:E35fLroX
>>186
なるほど
言語としてはrustなんだが、他の人達がついてこれるかが心配だ
2017/11/20(月) 10:20:40.69ID:XLZ/FUc4
>>187 がRustを導入した結果、コンパイルが通らずにチームの生産性がだだ下がり
連帯責任で左遷、給与減、恨みを持った部下に夜道で襲われる未来がみえるぅー↑
2017/11/20(月) 10:41:24.04ID:JFYV8vnq
Goはよく知らんけどnull安全もジェネリックもない言語使うくらいならC++でよくね?としか思わない
190デフォルトの名無しさん
垢版 |
2017/11/20(月) 11:21:03.04ID:E3G43xCO
>>189
いやGCあるかないかは重要な要素でしょう。
191
垢版 |
2017/11/20(月) 12:39:17.94ID:tBvw28f4
Goは標準ライブラリが本当に標準だし、それ故にクロスコンパイルが楽ってのもあるな。
libcを選ぶなんて、しなくて良い。
2017/11/20(月) 18:43:04.56ID:4/lwe8rJ
つまりbetterc的な感じでかな。
goはrustよりはちょっとした気持ちでつかえる。
sshクライアントライブラリまで標準で、しかもopensshとかに頼らず全部自前であるとか、
どんだけ再発明しまくってんのとか。
193デフォルトの名無しさん
垢版 |
2017/11/20(月) 18:46:19.09ID:kx54kaAZ
次スレからワッチョイ有効にしようぜ
同一人物だと思うけどいい加減ウザい
2017/11/20(月) 21:33:56.64ID:PEMZL+h7
賛成
195
垢版 |
2017/11/20(月) 23:44:16.41ID:tBvw28f4
ワッチョイしたらそんな変わる?
あんまり変わらん気もするが。
2017/11/20(月) 23:49:47.66ID:65TnaXvU
あるスレは罵倒が激減してたなー
197デフォルトの名無しさん
垢版 |
2017/11/21(火) 07:50:43.65ID:nLoZ7hhk
アカヒを遮断したら、差別書き込みが激減してたからね。
2017/11/21(火) 08:39:58.18ID:bKAvrS9R
発言者が区別つくし、自演も面倒臭くなるからいいんじゃない?
2017/11/21(火) 09:21:54.95ID:9TNiXSb6
NG出来ないのはいやだ
200
垢版 |
2017/11/21(火) 12:42:33.16ID:QsmG8G9Z
なるほど。メリット多いのね。
2017/11/21(火) 13:01:12.33ID:OOffmQFA
ちょっと違う
「あらゆる」書き込みが減る
ワッチョイだとそもそも書き込まないという人はそれなりにいる
都合よく自分の嫌なものだけが減るわけではない
そこは認識して受け入れないといかんよ
あとワッチョイを途中でやめることは実質不可能なのでそれも覚悟すること
2017/11/21(火) 13:52:32.34ID:49KeK6o/
ワッチョイは自演にはそんなに効果はないと思う
日替わりのIDに代わって日をまたいで同一IPアドレスの奴をNGしやすくなるだけだと思う
2017/11/21(火) 14:05:16.20ID:6lkYtARd
そういや前にも書いたけど、2ch関連のクレート有るね
2017/11/21(火) 15:20:46.73ID:J5Wiskwy
カジュアルな荒らしは減る
2017/11/21(火) 15:58:50.23ID:OOffmQFA
>>204
カジュアルな書き込みが全部減るんだよ
普通の雑談、普通の質問、普通の回答、普通の自演、普通の荒らし、普通の無自覚アスペ、全部だいたい均等に減る
残るのはワッチョイ出ても構わないような本気の雑談、本気の質問、本気の回答、本気の自演、そして本気の荒らしと本気の無自覚アスペ

だからご利益的には各自手元でどうにかする分類タグとしての>>202だね、これ以外を喧伝してるのはなんもわかってねえ
で、わかったうえでの導入はご自由に
2017/11/21(火) 16:06:33.77ID:dr4UMioZ
ID:OOffmQFA
必死だな。
2017/11/21(火) 16:12:36.25ID:OOffmQFA
仮に過疎ったりうまくいかなくなったりして「ワッチョイやめよう」という話になったとしても>>206のように言われて元に戻せない
不可逆なので覚悟だけはしておいておくれ
2017/11/21(火) 17:01:01.88ID:4sVotJ+F
荒らしが減るほうが良い
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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