Rustアンチスレ (202レス)
1-

31: 2018/07/18(水)21:34 ID:uzHZzsnA(1) AAS
moveは安全なのに何が問題だと感じるの?
32: 2018/07/19(木)20:56 ID:zpCf8yuT(1) AAS
次世代言語スレのつづきか
安全なだけでめっちゃわかりづらいだろ
ふつうの=でコピーと動きが違いすぎる
33: 2018/07/21(土)00:47 ID:mSZJjtkc(1) AAS
コピーはコストかかるから暗黙的なコピーは意図せぬ性能劣化を引き起こす可能性がある
34: 2018/07/21(土)04:00 ID:PpAF+dgy(1) AAS
暗黙のコピーと暗黙の参照渡しが区別つかないJavaで困らないんだから困らないのかもしれない
35: 2018/07/21(土)23:33 ID:SCDZUWz8(1) AAS
javaで暗黙にコピーされるのは基本データ型だけでは
36: 2018/07/23(月)21:30 ID:2ez6F7EW(1) AAS
C#でも困んないし
37: 2019/07/28(日)18:59 ID:5UHV96py(1/2) AAS
JavaとC#にはGCがあるからな
38: 2019/07/28(日)19:00 ID:5UHV96py(2/2) AAS
ていうかJavaやC#は暗黙のdeep copyをしない件について:
39
(1): 2019/07/29(月)21:44 ID:CSar0obt(1) AAS
画像リンク[jpg]:i.imgur.com
40: 2019/07/30(火)00:56 ID:ZDjzCSg/(1) AAS
>>39
グロ
41: 2019/10/30(水)14:37 ID:4EQH++wv(1) AAS
クソの中のクソ
キング・オブ・クソ
作ったゴミも使うカスも肥溜めで溺死すればいい
42: 2020/03/21(土)17:46 ID:vJ0Lurek(1) AAS
無能がほざいてて気分いいわ
43
(1): 2020/03/21(土)17:51 ID:20ZHUxLS(1) AAS
haskellと同じ道をたどるだけだな。
馬鹿がなぜか選民思想やり出して終了。
44: 2020/03/21(土)18:38 ID:txJMIm7g(1) AAS
>>3
>コンパイルさえ通してしまえばエラーが無いことを保証される。
そんなわけない。
45
(2): 2020/03/25(水)01:29 ID:COJzGufp(1/5) AAS
Rustは、コンパイラ時エラーに悩まされる反面、実行時エラーに悩まされるのを減らす
などと言われる。
しかし、コンパイル時エラーが出ると言うことは、裏を返せば、書けないアルゴリズムが存在するということだ。
直感的ではない回りくどい書き方が必要となり記述量が多くなる。
他の言語では好きな書き方が出来て、それはどれも正解だが、Rustでは正解が非常に狭くなる。
正解が狭いことがエラーを減らすなどという人がいるが、実際には、Rustは
書けるアルゴリズムが狭い、と言うことなのである。
省9
46: 2020/03/25(水)01:29 ID:COJzGufp(2/5) AAS
>>45
「駄目な書き方だからエラーにしている」
と言うのは間違いで、正しくは、
「Rustコンパイラの静的解析能力では、書き方を非常に限定しないと
 正しいことを保障できなかったり、自動化できなかったりするため、
 しょうがなく狭い書き方しか出来なくしている」
と言うことに他ならない。
省5
47: 2020/03/25(水)01:31 ID:COJzGufp(3/5) AAS
>>43
Rustは、Haskellから多くを借りてきているらしいから、Haskellと同じ
道をたどると言う予想はあながち間違ってない。
48: 2020/03/25(水)01:41 ID:COJzGufp(4/5) AAS
Rustは表面的に使うだけなら、まあ、C++が使えるプログラマなら、大体使えなくは無いだろう。

しかし、自分で独自にリンクリストを作ろうと思うと事態は一変する。

そこまで深く入った人ほど、Rustは難しい言語だと感じるはずで、
RustがC++程度で理解できると思ってる人は、99%、浅い所までしか使ってない
と言えよう。
49
(1): 2020/03/25(水)08:33 ID:atIoOIeM(1) AAS
道具として正しい在り方だな
50: 2020/03/25(水)12:40 ID:COJzGufp(5/5) AAS
>>49
RAD言語ならそれで良いが、システム言語では駄目。
51: 2020/08/28(金)02:41 ID:BFWbiW8H(1/2) AAS
Rustは、コンテナは、配列(長さがコンパイル段階で静的に決まる固定長)、
ベクター(動的配列)が主で、LinkedList<T>は、せっかくのリンクトリストの
特徴である末尾以外の「途中」への追加は出来ない。
これではリンクリストの意味が無い。
また、公式ドキュメントに
「ベクターの方がLinkedList<T>より速い」
などと書いてあるが、それはとんでもない間違い。
52: 2020/08/28(金)17:13 ID:BFWbiW8H(2/2) AAS
AA省
53: 2021/01/08(金)10:57 ID:4h6DBvmg(1) AAS
00年代半ばごろのゴミサイトがアクセス数を稼ぐのを思い出した

ゴミ
54: 2021/05/05(水)10:12 ID:Icux/Qfe(1) AAS
可読性低いな
55: 2021/06/18(金)18:36 ID:GgPo8kME(1) AAS
Rustを含めた新手の言語の仕様が固まるまで、20年ぐらい掛かるからなぁ

今20代の連中がRustを使いこなせる様になっても、

システム開発に使える頃には、40過ぎの中年だけど、まだプログラマー続けてるの?
56: 2021/06/30(水)12:11 ID:TGFkopCB(1) AAS
レッツ!mut &mut もっと = したい:ダメな日本語;
57: 2021/07/07(水)23:28 ID:3EDdhBYW(1) AAS
error[E0382]: use of moved value: `vector`
58: 2021/07/16(金)02:31 ID:UUn46lBk(1) AAS
もうお前のRustコード直すの嫌だわ
59: 2021/07/21(水)02:06 ID:DO3wSfvm(1) AAS
意識高い系が自己満足でめちゃくちゃなコードを他人に押し付ける言語
60: 2021/08/10(火)09:03 ID:fPg8NGNP(1) AAS
>>45
何かいいやり方があるはずだ。誰が見ても明らかな、たったひとつのやり方が。
そのやり方は一目見ただけではわかりにくいかもしれない。オランダ人にだけわかりやすいなんてこともあるかもしれない。

The Zen of Pythonの一節だけどRustの設計思想もこういうことなんじゃないか?
何通りもある書き方を統一することによってコードを読む人にも分かりやすくするってことだと思う。
もうそこは好みの問題だから気に入らなければやらないでいいんじゃないか?
61: 2021/08/10(火)09:10 ID:UUhRSoFC(1) AAS
Rustは組み込みシステムでも非常に多く使われているように何でも書ける
Cと同様に低レベルな部分でも記述可能でさらにインラインアセンブリも可
62: 2021/08/10(火)14:11 ID:mSeKT5En(1) AAS
raw pointer 使えるし C でできることはだいたい出来るのでは
できないのは variable length argument/array くらい?
63
(1): 2021/08/11(水)07:11 ID:KlEtC9pi(1) AAS
そりゃunsafeすればなんでもかけるわ
64: 2021/08/11(水)07:16 ID:N49Uco17(1) AAS
>>63
C/C++/Rust以外の言語ではどうやっても無理
65: 2021/08/12(木)10:28 ID:whMOJJYX(1) AAS
なんかRustアンチは必要以上にunsafeを忌避してる気がする

unsafeは注意が必要な部分を限定するために用意された言語機能なのに
「unsafe使うならC/C++でいいじゃん」
とか考えてそうな雰囲気
66: 2021/08/12(木)10:57 ID:tXISMw6z(1) AAS
unsafeブロック内でもボローチェッカは仕事するって知らん人多そう
67: 2021/09/04(土)03:57 ID:kn1l/Q+t(1) AAS
>>24
いや、自走車椅子だろ
68: 2021/09/04(土)04:05 ID:iqtSb51S(1) AAS
>>24
C++より便利で安全だから
例えると醤油とソースかな
69
(1): 2021/09/06(月)13:53 ID:kq9rR1L5(1) AAS
Rustスレでは場違いなので、イテレータというか高階関数の話にもう一度食いつくとする。

Juliaなんかだと並列・分散処理するために@distributed forなんて書くが、Erlangだとループ中に
spawnをして、Goもgoroutineを起動する。map/reduceなんかだと明らかにメニ―コアを使った方が
速いが、標準ではそうなっていなくて、外部ライブラリのrayonなどを使用する。
GoでもRustでもこれをさらに分散処理させるにはgRPCなど規格化されたインターフェースを通すが
やりたい事はJuliaの@distributed forなのに手間を感じさせる。
Rustにライトウェイトスレッドが言語仕様として入るとは思えないが、やはり言語には向き不向きが
省2
70: 2021/09/06(月)14:51 ID:6RpN+EMp(1) AAS
DSLと同等の使い勝手を汎用的な言語に求めるのはつらいのでは
71
(1): 2021/09/06(月)16:49 ID:7r7RF488(1) AAS
>>69
たしかにJavaScriptのasync/awaitとRustのは最も対照的ですがどちらも良い特徴があると思います
JavaScriptはブラウザも外部のNode.jsもその言語実行環境として非同期ランタイムが組み込まれasync/await導入以前から非同期関数が標準として装備
そのため非同期関数が呼ばれたら次のスケジュールで即座に実行が始まりますね

一方でRustは標準の非同期ランタイムがなく用途に合わせて自由に非同期ランタイムを用意することが出来ます
さらにRustのasync/await自体はゼロコストで設計されており非同期関数が呼ばれても自動的にスケジューリングされない特徴があります

Rustはこれらに関して「何ができない」のではなく「何でもできる」わけなので
省1
72
(1): 2021/09/11(土)00:36 ID:YO3o85Uj(1/2) AAS
>>71
これは良い書き方をしているが非同期ランタイムを自由に選べるのではなく、適切に選ばないと
インターフェースをサポートしない場合があるため、互換性が保てないでしょう。Rusterは
ゼロコストという話を良くしますが、Rustの非同期はタスクごとにステートマシンを作るために
確かにNode.jsなどと比べるjavascriptと比べれば、全体で非同期をスケジューリング管理する
ものと比べアロケーションや実行コストなどは小さいですが、それほど喧伝すべきことでもありません。
いずれにせよ多くの非同期はI/Oバウンドでありepollベースなどで管理されます。当然ながら
省4
73: 2021/09/11(土)01:17 ID:PRM8i6LA(1) AAS
>>72
あなたの主張は意味がわからない
まず「互換性が保てないでしょう」は何との何の互換性が保てないのか?意味不明
次に「それほど喧伝すべきことでもありません。」は結局のところあなたは反論すら出来ずに同意してしまっている
さらに「Rustに限りませんが(略)設計の悪いライブラリが沢山あるという事です。」はRust言語に対する批判にすらなっていない
それぞれ具体的に問題点を述べましょう
74: 2021/09/11(土)01:24 ID:Q/hQI3Xf(1) AAS
唐突にマクロが登場するのも分かりませんね
async-awaitがマクロだった頃の話をしているのですか?
75
(4): 2021/09/11(土)01:41 ID:YO3o85Uj(2/2) AAS
あんたの方が意味不明だけど(笑)
まず文書の書き方にケチを付けてロンパーする癖を直しましょう。

最初から非同期ランタイムの互換性と書いているでしょう。例えばasync-stdと
tokioは互換性がありません。今は互換性がほぼあるようになってきていますが
それでも完全ではありません。

ゼロコストFeatureという話は、VS Javascriptという言語のランタイムではその
通り認めていますが、コンパイル型の言語でコストが高い非同期は稀です。
省9
76: 2021/09/11(土)02:11 ID:w5S7rLqj(1) AAS
>>75
具体的な問題点を述べましょう
例えばtokioの上に構築されたhttpモジュールであるhyperも互換レイヤーによりasync-std 上でも動作します

RustアンチスレでなぜJavaScriptを問題にしているのかも謎ですが
JavaScriptのasync/await/Promiseもあの環境で非常に優れて設計されています
この件についても具体的な問題点を述べておられないですね
77: 2021/09/11(土)11:03 ID:LLoV+Okg(1) AAS
>>75の勝ち
以上
78: 2021/09/11(土)13:53 ID:zUj2TAiQ(1) AAS
>>75
>「近年のjavascriptを発端とするasync/awaitにも疑問が生じる。
>あまりにも多くの言語が同期実行のライブラリと整合性が無さすぎる」

意味がちょっと不明です。
JavaScriptでそれらが用いられうる通信分野では、基本的に同期実行のライブラリは存在しません。
例えばhttpなどで取得してくるfetch()も非同期ですし、もっと低水準のモジュールも非同期です。
同期実行のライブラリと整合性が無さすぎるとは、何を意味しているのでしょうか?
79: 2021/09/11(土)13:59 ID:QGVH5OH8(1) AAS
発端と言ったらC#の方が古くね
80
(3): 2021/09/12(日)14:45 ID:dsndgRWH(1) AAS
Rustって組み込み開発向いて無くね?
どう考えてもLinuxなりBSDなりある程度高度なOSがある事前提だ、OSのメモリーコンパクションが
無いとGCが無い故にメモリーの断片化が起こり、長時間稼働するタイプの小さな組み込みには向かない。
マイクロコントローラのメモリー付きSoCでブーストラップローダーがあるだけの組み込みには使えない
ま、サポートプラットフォームにTier1/Tier2でも、そういうのに使えるとは書いてないけど
81: 2021/09/12(日)15:02 ID:raaoGYn7(1) AAS
>>80
その文章だけならCにいれかえてもあってそうなんだが?
82: 2021/09/12(日)15:22 ID:lBuMyCBZ(1) AAS
>>80
つまりC/C++/Rustは組み込みやOSに向いていないとw
83: 2021/09/12(日)15:26 ID:Cf6Jz1Ay(1) AAS
そこで組み込みのために開発されたJavaですよw
84: 2021/09/12(日)21:57 ID:UrK9UNLE(1) AAS
それはリソースがたっぷりある組み込みのケースで感覚としてはアプリ開発に近い
組み込みはピンキリだからスクリプト言語が動く環境まである
一方でC/C++/Rustじゃないと厳しい環境もある
85
(1): 2021/09/12(日)22:17 ID:Zjk1d74X(1) AAS
>>75
同期実行ライブラリと整合性が無いというのはウソです
Rustでstd利用の同期とasync-std利用の非同期のプログラムはほとんど同じように書けます

例えば複数のファイルのチェックサム計算を同期と非同期の2通りに書いた以下の記事を参考にすると
外部リンク:qiita.com
メイン部分の両者のdiffを取ると以下のような感じです

  for entry in entries {
省22
86: 2021/09/12(日)22:19 ID:s09Gb+ph(1) AAS
設計にバカが関わってなければC++で十分
87
(1): 2021/09/12(日)22:44 ID:Q5FBinyU(1) AAS
コードの規模が大きくなると複雑さが増して相対的に知性下がるからバカが開発することを前提にした方が良い
88
(1): 2021/09/13(月)20:47 ID:dBMpD8or(1) AAS
>>87
それは自覚症状が無いだけで自分が馬鹿なだけかも知れんが。
89
(2): 2021/09/13(月)20:51 ID:9PNw/wOW(1) AAS
>>88
自分は馬鹿と思ってコード書いた方が良いよ本当に
これはバカにしてるとかじゃなくて心構えとして
90: 2021/09/14(火)19:27 ID:kyozNdb6(1) AAS
>>89は賢いお人

本来馬鹿は馬鹿を自覚できないから
平気でウンコを顔面につけたまま歩き回り
いろんなものを糞まみれにしてケロっとしてる
91: 2021/09/14(火)20:13 ID:Wng5bteL(1) AAS
>>89
お前と俺を一緒にスンナよ。
人間の頭脳は画一敵意ではなく差が大きい。
92: 2021/09/14(火)23:33 ID:9cp1Eg6y(1) AAS
微笑ましい
93
(2): 2021/09/14(火)23:52 ID:BSh8VTqx(1) AAS
少なくともある程度以上の大きさの開発したことある人や
複数案件を同時進行した人なら
いくら完璧にしていても確率的にミスが入り込むとわかるはず
そしてC++とRustとの比較ならどちらが良いかも冷静に判断できる
94: 2021/09/15(水)02:02 ID:x4RgVtnC(1) AAS
>>85
そんな事を言ってるんじゃないと思いますよ、「複数のファイルのチェックサム計算」なんて単純な事なら
当然ながら同期と非同期でそれほど違いは出ないでしょうし互換性があるように見えるでしょう。なぜなら
チェックサム計算は一瞬で終わり非同期はファイル毎に区切っているから。チェックサム計算は同期コードで
いずれも書かれていて1つも違いがありません。
これをいくつかのファイルは巨大でファイル長が不明(無限では無い)が大きいファイルのチェックサム計算や
より複雑で時間のかかる計算を非同期で行いたいとすればどうしますか?チェックサム計算で、read_to_endは
省5
95
(1): 2021/09/15(水)11:47 ID:PYzW5a+n(1/2) AAS
>>93
確率的な話をするならコンパイラの塾制度考えた場合の確率を下回るくらいのメリットしかrustにはないよ。
96: 2021/09/15(水)20:26 ID:77IP/X5S(1) AAS
>>95
rustcで検出できるバグを仕込む確率よりもrustcのバグを踏む確率の方が高いということ?
97: 2021/09/15(水)21:21 ID:PYzW5a+n(2/2) AAS
rustcで検出できるバグよりcとのバインディングでの勘違いで生じるバグのが多いわな
98: 2021/09/16(木)00:37 ID:Efcezeu+(1) AAS
まあ静的チェックに過剰な期待してる奴は大抵クソだよ
99: 2021/09/18(土)06:51 ID:pceSJQ2d(1) AAS
>>93
そのうち上位層はビジュアルプログラミングに取って代わられて行ったりしてね
100: 2021/09/18(土)07:04 ID:WtcFUHdh(1) AAS
Rustのスレで何を頓珍漢な
101: 2021/09/25(土)03:20 ID:r08K7R9X(1) AAS
コンパイルチェックがゼロになるコードを書けるまでウンコ呼ばわりされる
102: 2021/10/20(水)16:37 ID:rOkBuggn(1/3) AAS
>80
>無いとGCが無い故にメモリーの断片化が起こり、長時間稼働するタイプの小さな組み込みには向かない。

ヒープも使わない(ことが多いから)、メモリーの断片化も起きない
当然GCなんかいらない
rustが組み込みに向かないのは同意する
103: 2021/10/20(水)19:56 ID:VGECjsMp(1) AAS
小さなの規模にもよるけど
スタックや初期化時以外で動的なメモリ確保がそもそもできなくない?
Unix風のプロセスモデルでもないとmallocし続けるだけでアウト
104: 2021/10/20(水)20:18 ID:rOkBuggn(2/3) AAS
組み込みの世界ではヒープじゃなくて、
リンクリストのノードを固定長メモリブロックとして使ったりする
例えばuItronのメモリプールの実装とかそんな感じ
ヒープはリアルタイム性がないから

で、rustはstatic mutが使い辛過ぎて、組み込みでは難しそう
105: 2021/10/20(水)20:22 ID:VyYhhIkP(1/2) AAS
D言語も忘れないで下さい。
106
(1): 2021/10/20(水)20:37 ID:rOkBuggn(3/3) AAS
アンチスレとはいえ
将来性を考えると、さすがにD言語よりはrustの方が……
107: 2021/10/20(水)22:36 ID:VyYhhIkP(2/2) AAS
D言語:「忘れないで・・・」
108: 2021/10/20(水)22:52 ID:UtWr6ljA(1) AAS
Deprecated
Dormant
Dead
縁起悪いよ…(´・ω・`)
109: 2021/10/21(木)18:37 ID:wlIxx6Dc(1) AAS
言語と関係ないがrusterのこういう陰湿さが嫌、goに頻繁に嫌がらせしてるし、gcが選べるD言語など
まだまだマイナーな言語へ嫌がらせする
110: 2021/10/21(木)20:22 ID:s+sF4o2E(1) AAS
Dのことマイナーって呼ぶなよ
111: 2021/10/22(金)20:07 ID:BGSpAusK(1) AAS
>>106
将来を考えるなら、文字列でだらだら書くというスタイルが古臭いってなるかもね。
今のプログラミングは、分厚い本を読まされてる、書かされてるみたいなもん。
映像なら3秒でですむことを延々と書き連ねているようなもんだし。
1-
あと 91 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.040s