Rust Part6at TECH
Rust Part6 - 暇つぶし2ch262:デフォルトの名無しさん
18/09/21 21:54:00.31 QjgEKJ4o.net
>>260
ブロック管理に使うからキーは数字で問題ない

263:デフォルトの名無しさん
18/09/22 11:42:21.78 wuQrrLSf.net
>>261
つまりオライリーの本は地雷?

264:デフォルトの名無しさん
18/09/22 12:08:43.13 avc67xv+.net
Second Edition出てるんだっけ?
ググってみても First Edition, Third Release が 2018-6-22 としか見つからないんだけど。

265:デフォルトの名無しさん
18/09/22 12:28:30.62 zH/ripxa.net
目次の構成はSecondに近いか?
サンプルプログラムの発行時期は10ヶ月前だからそんなに古くはないのかもな
オライリー原書
URLリンク(shop.oreilly.com)
公式ドキュメント日本語訳
URLリンク(doc.rust-jp.rs)
ちな最新の2018版ってGithubみた感じリアルタイムに更新されてるっぽいな
URLリンク(doc.rust-lang.org)

266:235
18/09/22 12:29:23.44 +vE2oHEK.net
>>262
ありがとう。あれ?自分が勘違いしているのかな
B+木やB*木をファイルのメタデータの探索に使っていると思っていたけどそうではなくデータを格納しているブロックの探索に使っているということ?

267:デフォルトの名無しさん
18/09/22 13:25:51.18 avc67xv+.net
翻訳元のISBNと原書3rd releaseのISBNが違うことは確認したけど、たぶんこのerrataに載ってる修正くらいだろう。
URLリンク(www.oreilly.com)

268:デフォルトの名無しさん
18/09/22 23:23:20.56 c8wHmvAd.net
>>261,265
オライリーのカニ本の初版一版は1.17.0。TRPLの日本語訳は相当古い。
2018はverでいうと1.31.0に相当する。いまのstabuleは1.29.0。
それにTRPLでもまだ文書化されてない機能あるしな。
非初学者向けならStep Ahead with Rustもある。

269:デフォルトの名無しさん
18/09/23 00:32:53.25 v7lwqtna.net
6週間で0.1バージョン上がるから一年半前のバージョンか
進化はえーな

270:デフォルトの名無しさん
18/09/24 14:27:54.43 98z19Ykt.net
>>266
> ファイルシステムの入力はファイルパスであり可変長の文字列
ファイルシステムへの入力は inode、dir、dentry がほとんどじゃないか?
create:dir と dentry をキーにinode作成
readdir:dir をキーに dirent を作成
open:inode をキーに open
ext4 を少し読んだ感じこうだった
inode 番号をキーに管理すればよいのでは?

271:デフォルトの名無しさん
18/10/08 18:00:08.98 QFhDw4cQ.net
URLリンク(play.rust-lang.org)
これどうしたらいい?

272:デフォルトの名無しさん
18/10/08 18:41:33.75 tthsf3cJ.net
>>271
これってたぶん自己参照構造体(self-referential struct)の話だよね?
自己参照構造体は未定義動作の危険性があるので現状のRustでは表現できない
詳しくは↓の「自己参照構造体」のところを読んで
URLリンク(qiita.com)

273:デフォルトの名無しさん
18/10/08 18:44:43.33 3nZaN/dO.net
RC使うが正解

274:デフォルトの名無しさん
18/10/08 21:00:25.91 tthsf3cJ.net
>>273
>>271の場合だとRc使っても無理な気がするんだけど…
ソースコード見せて

275:デフォルトの名無しさん
18/10/09 01:15:58.85 C4dQJ/Ib.net
>>271
>>272と同意見だけど27行目でどうやっても自分の参照を関数外に出すから無理だな。
借用じゃなくてBoxでもってクローンすればよくね?

276:デフォルトの名無しさん
18/10/09 02:03:50.07 ErN4eNsC.net
タプルにFromStrトレイトを実装するのって無理なんですか?
URLリンク(ideone.com)

277:デフォルトの名無しさん
18/10/13 02:22:04.65 6mWkEB0Z.net
implしたい型か、traitのどっちかが自分のものでないと駄目って制約があるから駄目です
何でこんな制約があるかは理解してないけど

278:デフォルトの名無しさん
18/10/14 00:02:45.49 mv7/qGuI.net
open等させるものか!っていう強い意志。new type patterns使え。

279:デフォルトの名無しさん
18/10/23 00:25:24.72 vm0fIWWq.net
Rustに関しての発信の多い日本人のツイッターアカウントを何人か教えて
フォローしてRustの情報集めたい

280:デフォルトの名無しさん
18/10/23 07:44:49.73 TD4ftrwf.net
普通に検索すりゃいいじゃん

281:デフォルトの名無しさん
18/10/24 01:23:57.63 fDSh/sYg.net
言い方を変える
オススメの情報発信者を教えて!

282:デフォルトの名無しさん
18/10/24 03:09:14.03 Ra+MYJIp.net
お前がなるんだよ!

283:デフォルトの名無しさん
18/10/24 12:04:16.29 Sg0ufq4y.net
ここの人々
URLリンク(www.rust-lang.org)

284:デフォルトの名無しさん
18/10/24 13:59:42.33 k2aW8IHE.net
人でないのも混ざってるようだが・・・

285:デフォルトの名無しさん
18/10/24 15:20:24.92 V7Jy5BkX.net
rustの懐は深い

286:デフォルトの名無しさん
18/10/24 15:24:14.56 htH2RJ/p.net
この写真のことかな
URLリンク(avatars3.githubusercontent.com)

287:デフォルトの名無しさん
18/10/25 23:59:22.23 lH0yd+Cf.net
rustlang の Discord に Rust(Steam) をクレクレしてるのが出現してる
さすがにベタすぎるのでネタかと思ったけど
「Rust言語は誰にでもフリーだよ!」と住人にやさしく説明されててちょっと笑った
そういう仕込みのフリとオチだったのかもしれないが

288:デフォルトの名無しさん
18/10/26 17:03:37.34 debQKEDn.net
Rust信者ってブロッキングにも賛成なんだろうなあ
邪悪だ

289:デフォルトの名無しさん
18/10/26 20:14:23.65 113CY38k.net
そうなん?俺もブロッキング支持しよ~

290:デフォルトの名無しさん
18/10/26 20:17:42.39 44ub/T/P.net
async/awaitのあたりがきれいに書けないなら、ブロッキング+スレッドの方が実用的でしょ

291:デフォルトの名無しさん
18/10/26 20:54:37.31 UNNCnGfy.net
いやいやがんばってノンブロッキング対応してるでしょ

292:デフォルトの名無しさん
18/10/26 23:30:24.99 xFXCmb25.net
同音異語のボケをマジレスされる>>288が不憫。

293:デフォルトの名無しさん
18/10/28 03:48:19.07 tRSd44wH.net
1.30出た

294:デフォルトの名無しさん
18/10/29 12:25:08.61 LvhYoyxI.net
モジラがバックにいてカワンゴが布教してる技術なんてよく使う気になるよなお前ら

295:デフォルトの名無しさん
18/10/29 13:12:48.10 PHNS982/.net
>>294
じゃあ君がバックに付け

296:デフォルトの名無しさん
18/10/29 21:15:34.41 UJ6dBI7/.net
>>295
やだよ放射性廃棄物の後処理すんの
世に出して広めた奴が責任もって片付けろよ

297:デフォルトの名無しさん
18/10/29 21:26:30.74 e16+m1gN.net
rustのポジションは他に居ないからありがたく使ってますけど

298:デフォルトの名無しさん
18/10/29 22:03:30.02 M3jiQuOm.net
>>294
じゃあ、かの有名なMicrosoftがRustを使っていれば貴方も使う気になるってわけですね
URLリンク(www.reddit.com)
はい。これでめでたしめでたし
ところで、ドワンゴが例のRust製分散システムをオープンソースにしてた。
URLリンク(dwango.github.io)

299:デフォルトの名無しさん
18/10/30 13:57:30.60 XfhSBW4w.net
>>296
じゃあ君は最初はバックがどうこう言ってたけど実はそんなこととは無関係に嫌ということかな?

300:デフォルトの名無しさん
18/10/30 23:04:19.32 g5GFfrA6.net
ただの廃棄物じゃなくて放射性廃棄物ってどういう比喩なのか
阿片みたいに観戦力があり周囲に広がるということ?
それとも単に処分に困るというだけ?

301:デフォルトの名無しさん
18/10/31 06:32:37.92 DCSkWbH/.net
バカが扱うと光ってしぬとか?

302:デフォルトの名無しさん
18/10/31 08:29:16.12 OC34mqIr.net
モジラの由来がゴジラだからだろ

303:デフォルトの名無しさん
18/10/31 14:18:23.60 umCB7ism.net
遠回しすぎ

304:デフォルトの名無しさん
18/11/08 21:50:52.93 OLKb17KH.net
暗号通貨関連でよくRustが使われてるってホントなの?

305:デフォルトの名無しさん
18/11/08 23:09:14.23 g1taMrfK.net
>>304
残念ながらC++, Java, Goと比べたらゴミカスや

306:デフォルトの名無しさん
18/11/14 12:05:28.30 KF+gaYe3.net
家の非力なデスクトップにgentooを入れたんですが
firefoxをコンパイルしたらrustもコンパイルしてくれました
rustも含めて都合14時間かけてコンパイルしたfirefoxを使うだけじゃ勿体無いので
rustを勉強してみようと思ったのですが
スクリプト言語とjavaを触った程度の人が始めるには
ハードルが高い言語なんでしょうか?
何かとっかかりになる良いサイトとか本がありましたら
教えてくれると嬉しいです
Python歴7年Java歴2年の趣味プログラマです
rustでgtkアプリを作ってみたいです

307:デフォルトの名無しさん
18/11/14 12:11:11.98 zVp4oIsl.net
問題はやるかやらないかだけ

308:デフォルトの名無しさん
18/11/14 12:13:35.40 q4FWtiky.net
【おい何だこれ、俺ムカついて】 久本雅美、マチャミに、創価学会に入れって、俺ね囲まれたんですよね
スレリンク(liveplus板)

309:デフォルトの名無しさん
18/11/14 12:18:27.60 KF+gaYe3.net
ヤル気はマンマンなんですが
まだgentooのインストール途中でxfceにfirefoxが入ってるだけなんですよね
帰宅したらvscodeも入ってるはずなので今夜からコンパイル流しながら勉強する予定です
ただ、あんまり初心者向けの日本語情報が見当たらない気がするので
いいサイトがあれば知りたいな、と思った次第です

310:デフォルトの名無しさん
18/11/14 17:33:29.52 DKDZkQDw.net
私もRustでGtkアプリ作りたいマンです

311:デフォルトの名無しさん
18/11/14 17:36:38.51 n7YO6e8G.net
Qtがいいです(´・ω・`)

312:デフォルトの名無しさん
18/11/14 17:58:38.03 nBV8bj0A.net
Azulとかどうよ
とりあえずサンプルビルドしたら普通に起動した

313:デフォルトの名無しさん
18/11/14 19:37:11.25 TV7+R4Em.net
とりあえずslackに入ってみるとよい

314:デフォルトの名無しさん
18/11/14 21:37:35.14 KF+gaYe3.net
皆さんいろいろとありがとうございます
とりあえずプログラミング言語Rustの日本語訳pdfを見つけたので
それ見て勉強してみたいと思います
これ凄いですね
無料で配布しちゃって良いんでしょうか
下手なwebの情報探すより公式見たほうが良さそうですね

315:デフォルトの名無しさん
18/11/15 09:47:28.34 RDhHOc3n.net
布教のために気合い入れて書いたんだろうと思う

316:デフォルトの名無しさん
18/11/15 10:31:34.27 P9aoBmqQ.net
Gitとは何かの説明まであって驚くよな
さすがにそのレベルの人は門前払いしたほうがその人のためにもいいと思うが

317:デフォルトの名無しさん
18/11/15 12:47:26.17 5HuarfG4.net
>>316
あれはRust初心者だけでなくプログラミング初心者も対象としてるんじゃないの?
だから初歩的なところから教えてるんだろうと思っていたが
まぁ、プログラミング初心者がいきなりRustから始めるってどうなのよ?とは思うけど

318:デフォルトの名無しさん
18/11/15 13:04:35.26 zAJKMl9m.net
Cとかでメモリの扱いミスってしかも落ちずにおかしな動作する、みたいなのの経験がないとイマイチRustの有り難みは感じられないようなとも思いつつ
かといってRustのためにC勉強するってのもなんか本末転倒なきもするし

319:デフォルトの名無しさん
18/11/15 14:42:52.86 rLd4aKr0.net
なまじ他言語を知ってるから難しいという点もあるんじゃない
初心者がベテランが作るようなものをrustで書くのは辛いだろうけど、初心者が作るようなものを書く分にはむしろ易しい気がする
セットアップ楽だし

320:デフォルトの名無しさん
18/11/15 22:55:30.82 9llOcmgi.net
Mozillaはドキュメント書くの得意だよな
オワコンブラウザには勿体無さすぎる才能

321:デフォルトの名無しさん
18/11/16 12:21:53.69 4Z/2Zn+l.net
なぁに、まだまだこれから。
などという言葉が出始めたら終わりは近い。

322:デフォルトの名無しさん
18/11/18 19:34:31.05 R8KfbBfe.net
書店でオライリーのRust本をパラパラと読んでみたけど
式の可読性の面ではC++の悪いところを引きずってるように思える

323:デフォルトの名無しさん
18/11/18 20:15:20.02 4iL5+9nq.net
>>322
どの辺が?

324:デフォルトの名無しさん
18/11/19 19:32:18.74 2BxYw1Po.net
可読性って言うやつw

325:デフォルトの名無しさん
18/11/19 22:01:51.59 Eani9PxJ.net
try!(try!(try!(foo).bar()).baz()) とか?

326:デフォルトの名無しさん
18/11/19 22:24:14.39 a77oxEQZ.net
try!(try!(try!(try!(foo).bar()).baz()) とか)

327:デフォルトの名無しさん
18/11/20 03:45:46.85 NpnvZOTV.net
?演算子使えよ

328:デフォルトの名無しさん
18/11/20 03:48:40.78 QYgW0U1d.net
オライリーのRust本は?登場以前なの?

329:デフォルトの名無しさん
18/11/21 18:56:13.38 b35PMmU2.net
前なの

330:デフォルトの名無しさん
18/11/21 20:13:11.42 X08G4m76.net
え?前なの?
手元の蟹本だと、
7.2.4節 エラーの伝搬に"?演算子"のこと書かれてるんだけど

331:デフォルトの名無しさん
18/11/27 22:10:26.76 o0QT5paZ.net
muslでビルドすると普通にlinuxでビルドしたときよりメモリ食うんだけどなんで?

332:デフォルトの名無しさん
18/11/29 02:19:25.76 lxH8UY8f.net
>>331
標準のライブラリだと、メモリ上にロード済みのコードを共有するからじゃないの?

333:デフォルトの名無しさん
18/11/29 07:51:18.34 XVJlfR1h.net
libcとかがダイナミックリンクじゃない分てことだよな
色々検証していたんだがそれだけじゃなくリークしてるように見える

334:デフォルトの名無しさん
18/11/29 11:32:12.22 F/HxRyq9.net
>>318
だがそれが一番の近道だよ。
結局 c -> c++ -> rust の順で学ばないと意味わからんだろう。

335:デフォルトの名無しさん
18/11/29 13:15:45.28 lxH8UY8f.net
>>333
valgrindで見たら?

336:デフォルトの名無しさん
18/11/30 01:14:27.01 CtIYhRiq.net
>>334
いやCはともかく少なくともC++は要らんだろ

337:デフォルトの名無しさん
18/11/30 14:18:46.51 2aRM++fj.net
>>335
見てみたらリークはしてなかった
100mbくらいあるヒープに確保された値を1分に1度入れ替えているんだけど、ヒープに確保された領域って即解放されるわけではない?

338:デフォルトの名無しさん
18/11/30 20:37:37.40 9byeocZC.net
アロケータがmallocになってるからっぽい

339:デフォルトの名無しさん
18/11/30 23:14:23.14 yJ65pEge.net
あれjemallocやめたの?

340:デフォルトの名無しさん
18/11/30 23:51:57.68 9byeocZC.net
まだjemllocがデフォルトだけどナイトリーでは既に外されていて近々デフォルトではなくなる
それとは別の話で、俺がビルドしたのがmuslビルド用のdockerイメージで、それにはjemalloc入ってないからシステムアロケータで動いてたんだよね

341:デフォルトの名無しさん
18/12/07 19:20:14.13 gVw6+TJP.net
Announcing Rust 1.31 and Rust 2018
URLリンク(blog.rust-lang.org)

342:デフォルトの名無しさん
18/12/08 03:04:47.62 pvPlWHOH.net
過疎ってるのは人気廃れたかrust

343:デフォルトの名無しさん
18/12/08 05:33:59.34 YCd49h5/.net
2018安定化でむしろ盛り上がっているのでわ
うちはリプレイス案件2つにrust使うことにした

344:デフォルトの名無しさん
18/12/08 19:15:08.95 6H7niR8Q.net
>>343
何系?Web?

345:デフォルトの名無しさん
18/12/08 20:54:29.25 YCd49h5/.net
んだ、webだ

346:デフォルトの名無しさん
18/12/08 21:39:48.43 NPyhS6xn.net
なんかサイトの雰囲気がらっとかわったな。

347:デフォルトの名無しさん
18/12/08 21:53:08.41 tBodI9MC.net
まともなヤツなら将来が保証されない言語なんかを採用しないからな
一時的に使用するドカタ向け案件なら試用にぴったり
まとも思考してたら、将来も間違いなく保証されてるc/c++を使う

348:デフォルトの名無しさん
18/12/08 22:27:03.66 tDQL8bNL.net
FacebookやDropboxが採用してるし
最近だとAmazonがRustでVMMを作ってる

349:デフォルトの名無しさん
18/12/08 23:02:19.67 StthUKB3.net
>>348
Facebook採用してたっけ?あそこはDだったような…
MSの間違いじゃない?MSだったらAzureの中の一部で採用してたはず…
因みにGoogleも自社製エディタに(たぶん20%ルールでだけど)採用してるね
もしFacebookも採用してるならApple以外の主要IT企業は全て採用してることになるな
(AppleはObjectiveC/C++とSwiftしか使わないしね…)

350:デフォルトの名無しさん
18/12/08 23:48:17.93 6+mjNqXv.net
まあクソアプリほどどの言語で書いたかとかアピールするよね。

351:デフォルトの名無しさん
18/12/08 23:52:33.64 lASXqBfj.net
クソアプリほどオープンソース?

352:デフォルトの名無しさん
18/12/09 02:02:42.61 Xn4iOyS/.net
半角こんなとこまで現れてんのか

353:デフォルトの名無しさん
18/12/09 02:07:51.53 Xn4iOyS/.net
>>349
低レイヤーでC++の次世代言語って意味合いではDとRustって似たとこあるよね
大きな違いはバックボーンとしてMozilaという巨大コミュニティがあるところだけど

354:デフォルトの名無しさん
18/12/09 08:39:36.42 rwNGSJ2b.net
クソ言語ほどHNでポイント稼ぐよな

355:デフォルトの名無しさん
18/12/09 10:44:39.45 YxoLru6a.net
ハンドルネーム?

356:デフォルトの名無しさん
18/12/09 14:03:01.32 c43JK2So.net
Rustは良いけどMozillaの将来が心配
MSも撤退するしこれから更に厳しくなりそう

357:デフォルトの名無しさん
18/12/09 14:18:04.29 2pQIpR7Q.net
>>356
MSが撤退っていうのはブラウザエンジンの話をしてるのか?

358:デフォルトの名無しさん
18/12/09 16:05:40.11 BNrpwBjL.net
ただの糖質だろ

359:デフォルトの名無しさん
18/12/09 19:33:03.82 RNFPl7GW.net
ブラウザエンジンの話
Mozillaが厳しくなるとRustにも影響がある

360:デフォルトの名無しさん
18/12/09 19:59:59.46 2pQIpR7Q.net
>>359
Mozillaはなんだかんだ言っても一応非営利団体だから
MSみたいにブラウザエンジンを手放すようなことはしないはず
つまり、Firefox(Gecko)が消える時はMozilla自体が消える時と同時で、
流石にMozilla自体が消えるとは考えにくい…

361:デフォルトの名無しさん
18/12/09 20:17:58.30 Xn4iOyS/.net
いうてもWebメールじゃないSMTP式のメールのメーラーとしてはMozilaのThunderbirdのシェアってそこそこ高くない

362:デフォルトの名無しさん
18/12/09 22:50:45.52 RNFPl7GW.net
ThunderbirdはMozillaから切り離されるんじゃないの

363:デフォルトの名無しさん
18/12/09 23:11:23.09 piyaaQaM.net
ブラウザに関してはグーグルが死なせないと思うけどな

364:デフォルトの名無しさん
18/12/10 09:12:14.39 aoFPjOc9.net
MDNって言うほど貧弱じゃなくない?

365:デフォルトの名無しさん
18/12/10 09:24:08.88 90UOO2rs.net
仮にMozillaがどうにかなってもRustは大丈夫だろ

366:デフォルトの名無しさん
18/12/10 12:32:50.59 0C3QpRH/.net
楽観的だな(笑)

367:デフォルトの名無しさん
18/12/10 14:23:42.89 i6gV1o71.net
初期はMozilla頼みだったけど、今はそうでもないという認識

368:デフォルトの名無しさん
18/12/11 07:43:47.36 6UpzsT8a.net
なんか新しくマクロ増えたみたいだけど使い勝手どう?

369:デフォルトの名無しさん
18/12/11 21:35:58.04 P3z87FBj.net
stableって今1.31.0だろ。
「nightlyが久々にやらかした+distマシンの環境壊した+CI壊した」でnightlyが三日止まっててまだ1.32.0だからdbgマクロくらいしか違いないぞ。

370:デフォルトの名無しさん
18/12/13 00:08:25.48 75wuALWM.net
モナド変換子がほしい

371:デフォルトの名無しさん
18/12/13 09:19:17.49 MIS8jLYk.net
  ∧_∧  / ̄ ̄ ̄ ̄ ̄
 ( ´∀`)< ・・・
 ( ⊃ .旦|  \_____
  し_)___)

372:デフォルトの名無しさん
18/12/14 01:30:52.83 dZAIZmaz.net
モサド変監視ほしいの?

373:デフォルトの名無しさん
18/12/14 08:56:10.14 jGITOnwL.net
Rustのドキュメント日本語サイトが404になってた

374:デフォルトの名無しさん
18/12/15 00:37:40.07 Hly2v07A.net
心の中に404はあるよ

375:デフォルトの名無しさん
18/12/16 11:50:25.28 kVzpWd9g.net
パイプと型変換だけで十分なところにモナドを要求する馬鹿。

376:デフォルトの名無しさん
18/12/16 18:14:31.47 w0ERAAOh.net
こっちの日本語サイトは生きてるけど
URLリンク(doc.rust-jp.rs)
本家は多言語対応辞めたんかな見つからない
URLリンク(www.rust-lang.org)

377:デフォルトの名無しさん
18/12/17 00:55:12.89 Q0yF3pSK.net
下の方に旧サイトへのリンクがある

378:デフォルトの名無しさん
18/12/19 00:17:41.51 kru7p0rZ.net
どんなに否定したって下のお口は正直ですからね

379:デフォルトの名無しさん
18/12/23 17:23:40.20 8b39kAUV.net
旧サイトのほうがいいなすっきりしてて
情報量的にもデザイン的にも

380:デフォルトの名無しさん
18/12/23 19:22:40.32 AGEXmg0r.net
なんか安っぽくなったね。詐欺のベンチャーみたいなページになった。
以前のデザインのほうが圧倒的に良い

381:デフォルトの名無しさん
18/12/23 23:03:24.89 Mt5iJ+Fg.net
駆けつけでいきなり言語の特徴とplayground見せるのは話が早くていいよね。
なんか気になればそのままナビゲーションヘッダのリンク辿ればいいし。

382:デフォルトの名無しさん
18/12/24 11:16:50.86 YXqLjtll.net
>>380
ほんそれ

383:デフォルトの名無しさん
18/12/25 01:59:30.60 walX28QA.net
現在開催中のこのAIコンテストの説明のサンプルコードにRustが選ばれているあたりRustは世界一素晴らしいプログラミング言語であることが分かる
URLリンク(russianaicup.ru)

384:デフォルトの名無しさん
18/12/25 17:58:48.15 5JJKyjkR.net
Rustと最初の3文字が一致しているので親しみを抱いてるんですかね

385:デフォルトの名無しさん
18/12/25 19:24:34.64 9T0J1rjG.net
どうかなあいやでも俺もそう思う

386:
19/01/01 00:34:50.41 Z6HfKRO/.net
今年こそRustを日本中で流行らそうな

387:デフォルトの名無しさん
19/01/01 02:32:05.03 eZvGQ8mf.net
せやな

388:デフォルトの名無しさん
19/01/01 09:59:51.39 mgYjOhM6.net
別に流行らんでも使ってりゃいいじゃん。

389:デフォルトの名無しさん
19/01/01 13:21:50.94 ycrn+5XF.net
俺は使ってるから君らも使えよ

390:
19/01/01 18:09:29.86 H9/ceTM6.net
流行ろうが流行らなかろうが使う

391:デフォルトの名無しさん
19/01/02 06:33:05.51 6wUS1VYB.net
マイナー言語やってるけどしんどい😭
いずれRustに乗り換える💪

392:デフォルトの名無しさん
19/01/02 12:26:01.33 c5jR4khc.net
仕事で使えないから趣味で使いたいけどスマホアプリとか作れるようにならんかな
wasmでやれるん?

393:デフォルトの名無しさん
19/01/02 22:18:13.37 jIZCjD6X.net
android用のglueある

394:デフォルトの名無しさん
19/01/06 02:19:11.11 RYpyUdGD.net
所有権借用はなんとなく理解できたがライフタイムだけよくわからない
なにがわからないのかすらわからない

395:デフォルトの名無しさん
19/01/06 08:25:05.72 4M8noAKR.net
元々わからなかったけどNLLでよりわからなくなった

396:デフォルトの名無しさん
19/01/06 21:01:21.58 Y1gcigWk.net
lifetime関係のエラーが出たら、一歩引いて考えないとドツボにはまる
どうして借用にしたのか、誰が責務を負うべきなのかとかを見直していくと、まあまあ綺麗な形でエラー出なくなるから楽しい

397:デフォルトの名無しさん
19/01/06 22:41:12.99 iA9hXNaZ.net
>>394
ライフタイムは変数のスコープと一緒だよ。
ただrustの場合、関数の引数に対してライフタイム指定ができたりするんだが、
それを省略した場合なんかのルールが結構複雑なんでわかりづらくなってる。
まあ色々検討した結果が今の状況なわけでこれはこれでしょうがないんだが。

398:デフォルトの名無しさん
19/01/07 18:55:30.56 h9/nr8aR.net
きようもrust書いた
たのしかった

399:デフォルトの名無しさん
19/01/07 19:23:50.19 62wl4FOH.net
らすたまだあるかな

400:デフォルトの名無しさん
19/01/07 23:27:09.65 xV9XgTIe.net
>>397
>ライフタイムは変数のスコープと一緒だよ。
ちげーよ。extentの方だよ。

401:デフォルトの名無しさん
19/01/09 02:57:56.42 vCJsRJvg.net
ide使いたい初心者なんだけどintellijもvscodeも補完が微妙だった。
エディタ上で赤く無くてもコンパイルしたらエラー出る。なんか設定おかしいのかな。。

402:デフォルトの名無しさん
19/01/09 07:22:34.83 aiUc5v61.net
RustのIDE環境はまだまだ未発達なのです(´;ω;`)

403:デフォルトの名無しさん
19/01/10 08:23:28.84 lwucKgCv.net
あきらさんowやめてrustの解説に専念してほしい

404:デフォルトの名無しさん
19/01/10 20:34:05.07 Hgkpvvuo.net
>>403
いやまずお前は他人に依存してないで公式ドキュメントちゃんと読んでQiitaでも読み漁れよ

405:デフォルトの名無しさん
19/01/10 21:12:55.85 QCs5TwSX.net
Juiceのユーザっているのかなぁ
ActcastはRustで書かれてるらしいけど

406:デフォルトの名無しさん
19/01/11 01:16:47.51 pdgYcych.net
>401
intellij rustだけど補完もリファクターも、traitの実装も出来る。

407:デフォルトの名無しさん
19/01/11 20:15:12.46 3i4YWAld.net
文字列を返却する関数ってどう書くんだっけ?

408:デフォルトの名無しさん
19/01/11 20:17:35.01 O9pa1tkJ.net
>>407
Rustの文字列には何種類かありまして……

409:デフォルトの名無しさん
19/01/11 20:23:27.40 wjQF1dR9.net
メンドクセーッ

410:デフォルトの名無しさん
19/01/11 23:52:16.86 SaJhEqyf.net
javaにも2,3種類あるだろ

411:デフォルトの名無しさん
19/01/12 01:23:20.36 I2V52GgH.net
>>406
マジで?俺のintellijはあんまりintelliやないんやけど。
(0..10).
これでfor_eachとかの補完できる?

412:デフォルトの名無しさん
19/01/13 00:39:51.18 hYXV78lL.net
intelliJ rustもrust(rls)も全部が全部補完出来るわけじゃないよ。
むしろRange系がほとんど補完効かない。

413:デフォルトの名無しさん
19/01/13 01:10:12.67 2nXE8bQq.net
rlsって2016年に登場した時いつか脱racerするとか言ってたと思うんだけど何で未だにracerに頼ってるんだろ?
clangはclangdとかcclsとかあってどっちもコンパイラを使って強力に補完出来るけどrustも同じような方針で実装出来ないの?

414:デフォルトの名無しさん
19/01/13 04:00:11.67 4OSEbwLo.net
>>412
> intelliJ rustもrust(rls)も全部が全部補完出来るわけじゃないよ。
> むしろRange系がほとんど補完効かない。
そうなんか。まあそれは慣れればええ話か。
ide上で赤くないのにコンパイルエラーになるのは何か環境構築に失敗してるのかな?
単純なシンタックスエラーは赤くなるんだけど、所有権まわりは赤くなってない気がする。

415:デフォルトの名無しさん
19/01/13 23:36:03.48 bHKSc5vy.net
>>413
racerはfallbackしたときだけでそれ以外はコンパイラ使うよ。
インクリメンタルコンパイルがまだまだだから出来ること限られるだろうけど。
>>414
>所有権まわりは赤くなってない気がする。
赤線つくね。マウスオーバーでエラー内容もshort版を整形したようなの確認できる。
quick fixが弱いけど。
rlsならrust-srcとrust-analysis。intellij rustならrust-src入ってる?

416:デフォルトの名無しさん
19/01/14 09:38:00.11 0lebqFeg.net
>>415
できた!ありがと。
intellij-rustの設定おかしかったみたい。

417:デフォルトの名無しさん
19/01/15 00:14:36.16 EnbKgMOU.net
Rustで簡単なゲームを作ってみたいんだがフレームワークは何が良いんだろうな
SDLやDirectX、OpenGL等のラッパーは一応あるようだけど

418:デフォルトの名無しさん
19/01/19 04:53:19.32 KuvXwQQD.net
言語レベルで静的にstructを差し替える方法って無いんかな?
マルチプラットフォームのアプリを仮定するとして
アプリはSystem構造体下のメソッドを経由して低レベルの機能へアクセスする
System構造体の中身はビルド時に決まる物だし実行中に選択するのはコストの無駄
ビルド時にコンパイル&リンクするファイルを差し替える方法はあるが・・・

419:デフォルトの名無しさん
19/01/19 21:10:10.72 chH9K/tE.net
target_os とかとは違うの?

420:デフォルトの名無しさん
19/01/19 23:26:08.16 mgFfw5BT.net
静的リンクならcfgマクロ使った条件付きコンパイルしかないよ。

421:418
19/01/20 02:42:18.64 Ej9w6434.net
ありがと
#cfg[(target_os=~
struct System {
とか書くしかないのか
というかググっていてもマルチプラットフォームのアプリを作る例って出てこないんだけど
どういう風にするのが好ましいのだろうか。Cargoの使用例とか全然判らん
ターゲットによってコンパイラも変わるし、リンカやリンカに渡されるオプションも変わる
リンク後に追加の処理が必要になるケースもあったり

422:デフォルトの名無しさん
19/01/20 11:51:23.29 fjDkObgS.net
有名なcrateはだいたいマルチプラットフォームになってるでしょ

423:418
19/01/20 13:10:03.87 Ej9w6434.net
そのレベルじゃなくて一つのプロジェクトで
1.Windowsでビルドする/動く
2.Linux/FreeBSDでビルドする/動く
3.Linuxでクロスビルドする/別アーキテクチャのプラットフォームで動く
みたいなのをやりたい。1~2はともかく3はベアメタルに近いのでコアのソースはno_std付きになる
クレートもWindowsAPIへアクセスする場合Cargo.tomlに
[dependencies]
winapi = "~
kernel32-sys = "~
とか書くけどコレをつけたまま他のプラットフォームでビルドできるのか?とか
仕様上無視してくれるならそれで良いけどはっきりしないと無用なトラブルの元
クレートを使わずにソースにexternを並べていって条件付きコンパイルすればその心配は
なくなりそうだけど各種定義とか、IA32/AMD64環境下の差異の吸収とかいろいろ面倒だし

424:デフォルトの名無しさん
19/01/20 13:24:49.19 fjDkObgS.net
>>423
有名なcrateはだいたいちゃんとそれこなしてるから見てきなよ

425:418
19/01/20 15:13:45.29 Ej9w6434.net
スマン
Carge&winapiを使ってWindowsAPIを叩くサンプルを作ろうとしたらそこまでたどり着けん
use出来なくて詰まっている
extern crate winapi;
use winapi::minwindef::BOOL;
>cargo build
error[E0432]: unresolved import `winapi::minwindef`
--> src\main.rs:4:13
|
4 | use winapi::minwindef::BOOL;
| ^^^^^^^^^ Could not find `minwindef` in `winapi`
パスがおかしいっぽいのでソースを見るべきだが、Cargoが取ってきたソースがどこにあるのか判らない
というかコレを調べられないと非対応環境でどう振る舞うのかも調べられない
rustcでコンパイルするFFI直でWindowsAPIを叩くコードは動作させられている

426:デフォルトの名無しさん
19/01/20 15:34:24.69 IFCR+fSZ.net
Cargo.toml に
[target.’cfg(target_aech = "x86_64")’.dependencies]
とか書けるけど、これでも不十分?

427:デフォルトの名無しさん
19/01/20 22:10:39.80 Yfn6IVUJ.net
cargoがとってきたのはホームの下の.cargoにあるよ
質問がいまいち判然としないけど

428:デフォルトの名無しさん
19/01/20 22:18:26.33 XwDXpx/J.net
WEB開発でフロントエンドもバックエンドもRustで開発できるようになるみたいだね
そしてJavascriptは衰退するらしい
まさに次世代の言語か?

429:デフォルトの名無しさん
19/01/20 23:40:56.74 Ba0cWsCk.net
Javascriptを倒すのは無理

430:418
19/01/20 23:41:16.28 Ej9w6434.net
>>426
それでいけそうかも。というかwinapiにそんな書き方があった
>>427
ありがと。見つかった
README.mdにあったサンプルはビルドできた
1~2年前のコードだとビルドできないようだ
いくら発展途上の言語とはいえ1~2年前の情報が使えないのはつらいなぁ
車輪の再発明になってもFFIで書いていった方が良いのか?
というかみんなどうしているの?情報の有効期限が1年もないんじゃ
ちょっと前のを修正するにもドキュメントはないしソースとにらめっこになっちゃうよね

431:デフォルトの名無しさん
19/01/21 21:41:20.34 ieTTkacC.net
nightlyでも使っていない限りは、基本的に過去のコードはビルドできると思うけど

432:デフォルトの名無しさん
19/01/21 22:24:30.39 imUXN0q+.net
>>418
rustにとって一年前は古いけどwinapi::minwindefは今はwinapi::shared::minwindefよ。
apiが変更されただけだからまずdoc読めばいいよ。
あとrustupでrust-docインストールすればthe cargo bookもあるからそれも読んで。

433:418
19/01/22 08:09:48.68 owMGrrnU.net
>>432
0.3.x以降はCargo.tomlにfeaturesを書かないとダメらしい
あとunsafe祭りになってしまいそうなんだがwinapiの仕様でFAなんかな

434:418
19/01/24 23:36:09.43 mR/sBWjl.net
URLリンク(docs.rs)
これってどうやって初期化すればいいんだろ?
ReadFile/WriteFileでOVERLAPPEDを使いたいんだが

435:デフォルトの名無しさん
19/01/25 01:30:10.23 7aXnDiIo.net
よく知らんけどOVERLAPPEDをmem::zeroedで初期化して引っ張ってくるんじゃないの

436:418
19/01/26 00:18:28.40 ec8OMVht.net
>>435
ありがと。それでとりあえず出来た

437:デフォルトの名無しさん
19/02/01 02:53:50.28 bNyzNXhv.net
TryFrom/TryInto がもうすぐか

438:デフォルトの名無しさん
19/02/05 00:11:17.23 2NDs+2LZ.net
型のパターンマッチってメンテナンス性が悪かったりする?

439:デフォルトの名無しさん
19/02/05 00:26:16.28 pEuhZWls.net
ML系の関数型言語の経験があるなら全く問題ない
経験ないならHaskell/OCaml/F#あたりのうち最低一つは触れてみることを強くお勧めする

440:デフォルトの名無しさん
19/02/05 00:39:59.41 XXfCgR8v.net
どれ?

441:440
19/02/05 00:41:00.53 XXfCgR8v.net
>>438

442:デフォルトの名無しさん
19/02/05 00:42:22.65 UXw61YxU.net
やっぱRustに限らず新しめの言語できる人って英語もスラスラ読み書きできるもんなの
読むのは時間かければ何とかなるけど書けないから質問する場所が限られる

443:デフォルトの名無しさん
19/02/05 00:48:10.95 28bd5R1v.net
パターンマッチは型で分岐するというより型に当てはめるという感覚の方が近い
OO言語でマサカリ投げられるような型で分岐するというのとは似て非なるものなんだが、
そのへんの微妙な感覚を掴んでからでないと糞コードの温床になりそう

444:デフォルトの名無しさん
19/02/05 05:25:42.44 xTPbFJiK.net
>>442
slackで聞くといい

445:デフォルトの名無しさん
19/02/07 12:31:53.09 nkNDSe3E.net
何かのIDEで
(0..10).
の補完が効くようになったら教えて

446:デフォルトの名無しさん
19/02/07 23:00:54.15 +NlXQGa+.net
RangeはIteratorを直接実装するからcurrent scopeにIteratorがuseされてない状態でIteratorのメソッド解析出来ないと無理だろうね。
useされてないトレイトのメソッド使ったら自動でuseする機能のほうが先。

447:デフォルトの名無しさん
19/02/08 00:09:20.59 EX3qDOo1.net
良記事
Learning Rust via Advent of Code
URLリンク(www.forrestthewoods.com)

448:デフォルトの名無しさん
19/02/09 15:36:54.38 6/bHpQ6m.net
トイレット

449:デフォルトの名無しさん
19/02/09 16:27:38.54 6Levbbby.net
URLリンク(volt.ws)
URLリンク(volt.ws)
V言語とかいうやつ、GUIアプリとか3Dゲームとかを開発するために作られたらしいけど、GCがないとか1500万行のコードを1秒でコンパイル出来るとかバイナリサイズが極小とかC/C++とのやりとりが簡単とか
これが本当だったらRust負けちゃうんでは
実際Rustで低レイヤーやってる人少ないだろうし

450:デフォルトの名無しさん
19/02/09 16:31:54.37 meE2rnNy.net
詳細知らんけど低レイヤーに適した言語が出てくること自体は歓迎できるんじゃないの

451:デフォルトの名無しさん
19/02/09 16:35:04.90 k8PbCSOR.net
言語は言語の良さだけでは流行らないんだよ
RustもGoもまあまあ悪くない言語である上で十分なステマを行ったから流行った

452:デフォルトの名無しさん
19/02/09 17:19:45.83 XHVbx6Kw.net
それ使ったアプリがよほど良くて、開発者をうまく集められて、コミュニティが育たなければ無理だろうな
ソース非公開のうちは勝負にもならん

453:デフォルトの名無しさん
19/02/09 17:48:14.48 F2V9krnu.net
幾ら優れていようと後ろ盾がなきゃD言語の二の舞だろ

454:デフォルトの名無しさん
19/02/09 17:55:50.24 Sm9Jadj9.net
コンパイルが速いならジェネリクスも無いんじゃないかね。安全性については対nullしか無いっぽいし

455:デフォルトの名無しさん
19/02/09 19:21:01.69 6Levbbby.net
OCamlとかジェネリクスあるけどgoよりコンパイル速いよ
っていうか21世紀のOCamlが欲しかった(OCamlはそんなに古い言語ではないけど)

456:デフォルトの名無しさん
19/02/09 21:38:40.47 ifttyEGf.net
Rustほど丁寧なエラーメッセージ出してくれる言語もないでしょ
そういうのを捨てて速度を取った言語とは比べられない

457:デフォルトの名無しさん
19/02/09 21:42:08.79 7AbylfKm.net
> Rustほど丁寧なエラーメッセージ
冗談だよな? って思ったけど最近のは丁寧なのかな

458:デフォルトの名無しさん
19/02/09 22:39:24.66 +053I9at.net
全然だぞ。

459:デフォルトの名無しさん
19/02/09 22:57:48.30 zYIj7/GJ.net
Vってvoltのことか。あれgoに毛が生えた程度の言語よ。
>>457
今のはコマンドプロンプトのバッファが足らなくなるくらい丁寧だけど
答えそのものを教えてくるから書いたコードがだめな理由が初学者に理解できないのは変わらないと思う。

460:デフォルトの名無しさん
19/02/10 01:50:55.52 z2TxZpHI.net
>>449
どうググるとそれ出てくるの?
「volt プログラミング言語」でググって出てくるのこれなんだけど
Volt Programming Language ・ GitHub
URLリンク(github.com)
URLリンク(www.volt-lang.org)

461:デフォルトの名無しさん
19/02/10 02:45:34.58 rzMRhZmV.net
大体はGoとかと一緒で言語名+langで検索するのがいいんじゃない?
四文字もあって他の情報が上に来るのも珍しいが

462:デフォルトの名無しさん
19/02/10 23:16:47.25 Unf9n64i.net
googleで言語名+langで検索するとgoを検索結果にねじ込んでくるから-go必須

463:デフォルトの名無しさん
19/02/11 13:29:57.41 /IKdpkbc.net
rustでググってrustってゲームがトップに来なくなったのはグーグルさんが僕の検索履歴から判定しているだけ

464:デフォルトの名無しさん
19/02/11 14:57:29.32 cihDmqOc.net
URLリンク(trends.google.co.jp)
URLリンク(i.imgur.com)

465:デフォルトの名無しさん
19/02/11 16:58:29.92 icbaaHgE.net
Rust初心者です。
リスト構造を使ったスタックの実装で躓いてます。
なぜ間違っているのか教えてください
URLリンク(gist.github.com)

466:デフォルトの名無しさん
19/02/11 18:46:05.84 T+XDi7pv.net
>>465
URLリンク(cglab.ca)
かいつまんで言うと、&mutなオブジェクトが一瞬でもinvalidな状態になるから。
mem::replaceを使うと、self.listの値を取り出して代わりに別の値を置く、という処理が一度に行える
URLリンク(play.rust-lang.org)

467:デフォルトの名無しさん
19/02/11 21:46:27.46 icbaaHgE.net
>>466
ありがとうございます。
変更可能な"参照"で持ってきたもの(&mut self)から所有権をムーブさせることはできないという解釈で大丈夫ですかね。
置き換えるときはmem::replaceを使うようにします。

468:デフォルトの名無しさん
19/02/11 23:01:54.99 9ECrAI8Q.net
クソコード教えるんじゃねぇ。Optionの中身をNoneと入れ替えるならOption::take使え

469:デフォルトの名無しさん
19/02/11 23:36:00.41 T+XDi7pv.net
アアン?Option::takeのソース見ての物言いだろうなあテメェ

470:デフォルトの名無しさん
19/02/13 00:06:54.91 VVnL6iyQ.net
中身見たのならなおのことOption::take使うべきでは

471:デフォルトの名無しさん
19/02/14 19:10:47.01 25E3pTeL.net
>>455
OCamlは、文字コードの扱いとWindows環境の扱いが
もう少し良くなってくれると嬉しいな。

472:デフォルトの名無しさん
19/02/18 21:15:10.76 0Vx/m/dz.net
インデントのスペース幅は2が良かったなぁ
clang-formatもprettierも2がデフォだし
C#でさえ2を結構見かけるようになってきた
rustに強く影響を与えたであろうocamlもhaskellも2が多い
世界的に2が標準になりつつある気がする

473:デフォルトの名無しさん
19/02/18 21:29:43.93 trvxFZJG.net
漢なら8

474:デフォルトの名無しさん
19/02/18 21:30:52.44 etvvcICH.net
Pythonをインデント2で書く奴だけはマジで死ね
あれはガチで読めない
他の言語なら好きにしろ

475:デフォルトの名無しさん
19/02/18 21:33:40.63 TCe7B/Jv.net
インデントはTABキー派だな

476:デフォルトの名無しさん
19/02/18 21:43:29.91 G3oZ5oVt.net
ocamlからリスト引き継いでくれたらよかったのになあ
しかしそうするならもはやocamlそのものでいいってことになりかねないかな

477:デフォルトの名無しさん
19/02/18 22:43:31.80 7ubWqY/W.net
>>474
それだとgoogle連中には全員死んでもらわんとならんな。

478:デフォルトの名無しさん
19/02/18 23:22:04.58 H1db3n/w.net
noto sansにindent 3をわかってくれるのはねねっちだけか。
今は源真ゴシック等幅+Source Code Proだけど。
Source Han Codeはちょっと違うんだよ。

479:デフォルトの名無しさん
19/02/18 23:32:13.04 MF1SsBZy.net
Cica派です

480:デフォルトの名無しさん
19/02/19 02:33:20.94 ztl4bw1Y.net
googleのstyleguideではスペース幅4を推奨してるのにgithubのgoogleのpythonレポジトリはスペース幅2が多いな
pythonはpep8を重視してるイメージがあるけど堂々と無視出来るのは凄い
rustもrustfmt.tomlでtab_spaces = 2を設定してる人が結構いるわ
URLリンク(github.com)
3にしてる人さえいる

481:デフォルトの名無しさん
19/02/19 09:43:14.31 +VeRQQni.net
ちんこことゴッドエイムあきらを探しに来ました。

482:デフォルトの名無しさん
19/02/19 12:32:05.79 1Fqwt8so.net
なんでtab2だとみにくいんだ?

483:デフォルトの名無しさん
19/02/19 13:27:47.37 D8b3v+Fo.net
インデントで制御構造を表現する言語だと、深いネストから戻るときにどのレベルに戻ったのか識別できなくなる

484:デフォルトの名無しさん
19/02/19 20:11:35.55 8ne5Wfny.net
タブ2で見ずらくなるようなネストの深さと関数の長さになるのが悪いと
言いたいところだがgoogleのオフィシャルコードは結構ど汚くて上の条件を無視してる。
個人的には3が視認性の上では一番良いと思ってはいるが、流石に2,4と互いに素な数だと
プログラム的になんか嫌なこと起きそうで自分では使ってないな。

485:デフォルトの名無しさん
19/02/19 21:05:35.97 xEsYUfd7.net
タブ幅小さくして、その分変数名を分かりやすく長くするんだよ

486:デフォルトの名無しさん
19/02/19 23:16:38.92 8Y/JNp+N.net
>タブ2で見ずらくなるようなネストの深さと関数の長さになるのが悪いと
2派と4派の対立は4が深すぎるか、2が浅すぎるかなのに「2で見ずらくなる深さ」って想定おかしくね?
3派は間とって3だよ。こっちは普及してないのが問題。

487:デフォルトの名無しさん
19/02/19 23:29:48.61 5Qp7yTUV.net
Scalaみたくスタイルガイド作っちゃえばいいのに
そうすれば「スタイルは公式に従うように」の一言で済む

488:デフォルトの名無しさん
19/02/19 23:31:07.48 DbU8mxgP.net
ハードタブなら各自好きな幅にすればいいから揉めないのにね。

489:デフォルトの名無しさん
19/02/19 23:44:16.88 /QLumg1k.net
回りの多数派にあわせるだけの話
こういうのにこだわるやつは大抵バカ
可読性w

490:デフォルトの名無しさん
19/02/20 00:10:42.00 PUv5Mo1S.net
なんてここでタブ・スペース論争してんだ
どうせ一人でしか書かねえくせによ~

491:デフォルトの名無しさん
19/02/20 00:20:53.21 tgLGxeUk.net
インデントってrustfmtの話?

492:デフォルトの名無しさん
19/02/20 09:53:44.02 +ywZrRmq.net
>>489
ほんこれ
見やすさとか人によって違うしどうでもいい

493:デフォルトの名無しさん
19/02/20 15:04:45.66 NsAPC4E4.net
エディタファシストなのでエディタを開発したことないやつは駆除されるべきなのではと考え始めて来た。やばい

494:デフォルトの名無しさん
19/02/20 15:58:40.55 agArr1lp.net
昔々学生の頃に学校のワークステーション使ってXlibでドット編集してXPMファイルで出力するなんてものを作った覚えがある。
あらから29年。時の経つのは早いものぢゃ。

495:デフォルトの名無しさん
19/02/20 19:43:00.89 v7iPz90J.net
29年前にRust使えたんだ
すごいな

496:デフォルトの名無しさん
19/02/20 19:44:18.14 sr7oPl81.net
読み込んで表示するより出力の方がはるかに簡単だしな

497:
19/02/20 19:52:10.09 P8vN2pc3.net
>>494
xlib ダイレクト記述、とは猛者ですね…
私も最近になって xlib をバシバシ触ろうと思っていますが、いい参考書はありませんか?

498:デフォルトの名無しさん
19/02/21 11:19:20.33 TingKcVp.net
XlibってCの悪いところを煮詰めたような設計だったな
Rustとの相性は最悪だろう

499:デフォルトの名無しさん
19/02/21 13:00:40.17 1Gw0PDsD.net
日本語の参考書はX11R5の大昔に出た本ぐらいじゃないかな

500:デフォルトの名無しさん
19/02/22 15:32:44.85 bcwEHSMY.net
うん。新しいXlibの本は知らないなあ。
探す気も起きないから知らないだけかも知れないが。

501:デフォルトの名無しさん
19/02/22 15:35:39.38 bcwEHSMY.net
>>498
なんというか、オブジェクトを作って操作するような感じなので今時の言語用のオブジェクト指向に合わせたラッパーは作れると思うが、需要はほとんどないような気がする。

502:デフォルトの名無しさん
19/02/22 16:19:45.55 aMjiHo6w.net
xlibの使いやすいラッパーとしてはgtk+などなどがあるんわけで…

503:デフォルトの名無しさん
19/02/22 17:04:13.83 PtH+29Wq.net
GTKはクソ

504:デフォルトの名無しさん
19/02/23 05:53:32.47 jUbY9V9a.net
ちゃんとgtk-rsあるやん

505:デフォルトの名無しさん
19/02/23 22:01:15.49 0ZfqWIIS.net
>>465です
スタックにpopを実装しました
pop自体はうまく動いているようですが…
popした時の対象の物がどのタイミングで破棄されているのかを調べようと思いstd::ops::Dropを実装しようとしましたがうまくいきません。
URLリンク(play.rust-lang.org)
何がいけないのでしょう

506:デフォルトの名無しさん
19/02/24 15:19:37.98 Vg8zIes/.net
haskellでの、文字列[Char]を切り貼りみたいな事をするには、
Vec<char>を操作するので合っているのかな?

507:デフォルトの名無しさん
19/02/26 12:11:01.89 gUDVcbaI.net
>>487
>>480

508:デフォルトの名無しさん
19/02/27 21:22:09.87 DI6YZOkq.net
クローン技術で乗り切った

509:デフォルトの名無しさん
19/03/02 01:38:04.42 TjOpVvei.net
>>505 Dropを実装した型の値がdropされるとき、フィールドは全てvalidじゃないといけない。
そのままメモリ解放するだけ=Drop未実装ならいいんだけど、drop中にinvalidなフィールドにアクセスできちゃうのがダメだというのが問題
解決案は、ここでもOption::takeかmem::replaceでNoneにすげ替える
けど、まずはLearning Rust With Entirely Too Many Linked Listsを写経してみた方が良いよ
今のListの定義だと無駄なメモリを食うし、パターンマッチとstructは相性があんま良くないし、これから先も似たような穴にハマると思われる

510:デフォルトの名無しさん
19/03/02 15:28:49.59 jUIKeWUS.net
Rustいいらしいですよって話を会社でしたら、
テックリードが「RustでできることはCやC++でもテストとツールで十分やってけるからイラネ」って言ってたけどマ?

511:デフォルトの名無しさん
19/03/02 15:50:22.82 s27Iehbv.net
&str で関数に渡すと解放されてしまって使い回すこどができないのですが
使い回す方法ありませんか

512:デフォルトの名無しさん
19/03/02 15:52:40.18 fWMJYJ6q.net
コーディングスタイルを徹底的に統制できるならマ

513:デフォルトの名無しさん
19/03/02 15:55:37.40 rXDVLiGa.net
>>510
コンピュータでできることは人の手と頭でできるよ

514:デフォルトの名無しさん
19/03/02 17:11:13.26 ACbQR/xi.net
>>512
じゃあうちにはたしかに要らんなあ
そんな統制がいるほどの人数でもないし
回答サンクス

515:デフォルトの名無しさん
19/03/02 17:40:27.42 NCWcHh/2.net
>>510
そのリードが C++でauto_ptrがdeprecatedになった理由とMove Semanticsと右辺値参照の関係をちゃんと説明できる人なら C++ でいい

516:デフォルトの名無しさん
19/03/02 18:53:06.97 aD19gS0i.net
人間が信用できないからこそCよりRustだろ
気を付けてコーディングすればミスはなくなる、ってのは戦前の日本軍的な精神論だ
コンパイラ先生に怒られながら厳しい指導の下にやっとコンパイルしていただくのがRust
この記事とか参考になるかも
URLリンク(tomo-wait-for-it-yuki.hatenablog.com)

517:デフォルトの名無しさん
19/03/02 19:04:12.47 sRR7A1mE.net
プログラミングは製造業だからな
厳格なチェックは本来あって当然

518:デフォルトの名無しさん
19/03/02 19:10:02.40 Zilw84iH.net
>>511
&str is 何?

519:デフォルトの名無しさん
19/03/02 19:13:35.19 bakyLAA5.net
>人間が信用できないからこそCよりRustだろ
>気を付けてコーディングすればミスはなくなる、ってのは戦前の日本軍的な精神論だ
ぴんとこないな。
rustの場合、お役所とおせばテストなど自前でしなくともokっていう
変な信用を生んでるだけだろ。そっちのがよっぽど日本的だと思うがね。

520:デフォルトの名無しさん
19/03/02 19:33:57.30 aD19gS0i.net
>>519
今時の言語なので、ユニットテストは標準で整備されてるよね
コンパイラは計算ミスや仕様間違いまではチェックしないので

521:デフォルトの名無しさん
19/03/02 20:15:35.93 ZTrGEwqS.net
考え得る全パターンをいつもテストできるならいいんじゃないの

522:デフォルトの名無しさん
19/03/02 20:36:46.57 fWMJYJ6q.net
メモリ破壊はユニットテストで検出されないケースも多い

523:デフォルトの名無しさん
19/03/02 21:36:12.88 TjOpVvei.net
注意力ってのは慣れると省力できるようになるけど、有限リソースだし個人の習熟度と体力に依存するんで、目に見えない負債になる
新しい言語を理解するコストは償却できるけど、注意深さってのはソースコードを触る限りはコストを発生し続ける
機械がチェックできることは機械にやらせた方が絶対に良い

524:デフォルトの名無しさん
19/03/02 22:15:15.48 E3UUkV/K.net
製品にするコードってどうせMISRA C辺りの静的解析噛ますし
今時ならvalgrindもテスト項目に入ってるだろうし
Rustなら全部コンパイラがやってくれる!と言われても、
いやCにも外部ツール入れれば同じことできるし……としか思わんのだよな
個人的にはクラスよりトレイトの方がしっくりくるからそれだけでもRustは意味があると思うが

525:デフォルトの名無しさん
19/03/02 22:44:32.15 bakyLAA5.net
>>523
枯れてないコンパイラの癖に合わせる方がよっぽど注意力を削ぐと思う。
コンパイラになんでも機能ぶっこむより524のように構成した方がどのツールが文句言ってるのか
よっぽどわかりやすい。
機械にチェックさせるのはいいがシステムとしてモジュラリティーが高いツールの組み合わせのが
結局使いやすいし、ロバストになる。

526:デフォルトの名無しさん
19/03/02 22:52:05.50 SlOxf6t0.net
どうでもいいけど言語の持つ表現力とかは完全に無視なん?

527:デフォルトの名無しさん
19/03/02 22:57:46.43 fWMJYJ6q.net
>>526
C++の方がノイズが多いくらいで表現力自体は大差ないわ
もちろん、そのノイズによる可読性や生産性の低下は決して無視できるものではないが

528:デフォルトの名無しさん
19/03/02 22:59:57.91 BjkGLvi1.net
>>525
Cだって作成当初よりコンパイラでチェックする範囲広げてるけど
全否定?

529:デフォルトの名無しさん
19/03/02 23:01:34.51 E3UUkV/K.net
>>526
CやC++との比較でそこ(表現力)に触れずに
「Rustは安全!C/C++はfree/delete忘れがーアクセス違反がー領域の破壊がー」ばっか言ってる人が多いのが疑問って話な
俺はトレイトに可能性感じてるから期待してるよ
C++のテンプレートとか関数オブジェクトとか書きたくねえし
あとチェッカーとコンパイラ分けるべきか合体させるべきかについては、
どっちにも善し悪しあるからCとRustどっちが優れてるとかはないと思ってる

530:デフォルトの名無しさん
19/03/03 00:06:30.62 vKpOoBmI.net
URLリンク(hacks.mozilla.org)
MISRAに適合しててvalgrindでチェックしてもこういうのは無理じゃない?他に例が思いつかないけど

531:デフォルトの名無しさん
19/03/03 00:19:36.71 cZvjaCEe.net
Cじゃ確かに無理かもわからんが、C++のstd::vectorならatメソッドで同じことできるぞ
毎回アクセス範囲が適切か確認するから結局オーバーヘッドになってほぼ使われんがな

532:デフォルトの名無しさん
19/03/03 00:45:31.79 c3K18875.net
基本はIndex::indexを呼んで必要なとき(オーバーヘッドが気になるとき)にunsafeで囲む
C++は全関数がunsafeで意識せずVec::get_uncheckedを使うようなもの
オーバーヘッドの問題でunsafeで囲んだらRustだってツールじゃムリ五十歩百歩って言われるかもしれないけど、五十歩の方がいい

533:デフォルトの名無しさん
19/03/03 00:45:55.40 m5mWw6SB.net
MozillaやRust作者の人達が、valgrindやチェックツールの使い方を知らない
アホ揃いだと思ってるの?

534:デフォルトの名無しさん
19/03/03 00:57:04.94 cZvjaCEe.net
>>533
MozillaやRust作者の人達の過激な信者が
valgrindやチェックツールの存在を知らないか軽視してるせいで
Rustの宣伝に対して過剰にC/C++をディスってるアホ揃いだと思ってる
もちろんそうじゃないRust推しもいることは承知の上だ
逆に、「そういうツール使えばC/C++だけで十分Rustなんてイラネ」って意見も
ベクトル違うだけで同じくらいアホだと思ってるがな
だからこそトレイトの使い方だとかモジュールの仕組みだとか
外部ライブラリ(crate)の扱い方の方向での他言語との比較が
あんまり見えないことが問題だと思うんだが
そういう意味で話題提供すると、cargoって結構disられてるけど
どの変がクソなのかいまいち分からん
キャッシュサーバ持てないって話ならnpmとかbundleとかgo getも大概では?

535:デフォルトの名無しさん
19/03/03 06:22:48.61 ChZC+e8W.net
>>519
ほんそれ

536:デフォルトの名無しさん
19/03/03 07:44:53.56 lQ42Eo+G.net
みんな同じ話題について話してるのか?
好き勝手独り言言ってるようにしかみえない。

537:デフォルトの名無しさん
19/03/03 16:01:14.67 r7+VYZoa.net
これがいつもの流れだ

538:デフォルトの名無しさん
19/03/03 16:51:19.54 ebEU4O2W.net
そりゃーRust信者とRustアンチしかいねえからな
話が噛み合うわけない

539:デフォルトの名無しさん
19/03/03 16:53:34.09 4supDM4A.net
Rustだと(unsafeなし、コンパイラのバグなしなら)プログラムの全実行パスでメモリリークや破壊がないことが保証できると思うけど、
C/C++で同等のチェックができるツールってある?
valgrindは単にvalgrindで実行したパスで問題なかったことが分かるだけって理解なんだけど。
もしあるならそれはそれで使ってみたい。

540:デフォルトの名無しさん
19/03/03 17:11:00.51 vKpOoBmI.net
>>539
俺もその認識なんだけどvalgrindナメてたかな
Firefoxのcssのバグはテスト書いて発覚した感じなんだけど

541:デフォルトの名無しさん
19/03/03 17:26:47.25 oO/57lY2.net
その手の静的解析ツールはたいてい商用製品だね。一番手頃なのはVSで使えるSALかな。

542:デフォルトの名無しさん
19/03/03 17:57:36.24 lcRojjEc.net
顔本のinferがオープンソースで全パス調べてくれるやつだな
企業ならcoverity課金してるだろ

543:デフォルトの名無しさん
19/03/03 18:42:44.87 DMRKI5H5.net
inferは知らなかった。ちょっと試してみる。
まぁ商用含めても原理的に検出率100%とはいかないだろうけど、
Rustだって標準ライブラリ内のunsafeバグとかあるからいい勝負なのかな。

544:デフォルトの名無しさん
19/03/03 18:48:10.42 Y2LadsyV.net
全パスチェックしてもRustのコンパイル時のチェックには及ばない
全パスチェック程度で済むものならば、Rustにあんなややこしい概念を持ち込む必要はないんだよ

545:デフォルトの名無しさん
19/03/03 18:59:21.85 jeWiu9AY.net
言語として縛りを強制するってとこに旨みがあるよね
静的チェックを過大評価云々は的を外した無意味な議論

546:デフォルトの名無しさん
19/03/03 19:51:05.48 BbxzBxVK.net
Rcなりunsafeなりあるわけでなんだかね。
rustを意識してプログラムをすることに意味はあるがrustの実装系を使うことに
そこまで意味はない。

547:デフォルトの名無しさん
19/03/03 22:01:18.12 lQ42Eo+G.net
俺はweb屋さんだけどサーバ書くならrustが最高とおもってる
これって過激な信者?

548:デフォルトの名無しさん
19/03/03 22:32:13.67 cCLOOBeX.net
信者だアンチだディスったディスってないでrustを語れよ

549:デフォルトの名無しさん
19/03/03 23:36:41.41 U4/3Q3+q.net
coverityとかの静的解析って誤検出が結構ある
で誤検出かどうかの人力解析も超めんどくさい
かつ1度の解析にめっちゃ時間かかる
これがあるからC/C++でもRust同等とかないわ

550:デフォルトの名無しさん
19/03/03 23:53:56.27 60sPzVWf.net
>>547
web屋さんはもともとC++なんて使ってないし使う人が順調に増えていってる印象
問題はweb屋さん以外にどうアピールするか

551:デフォルトの名無しさん
19/03/03 23:58:03.76 +k8QiguP.net
どうせ一時の流行で終わるんだから被害は少ないほうがいい
Scalaとかも中途半端に業務系が乗っかってきはじめた矢先に梯子外されて死屍累々の惨状だったし

552:デフォルトの名無しさん
19/03/04 01:59:21.29 alP8X7u2.net
>>551
なんか梯子外された事件あったっけ?
Java8の登場でScalaがただの難解なJava8になった話?

553:デフォルトの名無しさん
19/03/04 05:28:04.34 voD3ILMP.net
scala十分流行ってるでしょ

554:デフォルトの名無しさん
19/03/04 05:49:29.62 DAN4+o0x.net
えっ

555:デフォルトの名無しさん
19/03/04 07:38:18.48 yQsTNF7X.net
Javaは今でもクソ言語なのでScalaとは比べるべくもない
単に日本の人月制度とマッチしなかっただけ
Rustもそうなる
学習コストの高い良い言語より学習コストの低い低単価で人を集められる言語

556:デフォルトの名無しさん
19/03/04 08:34:11.43 i9k284UJ.net
色んな業界があるのに一緒くたにして評価できなくない?

557:デフォルトの名無しさん
19/03/04 16:55:17.66 PCPHBNAL.net
>>555
JavaやPHPはともかく、そういう意味でCやC++がコスト低い言語とは思えんが

558:デフォルトの名無しさん
19/03/04 22:48:27.10 GJN1vwhQ.net
個人的な経験だけど、Rustのコンパイラを単純に黙らせるようにソース修正していくと物凄く汚くなることが良くある
ので、そもそもの設計を見直すようになったり、かくあるべしって仮設を明確にするクセが身についた気がするよ

559:デフォルトの名無しさん
19/03/04 23:49:25.53 xIknJLrh.net
>>557
低学歴のC/C++職人様はつぶしが利かないからスキルの割に高くないイメージ

560:デフォルトの名無しさん
19/03/05 05:49:14.36 437fdADv.net
資源の共有状態を見直すってのはrustは置いといてもプログラムをに置いてやっぱ本質だなと思う。

561:デフォルトの名無しさん
19/03/05 23:33:10.77 oKijR9sc.net
ArcとかMutexとかRwRockが気に入ってる
最初めんどくさかったけどよく考えたら当たり前に必要なんだよね
そこを隠蔽しないことでコストのトレードオフをプログラマに意識させるのがよい

562:デフォルトの名無しさん
19/03/06 00:07:02.80 2JVBykl1.net
練習で他言語のプログラムを移植してみたらコンパイラに
ガンガン怒られて本人が壊れるような使い方しないからと手抜きしていた部分が
洗い出されてなるほどなあと思った

563:デフォルトの名無しさん
19/03/06 00:31:05.23 a/Fk2z1+.net
>>558
黙らせるだけで終わってしまうわ

564:デフォルトの名無しさん
19/03/06 02:33:21.88 ZekpWDr2.net
rustでguiだと何使う?
やっぱgtk?

565:デフォルトの名無しさん
19/03/06 06:28:18.81 kGbjMq/w.net
rustに限らず他の言語でもgtkぐらいしかないでしょう

566:デフォルトの名無しさん
19/03/06 10:55:39.33 YRi0lSUm.net
んなこたーない

567:デフォルトの名無しさん
19/03/06 11:15:19.50 VrPN+K4q.net
orbtk?
redoxのguiだけど、windowsでも動いたよ。

568:デフォルトの名無しさん
19/03/06 12:02:48.23 mg6kC0Yg.net
GTKは糞

569:デフォルトの名無しさん
19/03/07 02:41:58.99 se1YsRNA.net
>>561
当たり前じゃねえから
PythonとかPerlとかRubyで書かれたプログラムにはないけどちゃんと動く
それともこれらの言語で書かれたものはプログラムじゃないとか言っちゃう系?

570:デフォルトの名無しさん
19/03/07 07:08:20.11 USPSPd7n.net
>>569
パイソンだって排他制御書くじゃん

571:デフォルトの名無しさん
19/03/07 07:18:52.41 rioBJ/QG.net
RwRockが自然に必要ってのは言い過ぎだわな。
必要なところは必要だろうがそれがあまりに多いのは多分設計ミスってる。

572:デフォルトの名無しさん
19/03/07 08:07:15.51 USPSPd7n.net
ですから必要なところは必要と言ってるだけじゃないですか
当たり前にってのは原理的に必要と言ってるだけだよ

573:デフォルトの名無しさん
19/03/07 09:00:14.60 V2DuVpEL.net
>>569
Rustの設計思想理解してないのか
単にアホなのか

574:デフォルトの名無しさん
19/03/07 09:44:04.96 kIvAXfDl.net
まぁ自分の書いている範囲内しか見えない人は普通にいるだろう。
どの言語だってライブラリや処理系レベルでは排他制御はあるし、
逆にどこにもなかったら単に間違ってる。

575:デフォルトの名無しさん
19/03/07 11:44:24.50 ujmnvZmf.net
Perlは知らんがRubyやPythonには
GILっていう排他制御が言語処理系に含まれてることを考えると
非常に味がある

576:デフォルトの名無しさん
19/03/07 11:46:01.46 MaxgRiSY.net
Luaって息してないの?

577:デフォルトの名無しさん
19/03/07 11:50:35.55 ujmnvZmf.net
>>576
他の言語が息できない分野でエラ呼吸してるよ

578:デフォルトの名無しさん
19/03/07 12:47:59.26 rQAOToBL.net
>>575
GILは複数スレッドの競合によってインタプリタがぶっ壊れるのを防ぐために必要な、インタプリタ自身の内部的な排他制御
アプリケーションコードで行う排他制御の代わりにはならないよ
インタプリタがスレッドセーフでない糞実装であるための苦肉の策で、
Rust含め元々スレッドセーフな「まともな処理系」なら全く必要のないもの

579:デフォルトの名無しさん
19/03/07 12:55:45.82 NXRNz+RG.net
そういや Perl でマルチスレッドのプログラムは作ったことないなあ。fork してマルチプロセスにするのはよくやるが。

580:デフォルトの名無しさん
19/03/07 13:06:36.81 V2DuVpEL.net
>>575
GILは欠陥扱いだろ…

581:デフォルトの名無しさん
19/03/07 14:00:26.28 GuWZeuUG.net
そうか、今時の人はみんなLock-freeアルゴリズム使いこなすんだな
Mutexなんて見たことないんだ

582:デフォルトの名無しさん
19/03/07 16:39:47.28 4Ef40pSv.net
OSかそれに近いコア領域とかトランザクション必要なデータベースでも書かん限り
MutexとかLockとかが必要だとは思わんなー
Web系にもてはやされてるらしいけど君らそもそもそれオーバーキルどころか逆に足枷ならん?って思う

583:デフォルトの名無しさん
19/03/07 18:08:18.69 pnI3L7PU.net
そういうあんたは並行処理どうやってんの?

584:デフォルトの名無しさん
19/03/07 18:38:08.85 G0X+tUuM.net
>>583
そもそもそんなに並行処理をOSやミドルウェア頼りじゃなくて自分で書くが必要な場面て例えばどこ?
と質問に質問で返してみる

585:デフォルトの名無しさん
19/03/07 18:43:18.41 G0X+tUuM.net
念のため言っとくと、別にロックなんて無駄だとか言いたいんじゃなくて
ArcとかMutexとかRwRockが当たり前に必要とかいうマウンティングに反論してるだけな

586:デフォルトの名無しさん
19/03/07 18:54:58.71 pnI3L7PU.net
>>584
仮にお前がミドルウェア使うだけの些末プログラマ
だとしてもミドルウェアがマルチスレッドで動いていたり、
複数のミドルウェアを使う場合は
排他処理が必要なケースは普通に出てくるだろ

587:デフォルトの名無しさん
19/03/07 19:01:04.74 pnI3L7PU.net
>>585
rustをc++の代替候補として考えるなら使って当然
並行処理でこそrustの有り難みが生きるわけだし
マウンティングに感じるのは単にお前が並行処理に馴染みがないからだろ

588:デフォルトの名無しさん
19/03/07 19:49:57.49 G0X+tUuM.net
>>586
それはそんな使い方する方が何かしらおかしい
排他制御ってのは本当に必要なところ以外ではやらないように回避するもんだ
>>587
Rustの旨味がそこにあるのは否定しないが、
それが全プログラマが当たり前のように使いこなせるべきっていうのは
ただのマウンティングだろうに

589:デフォルトの名無しさん
19/03/07 20:59:20.87 pnI3L7PU.net
>>588
排他が必要だからするにきまってんじゃん
そういうところに思考が及ばないやつはjsだけ使ってりゃいいと思うよ

590:デフォルトの名無しさん
19/03/07 21:02:19.38 V2DuVpEL.net
プログラマーがリソースの共有状態を意識すれば
無駄な排他制御しなくても大丈夫だという主張かねえ

591:デフォルトの名無しさん
19/03/07 21:17:09.18 0XBNAuOg.net
RwRockってRwLockの間違い?
そういう言葉遊びのライブラリでもあるの?

592:デフォルトの名無しさん
19/03/07 22:06:32.44 rioBJ/QG.net
RwLockが少ない設計で組めたぜ!って自慢するならともかく
RwLockめっちゃ使ってますなんてアピールする奴は普通にバカだろ。

593:デフォルトの名無しさん
19/03/07 22:11:49.22 kIvAXfDl.net
単に日本語の問題では?
多分解釈が二通りある。
マルチスレッドプログラムにとって排他制御は当たり前に必要
プログラマにとって排他制御は当たり前に必要
個人的には文脈から前者と理解したけど、後者だと思うなら言い過ぎだというのは分かる。

594:デフォルトの名無しさん
19/03/07 22:15:22.37 0XBNAuOg.net
lockをrockと間違ってもしれっとしてるやつもかなりのバカだよね
ソフトウェアの超頻出単語じゃん

595:デフォルトの名無しさん
19/03/07 22:34:05.54 USPSPd7n.net
だからプログラマにとって当然の能力という意味で言ってないって
めっちゃ使ってるとも言ってないって
隠蔽しないから必要性とコストを意識できていいねって言ってるやんけ
誤字はすまんかったけど

596:デフォルトの名無しさん
19/03/07 22:44:55.70 rioBJ/QG.net
まあ俺が採用だったらここまであからさまな地雷は避けるわ。

597:デフォルトの名無しさん
19/03/07 22:59:19.47 USPSPd7n.net
なぜ自分が採用に関与できない雑魚だと表明してしまうのか理解できないけど、そうしたほうがお互い幸せになれるだろうね

598:デフォルトの名無しさん
19/03/07 23:52:54.26 4aDKvx3Q.net
>>596
お前は派遣だろ目を覚ませ( ‘д‘⊂彡☆))Д´) パーン

599:デフォルトの名無しさん
19/03/08 07:01:44.63 ySJgt2xb.net
こういう奴らに並列実装なんてさせるから地獄を見ることになるんだよな。。

600:デフォルトの名無しさん
19/03/08 09:05:39.84 B6Ayhhcz.net
Rustなら地獄を見そうなコードは
コンパイラが怒るからよかったじゃん

601:デフォルトの名無しさん
19/03/08 09:22:23.55 FgM3Elcd.net
Mutexとかもはや古典技術でしょ
Rust使う領域では理解してて当然と言っていいよ
これがマウントだとしたらキレイなマウント

602:デフォルトの名無しさん
19/03/08 11:37:10.05 41t9AOm1.net
>>601
そういうことばっか言ってるからいつまでも二流言語と違うんか?

603:デフォルトの名無しさん
19/03/08 12:02:47.61 qCBno44f.net
フリーランチの時代はとっくに終わってるのに気づいてないんだ…
プログラミング界の横田庄一だな

604:デフォルトの名無しさん
19/03/08 12:28:00.15 pv8HlopZ.net
横田庄一と聞いてすぐに誰の事かわかる人は横田庄一

605:デフォルトの名無しさん
19/03/08 12:29:45.82 pv8HlopZ.net
いやちょっと待て、横井だよな?

606:デフォルトの名無しさん
19/03/08 13:03:58.27 qCBno44f.net
>>605
すまん横井だw
よっこいしょういち

607:デフォルトの名無しさん
19/03/08 13:17:39.94 41t9AOm1.net
Rockといい横田といい、この程度のことも注意できない奴だから
こんな口うるさい姑みたいなやりたいこともやりにくい言語をもてはやすんだと納得

608:デフォルトの名無しさん
19/03/08 13:28:47.21 qCBno44f.net
横井さんも刺身食えなかったらしいからな
排他処理に拒否反応示すのも無理はない
Rustはやめときな

609:デフォルトの名無しさん
19/03/08 18:14:30.11 NkXqhcRH.net
Rustは刺身だった

610:デフォルトの名無しさん
19/03/08 18:25:28.43 qCBno44f.net
サビだけにな

611:デフォルトの名無しさん
19/03/08 19:54:07.36 VhFMuL/G.net
ふふ

612:デフォルトの名無しさん
19/03/09 18:18:24.28 jz9xUaFa.net
>>600
rustでコンパイル通れば安全というわけじゃないっていう例なんだが。。
やっぱバカに並列化コードは触らせないほうがいいな。

613:デフォルトの名無しさん
19/03/09 18:46:26.86 p0Yi5ioR.net
競合条件がなくなることはないけど、データ競合はほぼ回避してるぞ
安全じゃなくなるのはデータ競合のときなんだから、安全じゃなくなる例になってないぞ
経験上デバッグが難しかったりするのは大体がデータ競合によるものなんで、Rustは並行処理にも威力があるぞ

614:デフォルトの名無しさん
19/03/09 20:58:43.16 IPK2i5wV.net
兵庫県警の件、brendan eichが証人受けるとまで言い出して面白いことになってるけど、
アレが駄目ならビジーウェイト書いてるやつ全員逮捕だよな。組み込み勢狙われるぞw

615:デフォルトの名無しさん
19/03/09 21:43:01.59 jz9xUaFa.net
>>613
普通に考えてスレッドでやるメリットってデータ競合が生じるようなアクセスを
考えなきゃならんパターンなわけでそれはrustだろうとなんだろうと楽になんかならんという
当たり前のことがわかってない。
そういうある種のアクセスパターンに対する制限なり証明なんてのは設計をよっぽどシンプルにせにゃ
適応できんってのがまともに実装してれば分かるもんだがな。

616:デフォルトの名無しさん
19/03/09 21:53:17.28 nkmcDrgh.net
>>615
Rustでコンパイラエラー出さずに競合で壊れるようなサンプルある?

617:デフォルトの名無しさん
19/03/10 06:42:01.75 9jhd4KAw.net
人間には難しいから機械にやってもらうってことだろ
楽になってるやん

618:デフォルトの名無しさん
19/03/10 16:20:48.68 H9CGHBKv.net
Rustでsql扱いたい時ってなにつかえばいいんですかね

619:デフォルトの名無しさん
19/03/10 16:34:29.10 H9CGHBKv.net
DBか

620:デフォルトの名無しさん
19/03/10 17:10:23.52 aEc7Apho.net
diesel

621:デフォルトの名無しさん
19/03/11 00:27:06.99 YRmagZmf.net
>>616
話が通じてないのはよくわかった。
コンパイラエラーが出ていないが意図通りの動作でない例はいくらでも作れるよ。
てか他の言語でもロックなりアトミックなオブジェクトなり作ることについてそんなに困ってない。

622:デフォルトの名無しさん
19/03/11 01:41:44.77 FmvoWW+v.net
>>621
いくらでも作れるなら見てみたいのですが

623:デフォルトの名無しさん
19/03/11 06:38:37.83 meIK3aBA.net
作れるかどうかじゃなくて作らないとコンパイルエラーになるかどうかが問題

624:デフォルトの名無しさん
19/03/11 11:16:28.86 I31WZ8ED.net
例えば、同じ型のArc領域二つ作って複数のスレッドが更新し合うプログラムで
特定の条件でうっかり逆の領域に書き込むように作ってしまったパターンみたいな
単純な仕様の間違いまでRustでコンパイルエラーにしてくれるのか?
人間っていうのは並列計算のモデルが複雑になると
把握しきれないからうっかりこういうことする率が上がるんだよ
だからどんなにRustがコンパイル時安全だろうと
人間がきちんと計算モデル把握できなきゃ結局バグはなくならない
で、人間が把握できるレベルまで設計を単純にできれば
CだろうがRustだろうが大して開発レベルに差はつかない
ライブラリと表現力の差がちょっとRustに分があるくらいで
積み上がったC資産の量でひっくり返るレベル

625:デフォルトの名無しさん
19/03/11 12:03:24.06 FmvoWW+v.net
プログラマならコードで語ってほしいなあ

626:デフォルトの名無しさん
19/03/11 12:06:09.39 Aj/YOxZO.net
>>625
そりゃコードの話はしてないからなあ
一生リーダブルコードでも読んでろ

627:デフォルトの名無しさん
19/03/11 12:07:53.10 FmvoWW+v.net
Rustでもこんな書きかたしたら駄目だよと言う
例も出せなきゃ単にRust理解してないのかと思われるよ

628:デフォルトの名無しさん
19/03/11 12:24:56.42 Aj/YOxZO.net
>>627
だから書き方の話なんてしてねえよ設計の話してんだよ
言語以前の話なんだよ
代入する変数を間違えるレベルのミスはRustだって面倒みてくれないし、
そういうミスは複雑な並行をする設計にしたらいくらでも起こるって話になんでコードがいるんだよ

629:デフォルトの名無しさん
19/03/11 12:30:05.81 Aj/YOxZO.net
あ、それともRustなら代入する先の変数を型が同じ別の変数と間違えるレベルのミスもカバーしてくれるとかそういう話ある?
それなら俺が悪かった

630:デフォルトの名無しさん
19/03/11 12:43:01.92 XUClMORg.net
人間が把握できるレベルまで設計を単純にできれば開発レベルに差はつかない君

631:デフォルトの名無しさん
19/03/11 12:53:48.65 iGRez5Af.net
まあ簡単なことをわざわざ複雑にしたがる君はどこでもいるよね
意地でもバッチ使わない奴とかマジで害悪

632:デフォルトの名無しさん
19/03/11 12:59:34.54 Cr4yx51D.net
データ競合の話をしてくれ

633:デフォルトの名無しさん
19/03/11 13:08:54.18 FmvoWW+v.net
>>628
>>629
Rustなら不注意な変数の扱いをコンパイラが
検出してくれる
という話をしてるときに設計ミスなら
何でも起こりうるとかドヤ顔されても
はぁそうすかーとしか返せんけど
何しにきたの?

634:デフォルトの名無しさん
19/03/11 14:12:19.53 l+vIpuAn.net
仕様の間違いを言語が指摘してくれるなら何も書く必要ないな

635:デフォルトの名無しさん
19/03/11 14:38:37.91 QCR9O3Xc.net
だから変数の不注意な取り扱いの話だろ?
変数の取り違えは不注意な取り扱いじゃないのか?

636:デフォルトの名無しさん
19/03/11 15:06:42.33 Vz3i6ZDJ.net
最初は安全でないケースはいくらでもあるとか言ってたのに、なんで話をそらすかね
レッテル貼るのが好きで論破ァしたいのは伝わってきた

637:デフォルトの名無しさん
19/03/11 17:58:57.62 LW933tmz.net
>>635
お前話理解してないなあ

638:デフォルトの名無しさん
19/03/11 22:55:06.72 12YVFwCp.net
お前らまだやってるのか。
まあ、仕様が間違ってる部分でコンパイラ通らなかった事はある。
分岐やステートマシンが網羅性満たしてないとか。

639:デフォルトの名無しさん
19/03/12 00:10:32.77 2rrWszPN.net
>>612
Rustでコンパイル通るけど危険なコードの
例を出してくれれば議題になると思うのに残念だ

640:デフォルトの名無しさん
19/03/13 02:29:03.52 L2CP12FF.net
rustの偉い人教えてください。
rustではポインタ演算できますか?
unsefeという指定をすればできる?
関数ないでしなきゃいけなくてオーバーヘッドになったりしないでしょうか。

641:デフォルトの名無しさん
19/03/13 16:52:00.11 9tX9nXc2.net
Rustでポイント演算が必要な場面ってどんなとき?

642:デフォルトの名無しさん
19/03/13 22:08:43.38 k+ORDxki.net
オーバーヘッドになるかは、自分でLLVMコードを比較しないと分からないと思うよ

643:デフォルトの名無しさん
19/03/13 22:45:24.59 kIc2U++j.net
Rustのguiライブラリーでつかいやすいものありますか

644:デフォルトの名無しさん
19/03/13 22:46:06.26 pX7/4+WY.net
中間コードを見てパフォーマンスを語るアホ
しってた?最適化はLLVMの仕事なんだよ?

645:デフォルトの名無しさん
19/03/13 22:49:05.60 u/DrurAb.net
しってた?低レイヤの最適化はLLVMの仕事じゃないんだよ?

646:デフォルトの名無しさん
19/03/14 00:08:36.36 /7Tw3HBH.net
rustのコードは最適化有効にするとllvmの時点でかなり消えてるから最適化の有無でrustcが吐いたllvm-irの比較できるよ。
>>643
用途とプラットフォームによるから要件指定して出直して。

647:デフォルトの名無しさん
19/03/14 01:00:20.74 lGFaI2Uv.net
>>646
比較はできても実際にオーバーヘッドになるかどうかは最終的な機械語を見るまで分からないよね

648:デフォルトの名無しさん
19/03/14 08:35:56.34 BjDIWQCJ.net
検査例外みたいなもの?Result

649:デフォルトの名無しさん
19/03/14 11:22:17.62 EiiZSkE4.net
>>643
OrbTKとAzulとDruid試してどれが良かったか俺に教えてくれ
どれもまだ作りかけって感じみたいだが

650:デフォルトの名無しさん
19/03/14 23:18:26.23 kx5sht2D.net
>>648
無視できるから検査か実行時で言えば実行時。ただ、例外機構はpanicの実装がそれ。

651:640
19/03/15 02:46:57.83 sc0y6ax5.net
>>641
c言語側で構造体の配列を共有メモリに置いたのをアクセスしたいです。
rustではこうしろ、でもいいので教えてください。

652:デフォルトの名無しさん
19/03/15 23:17:26.07 hOBF8kWn.net
>>651
共有が可変ならコンパイラ通せないなそれ。raw pointer使いたいだけならcだけでやったほうが良い。

653:デフォルトの名無しさん
19/03/16 00:19:31.04 L6J1QJay.net
URLリンク(crates.io)
これダメ?

654:デフォルトの名無しさん
19/03/16 23:16:00.89 nOJfJDgr.net
>>653
それはosの機能使ってるだけだから元々c使ってるならrust追加する意味がない。
よく読んでないけどservoのipc-channel見た感じ共有メモリ使ってないみたいだし、rust使うなら安全性優先してそうなるだろうね。
当然の帰結だけど潜在的に安全ではない方法で書かれたコードとrustは相性悪いよ。

655:651
19/03/16 23:46:04.85 JtPIcBaF.net
>>652
ありがとうございます。🙇
一応サイズやオフセットの情報は貰えそうなんですけどね......。

656:デフォルトの名無しさん
19/03/17 00:41:47.89 6uicpF0G.net
>>646
>>649
すみません
環境はWindowsを想定しています

657:デフォルトの名無しさん
19/03/17 02:05:57.96 V2wMrW3D.net
>>649
azulはWYSIWYGじゃないmorphicにcssもどき付けてオブジェクト指向じゃなくてPFにした感じ。要はReact。

658:デフォルトの名無しさん
19/03/17 21:51:20.57 WgP01y5n.net
危険なオペレーションをunsafeで包んで安全なインターフェースを提供できるのがrustの良さなのに
潜在的に安全性ではない方法とrustの相性が悪いとはどういうことなのか

659:デフォルトの名無しさん
19/03/17 22:10:39.66 zAy4KYDJ.net
RustってCと比べて何ができるんですか?

660:デフォルトの名無しさん
19/03/17 22:18:51.06 Ea7K77ki.net
おんなじことをめんどくさくかつ安全に書けます

661:デフォルトの名無しさん
19/03/17 23:19:13.37 qh1L90Cw.net
>>658
インターフェイスを安全にしたところで潜在的に危険な部分は残るからでは?

662:デフォルトの名無しさん
19/03/18 01:18:08.63 tKjFYZI6.net
>>655
Cで確保した構造体の配列に対してオフセット計算したいならこれとか使うけど。
URLリンク(doc.rust-lang.org)

663:デフォルトの名無しさん
19/03/18 21:36:29.28 lIXl0aHf.net
vlangのサイトが少し更新されて改めて日本でも多少話題になってるな
URLリンク(vlang.io)
これがすべて本当ならRustにとって大打撃だが

664:デフォルトの名無しさん
19/03/18 22:49:23.85 Y4S0f+Ze.net
読んだけど詐欺だろ
こんなのできるわけない
どっかで非現実的なこと要求してきたりして実用できないポンコツだろう
PatreonやPayPalでのDonateを募っている。
サイトにサンプルコード書いてある以外以外誰もコンパイルしたことなければコンパイルしたコード動いてるとこ見たこともない

665:デフォルトの名無しさん
19/03/18 23:26:49.06 fY+Pki5s.net
>>663
話題になっているならスレ立ててこのスレから独立したまえ

666:デフォルトの名無しさん
19/03/18 23:36:21.26 tKjFYZI6.net
比較するならもっとちゃんと比較してほしい。
載ってるサンプルソースじゃ単純過ぎて何で書いても大差ないし。
循環参照ありのコンテナ型とかCライブラリの安全なラッパーみたいな所有権とライフタイムがバリバリ出てくるやつが見てみたいが。

667:デフォルトの名無しさん
19/03/19 00:04:16.93 VbfaLqKg.net
>>663
リリースは夏じゃんか、出てからでいいよ
金を集めてトンズラするための宣伝な気もする

668:デフォルトの名無しさん
19/03/19 00:05:59.23 K8Uba71D.net
とりあえず否定から入ったり、
趣味で作ってるものに責任感求めたり
やな日本人

669:デフォルトの名無しさん
19/03/19 00:31:58.99 2dsGqa+T.net
存在しないものは盲信できない。
キミ新興宗教に気を付けなね。

670:デフォルトの名無しさん
19/03/19 00:40:24.41 W0BXyyTr.net
ヴェーパーウェアって最近聞かないな

671:デフォルトの名無しさん
19/03/19 01:32:04.04 MBP9S5Jj.net
出てから考えればいいよ
標準ライブラリが400KBとかネタっぽいけど

672:デフォルトの名無しさん
19/03/19 02:43:01.20 LC/ExoEH.net
Rustて30GBもくうの?

673:デフォルトの名無しさん
19/03/19 02:51:37.75 GOZW5Jz6.net
>>672
racer用にソースコードと、クロスコンパイル環境いっぱい落としたらそんくらいになりそうな気もするが、
最小限のターゲットで30Gは使わんと思う

674:デフォルトの名無しさん
19/03/19 18:59:54.95 CKbl92wN.net
slackに行けないコミュ障老人スレはここですか

675:655
19/03/20 12:34:03.25 0UtzG54T.net
>>662
ありがとうございます。
rustの勉強本格的に始めたいと思います。

676:デフォルトの名無しさん
19/03/20 15:30:29.81 XTJF9v6A.net
slackとかMozillaの息のかかった詐欺師の巣窟じゃん
むしろどこに行く理由があるのかわからん

677:デフォルトの名無しさん
19/03/20 15:38:59.89 diN5y4zc.net
Mozillaの陰謀説久しぶりに来たな

678:651
19/03/20 18:27:12.67 RBQe0qVY.net
>>663
コンパイルしたやつに型の情報とか残ってないとホットリロードってできないですよね?

679:デフォルトの名無しさん
19/03/20 21:29:05.45 iA5XXTHz.net
rustやるにしても日本人と絡むのはやめとけ。
マジでバカしかいないから。

680:デフォルトの名無しさん
19/03/20 22:54:36.70 v7AHgwpj.net
rust興味あるけど仕事で使ってる人いるの

681:デフォルトの名無しさん
19/03/20 23:24:21.44 sa2HusWJ.net
副業解禁で激変する若者世代とマネージャー世代のキャリア観
URLリンク(www.businessinsider.jp)
フリーランスの職種20個の仕事内容と平均年収をわかりやすく解説
URLリンク(www.proof0309.com)
時給1万円のバイトも。会社員向きのプチ副業を、“バイト芸人”が教える
URLリンク(headlines.yahoo.co.jp)
副業が「会社にバレる人」と「バレない人」の大差
URLリンク(headlines.yahoo.co.jp)
正社員の10%以上が副業 中には過重労働で体調崩す人も
URLリンク(headlines.yahoo.co.jp)
「副業で年2000万円稼ぐ男」に学ぶキャリア戦略
URLリンク(headlines.yahoo.co.jp)
加速する「副業社会」正社員の4割が「副業したい」 気になる収入はどれくらい?
URLリンク(headlines.yahoo.co.jp)
おすすめ副業22選を現役フリーランスが解説【在宅も可能】
URLリンク(www.proof0309.com)
会社を辞めてフリーランスで働きたいあなたが知っておくべき10のこと
URLリンク(www.businessinsider.jp)
フリーランスと会社員、働き方の根本的な差 広がる「雇用されない働き方」の課題とは何か
URLリンク(toyokeizai.net)
フリーランス人口は増える!今後は仕事もプロジェクト単位になる!?
URLリンク(freelance.mts-career.com)
どのくらい稼げるの?フリーランスエンジニアの単価・報酬・年収の話
URLリンク(findy-code.io)


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch