プログラミング言語 Rust 2©5ch.io
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん 転載ダメ©2ch.net
2016/11/02(水) 03:12:40.30ID:MYQ7Ohexhttp://www.rust-lang.org/
https://github.com/rust-lang/rust
Servo
https://servo.org/
https://github.com/servo/servo
◆前スレ
プログラミング言語 Rust
http://echo.2ch.net/test/read.cgi/tech/1327489549/
0002デフォルトの名無しさん
2016/11/02(水) 03:13:34.24ID:MYQ7Ohex日本語版
作者Graydon Hoareへのインタビュー
http://www.infoq.com/news/2012/08/Interview-Rust
"it seems a long time ago when @sayrer and I agreed to invest in
@rustlang. But it was not, in Internet time."
https://twitter.com/BrendanEich/status/231566448017948672
0003デフォルトの名無しさん
2016/11/02(水) 03:15:35.56ID:MYQ7OhexFirefoxを爆速化させる次世代ウェブエンジン「Project Quantum」をMozillaが発表
http://gigazine.net/news/20161031-mozilla-quantum-project/
> Mozillaから発表されたProject Quantumは、
> 同社が独自開発しているプログラミング言語「Rust」と
> 並行処理型レンダリングエンジン「Servo」をベースとしたレンダリングエンジンです。
MozillaWikiで述べられているように主な目標は(並列処理を安全に書けるRustによる)並列化の推進だな
https://wiki.mozilla.org/Quantum
>Quantum will leverage the fearless concurrency of Rust and high-performance components of Servo to bring more parallelization and GPU offloading to Firefox.
0004デフォルトの名無しさん
2016/11/02(水) 03:18:58.64ID:MYQ7Ohexhttps://github.com/jonathandturner/rustls
Mozilla、Language Server Protocolを実装した「Rust Language Server」を発表
https://mag.osdn.jp/16/10/21/154500
0005デフォルトの名無しさん
2016/11/02(水) 03:20:31.02ID:ttxNZg5Rhttp://www.oreilly.com/programming/free/why-rust.csp
Contributing to Rust ・ The Rust Programming Language
https://www.rust-lang.org/en-US/contribute.html
tokioはFutureパターンによる非同期IOのためのライブラリだよ(ざっくり
解説記事:https://medium.com/@carllerche/announcing-tokio-df6bb4ddb34
解説記事:http://aturon.github.io/blog/2016/08/26/tokio/
リポジトリ:https://github.com/tokio-rs/tokio
0006デフォルトの名無しさん
2016/11/02(水) 03:21:47.93ID:ttxNZg5Rhttps://blog.rust-lang.org/2016/09/29/Rust-1.12.html
エラーメッセージがカッコよくなってる
あとMIRが有効になって配列アクセスの境界チェックの最適化とかがより高度になってる
試してみた限りでは、get_unchecked()を使って手動で配列アクセスを最適化したりする意義がかなり薄れて来た印象
0007デフォルトの名無しさん
2016/11/02(水) 03:22:18.42ID:ttxNZg5Rhttps://blog.rust-lang.org/2016/10/20/Rust-1.12.1.html
安定版では初となるpoint release
MIR関連の問題の修正が主らしい
将来のpoint releaseの予行練習的意味合いもあるだとか
0008デフォルトの名無しさん
2016/11/02(水) 03:23:07.37ID:FzlbzNie0009デフォルトの名無しさん
2016/11/02(水) 03:27:18.65ID:MYQ7Ohex↓
カーネルより先に手を付けるべきとこあるからなぁ
待てない人はRedoxOS試してみたら?
↓
まずはOpenSSLかLibreSSLのpure Rust実装からだな
↓
TLS
https://github.com/ctz/rustls
↓
RustってOS作れるほどのローレベル操作が出来るの?
それともC/C++みたいにアセンブルコード併記できるってだけ?
↓
https://github.com/redox-os/redox/tree/master/kernel/asm
なんだ、アセンブルコード普通に書いてるだけか…全部Rustで作れるわけじゃないんだな
0010デフォルトの名無しさん
2016/11/02(水) 03:28:17.50ID:MYQ7Ohex0011デフォルトの名無しさん
2016/11/02(水) 05:47:26.44ID:ydCUsA37それ言語の問題じゃなくデバイスドライバ関係の問題じゃないの?
OSはRustで書けるけどLinuxのデバドラ関係はハードウエア会社がCで供出してるのが多くない?
0012デフォルトの名無しさん
2016/11/02(水) 14:46:31.43ID:db1quxwb0013デフォルトの名無しさん
2016/11/02(水) 22:26:01.78ID:Q6z2ZaLV0014デフォルトの名無しさん
2016/11/03(木) 02:12:42.03ID:uNlJqCt7https://github.com/redox-os/redox/search?l=nasm
アセンブルのコードがなくなったわけじゃないのか
0015デフォルトの名無しさん
2016/11/06(日) 21:21:20.79ID:jd7v1+bJintermezzOS書いてる人がそこら辺丁寧に説明してる
ttps://intermezzos.github.io/book/
3.1, 3.2, 4全部あたりの内容をrustで書けるようになればアセンブリはいらなくなる
けど読めば分かるけどアセンブリで書いた方が楽だし、自分の知る限りここらへんも楽に書ける高級言語なんてC含め存在しない
rustで書けるまでに必要なアセンブリとCで書けるまでに必要なアセンブリは同じじゃないか?
これがランタイムが必須な言語とかだともう少しかかるし、Cで環境整備する必要が出てくる、はず
0016デフォルトの名無しさん
2016/11/07(月) 01:10:24.52ID:MDpsc3Qw0017デフォルトの名無しさん
2016/11/07(月) 01:22:23.98ID:R+xSUJD70018デフォルトの名無しさん
2016/11/07(月) 04:18:50.54ID:EaPQMBZD0019デフォルトの名無しさん
2016/11/07(月) 09:59:59.37ID:VusNeGCl0020デフォルトの名無しさん
2016/11/07(月) 15:05:06.72ID:mwwnaA+N0021デフォルトの名無しさん
2016/11/07(月) 16:35:38.47ID:R+xSUJD7へえ、こんなのあるのか。初めて知ったわ
てかSpiderMonkeyもoxidizeしようとしてんのか
https://github.com/stoklund/cretonne/
https://internals.rust-lang.org/t/possible-alternative-compiler-backend-cretonne/4275
0022デフォルトの名無しさん
2016/11/07(月) 19:10:26.42ID:LSc5ar9Nつ https://doc.rust-lang.org/book/inline-assembly.html
0023デフォルトの名無しさん
2016/11/16(水) 02:47:56.82ID:fzskfnoe0024デフォルトの名無しさん
2016/11/16(水) 09:12:58.40ID:twfBKQax0025デフォルトの名無しさん
2016/11/16(水) 15:32:07.91ID:1NeovnoqYES
というかfeature-gatedな機能はみんなnightlyじゃないと使えないよ
0026デフォルトの名無しさん
2016/11/16(水) 20:03:41.58ID:WS3xMITpuse std::net::ToSocketAddrs;
fn main() {
for host in "www.example.com:0".to_socket_addrs().unwrap() {
println!("{}", host);
}
}
個人的に使うプログラムなら普通にNightlyを使えばいいけど
0027デフォルトの名無しさん
2016/11/16(水) 23:59:43.38ID:twfBKQax0028デフォルトの名無しさん
2016/11/17(木) 00:01:05.90ID:q947Bjkqいるよ(アスペ
https://www.rust-lang.org/en-US/friends.html
0029デフォルトの名無しさん
2016/11/17(木) 02:54:48.66ID:x6fZSDmo互換性のないアップデートが続く新興言語なんてどれも実務では使えないわ
まだ遊びでいじるに留めとけ
0030デフォルトの名無しさん
2016/11/17(木) 03:08:24.08ID:q947Bjkq>互換性のないアップデート
例えば何がある?
さすがに「forward-compatibleじゃない」とか言われると参っちゃうけどさ
0031デフォルトの名無しさん
2016/11/17(木) 03:53:37.98ID:PG/Ol9T0何なんだよRust。
Stability as a Deliverableじゃねーのかよ。
昨日見事にコンパイルこけたわ。
どうすんだよ私code freeze出来ねーじゃねーか。
コードを書いてメンテしてcrates.ioにpublishしてPR送ってやるって言ってるのにRust teamは何が不満なんだ?
何がpick threeだよクソ。
コード書いたはいいけど希望通りに保守するのほぼ無理だからwって言っててコード書くやつなんかいねーよ。
デグレしてもいいしCoC破るのもどうでもいいから互換性上げろよ。
Servoで何百万行無駄に使ってんだよ。
ロゴの犬とかどうでもいいから互換性上げろよ。
有名なエンジニアに払う金あるなら互換性上げろよ。
どうすんだよコーディングやめなくちゃならねーだろ。
ふざけんなRust。
互換性上げられないならバージョン0.xにしろよ。
互換性も上げられないしmajor ver.も0に戻せないけどergonomicsなんとかしたいんだよねーってそんなムシのいい話あるかボケ。
Rust teamがコード書かせないでどうすんだよ。
金があればコード書くってやつがゴマンといるんだから取り敢えず金出すかコーディングにかかる費用全てを無償にしろよ。
デグレしたりCoC破ったりTRPL作ってるやつ見繕ってMozilla職員を半分位クビにすりゃ財源作れるだろ。
まじいい加減にしろRust。
0032デフォルトの名無しさん
2016/11/17(木) 04:29:22.06ID:q947Bjkq0033デフォルトの名無しさん
2016/11/17(木) 07:39:11.93ID:gs7Dk9ts前方互換だとライブラリにも言語にも何一つ追加出来ないじゃん
なんで ? 演算子を使ったコードを1.12.1でコンパイルする羽目になったんだろうね
外部ライブラリ? 早速移行してる奴があるのかな
0034デフォルトの名無しさん
2016/11/17(木) 07:41:12.65ID:gs7Dk9ts0035デフォルトの名無しさん
2016/11/17(木) 08:58:28.37ID:lS45HIXqこれはネタじゃないの?
0036デフォルトの名無しさん
2016/11/17(木) 09:19:37.76ID:TWtGx4vLこの裏切り者めw
0037デフォルトの名無しさん
2016/11/17(木) 15:25:43.74保育園落ちた日本死ね!!!
何なんだよ日本。
一億総活躍社会じゃねーのかよ。
昨日見事に保育園落ちたわ。
どうすんだよ私活躍出来ねーじゃねーか。
子供を産んで子育てして社会に出て働いて税金納めてやるって言ってるのに日本は何が不満なんだ?
何が少子化だよクソ。
子供産んだはいいけど希望通りに保育園に預けるのほぼ無理だからwって言ってて子供産むやつなんかいねーよ。
不倫してもいいし賄賂受け取るのもどうでもいいから保育園増やせよ。
オリンピックで何百億円無駄に使ってんだよ。
エンブレムとかどうでもいいから保育園作れよ。
有名なデザイナーに払う金あるなら保育園作れよ。
どうすんだよ会社やめなくちゃならねーだろ。
ふざけんな日本。
保育園増やせないなら児童手当20万にしろよ。
保育園も増やせないし児童手当も数千円しか払えないけど少子化なんとかしたいんだよねーってそんなムシのいい話あるかよボケ。
国が子供産ませないでどうすんだよ。
金があれば子供産むってやつがゴマンといるんだから取り敢えず金出すか子供にかかる費用全てを無償にしろよ。
不倫したり賄賂受け取ったりウチワ作ってるやつ見繕って国会議員を半分位クビにすりゃ財源作れるだろ。
まじいい加減にしろ日本。
0038デフォルトの名無しさん
2016/11/17(木) 16:06:27.38ID:A0HGbkefネタだという点を引いてもツッコミ所が……
0039デフォルトの名無しさん
2016/11/17(木) 16:08:52.05ID:q947Bjkqhttps://internals.rust-lang.org/t/rust-team-alumni/3784
>They got jobs that prevent them contributing.
迂遠な言い回しをなさることで
てかNomiconどうすんだろう? Beingessner氏がいなくなってから全然進んでないじゃん
0040デフォルトの名無しさん
2016/11/17(木) 16:34:09.37ID:A0HGbkefただクラブニク氏やゴルディング氏がその辺の記事書けるかどうか……
どちらも言語やライブラリの開発に関わってないし
0041デフォルトの名無しさん
2016/11/17(木) 18:55:40.39ID:Drbt4+cnそれを期待して気合い入れてやる人も増えるだろうし、
1ユーザー的には、よろしいんじゃございませんか
0042デフォルトの名無しさん
2016/11/17(木) 19:00:40.42ID:Pl+03tlF海外ではその辺まとめてシステムプログラミングと呼ぶことで平和になってる
0043デフォルトの名無しさん
2016/11/17(木) 20:24:03.49ID:lS45HIXq国内ではその辺分けて低レベルと呼ぶことで考察/議論してる
0044デフォルトの名無しさん
2016/11/17(木) 20:25:33.13ID:lS45HIXq0045デフォルトの名無しさん
2016/11/17(木) 21:18:21.620046デフォルトの名無しさん
2016/11/17(木) 21:31:41.19ID:Drbt4+cnローレベルプログラミング
0047デフォルトの名無しさん
2016/11/17(木) 21:51:27.830048デフォルトの名無しさん
2016/11/17(木) 22:41:13.69ID:TglxajGyhttps://github.com/murarth/rusti
なんかこれは開発止まってるみたいだし。
REPLあったら便利なのに。
0049デフォルトの名無しさん
2016/11/17(木) 22:53:18.85ID:q947Bjkq0050デフォルトの名無しさん
2016/11/17(木) 23:04:57.14ID:Xpn3XiCUまともに動く感じじゃなかったし
誰も使わずメンテもされず放置されて結局消された
0051デフォルトの名無しさん
2016/11/18(金) 00:19:24.79ID:7Bhmrgzhこりゃ早々にswiftに流れた方がいいんでない?
0052デフォルトの名無しさん
2016/11/18(金) 00:19:48.50ID:8Vgx8rP90053デフォルトの名無しさん
2016/11/18(金) 00:29:13.23ID:eBWh43b3iconとかどう?
https://www.cs.arizona.edu/icon/
0054デフォルトの名無しさん
2016/11/18(金) 00:31:08.99ID:oLAPaOstほほう
https://github.com/rust-lang/rust/pull/37732
0055デフォルトの名無しさん
2016/11/18(金) 01:03:00.53ID:E7bW9eotぱっと見Rustユーザと共鳴するような要素がなさそうに見えるんだが
FAQを流し読んだだけだけど
0056デフォルトの名無しさん
2016/11/18(金) 01:14:06.04ID:oLAPaOstPonyとかはどうだろう?
http://www.ponylang.org/
0057デフォルトの名無しさん
2016/11/18(金) 10:17:38.16ID:t+31LzEv大幅な改造の途中なので厳しいかも
0058デフォルトの名無しさん
2016/11/18(金) 12:23:03.10ID:Mjcgtpxv前にも書いたけど、配列のインデックスで as usize を頻繁に書かされてつらい。
実行効率的には、同じ処理をC言語で書いた時も、size_tへの
暗黙のアップキャスト処理が入るのかな? 意識してなかったけど。
0059デフォルトの名無しさん
2016/11/18(金) 15:05:29.01ID:ujW5dFKbas usize は環境によってはダウンキャストかもしれないじゃん
今の所明確なポリシーはないが、例えば usize == u8 という環境への移植性も考えて
impl From<u16> for usize が存在しなかったりするし (https://github.com/rust-lang/rfcs/issues/1748)
個人的にそんなにキャストが必要になった記憶は無いんだけど
対策するとしたら、こんな感じでVecのラッパを書くとか
https://play.rust-lang.org/?gist=17c0c0ab946046a5670d78a5ac821a73&version=stable&backtrace=2
0060デフォルトの名無しさん
2016/11/18(金) 15:59:29.27ID:vbdBJsNNfirefoxをdisりたいならあっちで
0061デフォルトの名無しさん
2016/11/18(金) 17:11:13.69ID:oLAPaOstimpl<T,U,Idx> Index<T> for U where T: Into<Idx>, U: Index<Idx>
を公式に実装したら何か問題があるのだろうか?
過去に誰かしら議論してそうなもんだけど、それっぽいものが見つからない
0062デフォルトの名無しさん
2016/11/18(金) 18:48:56.40ID:JDsTmOFu@演算子はどんな処理を担うのかしらん。
0063デフォルトの名無しさん
2016/11/18(金) 18:57:53.19ID:ujW5dFKbこの'staticは参照に対するパラメータなんだよな、切るとすれば &'static / str
例えば [i32; 0x100] とか自体は [i32; 0x100]: 'static 以外のライフタイムを持たない
束縛した変数や借用に初めて寿命が付く
>>61
今のRustだと追加できなさそう
(T: Into<T> なので、他の impl Index<某> for 何がし と衝突する)
それ以上にRustコミュニティの暗黙の変換の類に対する反感が大きいっぽいという問題があるけど
0064デフォルトの名無しさん
2016/11/18(金) 18:59:11.49ID:ujW5dFKb0065デフォルトの名無しさん
2016/11/18(金) 21:18:08.74ID:Mjcgtpxv正直、意味わからん。
ループカウンタがレジスタサイズと異なるとおかしい事になるって感じ?
https://gist.github.com/rygorous/e0f055bfb74e3d5f0af20690759de5a7
0066デフォルトの名無しさん
2016/11/18(金) 21:34:00.80ID:aJxYJn23なんか思想的に、グリーンスレッドが存在したりしてた頃のRustみたいだな
0067デフォルトの名無しさん
2016/11/21(月) 10:14:06.26ID:1EpFjc3Xプロファイラで調べてみたら、どうやらmalloc/freeに相当する処理が
遅いことが分かった
0068デフォルトの名無しさん
2016/11/21(月) 10:48:44.85ID:kg262VVv0069デフォルトの名無しさん
2016/11/21(月) 10:53:20.16ID:cW+sH+/p0070デフォルトの名無しさん
2016/11/21(月) 11:43:08.65ID:0HSHfyI4なんか普通に負けそう
0071デフォルトの名無しさん
2016/11/21(月) 12:17:15.89ID:goLgdzFN常に忙しいときに限って free するハメになるのが実態
0072デフォルトの名無しさん
2016/11/21(月) 12:22:33.26ID:gVIfBZaZ0073デフォルトの名無しさん
2016/11/21(月) 12:30:45.34ID:cW+sH+/p0074デフォルトの名無しさん
2016/11/21(月) 12:32:42.35ID:1EpFjc3X少し補足すると、JITコンパイラが効き始める10ループ目ぐらいまでは
Rustの方が速かった
0075デフォルトの名無しさん
2016/11/21(月) 12:38:17.81ID:0HSHfyI4そりゃ設計悪いだろ
そういう時はランタイム(GC)特性を気遣って設計しろw
小さなツールならGC回りまくることもなかろう
そうなると常時free処理するGCなし言語の方が不利だわ
0076デフォルトの名無しさん
2016/11/21(月) 12:49:34.69ID:cW+sH+/p0077デフォルトの名無しさん
2016/11/21(月) 12:52:14.62ID:2S9X8Lpw鋭すぎ
0078デフォルトの名無しさん
2016/11/21(月) 12:54:12.88ID:h2bcMzRZ0079デフォルトの名無しさん
2016/11/21(月) 13:53:31.49ID:cBdbCQ89プログラムが小さいとVM起動のオーバーヘッドはほぼ無視できる
0080デフォルトの名無しさん
2016/11/21(月) 14:12:07.49ID:0HSHfyI4ソフトウエア全体の処理が大きいと誤差に収まるけど
今回はalloc/freeがネックって言ってるから、そこは計測時間に入ってないと推測
ループ開始から終了までとSystem.gc呼んでの強制GCまでを計測したら、トントンないしRustのが早いってことになって欲しい(希望
それでもRustのが遅いなら断首台へ
0081デフォルトの名無しさん
2016/11/21(月) 16:38:54.33ID:cBdbCQ89逆ではない
プログラムが小さいとは書いたがプログラムの演算量が小さいとは言っていない
ツールが小さくてライブラリをあんまり読み込まなくていい時はJVMの初期化なんて誤差
0082デフォルトの名無しさん
2016/11/21(月) 16:49:33.16ID:OhDwUouzGCが回りまくらないような、演算量の小さなツールの話じゃなかったか?
0083デフォルトの名無しさん
2016/11/21(月) 16:54:29.52ID:cW+sH+/p例がパッと思いつかないけど、プリミティブ型ばかり処理してれば当てはまるんじゃない?
0084デフォルトの名無しさん
2016/11/21(月) 16:56:10.15ID:cW+sH+/pいや待て、自己レスになるけど、それじゃあRustでもfreeは発生しないわ
0085デフォルトの名無しさん
2016/11/22(火) 06:33:32.35ID:vdf1OFJq検索してみると、100人ぐらい集まったみたい。
初心者向けのはずなのに何故か難しい、って感想の人が多い。
あと、拠点を作っても外人に襲撃されて奪われるらしい。
0086デフォルトの名無しさん
2016/11/26(土) 11:52:46.03ID:S9oyLAu30087デフォルトの名無しさん
2016/11/26(土) 15:33:02.63ID:T6V/AejO自分で使わなくても依存してるライブラリもあるし
専用のビルド環境作るか、そもそもソースで配布するかしないと
配布バイナリにユーザ名を埋め込んじゃうよぅ
0088デフォルトの名無しさん
2016/11/26(土) 15:53:47.96ID:GTqt9DX80089デフォルトの名無しさん
2016/11/28(月) 23:43:32.36ID:NwIkJeSB確認してみたけど、logで使われてるmodule_path!() はcargoディレクトリ以下の
相対パスしか入らないから、ユーザ名は入らない。
但し、logと無関係にデバッグ情報としてフルパスが入る場合はある。
Linux版はdebugビルドでのみフルパスが入る。
Windows(MSVC ABI)版は、releaseビルドでも.pdbファイルへのフルパスが入る。
stripすれば消えるんじゃない?
009087
2016/11/29(火) 18:41:45.92ID:8U8Bj8BQ確認、ありがとう
調べ直したところcrate logのみに依存した場合、フルパスは存在せず
おっしゃるとおりlogは無罪 お騒がせしました
以下、環境は Linux / i686, x86_64 / stable 1.13.0 /
009187
2016/11/29(火) 18:44:01.08ID:8U8Bj8BQ以下、環境は Linux (i686, x86_64) stable 1.13.0 "cargo build --release"
調べたところlogの出力の為にenv_loggerとリンクしている場合、
依存しているaho_corasickやregexへの
${HOME}/.cargo/registry/src/git-****/***以下のフルパスが埋め込まれてました
これは"strip -s"でも消せず
はて? と思い aho_corasickのみに依存したプロジェクトを作成してみると
同様にフルパスの存在を確認
これがtoolchainによる差異なのか自分には判別できませんでした
以上、単なる状況報告ながら、一報まで 長文お目汚し失礼しました
0092デフォルトの名無しさん
2016/11/29(火) 20:05:45.86ID:5ToPonfeそれはともかく、env_loggerは依存ライブラリが多すぎて
リビルドが重くなるから嫌い。正規表現はオプション機能でいいのに。
0093デフォルトの名無しさん
2016/11/29(火) 21:38:40.43ID:ejQm3rharegexはoptionalだからdefault-features = falseで外せるとは思うけど
0094デフォルトの名無しさん
2016/12/01(木) 23:59:57.63ID:dyH4Mas/ttps://www.techempower.com/benchmarks/#section=data-r13&hw=ph&test=plaintext
上位に上がってるのはガチで速度だけを追求したLightWeightなフレームワークだからなんだけど
Rust製の速度を突き詰めたフレームワークが欲しいと思った今日この頃
0095デフォルトの名無しさん
2016/12/02(金) 00:25:33.03ID:MHSZZ/vj0096デフォルトの名無しさん
2016/12/02(金) 00:37:52.17ID:vsoRl3Y/0097デフォルトの名無しさん
2016/12/02(金) 00:39:42.77ID:hH98Vq+fCとか並列でソケットを大量に保持/処理してるコードでもなかったぞ
0098デフォルトの名無しさん
2016/12/02(金) 00:44:29.48ID:hH98Vq+ftokioとか高レイヤー過ぎて無理だろw
と思ったけど、tokioの計測サンプルないから実はそこそこの性能出てる可能性はなくもないか
0099デフォルトの名無しさん
2016/12/02(金) 00:57:56.07ID:vsoRl3Y/http://aturon.github.io/blog/2016/08/11/futures/#zero-cost
これをtokioで書くともうちょっと速くなっただとかなんとか……はい
https://github.com/tokio-rs/tokio-minihttp/blob/c88742e2215eabd13ed33d187fc0ba205e50f362/README.md
0100デフォルトの名無しさん
2016/12/02(金) 01:17:22.42ID:6QW+GvXS@alexcrichtonと@carllercheと……@aturon?@seanmonstar?
0101デフォルトの名無しさん
2016/12/02(金) 11:47:17.94ID:pDCpu3xK0102デフォルトの名無しさん
2016/12/03(土) 01:53:06.87ID:OSKmiXalだろ?
0103デフォルトの名無しさん
2016/12/05(月) 00:07:20.42ID:YOh8FCdQ言語を選択する上で短所を知っておきたいです。
0104デフォルトの名無しさん
2016/12/05(月) 03:16:51.77ID:xGw5fwKi妖怪ボローチェッカに邪魔されること
0105デフォルトの名無しさん
2016/12/05(月) 08:17:32.56ID:EFquH9+I0106デフォルトの名無しさん
2016/12/05(月) 14:32:28.10ID:DNLmzaEu上でも出てるけどボローチェッカに怒られることが多いし、データ構造でもあんまり気を抜けない
0107デフォルトの名無しさん
2016/12/05(月) 16:14:34.93ID:xGw5fwKiそのイテレータ自体に読み取りアクセスできない問題って、何か回避策あるの?
他言語でXmlReaderとかHogeParserとか使う時に、そういうシチュ有るよね?
標準ライブラリのイテレータ生成メソッドがことごとく変な独自structを
戻り値にしてるのと関係あるのかな。
0108デフォルトの名無しさん
2016/12/05(月) 16:24:10.83ID:dF177W8B0109デフォルトの名無しさん
2016/12/05(月) 16:51:20.80ID:EFquH9+Ifor構文が所有権持っててブロック内で所有は無理でないかね
0110デフォルトの名無しさん
2016/12/05(月) 16:54:43.02ID:xGw5fwKiでも、現在のカーソル位置を読み取るとか、次に来る要素をpeek()とか
したい場合あるでしょ?
0111デフォルトの名無しさん
2016/12/05(月) 17:03:26.68ID:DNLmzaEufor文の中は真っ当な繰り返しだけっていう縛りがあると思えば気持ち悪さが低減できるかも
0112デフォルトの名無しさん
2016/12/05(月) 19:15:14.98ID:3+VMIaiU提供しないのは理に適ってる
0113デフォルトの名無しさん
2016/12/05(月) 22:50:17.88ID:LCk8g+4Z}
なら中でpeek呼べるかと
itemがiterをborrowしてるとだめだが
0114デフォルトの名無しさん
2016/12/05(月) 22:50:53.09ID:dPl+aGns0115デフォルトの名無しさん
2016/12/05(月) 22:51:41.39ID:dPl+aGnswhile let便利だよね
0116デフォルトの名無しさん
2016/12/06(火) 04:18:15.63ID:LdzuyWCmwhile letは忘れてたわ。
でも、今回はまさにその、itemがiterをborrowしてるパターンだった。
0117デフォルトの名無しさん
2016/12/07(水) 01:56:30.98ID:IiMNrJPAその効果って、どの程度だと思う?
大雑把なマイクロベンチをすると、&strでループを回してる関数を
Stringにあえて書き換えると、処理時間が約2倍程度になる。
桁数は変わらない。
コード書く時間は半分以下になる場合有りそう。
0118デフォルトの名無しさん
2016/12/07(水) 02:24:30.49ID:DjbUzNNG唱い文句に釣られて使って、全体的にへっぽこな書き方したら言うほどでもない的な意味で
0119デフォルトの名無しさん
2016/12/09(金) 15:00:34.04ID:n+0GjpPihyperがhttp/2に対応してないからとか?
0120デフォルトの名無しさん
2016/12/09(金) 18:50:36.16ID:JXyfLORsnettyが高ランクなのを見ても、普通に言語の速度を計ってるんじゃなくて、
並列処理性能を計ってるんでしょ。
同じサイトでSmalltalkが高ランクにいるグラフを見た気がするし。
0121デフォルトの名無しさん
2016/12/09(金) 18:57:53.53ID:/TjG9z/Nコード見てもそう特異なことをしてるようには見えず
0122デフォルトの名無しさん
2016/12/17(土) 07:52:38.19ID:5jD7BRsErustup 1.0.0 is out.
0123デフォルトの名無しさん
2016/12/18(日) 03:17:03.88ID:no0nc4MEif let Some(v) = opt { /* ... */ }
の代わりとして
for v in opt { /* ... */ }
を使うのは気持ち悪いと思ってたんだが、英語として読むとforの方が自然なんだよな
それに気づいてからはelse節が不要なときはforばかり使うようになった
0124デフォルトの名無しさん
2016/12/18(日) 04:02:19.92ID:z0dqDzp7インストールしたけどcrate.ioからダウンロードできないみたいでcargoがこける
Githubでなんかするらしいけど何すればいいの?
0125デフォルトの名無しさん
2016/12/18(日) 04:08:36.62ID:no0nc4ME何を使ってインストールしようとしてる?
今なら↓を使うのが一番簡単だと思う
https://www.rustup.rs/
0126デフォルトの名無しさん
2016/12/18(日) 04:10:19.20ID:no0nc4ME0127デフォルトの名無しさん
2016/12/18(日) 05:29:42.61ID:ONLzCd75cargoのエラーを貼ってくれんと何も分からん (´・c_・`)
0128デフォルトの名無しさん
2016/12/18(日) 05:37:13.59ID:1Hajl9YU確かにそっちを使った方が確実ではあるだろうが
0129デフォルトの名無しさん
2016/12/18(日) 09:31:39.45ID:NHfwgv45if let Some(a) = Some(1) と for a in Some(1) と Some(1).map(|a| {}) をrustc -Oでビルドしたらmapが一番バイナリ容量小さいか
英語的に云々はC言語の古き良き文化で気にする気ないけど、zero cost目指す的にはどれが一番良いの?
--emit=llvm-ir を読もうとしたけど数行の.rsですら読める気がしなかった:(
0130デフォルトの名無しさん
2016/12/18(日) 14:27:11.90ID:VFzWAIXP会社とか学校とか?
だとしたらプロキシ設定が必要だった気がする。
0131デフォルトの名無しさん
2016/12/19(月) 03:58:18.07ID:LzkIf2kwmap() は遅延評価されるから、そこはforeach()だろって思ったら、
そんなメソッドは無かった。
0132デフォルトの名無しさん
2016/12/19(月) 04:02:10.67ID:5+NGkOeZ0133デフォルトの名無しさん
2016/12/20(火) 13:32:12.10ID:TQft0DAu効率を考えればそれが正しいのかもしれないけど、統一されてないのはダサいね
0134デフォルトの名無しさん
2016/12/20(火) 13:40:08.64ID:HD62Gbfy0135デフォルトの名無しさん
2016/12/20(火) 15:40:54.59ID:6JjvzXZFforやmapがif letに比べて性能良いか知らんけど
0136デフォルトの名無しさん
2016/12/20(火) 16:08:30.40ID:MHiDziMA三ヶ月後に見直してうんざりしないコードを
0137デフォルトの名無しさん
2016/12/20(火) 16:38:33.60ID:6JjvzXZFforだのmapだのは使うなら常用するものだし、これで持続しないならPGやめるよ
0138デフォルトの名無しさん
2016/12/20(火) 22:05:49.13ID:fp1/OlA80139デフォルトの名無しさん
2016/12/20(火) 22:12:29.27ID:CJ2gtWfF0140デフォルトの名無しさん
2016/12/20(火) 22:16:09.38ID:PYFsy3LE多様性は悪だわ
0141デフォルトの名無しさん
2016/12/20(火) 23:57:06.74ID:fp1/OlA80142デフォルトの名無しさん
2016/12/21(水) 00:26:43.08ID:ej8UmSNFもちろん2Dゲームエンジンはどこかから借りてくる
0143デフォルトの名無しさん
2016/12/21(水) 00:59:31.96ID:C1GPbqLl困難はあるけど それはC/C++と同じ程度で
無謀ってほどでもないんじゃないかな
設計を試行錯誤するのはRustのがC/C++より楽だと思う
自分は rustlang + OpenGL(GLES2.0/GLSL1.0) + SDL2 で3D書いた
ttp://i.imgur.com/SrBiFHe.gif
0144デフォルトの名無しさん
2016/12/21(水) 01:01:57.94ID:DAWAuc9ghttp://qiita.com/Pctg-x8/items/cbf8c8bb5e8825ba715a
0145デフォルトの名無しさん
2016/12/21(水) 02:05:19.61ID:Pbl/pRNJ0146142
2016/12/21(水) 12:27:04.23ID:ej8UmSNFハイカラならやめとけと言われるかと思ったけど、
頑張ればなんとかなりそうね
3Dスゲーっす(!)
>>144 ありがとう
やっている日本人もいるんだねぇ
0147デフォルトの名無しさん
2016/12/21(水) 12:40:43.96ID:kCrlwcjMこれのどこが3Dなんでしょう
0148デフォルトの名無しさん
2016/12/21(水) 14:53:32.77ID:C1GPbqLlRust人口が増えて欲しいので ぜひやってみて
>>147
『視差遮蔽マッピング/Parallax Occlusion Mapping』をやってる
子細はググって下さい
0149デフォルトの名無しさん
2016/12/21(水) 15:09:44.32ID:wjBBiIkf奥行が全く感じられない
0150デフォルトの名無しさん
2016/12/21(水) 18:13:34.95ID:vaU6q8is0151デフォルトの名無しさん
2016/12/21(水) 22:25:50.83ID:ej8UmSNFyield return someValue;
としたいんだけど、Rustのコルーチンはどうですか?
0152デフォルトの名無しさん
2016/12/22(木) 00:30:05.93ID:qT53/NxxOption<Item>を返すようにして while let かな
Iteratorをderiveすれば for にも渡せます
https://play.rust-lang.org/?gist=a34273a2dac65be75e921efd34c6401c
0153デフォルトの名無しさん
2016/12/22(木) 00:42:28.78ID:zFwIQNSP試してはないけど https://github.com/rustcc/coroutine-rs みたいなライブラリはある
0154デフォルトの名無しさん
2016/12/22(木) 01:50:14.99ID:ORYJE8lcって時はどの辺から始めればいいの?やっぱり型システム入門?
0155デフォルトの名無しさん
2016/12/22(木) 04:57:42.70ID:zFwIQNSP目からウロコが落ちた
実際にこんなブレースの使い方をしているコードを見かけたら読みにくいと言ってブチギレると思うけど
0156デフォルトの名無しさん
2016/12/22(木) 13:02:02.41ID:y+mdv7YD0157デフォルトの名無しさん
2016/12/22(木) 13:16:30.31ID:vR+H7QAs0158デフォルトの名無しさん
2016/12/22(木) 15:25:02.24ID:cRDgF52Cstruct {
file_content: String,
header: &str, // 同じ構造体インスタンスのfile_contentのスライス
}
0159デフォルトの名無しさん
2016/12/22(木) 21:30:47.90ID:qT53/Nxx範囲情報をRangeで持っておいて、headerを関数にするのでは足りないかな?
https://play.rust-lang.org/?gist=4d511d2346cd32c4ef3b0348635b8910
0160デフォルトの名無しさん
2016/12/23(金) 00:33:16.85ID:mdacHMN9省略表記にした所でRangeを作るには変わりないから無駄な努力だった
ttps://play.rust-lang.org/?gist=f24e58d9a75d263fd75b0f651203a3b1
元の方も考えたけど、>>158は所有者が2名になるから無理だよなぁ
0161デフォルトの名無しさん
2016/12/23(金) 06:17:00.54ID:6bIGT6Swhttps://blog.rust-lang.org/2016/12/22/Rust-1.14.html
WebAssemblyサポートですって奥さん
0162デフォルトの名無しさん
2016/12/23(金) 07:54:39.71ID:D+0Lwjqyなるほど。
これをRustでも書けてると見るか、書けてないと見るかは微妙なところだな。
0163デフォルトの名無しさん
2016/12/23(金) 08:18:02.54ID:mdacHMN9極標準的な手法だから、これがダメなら何も出来ないよ
0164デフォルトの名無しさん
2016/12/23(金) 15:10:42.06ID:6bIGT6Swただ、std::collections::HashMapとかは値を削除するときキーの所有権を返してくれないから、ある値を取り出して変換して返すような処理で失敗した時にキーの複製を用意しないといけないのが気持ち悪い
所有権を受け取る前に借用してバリデーションを走らせるという手もあるけど、それはそれでオーバーヘッドになるし
0165デフォルトの名無しさん
2016/12/23(金) 16:07:53.79ID:LOFIUVE30166デフォルトの名無しさん
2016/12/23(金) 19:34:18.37ID:efetRagZcopy on write的な最適化は期待出来ないんかね?
0167デフォルトの名無しさん
2016/12/23(金) 22:45:04.10ID:oLVQTEs30168デフォルトの名無しさん
2016/12/24(土) 02:20:23.19ID:/RBsJIky0169デフォルトの名無しさん
2016/12/24(土) 12:04:03.69ID:/RBsJIky0170デフォルトの名無しさん
2016/12/24(土) 12:14:13.23ID:XL3bxxKp0171デフォルトの名無しさん
2016/12/24(土) 16:20:09.59ID:dDtDlNibってんなら単にOption.or()でいいのではないかと
イマイチ何を実現したいのか分からんけど
0172デフォルトの名無しさん
2016/12/24(土) 16:25:11.60ID:/RBsJIkyつまりこういうことがしたい
https://play.rust-lang.org/?gist=2efdceaaaa385ea7ee2486342ca415e4
0173デフォルトの名無しさん
2016/12/24(土) 16:29:36.25ID:/RBsJIkywhere T: Copyは無視してくれ
0174デフォルトの名無しさん
2016/12/24(土) 16:47:44.72ID:dDtDlNibimmutableな取り回しじゃなくmutableな取り回しだし、、、
immutableならOptionじゃ合わないわな
そこを諦めたら既存APIで十分な気がするけど、そこがこだわりならStruct新設から始まりそう
0175デフォルトの名無しさん
2016/12/24(土) 16:56:08.78ID:dn0dwenj0176デフォルトの名無しさん
2016/12/24(土) 16:59:11.50ID:/RBsJIkyself: &mut _を受け取るメソッドでself.cache的な何かを扱いたいことってない?
まあ別に、その場で書こうと思えば簡単に書ける処理だから絶対に欲しいってわけではないけど……
>>175
unsafe { mem::transmute::<_, &T>(self.as_ref()) }
0177デフォルトの名無しさん
2016/12/25(日) 01:33:20.36ID:P0r3EIva0178デフォルトの名無しさん
2016/12/25(日) 01:47:23.23ID:jMjv2Bymあとはcargoが標準で色々やってくれるから、全くメリットがないこともないと思う
業務ならC++11/14を使うべきなんだろうけどさ
頑張ればsmart pointerとmakeで大体のことはフォロー出来そう
0179デフォルトの名無しさん
2016/12/25(日) 04:20:17.08ID:klev3clW0180デフォルトの名無しさん
2016/12/25(日) 07:43:09.19ID:gfQaVVC20181デフォルトの名無しさん
2016/12/25(日) 20:33:17.39ID:X66rp15ottp://qiita.com/yumetodo/items/e49a673afd9a3ecb81a8
よく、C++の機能を全部学ぶ必要は無いよ使うとこだけ理解すればいいよ、と言う人がいるけど、
コードは書くより読む方が大変なことを失念してるんじゃないかと思う
他人のコードの読解は困難を極めますよって自白してんじゃないかと
0182デフォルトの名無しさん
2016/12/25(日) 20:35:24.70ID:OIpmFOQN0183デフォルトの名無しさん
2016/12/25(日) 20:50:48.74ID:OHOD3vvf0184デフォルトの名無しさん
2016/12/25(日) 23:52:57.50ID:P0r3EIvaジェネリクスだめならモダン言語は殆ど、ってかjavaすらダメじゃね?
0185デフォルトの名無しさん
2016/12/26(月) 00:01:48.58ID:mhrTCx4UC++でもboostで使われてた頃な気がする
>>181をざっくり読んだけど、C++を仕事でやってたらこれくらいは別に問題ないと思うけどな
rustみたいに数ヵ月単位で言語仕様に仕変入る方がコードの解読に困難を極めないか?
古いバージョンで固定すればいいじゃんってんなら何も言うことない
0186デフォルトの名無しさん
2016/12/26(月) 01:02:26.94ID:xO25f93t0187デフォルトの名無しさん
2016/12/26(月) 01:32:03.49ID:zGEIM/Ml理解できない人をチームから外せばおk
0188デフォルトの名無しさん
2016/12/26(月) 02:42:52.09ID:kYuQe4Wztemplateの過剰使用のせいか、エラーメッセージが分かりにくい&バグを潰しにくいっていう印象がある
ML系言語の発展で、型システムを柔軟にすれば大抵のことは分かりやすく実現できるよって分かって、
それをつまみ食いしたrustは実はかなり分かりやすいし、勉強の資料も実は少なくない
あと、https://github.com/rust-lang/rust/blob/master/RELEASES.md
で、1.0.0からLanguageの項目がどれくらい変わったか見てくと、実はほとんど変わってないよ。
マクロが結構強化されたんで、マクロを定義しまくるcrateは影響があるかもしれんね。
ただ、そういうのは大抵DSLをマクロで!っていう特殊な事例が多いんで、何したって読みづらい
0189デフォルトの名無しさん
2016/12/26(月) 03:53:18.15ID:o+MLW/qOコンパイル時計算はconstexprでいいだろ
0190デフォルトの名無しさん
2016/12/26(月) 07:04:10.78ID:mhrTCx4Uお前がC++をよく知らないってことは分かった
使ってる言語を兎角推すのはまるでObjC信者のようだぁ
自身の言語が至上、他は総じてクソって見えるらしいな
0191デフォルトの名無しさん
2016/12/26(月) 07:45:24.49ID:zGEIM/Ml0192デフォルトの名無しさん
2016/12/26(月) 07:59:25.35ID:lZ2XshJp0193デフォルトの名無しさん
2016/12/26(月) 10:11:15.89ID:vXnTXx4r0194デフォルトの名無しさん
2016/12/26(月) 10:21:18.47ID:y2AwbG3E0195デフォルトの名無しさん
2016/12/26(月) 11:42:54.85ID:HAos+tGxRustは地動説
0196デフォルトの名無しさん
2016/12/26(月) 12:14:16.16ID:kSu16y2+rustだって10年20年すれば汚くなるよ
奇麗なままでいられるのはユーザー数の少ない言語だけだ
0197デフォルトの名無しさん
2016/12/26(月) 12:16:41.00ID:HAos+tGx0198デフォルトの名無しさん
2016/12/26(月) 13:57:45.03ID:3l9yWhJs0199デフォルトの名無しさん
2016/12/26(月) 13:58:25.74ID:gUp/CjQ/0200デフォルトの名無しさん
2016/12/26(月) 15:39:49.33ID:kSu16y2+C++のほうを見て同じことが言えるかな?
0201デフォルトの名無しさん
2016/12/26(月) 15:59:40.77ID:y2AwbG3E0202デフォルトの名無しさん
2016/12/26(月) 16:42:09.73ID:stVLD6EMオブジェクト指向入門でよくある、哺乳類クラスとか、円や矩形クラスの
例(クラスツリー)を、Rustでどう表現するのか見てみたいな。
0203デフォルトの名無しさん
2016/12/26(月) 17:56:53.49ID:R/Xz4XyCservoでDOM表現するためのコードでやっているけどなかなかえげつない実装らしい
この前あったrustのmeetupではほかの言語のやり方をそのままrustに持ち込むべきではないと言っていた
0204デフォルトの名無しさん
2016/12/26(月) 18:06:10.80ID:lZ2XshJp0205デフォルトの名無しさん
2016/12/26(月) 19:41:44.19ID:ep/odFf8型クラスはad hoc多相を実現する仕組みだがそもそもOOのためのもんじゃない
0206デフォルトの名無しさん
2016/12/26(月) 20:36:47.57ID:mhrTCx4URustでクラス継承を実現するなら、traitをツリー継承して実装すればいいってことだな!
イマドキのオブジェクト指向はツリー継承を崇めてないから自分はやらないけど
0207デフォルトの名無しさん
2016/12/26(月) 20:51:12.09ID:J++O7+r90208デフォルトの名無しさん
2016/12/27(火) 00:03:40.08ID:z3Z5XFyz0209デフォルトの名無しさん
2016/12/27(火) 02:03:02.61ID:SQsOUYP2Web2.0とかセカイ系とか。『自分で吐いてる言葉の意味を自分で理解できていない』ような連中をのさばらせておくと発生してしまう
0210デフォルトの名無しさん
2016/12/27(火) 02:07:36.20ID:4L8P6HZQbuzzword
いかにも,もっともらしい専門用語。専門家や通人,仲間内が好んで用いるような言葉。
0211デフォルトの名無しさん
2016/12/27(火) 02:14:18.61ID:M0D6LXD20212デフォルトの名無しさん
2016/12/27(火) 02:17:57.69ID:/xy3dl1q、というのは言い過ぎとしても、「哺乳類クラス」とかいう抽象的すぎる問題を持ってこられても議論のしようがなかったりする
現実の問題ではケースバイケースで適切な対処が異なるんだから
0213デフォルトの名無しさん
2016/12/27(火) 02:34:20.97ID:M0D6LXD2設計がクソなのはそうかもしれないけど、世の中がJavaっぽいクラスを前提に
動いてるんだから、それを素直にコードに落とせないのはまずいよ。
DOMやGUIライブラリ(のラッパー)はそうでしょ?
0214デフォルトの名無しさん
2016/12/27(火) 03:23:41.04ID:VnAYfBLQtraitとstructで無理矢理クラス継承を模倣すれば?
rustのお作法から外れて邪道感溢れるから出来るの分かっていても真面目に答えるヤツはここにはおらんよ(多分
0215デフォルトの名無しさん
2016/12/27(火) 03:28:37.64ID:zWPkbd9P0216デフォルトの名無しさん
2016/12/27(火) 04:14:04.89ID:4L8P6HZQ>>213が本当に哺乳類クラスを必要としていたのだって結果論に過ぎないのに
0217デフォルトの名無しさん
2016/12/27(火) 04:27:55.09ID:P0uTzVTBこの程度の揶揄を無邪気に行う奴なんて世の中にはゴマンといる
0218デフォルトの名無しさん
2016/12/27(火) 06:29:43.86ID:4L8P6HZQ・Errorオブジェクトがenumじゃないから直接マッチできない(kindメソッドを介す必要があり)
・Error型にattributeを設定できない(error_chain!が吐き出すドキュメントをそのまま使わざるを得ない。ErrorKindのvariantには設定できるけど)
・backtraceクレートが動く環境でしか動かない
ライブラリが外部に露出するエラー型はやはり手動で書くのが一番無難なのかねえ……
ドキュメントを書き換えるためにラッパ型を用意するのは本末転倒だろうし
0219デフォルトの名無しさん
2016/12/27(火) 07:26:24.51ID:TsU75U35println!("error: {}", e);
let mut e: &Error = &e;
while let Some(err) = e.cause() {
println!("caused by: {}", err);
e = err;
}
これじゃあかんのか?
0220デフォルトの名無しさん
2016/12/27(火) 07:55:36.77ID:O+RLyrRLbacktraceはfearureでoffにできるから、ちゃんとCargo.toml書けばOK
ドキュメント生成できないのはissue立ってたからそのうちなんとかならないかと期待してる
>>219
error-chainは複数種類のエラーをまとめて一つの型で表現するときのボイラープレートを書かなくてもよくすることが目的だから、
ソースコードが冗長になってもよいならば別に使わなくてもなんとかなる
あとは、勝手にbacktraceを作ってくれるからエラー発生時のデバッグが少し楽になるというのもある
0221デフォルトの名無しさん
2016/12/27(火) 09:20:55.40ID:4L8P6HZQ0222デフォルトの名無しさん
2016/12/27(火) 10:13:26.91ID:alTKLSSw0223デフォルトの名無しさん
2016/12/27(火) 10:18:17.48ID:zWPkbd9Pその>>206もバズワードという言葉を正しく使えてるかは微妙だし
0224デフォルトの名無しさん
2016/12/27(火) 11:12:32.24ID:sIydEYNy>>208
むしろ死語かな
知らない世代がいるなら老がい用語
0225デフォルトの名無しさん
2016/12/27(火) 11:28:54.23ID:O+RLyrRLhttps://doc.servo.org/script/dom/
0226デフォルトの名無しさん
2016/12/27(火) 13:49:54.13ID:/xy3dl1q使用例を見ても、アプリケーションではrustupとかいう輝かしい例があるけどライブラリではめぼしい例もないよな?
0227デフォルトの名無しさん
2016/12/27(火) 13:57:00.38ID:GwCWTN18構造体の最初のメンバに親クラスを定義すれば、キャストで親クラスになれるって手法だった
Rustでも親になる型の変数を用意して、適当なtrait、Asとか何とかを使えば作れるだろうとは思う
ただ、OOを使うべき場面ってのはダイナミックな用途に限られるんじゃないか
Trait Objectとかで大抵は事足りるはず
0228デフォルトの名無しさん
2016/12/27(火) 14:02:04.36ID:b9lc87EM0229デフォルトの名無しさん
2016/12/27(火) 15:30:08.41ID:/xy3dl1qやってみた。汚い
Deref coercionとかは知らん
https://play.rust-lang.org/?gist=788c6c09719636cd28481db388caccc4
0230デフォルトの名無しさん
2016/12/27(火) 15:50:42.37ID:sIydEYNy汚くてワロタw
親構造体内包+Derefやってみたけどムリポ
メソッドオーバーロードを考えなきゃ良いんだろうけど、その場合の実用性はどうだろうね
ttps://play.rust-lang.org/?gist=43f8c19b64533a18262ce751d08b6d75
0231デフォルトの名無しさん
2016/12/27(火) 15:51:59.79ID:sIydEYNy0232デフォルトの名無しさん
2016/12/27(火) 16:04:44.73ID:M0D6LXD2ServoのDOMは、基本的にそのC言語でオブジェクト指向と同じみたいだね。
mem::transmute() を使ってる。
ただ、Castable#is()で判定できるから、それを忘れなければ、より安全って感じか。
このCastableを汎用的にしたやつがcrates.ioに有れば、便利かも。
0233デフォルトの名無しさん
2016/12/28(水) 00:45:05.70ID:bvnjBJpz0234デフォルトの名無しさん
2016/12/28(水) 10:22:40.34ID:33G5Uz6K型推論がある言語で関数のオーバーロード(同名で型が異なる関数の定義)ができる言語なんて今のところ無いよ
オーバーライドはOOの意味合いだしなあ
0235デフォルトの名無しさん
2016/12/28(水) 10:33:00.62ID:yWrP/m5t>型推論がある言語で関数のオーバーロード(同名で型が異なる関数の定義)ができる言語
え?あるよね?
0236デフォルトの名無しさん
2016/12/28(水) 10:49:12.17ID:Pwrrr1Osライブラリ側が有効にしてるfeatureはユーザ側でオプトアウトできないけど、ライブラリがfeatureを無効にしていてもユーザ側でオプトインできるし
0237デフォルトの名無しさん
2016/12/28(水) 11:39:36.50ID:j4SHG8/A0238デフォルトの名無しさん
2016/12/28(水) 12:46:13.64ID:zjOgRctZ0239デフォルトの名無しさん
2016/12/28(水) 13:05:53.71ID:/YvbcywK0240デフォルトの名無しさん
2016/12/28(水) 13:17:11.06ID:yxR21hjj0241デフォルトの名無しさん
2016/12/28(水) 13:34:40.02ID:/YvbcywK0242デフォルトの名無しさん
2016/12/28(水) 13:41:59.93ID:SLz2RvoN文末のセミコロンを今時採用すると思わんかった。
0243デフォルトの名無しさん
2016/12/28(水) 14:12:42.94ID:AaUHlvvb0244デフォルトの名無しさん
2016/12/28(水) 14:27:58.88ID:9y3G1esR0245デフォルトの名無しさん
2016/12/28(水) 22:54:23.66ID:tiZ71Spt記述量は減るけど慣れてないとビックリしそう
あと「いふいふれっと」ってずっと言ってると
ちょっと「みこみこなーす」っぽい
0246デフォルトの名無しさん
2016/12/28(水) 23:02:02.12ID:6NcUzOVy0247デフォルトの名無しさん
2016/12/28(水) 23:57:43.05ID:bDO+6moT蝉転んで区切るってやつか
0248デフォルトの名無しさん
2016/12/29(木) 00:08:37.19ID:pmAxOvWh0249デフォルトの名無しさん
2016/12/29(木) 18:19:20.70ID:7bfuEKFU開発始めた頃はまだ末尾セミコロン死ねな風潮でもなかったろうし
0250デフォルトの名無しさん
2016/12/29(木) 19:05:08.27ID:pmAxOvWh0251デフォルトの名無しさん
2016/12/30(金) 06:51:41.42ID:a1QfaOpy「行末セミコロン死ね! だからRustも行末セミコロン自動挿入すべき!」とか意味不明の極致だろ
0252デフォルトの名無しさん
2016/12/30(金) 09:15:43.02ID:BAOxkPJ/0253デフォルトの名無しさん
2016/12/30(金) 12:52:44.59ID:gA9NnhXP0254デフォルトの名無しさん
2016/12/30(金) 14:09:34.73ID:STL3vH6g0255デフォルトの名無しさん
2016/12/30(金) 14:14:16.09ID:+0G7T/E5人間様にとっては
0256デフォルトの名無しさん
2016/12/30(金) 14:14:52.91ID:+0G7T/E5人間様にとってはASCII文字以外を変数名に使えるかどうかくらいの問題か
0257デフォルトの名無しさん
2016/12/30(金) 15:45:32.03ID:1LhwiS9W0258デフォルトの名無しさん
2016/12/30(金) 16:25:30.23ID:Q3tvxZdgPASCALやErlangみたいに
;と,と.の使い分けになったら嫌
0259デフォルトの名無しさん
2016/12/31(土) 08:20:02.34ID:evZQ8uAx0260デフォルトの名無しさん
2016/12/31(土) 12:20:17.73ID:H5rV9I3rprintln!("hello");
};
0261デフォルトの名無しさん
2016/12/31(土) 12:28:55.47ID:Sym7Bg1E--> <anon>:3:2
|
3 | };
| ^
error: aborting due to previous error
0262デフォルトの名無しさん
2017/01/02(月) 10:01:31.48ID:1m/cK6rN他のことについて語れないくらいバカな奴だけだろ。
0263デフォルトの名無しさん
2017/01/02(月) 21:18:31.68ID:ichN9xlo0264デフォルトの名無しさん
2017/01/03(火) 11:38:39.79ID:xKIwkl8nhttps://github.com/rust-lang/rust/pull/38783
Macros 1.1がstabilizeされるってよ
0265デフォルトの名無しさん
2017/01/03(火) 12:02:32.26ID:3o9M4oho( ゚д゚ )
.r ヾ
|_| |_|
| | |
しノ
___ / ̄ ̄ ̄/_
\/ /
0266デフォルトの名無しさん
2017/01/03(火) 13:08:42.00ID:ZKRmSAM80267デフォルトの名無しさん
2017/01/03(火) 18:29:20.46ID:4ChvZkkB0268デフォルトの名無しさん
2017/01/03(火) 20:40:08.40ID:wuUskEpBtry!が?になるくらいのシンプルな例を誰か頼む
0269デフォルトの名無しさん
2017/01/03(火) 20:58:17.39ID:r8LUHXKeref. 1681-macros-1.1.md
要は便利機能は2.0待ってろってことか、先は長いな
0270デフォルトの名無しさん
2017/01/03(火) 21:50:34.44ID:OFYBDDbH0271デフォルトの名無しさん
2017/01/05(木) 00:29:08.66ID:ZD27oJ5uMapVisitor::visit_valueでカスタムのdeserializeメソッドを使いたい場合はラッパ型を用意してDeserializeをimplするしかない?
0272デフォルトの名無しさん
2017/01/05(木) 22:10:05.44ID:NKDpP9qZvariantを比べるためだけにmatchして云々とかいう冗長で非効率な実装はなるべくしたくないのじゃ
0273デフォルトの名無しさん
2017/01/06(金) 00:11:35.37ID:Fz5LbEfZSome things to nail down before stabilization:
- [x] prototype implementation
- [ ] signature needs to have a <T:Reflect> bound
- [ ] documentation should reflect the inherent instability in this value and describe valid uses
- [ ] perhaps signature should require input T to actually be an enum instance?
- [ ] do we want to adjust the return type in any way to enforce the above rules?
0274デフォルトの名無しさん
2017/01/06(金) 01:12:22.50ID:FrG2KJ61https://is. gd/jWTzHJ
0275デフォルトの名無しさん
2017/01/06(金) 01:34:14.03ID:Fz5LbEfZ0276デフォルトの名無しさん
2017/01/06(金) 08:55:49.46ID:RoJjSRcN期待動作が分からんのでprintじゃなくassertで頼む
0277デフォルトの名無しさん
2017/01/07(土) 06:27:18.42ID:ZgzC+Fa40278デフォルトの名無しさん
2017/01/07(土) 15:58:55.81ID:0PjiZvlV0279デフォルトの名無しさん
2017/01/07(土) 16:04:59.75ID:ZgzC+Fa40280デフォルトの名無しさん
2017/01/07(土) 16:57:17.26ID:xEA8lk8b0281デフォルトの名無しさん
2017/01/07(土) 21:42:06.91ID:n2yomPvZ何かおすすめある?
0282デフォルトの名無しさん
2017/01/08(日) 01:03:37.13ID:kfDqfkDnforth
0283デフォルトの名無しさん
2017/01/08(日) 01:05:56.21ID:PddBs9sQ0284デフォルトの名無しさん
2017/01/08(日) 07:57:00.85ID:0mVP2hZ60285デフォルトの名無しさん
2017/01/08(日) 08:35:33.23ID:23/7dWy/0286デフォルトの名無しさん
2017/01/10(火) 19:06:19.84ID:f/pmyPVx>Exploratory programming
プロトタイプ作って試行錯誤、って話ならHaskellが一番使いやすいと思う
小規模のものなら、再発明が面倒になってHaskellのプロトタイプを改善してそれでよしとする未来まで見える
遅延評価絡みでオーダーのトラップがあるのが難点だけどな
0287デフォルトの名無しさん
2017/01/11(水) 14:21:39.72ID:XBWH8SeElet ほほう型推論か・・・コンパイラで型推論は最近の流れ?
mut ミュータブル・・・これつけないと定数ってことじゃろかよーわからん・・・
String::new() あえてnewっていうメソッドにせんでも・・・とにかく静的らしい・・・
ほほう・・・
0288デフォルトの名無しさん
2017/01/11(水) 15:07:47.36ID:7uyPKRK30289デフォルトの名無しさん
2017/01/11(水) 15:22:46.07ID:XBWH8SeEエラーハンドリングの仕方がちょっと特殊だな・・・例外だらけの汚いコードにはならないのだろうか・・・
loopとはわかりやすいキーワードだ・・・もしかしてrustはとりあえず全部無限ループさせるのか?なわけないよな・・・
matchとはなんぞ・・・これはとても便利そうだ・・・
parse()って何に?letに型指定すればそれにってことだろうか?parseIntとかじゃなくてシンプルだな・・・
ふむふむ・・・
0290デフォルトの名無しさん
2017/01/11(水) 16:06:44.87ID:/IZ7nDq30291デフォルトの名無しさん
2017/01/11(水) 16:53:57.45ID:5OhI584zコテつけといて、NG入れるから
0292デフォルトの名無しさん
2017/01/11(水) 19:03:44.12ID:XBWH8SeEよーし今日から荒らしていくからよろしくwwwwwww
0293デフォルトの名無しさん
2017/01/11(水) 19:04:54.12ID:XBWH8SeEこんなん使うのはSwiftしか使えない池沼だけ
0294デフォルトの名無しさん
2017/01/11(水) 19:06:19.76ID:AM+tjFEn2017/01/11(水) 開場:18:57 開演:19:00 ニコニコ生放送
lv286846512
0295デフォルトの名無しさん
2017/01/11(水) 19:07:09.79ID:XBWH8SeE見に行くしかないwww
0296デフォルトの名無しさん
2017/01/11(水) 19:17:33.64ID:XBWH8SeE劣化Scala ふぁーwww
0297デフォルトの名無しさん
2017/01/11(水) 19:43:29.93ID:PvND63zB0298デフォルトの名無しさん
2017/01/11(水) 19:43:37.85ID:5OhI584z学習曲線の改善は難敵よね
0299デフォルトの名無しさん
2017/01/11(水) 19:44:33.25ID:/IZ7nDq3https://github.com/rust-lang/rust/issues/24111#issuecomment-227612305
でたった今話し合われてるけど、const fnがstabilizeされたら関数にconstをいちいちくっつける作業が発生して面倒くさそう
constじゃない関数をmut fnみたいにする案もあるけどそれはそれで互換性の問題があるしなあ……
0300デフォルトの名無しさん
2017/01/11(水) 19:56:50.41ID:Dbl5XF860301デフォルトの名無しさん
2017/01/11(水) 20:08:37.68ID:XBWH8SeE独裁者のいない寄り合い所じゃこんなもんだろwww
0302デフォルトの名無しさん
2017/01/11(水) 20:15:03.09ID:/IZ7nDq3そう単純な問題でもないみたいで、constをくっつけるのはnon-breaking changeだけどその逆はbreakingだからconstの方をデフォルトにするのは宜しくないのでは、という議論もある
derive(Copy)とかと同様の問題。だから-W missing_copy_implementationsと同じようにopt-inなlintだけに留めるべきではとも言われている
0303デフォルトの名無しさん
2017/01/15(日) 16:47:20.62ID:Ib7guha6breaking changeせずに適用したいから云々って話なんだろうけど
どう転がるにせよwarningレベルで対応を要求してくるだろうからノンビリ待とうかね
0304デフォルトの名無しさん
2017/01/15(日) 20:39:38.98ID:SlBKEDAfbookであったローマ数字をrn!(X)でコンパイル時に10にするようなのを、rn("X")とかに出来るってことなら嬉しい
マクロ苦手なんだ
0305デフォルトの名無しさん
2017/01/15(日) 21:12:15.99ID:8SgEfBB1const fn内で関数を宣言できるわけでもないし、外部スコープの変数を直接参照したりreturnできるわけでもないからなあ
0306デフォルトの名無しさん
2017/01/16(月) 01:06:39.35ID:3MjcRRh6それぞれ適した用途で使えばよい
0307デフォルトの名無しさん
2017/01/16(月) 11:01:09.92ID:YCpRkRk0適材適所をまとめた情報ってどこかないかね
0308デフォルトの名無しさん
2017/01/18(水) 19:26:40.80ID:0/He/nuF0309デフォルトの名無しさん
2017/01/19(木) 05:46:59.43ID:ff1dOA50そうだと思うけど
const fnからpanic!呼びたいって要求は
#[cfg(...)]みたいなattributesに置き換えられないかな
なんか考えが足りてなかったら申し訳ない
0310デフォルトの名無しさん
2017/01/19(木) 06:12:01.34ID:nSqYy0BFコンパイルタイムとランタイムを区別するのは現時点でのattributesの領分を越えてるでしょ
>>308の期待する動作がはっきりとは分からんが、恐らく下の擬似コードみたいなのに対応しなければならないんだろうし
これを実現するには言語仕様(あるいはプラグイン)の追加で対応するしかないんじゃないかねえ
fn main() {
const A = f(0); // expecting compile-time error
let x = f(std::env::args().skip(1).first().unwrap().parse().unwrap()); // expecting runtime panic
println!("{}, {}", A, x);
}
const fn f(n: i32) -> ! {
panic!();
}
0311デフォルトの名無しさん
2017/01/19(木) 17:50:45.29ID:KP9WuCCK0312デフォルトの名無しさん
2017/01/22(日) 02:14:54.25ID:meHWinYv>If Rust the video game were implemented in Rust the programming language, it would belong in this category.
クソワロタ
0313デフォルトの名無しさん
2017/01/22(日) 15:32:04.47ID:He1ERbj90314デフォルトの名無しさん
2017/01/22(日) 15:36:25.38ID:Yl4nAGke0315デフォルトの名無しさん
2017/01/22(日) 16:37:35.24ID:C/30dEKVアカウント変えるとゲームの方が先にくる場合もままあるよ
> Displaying 0-0 of 0 total results
これは、、、言い出しっぺの法則やな?
0316デフォルトの名無しさん
2017/01/22(日) 19:28:06.48ID:eyLJuWmgポテンシャルはある。
0317デフォルトの名無しさん
2017/01/22(日) 19:40:20.56ID:Dd1b/MlbA community-driven port of Emacs to Rust.
0318デフォルトの名無しさん
2017/01/24(火) 19:29:16.39ID:igHP4a7v寝言は寝て言え。現状からみてD言語ルートだ。
0319デフォルトの名無しさん
2017/01/24(火) 19:53:42.15ID:pU9ER4NI0320デフォルトの名無しさん
2017/01/24(火) 20:42:28.51ID:VnBtkYVE0321デフォルトの名無しさん
2017/01/24(火) 21:24:09.97ID:dNkKf7mtC++テンプレート初期のエラーメッセージ地獄にくらべるとRustさん親切すぎて天使かよって感じなのでがんばってほしい
けどもうひと押し(偉いひと説得材料的な)なんかほしい気はする
0322デフォルトの名無しさん
2017/01/24(火) 23:34:50.03ID:iJ0FMzkOMozillaが本気出してこの程度ならD言語未満のHaskellレベルじゃね?
0323デフォルトの名無しさん
2017/01/24(火) 23:46:14.74ID:rMS2+V/Tあっちはまだアーリーアクセスだから…
0324デフォルトの名無しさん
2017/01/25(水) 00:43:42.66ID:uVLYflKb0325デフォルトの名無しさん
2017/01/25(水) 01:06:25.08ID:icd2X49v(高コスト)C++闇の軍団>proc macroを書くRust>テンプレートを書くC++≧ビルドプラグインを書くRust>Rustさわり>C++さわり(低コスト)
現状こんなもん?
0326デフォルトの名無しさん
2017/01/25(水) 08:00:44.75ID:wJvgwWCYプラグインは仕様からは外れるかなーとは思う
0327デフォルトの名無しさん
2017/01/25(水) 09:57:43.37ID:+ZiK5CtYzero costで性能良いって売りが事実になれば...
上で上がってたウェブサービスのベンチマークが意外とガッカリ性能だったのが萎える
0328デフォルトの名無しさん
2017/01/25(水) 11:09:39.71ID:wJvgwWCYとはいえアセンブリレベルでは機能制限されたC++でしかないからrustで速くできるならC++だともっと速くできるわけで
労力もC++のほうがかかるだろうけど
0329デフォルトの名無しさん
2017/01/25(水) 16:34:12.89ID:82yMOZoe0330デフォルトの名無しさん
2017/01/25(水) 16:42:20.24ID:vaJn6hA3ん、今さりげなくHaskell馬鹿にした?
0331デフォルトの名無しさん
2017/01/25(水) 17:46:06.98ID:G/yiP9yt普通に書いたらC++より早いとかあってもおかしくないとは思う
0332デフォルトの名無しさん
2017/01/25(水) 17:55:56.70ID:GF1+cyEf開発者が明示的にコードで安全にするか
言語が暗黙的に安全にするかの違いがあるだけで
安全なコードが吐かれてたらその分は遅くなるよ
0333デフォルトの名無しさん
2017/01/25(水) 19:05:12.07ID:+ZiK5CtYrustupのビルドツールセットの管理性や、cargoのビルド環境の利便性や、3rd party crateの性能なんかをまとめて
だからrustは良いんですよってプレゼンするんだよぉ
んで、公式に唱ってるわりに足引っ張ってる3rd party crateの性能が気になる
言語仕様は安全なマルチスレッドを言語文法でもうちょっと便利にして欲しいけど、グリーンスレッドに先祖帰りされても困るしのう
0334デフォルトの名無しさん
2017/01/25(水) 20:46:32.79ID:o52BqWk7そうなんだあ
Rustって遅いんですね
0335デフォルトの名無しさん
2017/01/25(水) 21:10:53.58ID:G3Sy5RF20336デフォルトの名無しさん
2017/01/25(水) 22:08:50.44ID:9B/zRGmW0337デフォルトの名無しさん
2017/01/25(水) 22:16:22.79ID:vvheTSCldereferenceは高コストな操作だからstructだろうが何だろうが参照渡しより値渡しの方が高速なんやで
0338デフォルトの名無しさん
2017/01/25(水) 22:31:03.09ID:rhF3V2Xc0339デフォルトの名無しさん
2017/01/25(水) 22:51:07.48ID:icd2X49v0340デフォルトの名無しさん
2017/01/26(木) 01:26:45.59ID:QpF8cABc0341デフォルトの名無しさん
2017/01/26(木) 01:43:10.61ID:2yUJ7U50それはプログラミング言語のRustで作られているのですか?
0342デフォルトの名無しさん
2017/01/26(木) 07:47:28.82ID:2BnY2tINその同名のゲームとは関係ない
0343デフォルトの名無しさん
2017/01/26(木) 22:36:48.11ID:CV+F+02K0344デフォルトの名無しさん
2017/01/27(金) 05:06:53.57ID:ZptWLHtZって目安が書いてあったけど、今どきはどんなもんだろ。
0345デフォルトの名無しさん
2017/01/29(日) 05:44:52.43ID:OhLobWwBhttp://imoz.jp/note/rust-functions.html
こんな記事見つけた
0346デフォルトの名無しさん
2017/01/29(日) 06:53:26.90ID:96Ypx+6Jhttp://lyrical-logical.hatenablog.com/entry/2017/01/28/213539
0347デフォルトの名無しさん
2017/01/29(日) 08:24:52.66ID:95TVWg7iC++でいいじゃん。Rustいらないね。
0348デフォルトの名無しさん
2017/01/29(日) 08:34:25.98ID:uQxwW8BY0349デフォルトの名無しさん
2017/01/29(日) 09:19:49.49ID:MpcYD/ky0350デフォルトの名無しさん
2017/01/29(日) 11:26:25.73ID:qAZTn4ytメモリ関連ミスってもどうということはない程度のプログラムならC++でもいいんじゃない
0351デフォルトの名無しさん
2017/01/29(日) 11:29:34.14ID:HeP1z5CV最近のSerde 0.9のリリースなんかはまさにそれだし
0352デフォルトの名無しさん
2017/01/29(日) 15:04:54.98ID:3OY0Puum0353デフォルトの名無しさん
2017/01/29(日) 15:12:56.27ID:MpcYD/kyあっちで遊んでやんよ、お前も使ったことないrustよりまだ使えるswiftのがいいだろ?
0354デフォルトの名無しさん
2017/01/29(日) 16:05:51.17ID:LzV9/FyF0355デフォルトの名無しさん
2017/01/29(日) 16:06:01.65ID:SmTDa/S00356デフォルトの名無しさん
2017/01/29(日) 18:28:56.50ID:MpcYD/kyrustはエコシステムが他言語に比べてめっちゃスマートだよな
goもまぁ悪くはないけどソースファイルの置き場とか依存ライブラリの管理とかイマイチ
C/C++やSwiftはそれぞれ別の理由で論外だし
0357デフォルトの名無しさん
2017/01/29(日) 22:47:53.84ID:Ocx7v7z5書くための敷居が多少高いけど、だいたいはコンパイラが面倒見てくれるRust
C++で血ヘド吐いた人ほど後の方を重視して、メンテコストを軽く見る人ほど前の方を見てRust叩く印象。
0358デフォルトの名無しさん
2017/01/29(日) 23:15:06.07ID:NDmTx4oh慣れれば書くことに苦労することはあまりないように感じる
0359デフォルトの名無しさん
2017/01/30(月) 00:51:03.60ID:eF+mclkTそろそろ Crate は、ジャンルごとに階層化したりタグ付けできたりソートできたりしないと発見率が糞になるかと。
0360デフォルトの名無しさん
2017/01/30(月) 02:43:56.69ID:YhRMpmBj0361デフォルトの名無しさん
2017/01/30(月) 03:24:58.17ID:OQRcOPPf0362デフォルトの名無しさん
2017/01/30(月) 07:58:57.30ID:nWNAE5Le2000年頃のyahooみたいに?
ツリー検索をこの時代に復活させるのはないわー
0363デフォルトの名無しさん
2017/01/30(月) 19:07:27.99ID:bQnpSDhS0364デフォルトの名無しさん
2017/01/30(月) 19:11:49.38ID:rVcDTRet0365デフォルトの名無しさん
2017/01/30(月) 19:36:00.65ID:nWNAE5Leつ ripgrep
煽るには知識が足りてない
0366デフォルトの名無しさん
2017/01/30(月) 19:43:25.52ID:ako8vkN5個々人のプロジェクトで役に立ってるのならそれで十分でしょ
0367デフォルトの名無しさん
2017/01/30(月) 21:56:25.56ID:7WMFgwOLAppleのSwiftが流行らないのと同じ。
今は実験段階なんだからプロダクト数だけで言語の良し悪しは測れない。
0368デフォルトの名無しさん
2017/01/30(月) 22:33:48.94ID:BdTPiSFU1.14にもなって言語仕様固まってないのも問題のような気がしなくもないが……
Goはまだ(?)1.7だけどももうほぼ言語仕様Fixと言っていいレベルで固まってるし。
プロダクトって面で言ったら上で出てるripgrepもそうだが、
まずFirefoxのコアに使われてる時点で「まともなプロダクトがない」って口が裂けても言えないだろ。
0369デフォルトの名無しさん
2017/01/30(月) 23:13:49.09ID:qF4ARhTt0370デフォルトの名無しさん
2017/01/31(火) 00:42:51.03ID:E22d6Q0u0371デフォルトの名無しさん
2017/01/31(火) 01:08:37.64ID:lkTuVnqH何ならOKなんだ?というレベル
0372デフォルトの名無しさん
2017/01/31(火) 01:18:23.09ID:w/stZREj0373デフォルトの名無しさん
2017/01/31(火) 01:57:41.10ID:TmvDy1Hyユーザレイヤでしか触れない言語は価値が低い
0374デフォルトの名無しさん
2017/01/31(火) 02:04:11.12ID:EAnQTfF20375デフォルトの名無しさん
2017/01/31(火) 04:21:00.72ID:J6yoEKAE0376デフォルトの名無しさん
2017/01/31(火) 05:03:19.87ID:IQXv4KrIRustもモジュール周りはちょっと嫌い。
modといいつつ、実質includeが基本みたいだけど、なんだか古めかしい。
0377デフォルトの名無しさん
2017/01/31(火) 05:14:32.48ID:iAIegLum0378デフォルトの名無しさん
2017/01/31(火) 11:32:06.32ID:x8DMpHTc単純に機能が足りてない。
conservative_impl_traitがないとアンボックス化したクロージャ返せないとか。
0379デフォルトの名無しさん
2017/01/31(火) 11:44:51.26ID:sCWKIGbuclosureにvがmutable borrowされてるためにエラーになってしまいました。
こういうのは何か回避する方法はあるんでしょうか?
fn main() {
let mut v = vec![1, 2, 3];
{
let mut takes_nums = |x| v[0] += x;
for i in 1..3 {
takes_nums(i);
// println!("{:?}", v[0]); // ここで一時的にvの値を確認したい
}
}
println!("{:?}", v);
}
0380デフォルトの名無しさん
2017/01/31(火) 12:08:39.86ID:7hNNIgfe確かにC++よりはマシだけど
0381デフォルトの名無しさん
2017/01/31(火) 12:33:39.17ID:yyJuX8zgtakes_numsからきちんと返す とか
https://play.rust-lang.org/?gist=12884b1ee4ef3196c70d52f5defacf70
0382デフォルトの名無しさん
2017/01/31(火) 14:03:31.13ID:sCWKIGbuなるほど。そうすると確かにいけますね。
0383デフォルトの名無しさん
2017/01/31(火) 15:01:08.68ID:16SeH9xyこんなこともできる
https://fraserblog.codewise.org/sneaking-a-peek-at-private-data-for-testing-in-rust/
0384デフォルトの名無しさん
2017/01/31(火) 17:27:00.00ID:19P3vDy60385デフォルトの名無しさん
2017/01/31(火) 19:31:33.91ID:FHFaV7L7永遠にunstableとか書いてあるんだけど
0386デフォルトの名無しさん
2017/01/31(火) 19:50:54.86ID:iAIegLumどうしても知る必要があるのならまずcompiler intrinsicsでググって一般的なintrinsicsについて調べてからcore::intrinsicsのドキュメントに戻ると良い
0387デフォルトの名無しさん
2017/01/31(火) 22:25:40.67ID:FHFaV7L7thx
0388デフォルトの名無しさん
2017/02/01(水) 16:47:26.59ID:t+0AKFTtjavaとかに喧嘩売ると荒れるからやめろや
0389デフォルトの名無しさん
2017/02/01(水) 18:13:30.15ID:UXwydrfk0390デフォルトの名無しさん
2017/02/01(水) 18:18:40.81ID:A+dqSgkk0391デフォルトの名無しさん
2017/02/01(水) 22:27:21.76ID:swnG7r4Kって時にRcで包んでcloneして複数に増やして使う
内部ではcloneされてかつ生き残ってる参照の数を保持していて
0になったらリソースを解放
GC云々言われるのは一般的にこのアルゴリズムがGCでも使われているから
って認識であってる?
0392デフォルトの名無しさん
2017/02/01(水) 23:10:00.44ID:vXBX0LGUWeakポインターは解放の判断時にカウントされないこともお忘れなく
0393デフォルトの名無しさん
2017/02/03(金) 03:50:46.78ID:o3QjYKDfhttps://blog.rust-lang.org/2017/02/02/Rust-1.15.html
ご存知の通りcustom deriveがstableに
それと、rustc自体のビルドシステムがRustで書き直されたとのこと
1.17からはMakefileを完全に廃止する予定で、それによってrustcを書くのにcrate.ioのパッケージを直接使えるようするための道筋か整うんだと
0394デフォルトの名無しさん
2017/02/03(金) 03:52:31.61ID:o3QjYKDf0395デフォルトの名無しさん
2017/02/03(金) 22:09:00.34ID:TA0AL/qz豆でも撒いてんのか?
0396デフォルトの名無しさん
2017/02/03(金) 22:45:31.22ID:o3QjYKDfstruct Soybean;
0397デフォルトの名無しさん
2017/02/03(金) 23:15:20.66ID:MzXAEQdU所で Rust 2.0 へのロードマップとか無いのか? 何に至れば 2.0 になるんだ?
0398デフォルトの名無しさん
2017/02/04(土) 03:35:44.48ID:Lsw0X+V50399デフォルトの名無しさん
2017/02/04(土) 04:51:36.32ID:KgCacN16https://internals.rust-lang.org/t/incremental-compilation-beta/4721
Incremental compilationがbeta段階に達したらしい
Nightlyユーザはcargoの実行時に以下のようにしてオプトインできる:
$ CARGO_INCREMENTAL=1 cargo <command>
またはrustcを直接呼ぶ場合:
$ rustc -Zincremental=<path> <other arguments>
0400デフォルトの名無しさん
2017/02/04(土) 14:50:05.31ID:HGLYAiwqそこんところどうなってるんだろう。この言語そもそもサーバー書く言語じゃなかったりする?
0401デフォルトの名無しさん
2017/02/04(土) 18:13:59.54ID:bWVhQOn0それを自分で書けないのは自分がクソと言ってるも同義だと思うけど
そんな難しいロジックが必要でもなかろうよ > graceful shutdown
0402デフォルトの名無しさん
2017/02/04(土) 18:37:54.59ID:KgCacN16詳細は知らん
0403デフォルトの名無しさん
2017/02/04(土) 22:15:04.50ID:maiRrllEやっぱり言語の問題じゃないよな。
これで心置きなく発言者に甘えんなアホって言えるわサンクス。
0404デフォルトの名無しさん
2017/02/05(日) 12:21:31.45ID:39kPthL5それまではC++使ってるからその時になったら起こしてくれ。
0405デフォルトの名無しさん
2017/02/05(日) 13:47:47.29ID:yZbwod3C0406デフォルトの名無しさん
2017/02/05(日) 13:52:10.30ID:1zIopPJZ0407デフォルトの名無しさん
2017/02/05(日) 13:57:36.06ID:u0uQCFq00408デフォルトの名無しさん
2017/02/05(日) 19:55:33.99ID:5xwhf5r6C++1x → C++14
C++1y → C++17
だと思ってたら違った。1xは欠番か
0409デフォルトの名無しさん
2017/02/08(水) 18:40:35.01ID:lAOVscE3自分の技術不足が恨めしい
0410デフォルトの名無しさん
2017/02/09(木) 10:17:09.71ID:X3gAJ9Ta0411デフォルトの名無しさん
2017/02/09(木) 11:56:02.46ID:LJBL065x0412デフォルトの名無しさん
2017/02/10(金) 05:58:09.39ID:jFfrPWyuところでstableのマイナーアップデートが来てる
Announcing Rust 1.15.1 - The Rust Programming Language Blog
https://blog.rust-lang.org/2017/02/09/Rust-1.15.1.html
0413デフォルトの名無しさん
2017/02/10(金) 17:59:28.97ID:XNSQcvUK0414デフォルトの名無しさん
2017/02/10(金) 18:00:49.21ID:hHNUUpqe0415デフォルトの名無しさん
2017/02/10(金) 18:19:20.79ID:3fWDw1w50416デフォルトの名無しさん
2017/02/10(金) 18:19:25.15ID:rXluJntyそれらは言語の問題ではなく、政治的な理由で消えたから。
(犯人はMSとApple)
0417デフォルトの名無しさん
2017/02/10(金) 19:00:45.32ID:Q2EFSTbD要素操作のために、必要以上にcloneしないといけない設計/実装してるなら増えるんじゃね
cloneしなくて済むスマートな実装手法を自然に書けるようになりたい
(書けないからいつも推敲してる)
0418デフォルトの名無しさん
2017/02/13(月) 10:28:11.76ID:zwnL86Oaで、結局Rustはモジカスのオナニー以上でも以下でもなかった件について
0419デフォルトの名無しさん
2017/02/13(月) 10:41:16.81ID:wHhLxWjt0420デフォルトの名無しさん
2017/02/13(月) 11:06:35.68ID:7X0vvEjV0421デフォルトの名無しさん
2017/02/13(月) 11:14:21.57ID:l/JrB4B7assert!(!(Rust <= モジカスのオナニー));
assert!(Rust.is_nan() || モジカスのオナニー.is_nan());
0422デフォルトの名無しさん
2017/02/13(月) 11:31:22.65ID:7X0vvEjV.to(Some(rust))
.duration(Duration::from_secs(30))
.finish();
0423デフォルトの名無しさん
2017/02/13(月) 11:49:18.40ID:zwnL86Oa火狐みたいなオナニーブラウザの自作自演以外でよ。
0424デフォルトの名無しさん
2017/02/13(月) 11:49:18.81ID:zwnL86Oa火狐みたいなオナニーブラウザの自作自演以外でよ。
0425デフォルトの名無しさん
2017/02/13(月) 11:56:22.97ID:VFoQx1wb0426デフォルトの名無しさん
2017/02/13(月) 13:51:05.15ID:THrV6nDMやっぱりD言語の方がいいってこと?
0427デフォルトの名無しさん
2017/02/13(月) 14:39:04.19ID:zwnL86Oaこれ使うくらいならC++の方が(Rustの謳い文句に反して)はるかに使いやすいしちゃんとものができる。
だからモジカスのオナニーでしかないって話。
0428デフォルトの名無しさん
2017/02/13(月) 18:36:27.18ID:3XLU4PQN実際に触ったことがあるなら「Mozillaが開発している&関係が深い」ことを評価の基、あるいはレッテル貼りに使うなんて的外れなことはしない
もっとまともな批判なら相手する人もいるだろうよ
0429デフォルトの名無しさん
2017/02/13(月) 21:28:32.27ID:7X0vvEjV0430デフォルトの名無しさん
2017/02/13(月) 22:11:11.49ID:2CyLjYwO0431デフォルトの名無しさん
2017/02/13(月) 23:19:53.96ID:8+uLQ/Rs0432デフォルトの名無しさん
2017/02/13(月) 23:51:37.77ID:g/I/A31s個人的にはライブラリ周りがコミュニティ頼り過ぎるのもうちょい公式主導で整備できんもんかねと思う。
0433デフォルトの名無しさん
2017/02/14(火) 00:44:04.76ID:qahXd/u8ああいうのも本来は公式が主導してしかるべきものだわな(rust-lang-deprecated/timeの代わりとして)
0434デフォルトの名無しさん
2017/02/14(火) 07:37:19.09ID:W2b/azRYchronoがダメなら次が出るだろうよ
0435デフォルトの名無しさん
2017/02/14(火) 08:11:42.74ID:JAgDzlFNhttps://users.rust-lang.org/t/chrono-0-3-released-and-the-future/9340/7
ここ見るとまだまだやる気に見えるが。
一人でやるの限界だからコミュニティ化したいとは書いてあるけど。
0436デフォルトの名無しさん
2017/02/14(火) 08:21:59.52ID:s4KAVx3xちょっとヘルプ求めただけでも。
0437デフォルトの名無しさん
2017/02/14(火) 08:24:38.08ID:w7iikRzO実際しばらくはmerge commitばかりやってたわけだし
0438デフォルトの名無しさん
2017/02/14(火) 08:38:47.54ID:JAgDzlFNというか時刻系ライブラリまで外注とかRust流行らせる気あんのか?
0439デフォルトの名無しさん
2017/02/14(火) 08:41:04.32ID:JAgDzlFN0440デフォルトの名無しさん
2017/02/14(火) 09:01:28.39ID:MfKEp5BT結局clock_getimeとか環境依存のが必要になる感じ
0441デフォルトの名無しさん
2017/02/14(火) 09:29:23.11ID:he6YB8dM0442デフォルトの名無しさん
2017/02/14(火) 10:17:09.44ID:gRGlEM3t0443デフォルトの名無しさん
2017/02/14(火) 10:29:11.59ID:DOzUz97uhttps://blog.rust-lang.org/2017/02/06/roadmap.html
> Rust should have 1.0-level crates for essential tasks
公式もやる気を見せてるしがんばってほしいね
0444デフォルトの名無しさん
2017/02/14(火) 13:02:14.37ID:yamMgOVS0445デフォルトの名無しさん
2017/02/14(火) 13:37:21.21ID:EX/xGDf7コミュニティ規模的にはそこまで差はないよね?
0446デフォルトの名無しさん
2017/02/14(火) 13:46:33.71ID:W2b/azRY何がお前をそうさせるのか
0447デフォルトの名無しさん
2017/02/14(火) 15:50:24.26ID:ze+N1Rxh0448デフォルトの名無しさん
2017/02/14(火) 17:25:27.66ID:EX/xGDf70449デフォルトの名無しさん
2017/02/14(火) 17:37:38.79ID:qahXd/u8>Repositories 6,413
https://github.com/search?q=language%3AD
>Repositories 5,754
先発の言語でこれな時点でねえ
0450デフォルトの名無しさん
2017/02/14(火) 18:24:47.18ID:tJceDBsJナノ秒まで扱わせろとか元号に変換させろとかうるさい注文が来るんだから
0451デフォルトの名無しさん
2017/02/14(火) 18:26:17.87ID:uwayiWk90452デフォルトの名無しさん
2017/02/14(火) 18:56:33.55ID:qahXd/u8let era = if ymd >= (1989, 1, 8) {
'H'
} else if ymd >= (1926, 12, 25) {
'S'
} else if ymd >= (1912, 7, 30) {
'T'
} else if ymd >= (1868, 1, 25) {
'M'
} else {
'?'
};
0453デフォルトの名無しさん
2017/02/15(水) 08:45:00.92ID:nJh54DV/0454デフォルトの名無しさん
2017/02/15(水) 10:42:25.80ID:9ZjtEPYx0455デフォルトの名無しさん
2017/02/15(水) 11:05:55.95ID:N3aAX75ATimeZoneサポートしてる言語で元号入ってるのあったんじゃね
0456デフォルトの名無しさん
2017/02/15(水) 11:40:15.46ID:Eq8lnkGdあああああ! guard内ではborrowしかしてねえだろ殺すぞ!
0457デフォルトの名無しさん
2017/02/15(水) 12:24:37.27ID:er7cKMeE考えてやんよ
0458デフォルトの名無しさん
2017/02/15(水) 12:58:26.10ID:Eq8lnkGdguard内ではCopyをimplしているs.xしか使用していないから本来moveの必要はないはず
https://play.rust-lang.org/?gist=c2c1e71a7579c10edfe2e9ceea98f9fc
こうしたらコンパイルが通ったけど、elseあたりがとてもキモい
https://play.rust-lang.org/?gist=12985ffd8cef76c41dd6f3790afa0b42
まあ既にコンパイルは通ってるから直せなくても別に困らないんだけど、なんかキモい
0459デフォルトの名無しさん
2017/02/15(水) 13:39:24.49ID:JsTxjjGi0460デフォルトの名無しさん
2017/02/15(水) 14:48:20.04ID:kyvGdeQY0461デフォルトの名無しさん
2017/02/15(水) 15:04:13.32ID:er7cKMeEttps://play.rust-lang.org/?gist=22ace15b6d140db6d0c3b007ea155e8b&version=stable&backtrace=0
無用にCopy/Cloneしてんじゃねーよとは思わなくはないけど、多分COWで最適化されて実際はその動きをしない...と思いたい
if elseの気持ち悪さはなくなるから、derive宣言が許されるならこれで回避したい所存
0462デフォルトの名無しさん
2017/02/15(水) 15:11:30.78ID:er7cKMeEそこは無視してくれい
0463デフォルトの名無しさん
2017/02/15(水) 15:56:56.27ID:JsTxjjGihttps://github.com/bluss/rfcs/blob/master/text/0107-pattern-guards-with-bind-by-move.md
馬鹿なことをしない限りは問題無さそうなんだけど、Cell::setとか使われると厄介かも
0464デフォルトの名無しさん
2017/02/15(水) 16:16:51.99ID:8li9lRMw0465デフォルトの名無しさん
2017/02/15(水) 16:24:22.19ID:kyvGdeQY0466デフォルトの名無しさん
2017/02/15(水) 16:31:16.56ID:Eq8lnkGd>>461
実際のコードではSに相当するstructがsize_ofで50バイト以上あるようなものだから最適化に賭けてcloneしまくるのも怖いんだよなあ
ただ、将来的に>>463が実装される予定なら一時的なworkaroundとしてそうするのもありかな……
みんな助言サンクスです
0467デフォルトの名無しさん
2017/02/15(水) 17:13:01.01ID:k6zWy9I50468デフォルトの名無しさん
2017/02/16(木) 10:31:03.92ID:Ql+ZhAJAその欠陥に当てるパッチすら一年以上放置。
本当この言語おわってんな。
Cを置き換えるとか腹が痛くなるわ。
0469デフォルトの名無しさん
2017/02/16(木) 11:24:08.77ID:JPLcUbCW0470デフォルトの名無しさん
2017/02/16(木) 12:09:50.46ID:QxzW1FU80471デフォルトの名無しさん
2017/02/16(木) 12:10:46.27ID:AljdSsft0472デフォルトの名無しさん
2017/02/16(木) 18:35:45.29ID:jxTm1qP30473デフォルトの名無しさん
2017/02/16(木) 18:40:43.39ID:RfRD56xRマルチOSのコアライブラリという残りのパイでrustは芽を出すといいなぁ
nimよりはマシではないかと思っている
0474デフォルトの名無しさん
2017/02/16(木) 20:59:32.12ID:VUboIYs6Rustはvar val:Type形式だし
0475デフォルトの名無しさん
2017/02/16(木) 21:05:18.40ID:dGmRkXVH0476デフォルトの名無しさん
2017/02/16(木) 21:18:32.52ID:RfRD56xRワロタ、生ポインタがーならまだしもそんな所を突っ込むかw
0477デフォルトの名無しさん
2017/02/16(木) 21:30:01.61ID:WlZ7N49Hその下のハードウェアAPIがまずC/C++だしunsafeまみれになるくらいならC++で別に... となりがちな予感
0478デフォルトの名無しさん
2017/02/16(木) 21:48:54.09ID:kTImIXI/下層レイヤーをunsafeでラップして中層以上はrustだけで書くからunsafeだらけにはならないよ
unsafeだらけになるような書き方する奴がC/C++で書いたら生ポインタ弄り回したり、独自macroで汚したりする予感
0479デフォルトの名無しさん
2017/02/16(木) 21:50:51.71ID:QxzW1FU80480デフォルトの名無しさん
2017/02/16(木) 22:52:06.05ID:kEY1d4Owおれはもう別言語にしろと言いたいけど。
0481デフォルトの名無しさん
2017/02/16(木) 23:16:50.76ID:Ctthh1M50482デフォルトの名無しさん
2017/02/16(木) 23:20:52.50ID:DGgcs6h7Type val単体だとそう弊害は無いんだけど、例えばジェネリクス<>を使うことにするとA<B> x; っていう文が宣言なのか比較演算してるのかパーサが分かりにくいとか、
キャストを(Type)xっていう文法にしたら x + (A) (y)っていう式はyをAにキャストしてるのかA(y)という関数なのかが分からないとか、
パーサに型やらシンボルの種類とかいう文脈を保持させる必要が出てくる。
おかげでCもC++もJavaもまともにパースしようとすると手で書いた方が良いってくらい面倒になってる。
0483デフォルトの名無しさん
2017/02/17(金) 00:33:46.93ID:yhaDaC8E0484デフォルトの名無しさん
2017/02/17(金) 00:53:54.84ID:sPCLdDuU0485デフォルトの名無しさん
2017/02/17(金) 01:13:10.67ID:9N3wqPif0486デフォルトの名無しさん
2017/02/17(金) 05:44:50.97ID:ICuCz4ej0487デフォルトの名無しさん
2017/02/17(金) 08:06:47.24ID:nCBINic8SQLiteをRustで書き直そう
0488デフォルトの名無しさん
2017/02/17(金) 10:52:00.95ID:jHhPXKUT0489デフォルトの名無しさん
2017/02/17(金) 11:12:03.68ID:3FtIr36J>>9
0490デフォルトの名無しさん
2017/02/17(金) 14:07:26.39ID:eFr6pWHl0491デフォルトの名無しさん
2017/02/17(金) 18:21:18.09ID:5sY5yHIi0492デフォルトの名無しさん
2017/02/17(金) 18:59:34.73ID:ZDBavghI0493デフォルトの名無しさん
2017/02/17(金) 19:18:49.28ID:sPCLdDuU0494デフォルトの名無しさん
2017/02/17(金) 20:52:51.39ID:jHhPXKUTCで書いてる部分をrustに置き換えたら十分って話
アセンブリ言語部分を置き換えたいなんて一言も言ってない
0495デフォルトの名無しさん
2017/02/17(金) 21:22:35.36ID:krcZKPEA0496デフォルトの名無しさん
2017/02/17(金) 22:06:03.85ID:y4+T5netだな
0497デフォルトの名無しさん
2017/02/18(土) 09:19:54.20ID:PNO7DmhT>>15
同じ話を何度されてもなw
LinuxをRustで書き換えればーの話はよほど変な角度から攻めないと無理
0498デフォルトの名無しさん
2017/02/18(土) 10:17:07.05ID:bUHmqYrsそれは既に部分的にやってるんだっけ
>>497
?
0499デフォルトの名無しさん
2017/02/18(土) 12:01:36.21ID:xPVYVI1Aこれはそういうものとして受け入れるしかないですか?
0500デフォルトの名無しさん
2017/02/18(土) 20:39:36.76ID:Ul87se3O0501デフォルトの名無しさん
2017/02/19(日) 01:05:13.21ID:s3EB+fhT0502デフォルトの名無しさん
2017/02/19(日) 06:50:46.22ID:v/sHJsoq0503デフォルトの名無しさん
2017/02/19(日) 08:30:58.18ID:2oS2o7no0504デフォルトの名無しさん
2017/02/19(日) 08:34:53.71ID:v/sHJsoq0505デフォルトの名無しさん
2017/02/20(月) 18:49:57.67ID:ehHRa0XEfn x((a, b): (u32, u32)) {}
0506デフォルトの名無しさん
2017/02/20(月) 22:04:29.62ID:97wV3Rfs0507デフォルトの名無しさん
2017/02/20(月) 23:14:15.09ID:mI2RJMjCと思って試したら、やっぱり呼び出しも
x((1, 1));
で書く必要があった!!!
どういうケースで使うんだよ、このタプル引数の関数
0508デフォルトの名無しさん
2017/02/20(月) 23:38:34.63ID:ehHRa0XE0509デフォルトの名無しさん
2017/02/21(火) 08:08:29.59ID:KVrlVIJbttps://play.rust-lang.org/?gist=c66f3f420befbdc37090ec793ebb9735&version=nightly&backtrace=0
0510デフォルトの名無しさん
2017/02/21(火) 08:12:10.81ID:KVrlVIJb0511デフォルトの名無しさん
2017/02/21(火) 08:20:55.82ID:eTJT09tJ>>508の言いたい事を理解しようと首を傾げてたけどfn fのtypoなんだろうな
それとタプル引数関数の関係性は分からんけど、それはもう考えまい
0512デフォルトの名無しさん
2017/02/21(火) 08:24:42.94ID:9Kn0UuQq0513デフォルトの名無しさん
2017/02/22(水) 01:07:33.12ID:s4CGuq4I>>508のfooは関数名でFoo(a, b)はtuple structに対する構造化束縛で
右辺のFooは引数リストの1つめの仮引数への型注釈だよ。
静的言語だからパターンが現れるとたまたまLHSと型注釈の両方に型名が出てくるの。
これがもし動的言語ならLHSに型名はでてこない。
// js
function foo([a,b]){}
ちなみにa,bは分解された束縛。
0514デフォルトの名無しさん
2017/02/22(水) 11:24:58.93ID:IzdwqWc0もっとborrow checkerが賢くなってくれたら嬉しい。個人的にはimpl Traitよりもありがたい
0515デフォルトの名無しさん
2017/02/22(水) 11:25:33.44ID:dczNCglp0516デフォルトの名無しさん
2017/02/23(木) 09:04:21.53ID:zngwxGAXhttp://benchmarksgame.alioth.debian.org/u64q/performance.php?test=knucleotide
0517デフォルトの名無しさん
2017/02/23(木) 09:41:00.54ID:dRZrz+vDしかし、流石にC言語勢がプライドかけて1位奪取に走ると思う
0518デフォルトの名無しさん
2017/02/23(木) 10:36:58.61ID:IXi6HShyこりゃ某S系質問サイトで人気トップなのもステマだろうな
ステマで人気を膨らましてその実実用にもならないクソ言語
クソモジラがケツモチしてるんだからステマで人気水増ししてるのも当然の帰結と言えるか
0519デフォルトの名無しさん
2017/02/23(木) 13:08:05.53ID:H4R0mXRfステマするほどの価値があるようにも思えないが。
0520デフォルトの名無しさん
2017/02/23(木) 13:16:02.83ID:LSEhsWdS自分もこんなゴミステマしても虚しいだけだと思うんだが、
どうやらモジラにとってはこの言語が流行ってくれないと困るらしい
だから「これからはRustの時代!」みたいな工作をStack某とか上のベンチマークとかでやってんだろう。
最近ロゴ変えたことといい、どうもクソモジラはOSS界の電通目指してるくさいな。
0521デフォルトの名無しさん
2017/02/23(木) 13:25:43.94ID:U3ebhjnw=> Rustで実装されたServoの完成度が上がり流行る
=> ServoがWebkitの代わりに使われる
=> Servo組み込みサポート費用がMozillaに払われる
随分と迂遠なMozillaの経営改善計画だったんだよ!と頑張ってみる
ステマされて困る人はパイを奪われるWebkit関係者かな?
0522デフォルトの名無しさん
2017/02/23(木) 13:30:47.35ID:zngwxGAX0523デフォルトの名無しさん
2017/02/23(木) 13:44:41.82ID:LSEhsWdSそれ本気で言ってるとしたら中の人乙としか言いようがないな。
0524デフォルトの名無しさん
2017/02/23(木) 14:32:01.45ID:eozO90Y30525デフォルトの名無しさん
2017/02/23(木) 14:51:38.09ID:zngwxGAX0526デフォルトの名無しさん
2017/02/23(木) 14:51:48.47ID:LSEhsWdS別に理由もなくクソ連呼してるわけでもないんだがな。
CやC++で簡単に書けることもコンパイラに弾かれて書けないわ
そもそもシンタックスが未完成だわ
ライブラリも貧弱で、かつCライブラリ使うためのラッパも
unsafe層とRust層の二層無駄に必要だわ
これを実用言語としてごり押しするクソモジラの良識のなさが一周回って笑える
もともとモジラに良識なんてないけどさ。
0527デフォルトの名無しさん
2017/02/23(木) 14:56:46.73ID:yq/Deji10528デフォルトの名無しさん
2017/02/23(木) 15:07:19.45ID:LSEhsWdS危険な操作とか言い出す判定がクソすぎて明らかに安全なパターンもはじいて来るだろ。
おかげでボイラープレートなコードが増えること増えること。
そこをなんとかごまかすための文法拡張の導入は機能に関係ないとかで後回し
ついでに型もうるさい上にドキュメント見ても返り値の型がわからんで型合わせが総当たり
確かに物が何一つ作れないという意味では安全だわな。危険なものも含めて一切できないから。
0529デフォルトの名無しさん
2017/02/23(木) 15:11:18.18ID:U3ebhjnwswiftスレの荒しが波に乗らなくて遊びにきたんだろうから、少し待てばまたあっちに戻ると思うよ
0530デフォルトの名無しさん
2017/02/23(木) 19:22:05.86ID:cQa0oJ+5どうせクソコードなんだろう
無能のクセに文句だけは一流
0531デフォルトの名無しさん
2017/02/23(木) 19:36:29.28ID:9wlFqT9C>人気水増ししたら何かいいことあるの?
Rustライブラリの開発者が増える→ライブラリが充実する
0532デフォルトの名無しさん
2017/02/23(木) 20:03:57.20ID:cNXolJMYC#とJSで何でも作れるご時世で
0533デフォルトの名無しさん
2017/02/23(木) 20:11:53.29ID:eZ3ictl+どういう関係があるのか
0534デフォルトの名無しさん
2017/02/23(木) 20:15:09.50ID:zngwxGAXcrate公開したりしてんの?
0535デフォルトの名無しさん
2017/02/23(木) 20:25:56.16ID:LSEhsWdSそういう、Rustコンパイラ通らなきゃクソコードって思い込みが一番腹立つんだよ
0536デフォルトの名無しさん
2017/02/23(木) 20:42:34.44ID:oSrrQwofでもそうなんでしょ?
0537デフォルトの名無しさん
2017/02/23(木) 21:00:48.13ID:LSEhsWdSCでバグなく動いてたコードが移植できない時点でな。
0538デフォルトの名無しさん
2017/02/23(木) 21:06:08.32ID:SG08isVjお前には分からんのだろうが
0539デフォルトの名無しさん
2017/02/23(木) 21:06:35.79ID:FuQeN9Oq>>534
人に尋ねるときはまず自分から晒すのが礼儀やで
0540デフォルトの名無しさん
2017/02/23(木) 21:11:35.09ID:LSEhsWdSっつってんのに、誰一人まともに聞きやしねえ。
まあこんなスレで称賛してるあたりステマ部隊なんだろうが。
0541デフォルトの名無しさん
2017/02/23(木) 21:15:20.74ID:vAxbMLg6今日の患者さんはなかなか元気だな。
0542デフォルトの名無しさん
2017/02/23(木) 21:15:27.70ID:eZ3ictl+嫌なら使わないで済ませられないの?
周りに熱心な布教野郎がいて迷惑してるのか
0543デフォルトの名無しさん
2017/02/23(木) 21:17:02.17ID:kHt4tzR1それはクロージャの記述
// rust
let f = |x| x + 1; // 美しい
f(123); // 美しい
g(|x| x + 1); // 美しい
# ruby
f = lambda {|x| x + 1} # 汚い
f = ->(x) {x + 1} # おぞましい
f.call(123) # 汚い
f.(456) # 見苦しいドット
f[789] # 悲しい
g {|x| x + 1} # 見苦しい中括弧
// javascript
var f = x => x + 1; // 見苦しい矢印
f(123); // 美しい
// c++
auto f = [](int x) -> int {return x + 1;}; // もはや悲惨
f(123); // 美しい
0544デフォルトの名無しさん
2017/02/23(木) 21:19:45.77ID:sZtROie80545デフォルトの名無しさん
2017/02/23(木) 21:30:27.03ID:LSEhsWdS周りっつーか上司が誰に吹き込まれたのか既存のC資産をRustに書き換えろとかふざけた話を下ろしてきた。
チーム全員現在進行形でぶちギレてて今度上司の上司と話つける予定よ。
0546デフォルトの名無しさん
2017/02/23(木) 21:35:29.77ID:sZtROie8なにそれ、Rust使ったことなくてスレ見てるだけだから別の言語覚えながらリファクタリングとかむしろ羨ましいんだけど。
0547デフォルトの名無しさん
2017/02/23(木) 21:36:35.33ID:eZ3ictl+あぁ、マジで実害あるのか…
でも上司だってこのスレ見て決めたわけじゃない、ここで憂さ晴らししてもしょうがないだろ
まあ大変だろうが頑張ってくれ
0548デフォルトの名無しさん
2017/02/23(木) 21:37:38.93ID:LSEhsWdSなんだ使ったことないのに称賛してたのか。
関数一つ移植するのに半日とかザラで発狂しそうになるぞ。
悪いことは言わんから本当にやめとけ。
0549デフォルトの名無しさん
2017/02/23(木) 21:38:33.89ID:sZtROie8え?称賛なんかしてないけど?
0550デフォルトの名無しさん
2017/02/23(木) 21:41:45.75ID:LSEhsWdSうらやましいとか言われたからRust好きでたまらんのかと思ったわ。
0551デフォルトの名無しさん
2017/02/23(木) 21:48:04.84ID:DPtsYYmf0552デフォルトの名無しさん
2017/02/23(木) 21:49:23.09ID:TLItgOP3グローバル変数にバッファプール置いてるとかだと確かにストレートな移植はできなさそうだな。
0553デフォルトの名無しさん
2017/02/23(木) 21:54:24.67ID:LSEhsWdSRust基準でプログラミングセンス語るクソモジラ信者乙。
0554デフォルトの名無しさん
2017/02/23(木) 21:58:31.77ID:zngwxGAX分かったからここで鬱憤を晴らすのはやめてくれ
0555デフォルトの名無しさん
2017/02/23(木) 22:04:06.85ID:TLItgOP30556デフォルトの名無しさん
2017/02/23(木) 22:05:57.88ID:NuCuZGCr0557デフォルトの名無しさん
2017/02/23(木) 22:08:46.56ID:SG08isVjID:LSEhsWdS にそれが出来たら、こんなところで暴れてないんだよなあ。
0558デフォルトの名無しさん
2017/02/23(木) 22:09:53.57ID:cNXolJMYそれなら少しは有意義やろ?
0559デフォルトの名無しさん
2017/02/23(木) 22:14:46.67ID:X5Zb9v7qhomuの作者
0560543
2017/02/23(木) 22:17:35.80ID:kHt4tzR1foldの自然さ
// rust
let a = [1, 2, 3].iter().fold(100, |acc, x| acc + x); // 美しい
# ruby
a = [1, 2, 3].inject(100, :+) # 文句は無い
b = [1, 2, 3].inject(200) {|acc, x| acc + x} # 初期値とブロックを離して書くのが寂しい
(* OCaml *)
let a = List.fold_left (+) 100 [1; 2; 3];; (* 文句は無い *)
let b = List.fold_left (fun acc x -> acc + x) 200 [1; 2; 3];; (* funと->がやっぱり気になる *)
0561デフォルトの名無しさん
2017/02/23(木) 22:32:19.67ID:K3Cm2dtrノード間のリンク構造が頻出してると、移植できなくはないが、Rust初心者はコンパイルできなくて詰む
あと、変数を強引にキャストしまくってるようなやつは、移植初心者にはつらそう
0562デフォルトの名無しさん
2017/02/23(木) 22:43:51.07ID:8gwVa+zN0563デフォルトの名無しさん
2017/02/23(木) 22:49:52.60ID:rTUbWHRoborrow checkerにマジでキレる5秒前
なんかrustコーディングしてるとあいつとアームレスリングしてる気分だよ
0564デフォルトの名無しさん
2017/02/23(木) 23:12:24.86ID:ItvUsJzdあと、borrow checkerに怒られる場合にその箇所の修正だけで済むのか根本的に間違ってるのか分からないことが多くて困ることが多い
0565デフォルトの名無しさん
2017/02/23(木) 23:26:16.38ID:TLItgOP30566デフォルトの名無しさん
2017/02/23(木) 23:27:05.57ID:9wlFqT9CJavaScript
var a = [1,2,3].reduce((acc,x)=>acc+x, 100);
0567デフォルトの名無しさん
2017/02/23(木) 23:28:39.85ID:zngwxGAX0568デフォルトの名無しさん
2017/02/23(木) 23:33:26.07ID:JrwuNkgjそのあとリファクタリングでunsafe取っていくかそのまま放置かは状況次第だけど。
0569デフォルトの名無しさん
2017/02/23(木) 23:35:46.51ID:9wlFqT9C0570デフォルトの名無しさん
2017/02/23(木) 23:42:42.37ID:UGVUxePL0571デフォルトの名無しさん
2017/02/23(木) 23:45:15.15ID:TLItgOP3ところでRustとEmscriptenでWebasm吐くって出来るんですよね。
0572デフォルトの名無しさん
2017/02/23(木) 23:58:21.84ID:DPtsYYmf高級言語使いが低級言語を使えない言語扱いしてるのと同レベルの幼稚な文句
ただひとつ言えるのはこいつは無能でセンスもゼロ
0573デフォルトの名無しさん
2017/02/24(金) 01:32:47.64ID:/cLlv/nZ> // rust
> let f = |x| x + 1; // 美しい
この |x| x + 1 のどこが美しいか理解不能
この後で悲惨と書いてるC++のと50歩100歩のアドホックな書き方
Schemeなどの (lambda (x) (+ x 1)) のほうが遥かに構文が統一的で美しい
0574デフォルトの名無しさん
2017/02/24(金) 08:44:12.21ID:F/TDaiUX0575デフォルトの名無しさん
2017/02/24(金) 08:46:52.43ID:VQegiGIK0576デフォルトの名無しさん
2017/02/24(金) 10:20:37.37ID:Lvwt6BNZ1. Rustはネイティブコードにコンパイルされる
2. Rustの構文制約はJavaと比べ物にならないほどキツい(良し悪しはともかく)
3. Javaのほうが圧倒的に過去資産がある
こんなもんか
0577デフォルトの名無しさん
2017/02/24(金) 11:20:14.42ID:Eio5IVQ5なんでここだけRubyなんだと。他はC系かML系風味なのに。激しく浮いてる
C++ですらunified(笑)とか言って普通の関数とクロージャを近付けようとしているのに
それとは別に、開き括弧と閉じ括弧が同じなのも後々困らねーかと思ってしまう
0578デフォルトの名無しさん
2017/02/24(金) 14:20:48.79ID:fnwYTLZ/{ } とか見たくない
0579デフォルトの名無しさん
2017/02/24(金) 17:22:18.52ID:sBRqP5fz0580デフォルトの名無しさん
2017/02/24(金) 17:24:16.93ID:t5bNNBCg0581デフォルトの名無しさん
2017/02/24(金) 18:23:00.24ID:Eio5IVQ5わざわざそれを踏襲したりするのは悪い方の好みじゃね?
0582543
2017/02/24(金) 18:39:46.43ID:zaWF9UZ/クロージャを返すクロージャというふうに、連なったときの表現を見る
(* OCaml ウルトラスムーズ。呼び出し部分もシンプル *)
let f = fun x -> fun y -> fun z -> x + y + z;;
print_int (f 1 2 3);;
// rust move無しで書けたならよかった?
// |x| |y| |z| x + y + z; ←うーん?
let f = |x| move |y| move |z| x + y + z;
println!("{}", f(1)(2)(3));
# ruby こうして見ると意外な統一感を感じなくも無い
f = lambda {|x| lambda {|y| lambda {|z| x + y + z}}}
p f.(1).(2).(3)
>>573
rustのが断然シンプルだと思うけど(構文の統一感とやらについてはさておき)
あとlisp系言語の中でSchemeだけがクロージャの扱いが自然なんだっけ?
ちなみにまったく理解してないし、しかも聞きかじりで、多分記憶違いだけど
>>577
そもそもはSmalltalkのブロックの中の縦線なのかなぁ
0583デフォルトの名無しさん
2017/02/24(金) 23:22:20.10ID:yM4uvxXG> そもそもはSmalltalkのブロックの中の縦線なのかなぁ
それならこうした方が自然。
let f = :arg1 :arg2 arg1 + arg2;
let f = :arg1 :arg2 { arg1 + arg2 };
それよりこっちの方が良い
let f = (a, b) -> a + b;
`-> T`が戻り値の型の宣言だからこれはないだろう。
こうもならないだろうね。
let f = [ :a :b | a + b ];
無名関数の引数が:arg1で空白区切りは発狂するやつが出る。
matzがなぜ無名関数の引数リストにSmalltalkのブロックの引数リストの構文じゃなくて
一時変数の宣言の構文を使ったかはわからん。
0584デフォルトの名無しさん
2017/02/25(土) 00:07:58.70ID:jGQ3Wak9ラムダ計算風に `let f = \x y. x + y` はどうかな
0585デフォルトの名無しさん
2017/02/25(土) 01:20:07.77ID:hUBRL+mAお前らは何年前に分岐した世界線にいるんだw
0586デフォルトの名無しさん
2017/02/25(土) 04:54:52.43ID:nJl4hm2p0587デフォルトの名無しさん
2017/02/25(土) 19:53:48.61ID:jxiHI5n5なんでまたこんな名前にしたんだろうか
0588デフォルトの名無しさん
2017/02/25(土) 20:15:31.45ID:FTYjcOZq四文字でさえあればいいと思ってる
それよりも嫌なのはifの波括弧
短く書きたいときCなら
if (cond) foo(); else bar();
で、目に優しい
if cond {foo();} else {bar();}
これはたまらなく苦痛
C方式に戻してもらうか三項演算子の導入をしてほすい
0589デフォルトの名無しさん
2017/02/25(土) 20:19:33.66ID:FTYjcOZqlet y = if x == 5 { 10 } else { 15 }; // y: i32
↑これよりはやっぱ↓
let y = x == 5 ? 10 : 15;
0590デフォルトの名無しさん
2017/02/25(土) 20:37:24.76ID:gF7KaGBmそれがC言語でどれだけのバグを生み出してきたか考えたら有り得ないと思うのだが。
”俺は間違わない?” だったらC使ってればいいんじゃね?
0591デフォルトの名無しさん
2017/02/25(土) 20:39:21.20ID:FTYjcOZqどれだけのバグを生み出してきたの?
0592デフォルトの名無しさん
2017/02/25(土) 20:42:35.76ID:gF7KaGBmhttp://qiita.com/tomohisaota/items/e6995e89b843e1295c08
0593デフォルトの名無しさん
2017/02/25(土) 20:43:00.57ID:AAACSty60594デフォルトの名無しさん
2017/02/25(土) 20:48:49.11ID:FTYjcOZqほえー
あーifに波括弧大事、これがあるからやっぱ波括弧大事だなぁ
波括弧ないからこそこんなことになっちゃうんだなぁ
波括弧さえあればこれ避けられたのになぁ
波括弧無しのifなんてあり得ないよなぁ
ってこと?
あとはどれだけのバグを生み出してきたの?
0595デフォルトの名無しさん
2017/02/25(土) 20:58:23.81ID:AAACSty6if (cond)
foo();
bar();
の形式(ただし全角スペースはインデントの代わり)のバグはAppleの例に限らず普遍的なものだろ
0596デフォルトの名無しさん
2017/02/25(土) 21:03:09.97ID:gF7KaGBm多くのコーディング規約で禁止されてる。(例えばGoogle C++ Style Guideとか)。
わざわざそういう項目がある理由は、まぁ言わなくても解るよね?
0597デフォルトの名無しさん
2017/02/25(土) 21:04:36.43ID:OjMnqw5o万一紛れ込んでもテストで拾うしっ!!!!!!!!!!
0598デフォルトの名無しさん
2017/02/25(土) 21:08:17.05ID:FTYjcOZqちょっと茶化したけど、理屈は分からないというわけではないよ
実際にrustのifがこうなってる経緯は知らないけど
現状について少なくともそういう視点で支持する意見があるのは正直驚いた
勉強になりました
0599デフォルトの名無しさん
2017/02/25(土) 21:11:22.58ID:ihKm/PIs0600デフォルトの名無しさん
2017/02/25(土) 21:16:11.60ID:oY1Z/R8whttps://github.com/rust-lang/rust/issues/1698
0601デフォルトの名無しさん
2017/02/25(土) 21:17:27.66ID:A0aZ5Z9S0602デフォルトの名無しさん
2017/02/25(土) 21:20:30.53ID:AAACSty6let x = if cond {
f()
} else {
g()
};
もしf(cond ? g() : h())みたいな形で使おうと思っていたのなら、そもそもそれ読みづらいから一旦バインドしてからその結果を使おう
let x = if cond {
g()
} else {
h()
};
f(x);
0603デフォルトの名無しさん
2017/02/25(土) 21:22:26.82ID:oY1Z/R8whttps://github.com/rust-lang/rfcs/issues/1616
めっちゃ劣勢だけど
0604デフォルトの名無しさん
2017/02/25(土) 21:30:13.94ID:FTYjcOZq一点だけ
let x = if cond {
g()
} else {
h()
};
f(x);
↑これよりやっぱ↓これが読みやすい(個人の感想です)
f(cond ? g() : h())
0605デフォルトの名無しさん
2017/02/25(土) 21:51:13.57ID:gF7KaGBmと書く奴が現れるデメリットの方がでかいと思うわ
0606デフォルトの名無しさん
2017/02/25(土) 21:53:07.56ID:OjMnqw5o0607デフォルトの名無しさん
2017/02/25(土) 22:40:54.42ID:Cjys9ebm三項演算子は何かいい感じのやつを追加してくれ
0608デフォルトの名無しさん
2017/02/25(土) 22:48:27.45ID:jxiHI5n50609デフォルトの名無しさん
2017/02/25(土) 23:00:24.91ID:BrkcZ5hg0610デフォルトの名無しさん
2017/02/25(土) 23:54:27.38ID:+Hmh+RyZioでも使ってろ
0611デフォルトの名無しさん
2017/02/25(土) 23:57:17.74ID:jxiHI5n50612デフォルトの名無しさん
2017/02/25(土) 23:58:32.04ID:0X9bWbPB0613デフォルトの名無しさん
2017/02/26(日) 02:13:52.49ID:Xq2/OYkK波括弧をダサいというのは分かる
0614デフォルトの名無しさん
2017/02/26(日) 02:26:37.59ID:kIbkRe9iif (x > 0) x else -x
個人的にはブレースなしだとelseの前後1トークンの範囲の視認性が低く感じる
0615デフォルトの名無しさん
2017/02/26(日) 02:27:19.95ID:hKGUofZ00616デフォルトの名無しさん
2017/02/26(日) 11:17:28.79ID:dRlELnWs奴ら頭良いからあれでも上手く回ってるんだろうな。
逆に、波括弧省略するなって言われてる奴らは信用されてないってことなんだよ。
0617デフォルトの名無しさん
2017/02/26(日) 11:28:50.68ID:kIbkRe9i俺は当然ながら、例えばGoogleの人たちなんかよりよっぽど頭が悪いからブレースは省略しないよ
0618デフォルトの名無しさん
2017/02/26(日) 12:56:41.32ID:ilyf8Ugu頭の悪い人は無理に波括弧省略しなくていいんだぞ
だれもそれを咎めはしないし止めもしない
0619デフォルトの名無しさん
2017/02/26(日) 13:14:04.69ID:j+1S0ikr空の波括弧さんありがとう!!と感謝する機会が多くなる
0620デフォルトの名無しさん
2017/02/26(日) 13:42:37.90ID:n9+kiTzj0621デフォルトの名無しさん
2017/02/26(日) 13:57:31.18ID:AijJH6kn残念だけど常に付ける派だが省略するななんて言われたこと無いからそんな煽り無駄
それに自分だけじゃないんだよ。信頼出来るメンバーだけで開発するならRustを使う必要なんてない。
0622デフォルトの名無しさん
2017/02/27(月) 14:37:50.15ID:8fV4SlqM激しく同意
0623デフォルトの名無しさん
2017/02/27(月) 14:55:00.32ID:IwI2aqEgRustは設計思想からして堅牢性が重視する言語なので
むしろ波括弧無しは設計思想に反する構文
0624デフォルトの名無しさん
2017/02/27(月) 18:31:01.83ID:3oI2dcr00625デフォルトの名無しさん
2017/02/27(月) 19:58:29.36ID:LZ77JUIBttps://ocaml.org/learn/tutorials/if_statements_loops_and_recursion.ja.html#beginend
let max a b = if a > b then a else b;;
でありウルトラシンプル
複数にしたいときは丸カッコかbegin-end
if 1 = 0 then
print_endline "THEN"
else begin
print_endline "ELSE";
failwith "else clause"
end;;
if 1 = 0 then
print_endline "THEN"
else (
print_endline "ELSE";
failwith "else clause"
);;
こういう世界だと波括弧よりもbegin-endがシックリきてるように見えなくもない
0626デフォルトの名無しさん
2017/02/27(月) 20:06:13.47ID:zLpKV4Hz0627デフォルトの名無しさん
2017/02/27(月) 21:47:19.08ID:C84dJOXo冷静に考えてみ?中括弧だって別に見やすい記号じゃない
0628デフォルトの名無しさん
2017/02/27(月) 23:55:54.57ID:/1/jo1+J0629デフォルトの名無しさん
2017/02/28(火) 00:02:16.49ID:JC90/ck5俺も慣れだと思う
括弧あった方が統一性があって俺はむしろ見やすい
0630デフォルトの名無しさん
2017/02/28(火) 00:20:31.68ID:hQ8vIQRp0631デフォルトの名無しさん
2017/03/01(水) 13:27:14.36ID:dbhoX2Ophttps://rust.connpass.com/event/48826/
0632デフォルトの名無しさん
2017/03/01(水) 14:13:16.39ID:SH8mWFxKそういうのに集まるのって、入門が趣味の人でしょ
0633デフォルトの名無しさん
2017/03/01(水) 22:45:28.30ID:gWF4n/wu臆するな、前へ進めよ。
0634デフォルトの名無しさん
2017/03/02(木) 17:47:06.67ID:5xdornxHhttps://github.com/rust-lang-nursery/rls
0635デフォルトの名無しさん
2017/03/02(木) 18:10:52.07ID:io4sIXyE0636デフォルトの名無しさん
2017/03/02(木) 19:04:04.08ID:u/9aEmwY一周回ってクライアントモデルが良いなってことにならなければ良いけどと心配してる
0637デフォルトの名無しさん
2017/03/02(木) 19:24:21.19ID:dGAZp2xa0638デフォルトの名無しさん
2017/03/02(木) 22:21:45.15ID:TuErB/Pjlanguage server protocolはコンパイラじゃない。
rustだけのものじゃないし。
0639デフォルトの名無しさん
2017/03/02(木) 23:53:09.94ID:unB1K5KYMSが切った規格っぽいけど、MSは使ってて流行ってるのかねぇ
0640デフォルトの名無しさん
2017/03/02(木) 23:58:57.23ID:5xdornxH不満があるとすれば、初期化に時間がかかる(ただし2回目以降は少し速い)のと入力の度の解析に少し時間がかかる(ただしcargo checkよりは速い)のとキャッシュがクソでかいところかな
0641デフォルトの名無しさん
2017/03/03(金) 02:48:30.02ID:NOi6E2uI流行ることなく誰にも使われず錆びていくプログラミング言語、それがRust
ルストハリケーン
0642デフォルトの名無しさん
2017/03/03(金) 02:50:44.93ID:8SEA7Mttエディタでコード補完とかフォーマットとか(VisualStudioのIntellisenseのようなもの)を実現するためのプロトコル。
エディタの機能拡張のためのものだよ。
0643デフォルトの名無しさん
2017/03/03(金) 05:22:56.35ID:Mo/AGisihttps://twitter.com/FuAnTaJi/status/837313090190467072
0644デフォルトの名無しさん
2017/03/03(金) 05:26:52.91ID:bMgzQydB0645デフォルトの名無しさん
2017/03/03(金) 05:46:13.37ID:Dlw1K2JE話がズレてんぞ
「Rust Language Server」(ソフトウェア)の利便性/実用性を問うているのであって
「language server protocol」(プロトコル)の利便性/実用性を問うているんじゃない
>>640
ああ、キャッシュはクソでかいのか...
元コードや依存crateに比例するだろうけど多少の利便性のために使って良いものか微妙なのかなぁ
0646デフォルトの名無しさん
2017/03/03(金) 06:25:02.22ID:bMgzQydB逆にいえばdebug buildと同等のオーダーで容量を食うということだが
0647デフォルトの名無しさん
2017/03/03(金) 08:53:13.29ID:8SEA7Mttビルドツールとかいって何に使うものかも解ってない >>639 みたいなのが居たから書いたのに話がずれてるって…
0648デフォルトの名無しさん
2017/03/03(金) 09:37:43.14ID:NTvASRIg提供体系変えたからってそれ以上は減らないだろうから
結局は、サーバクライアントモデルにメリットがあればって所なのな, 情報thx
0649デフォルトの名無しさん
2017/03/03(金) 10:21:19.53ID:Ufz5V5uOまあracerもそうだけど。後は非同期的なのも重い処理にはいいかもね
0650デフォルトの名無しさん
2017/03/03(金) 18:34:23.36ID:NTvASRIgエディタ/IDEのフロントエンドは作り込み必要だし、LSP共通でできることって結構薄いレイヤーなんだろうな
0651デフォルトの名無しさん
2017/03/03(金) 23:51:37.58ID:JBnTbtYiLSPが発表された途端にRustLSP開発始めたのにRLSがでてきて完全に沈黙中。
(´・ω・)カワイソス
LSPはリファクタに使える問い合わせもできるから
RLSとIDE側が対応すればrustのツールで初めてのリファクタ機能が現れるかも。
0652デフォルトの名無しさん
2017/03/08(水) 03:21:51.70ID:DeDFMxZFRustのメモリ管理が良く分からないので
脳内整理してみたけどよく分からない
0653デフォルトの名無しさん
2017/03/08(水) 07:03:46.86ID:jgMpoXzS0654デフォルトの名無しさん
2017/03/08(水) 07:23:54.02ID:CjJNAnlh0655デフォルトの名無しさん
2017/03/08(水) 07:26:21.29ID:fOyT060n0656デフォルトの名無しさん
2017/03/08(水) 10:47:45.16ID:6Gp+/qzYrustはマルチスレッドに影響受けることはないし、他にも理解が出来てない所が多そう
公式ドキュメントが分かりやすいからきちんと読み直したら?
https://doc.rust-lang.org/book/
>>654
ワロタ
0657デフォルトの名無しさん
2017/03/08(水) 13:45:42.21ID:68sDUGxJ0658デフォルトの名無しさん
2017/03/08(水) 13:59:22.48ID:jMX+hATMjava臭い
0659デフォルトの名無しさん
2017/03/10(金) 08:50:25.22ID:mPQwWGXMJavaにはJapanese Eraあるな
0660デフォルトの名無しさん
2017/03/11(土) 03:15:58.35ID:ls0F4O8FRust自身のライセンス文書と
crateで含めた各パッケージのライセンスと各パッケージが依存するパッケージのライセンスを
含める必要があると思うんですが
それらのライセンス文書をかき集めるcargoのコマンド等あったりしますか?
( ~/.cargo/registry/src/ 下にパッケージのソースファイルやライセンスファイルがあるのは分かってるんですが手動で集めるのは面倒なので・・・)
0661デフォルトの名無しさん
2017/03/11(土) 08:13:55.49ID:kL5whW8F0662デフォルトの名無しさん
2017/03/11(土) 08:15:11.10ID:x2OoeTeG0663デフォルトの名無しさん
2017/03/11(土) 08:16:44.20ID:hkT0qMWn0664デフォルトの名無しさん
2017/03/11(土) 08:19:31.82ID:qKzUYLvEまずは言語を動かすプロセッサーを作るための半導体から調達するのかな
0665デフォルトの名無しさん
2017/03/11(土) 08:24:05.78ID:kL5whW8F0666デフォルトの名無しさん
2017/03/11(土) 08:46:49.37ID:qKzUYLvE0667デフォルトの名無しさん
2017/03/11(土) 09:04:48.56ID:kL5whW8Fgzipに関してはreqwestのupstreamで既に対応している
https://github.com/seanmonstar/reqwest/pull/61
いつリリースされるのかは分からん
0668デフォルトの名無しさん
2017/03/11(土) 12:10:28.94ID:nSjuwCRcそれを横目に、reqwestに代わる極最低限の機能をピックアップできるライブラリの登場を期待したい
tomlのoptionalで切れるのでもいいんだろうけど、crate分けてくれた方がrustらしい気がする
0669デフォルトの名無しさん
2017/03/12(日) 13:51:15.74ID:oPHiMgG4SerdeだのHyperだのRayonだのという目玉crateが軒並みpre-1.0なままなのは気持ち悪いからなあ
0670デフォルトの名無しさん
2017/03/12(日) 15:37:08.34ID:O3/Gyy1qこれのライセンスってどうなってるの?
Communityと同じだったらうちの会社じゃあ使えないことになるけど、はっきり書いてある
ところが見つからない。
0671デフォルトの名無しさん
2017/03/12(日) 15:41:23.49ID:U4Jjwa7Oインストーラーが表示しないの?
0672デフォルトの名無しさん
2017/03/12(日) 17:13:31.76ID:O3/Gyy1qスルーしそうになったけど、いちおうリンクが見つかった。ありがとう。
0673デフォルトの名無しさん
2017/03/14(火) 00:27:55.78ID:olV+TTffじゃなくgolangみたいに
let _ = hoge;
とプレースホルダでコンパイル通したりする?
0674デフォルトの名無しさん
2017/03/14(火) 00:32:20.78ID:UwSzXh4Zそれでも良いし、let _piyo = hoge;でも良い
0675デフォルトの名無しさん
2017/03/14(火) 22:39:18.78ID:pGPNuxtq0676デフォルトの名無しさん
2017/03/14(火) 22:54:53.45ID:UwSzXh4Z0677デフォルトの名無しさん
2017/03/15(水) 09:52:08.89ID:65dLeHL5unused_variablesとプレースホルダ、ワーニングを消すために使うなら同じバイナリ出力するがな
traitのインターフェース切る時はプレースホルダ使ってる
0678デフォルトの名無しさん
2017/03/16(木) 22:41:36.30ID:KeMWtB7g0679デフォルトの名無しさん
2017/03/17(金) 03:23:47.24ID:bRwtX1Afhttps://blog.rust-lang.org/2017/03/16/Rust-1.16.html
・staticとconstのlifetimeがデフォルトで'staticになった(RFC 1623)
// つまりこれが
const ENC: &'static [u8] = b"0123456789ABCDEF";
// こう書ける
const ENC: &[u8] = b"0123456789ABCDEF";
・consider using an explicit lifetime的なメッセージを廃止(不正確な内容を吐くことがあるから。将来安定すれば復活の可能性あり)
・cargo checkが追加(実際にコンパイルせずにコンパイルが通るかの検査だけを行う。cargo buildより時間の短縮が見込める)
・Cargo.tomlのpackage.categoriesがstableでも有効に
0680デフォルトの名無しさん
2017/03/17(金) 21:17:58.70ID:OBbyZsQw0681デフォルトの名無しさん
2017/03/17(金) 21:33:20.90ID:bRwtX1Af0682デフォルトの名無しさん
2017/03/17(金) 22:53:52.43ID:OBbyZsQwマジでありがとう
こういうときはformatなのね
0683デフォルトの名無しさん
2017/03/18(土) 00:10:31.46ID:c1jSzzlCcargo test --no-runなら完走する。それかrustcは問題ないから直接rustc叩く。
infinite typeが循環してるとrustcが止まらないのと組み合わさると
rustcがcargoに制御返さない→cargoが無言決め込むになって何が起こってるのかわからなかった。
>>682
自前で弱い動的型付け言語並みのto_string()実装しても良いんだぜ?
0684デフォルトの名無しさん
2017/03/18(土) 01:29:52.32ID:ZU/olwx/std::fmt::fmt_radixは1.9で消えちゃったから、この手のものを公式で提供する気はなさそうだし
0685デフォルトの名無しさん
2017/03/18(土) 02:04:48.97ID:sCZDN2Pvhttps://twitter.com/tanakh/status/842326121647505408?p=p
0686デフォルトの名無しさん
2017/03/18(土) 10:03:15.93ID:cTWPUp3Zいいね
0687デフォルトの名無しさん
2017/03/18(土) 10:48:58.61ID:HHPgXzoi出現する要素の数をカウントする一番賢い方法ってなんじゃろ?
0688デフォルトの名無しさん
2017/03/18(土) 10:53:52.98ID:ZU/olwx/とか?
0689デフォルトの名無しさん
2017/03/18(土) 11:13:48.52ID:HHPgXzoi“data”は3回 “chou-data”は20回という情報が欲しいです
mutなHashMapでシコシコカウントですかね?
0690デフォルトの名無しさん
2017/03/18(土) 11:26:04.35ID:G5NG4rX00691デフォルトの名無しさん
2017/03/18(土) 11:36:10.64ID:Y4C9s3ir0692デフォルトの名無しさん
2017/03/18(土) 11:40:29.03ID:DBFuVmGN0693デフォルトの名無しさん
2017/03/18(土) 11:49:38.08ID:HHPgXzoiとりあえずmultisetのソース見て勉強してきます
0694デフォルトの名無しさん
2017/03/18(土) 18:38:07.11ID:zyxHQlVL0695デフォルトの名無しさん
2017/03/18(土) 19:49:33.18ID:PBtATWqK0696デフォルトの名無しさん
2017/03/18(土) 22:51:11.48ID:kQkqB4BZ0697デフォルトの名無しさん
2017/03/18(土) 23:36:17.52ID:Cy4FObwW他にもあらゆる標準ライブラリ的なものが足りてないからそういうライブラリばかり作られてるんだけど。
>>695
pistonに一通りある。
0698デフォルトの名無しさん
2017/03/19(日) 06:16:46.07ID:Q49RXSlYthread 'main' panicked at 'called `Option::unwrap()`
云々とか出てきて何事かと思ったら、どうやらRust TeamがGitの操作をミスってnightlyが壊れてたらしい
https://github.com/rust-lang/rust/pull/40625
0699デフォルトの名無しさん
2017/03/21(火) 23:01:00.46ID:hxyeHBesそこだけ必ずインライン化するか必ずインライン化しないか指定する方法ない?
Option::map_or_elseに渡すdefault引数とf引数がinline属性付いてるけどインライン化させたくないんだけど。
0700デフォルトの名無しさん
2017/03/24(金) 07:34:18.46ID:yNGhLANbhttps://stackoverflow.com/insights/survey/2017#technology-most-loved-dreaded-and-wanted-languages
が、エンタープライズでの採用例が少ないのだからユーザのうち好んで使っている人の割合が高まるのは当然っちゃ当然だわな
0701デフォルトの名無しさん
2017/03/24(金) 08:53:30.74ID:mOA6Vf990702デフォルトの名無しさん
2017/03/24(金) 14:35:58.01ID:pHNq00OZこば?
0703デフォルトの名無しさん
2017/03/24(金) 19:39:57.65ID:YSCc9yI+良い言語なんだけどまだ安定感が足りない感じなんだよなぁ、web系だとclojureがイミフな位安定感あるのと違って
rustはもっと期待されている分バージョン間の差違に敏感な用途が多いからじゃないのかと思うけど。
0704デフォルトの名無しさん
2017/03/25(土) 03:50:37.57ID:BrrX4e7Phttps://redd.it/615sjf
0705デフォルトの名無しさん
2017/03/30(木) 16:59:39.44ID:mKbsz9A+if let Some(ref mut x) = self.x {
// ...
if x.is_hoge() {
self.x = None; // borrowck激おこ
}
foo
} else {
// ...
bar
}
// 例2
let ret;
if let Some(ref mut x) = self.x {
// ...
ret = foo;
if ! x.is_hoge() {
return ret;
}
} else {
// ...
return bar;
}
self.x = None; // おこらない
ret
0706デフォルトの名無しさん
2017/03/30(木) 17:03:13.41ID:mKbsz9A+// 例1
if let Some(ref mut x) = self.x {
// ...
if x.is_hoge() {
self.x = None; // borrowck激おこ
}
foo
} else {
// ...
bar
}
// 例2
let ret;
if let Some(ref mut x) = self.x {
// ...
ret = foo;
if ! x.is_hoge() {
return ret;
}
} else {
// ...
return bar;
}
self.x = None; // おこらない
ret
0707デフォルトの名無しさん
2017/03/30(木) 18:52:42.70ID:mCoqxFE90708デフォルトの名無しさん
2017/03/30(木) 19:02:31.30ID:VKjElo3Dてかこんな風に書けるのか。今までunwrapで無理矢理対応してたわ
0709デフォルトの名無しさん
2017/03/30(木) 19:45:59.94ID:Gp+R1RG2borrowckなしの状態よりむしろ危険になってて悲しい
0710デフォルトの名無しさん
2017/03/30(木) 21:09:15.78ID:JBiI28RDrustだと必要なときだけ、って感じなのってなぜ?
0711デフォルトの名無しさん
2017/03/30(木) 22:29:46.32ID:s+CP+YQdC++でも言われないよそんな事
0712デフォルトの名無しさん
2017/03/30(木) 23:51:37.90ID:UVGuKdErそんな馬鹿なコード書かない
>>710
javaでも言われないよそんな事。言ってる人だけ。
0713デフォルトの名無しさん
2017/03/31(金) 06:52:30.38ID:QiEPt976大昔:public/privateの概念なく、どこからでも何でもアクセスあり
一昔前:public/privateで公開域を超強力に限定(極端に縛る文化
最近:public/privateはそこそこにね(極端に走りすぎてやりすぎたと反省
どの言語も最近は必ずしもpublic/privateなどの公開域を指定する修飾詞をつけないといけないって感じではなくなってるよ
怠慢 => 厳格 => 適度 って時代の流れよな
>>712がそういう時代の流れが知らないのか、あえて無視してるのか知らんけど
0714デフォルトの名無しさん
2017/03/31(金) 08:03:04.47ID:kyVktr8whttps://google.github.io/styleguide/cppguide.html#Access_Control
これとかは一昔前ということ?
0715デフォルトの名無しさん
2017/03/31(金) 08:31:32.16ID:kyVktr8wここの住民のように最近の言語しらんのだ。ありがとう
0716デフォルトの名無しさん
2017/03/31(金) 09:35:15.35ID:CFLp8HcFrustのラッパー系が持ってるget_ref/get_mut/into_innerはアクセサとは目的が違うよ。
それと、他言語のprivateなフィールドはrustだとinterior mutabilityになるけどこれは必要だから。
>>713
>大昔:public/privateの概念なく、どこからでも何でもアクセスあり
俗にカプセル化の一言で説明される全ての隠蔽は60年代〜70年代からあるよ。
>>714
C++はストラウストラップのオブジェクト指向の聖遺物。rustは宗教(パラダイムと設計思想)が違うし、
「ストラウストラップのクラス嫌やねん」が今の主流派だからそれに属するrustを見てC++の流儀が古いかどうかは言えない。
たとえば、最近のJVM言語がフィールド定義すればアクセサ自動定義するのは「メソッド記法面倒くさい」と
「C++系の流儀のjavaとシームレスに通信するため」の二点を同時に満たせるからであって、
こういうJVM言語はイマドキな考え方とC++系の昔からある考え方を両方備えてるからまだ古くなってない。
0717デフォルトの名無しさん
2017/03/31(金) 12:21:13.04ID:8wrz3vyb言語自体はもう新興言語というほど新しくもないC++やJavaは修飾詞つけるのが正義なんじゃない
それ自体は別に文句ないし、自分もそれらの言語を使う時は率先して付けてる
rust, go, swift, nim, kotlinみたいな最近隆盛してる言語は付けないのが文化だと思う
デフォルトのアクセス権限がprivateだったりするヤツもいるから複合的な理由だけど
0718デフォルトの名無しさん
2017/04/01(土) 09:03:12.10ID:xsH2QUDo0719デフォルトの名無しさん
2017/04/01(土) 11:27:53.05ID:xsH2QUDo0720デフォルトの名無しさん
2017/04/01(土) 11:37:09.88ID:yqxqzJbWDOMでいいならserde一択だとは思うけど
0721デフォルトの名無しさん
2017/04/01(土) 13:13:16.49ID:dZXDeDc3まあ、DOMツリーを得たりstructに読み込んだりするにはserde_xml、ストリームを扱うのならxml-rsってところじゃないかねえ
0722デフォルトの名無しさん
2017/04/01(土) 13:25:53.82ID:ShBKdKpe0723デフォルトの名無しさん
2017/04/01(土) 14:14:43.48ID:yqxqzJbWttps://github.com/RReverser/serde-xml-rs
0724デフォルトの名無しさん
2017/04/01(土) 20:06:49.50ID:xsH2QUDoC++よかましだろうけど
0725デフォルトの名無しさん
2017/04/01(土) 20:35:17.04ID:/2Cak4ysC++よかましだけど
0726デフォルトの名無しさん
2017/04/01(土) 21:26:19.10ID:xsH2QUDo0727デフォルトの名無しさん
2017/04/01(土) 22:33:38.44ID:cPS3ohZQ0728デフォルトの名無しさん
2017/04/01(土) 22:45:09.77ID:dZXDeDc3今のstdですら、@alexcrichtonがio::Cursorの実装を後悔していたりするし(↓)
https://github.com/carllerche/bytes/issues/75#issuecomment-287145718
0729デフォルトの名無しさん
2017/04/02(日) 00:14:26.80ID:4ErkdvW9弱すぎるけど既存の標準ライブラリの設計も実装も結構ひどいところがある。
だけど、rustはcoreライブラリ書くのに向いてるから結局必要なら自分で実装しちゃう。
ネイティブスレッド一々作らせずにthread poolくらい標準で用意しろと思うけど。
>>727,728
cargoで一番センス悪いのがcrates.io前提とalexcrichtonだと思う。
0730デフォルトの名無しさん
2017/04/02(日) 00:47:10.72ID:YQEfEn7s0731デフォルトの名無しさん
2017/04/02(日) 08:00:17.30ID:GW9gqzFE標準を強化しろってのも、標準は要らないってのも宗教だから無宗教の日本人らしく遠目に眺めてる
0732デフォルトの名無しさん
2017/04/02(日) 10:12:44.61ID:PP0pKPr+TOKIOの名を騙った恨み
0733デフォルトの名無しさん
2017/04/02(日) 10:23:41.85ID:wHW/bvWX自前のcrate作る時は名前の競合とか考えるの面倒だから
[dependencies]
hoge = { git = "https://github.com/hoge/hage.git" }
で済ましてるわ
今時、crates.io前提だけで組み上げる輩もおるまい
0734デフォルトの名無しさん
2017/04/02(日) 23:14:29.59ID:SJJzQWRjマルチプロジェクトで依存crateの数が多いとか、
他言語にも依存するとか、ローカルにしか無いcrateとオンライン上に
あるcrateの両方に依存するとか、
他エコシステムとの協調苦手(他エコシステムと連携するadhocで泥臭いcrate書いて
cargoでラップする構造にして隠蔽する必要がある)とかあるからそれだけじゃ上手くいかんよ。
実際にServoが色々壁にぶつかってissue投げまくってそっち優先で対処してるからServoはなんとか出来てる感じ。
言語は良いのに他がダメだから自分で対処できる人以外置いてきぼりで学習コスト高いと言われるんだと思う。
言語仕様もextnt,region,effect,zone(arena)とか一切説明なしに全部の文脈でlifetimeとかいう謎の語を使ってるしね。
0735デフォルトの名無しさん
2017/04/03(月) 01:00:40.90ID:JUppntkg0736デフォルトの名無しさん
2017/04/03(月) 01:23:46.19ID:UPf59owCユーザーから見たら迷惑千万
0737デフォルトの名無しさん
2017/04/03(月) 05:55:44.20ID:u5wlFHfmユーザはビルド済みのバイナリだけ使えばいいじゃんね
servoチームに魔改造受けたbindgenを使いこなせるようになりたい
と思ったら最近upstreamがservoチームのものについに切り替わったのか
これは大手ふって使わねば
0738デフォルトの名無しさん
2017/04/03(月) 10:11:16.31ID:8UfIZmopbuild.rsに他エコシステムと連携するプラグイン書けるrustはマシな方よな
Javaのgradleも頑張ってる方だけど言語公式じゃないし、gradleの本質はJavaじゃなくgroovyだし
0739デフォルトの名無しさん
2017/04/06(木) 22:50:56.99ID:optS43ymhttps://github.com/search?q=%22Library+evaluation+tracking+issue%22&type=Issues
0740デフォルトの名無しさん
2017/04/08(土) 11:31:26.42ID:mTwYWLsL0741デフォルトの名無しさん
2017/04/08(土) 11:40:03.17ID:GbqpuLIm0742デフォルトの名無しさん
2017/04/08(土) 12:53:41.18ID:R3xK1J5N0743デフォルトの名無しさん
2017/04/08(土) 12:59:38.91ID:8ssaps+e0744デフォルトの名無しさん
2017/04/08(土) 13:40:25.63ID:ZW/CIt37かといってよりマシな名前も思いつかない
0745デフォルトの名無しさん
2017/04/08(土) 14:37:09.60ID:59elDVKiMozilla Thunderbirdみたいに迷走した後にまた統合するんじゃないのw
個人的にはコミュニティベースのOSSで生き残ればどうでもいいわ
Apacheは斜陽だからあそこへの譲渡はちょっとなぁと思う
0746デフォルトの名無しさん
2017/04/08(土) 14:42:54.10ID:GbqpuLIm0747デフォルトの名無しさん
2017/04/08(土) 15:18:48.99ID:59elDVKi0748デフォルトの名無しさん
2017/04/08(土) 16:24:57.82ID:1hxGv39C0749デフォルトの名無しさん
2017/04/08(土) 16:35:35.04ID:GbqpuLIm既にCに慣れ親しんだシステムプログラマと比べて、Webのフロントエンジニアの方が訴求しやすそうだし
0750デフォルトの名無しさん
2017/04/08(土) 16:35:48.93ID:Ay5kOBNOwasm向け言語として定着しそうな感ある>Rust
0751デフォルトの名無しさん
2017/04/08(土) 17:04:37.50ID:mTwYWLsL0752デフォルトの名無しさん
2017/04/08(土) 17:06:01.24ID:mTwYWLsLアウアウカーなのかよお前!!!
0753デフォルトの名無しさん
2017/04/08(土) 19:23:15.91ID:R3xK1J5Nお金ないとオープンソースなんて無力なイメージなんだが
0754デフォルトの名無しさん
2017/04/09(日) 00:35:44.07ID:C+4/Iu4N0755デフォルトの名無しさん
2017/04/09(日) 01:13:01.86ID:yAkJU/wSトランプ52枚を4人に配るってのを作りたかった
乱数生成で挫折した
0756デフォルトの名無しさん
2017/04/09(日) 01:34:48.16ID:+eXxcQKg0757デフォルトの名無しさん
2017/04/09(日) 01:49:57.91ID:+k4JWPSD0758デフォルトの名無しさん
2017/04/09(日) 09:24:07.59ID:Q8Fz6A4a某Web APIを叩いてる
0759デフォルトの名無しさん
2017/04/09(日) 09:43:37.83ID:T4S+/aed画像扱うライブラリで良い感じのものがなくて停滞なう
0760デフォルトの名無しさん
2017/04/09(日) 18:08:30.92ID:DtNkLoh6欠陥言語であることの証明だな
0761デフォルトの名無しさん
2017/04/09(日) 19:05:47.56ID:4Oj8CnsaCはイマイチだし、C++じゃ機能不十分で、他新興言語は動きます程度で使えん
0762デフォルトの名無しさん
2017/04/10(月) 08:59:38.76ID:GDyCY+n80763デフォルトの名無しさん
2017/04/10(月) 16:20:24.40ID:RqOHyrbz0764デフォルトの名無しさん
2017/04/11(火) 02:06:18.61ID:hFdmRMY+0765デフォルトの名無しさん
2017/04/11(火) 05:26:24.28ID:YGNFjvB7http://www.rustacean.net/assets/rustacean-orig-noshadow.png
0766デフォルトの名無しさん
2017/04/11(火) 18:18:05.18ID:XPIrDgkS0767デフォルトの名無しさん
2017/04/11(火) 18:21:50.61ID:XPIrDgkS0768デフォルトの名無しさん
2017/04/11(火) 21:57:25.49ID:yg0Uq9Guhttps://github.com/SimonSapin/rust-forest
https://github.com/saschagrunert/indextree
0769デフォルトの名無しさん
2017/04/12(水) 06:31:23.82ID:zsOpQD26個人的にはDOM(Tree Object)は所有権を複数者に要求するRustに合わない構造だと思ってるから使わないけど
0770デフォルトの名無しさん
2017/04/12(水) 16:58:14.00ID:JkQ01euR0771デフォルトの名無しさん
2017/04/12(水) 20:11:46.82ID:UgFGccH2ツリー操作に適した他言語を使う方が幸せじゃないかな、DOM操作は苦行だけど他のメリットを鑑みてRustを使うのも良いよね
0772デフォルトの名無しさん
2017/04/13(木) 13:41:01.33ID:eTJjP5LI0773デフォルトの名無しさん
2017/04/13(木) 23:00:29.13ID:DmaD3ZLhツリーさわるのに直接、arenaとancestor意識しないといけないのか。
まあ、俺もこんなんだけど。
最近、tracing gc使ったら簡単なんじゃないかと思ってる。
stntax treeみたいに事前に全部の構造わからないとrustはつらいね。
0774デフォルトの名無しさん
2017/04/14(金) 18:06:23.00ID:4vbREvue0775デフォルトの名無しさん
2017/04/14(金) 23:18:47.00ID:l3/xlJJH0776デフォルトの名無しさん
2017/04/15(土) 11:23:25.59ID:7FkW2H/i0777デフォルトの名無しさん
2017/04/17(月) 10:19:07.90ID:Vk3u//l+0778デフォルトの名無しさん
2017/04/17(月) 12:47:03.78ID:2mekMRo4それはおかしい。
>>775や>>776は英語を話せない人という文脈で原人という語を用いている。
したがって、rust使用者であることと原人であることの間に関連はない。
0779デフォルトの名無しさん
2017/04/17(月) 13:27:03.58ID:Vk3u//l+原人同士が英語喋れるかどうかで原人認定(原人視点)してるのが滑稽なの。
おーけー?
0780デフォルトの名無しさん
2017/04/17(月) 13:45:45.69ID:kHe1qBP+0781デフォルトの名無しさん
2017/04/17(月) 14:00:48.95ID:NJsGUHFQ0782デフォルトの名無しさん
2017/04/17(月) 21:43:12.25ID:5RBrgFiu0783デフォルトの名無しさん
2017/04/18(火) 14:25:16.72ID:avtppHhAhttp://www.jonathanturner.org/2017/04/rls-now-in-nightly.md.html
0784デフォルトの名無しさん
2017/04/18(火) 23:28:49.61ID:isZ+RH85わざわざ過疎スレに貼らなくても、知りたい奴は普通に一次情報を追ってると思うよ
0785デフォルトの名無しさん
2017/04/19(水) 06:39:40.15ID:iVXI/rskお前のコメントよりは役に立つ
0786デフォルトの名無しさん
2017/04/19(水) 17:45:36.14ID:T5JpYnfb使った感想があるわけでもなし、タイトルとURLじゃなんの役にも立たん
0787デフォルトの名無しさん
2017/04/19(水) 18:55:17.11ID:6t85zhKK0788デフォルトの名無しさん
2017/04/19(水) 23:28:25.20ID:QKWiY+xs何も書き込み無いスレだとユーザ居ない様に見えるし
ここ2chだよ?
0789デフォルトの名無しさん
2017/04/20(木) 00:46:43.55ID:Vb04xDKl0790デフォルトの名無しさん
2017/04/20(木) 08:56:40.43ID:Cjpsv+ZGしね
0791デフォルトの名無しさん
2017/04/20(木) 09:02:46.45ID:5tsEknBd高橋せんせい、20年遅れのステマですか?
0792デフォルトの名無しさん
2017/04/20(木) 16:14:47.79ID:zhxiAG0oツリーとグラフを作る記事があった。
グラフとアリーナ型メモリアロケータ
http://hazama1616.blogspot.jp/2016/03/crust-11.html
Rust でグラフ構造や木構造を作る
http://agtn.hatenablog.com/entry/2017/01/16/151745
0793デフォルトの名無しさん
2017/04/21(金) 08:10:49.54ID:OiVWjQVQLifetimeを用いたzero-copy deserializingとか胸が熱いな
https://github.com/serde-rs/serde/releases/tag/v1.0.0
0794デフォルトの名無しさん
2017/04/23(日) 17:11:05.67ID:H4akHqoq自分は Scala と C++ やってたんですが、そういうバックグラウンドがない人がすぐ理解できるとは思えないのですが。
0795デフォルトの名無しさん
2017/04/24(月) 00:17:32.58ID:7O6+7hGxarena使うとarena解放するまでnode残るから無駄にメモリ使うのよ。
0796デフォルトの名無しさん
2017/04/24(月) 00:32:48.88ID:6h5JoTUeキラーアプリが出ればねぇ。
ちなみに俺は力不足・勉強不足でrustは使えない。
それこそ広まってからもっと真面目に勉強しようかなぁってところ。
でもほんと期待はしてる。
0797デフォルトの名無しさん
2017/04/24(月) 01:17:18.29ID:iqgOzto70798デフォルトの名無しさん
2017/04/24(月) 02:32:17.00ID:Uhs7fpwPなお、早い理由のrust正規表現の中の人はGoogle製C++ Libの模様
dockerがgoで出来てても別段当時流行なかったし、rust適所を求めたい所存
0799デフォルトの名無しさん
2017/04/24(月) 10:05:04.89ID:Ce/YXV/H0800デフォルトの名無しさん
2017/04/24(月) 10:45:03.83ID:wWNCwbd30801デフォルトの名無しさん
2017/04/24(月) 11:21:49.38ID:jmbJ/xCv0802デフォルトの名無しさん
2017/04/24(月) 12:54:52.94ID:7aHDyTtY0803デフォルトの名無しさん
2017/04/24(月) 13:51:36.49ID:37xJWuQr0804デフォルトの名無しさん
2017/04/24(月) 14:41:05.37ID:H47kwRKjブラウザに限らず不特定多数と通信するソフトウェアは攻撃される。
サーバソフトウェアやP2PソフトウェアもRustの安全性が役立つと思う。
0805デフォルトの名無しさん
2017/04/24(月) 14:44:54.65ID:YsR3dDijブラウザはまさにそのGCと相性の悪い分野だからRustになるわけだけど
0806デフォルトの名無しさん
2017/04/24(月) 16:32:01.09ID:tbvSkh68IoT絡みでスタートアップ企業が開発言語として採用とかあればもしかしたら一部ではやるかも。
0807デフォルトの名無しさん
2017/04/24(月) 17:56:13.42ID:RtQoS8U20808デフォルトの名無しさん
2017/04/24(月) 18:20:04.27ID:A5CADFQVと思ったら leaf はもう開発停止してた。残念…
0809デフォルトの名無しさん
2017/04/24(月) 23:01:27.18ID:Af0Uvivzreal-time javaくらいでしか実用化されてない代物だから
rust特有のメリットというと低レベルでも抽象度の高く書ける事と、
data raceをコンパイラが防いでくれることじゃない?
ただ、interior mutabilityは自分で面倒見るのと、
実際にはsemaphoreとRWLockだけじゃ使い物にならなくて
non-blockingやconcurent collectionやfuture・fork/join、
SIMDを利用しないといけないけどrustはライブラリ弱いのが弱点。
datetimeみたいな何やっても揉めるようなライブラリはいらないけど、
io streamやtext encode/decodeの様な汎用のもないから他人のgithubみてると再開発しまくってる。
こういう標準ライブラリにあるようなものすらなくていいとなるとやっぱり組み込みだよ。
bare metalやろうぜ!
0810デフォルトの名無しさん
2017/04/25(火) 00:11:02.98ID:Pw354+ahファミコンエミュ
0811デフォルトの名無しさん
2017/04/25(火) 01:15:27.81ID:82uAhcwaRocket良さそうじゃん
まだまだ発展途上だけど
0812デフォルトの名無しさん
2017/04/26(水) 05:04:32.67ID:o3HY2tae0813デフォルトの名無しさん
2017/04/26(水) 07:52:50.89ID:kOLZL9DXでも下手したら実行時に死ぬなんて、全然安全な言語じゃなくなってるのつらい
0814デフォルトの名無しさん
2017/04/26(水) 09:58:03.56ID:vpLTFLqLコンパイルは目的じゃなくて手段だぞ
取り違えないように注意だ
0815デフォルトの名無しさん
2017/04/26(水) 14:03:28.41ID:JVsqiSk/0816デフォルトの名無しさん
2017/04/27(木) 13:02:01.11ID:UU6zBZQ+ただしコードがSMLなのでSMLを読める必要がある。
純粋関数型データ構造
https://www.amazon.co.jp/dp/4048930567
"Purely Functional Data Structures" の邦訳『純粋関数型データ構造』が発売されます
http://d.hatena.ne.jp/ku-ma-me/20170316/p1
関数型言語での最適を考える:純粋関数型データ構造、Chris Okasaki
http://www.injpok.tokyo/4048930567-functional-data-structure
0817デフォルトの名無しさん
2017/04/27(木) 14:46:59.61ID:1aP1zib4その本は、破壊的変更が無いorマイナーな関数型言語で効率の良いデータ構造をどう実現するかっていうのが主題のはず
Rustは破壊的更新もできるしinterior mutabilityもCellやRefCellで実現できるし、逆にGCが無いから対象領域からずれてる
面白い本だけど、Rustに直接役立つかは微妙
0818デフォルトの名無しさん
2017/04/27(木) 17:37:30.60ID:xrM2MxeD気になってたけど買わんでいいかな
0819デフォルトの名無しさん
2017/04/28(金) 02:50:31.12ID:mEZ3JB/Whttps://blog.rust-lang.org/2017/04/27/Rust-1.17.html
0820デフォルトの名無しさん
2017/04/28(金) 07:59:12.67ID:Z9SVt9YOくじけないなww
邪魔だからそろそろコテハン名乗れよ
0821デフォルトの名無しさん
2017/04/28(金) 08:13:14.38ID:zzlMZhy40822デフォルトの名無しさん
2017/04/28(金) 09:13:20.43ID:HrVNNKWr0823デフォルトの名無しさん
2017/04/28(金) 16:35:55.80ID:QjsjY1pw0824デフォルトの名無しさん
2017/04/28(金) 18:50:38.30ID:VS+BUfpCしね
0825デフォルトの名無しさん
2017/04/28(金) 19:44:43.43ID:wIDo3kGW0826デフォルトの名無しさん
2017/04/28(金) 23:26:08.53ID:7tdFyaEw木が作れない言語とかCの置き換えになる訳がないから、どっかにカラクリがありそう。
0827デフォルトの名無しさん
2017/04/28(金) 23:29:09.90ID:EB1hHvLpML系はtracing gc載ってるもんだと
考えていいからrustで苦労する部分は関係ない。
0828デフォルトの名無しさん
2017/04/28(金) 23:54:26.38ID:7tdFyaEw0829デフォルトの名無しさん
2017/04/29(土) 01:08:36.27ID:JJtwNZEl0830デフォルトの名無しさん
2017/04/29(土) 02:09:39.72ID:rB0Fvmggデータ構造に関わるRust言語仕様については詳しい記事がある。
でも>>203によるとRustのデータ構造は発展途上だから
「Data Structure in Rust」は記事よりWikiの方が良いと思う。
Interior mutability in Rust: what, why, how?
https://ricardomartins.cc/2016/06/08/interior-mutability
0831デフォルトの名無しさん
2017/04/29(土) 06:52:18.73ID:gpBNKKlwずっとコピペしてんだぞ...
0832デフォルトの名無しさん
2017/04/29(土) 06:54:38.46ID:itnDcJNc0833デフォルトの名無しさん
2017/04/29(土) 07:23:49.26ID:ml8UsgdM0834デフォルトの名無しさん
2017/04/29(土) 08:21:53.98ID:rB0FvmggRust blogは巡回してないから新バージョンを知らせてくれるのはありがたい。
でも新バージョンに関するコメントを読みたければredditも読もう。
Cargoの新機能をコントリビュートした人が来ている。
The Rust Programming Language
https://www.reddit.com/r/rust/
Announcing Rust 1.17!!
https://www.reddit.com/r/rust/comments/67x46l/announcing_rust_117/
Announcing Rust 1.17
https://www.reddit.com/r/programming/comments/67x48c/announcing_rust_117/
0835デフォルトの名無しさん
2017/04/29(土) 08:59:42.66ID:odlCpz4eメンヘラ臭い拒否反応だな。
0836デフォルトの名無しさん
2017/04/29(土) 09:25:50.46ID:4GuMMMYuはOKな糖衣構文にしちゃえばいいのに
0837デフォルトの名無しさん
2017/04/29(土) 14:34:05.02ID:TTyY7fIa0838デフォルトの名無しさん
2017/04/29(土) 16:57:12.44ID:S/2IADGOそれは意見がわかれるところじゃね?
暗黙の型変換は、知っている人には便利だけど、知らない人には解析困難な不具合の元になるじゃん?
0839デフォルトの名無しさん
2017/04/29(土) 16:59:38.96ID:G5FLqmynどちらにせよ混乱の元には違いないが
0840デフォルトの名無しさん
2017/04/29(土) 17:20:18.00ID:wKCke3eMScalaとかまさにその辺(implicit)で死に体だな。
rustもderefで似たようなことになるけど。
0841デフォルトの名無しさん
2017/04/29(土) 17:51:01.81ID:KCJQ+KNCVecのiterってどこに定義されているのか分からなくて悩んだ記憶がある
0842デフォルトの名無しさん
2017/04/29(土) 22:41:34.26ID:XAi4G4Te0843デフォルトの名無しさん
2017/04/29(土) 22:48:33.12ID:kikbE+mq言語に機能足すより重要だと思うんでなんとかして欲しいところではある。
0844デフォルトの名無しさん
2017/04/30(日) 14:13:59.03ID:dMKT6vJnIssue rust-lang/cargo#1286は放置されているし
0845デフォルトの名無しさん
2017/04/30(日) 15:06:58.47ID:zu6P/YtU0846デフォルトの名無しさん
2017/04/30(日) 15:10:11.47ID:dMKT6vJn0847デフォルトの名無しさん
2017/04/30(日) 15:25:28.02ID:yC307k3w0848デフォルトの名無しさん
2017/04/30(日) 15:30:18.21ID:dMKT6vJn0849デフォルトの名無しさん
2017/04/30(日) 15:36:13.13ID:yC307k3wあんたも本当はRustなんて使い物にならないって分かってるんだろ?
0850デフォルトの名無しさん
2017/04/30(日) 16:10:58.91ID:zu6P/YtU実装難易度を計ってないから実装大変なら議論をせっつくしかないけども
0851デフォルトの名無しさん
2017/04/30(日) 21:51:06.29ID:cg8WUYRD今はどっちかっていうと敷居下げるための開発がメインになってて、
細かい融通の効かないところを直す作業に回してるリソースは少なそうな印象。
0852デフォルトの名無しさん
2017/05/01(月) 11:29:01.79ID:hzoMRY/L0853デフォルトの名無しさん
2017/05/01(月) 13:37:42.52ID:DeKBxqzSGNU周りなんて焼け野原ってレベルじゃねーぞ
0854デフォルトの名無しさん
2017/05/01(月) 14:12:45.45ID:KtAp36Sz0855デフォルトの名無しさん
2017/05/01(月) 14:53:36.49ID:Hs34Q6fDそのためのLanguage Server Protocolだったり、コンパイルメッセージの改善だったりだと思ってるが。
0856デフォルトの名無しさん
2017/05/01(月) 23:46:06.84ID:ZiZ/DZmAjavacの仕様に忠実で簡潔なメッセージみたいなのが仕様覚えた時最強よ
0857デフォルトの名無しさん
2017/05/02(火) 00:05:58.80ID:Wqf9gHHS0858デフォルトの名無しさん
2017/05/02(火) 01:06:19.38ID:C2K+k/F2注目してほしい所がどこか分かりづらいから
コード書けない人は元から解読不能じゃないの?
0859デフォルトの名無しさん
2017/05/02(火) 06:32:24.31ID:hjAzwlgsみたいなオプション付与するFR出そう(迷走感
0860デフォルトの名無しさん
2017/05/02(火) 18:52:28.66ID:ul1GfwIs0861デフォルトの名無しさん
2017/05/03(水) 18:44:17.67ID:joqUnMHMAPI仕様は固定化されて、今後変更ありませんってこと?
それとも実装が改善されて、より安定しましたよってこと?
0862デフォルトの名無しさん
2017/05/03(水) 18:47:35.13ID:joqUnMHMどうも単に「そのバージョンから追加されましたよ」って感じぽいね
0863デフォルトの名無しさん
2017/05/03(水) 19:08:10.33ID:SEHmhXUn破壊更新ないとは言え、変わる/代替するAPIはあるんだろうねぇ
0864デフォルトの名無しさん
2017/05/03(水) 19:44:38.59ID:joqUnMHM[This is a nightly-only experimental API.]からのパターンもあるのかな?
[Unstable]が外れたとき Stabilized API ではあるみたい
例:
1.14から[Unstable]として存在してて
1.16からStabilized APIとされたstr::repeat
https://doc.rust-lang.org/1.14.0/std/primitive.str.html#method.repeat
fn repeat(&self, n: usize) -> String
Unstable (repeat_str #37079)
Create a String by repeating a string n times.
↓
https://doc.rust-lang.org/std/primitive.str.html#method.repeat
fn repeat(&self, n: usize) -> String
1.16.0
Create a String by repeating a string n times.
0865デフォルトの名無しさん
2017/05/03(水) 22:57:01.88ID:K7D8UWDQstableになるとnightly以外でも何もしなくても使える、かつ、rust 1.xの間は互換性が保たれることが保証されてる
0866デフォルトの名無しさん
2017/05/03(水) 22:58:45.11ID:K7D8UWDQ問題がなさそうならstableにする、と言う流れでAPIは追加されていく
0867デフォルトの名無しさん
2017/05/03(水) 23:39:38.56ID:pt3eTQQ50868デフォルトの名無しさん
2017/05/03(水) 23:53:59.46ID:+mfvcDBb> 「そのバージョンから追加されましたよ」
追加されるタイミングはnightlyだからそれはない。
unstable feature-gateいらなくなったって意味だと思う。
0869デフォルトの名無しさん
2017/05/04(木) 06:16:36.53ID:RKPYINUc0870デフォルトの名無しさん
2017/05/04(木) 15:59:11.46ID:pmL645Ea0871デフォルトの名無しさん
2017/05/05(金) 20:57:36.19ID:evgWhU4H0872デフォルトの名無しさん
2017/05/05(金) 23:50:31.44ID:YwW9QOYOLaunching the 2017 State of Rust Survey - The Rust Programming Language Blog
https://blog.rust-lang.org/2017/05/03/survey.html
0873デフォルトの名無しさん
2017/05/06(土) 00:09:45.35ID:ia8ugx7T古い。glとglutin使え
0874デフォルトの名無しさん
2017/05/06(土) 10:48:00.25ID:RxOQwEquなどと油断しているとマナーの悪いライブラリが現れて既成事実化パンチを食らわす
0875デフォルトの名無しさん
2017/05/06(土) 10:56:40.09ID:KOSYyPxUglutinも同じ作者だからしんでんじゃないの?
0876デフォルトの名無しさん
2017/05/06(土) 20:14:14.95ID:2tqhhaHc0877デフォルトの名無しさん
2017/05/06(土) 22:37:18.12ID:MU54dFC0rustは直接Read実装する設計だからStreamの概念そのものがないからない。
当然、その設計ではダメだからそこら辺やってるのはあちこちで車輪量産の重複祭りの無駄まみれ。
0878デフォルトの名無しさん
2017/05/06(土) 23:44:29.00ID:btijA/Fa0879876
2017/05/07(日) 00:00:41.87ID:8fnm7svPえぇ…ないんですか…
0880デフォルトの名無しさん
2017/05/07(日) 00:53:05.68ID:/2PQHse00881デフォルトの名無しさん
2017/05/07(日) 01:39:18.20ID:Qw7Hyr2cstruct Binary(Vec<u8>) みたいに強いtypedefするのが良いと思う
0882876
2017/05/07(日) 01:39:29.33ID:8fnm7svP[1u8].to_msgpack() -> 0x91|0xcc|0x01
binary.to_msgpack() -> 0xc4|0xcc|0x01
こんな感じで出力するデータ(型情報の部分)を変えたいんです。
[u8]をラップする型を作るしかないのでしょうか?
0883876
2017/05/07(日) 01:43:28.96ID:8fnm7svPやっぱりそうなってしまいますか…
標準ライブラリとかで代わりになる型とかがあれば良かったのですが…
0884876
2017/05/07(日) 01:46:59.72ID:8fnm7svP0885876
2017/05/07(日) 01:48:17.83ID:8fnm7svP0xc4|0x01|0xcc|0x01です…
0886デフォルトの名無しさん
2017/05/07(日) 02:03:35.41ID:/2PQHse00887876
2017/05/07(日) 02:55:21.52ID:8fnm7svP0888876
2017/05/07(日) 03:06:56.11ID:8fnm7svP0889876
2017/05/07(日) 03:14:36.88ID:8fnm7svP0890デフォルトの名無しさん
2017/05/07(日) 03:22:21.66ID:/2PQHse0から戻すには、
let Binary(vec) = bin;
または
let vec = bin.0;
後者のletはなくても良い
https://doc.rust-lang.org/book/structs.html#tuple-structs
0891876
2017/05/07(日) 03:52:33.92ID:8fnm7svPありがとうございます!タプルだったのですね!
0892デフォルトの名無しさん
2017/05/07(日) 11:17:30.56ID:VPDa5WUk「電池同梱はめんどくさいから代わりにAPIガイドライン作るぜ!お前らの書いたもの公式に認めて欲しいならこの通りに書けよ!」だってよ。
ほんとモジカスは傲慢の極みだな
0893デフォルトの名無しさん
2017/05/07(日) 11:22:13.82ID:14wasV+G0894デフォルトの名無しさん
2017/05/07(日) 11:34:54.97ID:VPDa5WUkえ、どこが?
最近の言語では当たり前になった電池同梱放り投げて自分でライブラリ書かず、
あまつさえ人に丸投げしておいて、その人の書いたものに文句つけるって最高に傲慢だろ。
Google(Go)だってそこまで傲慢なことしてねえよ。
そんで成果はSerdeみたく背乗りするんだろ?
ただのショバ代やみかじめ料で懐肥やすヤクザじゃねえか。
0895デフォルトの名無しさん
2017/05/07(日) 11:45:28.65ID:VPDa5WUk0896デフォルトの名無しさん
2017/05/07(日) 12:04:33.68ID:ddnrmDhK0897デフォルトの名無しさん
2017/05/07(日) 12:29:03.87ID:0mnoYXCa0898デフォルトの名無しさん
2017/05/07(日) 12:39:58.75ID:/2PQHse0https://internals.rust-lang.org/t/announcement-david-tolnay-joining-the-libs-team/5186
以前からlibs teamっぽいことしてるなとは思っていたが。これとか
https://github.com/rust-lang-nursery/lazy-static.rs/issues/70
0899デフォルトの名無しさん
2017/05/07(日) 13:41:03.47ID:yFu/STaX0900デフォルトの名無しさん
2017/05/07(日) 13:41:52.62ID:Ca8+Q/ubRustを持て囃してるバカって電池同梱すらしらないで言語語ってんのか
0901デフォルトの名無しさん
2017/05/07(日) 13:47:52.30ID:zdh+Rbcj0902デフォルトの名無しさん
2017/05/07(日) 14:04:46.63ID:T2T4uK8j0903デフォルトの名無しさん
2017/05/07(日) 14:10:00.16ID:0LwsXYr30904デフォルトの名無しさん
2017/05/07(日) 14:31:33.96ID:sD8ZUjOP0905デフォルトの名無しさん
2017/05/07(日) 14:38:38.33ID:4a4zif1LRust team「自分で作れ」
0906デフォルトの名無しさん
2017/05/07(日) 15:35:02.86ID:VGI2seLS0907デフォルトの名無しさん
2017/05/07(日) 15:42:01.72ID:f0nSghKy古いな
0908デフォルトの名無しさん
2017/05/07(日) 16:13:07.60ID:sZJnoCfs0909デフォルトの名無しさん
2017/05/07(日) 17:26:47.52ID:4ZC1qsBr本当にCの代替なんだな
0910デフォルトの名無しさん
2017/05/07(日) 19:00:23.38ID:6aDVTTpeつーかこのリンク先読んだら「電池同梱はめんどくさいから代わりにAPIガイドライン作るぜ!」なんて言ってない件。
- 使いやすい&見つけやすいライブラリは必要だが、それを標準ライブラリにしてしまうと言語が硬直化するよ(Scalaが昔はバージョンが上がるたびに標準ライブラリの破壊的変更でコードが壊れるとか言われてたなそういえば)
- なのでRustチーム内でライブラリチーム立ち上げて、それ系のライブラリをcargoのcrateとして提供するプロジェクトやるよ(crateなら言語のバージョンとライブラリのバージョンを独立に運用できる)
- 同時にAPIのガイドライン作って、標準crate内のライブラリとサードパーティのライブラリの使い勝手を揃えられるようにするよ
- crate cookbookとしてユースケースに対応したドキュメントまとめるよ
「電池同梱はめんどくさいから」なんてどこにも書いてないんですけど?それどころかめっちゃ至れり尽くせりなんですけど?
0911デフォルトの名無しさん
2017/05/07(日) 19:30:33.62ID:/vTxYTBW素晴らしい言語だと書きやすくて保守もしやすいやろ?
プログラマの負担が下がってるはずやろ?
標準ライブラリなんてその気になれば
どんどん充実させるくらいわけないはずやろ?
0912デフォルトの名無しさん
2017/05/07(日) 19:31:06.86ID:OLmdvIig0913デフォルトの名無しさん
2017/05/07(日) 22:54:21.84ID:n+lNXLOL同一のバイナリに別々のバージョンが混在することになる
ただしCargo.tomlで同一のlinksキーを持つパッケージ同士は混在させられないという制約があるから、foobar-sysみたいなcrateは別バージョンを混在させることができない
また同一crateの別々のバージョンの型同士の互換性はない(例えばserde 0.9でDeserializeをimplしてもserde 1.0からdeserializeできない)
0914デフォルトの名無しさん
2017/05/08(月) 00:17:48.86ID:j5FwBoSLへー、参考になるわ。ありがとう。
C用のリンカが絡んで来ない限りは混在できるって理解でいいのかな?
staticな変数を書き換えてると想定外なことが起きそう
0915デフォルトの名無しさん
2017/05/09(火) 01:43:09.71ID:jo26XFAE0916デフォルトの名無しさん
2017/05/10(水) 10:56:13.54ID:0hFJ5UkDServo
Dropboxの内側
この二年間判子でも押してんのかってくらい
これしか出てきてないやで。
0917デフォルトの名無しさん
2017/05/10(水) 11:13:52.88ID:mMhExRU70918デフォルトの名無しさん
2017/05/10(水) 11:15:57.02ID:0QYEWDu41.0から始めたにわか知識でモノを言うのはどうかと
0919デフォルトの名無しさん
2017/05/10(水) 12:47:54.37ID:nbHcOJ7dそれって中身c++?
0920デフォルトの名無しさん
2017/05/10(水) 14:46:02.55ID:5JQ8qpGtそれ1系になってからまともなキラーアプリ出てないことの擁護になってねえぞ。
0系から脈々と続いてるキラーアプリって例えば何だよ
0921デフォルトの名無しさん
2017/05/10(水) 17:37:23.36ID:rVDKC26c0922デフォルトの名無しさん
2017/05/10(水) 19:19:59.40ID:XATnWRVqそしてそのRE2との比較ベンチマークでは概ね優位な結果を出している
https://github.com/rust-lang/regex/blob/master/bench/log/05/re2-vs-rust
まあこれだって、速さの秘密は設計であってRustではないと言えなくもないが、それを言い始めたらどんなものだってそうなるわけで……
0923デフォルトの名無しさん
2017/05/10(水) 20:29:48.23ID:qFSf2ut10924デフォルトの名無しさん
2017/05/10(水) 22:15:45.77ID:vC5mCQJ80925デフォルトの名無しさん
2017/05/11(木) 00:31:42.38ID:1trPjqZb0926デフォルトの名無しさん
2017/05/12(金) 22:13:56.60ID:/qNs0s39トレイトをVecに入れることはできないのでしょうか?
よろしくお願い致します。
https://play.rust-lang.org/?gist=71800494b0fd1c3e6e01319033d02ccb&version=stable&backtrace=0
0927デフォルトの名無しさん
2017/05/12(金) 22:24:41.25ID:ePjXpOIyほい
https://play.rust-lang.org/?gist=9322e2e43abda0ffdf9c3622b0458295
TRPLのtrait boundのあたりを再読することを勧める
https://doc.rust-lang.org/book/traits.html
0928926
2017/05/12(金) 22:41:29.54ID:/qNs0s39ありがとうございます!
できるんですね!安心しました!
もう一度読み直してみます!
0929デフォルトの名無しさん
2017/05/13(土) 08:06:40.42ID:xsq9/VMj3.19. Traits
https://doc.rust-lang.org/book/traits.html
4.19. トレイト
https://rust-lang-ja.github.io/the-rust-programming-language-ja/1.6/book/traits.html
章番号が違うと思ったら翻訳の方は1章がIntroductionだった。
0930デフォルトの名無しさん
2017/05/14(日) 08:52:33.34ID:fadi1QDK昨日の夜からずっとやっているのですが解決方法が見つからずにいます。
よろしくお願い致します。
https://play.rust-lang.org/?gist=a375fc6be8b1fe372b37b2c6016a8f21&version=stable&backtrace=0
0931930
2017/05/14(日) 12:26:08.29ID:fadi1QDK0932デフォルトの名無しさん
2017/05/14(日) 13:36:42.22ID:pJQIemEXやりたいのはこんなこと?
https://play.rust-lang.org/?gist=409ea391ea26bedd99815cfd5321f329
0933デフォルトの名無しさん
2017/05/14(日) 13:37:18.02ID:Md4a44U8fromの中身をJSON::Array(v)にすれば???=JSONで通るよ
俺も初心者だからよく分かんないけど
enumをコピーしたいんだったら#[derive(Clone)]を使えばいいのかな?
0934デフォルトの名無しさん
2017/05/14(日) 14:39:39.74ID:zrHRjUcET: Cloneは不要
https://play.rust-lang.org/?gist=653a0583d14c167d30db66a8e4c2fb6f
どうせならFromIterator<T>も実装しておくべきかかもな
0935930
2017/05/14(日) 14:42:29.11ID:fadi1QDKありがとうございます!これです!これがやりたかったんです!
多分できないんだろうなと思って完全に諦めていました!
ありがとうございます!
0936930
2017/05/14(日) 14:45:46.69ID:fadi1QDKClone無しにできるんですね!ありがとうございます!勉強になります!
0937デフォルトの名無しさん
2017/05/14(日) 14:46:26.59ID:ZMLrc75/0938930
2017/05/14(日) 15:05:42.81ID:fadi1QDK新しいシリアライズフォーマットを作っていたのですがどう実装していいかわからないところがあり、質問する際に回答しやすいかなと思ってJSONにして質問してみました!
serde_jsonは型情報が事前にわかってないとシリアライズ/デシリアライズできないと思い込んでいましたがそんなことないんですね!serde_jsonのソース見てみます!
0939デフォルトの名無しさん
2017/05/17(水) 19:26:14.20ID:Tf+uq8Inhttps://crates.io/crates/cargo-cake
>A cake for celebrating Rust's birthday
0940デフォルトの名無しさん
2017/05/17(水) 21:11:51.51ID:bY/Wnlnx0941デフォルトの名無しさん
2017/05/18(木) 09:57:29.68ID:pE9H07RL一番好きなOSSライセンスで配布されてて、入れねばと思った次第
このライセンス、もっと流行ってほしい
0942デフォルトの名無しさん
2017/05/18(木) 10:06:00.24ID:f88CfZw6GPL股間でケツみたいなロゴ
0943デフォルトの名無しさん
2017/05/18(木) 19:45:14.25ID:1qJaUFOe0944デフォルトの名無しさん
2017/05/18(木) 19:52:14.49ID:KhU24P3y0945デフォルトの名無しさん
2017/05/18(木) 19:53:40.57ID:/+P5IoOC0946デフォルトの名無しさん
2017/05/18(木) 20:36:37.70ID:38KyjAHnなんか理由あるのかな? 単に他の人がそうしてるから?
ほかの言語のライブラリと比べると、BSDライセンスやGPLがもっと多くても良さそうな気がするんだけど
0947デフォルトの名無しさん
2017/05/18(木) 20:53:08.58ID:fOFaQvk5最新のBSDライセンスは変わってるのかもしれんけど
BSD風 = MIT な条項になるはずだからBSD風にするならMITで済ます方が楽だと思う
APLは広告表示を伝播させるウィルスライセンスだからGPL並みに嫌いだ...
だから、BSD風やMIT、しいては好き勝手を許すWTFPLを愛してる
0948デフォルトの名無しさん
2017/05/18(木) 21:56:20.62ID:kFoUD79vいつの時代からきたの
0949デフォルトの名無しさん
2017/05/18(木) 22:08:12.07ID:H9PBwwNn0950デフォルトの名無しさん
2017/05/18(木) 22:09:14.25ID:ohXqIolzhttps://github.com/sfackler/rust-openssl/issues/331#issue-125839119
0951デフォルトの名無しさん
2017/05/18(木) 22:17:01.68ID:38KyjAHn0952デフォルトの名無しさん
2017/05/18(木) 22:32:31.37ID:38KyjAHnRustの主要ライセンスはApacheライセンスだけど、GPLv2互換にする為におまけとしてMITライセンスも付けてる
だからRustエコシステムの一環として、このcrateもデュアルライセンスにしてね
俺の中では、Apacheライセンスの方がマイナー感あるけど、こっちがメインらしい
0953デフォルトの名無しさん
2017/05/18(木) 22:43:24.79ID:fOFaQvk5new BSDという存在がなかった時代から来たよw
今はそんなライセンスになってんのな、流石に「BSD風」の面倒さはいつまでも保たなかったか
Apacheがまだ元気だった頃、Apache製のJava LibがAndroidなんかで大量に使われて一気に流行ったよな > APL
GPLv2だと商用で使えないけどBSD風/MITだと売名できないからって00年代にはよく使ってたわ
0954デフォルトの名無しさん
2017/05/19(金) 09:05:07.26ID:r5Vu9+iD0955デフォルトの名無しさん
2017/05/19(金) 12:16:11.47ID:Cc5/b8RU広告表示の伝播って何?
0956デフォルトの名無しさん
2017/05/19(金) 14:23:28.33ID:7dSH5YZbMITと違って権利元の紹介/参照表示義務があるから、APLソースを作った企業は広告塔として利用できる
利用側、提供側の両方の企業にとってWin-Winだねぇ
PRの著作権が譲渡されるのが便利ってのは意味わからんけど
PR受領側がAPLにしてても意味ないし、PR発行側がAPLにしたら権利譲渡されないでしょ
0957デフォルトの名無しさん
2017/05/19(金) 16:01:37.09ID:YSFiOlnd古い記事だが俺がずっとRustはクソ言語未満って言ってるのは正しかったと確信できた。
ここにいるクソモジラの工作員は百万回読んで反省しろ。
0958デフォルトの名無しさん
2017/05/19(金) 16:17:53.03ID:00885lZ80959デフォルトの名無しさん
2017/05/19(金) 16:19:17.30ID:YSFiOlndクソ言語を流行ってるように見せかけて害悪を撒き散らしてるのが工作員じゃなくて何なんだ?
実際に雇われてなくても工作員には変わらない。
0960デフォルトの名無しさん
2017/05/19(金) 17:19:26.35ID:uFlt+gQT確信出来たけどまたここに来ちゃうんでしょ〜?
0961デフォルトの名無しさん
2017/05/19(金) 17:37:02.20ID:YSFiOlndうっかりステマに騙されてこのスレに来た奴に本当の情報を教えて救う仕事があるからな。
0962デフォルトの名無しさん
2017/05/19(金) 20:18:17.49ID:ICcQ+KKA半分くらいで読む気なくしたけど序盤からグリーンスレッド云々とか言ってて「は?」って感じだし
途中でD言語の衰退とかに触れてるのはあまり関係ない話だし、
引き合いに出されてるベンチマークの結果は最新版では順調にC/C++に近づいてて色々笑える
0963デフォルトの名無しさん
2017/05/19(金) 21:05:47.66ID:rqeuDXpP0964デフォルトの名無しさん
2017/05/19(金) 22:56:06.99ID:myVq12PIC++の後継狙ってないなら絶対切ってない機能だから、これ切った時点でC++の置き換え狙ってないとか口が割けても言えないよな???
でこの体たらくかwwwwwww
ってことな。
>D言語の衰退
かつてCやC++の後継を狙った言語がことごとく結局技術的負債になってるが、Rustがそうならない理由どこにもないけどそれでも使うの???
ってことな。
>引き合いに出されてるベンチマークの結果
ソースなし擁護乙。
0965デフォルトの名無しさん
2017/05/19(金) 22:58:39.55ID:ICcQ+KKA箱ひげ図くらい読めるよな?
http://benchmarksgame.alioth.debian.org/u64q/which-programs-are-fastest.html
0966デフォルトの名無しさん
2017/05/19(金) 23:42:10.72ID:R52jpALpVec<Rc<RefCell<Box<Trait>>>> に爆笑したわ
別名つけるなり構造体に押し込むなり色々やりかたがあるって自分の示したソース(しかもRedditて)で書かれてるし
そんなんC++でもやるだろ
つか個人的にはC++のテンプレートの方が記述ひどいわ
あと記事の最後の
「C++erは(中略)必要とあればRustを習得するのはすぐできるが、逆はほとんどありそうもない」
っていうのは全力でダウトぶつけたいわ。簡単なのは闇の軍団くらいだろ
逆に言えば「闇の軍団くらいになればRustなんていらない」っていうことなのかもしれんが
0967デフォルトの名無しさん
2017/05/20(土) 00:27:26.97ID:Ff6K3/VMCの箱が潰れてただの線になってるのほんと笑う
C++にはかなり追いついている(というか中央値はほぼ同率か)が、Cだけは越えがたき壁だな
0968デフォルトの名無しさん
2017/05/20(土) 01:16:59.18ID:FvSbl/DO「ない」ばっかり、君日常会話も否定から入るタイプ?
0969デフォルトの名無しさん
2017/05/20(土) 07:19:30.94ID:ByT4iV18グリーンスレッドにあたるものってC++にはないよ。だからよりC++に近付いたんだよ。
もっとRustとプログラミング言語勉強しないとくそ言語かどうか判らないね〜。
またRust勉強したら帰ってきてね
0970デフォルトの名無しさん
2017/05/20(土) 10:08:32.95ID:POYpVYoy「ずっとRustはクソ言語未満って言ってる」のに確信持ってなかったとか驚いたゾ
根拠なくクソ言語未満って言ってたとかお前は原人かよぉ
0971デフォルトの名無しさん
2017/05/20(土) 17:57:16.26ID:QYvr2rA8そもそもの>>957の文が「グリーンスレッドを切ったんならC++の置き換えを狙ってるってことだよな?」という内容だからその点に限っては>>964は間違っていない
0972デフォルトの名無しさん
2017/05/20(土) 18:18:03.04ID:FvSbl/DO0973デフォルトの名無しさん
2017/05/20(土) 19:47:44.68ID:FUP6GO5Q0974デフォルトの名無しさん
2017/05/20(土) 20:02:52.38ID:yXBDkmxuない=まぁ無くても…別にねぇ?
0975デフォルトの名無しさん
2017/05/20(土) 20:31:44.28ID:HYrvvmg5擬似スレッドなんて。
0976デフォルトの名無しさん
2017/05/20(土) 21:08:20.63ID:NqXZxUdZこの頃はどういう背景だったんだろうねぇ、goroutineを真似てみたかった感じなのかね
同じものを実現することは不可能なわけで、それでグリーンスレッドイラネになったのなら必然だわな
0977デフォルトの名無しさん
2017/05/20(土) 21:29:09.33ID:1hsFVVTlグリーンスレッドを捨てた結果、愚かにもC++に弓引くドンキホーテになった。
0978デフォルトの名無しさん
2017/05/20(土) 23:31:32.24ID:FvSbl/DO0979デフォルトの名無しさん
2017/05/20(土) 23:38:34.66ID:QYvr2rA80980デフォルトの名無しさん
2017/05/20(土) 23:57:14.86ID:FvSbl/DOあーそんなことは言ってない。cpuを有効活用してかないといけないのに今更グリーンスレッド持ち上げてもアレだよと。
0981デフォルトの名無しさん
2017/05/21(日) 01:41:54.52ID:DDrTaXD80982デフォルトの名無しさん
2017/05/21(日) 04:11:14.25ID:cLRuMlqp0983デフォルトの名無しさん
2017/05/21(日) 06:52:28.40ID:9L9dm7b/このドンキホーテも真っ青な的外れな指摘よ
グリーンスレッド載せてもGo(goroutine)との勝負の土俵に上がれないってばよ
>>982
ぱっと見、()が多くてタイプ面倒そうでもっとシンプルにならんかなと思ったけど
letや&&なんかを何度もタイプするより短いんだな
0984デフォルトの名無しさん
2017/05/21(日) 11:03:41.44ID:HTknFc4w標準ライブラリのIO系関数をネイティブスレッド、グリーンスレッドのどちらでも使えるようにすると
ネイティブスレッドで使ったときのオーバーヘッドが大きすぎると問題になった
グリーンスレッドとネイティブスレッドにそれぞれ別のIO関数用意するのだったら
標準ライブラリでやらなくても良いよねということになって
グリーンスレッドサポートはドロップされた
0985デフォルトの名無しさん
2017/05/21(日) 11:21:50.34ID:rlx7fyr1trip finds 2channel-style tripcodes
2ch用ツールがcrates.ioに上がってるね。
0986デフォルトの名無しさん
2017/05/21(日) 12:22:45.36ID:HwsOwdy10987デフォルトの名無しさん
2017/05/21(日) 12:47:53.53ID:cLRuMlqpもうメンテナンスされてないっぽいけどこっちの方が多機能そう
https://github.com/Huton/tripcode-rs
0988デフォルトの名無しさん
2017/05/21(日) 12:50:18.66ID:cLRuMlqp0989デフォルトの名無しさん
2017/05/21(日) 12:51:09.59ID:hU2RwKDaおれもユニティーちゃんみたいなのほしいんだが
0990デフォルトの名無しさん
2017/05/21(日) 12:51:29.25ID:hU2RwKDa0991デフォルトの名無しさん
2017/05/21(日) 13:07:17.24ID:rlx7fyr1カニのフレンズがいるって、このスレで見た
0992デフォルトの名無しさん
2017/05/21(日) 13:09:35.76ID:cLRuMlqp0993デフォルトの名無しさん
2017/05/21(日) 13:30:02.02ID:hU2RwKDa0994デフォルトの名無しさん
2017/05/21(日) 13:32:15.48ID:HwsOwdy10995デフォルトの名無しさん
2017/05/21(日) 13:47:49.18ID:rlx7fyr1http://blog-imgs-10.fc2.com/k/a/n/kaniking/shanghaigani070107.jpg
0996デフォルトの名無しさん
2017/05/21(日) 14:04:48.14ID:9L9dm7b/ttps://echo.2ch.net/test/read.cgi/tech/1495343069/l50
0997デフォルトの名無しさん
2017/05/21(日) 14:08:51.46ID:hU2RwKDa0998デフォルトの名無しさん
2017/05/21(日) 15:13:30.59ID:2E7Z41P0へ..........ミ
へ____ミ
0999デフォルトの名無しさん
2017/05/21(日) 15:13:59.69ID:2E7Z41P01000デフォルトの名無しさん
2017/05/21(日) 15:14:22.40ID:2E7Z41P010011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
life time: 200日 12時間 1分 43秒
10021002
Over 1000Thread運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 2ちゃんねる専用ブラウザからの広告除去
★ 2ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.2ch.net/
▼ 浪人ログインはこちら ▼
https://login.2ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。