[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 04/11 13:12 / Filesize : 252 KB / Number-of Response : 1025
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

プログラミング言語 Rust 3



1 名前:デフォルトの名無しさん [2017/05/21(日) 14:04:29.55 ID:9L9dm7b/.net]
Mozillaがリリースした、プログラミング言語「Rust」について語るスレです。

www.rust-lang.org/
https://github.com/rust-lang/rust

Servo
https://servo.org/
https://github.com/servo/servo

◆前スレ
プログラミング言語 Rust 2
echo.2ch.net/test/read.cgi/tech/1478023960

313 名前:デフォルトの名無しさん mailto:sage [2017/07/25(火) 12:39:25.58 ID:fQ81IbD6.net]
pecoもghqもすでにrust版あるよ

314 名前:デフォルトの名無しさん mailto:sage [2017/07/25(火) 13:18:07.15 ID:E8ESHMbJ.net]
wasmがもっと成熟すれば...

315 名前:デフォルトの名無しさん mailto:sage [2017/07/25(火) 14:21:47.66 ID:5XPEt11J.net]
>>308
へー。リンク下さい

316 名前:デフォルトの名無しさん mailto:sage [2017/07/25(火) 16:53:49.81 ID:qEbQGi9S.net]
>>310
https://crates.io/crates/rhq
https://crates.io/crates/skim

317 名前:デフォルトの名無しさん mailto:sage [2017/07/25(火) 17:33:21.29 ID:CUwpfKAw.net]
skimええやん

318 名前:デフォルトの名無しさん mailto:sage [2017/07/25(火) 17:38:52.31 ID:qu0St3oz.net]
>>307
Facebookが社内向けにMercurial(Python + C)をRustで一部?書き直したら速かったらしい

俺も、社内向けツールを前任者がgoで書いたのを幾つかRustに移植してる
ただの練習素材として移植してたけど、2〜3倍速くなったよ

319 名前:デフォルトの名無しさん mailto:sage [2017/07/25(火) 19:00:41.47 ID:FbhHJVqk.net]
「Rust 1.19」リリース。union(共用体)をサポート
www.publickey1.jp/blog/17/rust_119union.html

320 名前:デフォルトの名無しさん mailto:sage [2017/07/25(火) 20:32:46.37 ID:5XPEt11J.net]
>>313
おおー。魅力的な話だね。
メモリの使用量もrustだと減るようなきがするんだけどそのへんどうかな。

321 名前:デフォルトの名無しさん mailto:sage [2017/07/25(火) 21:45:29.88 ID:7Ef69C7C.net]
rustは今の日本だと凄腕のプログラマが使ってるところはちょいちょい見かけるな。
もっとwebの人たちがたくさん布教すればいいんだろうけど、やっぱrust自体が難しいのかね。
C++とよくセットで名前が出てくるから、ビビる人が多いのかなーとも思う



322 名前:デフォルトの名無しさん mailto:sage [2017/07/25(火) 22:11:08.39 ID:FfK5LQFv.net]
最近真面目に勉強し始めたけど潜在的に難解なバグを生み出す汚いコードを平気で書く人だと
コンパイルが通らないので辛いと思う。
若干煽り気味に言えばPHPやRailsだけやってプログラミングを分かった気になってちゃんと勉強してない人には無理。

323 名前:デフォルトの名無しさん mailto:sage [2017/07/25(火) 22:21:26.92 ID:5XPEt11J.net]
ios -> objc, swift
android -> kotlin,java
web frontend -> typescript, javascript
web backend -> go,ruby,php
ってイメージだがrustはどこに入るの?

324 名前:デフォルトの名無しさん mailto:sage [2017/07/25(火) 23:01:36.50 ID:w/P80i1O.net]
webassemblyの今後の成熟具合によっては、
web frontendに食い込んでいくかも

325 名前:デフォルトの名無しさん mailto:sage [2017/07/26(水) 02:52:39.50 ID:mSfCdN7l.net]
>>318
希望的観測で言えば、
今までC/C++で書かれていたようなもの全てと、今goで書かれているものの半分 -> rust

WebAssemblyをほんとに必要としてるのは、ごく一部の人だと思う

326 名前:デフォルトの名無しさん mailto:sage [2017/07/26(水) 08:56:45.29 ID:ENBFGRGX.net]
>>320
例えばc++ でUE4って書かれてるけど
そこをrustでってのはあるのかな?
ゲームエンジンとかはc++ってイメージだけどそれがrustでどうなるのか興味あるなー。
c++よりバグが少なくなってメモリ使用量も減るなら
家庭用ゲーム機とかの性能向上に役立ちそうだけど。

327 名前:デフォルトの名無しさん mailto:sage [2017/07/26(水) 10:26:21.34 ID:ENBFGRGX.net]
https://rust-lang-ja.github.io/the-rust-programming-language-ja/1.6/book/dining-philosophers.html
このチュートリアルもうちょいなんとかならないのか
クロージャー周りの説明が抜けてるからなんだかふわっと触って終了みたいな感じになるんだけども。シンタックスの方から学んだほうがしっくりする。

328 名前:デフォルトの名無しさん mailto:sage [2017/07/26(水) 12:59:44.03 ID:TL1HhZT+.net]
>>321
ゲームエンジンそのものがRustで書かれているのでなければ移行はないと思ってる
自分は据え置き開発だけど、ライブラリやツールやアセットパイプライン含めてC++ならそのまま利用する方が楽だし、ゲーム会社ならC++の資産やノウハウも蓄積されてる

329 名前:デフォルトの名無しさん [2017/07/26(水) 16:21:03.85 ID:G2QlGkU/.net]
>>323
環境的にc++14使うくらいは許されてるの?

330 名前:デフォルトの名無しさん mailto:sage [2017/07/26(水) 18:20:47.88 ID:1Yp0AYo7.net]
>>324
基本C++11かな
部分的に14の機能も使えるかも
そのうち使えるようになると思われる

331 名前:デフォルトの名無しさん mailto:sage [2017/07/26(水) 18:36:05.35 ID:0VRUk0dC.net]
>>320はゲームエンジンそのものがrustにならんかのーって話じゃないの
その上っ面はC++のままで良いんでない



332 名前:デフォルトの名無しさん mailto:sage [2017/07/26(水) 19:49:44.76 ID:FgKZS4eT.net]
>>322
最新ではその項無くなったよ

333 名前:デフォルトの名無しさん mailto:sage [2017/07/27(木) 00:05:30.43 ID:YcR0VV5Q.net]
>>327
なんややっぱりそうなんだ。
やっててあんまり面白いとも思えなかったしね。
今シンタックスのところを読んでるけど、goより学習コストは高いなーと思った。
メモリ管理のメンタルモデルは学習を避けることができないから、尚の事学習コストは高いよね。
使い始めに関してはc++より難しいんと違う?

334 名前:デフォルトの名無しさん mailto:sage [2017/07/27(木) 00:15:56.27 ID:YcR0VV5Q.net]
goを学習するモチベーションとなったのはgoroutineで並列処理を簡単に書けるからだったんだよね。
phpのバッチ処理を学習期間は2,3日で
goで並列処理を書けるようになった。

まぁ書けたってだけでgoの流儀って独特だから、その後の深淵に結構はまっていったんだけど。


深層学習の為のpython。
iosのためのswift。
みたくrustの始めるきっかけとなる分野ってなんかないのかな?

rustを書きはじめる皆さんのきっかけを教えてください。

335 名前:デフォルトの名無しさん mailto:sage [2017/07/27(木) 08:45:36.82 ID:alz7xNNS.net]
>>329
社内でのC++開発に疲れて代替を探して。
ブライベートで使って、社内もこれにしたいと妄想する。そして誰も社内でRust使えない。

336 名前:デフォルトの名無しさん mailto:sage [2017/07/27(木) 09:07:26.49 ID:alz7xNNS.net]
>>313
Rustにしちゃって、あなたの後任が困るとか、そういうことはないの?
社内でもRust認められてる?

337 名前:デフォルトの名無しさん [2017/07/27(木) 10:08:19.56 ID:JZl+5b/l.net]
コードに問題があればcargo runでエラーが出ますけど
ビルドせずチェックだけを行う方法ないですか?

あと定番のlintツールも教えてください

338 名前:デフォルトの名無しさん mailto:sage [2017/07/27(木) 11:54:01.80 ID:NVUZFqS5.net]
cargo check
clippy

339 名前:デフォルトの名無しさん mailto:sage [2017/07/27(木) 12:47:34.70 ID:tmRnr4Iu.net]
>>331
前任者も認められてたからgo使ったわけじゃなく、goがもっとマイナーだった頃に勝手に使ってただけだし
俺も存在するかどうかわからない後任者など気にしてない
うちは大きな会社じゃないので、何を採用するかはプロジェクトリーダー次第

340 名前:デフォルトの名無しさん mailto:sage [2017/07/27(木) 14:28:39.09 ID:MedrFN4m.net]
是非rust使ってレポートしてほしい

341 名前:デフォルトの名無しさん mailto:sage [2017/07/27(木) 21:27:35.77 ID:YcR0VV5Q.net]
rustって課題を解いていく感じの学習サイトってないすかね?
goとかjsだとあるんだけど、、、



342 名前:デフォルトの名無しさん mailto:sage [2017/07/28(金) 00:41:42.43 ID:eqr+g7ZD.net]
rusr by example 本家
https://rustbyexample.com

日本語訳
rust-lang-ja.org/rust-by-example/

343 名前:デフォルトの名無しさん mailto:sage [2017/07/28(金) 08:34:02.73 ID:O7VztC89.net]
>>337
わぉ。ありがとうございます。普通にあってよかった

344 名前:デフォルトの名無しさん mailto:sage [2017/07/28(金) 10:12:39.22 ID:APGd6g7o.net]
nightlyって頻繁に更新ありますか?
モバイルに接続してるのであんまり通信したくないからstable選んだんですけど
clippyがnightlyでしかインストールできないのつらい

345 名前:デフォルトの名無しさん mailto:sage [2017/07/28(金) 13:36:38.25 ID:IiZPJKRx.net]
てすと

346 名前:デフォルトの名無しさん mailto:sage [2017/07/28(金) 17:20:05.54 ID:HRHd+c6j.net]
cargo checkだと全てのrsファイルをチェックするので
cargo check hoge.rsみたいに特定のファイルを指定してチェックする方法ありませんか?

347 名前:デフォルトの名無しさん mailto:sage [2017/07/28(金) 17:54:04.02 ID:ABEdHekZ.net]
Stableでは無理
Incremental compilationの安定化を待ちなされ

348 名前:デフォルトの名無しさん mailto:sage [2017/07/28(金) 18:24:34.83 ID:cPwtoBYF.net]
>>342
あ、そのモジュールが他のモジュールに全く依存していない場合はrustc hoge.rs --crate-type=lib --emit=metadataが一応使えるんだった
ただしこれはカレントディレクトリにゴミをまき散らすからあまりおすすめできない

349 名前:デフォルトの名無しさん mailto:sage [2017/07/28(金) 21:55:20.59 ID:3/dxxKLW.net]
REPLが欲しいんですが安定したやつないかな

350 名前:デフォルトの名無しさん mailto:sage [2017/07/28(金) 22:25:19.67 ID:kWrQnfQi.net]
目の前の便利な箱で調べること出来ない教えて君は
実はRustで作った人工知能試験で動作試験してるんじゃなかろうな

351 名前:デフォルトの名無しさん mailto:sage [2017/07/28(金) 22:36:44.17 ID:GOfdf3yM.net]
いま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するとこの警告が出なくなる
なんででしょうか?



352 名前:デフォルトの名無しさん mailto:sage [2017/07/28(金) 22:40:19.95 ID:jE9FvNjp.net]
コンパイルの結果がキャッシュされているから

353 名前:デフォルトの名無しさん mailto:sage [2017/07/29(土) 00:47:07.63 ID:DIZfrj77.net]
rustってまだ安定してない感じ?
開発環境は何がおすすめなんです?
vscodeを試したけどあんまりrustに対応してない感が

354 名前:デフォルトの名無しさん mailto:sage [2017/07/29(土) 02:31:25.76 ID:ZD4o/AdV.net]
>>348
俺はIntelliJ派だから

355 名前:デフォルトの名無しさん mailto:sage [2017/07/29(土) 02:34:36.68 ID:7woiJ3eO.net]
そうですか

356 名前:デフォルトの名無しさん mailto:sage [2017/07/29(土) 10:51:47.46 ID:Xgmp5DuD.net]
Rustについて調べているのですが2点ほど質問です
・所有権、借用権ってどのようなケースを想定した機能なのか?
 並行処理を行うコードを書く時には同期ミスによる破壊を防止できて便利そうだけど上手い活用ケースを想像できない
・OS無しで動かす

357 名前:コードを書くケースでRustが謳うメリットはどの程度いかせるのか?
 メモリマップドレジスタへアクセスするためにunsafeと生ポインタを多用することになる
 このようなケースでコンパイル時の安全性の検査条件などはカスタマイズできたりするのか
[]
[ここ壊れてます]

358 名前:デフォルトの名無しさん mailto:sage [2017/07/29(土) 12:41:44.44 ID:cTpvw2dC.net]
vim + project.vim + rust.vimもいいぞ
コード量が多いと流石にIntelliJ使うけど

359 名前:デフォルトの名無しさん [2017/07/29(土) 12:52:24.62 ID:U9LihKmk.net]
IDEAとvscodeってどっちがおすすすめ?

360 名前:デフォルトの名無しさん [2017/07/29(土) 12:52:42.83 ID:U9LihKmk.net]
おすすめ?

361 名前:デフォルトの名無しさん mailto:sage [2017/07/29(土) 14:45:43.16 ID:3C62sBLB.net]
>>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



362 名前:デフォルトの名無しさん mailto:sage [2017/07/29(土) 16:04:35.17 ID:OScYBSe+.net]
もののけ

363 名前:デフォルトの名無しさん mailto:sage [2017/07/29(土) 16:29:29.84 ID:PuR8d8Sj.net]
ideaのrustプラギンはメソッドチェインが深くなるとハイライトされなくなって、リネームとかも取りこぼすことがある。それ以外はよくできてて満足

364 名前:デフォルトの名無しさん [2017/07/29(土) 16:43:27.84 ID:mj0H/MXI.net]
>>351
所有と借用は、設計の考え方として言語問わず有効なので、コンパイラに強制されるのはかなり嬉しい。

と言うのも、所有を考えないで動的メモリを使ったプログラムは、シングルスレッドであっても、ライフタイム問題を起こしやすいんだよね。
他人にヤラれると殺意がわく。

365 名前:デフォルトの名無しさん [2017/07/29(土) 16:55:38.17 ID:mj0H/MXI.net]
>>351
借用に関しては、不意の同期漏れ防止と思ってる。

ご存知の通り、マルチスレッドでは、同じオブジェクトを触るときに同期処理を入れないと、データ破壊しちゃうじゃん?
C言語だと、この危険な状態がデフォルトで、気付くかどうかは人間次第。
でも、rustはコンパイラがその危険な状態を防いでくれると言うだけだと思う。

366 名前:デフォルトの名無しさん [2017/07/29(土) 17:08:36.25 ID:mj0H/MXI.net]
>>351
最後、OS無しはどうかなー。

自分ならこうするかなっていうテキトーな意見だけど、生メモリアクセスが必要な部分(デバドラとか)はC/C++で書いて、アプリ部をrustで書いてFFIバインドかなー。

367 名前:デフォルトの名無しさん [2017/07/29(土) 17:23:05.64 ID:H7MJnrUX.net]
Rustの素晴らしさを理解するにはC++を理解する必要がある?

368 名前:デフォルトの名無しさん mailto:sage [2017/07/29(土) 17:27:03.96 ID:DIZfrj77.net]
>>360
メモリ安全にかけるのがrustなら
最初から最後までrustで書けるべきじゃない?

369 名前:デフォルトの名無しさん [2017/07/29(土) 17:41:05.57 ID:mj0H/MXI.net]
>>362
最初から最後までメモリ安全じゃなくてもいいんじゃない?
適材適所で使い分ければ。

マルチスレッド問題はアプリ側に多い問題かなーって。
デバドラ最下層になると、そもそもマルチスレッド要件が無かったり、メモリイメージが生で見える触れる方が融通があって便利だったりするし。

ドメイン境界で考えて、rustを適用する範囲内で潔白なのが重要と思ってる。
この潔白さは、開発者の人数が多いドメイン(アプリ)で、真価を発揮するんじゃないかなと。

370 名前:デフォルトの名無しさん mailto:sage [2017/07/29(土) 18:00:00.71 ID:SaJE2wIQ.net]
racer + flycheck-rust でマクロ補完って無理?
println!とかwrite!とか毎回全部打つのがダルい

371 名前:デフォルトの名無しさん mailto:sage [2017/07/29(土) 18:10:49.31 ID:DIZfrj77.net]
>>363
結局cには勝てないのか。
rustってgcがないからメモリイメージを直接いじりやすいのかと思ってたよ。
redoxとかも結局c++に頼ってたりするんかな?



372 名前:デフォルトの名無しさん mailto:sage [2017/07/29(土) 18:13:03.21 ID:DIZfrj77.net]
>>363
あと最初から最後までメモリ安全のほうが良くない?
少なくともメモリ関連のバグを撲滅できるんであればrustの価値はあると思うんだ。
逆にできないならrustの存在意義ってなんだろ。

goは並行処理が言語機能に組み込まれてる。
rustはメモリ安全が売りだと思うんだけど、
そこってなかなか地味な売りな気がして

373 名前:デフォルトの名無しさん [2017/07/29(土) 18:57:22.38 ID:mj0H/MXI.net]
>>365
Cに頼る→負けてるって事じゃないと思うけどね。
実際アセンブリ言語はなくならないわけだし。

CPU の高機能化、メモリの大容量化、プログラムの大規模化、があって、開発効率を高めるために、プログラムの大部分がC言語に置き換わったわけじゃん。
で、マルチコア全盛の時代になって、正常稼働面での重大要因としてメモリ安全性が注目されてrustが生まれたのだから、メモリ安全のメリットの大きいところだけrustに置き換わるってのが、普通の流れじゃないのかなーと思うよ。

別にCを駆逐する必要はないしょ。

374 名前:デフォルトの名無しさん [2017/07/29(土) 19:02:32.30 ID:mj0H/MXI.net]
>>366
そもそも、ハードに近い層でのメモリ安全性って何?って話だと思うんだ。

で、メモリ安全の話が出てこない領域なのだから、rustの出番が無いって事で良いんじゃない?

375 名前:デフォルトの名無しさん [2017/07/29(土) 19:05:29.70 ID:mj0H/MXI.net]
>>361
むしろC++をうまく使うために、rustの意味論(セマンティクス)を勉強して欲しい、って思う。

376 名前:デフォルトの名無しさん mailto:sage [2017/07/29(土) 19:59:14.72 ID:DIZfrj77.net]
goができたのはgoogle社内のc++プロジェクトの置き換えのためだけどrustってどんな動機でできたの?。
まさかブラウザ開発のため?

377 名前:346 mailto:sage [2017/07/29(土) 20:14:02.81 ID:DdYvAide.net]
>>347
キャッシュを無効にして毎回警告を出すにはどうしたら良いでしょうか?

378 名前:デフォルトの名無しさん mailto:sage [2017/07/29(土) 20:22:55.12 ID:OScYBSe+.net]
>>369
俺もRustはじめてからC++が少しよく書けるようになりました

379 名前:デフォルトの名無しさん mailto:sage [2017/07/29(土) 21:18:30.65 ID:ZD4o/AdV.net]
>>355
へー、monorepo用だからモノノケとな

mercurialをベースに仮想ファイルサーバーにする予定とは、なかなか壮大な計画だ

380 名前:351 mailto:sage [2017/07/29(土) 21:52:24.31 ID:Xgmp5DuD.net]
レスありがとうございます

>>355,358-359
なるほど。やはり並列処理時の安全性を担保する機能なのですね
組み込みでRTOSもどきを作って並列処理させるなんて場合には有効なのかな

>>360
構文上罠が多いC/C++の代替となる言語を探していてRustを検討しています
なのでC/C++を使わずにC/C++相当のことを行いたいです
警告もエラーも無しに動作だけがおかしいとか勘弁して欲しいです
他にDも検討していますが何となく新しい方が何かと便利かなと思ったり・・・

381 名前:デフォルトの名無しさん mailto:sage [2017/07/30(日) 03:44:39.97 ID:m1nsIIH9.net]
以前にこのスレであったら良いと言われていたOptionのEntry風APIが実装されて、しかも既にstabilizeされている
std: Stabilize `option_entry` feature ・ rust-lang/rust@ee064c3
https://github.com/rust-lang/rust/commit/ee064c380652fb7e40c1620fd74fb1406989d009



382 名前:デフォルトの名無しさん mailto:sage [2017/07/30(日) 08:00:41.23 ID:eSrcFrA9.net]
>やはり並列処理時の安全性を担保する機能なのですね

race condition の解消はあくまでもメモリ安全の一部でしかない

383 名前:デフォルトの名無しさん mailto:sage [2017/07/30(日) 08:02:46.70 ID:eSrcFrA9.net]
>

384 名前:他にDも検討していますが何となく新しい方が何かと便利かなと思ったり

Dが検討対象に入って、かつ、低水準用途なの?
意味わからんな
[]
[ここ壊れてます]

385 名前:デフォルトの名無しさん mailto:sage [2017/07/30(日) 08:03:42.92 ID:NzSybo/S.net]
351からは実際にプログラム組んだことの無い人の気配がプンプンしてる。

386 名前:デフォルトの名無しさん mailto:sage [2017/07/30(日) 11:40:03.02 ID:sZ4wntzb.net]
cargo check のメッセージが加工しづらい
https://github.com/rust-lang/rust/issues/42653これ追加されて欲しい

387 名前:デフォルトの名無しさん mailto:sage [2017/07/30(日) 16:21:42.29 ID:vygP638r.net]
たぶんnode.js育ちの人だと思うけど、実質1行ないし3行で完結してるクレートが出てきてるね

388 名前:デフォルトの名無しさん mailto:sage [2017/07/30(日) 17:42:42.26 ID:cNiju5gN.net]
clippyインストールできないclippyインストールできないclippyインストールできない
clippyインストールできないclippyインストールできないclippyインストールできない
clippyインストールできないclippyインストールできないclippyインストールできない
修正したコミットがが日曜の夜にコミットするって作者が言ってるけど遅すぎ 👀
Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f)


389 名前:デフォルトの名無しさん mailto:sage [2017/07/30(日) 19:43:29.15 ID:IhAKIxVt.net]
CランタイムをスタティックリンクしたくてRUSTFLAGSに以下のフラグを設定しています。

RUSTFLAGS='-C target-feature=+crt-static'

これを環境変数で設定するのではなくCargo.tomlで指定するにはどうすればいいんでしょうか?
doc.crates.io/config.html を参考に下のように書いてみたのですが効いてないようでした。

[build]

rustflags = ["-C target-feature=+crt-static"]

オプションの書き方が違っているんですかね?

390 名前:デフォルトの名無しさん [2017/07/30(日) 19:51:11.45 ID:m1nsIIH9.net]
["-C", "target-feature=+crt-static"]
でどうかしら

391 名前:デフォルトの名無しさん mailto:sage [2017/07/30(日) 20:00:04.61 ID:IhAKIxVt.net]
うーん、このへん試してみたんですけどだめなんですよね。

["-C", "target-feature=+crt-static"]

["target-feature", "+crt-static"]



392 名前:デフォルトの名無しさん mailto:sage [2017/07/30(日) 22:39:37.27 ID:KR/rniwV.net]
>>381
一時的に古いnightly使えば良いのでは

393 名前:デフォルトの名無しさん mailto:sage [2017/07/30(日) 23:38:44.64 ID:dsY+op8E.net]
まだruct学んで2日目だけど
これパッケージ入れる時のコンパイルが長いね
補完強化のためにracer入れようとしたらsyntax_syntaxから全然進まなくてCTRL+C押しちゃったよ
基本的なものを覚えるだけならパッケージなんて入れなくても良さそうだけど
ステップアップしたときにそれなりのスペックのPC持ってないと学習するのが厳しい言語って感じ

394 名前:351 mailto:sage [2017/07/31(月) 01:33:05.73 ID:0NH1HYUL.net]
>>377
C/C++より判りやすく罠が少なくC/C++で出来ることは全て出来る言語を探しています

>>378
ネイティブに動くプログラムで一番経験があるのはアセンブラ(組み込み)です
C/C++はなんの警告もなくメモリがぶっ壊れるし、どこが壊しているのかも判りにくいし
苦手です

395 名前:デフォルトの名無しさん mailto:sage [2017/07/31(月) 09:17:51.12 ID:nR0sqwYk.net]
アセンブラは型がないぶんさらにメモリ壊しやすいと思うが

396 名前:デフォルトの名無しさん mailto:sage [2017/07/31(月) 13:44:43.25 ID:luO5NyKL.net]
ライフタイムもコンパイル時に検査してライフタイムの外側からアクセスする処理もコンパイルエラーにするって

これって結局
全部ローカル変数になるってこと?
プログラム全体を通してアクセスする変数はmain関数で用意したローカル変数だからmain関数を抜けたあとは全部開放しちゃうからメモリリークも起きない?

cとかでもやろうと思えばできるって事?
cでmallocとかfreeを使わず、
全部変数定義してつかえばrustと同じ?

397 名前:デフォルトの名無しさん mailto:sage [2017/07/31(月) 16:54:10.50 ID:RkZnFpRc.net]
メモリに限らずリソース確保全般を行わないプログラムって何ができるのか
可変サイズの入力を受け取るならmallocがほ

398 名前:ぼ必須じゃない?
1行MAX_LENGTH文字までのテキストしか処理しないとか?
[]
[ここ壊れてます]

399 名前:デフォルトの名無しさん mailto:sage [2017/07/31(月) 17:16:32.22 ID:CRPdTSOK.net]
rustってどんな分野に向いてるのかいまいちわからないんだけど
webに使うのはおすすめできる?

400 名前:351 mailto:sage [2017/07/31(月) 19:18:45.74 ID:S3S/4XWd.net]
C/C++は言語仕様的にメモリの破壊を誘発しやすいと思っているんだけどそう思うのは自分だけなのだろうか

>>388
プロジェクトやプログラムの規模という要素もあるけどメモリを自由に管理できるアセンブラの方が見通しが良く
メモリ破壊に関するリスクも制御しやすいと思う。人間が理解しやすいように並べることも出来るし
もしメモリを壊した時もC/C++より何が起きるかを予測しやすいと思う

個人的にはメモリアクセスの規約を登録できてコンパイル時にそれをチェックしてくれると嬉しいんだけどな

401 名前:デフォルトの名無しさん mailto:sage [2017/07/31(月) 19:24:58.57 ID:nTqL7k1O.net]
アセンブリ的な観点でCの挙動が予想できないと言っているようならRustなんて余計に抽象的で分かりづらいと思うのだが
Volatile関連の制御とかだって面倒なだけだし



402 名前:351 mailto:sage [2017/07/31(月) 21:28:38.42 ID:S3S/4XWd.net]
>>393
C/C++はメモリマップを意識しないと安全を確保できないけど、マッピングするのはコンパイラでありリンカでありOS
そのような状態で想定しないメモリアクセスが起きた時の挙動を予想することは自分には出来ないです
C/C++でバリバリ書いている人はこの程度出来て当たり前なのかな

403 名前:デフォルトの名無しさん mailto:sage [2017/07/31(月) 22:26:49.07 ID:nR0sqwYk.net]
C/C++というレベルじゃなくて
LinuxのABIやldのリンカスクリプトがわからんレベルの人と予想

404 名前:デフォルトの名無しさん mailto:sage [2017/08/01(火) 18:09:39.02 ID:TrH0Acv/.net]
>>391
いわゆるWebアプリを書く言語としてはおすすめしない。

405 名前:デフォルトの名無しさん mailto:sage [2017/08/01(火) 18:17:25.28 ID:TrH0Acv/.net]
>>392
C/C++に慣れていないだけでは。
もしくは動的なメモリ確保を想定していないとか。

406 名前:デフォルトの名無しさん mailto:sage [2017/08/01(火) 18:21:43.31 ID:TrH0Acv/.net]
>>394
(わりと一般的な)OS上で動かす限り、アセンブリ言語で書いても
リンカとローダが介在することには変わりないと思うけど。

407 名前:デフォルトの名無しさん mailto:sage [2017/08/01(火) 18:52:10.83 ID:8J/offgv.net]
>>351はOS無しと言っている

408 名前:デフォルトの名無しさん mailto:sage [2017/08/01(火) 19:26:38.99 ID:A6tuVNB3.net]
>>351
OSなしアセンブラを必要とする層で使える汎用高級言語を探してるならRustは適さないからお帰り
そういう言語が存在する気はしないけど夢追い人っぽいから応援はしてるよ

409 名前:351 mailto:sage [2017/08/01(火) 19:28:04.99 ID:ascdikyg.net]
新しめのプログラミング言語は十中八九メモリの安全を謳っているけどこれってC/C++でメモリの破壊や
メモリアクセス違反を多発させる事例が多いからと思っているけど違うのかな
これらの低減を目的にC/C++の代替言語としてRustやDなどを検討するっておかしな事なのだろうか

410 名前:デフォルトの名無しさん mailto:sage [2017/08/01(火) 21:16:08.18 ID:PIQ133u2.net]
>>400
まじかーgcがないってOS無しで動かせる唯一の言語だと思ってたから残念
例えばESP8266とかESP32で使えたらいいとか思ってたよ。

webが利用用途じゃないって残念すぎるな。
そうするとrust使ってる層って仕事でc++を使ってる組み込み関係の層が
趣味的に触る言語ってことかな。

411 名前:デフォルトの名無しさん mailto:sage [2017/08/01(火) 22:02:02.77 ID:A6tuVNB3.net]
お前の中ではGC有無とOS要否は直結するのか(驚愕

ESPがどういうチップセット構成なのか知らんけど
ARM CPUならクロスコンパイルして動かせるんじゃね
多分、同じ程度の努力でGC載ってるGoも動くと思うけど



412 名前:デフォルトの名無しさん mailto:sage [2017/08/01(火) 22:04:43.31 ID:H6BRQUwS.net]
cargo checkすると
warning: the option `Z` is unstable
というメッセージが出るそうなんですがこのメッセージを出す方法を教えて頂けませんか?

413 名前:デフォルトの名無しさん mailto:sage [2017/08/01(火) 22:04:54.04 ID:8J/offgv.net]
Webに関してはそれなりに精力的に開発されているから将来的には使い物になる可能性もある
crates.ioとかだってRust製だしね






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<252KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef