Rustアンチスレ (202レス)
Rustアンチスレ http://mevius.5ch.net/test/read.cgi/tech/1509028624/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
20: デフォルトの名無しさん [] 2018/02/11(日) 23:22:44.25 ID:18bG+VQL アンチアンチ http://mevius.5ch.net/test/read.cgi/tech/1509028624/20
21: デフォルトの名無しさん [sage] 2018/02/12(月) 11:06:57.76 ID:+5PXSpLD 俺は賢いからunsafeだって使いこなせるぜ、transmute使うぜ 結果、メモリ非安全で生産性悪いRustクソ!!!! 俺はアホだから危ないunsafe使うのやめよ、整数型からenumにするのはfn new使おう 結果、メモリ安全で生産性良いなー Rustはアホ向けの学習難易度の低い言語だった可能性が微レ存? http://mevius.5ch.net/test/read.cgi/tech/1509028624/21
22: デフォルトの名無しさん [sage] 2018/02/12(月) 13:03:15.96 ID:JDol8IEk 普通の人間はアホか賢人に分類すると、だいたいアホ側がふさわしいからな。 無理する奴がバグを生む。俺はアホで良い。 http://mevius.5ch.net/test/read.cgi/tech/1509028624/22
23: デフォルトの名無しさん [sage] 2018/02/12(月) 19:04:43.26 ID:1V20MNhs ちょっと検索すればenumのvariantsをループで回す方法でてくる enumの定義時にマクロを使って全メンバーを含む配列も同時に定義するなどがある これだけをやってくれるcrateも作れそうだ http://mevius.5ch.net/test/read.cgi/tech/1509028624/23
24: デフォルトの名無しさん [sage] 2018/02/14(水) 22:58:26.65 ID:0r3oW/nt C++が車だとしたらRustはせいぜいゴーカートだなぁ http://mevius.5ch.net/test/read.cgi/tech/1509028624/24
25: デフォルトの名無しさん [sage] 2018/02/16(金) 06:49:37.38 ID:W1XJdyx1 ☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の 両院で、改憲議員が3分の2を超えております。 『憲法改正国民投票法』、でググってみてください。国会の発議は すでに可能です。平和は勝ち取るものです。お願い致します。☆☆ http://mevius.5ch.net/test/read.cgi/tech/1509028624/25
26: デフォルトの名無しさん [sage] 2018/02/22(木) 15:21:57.27 ID:H839Tp+8 C++がカーチスだとしたらRustはフォルゴーレな印象 http://mevius.5ch.net/test/read.cgi/tech/1509028624/26
27: デフォルトの名無しさん [] 2018/02/23(金) 17:07:47.78 ID:ZuaVfjvd つまり、どっかの豚しか乗りこなせないのか… http://mevius.5ch.net/test/read.cgi/tech/1509028624/27
28: デフォルトの名無しさん [] 2018/05/23(水) 20:21:30.55 ID:Au5e7VGg 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方 役に立つかもしれません グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』 P5EA8 http://mevius.5ch.net/test/read.cgi/tech/1509028624/28
29: デフォルトの名無しさん [] 2018/07/05(木) 01:24:10.02 ID:RfoszcD2 6YB http://mevius.5ch.net/test/read.cgi/tech/1509028624/29
30: デフォルトの名無しさん [sage] 2018/07/16(月) 21:36:50.20 ID:LulkQD8r なんで所有権の移動という一度しか起こらない元値を破壊するものが印なしで 参照の借用渡しが&にしたんだろう ねえ http://mevius.5ch.net/test/read.cgi/tech/1509028624/30
31: デフォルトの名無しさん [sage] 2018/07/18(水) 21:34:09.40 ID:uzHZzsnA moveは安全なのに何が問題だと感じるの? http://mevius.5ch.net/test/read.cgi/tech/1509028624/31
32: デフォルトの名無しさん [sage] 2018/07/19(木) 20:56:32.22 ID:zpCf8yuT 次世代言語スレのつづきか 安全なだけでめっちゃわかりづらいだろ ふつうの=でコピーと動きが違いすぎる http://mevius.5ch.net/test/read.cgi/tech/1509028624/32
33: デフォルトの名無しさん [sage] 2018/07/21(土) 00:47:19.79 ID:mSZJjtkc コピーはコストかかるから暗黙的なコピーは意図せぬ性能劣化を引き起こす可能性がある http://mevius.5ch.net/test/read.cgi/tech/1509028624/33
34: デフォルトの名無しさん [sage] 2018/07/21(土) 04:00:07.64 ID:PpAF+dgy 暗黙のコピーと暗黙の参照渡しが区別つかないJavaで困らないんだから困らないのかもしれない http://mevius.5ch.net/test/read.cgi/tech/1509028624/34
35: デフォルトの名無しさん [sage] 2018/07/21(土) 23:33:24.37 ID:SCDZUWz8 javaで暗黙にコピーされるのは基本データ型だけでは http://mevius.5ch.net/test/read.cgi/tech/1509028624/35
36: デフォルトの名無しさん [sage] 2018/07/23(月) 21:30:42.22 ID:2ez6F7EW C#でも困んないし http://mevius.5ch.net/test/read.cgi/tech/1509028624/36
37: デフォルトの名無しさん [] 2019/07/28(日) 18:59:39.61 ID:5UHV96py JavaとC#にはGCがあるからな http://mevius.5ch.net/test/read.cgi/tech/1509028624/37
38: デフォルトの名無しさん [sage] 2019/07/28(日) 19:00:55.44 ID:5UHV96py ていうかJavaやC#は暗黙のdeep copyをしない件について: http://mevius.5ch.net/test/read.cgi/tech/1509028624/38
39: デフォルトの名無しさん [sage] 2019/07/29(月) 21:44:34.57 ID:CSar0obt https://i.imgur.com/QvQTuqJ.jpg http://mevius.5ch.net/test/read.cgi/tech/1509028624/39
40: デフォルトの名無しさん [sage] 2019/07/30(火) 00:56:59.74 ID:ZDjzCSg/ >>39 グロ http://mevius.5ch.net/test/read.cgi/tech/1509028624/40
41: デフォルトの名無しさん [] 2019/10/30(水) 14:37:39.93 ID:4EQH++wv クソの中のクソ キング・オブ・クソ 作ったゴミも使うカスも肥溜めで溺死すればいい http://mevius.5ch.net/test/read.cgi/tech/1509028624/41
42: デフォルトの名無しさん [] 2020/03/21(土) 17:46:30.14 ID:vJ0Lurek 無能がほざいてて気分いいわ http://mevius.5ch.net/test/read.cgi/tech/1509028624/42
43: デフォルトの名無しさん [sage] 2020/03/21(土) 17:51:42.22 ID:20ZHUxLS haskellと同じ道をたどるだけだな。 馬鹿がなぜか選民思想やり出して終了。 http://mevius.5ch.net/test/read.cgi/tech/1509028624/43
44: デフォルトの名無しさん [sage] 2020/03/21(土) 18:38:21.24 ID:txJMIm7g >>3 >コンパイルさえ通してしまえばエラーが無いことを保証される。 そんなわけない。 http://mevius.5ch.net/test/read.cgi/tech/1509028624/44
45: デフォルトの名無しさん [] 2020/03/25(水) 01:29:02.87 ID:COJzGufp Rustは、コンパイラ時エラーに悩まされる反面、実行時エラーに悩まされるのを減らす などと言われる。 しかし、コンパイル時エラーが出ると言うことは、裏を返せば、書けないアルゴリズムが存在するということだ。 直感的ではない回りくどい書き方が必要となり記述量が多くなる。 他の言語では好きな書き方が出来て、それはどれも正解だが、Rustでは正解が非常に狭くなる。 正解が狭いことがエラーを減らすなどという人がいるが、実際には、Rustは 書けるアルゴリズムが狭い、と言うことなのである。 これは言語設計の問題である。 なお、ここで言っているアルゴリズムは、全体的なものではなく、細かいミクロ的なものである。 通常の言語では、1つの仕事を細かい変数の使い方まで含めれば数万通り以上に書けるだろう。 そして、そのどれもが正解であり、結果が正しくバグも無いのだから、内のどれかが悪い書き方という ことは特にない。 ところが、Rustでは、その大部分の書き方が出来ないのである。 駄目だから敢えてできなくしているのではなく、Rustが設計上、書けないアルゴリズムがあるということに他ならない。 つまり、Rustは書けるアルゴリズムが、本来コンピュータが書けるアルゴリズムの内の、非常に狭いサブセットに限られてしまうということである。 これは、Rustの大きな欠陥である。 http://mevius.5ch.net/test/read.cgi/tech/1509028624/45
46: デフォルトの名無しさん [sage] 2020/03/25(水) 01:29:24.10 ID:COJzGufp >>45 「駄目な書き方だからエラーにしている」 と言うのは間違いで、正しくは、 「Rustコンパイラの静的解析能力では、書き方を非常に限定しないと 正しいことを保障できなかったり、自動化できなかったりするため、 しょうがなく狭い書き方しか出来なくしている」 と言うことに他ならない。 人間には脳内の静的解析で明らかに正しいことが分かる書き方でも、 Rustコンパイラではでは同じことができないため、敢えて 変数束縛、借用、単一参照など、コンパイラでも解析できる程度の 範囲に書き方を限定して無理やり人間のプログラミングの可能性を 狭めているに過ぎない。 http://mevius.5ch.net/test/read.cgi/tech/1509028624/46
47: デフォルトの名無しさん [sage] 2020/03/25(水) 01:31:01.16 ID:COJzGufp >>43 Rustは、Haskellから多くを借りてきているらしいから、Haskellと同じ 道をたどると言う予想はあながち間違ってない。 http://mevius.5ch.net/test/read.cgi/tech/1509028624/47
48: デフォルトの名無しさん [sage] 2020/03/25(水) 01:41:15.64 ID:COJzGufp Rustは表面的に使うだけなら、まあ、C++が使えるプログラマなら、大体使えなくは無いだろう。 しかし、自分で独自にリンクリストを作ろうと思うと事態は一変する。 そこまで深く入った人ほど、Rustは難しい言語だと感じるはずで、 RustがC++程度で理解できると思ってる人は、99%、浅い所までしか使ってない と言えよう。 http://mevius.5ch.net/test/read.cgi/tech/1509028624/48
49: デフォルトの名無しさん [sage] 2020/03/25(水) 08:33:39.98 ID:atIoOIeM 道具として正しい在り方だな http://mevius.5ch.net/test/read.cgi/tech/1509028624/49
50: デフォルトの名無しさん [sage] 2020/03/25(水) 12:40:37.43 ID:COJzGufp >>49 RAD言語ならそれで良いが、システム言語では駄目。 http://mevius.5ch.net/test/read.cgi/tech/1509028624/50
51: デフォルトの名無しさん [sage] 2020/08/28(金) 02:41:24.81 ID:BFWbiW8H Rustは、コンテナは、配列(長さがコンパイル段階で静的に決まる固定長)、 ベクター(動的配列)が主で、LinkedList<T>は、せっかくのリンクトリストの 特徴である末尾以外の「途中」への追加は出来ない。 これではリンクリストの意味が無い。 また、公式ドキュメントに 「ベクターの方がLinkedList<T>より速い」 などと書いてあるが、それはとんでもない間違い。 http://mevius.5ch.net/test/read.cgi/tech/1509028624/51
52: デフォルトの名無しさん [sage] 2020/08/28(金) 17:13:22.85 ID:BFWbiW8H リンクリストを実装するのはこんなに難しく、 nextメンバの型は、Option<Rc<RefCell<Node<T>>>> となる : type Link<T> = Rc<RefCell<Node<T>>>; #[derive(Debug)] struct Node<T> { value: T, prev: Option<Link<T>>, next: Option<Link<T>>, } impl<T> LinkedList<T> { pub fn append(&mut self, v: T) { let node = Node::new(v); match self.tail.take() { Some(old_tail) => { old_tail.borrow_mut().next = Some(Rc::clone(&node)); node.borrow_mut().prev = Some(old_tail); } None => { // first element debug_assert_eq!(self.len(), 0); self.head = Some(Rc::clone(&node)); } } self.tail = Some(node); self.length += 1; } } http://mevius.5ch.net/test/read.cgi/tech/1509028624/52
53: デフォルトの名無しさん [sage] 2021/01/08(金) 10:57:50.09 ID:4h6DBvmg 00年代半ばごろのゴミサイトがアクセス数を稼ぐのを思い出した ゴミ http://mevius.5ch.net/test/read.cgi/tech/1509028624/53
54: デフォルトの名無しさん [sage] 2021/05/05(水) 10:12:10.05 ID:Icux/Qfe 可読性低いな http://mevius.5ch.net/test/read.cgi/tech/1509028624/54
55: デフォルトの名無しさん [] 2021/06/18(金) 18:36:38.41 ID:GgPo8kME Rustを含めた新手の言語の仕様が固まるまで、20年ぐらい掛かるからなぁ 今20代の連中がRustを使いこなせる様になっても、 システム開発に使える頃には、40過ぎの中年だけど、まだプログラマー続けてるの? http://mevius.5ch.net/test/read.cgi/tech/1509028624/55
56: デフォルトの名無しさん [] 2021/06/30(水) 12:11:47.40 ID:TGFkopCB レッツ!mut &mut もっと = したい:ダメな日本語; http://mevius.5ch.net/test/read.cgi/tech/1509028624/56
57: デフォルトの名無しさん [] 2021/07/07(水) 23:28:03.78 ID:3EDdhBYW error[E0382]: use of moved value: `vector` http://mevius.5ch.net/test/read.cgi/tech/1509028624/57
58: デフォルトの名無しさん [] 2021/07/16(金) 02:31:03.20 ID:UUn46lBk もうお前のRustコード直すの嫌だわ http://mevius.5ch.net/test/read.cgi/tech/1509028624/58
59: デフォルトの名無しさん [] 2021/07/21(水) 02:06:52.85 ID:DO3wSfvm 意識高い系が自己満足でめちゃくちゃなコードを他人に押し付ける言語 http://mevius.5ch.net/test/read.cgi/tech/1509028624/59
60: デフォルトの名無しさん [sage] 2021/08/10(火) 09:03:54.83 ID:fPg8NGNP >>45 何かいいやり方があるはずだ。誰が見ても明らかな、たったひとつのやり方が。 そのやり方は一目見ただけではわかりにくいかもしれない。オランダ人にだけわかりやすいなんてこともあるかもしれない。 The Zen of Pythonの一節だけどRustの設計思想もこういうことなんじゃないか? 何通りもある書き方を統一することによってコードを読む人にも分かりやすくするってことだと思う。 もうそこは好みの問題だから気に入らなければやらないでいいんじゃないか? http://mevius.5ch.net/test/read.cgi/tech/1509028624/60
61: デフォルトの名無しさん [] 2021/08/10(火) 09:10:56.61 ID:UUhRSoFC Rustは組み込みシステムでも非常に多く使われているように何でも書ける Cと同様に低レベルな部分でも記述可能でさらにインラインアセンブリも可 http://mevius.5ch.net/test/read.cgi/tech/1509028624/61
62: デフォルトの名無しさん [sage] 2021/08/10(火) 14:11:34.30 ID:mSeKT5En raw pointer 使えるし C でできることはだいたい出来るのでは できないのは variable length argument/array くらい? http://mevius.5ch.net/test/read.cgi/tech/1509028624/62
63: デフォルトの名無しさん [sage] 2021/08/11(水) 07:11:51.41 ID:KlEtC9pi そりゃunsafeすればなんでもかけるわ http://mevius.5ch.net/test/read.cgi/tech/1509028624/63
64: デフォルトの名無しさん [] 2021/08/11(水) 07:16:15.10 ID:N49Uco17 >>63 C/C++/Rust以外の言語ではどうやっても無理 http://mevius.5ch.net/test/read.cgi/tech/1509028624/64
65: デフォルトの名無しさん [sage] 2021/08/12(木) 10:28:40.81 ID:whMOJJYX なんかRustアンチは必要以上にunsafeを忌避してる気がする unsafeは注意が必要な部分を限定するために用意された言語機能なのに 「unsafe使うならC/C++でいいじゃん」 とか考えてそうな雰囲気 http://mevius.5ch.net/test/read.cgi/tech/1509028624/65
66: デフォルトの名無しさん [sage] 2021/08/12(木) 10:57:49.37 ID:tXISMw6z unsafeブロック内でもボローチェッカは仕事するって知らん人多そう http://mevius.5ch.net/test/read.cgi/tech/1509028624/66
67: デフォルトの名無しさん [sage] 2021/09/04(土) 03:57:00.95 ID:kn1l/Q+t >>24 いや、自走車椅子だろ http://mevius.5ch.net/test/read.cgi/tech/1509028624/67
68: デフォルトの名無しさん [] 2021/09/04(土) 04:05:22.28 ID:iqtSb51S >>24 C++より便利で安全だから 例えると醤油とソースかな http://mevius.5ch.net/test/read.cgi/tech/1509028624/68
69: デフォルトの名無しさん [] 2021/09/06(月) 13:53:51.27 ID:kq9rR1L5 Rustスレでは場違いなので、イテレータというか高階関数の話にもう一度食いつくとする。 Juliaなんかだと並列・分散処理するために@distributed forなんて書くが、Erlangだとループ中に spawnをして、Goもgoroutineを起動する。map/reduceなんかだと明らかにメニ―コアを使った方が 速いが、標準ではそうなっていなくて、外部ライブラリのrayonなどを使用する。 GoでもRustでもこれをさらに分散処理させるにはgRPCなど規格化されたインターフェースを通すが やりたい事はJuliaの@distributed forなのに手間を感じさせる。 Rustにライトウェイトスレッドが言語仕様として入るとは思えないが、やはり言語には向き不向きが 存在する。近年のjavascriptを発端とするasync/awaitにも疑問が生じる。あまりにも多くの言語が 同期実行のライブラリと整合性が無さすぎる http://mevius.5ch.net/test/read.cgi/tech/1509028624/69
70: デフォルトの名無しさん [sage] 2021/09/06(月) 14:51:17.48 ID:6RpN+EMp DSLと同等の使い勝手を汎用的な言語に求めるのはつらいのでは http://mevius.5ch.net/test/read.cgi/tech/1509028624/70
71: デフォルトの名無しさん [] 2021/09/06(月) 16:49:04.49 ID:7r7RF488 >>69 たしかにJavaScriptのasync/awaitとRustのは最も対照的ですがどちらも良い特徴があると思います JavaScriptはブラウザも外部のNode.jsもその言語実行環境として非同期ランタイムが組み込まれasync/await導入以前から非同期関数が標準として装備 そのため非同期関数が呼ばれたら次のスケジュールで即座に実行が始まりますね 一方でRustは標準の非同期ランタイムがなく用途に合わせて自由に非同期ランタイムを用意することが出来ます さらにRustのasync/await自体はゼロコストで設計されており非同期関数が呼ばれても自動的にスケジューリングされない特徴があります Rustはこれらに関して「何ができない」のではなく「何でもできる」わけなので あとは記法の簡易性を求めるのならばその呼び出し関数等の設計とマクロでお好みの方面へ寄せることも可能です http://mevius.5ch.net/test/read.cgi/tech/1509028624/71
72: デフォルトの名無しさん [] 2021/09/11(土) 00:36:45.81 ID:YO3o85Uj >>71 これは良い書き方をしているが非同期ランタイムを自由に選べるのではなく、適切に選ばないと インターフェースをサポートしない場合があるため、互換性が保てないでしょう。Rusterは ゼロコストという話を良くしますが、Rustの非同期はタスクごとにステートマシンを作るために 確かにNode.jsなどと比べるjavascriptと比べれば、全体で非同期をスケジューリング管理する ものと比べアロケーションや実行コストなどは小さいですが、それほど喧伝すべきことでもありません。 いずれにせよ多くの非同期はI/Oバウンドでありepollベースなどで管理されます。当然ながら (Cに代わるようなハードウエア近い)システム言語なので出来ない事があってはイケていません。 私が言っているのは、Rustに限りませんがasync/awaitの記述が普通に考慮されてない設計の悪い ライブラリが沢山あるという事です。Rustのマクロは最低だと思います、なぜわざわざ学習コストを 引き上げるのか理解できません http://mevius.5ch.net/test/read.cgi/tech/1509028624/72
73: デフォルトの名無しさん [sage] 2021/09/11(土) 01:17:56.12 ID:PRM8i6LA >>72 あなたの主張は意味がわからない まず「互換性が保てないでしょう」は何との何の互換性が保てないのか?意味不明 次に「それほど喧伝すべきことでもありません。」は結局のところあなたは反論すら出来ずに同意してしまっている さらに「Rustに限りませんが(略)設計の悪いライブラリが沢山あるという事です。」はRust言語に対する批判にすらなっていない それぞれ具体的に問題点を述べましょう http://mevius.5ch.net/test/read.cgi/tech/1509028624/73
74: デフォルトの名無しさん [sage] 2021/09/11(土) 01:24:36.44 ID:Q/hQI3Xf 唐突にマクロが登場するのも分かりませんね async-awaitがマクロだった頃の話をしているのですか? http://mevius.5ch.net/test/read.cgi/tech/1509028624/74
75: デフォルトの名無しさん [] 2021/09/11(土) 01:41:58.05 ID:YO3o85Uj あんたの方が意味不明だけど(笑) まず文書の書き方にケチを付けてロンパーする癖を直しましょう。 最初から非同期ランタイムの互換性と書いているでしょう。例えばasync-stdと tokioは互換性がありません。今は互換性がほぼあるようになってきていますが それでも完全ではありません。 ゼロコストFeatureという話は、VS Javascriptという言語のランタイムではその 通り認めていますが、コンパイル型の言語でコストが高い非同期は稀です。 Rust言語に対する批判しか書かないわけではありません。あなたは攻撃されたと 思い込む癖が強すぎる。「近年のjavascriptを発端とするasync/awaitにも疑問が 生じる。あまりにも多くの言語が同期実行のライブラリと整合性が無さすぎる」 という大本も読めない。まあそういう人間が増えすぎて居る訳で、こんな雑談で 怒り心頭になり、それぞれの具体的な問題点はあなたの性格でしょう。 言語的な反論をせずに文書の読解も出来ず、条件反射で相手を貶す。とてもでは ないですが近寄りがたいですね またマクロについても「マクロでお好みの方面へ寄せることも可能です」という 返答に関して感想を述べてるのに過ぎないのに、全く話を辿れていません。 http://mevius.5ch.net/test/read.cgi/tech/1509028624/75
76: デフォルトの名無しさん [sage] 2021/09/11(土) 02:11:46.06 ID:w5S7rLqj >>75 具体的な問題点を述べましょう 例えばtokioの上に構築されたhttpモジュールであるhyperも互換レイヤーによりasync-std 上でも動作します RustアンチスレでなぜJavaScriptを問題にしているのかも謎ですが JavaScriptのasync/await/Promiseもあの環境で非常に優れて設計されています この件についても具体的な問題点を述べておられないですね http://mevius.5ch.net/test/read.cgi/tech/1509028624/76
77: デフォルトの名無しさん [sage] 2021/09/11(土) 11:03:00.32 ID:LLoV+Okg >>75の勝ち 以上 http://mevius.5ch.net/test/read.cgi/tech/1509028624/77
78: デフォルトの名無しさん [sage] 2021/09/11(土) 13:53:10.45 ID:zUj2TAiQ >>75 >「近年のjavascriptを発端とするasync/awaitにも疑問が生じる。 >あまりにも多くの言語が同期実行のライブラリと整合性が無さすぎる」 意味がちょっと不明です。 JavaScriptでそれらが用いられうる通信分野では、基本的に同期実行のライブラリは存在しません。 例えばhttpなどで取得してくるfetch()も非同期ですし、もっと低水準のモジュールも非同期です。 同期実行のライブラリと整合性が無さすぎるとは、何を意味しているのでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1509028624/78
79: デフォルトの名無しさん [sage] 2021/09/11(土) 13:59:42.94 ID:QGVH5OH8 発端と言ったらC#の方が古くね http://mevius.5ch.net/test/read.cgi/tech/1509028624/79
80: デフォルトの名無しさん [] 2021/09/12(日) 14:45:35.48 ID:dsndgRWH Rustって組み込み開発向いて無くね? どう考えてもLinuxなりBSDなりある程度高度なOSがある事前提だ、OSのメモリーコンパクションが 無いとGCが無い故にメモリーの断片化が起こり、長時間稼働するタイプの小さな組み込みには向かない。 マイクロコントローラのメモリー付きSoCでブーストラップローダーがあるだけの組み込みには使えない ま、サポートプラットフォームにTier1/Tier2でも、そういうのに使えるとは書いてないけど http://mevius.5ch.net/test/read.cgi/tech/1509028624/80
81: デフォルトの名無しさん [sage] 2021/09/12(日) 15:02:08.52 ID:raaoGYn7 >>80 その文章だけならCにいれかえてもあってそうなんだが? http://mevius.5ch.net/test/read.cgi/tech/1509028624/81
82: デフォルトの名無しさん [sage] 2021/09/12(日) 15:22:52.56 ID:lBuMyCBZ >>80 つまりC/C++/Rustは組み込みやOSに向いていないとw http://mevius.5ch.net/test/read.cgi/tech/1509028624/82
83: デフォルトの名無しさん [sage] 2021/09/12(日) 15:26:04.82 ID:Cf6Jz1Ay そこで組み込みのために開発されたJavaですよw http://mevius.5ch.net/test/read.cgi/tech/1509028624/83
84: デフォルトの名無しさん [sage] 2021/09/12(日) 21:57:41.77 ID:UrK9UNLE それはリソースがたっぷりある組み込みのケースで感覚としてはアプリ開発に近い 組み込みはピンキリだからスクリプト言語が動く環境まである 一方でC/C++/Rustじゃないと厳しい環境もある http://mevius.5ch.net/test/read.cgi/tech/1509028624/84
85: デフォルトの名無しさん [sage] 2021/09/12(日) 22:17:14.89 ID:Zjk1d74X >>75 同期実行ライブラリと整合性が無いというのはウソです Rustでstd利用の同期とasync-std利用の非同期のプログラムはほとんど同じように書けます 例えば複数のファイルのチェックサム計算を同期と非同期の2通りに書いた以下の記事を参考にすると https://qiita.com/osanshouo/items/671c45072a79c7b27aba メイン部分の両者のdiffを取ると以下のような感じです for entry in entries { let entry = entry.unwrap(); if entry.file_type().unwrap().is_file() { + let handle = async_std::task::spawn(async move { let filepath = entry.path(); - let mut file = fs::File::open(&filepath).unwrap(); + let mut file = fs::File::open(&filepath).await.unwrap(); let bytes = { let mut bytes = Vec::new(); - file.read_to_end(&mut bytes).unwrap(); + file.read_to_end(&mut bytes).await.unwrap(); bytes }; let checksum = bytes.iter().fold(0u8, |acc, b| acc.wrapping_add(*b)); println!("{:?}: {}", filepath.file_name().unwrap(), checksum); + }); + handles.push(handle); } } つまり差は2点のみ 非同期実行では不可欠なspawnがが入ることと 非同期を同期風に書けるようにするためのawaitが入ることだけです おっしゃる『同期実行のライブラリと整合性が無さすぎる』との主張は間違っています http://mevius.5ch.net/test/read.cgi/tech/1509028624/85
86: デフォルトの名無しさん [sage] 2021/09/12(日) 22:19:55.41 ID:s09Gb+ph 設計にバカが関わってなければC++で十分 http://mevius.5ch.net/test/read.cgi/tech/1509028624/86
87: デフォルトの名無しさん [sage] 2021/09/12(日) 22:44:56.06 ID:Q5FBinyU コードの規模が大きくなると複雑さが増して相対的に知性下がるからバカが開発することを前提にした方が良い http://mevius.5ch.net/test/read.cgi/tech/1509028624/87
88: デフォルトの名無しさん [sage] 2021/09/13(月) 20:47:01.12 ID:dBMpD8or >>87 それは自覚症状が無いだけで自分が馬鹿なだけかも知れんが。 http://mevius.5ch.net/test/read.cgi/tech/1509028624/88
89: デフォルトの名無しさん [sage] 2021/09/13(月) 20:51:25.89 ID:9PNw/wOW >>88 自分は馬鹿と思ってコード書いた方が良いよ本当に これはバカにしてるとかじゃなくて心構えとして http://mevius.5ch.net/test/read.cgi/tech/1509028624/89
90: デフォルトの名無しさん [] 2021/09/14(火) 19:27:55.83 ID:kyozNdb6 >>89は賢いお人 本来馬鹿は馬鹿を自覚できないから 平気でウンコを顔面につけたまま歩き回り いろんなものを糞まみれにしてケロっとしてる http://mevius.5ch.net/test/read.cgi/tech/1509028624/90
91: デフォルトの名無しさん [sage] 2021/09/14(火) 20:13:08.96 ID:Wng5bteL >>89 お前と俺を一緒にスンナよ。 人間の頭脳は画一敵意ではなく差が大きい。 http://mevius.5ch.net/test/read.cgi/tech/1509028624/91
92: デフォルトの名無しさん [sage] 2021/09/14(火) 23:33:28.66 ID:9cp1Eg6y 微笑ましい http://mevius.5ch.net/test/read.cgi/tech/1509028624/92
93: デフォルトの名無しさん [sage] 2021/09/14(火) 23:52:38.24 ID:BSh8VTqx 少なくともある程度以上の大きさの開発したことある人や 複数案件を同時進行した人なら いくら完璧にしていても確率的にミスが入り込むとわかるはず そしてC++とRustとの比較ならどちらが良いかも冷静に判断できる http://mevius.5ch.net/test/read.cgi/tech/1509028624/93
94: デフォルトの名無しさん [] 2021/09/15(水) 02:02:19.36 ID:x4RgVtnC >>85 そんな事を言ってるんじゃないと思いますよ、「複数のファイルのチェックサム計算」なんて単純な事なら 当然ながら同期と非同期でそれほど違いは出ないでしょうし互換性があるように見えるでしょう。なぜなら チェックサム計算は一瞬で終わり非同期はファイル毎に区切っているから。チェックサム計算は同期コードで いずれも書かれていて1つも違いがありません。 これをいくつかのファイルは巨大でファイル長が不明(無限では無い)が大きいファイルのチェックサム計算や より複雑で時間のかかる計算を非同期で行いたいとすればどうしますか?チェックサム計算で、read_to_endは 使えずストリームを非同期に読み続けて計算することになるでしょう。という事はbytes.iter().foldも使えません 「同期実行ライブラリと整合性が無いというのはウソです」このように言い切ること自体に"気持ち悪い信仰"を 持っているのは良く分かりますが、元が「整合性が無さすぎる」と言っているのは、整合性がある1パターンを 示しても意味が全く無いという事です。多くの問題は「ウソです」と言い切れる浅はかさが問題です http://qiita.comの記事なんて初心者のサンプルに過ぎません http://mevius.5ch.net/test/read.cgi/tech/1509028624/94
95: デフォルトの名無しさん [sage] 2021/09/15(水) 11:47:44.97 ID:PYzW5a+n >>93 確率的な話をするならコンパイラの塾制度考えた場合の確率を下回るくらいのメリットしかrustにはないよ。 http://mevius.5ch.net/test/read.cgi/tech/1509028624/95
96: デフォルトの名無しさん [sage] 2021/09/15(水) 20:26:11.48 ID:77IP/X5S >>95 rustcで検出できるバグを仕込む確率よりもrustcのバグを踏む確率の方が高いということ? http://mevius.5ch.net/test/read.cgi/tech/1509028624/96
97: デフォルトの名無しさん [sage] 2021/09/15(水) 21:21:02.30 ID:PYzW5a+n rustcで検出できるバグよりcとのバインディングでの勘違いで生じるバグのが多いわな http://mevius.5ch.net/test/read.cgi/tech/1509028624/97
98: デフォルトの名無しさん [sage] 2021/09/16(木) 00:37:37.41 ID:Efcezeu+ まあ静的チェックに過剰な期待してる奴は大抵クソだよ http://mevius.5ch.net/test/read.cgi/tech/1509028624/98
99: デフォルトの名無しさん [sage] 2021/09/18(土) 06:51:34.59 ID:pceSJQ2d >>93 そのうち上位層はビジュアルプログラミングに取って代わられて行ったりしてね http://mevius.5ch.net/test/read.cgi/tech/1509028624/99
100: デフォルトの名無しさん [sage] 2021/09/18(土) 07:04:45.25 ID:WtcFUHdh Rustのスレで何を頓珍漢な http://mevius.5ch.net/test/read.cgi/tech/1509028624/100
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 102 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.007s