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


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

プログラミング言語 Rust 2



1 名前:デフォルトの名無しさん mailto:sageteoff [2016/11/02(水) 03:12:40.30 ID:MYQ7Ohex.net]
Mozillaがリリースした、プログラミング言語「Rust」について語るスレです。

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

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

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

652 名前:デフォルトの名無しさん mailto:sage [2017/03/02(木) 23:58:57.23 ID:5xdornxH.net]
流行るかどうかは知らんが、使って見た感想としては、racerで不十分だったエラーチェックやgo to definitionとかもあってそれなりに快適
不満があるとすれば、初期化に時間がかかる(ただし2回目以降は少し速い)のと入力の度の解析に少し時間がかかる(ただしcargo checkよりは速い)のとキャッシュがクソでかいところかな

653 名前:デフォルトの名無しさん [2017/03/03(金) 02:48:30.02 ID:NOi6E2uI.net]
Rust(錆)
流行ることなく誰にも使われず錆びていくプログラミング言語、それがRust
ルストハリケーン

654 名前:デフォルトの名無しさん [2017/03/03(金) 02:50:44.93 ID:8SEA7Mtt.net]
language server protocolはビルドツールでもない。
エディタでコード補完とかフォーマットとか(VisualStudioのIntellisenseのようなもの)を実現するためのプロトコル。
エディタの機能拡張のためのものだよ。

655 名前:デフォルトの名無しさん mailto:sage [2017/03/03(金) 05:22:56.35 ID:Mo/AGisi.net]
Ryzenなら、rustcも爆速になる?
https://twitter.com/FuAnTaJi/status/837313090190467072

656 名前:デフォルトの名無しさん mailto:sage [2017/03/03(金) 05:26:52.91 ID:bMgzQydB.net]
Rustスレで語るほどの話題でもないな

657 名前:デフォルトの名無しさん mailto:sage [2017/03/03(金) 05:46:13.37 ID:Dlw1K2JE.net]
>>642
話がズレてんぞ
「Rust Language Server」(ソフトウェア)の利便性/実用性を問うているのであって
「language server protocol」(プロトコル)の利便性/実用性を問うているんじゃない

>>640
ああ、キャッシュはクソでかいのか...
元コードや依存crateに比例するだろうけど多少の利便性のために使って良いものか微妙なのかなぁ

658 名前:デフォルトの名無しさん mailto:sage [2017/03/03(金) 06:25:02.22 ID:bMgzQydB.net]
まあクソでかいと言ってもdebug buildのキャッシュに少し欠けるくらいだけどね
逆にいえばdebug buildと同等のオーダーで容量を食うということだが

659 名前:デフォルトの名無しさん [2017/03/03(金) 08:53:13.29 ID:8SEA7Mtt.net]
>>645
ビルドツールとかいって何に使うものかも解ってない >>639 みたいなのが居たから書いたのに話がずれてるって…

660 名前:デフォルトの名無しさん mailto:sage [2017/03/03(金) 09:37:43.14 ID:NTvASRIg.net]
それでもその程度(debugビルド)か
提供体系変えたからってそれ以上は減らないだろうから
結局は、サーバクライアントモデルにメリットがあればって所なのな, 情報thx



661 名前:デフォルトの名無しさん mailto:sage [2017/03/03(金) 10:21:19.53 ID:Ufz5V5uO.net]
LSPをサポートしてれば、エディタ/IDEそれぞれに特化したプラグインを作らなくていいところが良い
まあracerもそうだけど。後は非同期的なのも重い処理にはいいかもね

662 名前:デフォルトの名無しさん mailto:sage [2017/03/03(金) 18:34:23.36 ID:NTvASRIg.net]
IntelliJのRustプラグインはRLS対応メンドイから当分見送りな!とか言ってるんだよねぇ
エディタ/IDEのフロントエンドは作り込み必要だし、LSP共通でできることって結構薄いレイヤーなんだろうな

663 名前:デフォルトの名無しさん mailto:sage [2017/03/03(金) 23:51:37.58 ID:JBnTbtYi.net]
Rainicorn開発して自前でon the fly error checkやってたRustDTが
LSPが発表された途端にRustLSP開発始めたのにRLSがでてきて完全に沈黙中。
(´・ω・)カワイソス

LSPはリファクタに使える問い合わせもできるから
RLSとIDE側が対応すればrustのツールで初めてのリファクタ機能が現れるかも。

664 名前:デフォルトの名無しさん [2017/03/08(水) 03:21:51.70 ID:DeDFMxZF.net]
i.imgur.com/WTFdXwM.png

Rustのメモリ管理が良く分からないので
脳内整理してみたけどよく分からない

665 名前:デフォルトの名無しさん mailto:sage [2017/03/08(水) 07:03:46.86 ID:jgMpoXzS.net]
このごちゃごちゃで整理とか笑える。

666 名前:デフォルトの名無しさん mailto:sage [2017/03/08(水) 07:23:54.02 ID:CjJNAnlh.net]
コメ返してるのウケる

667 名前:デフォルトの名無しさん mailto:sage [2017/03/08(水) 07:26:21.29 ID:fOyT060n.net]
こ、コメ

668 名前:デフォルトの名無しさん mailto:sage [2017/03/08(水) 10:47:45.16 ID:6Gp+/qzY.net]
よく分かってないから脳内整理もぐちゃぐちゃになってるのではなかろうか
rustはマルチスレッドに影響受けることはないし、他にも理解が出来てない所が多そう

公式ドキュメントが分かりやすいからきちんと読み直したら?
https://doc.rust-lang.org/book/

>>654
ワロタ

669 名前:デフォルトの名無しさん mailto:sage [2017/03/08(水) 13:45:42.21 ID:68sDUGxJ.net]
何が分からないのか分からない状態。borrowじゃなくてownershipが分からないのか、スタックとヒープが分からないのか。

670 名前:デフォルトの名無しさん mailto:sage [2017/03/08(水) 13:59:22.48 ID:jMX+hATM.net]
>>652
java臭い



671 名前:デフォルトの名無しさん mailto:sage [2017/03/10(金) 08:50:25.22 ID:mPQwWGXM.net]
>>455
JavaにはJapanese Eraあるな

672 名前:デフォルトの名無しさん [2017/03/11(土) 03:15:58.35 ID:ls0F4O8F.net]
Rustで作ったプログラムを公開するとき

Rust自身のライセンス文書と
crateで含めた各パッケージのライセンスと各パッケージが依存するパッケージのライセンスを
含める必要があると思うんですが

それらのライセンス文書をかき集めるcargoのコマンド等あったりしますか?
( ~/.cargo/registry/src/ 下にパッケージのソースファイルやライセンスファイルがあるのは分かってるんですが手動で集めるのは面倒なので・・・)

673 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 08:13:55.49 ID:kL5whW8F.net]
HyperのTokio化が間近まで迫っているわけだが、かなり仕組みが変わってて対応が面倒臭い

674 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 08:15:11.10 ID:x2OoeTeG.net]
DASH言語

675 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 08:16:44.20 ID:hkT0qMWn.net]
そういえばhyperってcharsetから自動でデコードしてくれないのかな

676 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 08:19:31.82 ID:qKzUYLvE.net]
>>662
まずは言語を動かすプロセッサーを作るための半導体から調達するのかな

677 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 08:24:05.78 ID:kL5whW8F.net]
Charsetはhyperの領分からはかなりかけ離れてるんじゃないかねえ。reqwestですら対応しなさそう

678 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 08:46:49.37 ID:qKzUYLvE.net]
charsetは別に良いけど、Content-Encodingは対応してくれないのかなぁ

679 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 09:04:48.56 ID:kL5whW8F.net]
>>666
gzipに関してはreqwestのupstreamで既に対応している
https://github.com/seanmonstar/reqwest/pull/61
いつリリースされるのかは分からん

680 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 12:10:28.94 ID:nSjuwCRc.net]
reqwestにモリモリとFeature Request投げつけて肥大化したライブラリにすればいいんじゃないかなぁ!

それを横目に、reqwestに代わる極最低限の機能をピックアップできるライブラリの登場を期待したい
tomlのoptionalで切れるのでもいいんだろうけど、crate分けてくれた方がrustらしい気がする



681 名前:デフォルトの名無しさん mailto:sage [2017/03/12(日) 13:51:15.74 ID:oPHiMgG4.net]
Rayonの1.0 milestoneが残すところドキュメント関連のみとなって1.0が秒読みという感じでとてもよろしい
SerdeだのHyperだのRayonだのという目玉crateが軒並みpre-1.0なままなのは気持ち悪いからなあ

682 名前:デフォルトの名無しさん mailto:sage [2017/03/12(日) 15:37:08.34 ID:O3/Gyy1q.net]
Windows版はVisual C++ 2015 Build Toolsをインストールする必要があるってことだけど、
これのライセンスってどうなってるの?
Communityと同じだったらうちの会社じゃあ使えないことになるけど、はっきり書いてある
ところが見つからない。

683 名前:デフォルトの名無しさん [2017/03/12(日) 15:41:23.49 ID:U4Jjwa7O.net]
>>670
インストーラーが表示しないの?

684 名前:デフォルトの名無しさん mailto:sage [2017/03/12(日) 17:13:31.76 ID:O3/Gyy1q.net]
なるほど。ライセンス条項を表示して「同意する」にチェックを入れさせるいつもの奴じゃないから
スルーしそうになったけど、いちおうリンクが見つかった。ありがとう。

685 名前:デフォルトの名無しさん mailto:sage [2017/03/14(火) 00:27:55.78 ID:olV+TTff.net]
#[allow(unuseed_variables)]
じゃなくgolangみたいに
let _ = hoge;
とプレースホルダでコンパイル通したりする?

686 名前:デフォルトの名無しさん mailto:sage [2017/03/14(火) 00:32:20.78 ID:UwSzXh4Z.net]
>>673
それでも良いし、let _piyo = hoge;でも良い

687 名前:デフォルトの名無しさん mailto:sage [2017/03/14(火) 22:39:18.78 ID:pGPNuxtq.net]
ていうかallow(unuseed_variables)とプレースホルダはぜんぜん違うぞ

688 名前:デフォルトの名無しさん mailto:sega [2017/03/14(火) 22:54:53.45 ID:UwSzXh4Z.net]
まあ確かに、unuseed_variablesなんてlintはないしな

689 名前:デフォルトの名無しさん mailto:sage [2017/03/15(水) 09:52:08.89 ID:65dLeHL5.net]
うぬ種(unuseed)、、、これには深い秘密が

unused_variablesとプレースホルダ、ワーニングを消すために使うなら同じバイナリ出力するがな
traitのインターフェース切る時はプレースホルダ使ってる

690 名前:デフォルトの名無しさん mailto:sage [2017/03/16(木) 22:41:36.30 ID:KeMWtB7g.net]
そういえばC++だとリリースビルドで消える変数はmaybe_unusedいるんだよな。rustかしこい!



691 名前:デフォルトの名無しさん mailto:sage [2017/03/17(金) 03:23:47.24 ID:bRwtX1Af.net]
Announcing Rust 1.16
https://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でも有効に

692 名前:デフォルトの名無しさん mailto:sage [2017/03/17(金) 21:17:58.70 ID:OBbyZsQw.net]
b‘\x0a‘を”a”に一発で変換する関数ってライブラリにある?自分で書かないと無理?

693 名前:デフォルトの名無しさん mailto:sage [2017/03/17(金) 21:33:20.90 ID:bRwtX1Af.net]
format!("{:x}", b'\x0a')

694 名前:デフォルトの名無しさん mailto:sage [2017/03/17(金) 22:53:52.43 ID:OBbyZsQw.net]
>>681
マジでありがとう
こういうときはformatなのね

695 名前:デフォルトの名無しさん mailto:sage [2017/03/18(土) 00:10:31.46 ID:c1jSzzlC.net]
cargo checkサブコマンド、エラー内容によっては挙動がおかしいんだよね。
cargo test --no-runなら完走する。それかrustcは問題ないから直接rustc叩く。

infinite typeが循環してるとrustcが止まらないのと組み合わさると
rustcがcargoに制御返さない→cargoが無言決め込むになって何が起こってるのかわからなかった。

>>682
自前で弱い動的型付け言語並みのto_string()実装しても良いんだぜ?

696 名前:デフォルトの名無しさん mailto:sage [2017/03/18(土) 01:29:52.32 ID:ZU/olwx/.net]
標準ライブラリでは任意の記数法(62進数とか)を扱えないから自前でフォーマッタを定義してちょいちょいする羽目になることがある
std::fmt::fmt_radixは1.9で消えちゃったから、この手のものを公式で提供する気はなさそうだし

697 名前:デフォルトの名無しさん [2017/03/18(土) 02:04:48.97 ID:sCZDN2Pv.net]
Hideyuki Tanakaさんのツイート: "https://t.co/EoxWy8cSvV 多くのベンチでRustがC++より高速なコードになってきたみたい。"
https://twitter.com/tanakh/status/842326121647505408?p=p

698 名前:デフォルトの名無しさん [2017/03/18(土) 10:03:15.93 ID:cTWPUp3Z.net]
>>685
いいね

699 名前:デフォルトの名無しさん mailto:sage [2017/03/18(土) 10:48:58.61 ID:HHPgXzoi.net]
vec![“data”,“chou-data” ...みたいなのがあって
出現する要素の数をカウントする一番賢い方法ってなんじゃろ?

700 名前:デフォルトの名無しさん mailto:sage [2017/03/18(土) 10:53:52.98 ID:ZU/olwx/.net]
vec.iter().filter(|&&s| s == "predicate").count()
とか?



701 名前:デフォルトの名無しさん mailto:sage [2017/03/18(土) 11:13:48.52 ID:HHPgXzoi.net]
要素全てのカウントで
“data”は3回 “chou-data”は20回という情報が欲しいです
mutなHashMapでシコシコカウントですかね?

702 名前:デフォルトの名無しさん mailto:sage [2017/03/18(土) 11:26:04.35 ID:G5NG4rX0.net]
multisetは使えない? 外部クリートを使うことになるけど

703 名前:デフォルトの名無しさん mailto:sage [2017/03/18(土) 11:36:10.64 ID:Y4C9s3ir.net]
てかそもそもどういう操作にどのくらいの計算量を要求しているのか言ってくれないと答え損にしかならないというか

704 名前:デフォルトの名無しさん mailto:sage [2017/03/18(土) 11:40:29.03 ID:DBFuVmGN.net]
要素→int のマップを用意して、配列の頭から走査して行って出現ごとにインクリメントが正道じゃね。

705 名前:デフォルトの名無しさん mailto:sage [2017/03/18(土) 11:49:38.08 ID:HHPgXzoi.net]
ありがとうございます
とりあえずmultisetのソース見て勉強してきます

706 名前:デフォルトの名無しさん mailto:sage [2017/03/18(土) 18:38:07.11 ID:zyxHQlVL.net]
“data”と“chou-data”の2種類しかないなら一方だけ数えて全体の要素数から引けば両方求められるんじゃね

707 名前:デフォルトの名無しさん mailto:sage [2017/03/18(土) 19:49:33.18 ID:PBtATWqK.net]
ゲームとか作るのにはまだつらい感じ?

708 名前:デフォルトの名無しさん mailto:sage [2017/03/18(土) 22:51:11.48 ID:kQkqB4BZ.net]
ss

709 名前:デフォルトの名無しさん mailto:sage [2017/03/18(土) 23:36:17.52 ID:Cy4FObwW.net]
そういえばコレクション操作で統計用の述語足りてないよね。
他にもあらゆる標準ライブラリ的なものが足りてないからそういうライブラリばかり作られてるんだけど。

>>695
pistonに一通りある。

710 名前:デフォルトの名無しさん mailto:sage [2017/03/19(日) 06:16:46.07 ID:Q49RXSlY.net]
Nightlyでcargo updateをしようとしたら
thread 'main' panicked at 'called `Option::unwrap()`
云々とか出てきて何事かと思ったら、どうやらRust TeamがGitの操作をミスってnightlyが壊れてたらしい
https://github.com/rust-lang/rust/pull/40625



711 名前:デフォルトの名無しさん mailto:sage [2017/03/21(火) 23:01:00.46 ID:hxyeHBes.net]
高階関数に渡す述語のinline属性の指定にかかわらず
そこだけ必ずインライン化するか必ずインライン化しないか指定する方法ない?

Option::map_or_elseに渡すdefault引数とf引数がinline属性付いてるけどインライン化させたくないんだけど。

712 名前:デフォルトの名無しさん mailto:sage [2017/03/24(金) 07:34:18.46 ID:yNGhLANb.net]
Stack Overflowの調査でまたしてもRustが最も好まれている言語になった
https://stackoverflow.com/insights/survey/2017#technology-most-loved-dreaded-and-wanted-languages

が、エンタープライズでの採用例が少ないのだからユーザのうち好んで使っている人の割合が高まるのは当然っちゃ当然だわな

713 名前:デフォルトの名無しさん mailto:sage [2017/03/24(金) 08:53:30.74 ID:mOA6Vf99.net]
みなさんfloatのベクタのソートについてどう思ってるの?

714 名前:デフォルトの名無しさん mailto:sage [2017/03/24(金) 14:35:58.01 ID:pHNq00OZ.net]
>>683
こば?

715 名前:デフォルトの名無しさん mailto:sage [2017/03/24(金) 19:39:57.65 ID:YSCc9yI+.net]
>>700
良い言語なんだけどまだ安定感が足りない感じなんだよなぁ、web系だとclojureがイミフな位安定感あるのと違って
rustはもっと期待されている分バージョン間の差違に敏感な用途が多いからじゃないのかと思うけど。

716 名前:デフォルトの名無しさん mailto:sage [2017/03/25(土) 03:50:37.57 ID:BrrX4e7P.net]
Tokio-minihttp is number 4 in TechEmpower Round 14 Preview : rust
https://redd.it/615sjf

717 名前:デフォルトの名無しさん mailto:sage [2017/03/30(木) 16:59:39.44 ID:mKbsz9A+.net]
// 例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

718 名前:デフォルトの名無しさん mailto:sage [2017/03/30(木) 17:03:13.41 ID:mKbsz9A+.net]
>>705ミス

// 例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

719 名前:デフォルトの名無しさん [2017/03/30(木) 18:52:42.70 ID:mCoqxFE9.net]
え?それが何だというの?

720 名前:デフォルトの名無しさん mailto:sage [2017/03/30(木) 19:02:31.30 ID:VKjElo3D.net]
ボローチェッカーのせいで読みづらいコードを書かされるって話じゃね?
てかこんな風に書けるのか。今までunwrapで無理矢理対応してたわ



721 名前:デフォルトの名無しさん mailto:sage [2017/03/30(木) 19:45:59.94 ID:Gp+R1RG2.net]
>>708
borrowckなしの状態よりむしろ危険になってて悲しい

722 名前:デフォルトの名無しさん mailto:sage [2017/03/30(木) 21:09:15.78 ID:JBiI28RD.net]
C++だとprivateにしてアクセサ付けろって言われるのに
rustだと必要なときだけ、って感じなのってなぜ?

723 名前:デフォルトの名無しさん [2017/03/30(木) 22:29:46.32 ID:s+CP+YQd.net]
>>710
C++でも言われないよそんな事

724 名前:デフォルトの名無しさん mailto:sage [2017/03/30(木) 23:51:37.90 ID:UVGuKdEr.net]
>>710
大昔:public/privateの概念なく、どこからでも何でもアクセスあり
一昔前:public/privateで公開域を超強力に限定(極端に縛る文化
最近:public/privateはそこそこにね(極端に走りすぎてやりすぎたと反省

どの言語も最近は必ずしもpublic/privateなどの公開域を指定する修飾詞をつけないといけないって感じではなくなってるよ
怠慢 => 厳格 => 適度 って時代の流れよな

>>712がそういう時代の流れが知らないのか、あえて無視してるのか知らんけど

727 名前:デフォルトの名無しさん mailto:sage [2017/03/31(金) 08:03:04.47 ID:kyVktr8w.net]
www.textdrop.net/google-styleguide-ja/cppguide.xml?showone=%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E5%88%B6%E5%BE%A1#%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E5%88%B6%E5%BE%A1
https://google.github.io/styleguide/cppguide.html#Access_Control

これとかは一昔前ということ?

728 名前:デフォルトの名無しさん mailto:sage [2017/03/31(金) 08:31:32.16 ID:kyVktr8w.net]
c++スレで聞けって感じだね

ここの住民のように最近の言語しらんのだ。ありがとう

729 名前:デフォルトの名無しさん mailto:sage [2017/03/31(金) 09:35:15.35 ID:CFLp8HcF.net]
>>710
rustのラッパー系が持ってる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++系の昔からある考え方を両方備えてるからまだ古くなってない。

730 名前:デフォルトの名無しさん mailto:sage [2017/03/31(金) 12:21:13.04 ID:8wrz3vyb.net]
>>714
言語自体はもう新興言語というほど新しくもないC++やJavaは修飾詞つけるのが正義なんじゃない
それ自体は別に文句ないし、自分もそれらの言語を使う時は率先して付けてる

rust, go, swift, nim, kotlinみたいな最近隆盛してる言語は付けないのが文化だと思う
デフォルトのアクセス権限がprivateだったりするヤツもいるから複合的な理由だけど



731 名前:デフォルトの名無しさん mailto:sage [2017/04/01(土) 09:03:12.10 ID:xsH2QUDo.net]
コンパイル通すのに必死で、最適化まで考える余裕がない

732 名前:デフォルトの名無しさん mailto:sage [2017/04/01(土) 11:27:53.05 ID:xsH2QUDo.net]
xml parseしたいけどserde使えばよい?

733 名前:デフォルトの名無しさん mailto:sage [2017/04/01(土) 11:37:09.88 ID:yqxqzJbW.net]
serdeってDOMじゃなかったっけ
DOMでいいならserde一択だとは思うけど

734 名前:デフォルトの名無しさん mailto:sage [2017/04/01(土) 13:13:16.49 ID:dZXDeDc3.net]
serde_xmlってあまり活発に開発されてる感じはしないよなあ。いまだにserde 0.8に依存してるし
まあ、DOMツリーを得たりstructに読み込んだりするにはserde_xml、ストリームを扱うのならxml-rsってところじゃないかねえ

735 名前:デフォルトの名無しさん mailto:sage [2017/04/01(土) 13:25:53.82 ID:ShBKdKpe.net]
domでおけ <

736 名前:デフォルトの名無しさん mailto:sage [2017/04/01(土) 14:14:43.48 ID:yqxqzJbW.net]
Issues読んでたら、serde 0.9はこっちで対応してるからいいんじゃねって雰囲気でワロス
ttps://github.com/RReverser/serde-xml-rs

737 名前:デフォルトの名無しさん mailto:sage [2017/04/01(土) 20:06:49.50 ID:xsH2QUDo.net]
やっぱ現代的言語としては標準ライブラリが弱すぎじゃない?
C++よかましだろうけど

738 名前:デフォルトの名無しさん mailto:sage [2017/04/01(土) 20:35:17.04 ID:/2Cak4ys.net]
探せばあるけど野良クレート頼りな感ある
C++よかましだけど

739 名前:デフォルトの名無しさん mailto:sage [2017/04/01(土) 21:26:19.10 ID:xsH2QUDo.net]
雰囲気的にnodeとかに近い感じかなぁ

740 名前:デフォルトの名無しさん mailto:sage [2017/04/01(土) 22:33:38.44 ID:cPS3ohZQ.net]
標準ライブラリは最大公約数的な最小限のパーツに押さえるというポリシーだしcrates.ioの使用が前提になってる



741 名前:デフォルトの名無しさん mailto:sage [2017/04/01(土) 22:45:09.77 ID:dZXDeDc3.net]
0.x時代はnumもrandもlogもstdの一部だったしね。こっちの方が破壊的変更がしやすいとかなんとか
今のstdですら、@alexcrichtonがio::Cursorの実装を後悔していたりするし(↓)
https://github.com/carllerche/bytes/issues/75#issuecomment-287145718

742 名前:デフォルトの名無しさん mailto:sage [2017/04/02(日) 00:14:26.80 ID:4ErkdvW9.net]
>>724
弱すぎるけど既存の標準ライブラリの設計も実装も結構ひどいところがある。
だけど、rustはcoreライブラリ書くのに向いてるから結局必要なら自分で実装しちゃう。

ネイティブスレッド一々作らせずにthread poolくらい標準で用意しろと思うけど。

>>727,728
cargoで一番センス悪いのがcrates.io前提とalexcrichtonだと思う。

743 名前:デフォルトの名無しさん mailto:sage [2017/04/02(日) 00:47:10.72 ID:YQEfEn7s.net]
Alex Crichtonになんの恨みがあるんだwww

744 名前:デフォルトの名無しさん mailto:sage [2017/04/02(日) 08:00:17.30 ID:GW9gqzFE.net]
no_stdをデフォルトにしようという極右派もにいてそうw
標準を強化しろってのも、標準は要らないってのも宗教だから無宗教の日本人らしく遠目に眺めてる

745 名前:デフォルトの名無しさん mailto:sage [2017/04/02(日) 10:12:44.61 ID:PP0pKPr+.net]
>>730
TOKIOの名を騙った恨み

746 名前:デフォルトの名無しさん mailto:sage [2017/04/02(日) 10:23:41.85 ID:wHW/bvWX.net]
> cargoで一番センス悪いのがcrates.io前提
自前のcrate作る時は名前の競合とか考えるの面倒だから
[dependencies]
hoge = { git = "https://github.com/hoge/hage.git" }
で済ましてるわ
今時、crates.io前提だけで組み上げる輩もおるまい

747 名前:デフォルトの名無しさん mailto:sage [2017/04/02(日) 23:14:29.59 ID:SJJzQWRj.net]
>>733
マルチプロジェクトで依存crateの数が多いとか、
他言語にも依存するとか、ローカルにしか無いcrateとオンライン上に
あるcrateの両方に依存するとか、
他エコシステムとの協調苦手(他エコシステムと連携するadhocで泥臭いcrate書いて
cargoでラップする構造にして隠蔽する必要がある)とかあるからそれだけじゃ上手くいかんよ。

実際にServoが色々壁にぶつかってissue投げまくってそっち優先で対処してるからServoはなんとか出来てる感じ。

言語は良いのに他がダメだから自分で対処できる人以外置いてきぼりで学習コスト高いと言われるんだと思う。
言語仕様もextnt,region,effect,zone(arena)とか一切説明なしに全部の文脈でlifetimeとかいう謎の語を使ってるしね。

748 名前:デフォルトの名無しさん mailto:sage [2017/04/03(月) 01:00:40.90 ID:JUppntkg.net]
他エコシステムとうまく連携できる言語見たことない

749 名前:デフォルトの名無しさん mailto:sage [2017/04/03(月) 01:23:46.19 ID:UPf59owC.net]
言語ごとのエコシステムなんて、OSのパッケージマネージャの邪魔しかしてねーだろ
ユーザーから見たら迷惑千万

750 名前:デフォルトの名無しさん mailto:sage [2017/04/03(月) 05:55: ]
[ここ壊れてます]



751 名前:44.20 ID:u5wlFHfm.net mailto: ディストリ毎に異なるパッケージマネージャーがあるのに無体なことを言うユーザ(笑)もいるもんだなw
ユーザはビルド済みのバイナリだけ使えばいいじゃんね

servoチームに魔改造受けたbindgenを使いこなせるようになりたい
と思ったら最近upstreamがservoチームのものについに切り替わったのか
これは大手ふって使わねば
[]
[ここ壊れてます]

752 名前:デフォルトの名無しさん mailto:sage [2017/04/03(月) 10:11:16.31 ID:8UfIZmop.net]
>>735
build.rsに他エコシステムと連携するプラグイン書けるrustはマシな方よな
Javaのgradleも頑張ってる方だけど言語公式じゃないし、gradleの本質はJavaじゃなくgroovyだし






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

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

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