18/07/28 03:04:38.63 kAX50nYD.net
Mozilla発のRust言語のスレ
公式
URLリンク(www.rust-lang.org)
URLリンク(blog.rust-lang.org)
URLリンク(github.com)
Web上の実行環境
URLリンク(play.rust-lang.org)<)
2:デフォルトの名無しさん
18/07/28 03:06:57.97 kAX50nYD.net
どなたかが間違えてわっチョイ付きで立ててしまつたようなので立て直しました
3:デフォルトの名無しさん
18/07/28 03:12:10.16 E0E9ZkiG.net
間違いではないのでは?
4:デフォルトの名無しさん
18/07/28 03:29:41.68 kbWsXNPG.net
ワッチョイ必要なかたはこちらへ
プログラミング言語 Rust 4【ワッチョイ】
スレリンク(tech板)
5:デフォルトの名無しさん
18/07/28 07:47:21.36 1mWAZOm4.net
>>1おつ!
6:デフォルトの名無しさん
18/07/28 08:16:37.38 qFm1KF6C.net
URLリンク(bzc.yeatczh9a.xyz)
7:デフォルトの名無しさん
18/07/28 08:44:38.62 V2tTkPuk.net
あらし以外でワッチョイ嫌な人ってなんなの?
8:デフォルトの名無しさん
18/07/28 08:46:14.32 V2tTkPuk.net
どうんすんだよこのきちがい様スレ
9:デフォルトの名無しさん
18/07/28 14:44:35.53 x8l85j80.net
ワッチョイなしが正当
10:デフォルトの名無しさん
18/07/28 15:51:17.83 V2tTkPuk.net
>>9
いや、だからあらし以外でっていってるじゃん
11:デフォルトの名無しさん
18/07/28 16:09:20.82 CyezES1q.net
IDあるしワッチョイまったく要らないでしょ
どうせ自演するやつは環境変えられるわけだし、根本的に荒らしを警戒するほどの書き込みも無いし
ワッチョイの必要性を感じたこと無いし、ワッチョイがあってよかったと思ったこともない
12:デフォルトの名無しさん
18/07/28 16:39:07.64 .net
と言って必死にワッチョイなしへ持って行こうとする荒らしww
13:デフォルトの名無しさん
18/07/28 17:04:02.76 V2tTkPuk.net
必要性ないってのは分からなくもないんだが、
だからってアリのスレを使わない理由にはなってないんだけど。
14:デフォルトの名無しさん
18/07/28 18:33:07.39 1mWAZOm4.net
>>7
>>13
そう思うんならお前がそっちにカキコめばよし
それだけのこと
俺はこっちにカキコむ
15:デフォルトの名無しさん
18/07/28 20:55:26.74 V2tTkPuk.net
いや、その通りであっちのスレに書き込む人いなんいんだよ。
あんたが多数派なの。それは事実なんだけど、2ちゃんてそういう感じなんだね。
16:デフォルトの名無しさん
18/07/28 22:47:07.39 kAX50nYD.net
ワッチョイあると書き込み減るんですよ、事情は人それぞれでしょうけど
使わない理由になりませんか?
17:デフォルトの名無しさん
18/07/29 05:46:19.57 O+FUfp9p.net
ワッチョイは運営がサボるための口実。入れると荒らしレス以上に書き込みが減る
18:デフォルトの名無しさん
18/07/29 09:26:29.82 ikK7Yp3X.net
URLリンク(www.haiku-os.org)
haiku(BeOSの生残り)でもrust使えそう
19:デフォルトの名無しさん
18/07/29 10:37:18.73 nlCcbUxb.net
>>17
SN比がよくなる方が助かるよ
20:デフォルトの名無しさん
18/07/29 11:35:21.75 8zW/7UXo.net
2ちゃんてのはそういうとこなんだね。
まあこの板だけかもだけど。
21:デフォルトの名無しさん
18/07/29 12:32:45.78 OtuHAjKj.net
そういうってどういう?
22:デフォルトの名無しさん
18/07/29 20:38:07.60 cK9ZwAsI.net
プログラミングRust待ちきれん
23:デフォルトの名無しさん
18/08/01 23:39:44.08 zwXu3Cj8.net
>>22
なんで?
24:デフォルトの名無しさん
18/08/02 00:27:36.37 St12vf3Y.net
え?「待ちきれない」に理由が要るの?
25:デフォルトの名無しさん
18/08/02 06:16:03.62 .net
忍耐力の欠如
26:デフォルトの名無しさん
18/08/02 09:44:51.28 Cp7uV85Z.net
煩悩
27:デフォルトの名無しさん
18/08/02 23:22:25.27 xmgsCqay.net
いまさら書籍なんぞに何を期待するんだろう?
APIの最新情報は公式に揃ってるし
28:デフォルトの名無しさん
18/08/02 23:50:29.63 St12vf3Y.net
(日本語で)体系的に学びたいって事じゃないの?
APIリファレンス読んだだけじゃその言語特有のイディオムみたいなものは学べないし
29:デフォルトの名無しさん
18/08/02 23:54:49.84 xmgsCqay.net
そーなん
rustに限らず本なんてここ10年手に取ったことすらないわ
ネットが未発達な時代は本で読んでたけど…
30:デフォルトの名無しさん
18/08/03 00:09:47.61 D+QoVpKN.net
これは俺の持論だけど、
ネットは確かに情報量は多いけど断片的な情報しか手に入らないし
間違った情報(書いた本人が勘違いしてるだけの場合も含む)も多い
そんなのを自分で精査していく手間を考えると、
お金払ってでも本を買ったほうが効率的に有用な情報を手に入れられるよ
31:29
18/08/03 00:37:39.72 wfmHef6o.net
誤解を招く前にいちおう補足しとくと
>>29で本って言ってるのは「プログラミング言語の本」て意味
そんでもってネットで十分て言ってるのは
「ネットでAPIリファレンス見るだけで十分」て意味
>>28
人生で最初の言語は体系的に学んだほうがいいかもしれない(のかな?)
二個目以降は真顔でAPIリファレンス引くだけのことと感じてる
>>30
まぁそれはあるね
・ニワカなやつほど語りたがる
・ノイズのっけた二次情報を発信したがる
・意味も無く薄めた二次情報を発信したがる
・独自解釈で歪めた二次情報を発信したがる
という点では注意が必要だ
Qiitaみたいなもんはほんと公害
32:デフォルトの名無しさん
18/08/03 01:04:18.12 V1yM7DW8.net
Rust難しすぎ(>_<)
33:デフォルトの名無しさん
18/08/03 01:11:55.85 .net
将棋でも棋書読まずに定跡そっちのけだけど滅茶苦茶力戦になったら強い人っているよね
34:デフォルトの名無しさん
18/08/03 05:50:40.51 nvtpw5EJ.net
URLリンク(i.imgur.com)
35:デフォルトの名無しさん
18/08/03 06:57:12.89 hAGAtZEI.net
俺はプログラミング言語の本を買うのはやさしいC以来15年ぶりだ
あと一週間だね
36:デフォルトの名無しさん
18/08/03 07:05:07.98 2vUMzRdm.net
別にこれで良いと思うんだが。
URLリンク(y-yu.github.io)
37:デフォルトの名無しさん
18/08/03 08:12:09.24 uHDsXjtG.net
日本人は目的より手段を優先する人が多いからしょうがない
少:××をしたいから勉強する
多:勉強をしてから出来る事を探す
38:デフォルトの名無しさん
18/08/03 08:15:07.70 hAGAtZEI.net
はぁ?w
39:デフォルトの名無しさん
18/08/03 10:16:21.88 Nsq6cZsy.net
紙の本じゃないと脳に染みてこない体質
絵的なものなら電子媒体でも全然いいんだけど
40:デフォルトの名無しさん
18/08/03 10:17:22.47 V5Z0o1JX.net
>>34
Rust が last か・・・
41:デフォルトの名無しさん
18/08/03 10:25:12.82 V5Z0o1JX.net
>>37
怖くて外に出られないから武器を延々と収集するマニアみたいなものだな。
42:デフォルトの名無しさん
18/08/03 12:52:47.25 FF5Sl8Fa.net
>>39
印刷すれば?
43:デフォルトの名無しさん
18/08/03 17:42:49.62 uHDsXjtG.net
いやマジで「××を勉強したい」などと言う人に「それ勉強して何をしたいの?」と
質問しても明確な答えが返ってこないケースはかなり多い
日本の教育制度がそういう風潮だから当然っちゃ当然なんだが能率は良くないよね
44:デフォルトの名無しさん
18/08/03 18:12:08.37 X+nM2ZWl.net
>>43
ま、勉強する事そのものが目的の場合もあるとは思うけどな。
その場合はパズル解きたくなるのと同じようなものね。
遊びであり趣味であり好きでやってるだけ。
だから上達する必要がないんだけど何かに迫られてやってるわけじゃないので結果的にかなり上達する。
野球が好きで毎日野球ばっかりやってて結果的にプロ並みに上達してしまうみたいなのと同じ。
本人は主観的には遊んでただけで一切努力していない。
45:デフォルトの名無しさん
18/08/03 18:56:10.43 bX4VvlZZ.net
自分のささやかな経験を拡大解釈して知ったかぶるケースはかなり多いよね
海外では興味があっても使い道がないなら手を出すなと教育してるわけ?
46:デフォルトの名無しさん
18/08/03 19:00:52.51 103o/tlq.net
URLリンク(twitter.com)
まだC++で消耗してるの?
(deleted an unsolicited ad)
47:デフォルトの名無しさん
18/08/03 19:02:01.15 103o/tlq.net
なんか尻に変なurl付いたなんだこれ
48:デフォルトの名無しさん
18/08/03 19:14:01.04 uSoT4Tlg.net
『プログラミングRust』って、電子書籍版出ないの?
49:デフォルトの名無しさん
18/08/03 20:11:12.79 uHDsXjtG.net
>>44
趣味ならそれでも良いかもしれないけど実践的じゃないよね
日本は大規模なプロジェクトが苦手だしな。宇宙・航空なんか最たる例
>>45
日本は手段偏重。技術偏重とも言える。逆に目的や結果は軽視される
50:デフォルトの名無しさん
18/08/03 20:29:52.72 bX4VvlZZ.net
原発ダム高速鉄道高層ビルに大規模なプロジェクトは枚挙に暇ないがないけどなあ
本を買うって話でそんな脈絡ないことを言い出すあたり、遺伝子にも環境にも恵まれなかった失敗作なんでしょうなあ
51:デフォルトの名無しさん
18/08/03 21:24:36.07 2vUMzRdm.net
別に好きでやってるのはいいと思うよ。
実践することとの区別のついてないバカが実際にいて困るってだけ。
52:デフォルトの名無しさん
18/08/03 22:04:14.75 bX4VvlZZ.net
好きなの使わなきゃ楽しくないじゃん
なんでそれがバカなんだ?
53:デフォルトの名無しさん
18/08/03 22:31:56.63 wfmHef6o.net
日本人は大規模なの下手だと思うよ
鉄道やなんやらは一見大きく見えるが小規模理論でスケールできる例なんだろう
実用OSなどの大規模なソフトウェアは本当に苦手で
日本からは決して生まれて来ないと思う
(TRONが実用になってたらこの案は引っ込める)
あとオーケストラとかサッカーとか
動的に複雑に協調していくようなもんは全て下手だと思う
というより、欧米の連中がなぜかそこをうまくこなしてると思う
54:デフォルトの名無しさん
18/08/03 22:48:46.66 bX4VvlZZ.net
鉄道を持論で小規模扱いするんか
ソフトウエアの世界で弱いのは英語ができないからだよ
オーケストラは知らんがスポーツは個人競技だって欧米が強い、フィジカルの違いだから
プログラマなのになんでそんな無茶苦茶なこと言うんだよ
55:デフォルトの名無しさん
18/08/03 23:06:58.86 uHDsXjtG.net
原発は大事故を起こしたばかりじゃないか
自分が言う大規模というのは一人の人間が全体を把握できないという意味
日本は個人で全体を把握できる物は強いが、それが出来ない物は弱い
鉄道だって構成要素は使い回しが多く種類は以外と多くない
プログラム関係なら汎用OSなんかが該当するかな
この話を突き詰めていくとアメリカで言うシステムエンジニアリングに行き着くんだよね
日本人には理解されない事が多いけど
56:デフォルトの名無しさん
18/08/03 23:21:59.36 wfmHef6o.net
>>55
おおむね同意
日本人がすぐれてるのは職人芸の延長だと思う
コケシ作ったりするような、ああいうサイズ感は得意
個人の勤勉さがうまく働く例だと思う
「一人の人間が全体を把握できない」という表現もなるほどなぁと思う
俺はもっと単純に「複雑さがあるレベルに達すると」くらいに考えてた
57:デフォルトの名無しさん
18/08/03 23:53:56.85 uHDsXjtG.net
>>56
白状すると元ネタはこれ
マツドサイエンティスト・研究日誌 保存版 システムエンジニアリング(その4) 超人にならなくていい
URLリンク(anoda.web.fc2.com)
そっち系の本職の人の記事だが本来の意味のシステムエンジニアリングについて解説している
この業界ですらみんな判っているわけではなく打ち上げて間もない衛星を管理不十分でお釈迦にしたばかりだし
58:デフォルトの名無しさん
18/08/03 23:57:04.08 q7bL0dOc.net
語れば語るほど薄っぺらいが、たいていの人はこういう時期があったので、生暖かく見守っているのだよ
59:デフォルトの名無しさん
18/08/04 00:59:14.54 glXqNBcM.net
日本には誇り高きSIerがあるじゃないか
60:デフォルトの名無しさん
18/08/04 01:14:13.19 NrQVv38L.net
最近は義務教育や高校で近似解や数値計算も教えるのかな?
今のご時世コンピュータを使用してはいけないとかナンセンスだよね
61:デフォルトの名無しさん
18/08/04 01:27:23.50 o+LfwS0J.net
>>55
まあわからんでもないかな。ある種の細かい部分の差異を捨てられない感覚がある。
大規模な場合にそういう差異が生じることを前提に組まなきゃならんって場面で
うまく切り捨てられない印象。
62:デフォルトの名無しさん
18/08/04 02:27:06.85 u5hON73K.net
冷笑系になるのも一つの道ではある
63:デフォルトの名無しさん
18/08/04 05:31:01.87 iUNKVgUH.net
日本は島国だから、争わない遺伝子が多い
他国では戦争が多いから、逆らう人 : 従順な人 = 7 : 3
などだが、日本人だけは逆
日本では、体制を変えたり、乱を起こすような、乱世向きの人は嫌われる。
従順な治世向きの人が好まれる
日本人は、命令・洗脳・支配されると喜ぶ。
人の上に立ちたくない。
反発力がない。
だから同じ事を、飽きずにずっとやれる
64:デフォルトの名無しさん
18/08/04 07:05:22.47 xqrCbAao.net
ステロタイプの日本人像ばかりで飽きれる
持論ですらないし
持論じやないから反論に対して反論できず言い張るだけ
こんな奴らがプログラマやってるなんて信じられない
IT土方なんて揶揄されるのも仕方ないな
65:デフォルトの名無しさん
18/08/04 07:18:49.71 IH1ai2OK.net
ここはいつからポエムスレになったんだ
66:デフォルトの名無しさん
18/08/04 07:47:05.07 GiulTy4Z.net
>>57
(´・∀・`)ヘー
俺も白状すると指揮者の小澤さんって人が書いた本に(タイトル忘れた)
オーケストラとかやると日本人はからっきしダメ
欧米人はなぜか不思議と音楽になっていくが
日本人はなぜかうまく行かない不思議がある
みたいなのを昔読んでひっかかってたのが元ネタ
あの本では合奏そのものに対する歴史とか
個人レベルでの音に対する感覚とかを原因と考えてたような記憶
>>61
切捨てかぁ…それあるな!!
これは俺が個人的にみっけた法則なんだけど
日本人の動画は長い!つべでも三分くらいある!
要点以外の前後関係を大事にすると言えなくも無い
海外の事故動画なんて数秒、一分未満だけど
日本人が上げてるどうがは五分とかある印象
>>65
もうやめるから許して…
67:デフォルトの名無しさん
18/08/04 08:03:17.92 xqrCbAao.net
1.28.0
どうや?
68:デフォルトの名無しさん
18/08/04 14:33:25.41 ikkfUufi.net
自分自身大して能力が高いわけでもないし、日本的な方法でやっていたら中々成果物が出来上がらない
>>61
細部にこだわりたくなる気持ちはわかる。でもそれをやっていると全体が進まなくなるので
なるべく俯瞰的に、客観的に見るように心がけているな
>>66
もう一人挙げると川口淳一郎氏も優秀なシステムエンジニアだな。初代はやぶさの総指揮官をやった人
中古で良ければ著書がブックオフ等で100円位なので読んでみるといろいろ考えさせられると思う
>動画
手間を掛けたシーンから捨てろ!的な話を聞いた事がある。客観的に見て冗長になっていないか注意せよ
って事なんだが細部にこだわりすぎていると中々難しい
69:デフォルトの名無しさん
18/08/06 16:25:50.94 5mwR3+w9.net
プログラミングRust、どっかのイベントで早売りしてたのね
70:デフォルトの名無しさん
18/08/06 16:50:40.87 bv191ZQE.net
英語版パラパラと見てみたけどrustが日本語で錆だからとunicodeキャラクターの例に錆持ち出してみたり文字列の例で顔文字ಠ_ಠ使ってみたり日本フレンドリーな著者だなと思った。
71:デフォルトの名無しさん
18/08/06 17:07:03.01 DyY3A981.net
行ったけど売切れで買えなかったよorz
72:デフォルトの名無しさん
18/08/06 19:06:38.45 roUzhpPJ.net
本に書いてあることは時代遅れって聞いたことがある。大体あっている気はする
73:デフォルトの名無しさん
18/08/06 19:22:30.38 13KQrLiC.net
本を買うのは最新が知りたいんじゃなくて基礎が知りたいからでしょ
74:デフォルトの名無しさん
18/08/06 19:36:50.11 ykSda89u.net
The Rust Programming Languageの第二版はだいぶわかりやすいドキュメントになってるな。
rust使わなくてc++だけの人でも読む価値あるわ。
75:デフォルトの名無しさん
18/08/06 23:38:26.71 B9HLW8wb.net
安西先生。自動テストがしたいです。
>>73
2018でその基礎が変わるんだよ。
NLLとかモジュールとかマクロとかraw identとか。
あとedition導入されると新しい機能は
その都度追加される様になるから紙じゃ追いつけなくなる。
>>74
rustのdoc全部いちいち細かいところ間違えてて
ミスリードしまくりだったのが異常だったんだよ。
今マシになってきてる。
76:デフォルトの名無しさん
18/08/07 02:28:57.20 DlxWb81t.net
たぷたぷたぷ
77:デフォルトの名無しさん
18/08/07 05:07:45.25 RkwEL9us.net
rust2018なる風呂敷についてよく知らんけど、基礎を覆すほどのもんじゃないと思うけど
アップデートあったら差分だけ把握すれはいいでしょ
78:デフォルトの名無しさん
18/08/07 08:28:31.18 tZM8AY+e.net
全部いちいち細かいところ間違えるはどう考えても不正確な物言い
79:デフォルトの名無しさん
18/08/07 10:46:53.51 AJOeK/rw.net
筋が悪い
才能が無い
80:デフォルトの名無しさん
18/08/07 12:38:23.28 r/NXRNz/.net
筋子がうまい
81:デフォルトの名無しさん
18/08/07 18:50:11.11 G0aMboZX.net
>>77
Python2と3くらい変わるから別物だよ
82:デフォルトの名無しさん
18/08/07 21:26:14.93 RjSgka+t.net
ほう具体的には?
どこで互換性捨ててるの?
83:デフォルトの名無しさん
18/08/07 21:30:54.77 rP7SP5HK.net
>>82
単純にキーワード増えるから過去のコードが動かなくなる
今まで Trait と書いていたところを dyn Trait と書かないとコンパイルエラーになる
84:デフォルトの名無しさん
18/08/07 21:31:59.08 rP7SP5HK.net
あ、増えるキーワードはasync awaitね
85:デフォルトの名無しさん
18/08/07 21:35:11.48 ThdtCxHP.net
>>83がPython2と3がどれ程違うかを知らないってことは分かった
86:デフォルトの名無しさん
18/08/07 21:37:13.00 rP7SP5HK.net
過去のコードが動かなくなる以上の情報いる?
87:デフォルトの名無しさん
18/08/07 21:41:00.27 oCoNsgzD.net
いやそれくらいgrepでよゆうっすよ100万行ファイル置換しましょうオッケー大丈夫!
88:デフォルトの名無しさん
18/08/07 21:42:09.66 RjSgka+t.net
dyn traitはオプションなんですけども
既に追加されているけど元気にコンパイルてるよ
async/awaitについてはどんな理屈で動かなくなるのか想像すらできない
89:デフォルトの名無しさん
18/08/07 21:49:10.18 ViXC3Ag5.net
キーワード増えるってあらかじめ予約してた奴でしょ?
90:デフォルトの名無しさん
18/08/07 22:20:42.55 ThdtCxHP.net
>>86
勿論「いる」
同じ「過去のコードが動かなくなる」でも程度次第で修正の手間が全然違う
91:デフォルトの名無しさん
18/08/07 22:58:25.94 y92zpBFb.net
>>89
新たに追加されるし削除もされる。
92:デフォルトの名無しさん
18/08/07 23:48:30.86 izlk0iCx.net
pythonの場合2to3でも動かないやつあったけどcargo fixで直らないやつあるん?
動かなくなるコードよりNLLで動くようになる放置コードの方が多そう
93:デフォルトの名無しさん
18/08/08 00:24:45.81 jOuNgeMk.net
異なるeditionのcrateを混ぜて使えるんで、簡単な所からcargo fixしていけばいいんでないの?
94:デフォルトの名無しさん
18/08/08 05:51:27.16 UHMyM0+9.net
過去のコードが動くことは保証されてるぞ
ちゃんとeditionの説明読んで
95:デフォルトの名無しさん
18/08/08 06:12:04.37 OZVc1XvO.net
うーんめんどくさいから教えてよ
96:デフォルトの名無しさん
18/08/08 12:05:29.76 zV68lIJl.net
何もしなければそのまま動く
Cargo.toml に edition="2018" と書くと新しい構文やキーワードが有効になる
crateごとにeditionは混在可能
なので破壊的変更はない
97:デフォルトの名無しさん
18/08/08 18:32:02.00 H6r2vrRw.net
>>94
保証されているとドキュメントに書いてある
(コンパイラやcargoがそう作られてるとは言っていない)
98:デフォルトの名無しさん
18/08/08 18:51:12.54 bmAOXaLr.net
自分では試してないならそう言えばいいのに。
99:デフォルトの名無しさん
18/08/08 19:28:54.27 yINr0HHP.net
えっ!? 試せるの?
まだ予告されただけなんじゃ…
100:デフォルトの名無しさん
18/08/08 21:07:11.22 X66JxLQO.net
今だ!100ゲットォォォォ!!
 ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ (´´
∧∧ ) (´⌒(´
⊂(゚Д゚⊂⌒`つ≡≡≡(´⌒;;;≡≡≡
 ̄ ̄ (´⌒(´⌒;;
ズザーーーーーッ
101:デフォルトの名無しさん
18/08/08 21:22:34.58 PxJetEfI.net
>>96
edition導入後は上位互換+edition違いのcrateがリンク可能っていう
話だから既存のソースコードで新しい機能使うならソースコードレベルの変更が必要だし、
キーワードの変更も決まってる(try追加とsizeof削除以外はもう反映されてる)から破壊的変更はあるよ。
それに下位を気にせず新しい機能を導入するためのeditionだし。
>>99
ただの機能セットのスナップショットだから以前からnightlyで色々使えるよ。
C++2aとかes2018みたいにn年ごとに新しい仕様出ますってわけじゃなくて新しいjavaみたいに出来た機能から追加されるんだよ。
102:デフォルトの名無しさん
18/08/08 22:44:40.38 tqYMmDjs.net
>>101
> 新しいjavaみたいに出来た機能から追加され
詳しい解説サンクス
103:デフォルトの名無しさん
18/08/09 12:07:09.57 nE4uwAk1.net
>>101
edition=2018という指定を加えるとコンパイルが通らなくなることはあっても
何もしなければコンパイルは通るんだから破壊的変更ではないよ
Cargo.tomlを含む、コードをいじらなければ以前から動いていた物はコンパイルは通る
104:デフォルトの名無しさん
18/08/10 17:15:25.59 Jcmnfa1Y.net
プログラミングrust届いた
105:デフォルトの名無しさん
18/08/10 20:26:07.90 wac59e6o.net
かおうか迷ってる
第二版がすぐでるんならそれまでまつ
106:デフォルトの名無しさん
18/08/10 20:45:00.41 KEkESvlP.net
約5千円か。俺としてはちょっと高く感る値段だな。
3千円ぐらいだったら迷わず買ってるかも知れん。
107:デフォルトの名無しさん
18/08/10 21:05:34.10 .net
電子書籍で千円までだな
108:デフォルトの名無しさん
18/08/10 21:08:57.73 v63CZr9j.net
そこでSafari Booksですよ
109:デフォルトの名無しさん
18/08/10 21:16:19.00 es3KMeBj.net
今みんな本買わないから中古価格が下がるペース遅くて、充分に読んでからでもそこそこの値段で売れてありがたい
通して読むにはやっぱり本がいい
110:デフォルトの名無しさん
18/08/11 00:38:27.16 0D4H1H/k.net
いまさら本に何を期待するのか本当に不思議
じゃね禁止
111:デフォルトの名無しさん
18/08/11 00:52:28.14 .net
じゃね is 何?
112:デフォルトの名無しさん
18/08/11 01:18:19.71 biCiNd7Q.net
とにかく電子書籍にして欲しい
分厚い本は邪魔だし、電車の中で読めない
113:デフォルトの名無しさん
18/08/11 01:37:07.84 wtNlwqlz.net
ディスプレイで読むと疲れる
電子書籍はページの行き来に不便
したがって本を読む
114:デフォルトの名無しさん
18/08/11 09:40:49.64 5KDQ4NhY.net
電子書籍は斜め読みザッと見できないから嫌い
115:デフォルトの名無しさん
18/08/11 10:55:46.58 .net
電子書籍は単語検索できるから好き
紙だとどの辺にあったか思い出してその範囲を1ページ1ページ探さないといけないから糞
116:デフォルトの名無しさん
18/08/11 11:30:07.23 nAROCX9/.net
>>115
紙でも索引がついてれば大抵どうにかなる
それより、紙は抽象的なことをパラパラめくりで検索できるから好き
電子書籍だと「あの図のあるページが見たい」とか思うとまともな検索手段がないから糞
忘れっぽい俺なんかは「あれだよ、あれ」って思いながら探すから紙じゃないと無理
ま、人それぞれだわな
117:デフォルトの名無しさん
18/08/11 11:53:07.64 AWnFhpjF.net
しおりが中途半端なんだよな
118:デフォルトの名無しさん
18/08/11 16:19:22.53 JzIBa0Ak.net
>>116
そういう問題解決こそSE/PGの腕の見せ所では?
119:デフォルトの名無しさん
18/08/11 17:14:16.24 wtNlwqlz.net
んなあほなw
120:デフォルトの名無しさん
18/08/14 00:14:17.48 P4UIxLbl.net
マクロ使いすぎの人多すぎでは
121:デフォルトの名無しさん
18/08/14 02:55:13.30 ZM6hbFw/.net
>>120
Scalaの悪い所をまねてるようだ
変に技巧派が目立って、人を遠ざける
122:デフォルトの名無しさん
18/08/14 03:36:15.88 6NKcX7Ow.net
5千円ぐらいの本は、分厚すぎる!
3千円ぐらいの、もっと薄い本を出せ!
123:デフォルトの名無しさん
18/08/14 09:49:30.54 .net
Packtのように頻繁に電子書籍セールやって$10とかで買えて、且つ糞本じゃなければいい
124:デフォルトの名無しさん
18/08/16 19:57:15.86 qcHYUDTK.net
オライリーの買ったけど、入門本としては有志翻訳のThe Programming ~のが良くない?
125:デフォルトの名無しさん
18/08/16 21:13:29.61 xERoD9sc.net
>>124
具体的にはどの辺が?
126:デフォルトの名無しさん
18/08/17 00:08:17.87 /bpWb8fJ.net
rust書いてるとhaxe思い出す。
127:デフォルトの名無しさん
18/08/17 07:37:15.66 eJodi2Ev.net
みんなどういうモチベでrustやってるのん
128:デフォルトの名無しさん
18/08/17 08:25:34.03 zzEImb7F.net
Rustをマスターすれば成仏できる
129:デフォルトの名無しさん
18/08/17 09:11:29.07 7hC1UKUq.net
Rustをマスターすればモテモテに
130:デフォルトの名無しさん
18/08/17 09:19:07.42 vhwq6spf.net
Rustをマスターすれば童貞懐妊して、生まれた幼女とイチャイチャできるよ
131:デフォルトの名無しさん
18/08/17 10:09:36.32 gFBQ2D9n.net
オライリーのRust本、いつのまにかPDF版も発売してるやん
少し安い
132:デフォルトの名無しさん
18/08/18 03:40:02.29 O/56gld0.net
なんでカニなの?
URLリンク(i.imgur.com)
URLリンク(i.imgur.com)
133:デフォルトの名無しさん
18/08/18 08:50:53.23 S1Er/dIV.net
>>132
コンピュータ研究者のカニチャーハン氏に敬意を表する為
134:デフォルトの名無しさん
18/08/18 10:30:46.36 2sc6SUFd.net
カニチャーハンってカーニハンとなんとなく似てるな。
きっとカニチャーハン&リッチーって書いてあっても気づかないだろうな。
135:デフォルトの名無しさん
18/08/19 11:05:26.71 2zvtFV6n.net
5000円は高い。その価値あるの?
136:デフォルトの名無しさん
18/08/19 17:09:31.22 PCz528s8.net
価値を知らないのに高いと評するのか
137:デフォルトの名無しさん
18/08/19 17:21:28.94 Bw0LnJX7.net
知らないので顧客が価値を認めるような観点を提示せよ
138:デフォルトの名無しさん
18/08/20 00:35:35.97 JBCtYT+G.net
馬鹿は客じゃないから去りたまえ
139:デフォルトの名無しさん
18/08/20 00:54:57.67 PA8pISQK.net
>>137
英語版の話だけどamazonのレビューでけっこう高評価ついてるよ
少なくともその人たちは買って良かったって判断したんじゃない?
140:デフォルトの名無しさん
18/08/20 00:56:58.28 LSZVP4tA.net
カニチャーハンのことかと思ってた…
141:デフォルトの名無しさん
18/08/20 01:37:22.80 GHO1XUgy.net
紙の本は5184円、電子書籍は4147円。
URLリンク(www.oreilly.co.jp)
142:デフォルトの名無しさん
18/08/20 12:09:21.88 1nsldRzy.net
URLリンク(doc.rust-jp.rs)
これ酷くね?
Rustならではのどんなやり方で問題を解決するのかと思えば
こんなのって
143:デフォルトの名無しさん
18/08/20 14:01:34.15 ZN9V+nnq.net
>>125
後者のが順を追って説明してくれてる…気がする
習熟者から見るとそうでもない?
144:デフォルトの名無しさん
18/08/20 14:03:35.45 ZN9V+nnq.net
あ、あとタイトル間違えてたね
>>132の比較のつもりだった
145:デフォルトの名無しさん
18/08/20 20:09:21.31 oAXTEFOF.net
>>142
そんなのって?どう酷いの?
146:デフォルトの名無しさん
18/08/20 21:31:16.82 1nsldRzy.net
いやだって、なんでわざわざこの題材っていう
リソーススタベーションに対する
Rustならではのスマートな解答があるのかと思えば、ナニコレ
ならなんでこの題材にしたのか不明
147:デフォルトの名無しさん
18/08/20 21:38:09.93 rDwzmoqy.net
Rustにスマートさなんてないただある種の間違いが少なくなると主張している
なにをやるにもつっかかる
Rustだけに
148:デフォルトの名無しさん
18/08/20 21:41:58.64 1nsldRzy.net
Rustは並列性がどうとか言ってなかったっけ
それで最初の題材でコレもってくるセンスが謎
149:デフォルトの名無しさん
18/08/20 22:08:57.88 JBCtYT+G.net
何が謎か分からん
150:デフォルトの名無しさん
18/08/20 22:23:58.46 7YukIB6U.net
>>146
ここは書いた本人的にもいまいちだったと思っていたらしく、本家では結構前に削除されてる。
まあチュートリアルならせめてmutexではなくchannelだとは思う。
151:デフォルトの名無しさん
18/08/20 22:34:49.09 JBCtYT+G.net
うーむそうかな
並列処理ではmutexはかなり一般的で本質的だと思うけど
ロックを得ないことに安全に並列処理はできないのだし
152:デフォルトの名無しさん
18/08/20 22:35:51.84 sOQT11b6.net
結局なんでカニなん?
153:デフォルトの名無しさん
18/08/20 22:39:02.32 rDwzmoqy.net
mutexがスコープ抜けた時点で勝手に解放されるのが恰好いい的な?
154:デフォルトの名無しさん
18/08/20 22:47:50.39 7YukIB6U.net
>>151
一般的で本質的ってのはその通りだと思うけど、
チュートリアルで一番最初に導入すべきかというと、そうでもないのでは?って感じかな。
155:デフォルトの名無しさん
18/08/20 22:49:01.92 wDDgfGz+.net
カニチャーハン氏はRustに全然関係してないからね
156:デフォルトの名無しさん
18/08/20 23:03:39.98 GHO1XUgy.net
Kernicharhan & Ritchie
157:デフォルトの名無しさん
18/08/20 23:17:29.99 02kdtA3g.net
>>152
おまいら(rustacean)の先祖がミジンコ、もとい甲殻類(crustacean)だから
158:デフォルトの名無しさん
18/08/21 07:16:48.68 eRQ3K4Ir.net
rustらしさといえば&と&mutの仕組みがそのままスレッド間でも使えるところとか
RAIIとかmoveも良いけどc++にもあるので
159:デフォルトの名無しさん
18/08/21 13:49:43.65 gNkN0CkF.net
rustらしく書いたコードって、&と&mutが大量に出てきて、なんか見た目ごちゃついてない?
move多用で書きたくなる
160:デフォルトの名無しさん
18/08/21 17:52:41.07 lClDMlnu.net
clone多用しないならそれで良い
161:デフォルトの名無しさん
18/08/21 19:13:44.58 9N93jiAN.net
&やmutはまだいいけどライフタイムとジェネリクスが入り乱れると頭抱える
自分じゃ書けないからライブラリのコード読むときだけど
162:デフォルトの名無しさん
18/08/21 21:48:12.99 b9rnTQC8.net
impl traitでちょっと楽になったけど、書きながら試行錯誤しているときに関数にして切り出すのが面倒
ちゃんと設計しろよって言われるかもしれんが、rustの仕様とライブラリ全部きっちり頭に入れるのも非現実的だと思ってる
163:デフォルトの名無しさん
18/08/22 04:11:36.67 iCx1kAM9.net
絶対に必要、ってとこ以外でmoveするとclippyに怒られてくやしい
164:デフォルトの名無しさん
18/08/22 19:18:34.56 RyuF5Err.net
>>150
バグってるからだぞ。
他人の書いたマクロが拷問だよな。
165:164
18/08/22 19:53:16.67 RyuF5Err.net
わるい。バグは修正したんだった。削除した理由はこっち。
URLリンク(github.com)
> まあチュートリアルならせめてmutexではなくchannelだとは思う。
これも冒頭二段落に書いてある。
166:デフォルトの名無しさん
18/08/23 01:21:36.71 vCVCF+WZ.net
存在型と量化子安定してたのか。
( ゚∀゚)o彡゚G・A・T!!
( ゚∀゚)o彡゚G・A・T!!
( ゚∀゚)o彡゚G・A・T!!
167:デフォルトの名無しさん
18/08/23 12:07:00.98 zWfNRiLe.net
Vecのswap_remove()って賢いやり方だな
どこ発祥の文化? C++あたり?
168:デフォルトの名無しさん
18/08/23 23:27:32.87 EN+b8ws+.net
交換を一回しかしない配列の回転の応用だからJon BentleyのProgramming Pearlsだな。
169:デフォルトの名無しさん
18/08/24 00:58:26.59 OIfpv6Qg.net
>>168
へー、ピアソンから出てた『珠玉のプログラミング』か
読んでみたい
170:デフォルトの名無しさん
18/08/24 12:20:35.42 ZVlysGry.net
>>169
つまらんよ
171:デフォルトの名無しさん
18/08/25 11:49:09.72 UzOZyqtt.net
古典ですな。
今読んでもそんな悪くない本だと思う。
172:デフォルトの名無しさん
18/08/26 17:59:52.65 BVSpPirf.net
rustfmt-nightlyがビルドできないお(´・ω・`)
173:デフォルトの名無しさん
18/08/26 23:46:50.01 8nEJLfEg.net
古めのnightlyじゃないと無理
174:デフォルトの名無しさん
18/08/27 17:35:35.62 ddJdp269.net
PR出ててもうマージされてた(`・ω・´)
175:デフォルトの名無しさん
18/09/01 01:39:37.63 qa+GqmPA.net
VSCodeでRust Tool Missingと出てたからクリックしたらエラーたくさん出た。
ググったらNightlyのコンパイラじゃないとRacer(レイサーってのがRust Toolのこと?)は入れられないと
あったから。とりあえずRust Nightlyを入れた。
その後、また同じように入れようとしてみる。
cargo install racer && cargo install rustfmt && cargo install rustsym Updating registry `URLリンク(github.com)
ダメだった!エラーが5個くらい出る。
どうすれば良いの?
176:デフォルトの名無しさん
18/09/01 11:07:28.41 ZPWIV19B.net
>>175
IntelliJを入れる
177:デフォルトの名無しさん
18/09/01 22:51:12.01 6Yw3sf7c.net
>>175
rust関係ないからcodeスレへ。アドオン何使ってるかもちゃんと書けよ。
178:デフォルトの名無しさん
18/09/02 05:13:21.00 wH0i7ysW.net
VSCodeって言っちゃったのがまずかった
VSCodeのターミナル(WSLのzsh)で出たエラーだから、MacでもLinuxでも、このエラー起こると思う!
最近Rustインストールした人で、同じエラー出ている人いないかな?
GithubのRacerに書かれてある方法で試してみる・・
179:デフォルトの名無しさん
18/09/02 08:10:44.09 KdakvMsf.net
エラーを書かずに同じエラーとわ
180:デフォルトの名無しさん
18/09/03 05:33:11.38 17orVuxK.net
これはすごい
URLリンク(github.com)
181:デフォルトの名無しさん
18/09/03 23:57:51.98 HH7kYsUG.net
Rustで使いやすいGUIツールキットってどんなのがあるんだろうな
マルチプラットフォームかつネイティブでそこそこのパフォーマンスを得られるのが良い
wxWidgetsは有名だけどwxRustは3年放置されている。使えるのかな
182:デフォルトの名無しさん
18/09/04 00:37:25.68 JHljRMUU.net
良い塩梅に発酵したときが食べ頃
183:デフォルトの名無しさん
18/09/04 02:01:24.43 ph6Gu5BU.net
>>181
gtk-rsは?
前にちょっと触ってみただけだから実用レベルかは知らんが
今でも積極的にコミットされてるから期待はできそう
純Rust製ならPistonが作ってるconrodかな?winitとgliumをベースにしてるっぽい?
こっちは使ったことすら無いんで全く分からん
純Rust製に惹かれたが、なかなか時間が作れなくて放置中…
因みにwinitはイベント管理用でgliumはOpenGLのクレートね
184:デフォルトの名無しさん
18/09/04 06:57:27.16 9XviyzUs.net
>>183
ggr-ksに見えた
185:デフォルトの名無しさん
18/09/04 09:10:47.26 hvcJ5TzR.net
>>178
GithubのRacerに書いてあるとおりにやったらいけた
Rust Nightlyを入れただけではダメで
rustup toolchain add nightly
cargo +nightly install racer
でいけた。Multirustという機能があるからNightlyを使いたければ毎回指定するということを初めて知った
186:デフォルトの名無しさん
18/09/04 10:31:00.23 gEGTZvcA.net
>>184
+1
187:デフォルトの名無しさん
18/09/04 21:01:57.03 T2pQ9bem.net
>>184
ワロタ
188:デフォルトの名無しさん
18/09/05 00:23:07.06 OjlFeqT/.net
rlsじゃなくてracer使うのか
189:デフォルトの名無しさん
18/09/05 03:15:12.05 Ozj2BDZl.net
RLSだけでいいの?それならRLSでいきたい
でもNightlyをデフォルトに設定したらRLSがスタートできなかった
190:デフォルトの名無しさん
18/09/05 03:15:35.14 Ozj2BDZl.net
Rusty Codeっていうのにした
191:181
18/09/05 07:39:35.54 6RBOwdE6.net
>>183
ありがとう。GTK+が無難ですかね。gtk-rsを試してみます
純Rustは確かに惹かれますがこれってネイティブなのだろうか・・・
192:デフォルトの名無しさん
18/09/05 07:46:50.58 dKL5q8IE.net
Intellij Rustの作者が作ってるlibsyntax2がLSPを提供するようになってる
URLリンク(github.com)
racerの代わりになる日が来るだろうか?
IDE機能の提供はコンパイラでやるのが一番いいんだろうけど
193:デフォルトの名無しさん
18/09/05 07:48:44.63 dKL5q8IE.net
>>183
>>191
gtkってマルチプラットフォームと言えるの?
Linuxでしかまともに動かないイメージ
まあWindowsでは最低限は動くのかもしれんけどmacOSではダメダメでしょう
194:181
18/09/05 08:06:31.33 6RBOwdE6.net
>>193
そうなの?
まぁ今回の用途はWindowsとLinux/*BSDで動けばよし
たしかGIMPはGTKだったはず
195:デフォルトの名無しさん
18/09/05 08:14:42.53 bMCIX8s0.net
え、エレクトロン
196:デフォルトの名無しさん
18/09/05 09:01:55.04 H9u1sp8h.net
そもそもgimpを作るためにgtk作ったわけで…
197:デフォルトの名無しさん
18/09/05 11:38:43.13 /V9AsOwQ.net
GTKは糞
198:デフォルトの名無しさん
18/09/05 16:19:07.91 dKL5q8IE.net
マイナー言語のGUIにはGtkバインディングぐらいしかないのが現実
199:181
18/09/05 18:50:23.45 6RBOwdE6.net
GTKのバインディングがあるならTkのバインディングも・・・と思ったら見あたらない?
Tkも一応ネイティブだったはず。機能面はぱっとしないが今回の用途には足りるかも
>>195
その手のWeb技術ベースのってアプリケーション側からウィジェットを更新する術に乏しい
印象があるけどそうでもないのかな
200:デフォルトの名無しさん
18/09/05 20:07:45.33 L3ODpJW1.net
ウィジェットってこの文脈だとどいう意味?
201:デフォルトの名無しさん
18/09/05 21:04:58.50 NRWr9JTz.net
OS(フレームワーク)ネイティブのGUIコンポーネントって意味だと思う。
というか、こっちの意味での利用のほうがコンピュータ的には一般的だったかと。
202:デフォルトの名無しさん
18/09/05 22:08:13.79 s4eOolF2.net
Windows向けRustのリンカがlldになるのはいつかな
203:デフォルトの名無しさん
18/09/06 00:48:46.68 az09claK.net
GIMPはMotif・・・。うん。わかってるよ。
>>191
msvcツールチェーンでビルド面倒くさいから頑張れ。
204:デフォルトの名無しさん
18/09/08 20:22:07.67 2/RJPWQT.net
何かやるのに言語からつくっちゃえって、どうなんだろ。
205:デフォルトの名無しさん
18/09/08 21:39:35.66 r9+/L/Cg.net
なにかやるわけでもないのに言語だけ作るほうが珍しい気もするぞ。
で、どの言語のこと言ってるの?
206:デフォルトの名無しさん
18/09/08 21:50:01.66 obhERXW7.net
>>205
Rust
207:デフォルトの名無しさん
18/09/08 22:35:38.88 6Sgjlvo2.net
Cの事じゃないのか。
208:デフォルトの名無しさん
18/09/09 17:19:35.86 J1tV93ug.net
GUIといえばlibuiはどうだろう?
というかRustでGUIって面倒くさそう
209:デフォルトの名無しさん
18/09/09 18:05:38.77 4xLE2iMW.net
面倒臭いと思うよ
GUIだと大抵はイベントハンドラ多用する場合が多いから
Rustだと多分クロージャを渡すことになって
キャプチャする変数の所有権が絡んできて面倒なことになる
可能な限りデータを全て不変にして参照カウンタ使うのが一番楽そう
誰かもっと良い方法知ってたら教えて
210:デフォルトの名無しさん
18/09/09 18:56:16.25 UvF45WNM.net
キャプチャ必要かな。しなけりゃいいんじゃね?
RxやReduxみたいなのならRustでもできるような気がするが。
211:デフォルトの名無しさん
18/09/09 20:18:26.49 0/8ezFqB.net
wasm来たらhtmlでいいじゃん
212:デフォルトの名無しさん
18/09/09 23:57:56.69 SgQ7ecDz.net
>>209
相互/循環参照があり得るから参照カウンタじゃ無理だよ。
メモリ管理面の煩わしさを考慮するならjavaみたい
にイベントハンドラをtraitにしてユーザーデータ自身に
実装させればいいけど、今ではこのアプローチ自体が煩わしいと思う。
あと参照カウンタの場合一度に多すぎる解放処理が発生して
UIがもたつく可能性があるね。
トレーシングGCなら必要ないなら遅らせるからこういう事は起きない。
rustでトレーシングGC使う場合rootingはプログラマが行う必要があるから
自前でメモリ管理するのと同じだし、それ以外にGUIのシーングラフ自体にトレーシングGCがいるね。
ffiで既存のgui利用してrustからはデータ渡すだけにするのが簡単だと思う。
213:デフォルトの名無しさん
18/09/10 14:20:14.67 WMxfZQty.net
yewとrelmが気になる
214:デフォルトの名無しさん
18/09/10 19:39:57.20 3ZIEHwy7.net
ちなみにWEB開発のサーバーサイドでRustって現実味あるの?
Goがたまに使われてるから、Rustにもチャンスあるのかなと思ったけど
215:デフォルトの名無しさん
18/09/10 20:02:06.79 WGo2tHWR.net
君が作ればチャンスは無限大
216:デフォルトの名無しさん
18/09/10 20:44:31.47 /rk0ECVs.net
Goは手軽さと性能のバランスが丁度いいから
217:デフォルトの名無しさん
18/09/10 21:33:40.66 nnRzz3th.net
現実味の程度による
218:デフォルトの名無しさん
18/09/10 21:58:39.88 ghTi64DR.net
予算と工数的に競技志向のFPSのバトルサーバならRustも現実的だけどマッチングサーバなら現実的じゃないとかありそうよね
219:デフォルトの名無しさん
18/09/10 22:17:46.90 Jc2GxaH/.net
現実になるかどうかは言語じゃなくでプログラマ次第でしょ
俺は現実に使ってるけど
220:デフォルトの名無しさん
18/09/10 23:11:54.52 Vv+pRNC5.net
それ言い出したらアセンブラでもcでもプログラマ次第だわな。
221:デフォルトの名無しさん
18/09/10 23:16:12.14 ieMEhN8t.net
言語の決定権が
222:デフォルトの名無しさん
18/09/11 00:22:51.64 6iElNWnR.net
適材適所で言語を選べるか?って事でしょ
223:デフォルトの名無しさん
18/09/11 00:59:46.27 S/u0i0hH.net
Rubyでいう
v = [1, 2, 3].map(){|e| e.to_f }
をrustで書きたくて、以下のように書いたんだけど、
let v = [1, 2, 3].iter().map(|x| *x as f32).collect();
vの型が推論できなくてコンパイルが通らない。助けて!
224:デフォルトの名無しさん
18/09/11 08:51:05.30 EMXKp1xw.net
let v = [1, 2, 3].iter().map(|x| *x as f32).collect::<Vec<_>>();
とか
let v:Vec<_> = [1, 2, 3].iter().map(|x| *x as f32).collect();
collectをジェネリックにする代わりに型推論できなくするのは良いアイデアだったのか
225:デフォルトの名無しさん
18/09/11 22:15:57.71 3LhuO07g.net
rust的にはturbofish使うもんだけど型注釈をよく見かけるね。
226:デフォルトの名無しさん
18/09/11 22:25:10.48 gyUsDA80.net
>>224
参考になりました!
これどちらも vec<f32> になるんですよね?
ヒープ確保じゃなくてスタックの配列への変換は無理ですかね?
227:デフォルトの名無しさん
18/09/11 23:40:31.29 gUgwDOju.net
>>226
URLリンク(stackoverflow.com)
Cでも駄目で、C++ならオッケーだったけな。Rustはできなかった。
もしできるようになっても、その関数の下にどれくらいコールスタックが積まれているのか、
この関数の上にどれくらい呼び出しが控えているかを熟慮しないとすぐstack overflow起こすんで、よっぽどクリティカルでなければやらんほうがええんじゃないか
228:デフォルトの名無しさん
18/09/12 00:27:32.15 NOD5QCpZ.net
>>227
逆やー。
Cではオプション扱い、C++では不可
229:デフォルトの名無しさん
18/09/12 01:54:03.48 +PSin/UV.net
>>228
追いかけきれてるわけではないけど、
allocaについても言及されているrfc#1909の第一段階が、8/19にマージされてるっぽい。
近い将来にallocaが完全サポートされる感じなんですかねぇ?
230:226
18/09/12 03:38:36.44 SKJk4QVS.net
んーん、なるほど。
Rustには現状、スタックを伸長するalloca相当がないから件の場合、固定配列を求める事は出来ないってことですかね。
231:デフォルトの名無しさん
18/09/12 19:11:41.82 VZx7VRPz.net
cloneていつ付けてる?
不用意にcloneするのを避けたくて最小限にしていたんだけどテスト書くとき辛い
derefでcloneされるのはcopyついているやつだけ?
232:デフォルトの名無しさん
18/09/12 20:48:13.21 SMBzO3VC.net
テストの時辛いってのは
↓のアトリビュートじゃ解決できないの?
#[cfg_attr(test, derive(Clone))]
233:デフォルトの名無しさん
18/09/12 20:56:43.30 VZx7VRPz.net
omg
それでいきますわ!ありがとう!
234:デフォルトの名無しさん
18/09/12 22:49:53.02 b/qs2bwP.net
>>224
> 型推論できなくする
できるよ。
rust by exampleを例にすると
URLリンク(play.rust-lang.org)
上記の`i32::from_str`や`<i32 as std::str::FromStr>::from_str`のi32を見て推論してる。
ただのstd::str::FromStrでは推論できないってエラーになる。
235:デフォルトの名無しさん
18/09/13 18:02:19.58 k7xTaVQM.net
低コストで探索できるらしいB+木ってなんぞや。ググるといっぱい出てくるがどいつもこいつも抽象的
「で、それがどう活用できるのか?」と言う疑問が解決しない
もちろんRustでコーディングする予定
236:デフォルトの名無しさん
18/09/13 20:57:57.27 uqZEQXfr.net
>>235
てけとーにググってきたやつ
URLリンク(christina04.hatenablog.com)
で、B+ツリーはリーフノード間にリンクがある構造。
リンクがあると何が嬉しいかというと、
データベースで値の範囲で検索する際、先頭が見つかればリンクをたどってレコードが抽出できる。一例として。
237:デフォルトの名無しさん
18/09/13 21:29:20.76 IjhCAeem.net
B木とそのバリエーションは、ディスクのように一定の大きさを持ったブロック単位で読み書きする
記憶装置上に置くのに適した木構造。
そういう使い方をしないんだったら効率が悪い木構造でしかない。
238:235
18/09/13 22:11:03.43 bNNEFAck.net
ありがとう
>>236
そのような説明はいっぱい出てくるんですがそれを実用へ落とし込むのに必要なピースがわかりません
データベースやファイルシステムを作れる人ならその説明で十分なのだろうと思いますが
自分はそのような経験がないので「ファイルシステム」や「B+木」等のキーワードからその不足分にたどり
着けないでいます
>>237
まさしくその用途を考えています
・大容量のボリュームを扱う (数百GB~TB)
・ファイルをたくさん入れる (万~)
・ファイルの中身へのアクセスコストが低い
・充填率に優れる
・フラッシュメモリベースのメディアで使用する
みたいなファイルシステムを作れないかなーと。個人が扱うファイルシステムだとFAT32あたりがよく使われると思いますが
そろそろ最大ボリュームの上限を突破しそうだし、ディレクトリの探索が容易じゃないし(特にLFN使用時)
充填率も良いとは言えないしと、いろいろ課題が多いのでいっそ俺ファイルシステムを作ろうかと
239:デフォルトの名無しさん
18/09/13 22:24:39.91 IjhCAeem.net
B木の実装は、共立出版の「ファイル構造」という本が詳細に分かりやすく説明されていてよかった。
残念ながらもう絶版らしいが。
240:デフォルトの名無しさん
18/09/13 23:23:13.30 pq1/pryD.net
bit別冊は大部処分したけど似た本はもう無いと判断して捨てなかった一冊
今ファイルシステムの勉強しようと思ったらLinuxや*BSDのソースコードよむぐらいしか無さそう
241:デフォルトの名無しさん
18/09/14 00:34:41.33 6kvA3LxK.net
>>239
英語版ならまだあるようだし、pdfでも見れるな。
242:デフォルトの名無しさん
18/09/14 11:13:17.17 hSQdDwhc.net
1.29.0来たね
243:デフォルトの名無しさん
18/09/14 17:04:14.02 zZtMiOUI.net
来たー
244:235
18/09/14 22:55:36.33 L0IQQp+4.net
ありがとう
>>239-241
尼のマケプレの値段ヤバイですね。原書?のPDFは入手できたので見てみます
>今ファイルシステムの勉強しようと思ったらLinuxや*BSDのソースコードよむぐらいしか無さそう
うへぇ。ファイルシステムドライバの仕様がどうなっているのかを理解した上で、ジャーナリングや
スナップショットなどの付加機能を分離しつつ読む必要がありそう
オープンソースといえどもこの辺の情報はお世辞にも豊富ではないのもつらいところです
245:デフォルトの名無しさん
18/09/14 23:38:15.74 SIPw8V9s.net
まあ読むならext3ぐらいからじゃないかな?
losetupやbrdで小規模なデバイス上にmkfsしてhexdump使って媒体構造見るとか
system tapやblktraceで処理やアクセス箇所見るとか
crashでカレントプロセス覗くとか
printk仕込んで処理フロー確認するとか
昔勉強したけど他に何やったかもう覚えてないや
246:デフォルトの名無しさん
18/09/14 23:52:28.71 KYDDV16J.net
まさかこんなところで共立出版というガチな名前を聞くとは思わなかった。
ねねっちがいるのかこのスレには。最近Rと統計ばっかだよねあそこ。
ところでファイル構造の古書店の通販見つけたけど長すぎてurl貼れない。
247:デフォルトの名無しさん
18/09/15 00:11:05.25 UUtHx4qg.net
共立出版って大学数学やら物理やらの教科書としてはまあまあ使われてるんじゃない?
248:デフォルトの名無しさん
18/09/15 00:35:58.43 DqLr8CXZ.net
テキストとワインバーグ本とすべての人のためのJavaプログラミングのところだね。
249:デフォルトの名無しさん
18/09/15 03:08:49.57 aty0PGwQ.net
>>247
共立出版で情報系の教科書としては次の2つのシリーズは好著が多い良いシリーズだ
・情報数学講座
・アルゴリズムサイエンスシリーズ
あと、共立出版でプログラミングの本と言えばとっくに時代遅れになっているが
カーニハン&リッチーの『プログラミング言語C』は外せない
恐らくこの訳書は初版と第2版とを合わせると、共立出版の情報系の書籍の中で圧倒的な部数を稼いだはず
それ以外にもカーニハン本の翻訳を日本で最初に出したのは共立出版だ
『プログラム書法』、『ソフトウェア作法』、『プログラミング作法』とね
今の若い人たちは存在していたことすら知らないだろうけど、共立出版は bit という月刊誌を出していた
これはB5版のころはソフトウェア技術者にとっての教養雑誌で、理論的な話題の記事も載せていたし
チューリング賞の受賞記念講演の翻訳も毎年載せていた
上に名前が出てた『ファイル構造』は元は bit誌の別冊か臨時増刊として出版されたものが
需要が多かったので増刷を機に単行本化されたものだ
だが部数が徐々に減ってきたのをテコ入れとばかりに編集長が変わって、版型をB5版からA4版に変え
記事も教養的なのから実用的なもの中心に変えてしまったら、昔からの読者の多くが離れて
急激に廃刊(建前上は休刊)に追い込まれた
bit誌の廃刊以降、共立出版の情報科学系の書籍の出版点数はかなり減少したような印象がある
現在の共立出版は数学書の出版に特に力を入れているみたいだね
250:デフォルトの名無しさん
18/09/15 08:36:15.98 h1bufCaZ.net
bit本誌、いまだに捨てられなくて本棚1段占領している。
ユニマガは引っ越しの時に全部捨てちゃったが。
251:デフォルトの名無しさん
18/09/16 01:33:00.78 w5/Hy2b1.net
rustの複数行文字列って空白消されちゃうの?
URLリンク(stackoverflow.com)
252:デフォルトの名無しさん
18/09/17 00:20:05.94 XaZEKwwx.net
>>251
そんな話してない
253:デフォルトの名無しさん
18/09/17 20:15:25.23 aiBl5TGk.net
ここで質問しても許されるのでしょうか?ダメそうなら、申し訳ないです。
S式を使って遊ぼうとしてRustで見様見真似で書こうとしたんですが、コンパイルすらできません…。
ヘッタクソなコードで恐縮ですが、以下の52行目で「`s` does not live long enough」と怒られます。
URLリンク(pastebin.com)
まず、's'がスタックに確保されていて、parseから返った先で(つまり、スタックが解放されたあとで)
sを使う可能性があるから駄目だと言っているという認識ですが、正しいのでしょうか。
また、どのように対処すればよろしいでしょうか。
たぶん、根本的なところから理解できていないのだと思いますが、ご教授お願いいたします。
254:デフォルトの名無しさん
18/09/17 22:18:18.83 faCDAGdL.net
Nodeがsへの参照を持っているのにsが解放されちゃうからじゃないかなあ
255:デフォルトの名無しさん
18/09/17 22:22:00.90 faCDAGdL.net
みたかんじsymbolを&strじゃなくてStringにしてsをmoveさせればよいと思うけど
256:デフォルトの名無しさん
18/09/17 23:12:20.37 vky9u9CI.net
>>253
>sを使う可能性があるから駄目だと言っているという認識ですが、正しいのでしょうか。
合ってる。
sはparse関数の中で確保されてる。
そのsの借用(as_strしてるから借用することになる)をparse関数の外に出そうとしてるから
sの借用がsより長命になるのでrustではエラーになる。
sはparse関数の呼び出しが終わると解放されるからこれはダングリングポインタだよね。
>また、どのように対処すればよろしいでしょうか。
この場合、Node<'a>は文字列のsymbolフィールドを所有する側だから&strじゃなくてStringにすればいい。
apiの設計の時点でownd valueとborrowed valueを意識すればいい。
あとleftとrightが借用になってて、これはこれで設計的に間違いじゃないんだけど問題出るかも。
257:デフォルトの名無しさん
18/09/18 22:40:54.20 1KtNrcTb.net
コピーのコストが嫌だからとりあえず参照にしとこう、の精神は早々に破綻するよね
似たようなパーサ書いてて同じようにコンパイラにボロクソに言われたことがある
それ以来、このデータは誰が持っているべきなのか?を意識して書くようにして、
コンパイラに怒られたら「何か抜け道がきっとある」って思うようになれたし、リファレンス探すと大体解決するようになったよ
258:デフォルトの名無しさん
18/09/19 11:41:33.60 PupZqwJJ.net
The Creator
259:デフォルトの名無しさん
18/09/20 01:17:05.56 U3x/57bG.net
皆さん、お返事ありがとうございます。
とても参考になります。
もう少し、頑張ってみます。
# ピンポイントで質問できるのは、本当にありがたいです。
260:235
18/09/21 16:03:14.74 orU60ay9.net
ありがとう。File Structuresを眺めていますが英語なのであまりはかどらないです
二分木およびその発展系の説明は十中八九キーとして数字が使われているけど
ファイルシステムの入力はファイルパスであり可変長の文字列。この部分はどう埋めればいいのだろうか
ハッシュテーブルでも使えという話なのか?しかしそれならハッシュテーブルを使ってファイルのメタデータを
探索してしまった方が早そうだけどそういう問題ではないんだろうな
261:デフォルトの名無しさん
18/09/21 21:05:15.62 8EH2XxrU.net
最近でたオライリーの本って
Rust公式ドキュメントの2018でもSecond Editionでもなく
明らかに初版が元になってるよね時期的に
262:デフォルトの名無しさん
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を使いたいんだが