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
探検
プログラミング言語 Rust 3 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2017/05/21(日) 14:04:29.55ID:9L9dm7b/289デフォルトの名無しさん
2017/07/22(土) 18:20:40.76ID:RlMkEmCd290デフォルトの名無しさん
2017/07/22(土) 20:18:18.76ID:s9rnd8yr slackの質問に対するリアクションありすぎてこわい
291デフォルトの名無しさん
2017/07/22(土) 20:29:54.52ID:Oi7t7NSG292デフォルトの名無しさん
2017/07/24(月) 12:10:36.01ID:1TXRI9Gx rustって現場で使われ始めてるの?
メモリ管理周りのメンタルモデルって他の言語に応用利いたりする?
コードがきれいになるとか?
始めるモチベが欲しい。
メモリ管理周りのメンタルモデルって他の言語に応用利いたりする?
コードがきれいになるとか?
始めるモチベが欲しい。
293デフォルトの名無しさん
2017/07/24(月) 12:28:38.82ID:zGGIqffP C++ほど辛くない
294デフォルトの名無しさん
2017/07/24(月) 14:12:02.33ID:K7WDOtB+ >>292
1.クソコードをコンパイルさせてくれない
2.コンパイル通すの少し大変だけど実行時エラーが本当に出ない
3. 速い
4.パッケージマネージャーがよくできてる
1は本当に大きくて、自分のコードとコンパイラが喧嘩になると大抵自分のアーキテクチャが悪く、直すとちゃんと正しい実装になって感動する。つまり正しいコードが書けるようになる
1.クソコードをコンパイルさせてくれない
2.コンパイル通すの少し大変だけど実行時エラーが本当に出ない
3. 速い
4.パッケージマネージャーがよくできてる
1は本当に大きくて、自分のコードとコンパイラが喧嘩になると大抵自分のアーキテクチャが悪く、直すとちゃんと正しい実装になって感動する。つまり正しいコードが書けるようになる
295デフォルトの名無しさん
2017/07/24(月) 14:19:11.38ID:1TXRI9Gx296デフォルトの名無しさん
2017/07/24(月) 16:50:51.12ID:emVJufwa 仕事で使ってるかは別としてcliツールは作りやすい印象
297デフォルトの名無しさん
2017/07/24(月) 17:05:29.37ID:gGn38L0V ripgrepしか紹介できないんだがなんかないのか
298デフォルトの名無しさん
2017/07/24(月) 17:19:06.22ID:5AMOakOe redoxosのシェルやエディタはunix用としてもビルドできるし
有名かは別として
有名かは別として
299デフォルトの名無しさん
2017/07/24(月) 18:24:11.57ID:v7SfrUaR ripgrepはもちろんだが、tokeiも便利だよ
ion-shellもよく出来てる
ion-shellもよく出来てる
300デフォルトの名無しさん
2017/07/24(月) 18:47:46.45ID:xH7iVUfu301デフォルトの名無しさん
2017/07/24(月) 19:32:19.52ID:TrXPl61y tokei のレポジトリにある使用例
https://asciinema.org/a/d14m9g1d2cyo7wvrxh0z4ck6o
を見てみたら、F* と Ur/Web がカウントされていたので「あっ(察し」事案だった
https://asciinema.org/a/d14m9g1d2cyo7wvrxh0z4ck6o
を見てみたら、F* と Ur/Web がカウントされていたので「あっ(察し」事案だった
302デフォルトの名無しさん
2017/07/24(月) 23:36:39.90ID:mh/Tz+0K 確かにcliは書きやすくて社内で使ってるサポートツール類はほとんどRust製。
小さいツールだと関係者も少なくて説得しやすいし。
https://www.rust-lang.org/ja-JP/friends.html
こことか見ててもそういうパターンが多いように見える。
さすがに大規模なプロダクションコードをいきなり
置き換えとか無理だろうし。
小さいツールだと関係者も少なくて説得しやすいし。
https://www.rust-lang.org/ja-JP/friends.html
こことか見ててもそういうパターンが多いように見える。
さすがに大規模なプロダクションコードをいきなり
置き換えとか無理だろうし。
303デフォルトの名無しさん
2017/07/24(月) 23:43:54.02ID:Dtg+FNV7 Rustである旨味なさそうだけど学習用?
304デフォルトの名無しさん
2017/07/25(火) 06:07:27.53ID:5XPEt11J おお、色々情報ありがとう。
今のところgoのcliツールのほうが目立ってるのは、単純に1.0のリリース時期の違いによるものなのかな。
redox は気になるなー。rustのメモリ管理の仕組みからいってバグが少ないosになるのかな。ちょっと試してみたいかも。reduxと名前が似てるのがなんかやだけど
今のところgoのcliツールのほうが目立ってるのは、単純に1.0のリリース時期の違いによるものなのかな。
redox は気になるなー。rustのメモリ管理の仕組みからいってバグが少ないosになるのかな。ちょっと試してみたいかも。reduxと名前が似てるのがなんかやだけど
305デフォルトの名無しさん
2017/07/25(火) 10:59:30.41ID:ULTUdplU goのツールをパクって速いのを作ればいいのか?
goのツールは何があるの?
goのツールは何があるの?
306デフォルトの名無しさん
2017/07/25(火) 11:37:29.68ID:5XPEt11J 俺が知ってるのは
peco、ghq 辺りかな。
ghqは常用してるけど最近重くなってきてるからぜひrustで軽くなるならして欲しい。
多分gitにアクセスしてる部分がボトルネックな気がするけど。
peco、ghq 辺りかな。
ghqは常用してるけど最近重くなってきてるからぜひrustで軽くなるならして欲しい。
多分gitにアクセスしてる部分がボトルネックな気がするけど。
307デフォルトの名無しさん
2017/07/25(火) 11:45:28.60ID:5XPEt11J あとgitをrustで書き直したらはやくなるとかないかね。
ライナスに喧嘩売ることになるかもだけど。
それをきっかけにlinuxをcにこだわるのをやめてくれるかもw
ライナスに喧嘩売ることになるかもだけど。
それをきっかけにlinuxをcにこだわるのをやめてくれるかもw
308デフォルトの名無しさん
2017/07/25(火) 12:39:25.58ID:fQ81IbD6 pecoもghqもすでにrust版あるよ
309デフォルトの名無しさん
2017/07/25(火) 13:18:07.15ID:E8ESHMbJ wasmがもっと成熟すれば...
310デフォルトの名無しさん
2017/07/25(火) 14:21:47.66ID:5XPEt11J >>308
へー。リンク下さい
へー。リンク下さい
311デフォルトの名無しさん
2017/07/25(火) 16:53:49.81ID:qEbQGi9S312デフォルトの名無しさん
2017/07/25(火) 17:33:21.29ID:CUwpfKAw skimええやん
313デフォルトの名無しさん
2017/07/25(火) 17:38:52.31ID:qu0St3oz >>307
Facebookが社内向けにMercurial(Python + C)をRustで一部?書き直したら速かったらしい
俺も、社内向けツールを前任者がgoで書いたのを幾つかRustに移植してる
ただの練習素材として移植してたけど、2〜3倍速くなったよ
Facebookが社内向けにMercurial(Python + C)をRustで一部?書き直したら速かったらしい
俺も、社内向けツールを前任者がgoで書いたのを幾つかRustに移植してる
ただの練習素材として移植してたけど、2〜3倍速くなったよ
314デフォルトの名無しさん
2017/07/25(火) 19:00:41.47ID:FbhHJVqk 「Rust 1.19」リリース。union(共用体)をサポート
http://www.publickey1.jp/blog/17/rust_119union.html
http://www.publickey1.jp/blog/17/rust_119union.html
315デフォルトの名無しさん
2017/07/25(火) 20:32:46.37ID:5XPEt11J316デフォルトの名無しさん
2017/07/25(火) 21:45:29.88ID:7Ef69C7C rustは今の日本だと凄腕のプログラマが使ってるところはちょいちょい見かけるな。
もっとwebの人たちがたくさん布教すればいいんだろうけど、やっぱrust自体が難しいのかね。
C++とよくセットで名前が出てくるから、ビビる人が多いのかなーとも思う
もっとwebの人たちがたくさん布教すればいいんだろうけど、やっぱrust自体が難しいのかね。
C++とよくセットで名前が出てくるから、ビビる人が多いのかなーとも思う
317デフォルトの名無しさん
2017/07/25(火) 22:11:08.39ID:FfK5LQFv 最近真面目に勉強し始めたけど潜在的に難解なバグを生み出す汚いコードを平気で書く人だと
コンパイルが通らないので辛いと思う。
若干煽り気味に言えばPHPやRailsだけやってプログラミングを分かった気になってちゃんと勉強してない人には無理。
コンパイルが通らないので辛いと思う。
若干煽り気味に言えばPHPやRailsだけやってプログラミングを分かった気になってちゃんと勉強してない人には無理。
318デフォルトの名無しさん
2017/07/25(火) 22:21:26.92ID:5XPEt11J ios -> objc, swift
android -> kotlin,java
web frontend -> typescript, javascript
web backend -> go,ruby,php
ってイメージだがrustはどこに入るの?
android -> kotlin,java
web frontend -> typescript, javascript
web backend -> go,ruby,php
ってイメージだがrustはどこに入るの?
319デフォルトの名無しさん
2017/07/25(火) 23:01:36.50ID:w/P80i1O webassemblyの今後の成熟具合によっては、
web frontendに食い込んでいくかも
web frontendに食い込んでいくかも
320デフォルトの名無しさん
2017/07/26(水) 02:52:39.50ID:mSfCdN7l >>318
希望的観測で言えば、
今までC/C++で書かれていたようなもの全てと、今goで書かれているものの半分 -> rust
WebAssemblyをほんとに必要としてるのは、ごく一部の人だと思う
希望的観測で言えば、
今までC/C++で書かれていたようなもの全てと、今goで書かれているものの半分 -> rust
WebAssemblyをほんとに必要としてるのは、ごく一部の人だと思う
321デフォルトの名無しさん
2017/07/26(水) 08:56:45.29ID:ENBFGRGX >>320
例えばc++ でUE4って書かれてるけど
そこをrustでってのはあるのかな?
ゲームエンジンとかはc++ってイメージだけどそれがrustでどうなるのか興味あるなー。
c++よりバグが少なくなってメモリ使用量も減るなら
家庭用ゲーム機とかの性能向上に役立ちそうだけど。
例えばc++ でUE4って書かれてるけど
そこをrustでってのはあるのかな?
ゲームエンジンとかはc++ってイメージだけどそれがrustでどうなるのか興味あるなー。
c++よりバグが少なくなってメモリ使用量も減るなら
家庭用ゲーム機とかの性能向上に役立ちそうだけど。
322デフォルトの名無しさん
2017/07/26(水) 10:26:21.34ID:ENBFGRGX https://rust-lang-ja.github.io/the-rust-programming-language-ja/1.6/book/dining-philosophers.html
このチュートリアルもうちょいなんとかならないのか
クロージャー周りの説明が抜けてるからなんだかふわっと触って終了みたいな感じになるんだけども。シンタックスの方から学んだほうがしっくりする。
このチュートリアルもうちょいなんとかならないのか
クロージャー周りの説明が抜けてるからなんだかふわっと触って終了みたいな感じになるんだけども。シンタックスの方から学んだほうがしっくりする。
323デフォルトの名無しさん
2017/07/26(水) 12:59:44.03ID:TL1HhZT+ >>321
ゲームエンジンそのものがRustで書かれているのでなければ移行はないと思ってる
自分は据え置き開発だけど、ライブラリやツールやアセットパイプライン含めてC++ならそのまま利用する方が楽だし、ゲーム会社ならC++の資産やノウハウも蓄積されてる
ゲームエンジンそのものがRustで書かれているのでなければ移行はないと思ってる
自分は据え置き開発だけど、ライブラリやツールやアセットパイプライン含めてC++ならそのまま利用する方が楽だし、ゲーム会社ならC++の資産やノウハウも蓄積されてる
324デフォルトの名無しさん
2017/07/26(水) 16:21:03.85ID:G2QlGkU/ >>323
環境的にc++14使うくらいは許されてるの?
環境的にc++14使うくらいは許されてるの?
325デフォルトの名無しさん
2017/07/26(水) 18:20:47.88ID:1Yp0AYo7326デフォルトの名無しさん
2017/07/26(水) 18:36:05.35ID:0VRUk0dC >>320はゲームエンジンそのものがrustにならんかのーって話じゃないの
その上っ面はC++のままで良いんでない
その上っ面はC++のままで良いんでない
327デフォルトの名無しさん
2017/07/26(水) 19:49:44.76ID:FgKZS4eT >>322
最新ではその項無くなったよ
最新ではその項無くなったよ
328デフォルトの名無しさん
2017/07/27(木) 00:05:30.43ID:YcR0VV5Q >>327
なんややっぱりそうなんだ。
やっててあんまり面白いとも思えなかったしね。
今シンタックスのところを読んでるけど、goより学習コストは高いなーと思った。
メモリ管理のメンタルモデルは学習を避けることができないから、尚の事学習コストは高いよね。
使い始めに関してはc++より難しいんと違う?
なんややっぱりそうなんだ。
やっててあんまり面白いとも思えなかったしね。
今シンタックスのところを読んでるけど、goより学習コストは高いなーと思った。
メモリ管理のメンタルモデルは学習を避けることができないから、尚の事学習コストは高いよね。
使い始めに関してはc++より難しいんと違う?
329デフォルトの名無しさん
2017/07/27(木) 00:15:56.27ID:YcR0VV5Q goを学習するモチベーションとなったのはgoroutineで並列処理を簡単に書けるからだったんだよね。
phpのバッチ処理を学習期間は2,3日で
goで並列処理を書けるようになった。
まぁ書けたってだけでgoの流儀って独特だから、その後の深淵に結構はまっていったんだけど。
深層学習の為のpython。
iosのためのswift。
みたくrustの始めるきっかけとなる分野ってなんかないのかな?
rustを書きはじめる皆さんのきっかけを教えてください。
phpのバッチ処理を学習期間は2,3日で
goで並列処理を書けるようになった。
まぁ書けたってだけでgoの流儀って独特だから、その後の深淵に結構はまっていったんだけど。
深層学習の為のpython。
iosのためのswift。
みたくrustの始めるきっかけとなる分野ってなんかないのかな?
rustを書きはじめる皆さんのきっかけを教えてください。
330デフォルトの名無しさん
2017/07/27(木) 08:45:36.82ID:alz7xNNS331デフォルトの名無しさん
2017/07/27(木) 09:07:26.49ID:alz7xNNS332デフォルトの名無しさん
2017/07/27(木) 10:08:19.56ID:JZl+5b/l コードに問題があればcargo runでエラーが出ますけど
ビルドせずチェックだけを行う方法ないですか?
あと定番のlintツールも教えてください
ビルドせずチェックだけを行う方法ないですか?
あと定番のlintツールも教えてください
333デフォルトの名無しさん
2017/07/27(木) 11:54:01.80ID:NVUZFqS5 cargo check
clippy
clippy
334デフォルトの名無しさん
2017/07/27(木) 12:47:34.70ID:tmRnr4Iu >>331
前任者も認められてたからgo使ったわけじゃなく、goがもっとマイナーだった頃に勝手に使ってただけだし
俺も存在するかどうかわからない後任者など気にしてない
うちは大きな会社じゃないので、何を採用するかはプロジェクトリーダー次第
前任者も認められてたからgo使ったわけじゃなく、goがもっとマイナーだった頃に勝手に使ってただけだし
俺も存在するかどうかわからない後任者など気にしてない
うちは大きな会社じゃないので、何を採用するかはプロジェクトリーダー次第
335デフォルトの名無しさん
2017/07/27(木) 14:28:39.09ID:MedrFN4m 是非rust使ってレポートしてほしい
336デフォルトの名無しさん
2017/07/27(木) 21:27:35.77ID:YcR0VV5Q rustって課題を解いていく感じの学習サイトってないすかね?
goとかjsだとあるんだけど、、、
goとかjsだとあるんだけど、、、
337デフォルトの名無しさん
2017/07/28(金) 00:41:42.43ID:eqr+g7ZD338デフォルトの名無しさん
2017/07/28(金) 08:34:02.73ID:O7VztC89 >>337
わぉ。ありがとうございます。普通にあってよかった
わぉ。ありがとうございます。普通にあってよかった
339デフォルトの名無しさん
2017/07/28(金) 10:12:39.22ID:APGd6g7o nightlyって頻繁に更新ありますか?
モバイルに接続してるのであんまり通信したくないからstable選んだんですけど
clippyがnightlyでしかインストールできないのつらい
モバイルに接続してるのであんまり通信したくないからstable選んだんですけど
clippyがnightlyでしかインストールできないのつらい
340デフォルトの名無しさん
2017/07/28(金) 13:36:38.25ID:IiZPJKRx てすと
341デフォルトの名無しさん
2017/07/28(金) 17:20:05.54ID:HRHd+c6j cargo checkだと全てのrsファイルをチェックするので
cargo check hoge.rsみたいに特定のファイルを指定してチェックする方法ありませんか?
cargo check hoge.rsみたいに特定のファイルを指定してチェックする方法ありませんか?
342デフォルトの名無しさん
2017/07/28(金) 17:54:04.02ID:ABEdHekZ Stableでは無理
Incremental compilationの安定化を待ちなされ
Incremental compilationの安定化を待ちなされ
343デフォルトの名無しさん
2017/07/28(金) 18:24:34.83ID:cPwtoBYF >>342
あ、そのモジュールが他のモジュールに全く依存していない場合はrustc hoge.rs --crate-type=lib --emit=metadataが一応使えるんだった
ただしこれはカレントディレクトリにゴミをまき散らすからあまりおすすめできない
あ、そのモジュールが他のモジュールに全く依存していない場合はrustc hoge.rs --crate-type=lib --emit=metadataが一応使えるんだった
ただしこれはカレントディレクトリにゴミをまき散らすからあまりおすすめできない
344デフォルトの名無しさん
2017/07/28(金) 21:55:20.59ID:3/dxxKLW REPLが欲しいんですが安定したやつないかな
345デフォルトの名無しさん
2017/07/28(金) 22:25:19.67ID:kWrQnfQi 目の前の便利な箱で調べること出来ない教えて君は
実はRustで作った人工知能試験で動作試験してるんじゃなかろうな
実はRustで作った人工知能試験で動作試験してるんじゃなかろうな
346デフォルトの名無しさん
2017/07/28(金) 22:36:44.17ID:GOfdf3yM いまbookやってるんですけど
fn main() {
let x = 1;
println!("Hello")
}
これ1回目buildすると
warning: unused variable: `x`
--> src/main.rs:2:9
|
2 | let x = 1;
| ^
|
= note: #[warn(unused_variables)] on by default
って出るのですが、2回目buildするとこの警告が出なくなる
なんででしょうか?
fn main() {
let x = 1;
println!("Hello")
}
これ1回目buildすると
warning: unused variable: `x`
--> src/main.rs:2:9
|
2 | let x = 1;
| ^
|
= note: #[warn(unused_variables)] on by default
って出るのですが、2回目buildするとこの警告が出なくなる
なんででしょうか?
347デフォルトの名無しさん
2017/07/28(金) 22:40:19.95ID:jE9FvNjp コンパイルの結果がキャッシュされているから
348デフォルトの名無しさん
2017/07/29(土) 00:47:07.63ID:DIZfrj77 rustってまだ安定してない感じ?
開発環境は何がおすすめなんです?
vscodeを試したけどあんまりrustに対応してない感が
開発環境は何がおすすめなんです?
vscodeを試したけどあんまりrustに対応してない感が
349デフォルトの名無しさん
2017/07/29(土) 02:31:25.76ID:ZD4o/AdV >>348
俺はIntelliJ派だから
俺はIntelliJ派だから
350デフォルトの名無しさん
2017/07/29(土) 02:34:36.68ID:7woiJ3eO そうですか
351デフォルトの名無しさん
2017/07/29(土) 10:51:47.46ID:Xgmp5DuD Rustについて調べているのですが2点ほど質問です
・所有権、借用権ってどのようなケースを想定した機能なのか?
並行処理を行うコードを書く時には同期ミスによる破壊を防止できて便利そうだけど上手い活用ケースを想像できない
・OS無しで動かすコードを書くケースでRustが謳うメリットはどの程度いかせるのか?
メモリマップドレジスタへアクセスするためにunsafeと生ポインタを多用することになる
このようなケースでコンパイル時の安全性の検査条件などはカスタマイズできたりするのか
・所有権、借用権ってどのようなケースを想定した機能なのか?
並行処理を行うコードを書く時には同期ミスによる破壊を防止できて便利そうだけど上手い活用ケースを想像できない
・OS無しで動かすコードを書くケースでRustが謳うメリットはどの程度いかせるのか?
メモリマップドレジスタへアクセスするためにunsafeと生ポインタを多用することになる
このようなケースでコンパイル時の安全性の検査条件などはカスタマイズできたりするのか
352デフォルトの名無しさん
2017/07/29(土) 12:41:44.44ID:cTpvw2dC vim + project.vim + rust.vimもいいぞ
コード量が多いと流石にIntelliJ使うけど
コード量が多いと流石にIntelliJ使うけど
353デフォルトの名無しさん
2017/07/29(土) 12:52:24.62ID:U9LihKmk IDEAとvscodeってどっちがおすすすめ?
354デフォルトの名無しさん
2017/07/29(土) 12:52:42.83ID:U9LihKmk おすすめ?
355デフォルトの名無しさん
2017/07/29(土) 14:45:43.16ID:3C62sBLB >>313
噂をすればなんとやら
facebookexperimental/mononoke: A Mercurial source control server, specifically designed to support large monorepos.
https://github.com/facebookexperimental/mononoke
>>351
メモリ安全性以外での所有権の活用例としては、すでにボディを書き込み始めたHTTPレスポンスに新たにヘッダを書き込めないことを静的に保証する、とかいうのがある
https://docs.rs/hyper/0.10/hyper/server/index.html#an-aside-write-status
ヘッダを書き込んだレスポンスの所有権を奪って、ボディだけを書き込める型にして返している
https://docs.rs/hyper/0.10/hyper/server/response/struct.Response.html#method.start
噂をすればなんとやら
facebookexperimental/mononoke: A Mercurial source control server, specifically designed to support large monorepos.
https://github.com/facebookexperimental/mononoke
>>351
メモリ安全性以外での所有権の活用例としては、すでにボディを書き込み始めたHTTPレスポンスに新たにヘッダを書き込めないことを静的に保証する、とかいうのがある
https://docs.rs/hyper/0.10/hyper/server/index.html#an-aside-write-status
ヘッダを書き込んだレスポンスの所有権を奪って、ボディだけを書き込める型にして返している
https://docs.rs/hyper/0.10/hyper/server/response/struct.Response.html#method.start
356デフォルトの名無しさん
2017/07/29(土) 16:04:35.17ID:OScYBSe+ もののけ
357デフォルトの名無しさん
2017/07/29(土) 16:29:29.84ID:PuR8d8Sj ideaのrustプラギンはメソッドチェインが深くなるとハイライトされなくなって、リネームとかも取りこぼすことがある。それ以外はよくできてて満足
358デフォルトの名無しさん
2017/07/29(土) 16:43:27.84ID:mj0H/MXI >>351
所有と借用は、設計の考え方として言語問わず有効なので、コンパイラに強制されるのはかなり嬉しい。
と言うのも、所有を考えないで動的メモリを使ったプログラムは、シングルスレッドであっても、ライフタイム問題を起こしやすいんだよね。
他人にヤラれると殺意がわく。
所有と借用は、設計の考え方として言語問わず有効なので、コンパイラに強制されるのはかなり嬉しい。
と言うのも、所有を考えないで動的メモリを使ったプログラムは、シングルスレッドであっても、ライフタイム問題を起こしやすいんだよね。
他人にヤラれると殺意がわく。
359デフォルトの名無しさん
2017/07/29(土) 16:55:38.17ID:mj0H/MXI >>351
借用に関しては、不意の同期漏れ防止と思ってる。
ご存知の通り、マルチスレッドでは、同じオブジェクトを触るときに同期処理を入れないと、データ破壊しちゃうじゃん?
C言語だと、この危険な状態がデフォルトで、気付くかどうかは人間次第。
でも、rustはコンパイラがその危険な状態を防いでくれると言うだけだと思う。
借用に関しては、不意の同期漏れ防止と思ってる。
ご存知の通り、マルチスレッドでは、同じオブジェクトを触るときに同期処理を入れないと、データ破壊しちゃうじゃん?
C言語だと、この危険な状態がデフォルトで、気付くかどうかは人間次第。
でも、rustはコンパイラがその危険な状態を防いでくれると言うだけだと思う。
360デフォルトの名無しさん
2017/07/29(土) 17:08:36.25ID:mj0H/MXI >>351
最後、OS無しはどうかなー。
自分ならこうするかなっていうテキトーな意見だけど、生メモリアクセスが必要な部分(デバドラとか)はC/C++で書いて、アプリ部をrustで書いてFFIバインドかなー。
最後、OS無しはどうかなー。
自分ならこうするかなっていうテキトーな意見だけど、生メモリアクセスが必要な部分(デバドラとか)はC/C++で書いて、アプリ部をrustで書いてFFIバインドかなー。
361デフォルトの名無しさん
2017/07/29(土) 17:23:05.64ID:H7MJnrUX Rustの素晴らしさを理解するにはC++を理解する必要がある?
362デフォルトの名無しさん
2017/07/29(土) 17:27:03.96ID:DIZfrj77363デフォルトの名無しさん
2017/07/29(土) 17:41:05.57ID:mj0H/MXI >>362
最初から最後までメモリ安全じゃなくてもいいんじゃない?
適材適所で使い分ければ。
マルチスレッド問題はアプリ側に多い問題かなーって。
デバドラ最下層になると、そもそもマルチスレッド要件が無かったり、メモリイメージが生で見える触れる方が融通があって便利だったりするし。
ドメイン境界で考えて、rustを適用する範囲内で潔白なのが重要と思ってる。
この潔白さは、開発者の人数が多いドメイン(アプリ)で、真価を発揮するんじゃないかなと。
最初から最後までメモリ安全じゃなくてもいいんじゃない?
適材適所で使い分ければ。
マルチスレッド問題はアプリ側に多い問題かなーって。
デバドラ最下層になると、そもそもマルチスレッド要件が無かったり、メモリイメージが生で見える触れる方が融通があって便利だったりするし。
ドメイン境界で考えて、rustを適用する範囲内で潔白なのが重要と思ってる。
この潔白さは、開発者の人数が多いドメイン(アプリ)で、真価を発揮するんじゃないかなと。
364デフォルトの名無しさん
2017/07/29(土) 18:00:00.71ID:SaJE2wIQ racer + flycheck-rust でマクロ補完って無理?
println!とかwrite!とか毎回全部打つのがダルい
println!とかwrite!とか毎回全部打つのがダルい
365デフォルトの名無しさん
2017/07/29(土) 18:10:49.31ID:DIZfrj77366デフォルトの名無しさん
2017/07/29(土) 18:13:03.21ID:DIZfrj77 >>363
あと最初から最後までメモリ安全のほうが良くない?
少なくともメモリ関連のバグを撲滅できるんであればrustの価値はあると思うんだ。
逆にできないならrustの存在意義ってなんだろ。
goは並行処理が言語機能に組み込まれてる。
rustはメモリ安全が売りだと思うんだけど、
そこってなかなか地味な売りな気がして
あと最初から最後までメモリ安全のほうが良くない?
少なくともメモリ関連のバグを撲滅できるんであればrustの価値はあると思うんだ。
逆にできないならrustの存在意義ってなんだろ。
goは並行処理が言語機能に組み込まれてる。
rustはメモリ安全が売りだと思うんだけど、
そこってなかなか地味な売りな気がして
367デフォルトの名無しさん
2017/07/29(土) 18:57:22.38ID:mj0H/MXI >>365
Cに頼る→負けてるって事じゃないと思うけどね。
実際アセンブリ言語はなくならないわけだし。
CPU の高機能化、メモリの大容量化、プログラムの大規模化、があって、開発効率を高めるために、プログラムの大部分がC言語に置き換わったわけじゃん。
で、マルチコア全盛の時代になって、正常稼働面での重大要因としてメモリ安全性が注目されてrustが生まれたのだから、メモリ安全のメリットの大きいところだけrustに置き換わるってのが、普通の流れじゃないのかなーと思うよ。
別にCを駆逐する必要はないしょ。
Cに頼る→負けてるって事じゃないと思うけどね。
実際アセンブリ言語はなくならないわけだし。
CPU の高機能化、メモリの大容量化、プログラムの大規模化、があって、開発効率を高めるために、プログラムの大部分がC言語に置き換わったわけじゃん。
で、マルチコア全盛の時代になって、正常稼働面での重大要因としてメモリ安全性が注目されてrustが生まれたのだから、メモリ安全のメリットの大きいところだけrustに置き換わるってのが、普通の流れじゃないのかなーと思うよ。
別にCを駆逐する必要はないしょ。
368デフォルトの名無しさん
2017/07/29(土) 19:02:32.30ID:mj0H/MXI369デフォルトの名無しさん
2017/07/29(土) 19:05:29.70ID:mj0H/MXI >>361
むしろC++をうまく使うために、rustの意味論(セマンティクス)を勉強して欲しい、って思う。
むしろC++をうまく使うために、rustの意味論(セマンティクス)を勉強して欲しい、って思う。
370デフォルトの名無しさん
2017/07/29(土) 19:59:14.72ID:DIZfrj77 goができたのはgoogle社内のc++プロジェクトの置き換えのためだけどrustってどんな動機でできたの?。
まさかブラウザ開発のため?
まさかブラウザ開発のため?
372デフォルトの名無しさん
2017/07/29(土) 20:22:55.12ID:OScYBSe+ >>369
俺もRustはじめてからC++が少しよく書けるようになりました
俺もRustはじめてからC++が少しよく書けるようになりました
373デフォルトの名無しさん
2017/07/29(土) 21:18:30.65ID:ZD4o/AdV374351
2017/07/29(土) 21:52:24.31ID:Xgmp5DuD375デフォルトの名無しさん
2017/07/30(日) 03:44:39.97ID:m1nsIIH9 以前にこのスレであったら良いと言われていたOptionのEntry風APIが実装されて、しかも既にstabilizeされている
std: Stabilize `option_entry` feature ・ rust-lang/rust@ee064c3
https://github.com/rust-lang/rust/commit/ee064c380652fb7e40c1620fd74fb1406989d009
std: Stabilize `option_entry` feature ・ rust-lang/rust@ee064c3
https://github.com/rust-lang/rust/commit/ee064c380652fb7e40c1620fd74fb1406989d009
376デフォルトの名無しさん
2017/07/30(日) 08:00:41.23ID:eSrcFrA9 >やはり並列処理時の安全性を担保する機能なのですね
race condition の解消はあくまでもメモリ安全の一部でしかない
race condition の解消はあくまでもメモリ安全の一部でしかない
377デフォルトの名無しさん
2017/07/30(日) 08:02:46.70ID:eSrcFrA9 >他にDも検討していますが何となく新しい方が何かと便利かなと思ったり
Dが検討対象に入って、かつ、低水準用途なの?
意味わからんな
Dが検討対象に入って、かつ、低水準用途なの?
意味わからんな
378デフォルトの名無しさん
2017/07/30(日) 08:03:42.92ID:NzSybo/S 351からは実際にプログラム組んだことの無い人の気配がプンプンしてる。
379デフォルトの名無しさん
2017/07/30(日) 11:40:03.02ID:sZ4wntzb cargo check のメッセージが加工しづらい
https://github.com/rust-lang/rust/issues/42653これ追加されて欲しい
https://github.com/rust-lang/rust/issues/42653これ追加されて欲しい
380デフォルトの名無しさん
2017/07/30(日) 16:21:42.29ID:vygP638r たぶんnode.js育ちの人だと思うけど、実質1行ないし3行で完結してるクレートが出てきてるね
381デフォルトの名無しさん
2017/07/30(日) 17:42:42.26ID:cNiju5gN clippyインストールできないclippyインストールできないclippyインストールできない
clippyインストールできないclippyインストールできないclippyインストールできない
clippyインストールできないclippyインストールできないclippyインストールできない
修正したコミットがが日曜の夜にコミットするって作者が言ってるけど遅すぎ 👀
Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f)
clippyインストールできないclippyインストールできないclippyインストールできない
clippyインストールできないclippyインストールできないclippyインストールできない
修正したコミットがが日曜の夜にコミットするって作者が言ってるけど遅すぎ 👀
Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f)
382デフォルトの名無しさん
2017/07/30(日) 19:43:29.15ID:IhAKIxVt CランタイムをスタティックリンクしたくてRUSTFLAGSに以下のフラグを設定しています。
RUSTFLAGS='-C target-feature=+crt-static'
これを環境変数で設定するのではなくCargo.tomlで指定するにはどうすればいいんでしょうか?
http://doc.crates.io/config.html を参考に下のように書いてみたのですが効いてないようでした。
[build]
rustflags = ["-C target-feature=+crt-static"]
オプションの書き方が違っているんですかね?
RUSTFLAGS='-C target-feature=+crt-static'
これを環境変数で設定するのではなくCargo.tomlで指定するにはどうすればいいんでしょうか?
http://doc.crates.io/config.html を参考に下のように書いてみたのですが効いてないようでした。
[build]
rustflags = ["-C target-feature=+crt-static"]
オプションの書き方が違っているんですかね?
383デフォルトの名無しさん
2017/07/30(日) 19:51:11.45ID:m1nsIIH9 ["-C", "target-feature=+crt-static"]
でどうかしら
でどうかしら
384デフォルトの名無しさん
2017/07/30(日) 20:00:04.61ID:IhAKIxVt うーん、このへん試してみたんですけどだめなんですよね。
["-C", "target-feature=+crt-static"]
["target-feature", "+crt-static"]
["-C", "target-feature=+crt-static"]
["target-feature", "+crt-static"]
385デフォルトの名無しさん
2017/07/30(日) 22:39:37.27ID:KR/rniwV >>381
一時的に古いnightly使えば良いのでは
一時的に古いnightly使えば良いのでは
386デフォルトの名無しさん
2017/07/30(日) 23:38:44.64ID:dsY+op8E まだruct学んで2日目だけど
これパッケージ入れる時のコンパイルが長いね
補完強化のためにracer入れようとしたらsyntax_syntaxから全然進まなくてCTRL+C押しちゃったよ
基本的なものを覚えるだけならパッケージなんて入れなくても良さそうだけど
ステップアップしたときにそれなりのスペックのPC持ってないと学習するのが厳しい言語って感じ
これパッケージ入れる時のコンパイルが長いね
補完強化のためにracer入れようとしたらsyntax_syntaxから全然進まなくてCTRL+C押しちゃったよ
基本的なものを覚えるだけならパッケージなんて入れなくても良さそうだけど
ステップアップしたときにそれなりのスペックのPC持ってないと学習するのが厳しい言語って感じ
387351
2017/07/31(月) 01:33:05.73ID:0NH1HYUL388デフォルトの名無しさん
2017/07/31(月) 09:17:51.12ID:nR0sqwYk アセンブラは型がないぶんさらにメモリ壊しやすいと思うが
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 米大統領報道官「日本と強固な同盟維持、中国とも協力」 [少考さん★]
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 ★2 [蚤の市★]
- ミス・ユニバース フィンランド代表の「つり目」写真が波紋… 本人釈明も批判やまず 協会謝罪「徹底的に検証」へ [冬月記者★]
- 【おこめ券】鈴木憲和農相 小泉前農相の備蓄米放出を“反省”「備蓄の円滑な運営を図ってまいります」 [Hitzeschleier★]
- 1人3千円の食品高騰対策、何に使える? あいまいなまま衆院通過 [蚤の市★]
- ゆたぼん 二重手術を報告「めちゃくちゃ気に入っています」 [muffin★]
- 【悲報】維新の政治資金でガールズバー、高市首相「良いか悪いかは国民の皆さまが判断されること」 [115996789]
- 【マギレコ】VIPでマギアレコード&マギアエクセドラ【まどドラ】
- 中国人、ガチ超正論。「日本人がアイヌに対してやったことを『問題ない』とするなら、中国が日本人に同じことをしても文句ないだろう?」 [314039747]
- 【悲報】新米、全く売れなくて倉庫が満杯になってしまうwwwwwwwwwwwwwwwwwwww [802034645]
- 【悲報】柳原司奈子さん救急搬送
- いじめられてる男子中学生だけど質問ある?
