プログラミング言語 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/05/26(金) 11:53:07.95ID:fYEpqUiH
そしてこの顔真っ赤である
2017/05/26(金) 12:02:24.21ID:xRlJL6be
だって、このスレにいる奴はRustコードが書けるから答えも何もないし・・・

なんでこんなに長いこと必死にRust否定を続けてるのか分からんかったけど
自分がRustコードが書けなくて、第二のコードが書けなくて傷つく奴が出ないように、という正義感からだったのか

プログラミング言語の学習コストなんてあってないようなものだ、みたいなプライドを打ち砕かれた可哀想な子なんだな
34
垢版 |
2017/05/26(金) 12:08:45.87ID:uOeVRBLK
>>31
cppで書いたコードはcppで使えばいいのでは?
俺が書いたcのコードは、'a'bつけたのと、ポインタインクリメントやめたくらいで割と素直に移植できたけど。
バグが無いってのは、今まで俺事故ったことねえって言う奴くらい、どう正しいか証明するの大変な事だよ。
そういえば、valgrind、スタック変数の境界チェックできるようになったの?
2017/05/26(金) 12:30:25.06ID:8eg+gckK
>>34
experimentalだがSGCheckが使えるな。
36
垢版 |
2017/05/26(金) 13:22:40.22ID:uOeVRBLK
>>35
おお、そうなのか。
ちゃんと動けばそこそこ良さそうと思ってたし、見てみようかな。
クソ遅いのももう少しマシになってくれてれば良いんだが…。あれも知らんだけなのかな。
2017/05/26(金) 19:23:44.69ID:JcK0B0rB
キチガイにもやさしいここの住民好き
38デフォルトの名無しさん
垢版 |
2017/05/27(土) 02:31:59.03ID:SSsXXMTN
公式HPでシステムプログラミング言語、って書いてあるのが読めないで、なんちゃってアプリ作ろうとしたんじゃないかな?
2017/05/27(土) 02:59:10.15ID:CDShuPAP
結構、Webアプリを作ろうとしてる人が多い感
2017/05/27(土) 03:03:11.16ID:lxNSMSh+
サーバーサイドRustとか素敵やん
2017/05/27(土) 06:03:06.96ID:2NZ16S+U
web系だとライブラリのマッシュアップって感じが普通だからライブラリ不足が不満になるのかな。
2017/05/27(土) 06:48:55.16ID:3w92Yrys
それ以前に、コンパイルの通るコードが書けなくて挫折してるんでしょ
サーバフロントエンドのマッシュアップだとHTTP I/Fで特に支障は出ないと思うぞ
バックエンドだとライブラリ側がC I/Fが提供してるならさほど面倒はなかった
2017/05/27(土) 06:55:11.90ID:41DJlv/7
Rustって最近知ったんだけどどういう目的で使うのがよろしいの?
2017/05/27(土) 09:42:53.30ID:CDShuPAP
JavaScriptしか知りませんって人が入門してるらしいけど、全員投げ出すと思うわ。
C/C++経験者しか残らんだろう。
2017/05/27(土) 10:07:55.57ID:2NZ16S+U
第二言語がRustだったら絶望するよな
第5言語くらいじゃないと
2017/05/27(土) 10:09:10.22ID:2NZ16S+U
>>43
C++に不満なときこれで置き換える。
ネットワーク系だったらGoのがいいかも。
2017/05/27(土) 10:11:29.38ID:mjlYjLQ6
guiアプリ作る時はrust的にはやっぱxul使うの?
2017/05/27(土) 10:15:34.31ID:CDShuPAP
PHPerをScalaに大ジャンプさせようとして大やけどしたチャットワークの悲劇に学ぶべき。
2017/05/27(土) 10:45:11.15ID:41DJlv/7
>>46
なるほどー
RubyとかPythonのC拡張の部分をRustで置き換えたりあるいは機械学習や分散処理らへんでRustが有用にはならないだろうか
2017/05/27(土) 11:04:04.64ID:1jZ1Mh3o
GUIと言えば、GTKの中の人がRustに乗り気で、既に一部置換が始まってるというのが面白い
2017/05/27(土) 12:44:23.89ID:SP+5JLSB
Valgrindといっても、あれが扱えるのはメモリ関連だけで一般のuse-after-freeは対処できるわけではないよなあ
例えば`hyper::server::response::Response`のようないわゆるsession type(https://deterministic.space/elegant-apis-in-rust.html#session-types)も、
ownershipのおかげで安全性を静的に保証できている
2017/05/27(土) 13:58:45.99ID:V3R8pPgP
お前らってRust以外に何の言語を使ってるの?
2017/05/27(土) 14:32:09.69ID:Nnf9Y/EU
>>52
C++, python
むかしLisp
かじったのはruby, java , javascript, objective-c
54デフォルトの名無しさん
垢版 |
2017/05/27(土) 15:51:40.38ID:gV6nh4ij
>>43
OSとかミドルウェアとかそういうの向け。あと組み込み。
ネイティブの速度が必要だけど、CとかC++やって苦労した人向け。
2017/05/27(土) 17:16:38.79ID:3w92Yrys
C/C++で苦労した人は更に苦労すると思う(名推理

前スレで上がってたベンチマーク、C/C++勢がキレて追い抜いてるかと思ったけど更新されずなのな
http://benchmarksgame.alioth.debian.org/u64q/performance.php?test=knucleotide

流行ってるベンチマークでもないから別にそれ自体はおかしくないんだけど
他のRustで最適化されてないヤツはどうなのよと実装し直してみたら普通にトップスコアが出るな
この程度の簡易な処理だと性能良い言語だなぁと見直した、実用時に活かせるかは別問題だけど
2017/05/27(土) 17:37:25.20ID:2NZ16S+U
>>55
同程度のエキスパートのチームだとして、やっぱC++より苦労するかなぁ?
2017/05/27(土) 21:36:50.13ID:0kaExwmN
ベンチマークの順位はそこまで気にならないが、そこのコードでrayonとfutures使っているのを見て触らないとと思った
2017/05/28(日) 01:37:36.40ID:CAN6hjyr
>>52
Java,C/C++,C#
政治的、宗教的な意味合いはなく只で使えるものを探していた結果
2017/05/28(日) 02:34:25.88ID:/SKdZHom
>>52
C、Ruby
それと使い込んではいないけどJava、JavaScript、Common Lisp
2017/05/28(日) 19:51:05.68ID:vySQPNuk
焼寿司さんが日本語ツイートにリプ付けてるの見かけたけど、日本語分かるんかな?
Google翻訳かな
2017/05/28(日) 22:41:06.63ID:9sPyoVkk
>>55
一番上のjavaがまだ最適化の余地があるのが気になる
けどガシガシ書きたくないからあんなもんだろうな。
62デフォルトの名無しさん
垢版 |
2017/05/29(月) 08:05:31.35ID:aIZDJONO
スカイプはどんな言語で作られてるの?
2017/05/29(月) 13:10:22.27ID:yBvsn9Ro
>>53>>58>>59
やっぱりみんな何かしらC系言語の素養はあるのか
2017/05/29(月) 13:24:18.34ID:R8bGfh1Z
LSI C試食版には足を向けて寝れないね
2017/05/29(月) 17:17:49.50ID:XCGSI9yY
うお懐かしいなw
2017/05/29(月) 22:06:22.42ID:kppw5p5H
やはり、better Cなのか
2017/05/29(月) 22:27:54.48ID:hRcE5cRH
better cはgoでしょ
cは関係ない
2017/05/29(月) 23:46:05.71ID:2+2L65e+
ほんとぉ?
2017/05/29(月) 23:49:43.56ID:4qLs+IkO
Goがbetter C……?
2017/05/29(月) 23:59:14.77ID:L9ed4gjc
obj-cやc++の立場は、、、

goがbetter cってのは、rustがbetter cってのと同じくらい不可思議だなw
2017/05/30(火) 03:08:14.82ID:IqZ8KgLG
やはり、better Cなのか
2017/05/30(火) 07:29:11.22ID:f0HoldrK
ごめんGo知らずに適当に言ったわ。
Goはなんなの
2017/05/30(火) 07:58:02.99ID:hxsHc/tN
いやGoスレいけよ
74デフォルトの名無しさん
垢版 |
2017/05/30(火) 10:45:37.44ID:gxWnkgCC
god bless c
2017/05/30(火) 12:54:00.95ID:IWC/1tpu
もうcでいいじゃん
メモリーリークさせる馬鹿に合わせる必要なんかなかったんだよ
2017/05/30(火) 13:03:48.77ID:cUShYlMs
>>75
Rustはバカには使えない
バカはCを使わせてもまともには書けない
Cをまともに書けるならRustなんて不自由な言語はなくても問題ない

よってRustは不要
2017/05/30(火) 14:53:42.47ID:jV/RuSAE
長年C/C++やってた連中は始めから眼中になかっただろ。
Swiftしかり、新しいものに飛びつくのはいつも歴史を学ばない若い連中。
2017/05/30(火) 15:46:56.49ID:zOXcPiC1
C/C++より(なぜか)性能良いから、borrow checkerに勝てるなら良い言語だがなぁ
問題は、若者も老害もborrow checkerに勝てないから使えない
学習曲線の改善を今年の目標に掲げてたはずだけど、どうにもなる気がしねぇwww
2017/05/30(火) 16:21:27.71ID:3rG32g2E
2chなんて年寄りしか見てないからここの意見なんて全くあてにならんよなー
ここ見てない若い人のほうがメインなユーザーだろうし
80デフォルトの名無しさん
垢版 |
2017/05/30(火) 16:41:31.26ID:xHXzQ5Z2
>>79
ワイ16歳
2017/05/30(火) 17:25:14.81ID:KVzaPBtZ
俺15だし
2017/05/30(火) 17:52:40.62ID:cUShYlMs
>>78
C++はどっこい、Cにはまだ及ばない。
2017/05/30(火) 18:35:38.41ID:PZbBKLpD
ちゆ 12歳(おっさん感

Cに比べりゃC++, Rustはランタイムの分のオーバーヘッドが絶対的に存在するから
そこを引き合いに出すならどうやっても勝てんしな
実用性のあるコードを書いた時の性能はどうだかねぇ
84デフォルトの名無しさん
垢版 |
2017/05/30(火) 18:40:13.37ID:xHXzQ5Z2
>>83
性能はそこまで気にしなくても良い気もする
最近のPC高性能だし
ネイティブでメモリ管理出来るってだけでそこらへんの言語よりは速いし
2017/05/30(火) 19:06:48.72ID:2KYBWSXG
学習曲線の改善って何をするんだ?
2017/05/30(火) 19:07:46.03ID:reqRzc0L
まあプロダクションでのパフォーマンスはServoとQuantumが示してくれるでしょ

>>85
Non-lexical lifetime以外よく分からない
2017/05/30(火) 20:40:00.58ID:XaqH7Fx5
Cで書くには煩雑なものを相手にしたときに、
実際Rustがどんだけの結果を出せるか、
というのがみんなの興味だろう。

ちっさいサンプルプログラムみたいなんをコンパイルして、
それでベンチマークテストして結果比較したって、
そんなもんは誰も嬉しくはないし驚きも無い。

オーバーヘッドの一点のみで語りつくせるんなら、
バイナリエディタと機械語でOSだって作れる。
それはオーバーヘッドの無い、最速最軽量だろうね。
2017/05/30(火) 21:45:35.31ID:NwY5b/Ke
librsvgの移植が、中規模コードの実践例として参考になりそう
https://people.gnome.org/~federico/news-2016-10.html#25
2017/05/30(火) 21:54:14.25ID:re3tYRpg
free挿入するよりcopying gcの方が速いし
無駄なオーバーヘッドなくそうとしたらlibstdの実装みたいに
raw pointerだらけになるからそんなこと気にしなくていいよ。

jitのおかげでロジックそのまま書いても速いなんてことが
起こらないから将来、最適化は必要になるだろうけど過剰な最適化は必要ない。

抽象度の高いまま低レベルな領域でも書けるからいいんだよ。
javaだと整数型の型を揃えようとするからバイト列の操作とか苦手だけどrustはそういうのないのよ。
90デフォルトの名無しさん
垢版 |
2017/05/30(火) 23:04:32.49ID:xHXzQ5Z2
>>87
ベンチマークって基本そういう系多いからね
ファイルアクセスとか考えたら速度ほとんど変わらないのに
2017/05/31(水) 01:36:02.83ID:/NtvNHJE
ベンチマークはオーバーヘッドが無視できるよう(特定)処理を大量回数ループさせてる
という意味が分かってないから、そういうこと言っちゃうんだろうねぇ

もっと勉強しろ、若造どもが
2017/05/31(水) 01:44:33.93ID:8BExUPKw
オーダが同じでもオブジェクト生成や関数呼び出し等々のオーバーヘッドは係数部分に効いてるんやで
2017/05/31(水) 02:15:05.25ID:/NtvNHJE
Rustはzero-cost abstractionだのコンパイラによる関数最適化でC言語とさして変わりないんやで^^
VMだと係数にもろに影響するやがな
2017/05/31(水) 09:42:28.64ID:OQ401SVi
>>91
だから若造はいないんだって。
Cとか言い出す老人しかいないの。
2017/05/31(水) 09:46:53.00ID:Kcuasmjx
>>94
>>78

若者も老人もいるんだよなぁ
2017/05/31(水) 12:19:43.42ID:WjnJkecI
本当のおっさんや老害はRustスレなんてこないだろ。
ワイは偉そうに古参風を吹かせてた>>77だがまだビンビンの学生やで。
2017/05/31(水) 12:22:43.65ID:FbhpYS54
ワイ周辺だと学生はそれなりに見る
よくはてなブログに書いてる人も学生でしょ
2017/05/31(水) 12:27:53.72ID:xgELgHJk
そりゃ、おっさんの大多数は新しい言語が嫌いだからね
2017/05/31(水) 12:38:49.91ID:WjnJkecI
それな
2017/05/31(水) 12:55:16.23ID:IqYufuRr
年取ると守りに入ってしまっていかんな
2017/05/31(水) 18:15:57.61ID:xNKvRsij
まだ2chは若者に人気だったのか
slackとかじゃないの
102デフォルトの名無しさん
垢版 |
2017/05/31(水) 23:54:17.31ID:H5pMSxMU
>>83
ランタイムなんてリンクしなけりゃ済む話
2017/05/31(水) 23:59:15.13ID:8BExUPKw
no_stdか……
2017/06/01(木) 10:52:08.55ID:AXJF1Amn
それランタイムじゃなくライブラリ
no_mangleでマングル名消してもランタイムはリンク解消できないだろうねぇ
2017/06/01(木) 12:56:34.33ID:5JdW7IAM
#![no_std]すればliballocとlibpanic_unwindはlibstdは勝手に外れなかったっけ?
libcoreはliballocにリンクしていないし#![needs_panic_runtime]もしてない
2017/06/01(木) 13:33:54.90ID:TwQiYK+8
Rustランタイムって具体的には何してくれるの?
ファイナライザ呼び出しとパニック時のスタックダンプ表示?
2017/06/01(木) 13:39:40.72ID:AXJF1Amn
ttps://doc.rust-lang.org/book/no-stdlib.html
最小限のmain関数だけにしても、C言語+clangでビルドするバイナリ相当までは削れんなぁ

Rustマングル名の解読とか、C言語へのブリッジなんかも入ってるんでない
str型はno_stdでも使えるようだから、この辺の一部プリミティブ型のラッピングもしてるかな
2017/06/01(木) 14:25:43.96ID:y1VaJ38E
ランタイム気になるのはOS書く時くらいでしょ
2017/06/01(木) 14:27:32.75ID:y1VaJ38E
あとOS無しの環境でプログラム動かす時とかもそうだけど
要するにそういうときだけ
2017/06/01(木) 15:23:27.31ID:TxD0ndLo
その辺の整備は優先度低いだろうからな。
トレイト境界の特殊化とか知恵の輪みたいな型システムのサポートとかもっとやることがある
2017/06/01(木) 15:36:56.97ID:SoMrAbTt
IoTブームを考えると、組み込み系が一番Rustを活かせる場だと思う
パフォーマンスが良いし、アップデート出来ない環境で脆弱性の心配が減るのも良い
メモリフットポイントも、先行事例を見るにまあぼちぼちなんとかなってるようだ
2017/06/01(木) 16:49:21.04ID:84f6kPv5
新興言語が使い物にならないのはSwiftが証明しちゃってるしな。
学習コストが高いし、仕様変更も多すぎて管理コストがかさむ。
仕事では使い物にならない。

IoTはなんだかんだいってバックエンドCフロントエンドECMAScriptが主流になるんじゃないかな。
2017/06/01(木) 16:57:13.59ID:Ic6OT1NI
IoTもう終息してきてない?
2017/06/01(木) 18:07:25.12ID:b0AgrCqp
マングリングなんかはコンパイル時に解決してるのでは
strはただのデータと長さのペアの構造体
ランタイムとはなんなのか
2017/06/01(木) 18:32:06.24ID:AXJF1Amn
解決してないから、場合によってはno_mangleが必要なわけでな
プログラムロード時に展開して処理中はオーバーヘッドないだろうけども

IoTブームを考えるとRustの選択肢はありだろうけど
流行りを無視したら性能良く容量少ないバイナリ吐くCかギリギリC++かなぁ
ガチな組み込みは老人ばかりでC/C++で難なく安全なコード書くし
組み込み系の仕事やってると業務での採用提案は現実的には思えんわ
2017/06/01(木) 19:44:54.46ID:KprYmBPJ
>>115
ガチ組み込みでもC++使うんだ。
自動車とかだとCのみだよね。
家電とか?
117デフォルトの名無しさん
垢版 |
2017/06/01(木) 23:17:34.13ID:Co5NqntP
>>116
自動車は普通にc++使ってる部分もあるよ。
2017/06/01(木) 23:38:13.83ID:0ZYBTIzB
ハードウェアは未だにZ80が現役のパチンコでもZ80要らないところなら色々使うで。
ソフト部分がjavaかC#か、最近はunityだから格差が大きい。
こういうニッチなところならrustのno_coreも入り込めるかも
2017/06/01(木) 23:39:53.34ID:0ZYBTIzB
ごめん言い忘れた。
いまだにC++使わないのなんか軍事兵器くらいやで戦闘機のOSとか
2017/06/01(木) 23:46:55.28ID:GrGj5OGG
そんなの持ち出す前にlinuxでしょ
2017/06/02(金) 00:20:19.49ID:u7OL4GIc
F-35はC++が使われてるんじゃなかったか
2017/06/02(金) 00:22:55.55ID:1X/05mt0
お前らやたら詳しいな……
2017/06/02(金) 00:25:26.45ID:/gLRnObz
その辺はAdaが使われてる印象だったんだがCも使われてんのか。
2017/06/02(金) 00:54:37.65ID:UJQ0OGfD
今、MISRA Cを使ってるようなところが、Rust向きだと思う
2017/06/02(金) 01:43:12.50ID:USk3zPix
飛行機なんかはメモリ確保命令は使わずに上書きでやりくりするんでしょ?
リアルタイム性が要求されるから決定的瞬間にアロケーションや解放なんて処理始まったら死ゾ
2017/06/02(金) 02:00:16.87ID:/gLRnObz
>>125
そうならばメモリアクセス安全に寄ったRustは不向きの用途だな。
専用ランタイム作らん限り。
2017/06/02(金) 06:39:31.02ID:eD3LHIkq
>>123
組み込み業界、Ada使うくらいなら素直にアセンブラ使うわw

>>119
他言語へのAPI公開のため最近はまたC言語が流行ってるやぞ
RustもGoもSwiftもC言語とのI/FはあるけどC++とのI/Fはないから、流行りに合わせてCにしとこってのはままある
まぁRustはbindgenとかいう変態ツールでC++マングル名を回避する荒業に出てるからなくても困らんのだけども
2017/06/02(金) 07:33:26.58ID:3O32wZtM
>>125
ATS2 みたいな機能を Rust も組み込めば良いのに。
2017/06/02(金) 09:15:56.51ID:PNLF+z5i
C++でextern Cじゃいかんのけ?
130デフォルトの名無しさん
垢版 |
2017/06/02(金) 10:26:55.70ID:f93mDoXl
cとのI/Fではc++が最強か
2017/06/02(金) 16:42:33.09ID:IZaDrWj5
>>117
そーなんだ。俺がやってたのはもう10年くらい前だからさすがにかわったのか
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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