Rust part18

■ このスレッドは過去ログ倉庫に格納されています
2022/12/10(土) 18:17:02.61ID:XSNoXTPt
公式
https://www.rust-lang.org/
https://blog.rust-lang.org/
https://github.com/rust-lang/rust

Web上の実行環境
https://play.rust-lang.org

※Rustを学びたい人はまず最初に公式のThe Bookを読むこと
https://doc.rust-lang.org/book/

※Rustを学ぶ際に犯しがちな12の過ち
https://dystroy.org/blog/how-not-to-learn-rust

※Rustのasyncについて知りたければ「async-book」は必読
https://rust-lang.github.io/async-book/

※次スレは原則>>980が立てること

前スレ
Rust part17
https://mevius.5ch.net/test/read.cgi/tech/1665063793/
2022/12/16(金) 01:45:46.48ID:qUkmAe13
言語仕様はまあいんだろうけどライブラリがうんこっこ
2022/12/16(金) 02:56:52.27ID:3ITpan43
自演か軍団かどうでも良いが纏めるぞ

>>112
息を吐く様に嘘を混ぜるのはよせ
猫も杓子も...←ウソ シンプルに分かりやすいウソ
在りし日の...←ウソ 今も昔もJava/C++の時代 + JS/Python/C#
https://i.imgur.com/xwnzvYQ.png

>>117
大人しくしてれば良いものを、そのキャラまたどぶに捨てるのか
もう終わりだよ、そのコテハン

>>117,119-121
話題のすり替え方が雑になってワンパターン
2022/12/16(金) 06:42:28.75ID:2Krh7+9V
>>85=>>112
よく見たら嘘の混ぜ方が完全一致
2022/12/16(金) 07:28:20.01ID:YV6XWhOF
>>122のデータ面白い
例えば、0.4%以下集団の慎ましさがまるで違う

Swift/Kotlin/Dart→分野に特化して第一候補、安泰
(モバイルアプリ開発は全体の中では小さいパイだけど)

Rust→システムの低レイヤー分野に特化すれば良いのに、
各方面のスキマ案件や非典型案件で、置き換え風潮だとか
吹聴するから、そこのメインストリームから反感買う
焦り過ぎ
2022/12/16(金) 07:48:14.80ID:iwbHqI4G
得意分野、スキマ案件や非典型案件、全部集めて0.30%
Rust全然キテないじゃん
2022/12/16(金) 08:03:19.06ID:ECVECWXD
無名の謎言語よりも強いぞ
2022/12/16(金) 08:08:17.97ID:pYrl9qIa
Rustもすぐに一巡して新規消滅まっしぐら
無名の謎言語と競うことに

どうしてこうなった?ry
128デフォルトの名無しさん
垢版 |
2022/12/16(金) 11:56:22.77ID:7LaXToxn
>>119
LinkedListがフィットするユースケースが少ないから

LRUキャッシュをHashMap+LinkedListで実装する時みたいにランダムインサート/デリートがメインでリストを高速に走査する必要がない場合に使われる
2022/12/16(金) 14:41:11.47ID:mVtvcCjK
TypeScriptでお馴染みのPrismaってRustでも使えるんか
2022/12/16(金) 15:24:01.50ID:qfpmvh4y
>>129
元々Rustで作ったバイナリをJSでラップしただけのライブラリだった
2022/12/16(金) 17:29:26.91ID:dpgra0Sg
>>120
LinkedListよりvectorの方が「ほとんどの場合速いからvectorを使うべき」
と言っているのは、Stroustrup氏だけ。
2022/12/16(金) 18:47:30.36ID:2he3/3ZS
>>131 嘘つくのやめてもらっていいですか。
https://www.google.com/search?q=vector+list
いま2位に出たこれ↓見ても引用と併せて「ほとんどvector」って言ってる人が少なくとも二人いる。
https://ja.stackoverflow.com/a/6008
> 大抵のケースでは vector<T> 利用で十分かと思います。(Tは要素の型)
> Scott Meyers, "Effective STL" でも、Item 1で次の言及があります
>> vector is the type of sequence that should be used by default.

俺も言うし>>128も言ってそう。
133デフォルトの名無しさん
垢版 |
2022/12/16(金) 19:52:47.31ID:P/cVRczV
LinkedListがいいとかVectorがいいとかじゃなく適材適所やろ
2022/12/16(金) 20:14:33.69ID:nhvY9+vf
>>133
適材適所なのは前提として承知の上で「vector が適材である場所が多い」という話だろ。
2022/12/16(金) 21:44:58.60ID:6DlWbXOy
vectorはメモリが並んでるからキャッシュヒット率が高くて速いって教わった
C++だと裏で追加したときにreallocされて参照が切れるリスクがあるけど
Rustだと一応安全だし
2022/12/16(金) 21:55:52.92ID:k9rJal3H
>>122
まず長文を嫌って端折ったのが悪かった、ごめん
Java/C++の在りし日ってのは、特にJavaなんだけど、JavaでGUIデスクトップアプリ作ったりアプレットでフロントをやってた時代の雰囲気と、Rustでwasmフロントやってたり、tauriがイケてる!GUIの決定版!みたいに言ってる奴が似てるなって思ったのよ
WEB全盛の昨今これらは趣味レベルでしかないので数字には出ないし、当然Rustコミュニティやプロダクト全般の事について言ったわけじゃないので"一部"と書いたんだけど、Rustaceanの一部ではなくプログラマコミュニティないし業界の一部とも読めてしまうね
これもごめんなさい
137デフォルトの名無しさん
垢版 |
2022/12/16(金) 23:54:59.70ID:b2g/f5EB
>>132
ここにいるやつらは データ構造とアルゴリズム からやり直したほうがいいんじゃないか?

何を持って早い?っていってるんだ?

queueを実装するのにvector使うやつは愚か者だし
ソートするデータにlinked list使うやつも変なやつ

たいていVectorでOKとかいうのは脳みそ停止してる。ちゃんと考えるべき。

linked listは中間にデータをいれるとか、要素を取り除くのが得意なだけ。
普通に適材適所だろ?
2022/12/17(土) 00:08:08.60ID:VEec8B0L
まずお前はアルゴリズムうんぬんの前に日本語からやり直せ
はちみつの割にはまともなこと言ってる

> 適材適所なのは前提として承知の上で「vector が適材である場所が多い」という話だろ。

あとqueueの実装にvector使うのは別に変じゃない、リングバッファも知らんのか?
2022/12/17(土) 00:12:22.66ID:QKb/ZQVv
>>137
比較の例は>>120で挙がってるし、「普通に適材適所」を否定してる人も居ないし、
いったい何を見てレスしてるのかわからなくて怖い。
2022/12/17(土) 01:03:01.35ID:7EPFyoxp
>>120
その記事で、Stroustrup氏は、非常に特殊な例で実験しているように思える。
最初から明らかにvectorに有利、LinkedListに不利な実験。
これは最初からLinkedListに不利なことが脳内でも分かるので、
それが分からないとしたらstroustrup氏は想像力が不足している。
Stroupstrup氏本人は難しくて理由が分からない、みたいに思ってるらしい。
2022/12/17(土) 01:08:13.28ID:7EPFyoxp
>>134
Stroustrup氏はもっと極端で、LinkedListがvectorより速度面で上回る
ケースはほとんど無い、という程度の事を言っているように思う。
2022/12/17(土) 01:15:11.07ID:7EPFyoxp
>>140
[補足]
コンテナ内にN個の要素がある場合、
リンクリストは、1個の要素の追加はO(1)。しかし、全走査や探索は、O(N)。
彼の実験だと、1個追加する際に、追加する場所を探すために平均で N/2 個の
ノードを巡ることになっているから、
1要素あたりに必要な時間 = 場所を探す時間 + 追加の時間
= O(N/2) + O(1)
= O(N)
となる。一方、vector の場合、
1要素あたりに必要な時間 = 場所を探す時間 + 追加の時間
= O(N/2) + O(N/2)
= O(N)
となる。
オーダー的には、O(N)で同じだが、前者は、キャッシュミスが酷くなるので、
「係数」がとても大きくなっている。
だから、前者の方が後者よりも遅くなっていっる理由は明確。

結論は、要素を追加する際に「場所を探す」ことを行なっていて、それがLinkedList
の不得意分野だから。
2022/12/17(土) 01:26:25.05ID:7EPFyoxp
>>142
[補足2]
リンクトリストとvectorで、条件を満たす1個の要素を線形探索で探す時に
かかる時間は、共に O(N)で、オーダー的には同じ。
ところが、彼の実験の場合、(均等確率の完全に近い)乱数で要素の追加される
場所と追加される順序が強くランダムになるようにしている。
この条件だと、途中結果の集合を線形探索する時、vectorは、
要素のアドレスが連続しているのでキャッシュの先読み(prefetch)がよく聞くが、
LinkedListは、アドレスが強くランダムになるので、キャッシュの先読みが
上手く働かず、1個の要素当り、現在のCPUで、80クロックほどのレイテンシーが
発生してしまう。
つまり、この実験においては、要素追加の場所をランダムにしているせいで、
要素を巡る際に、
vectorは、メモリーリードの追加レイテンシーが0に近い。
LinkedListは、メモリーリードの追加レイテンシーが80クロック程度かかる。
2022/12/17(土) 01:27:47.24ID:QKb/ZQVv
>>140-141
そういう極端な解釈や誤解を解くためと思われる FAQ が置いてある。
https://www.stroustrup.com/bs_faq.html#list
まずはこれを読んで、それでもなにか異論を唱えたいならこの中のどの部分についての異論なのか、
自身の主張がどう違うのか明らかにするように。
2022/12/17(土) 01:33:08.88ID:7EPFyoxp
>>144
俺が言いたいのは、Stroustrup氏は、数学的想像力においては、
俺より馬鹿だということだ。
2022/12/17(土) 01:36:35.34ID:7EPFyoxp
この分野は、専門家かどうかより、生まれつきの頭の良さがものを言う。
彼ははっきり行って、計算速度の見積もりにおいては才能が無い。
彼が評価されるべきは、
誰もオブジェクト指向を知らない時にSimulaのようなオブジェクト指向言語を
知っていて、それをCに応用したというだけ。
vectorやLinkedListの速度に関しては彼は間違っている。
2022/12/17(土) 01:38:43.69ID:7EPFyoxp
「測定無しで語らないで下さい」
というのも理論を軽視している学者の典型例。
日本でも物凄く多い。
自分が理論を正しく理解できて無いから、テストしないと見積もることが出来ないだけ。
2022/12/17(土) 01:46:15.68ID:7EPFyoxp
彼は理論を分かって無いことが明白。
この実験において、LinkedListがNが大きくなると有利になると思い込んでNを
大きくしていったらしい。すると、彼の予想に反してそうならなかった。
しかし、俺には理由が分かる。
むしろ、LinkedListで、Nで割った時の単位要素あたりの時間は、あるNが
ある値を超えたときから曲線の傾きが大きくなる。

(i) N < N0 : キャッシュが働く時:
f(N) = a1 * N + b
(ii) N > N0 : キャッシュが働かない時:
f(N) = a2 * N + b

DDR4-SDRAM での推定の係数 :
a1 = 0.5
a2 = 0.5 * 80

俺は、これを数秒間で導いたから、ケアレスミスが含まれるかもしれない。
2022/12/17(土) 01:50:24.83ID:7EPFyoxp
>>148
[ミス訂正]
a1 = 0.5 * L
a2 = 0.5 * (L + 80)
L = ループ一回当りのマシン語レベルでの見た目のクロック数。

0.5 を掛けているのは、1回の線形探索において、
平均移動回数が (N / 2) 回と推定されるから。

まだ、ケアレスミスがあるかもしれない。
2022/12/17(土) 02:27:39.08ID:QKb/ZQVv
すごいな。0点回答じゃん。
今後のため、ぜひコテハン頼む。
2022/12/17(土) 02:32:26.93ID:tahIU/4X
>>142
> = O(N/2) + O(1)
> = O(N)
ナニコレ?
2022/12/17(土) 02:49:00.46ID:k1W2kl1x
>>150
ID:7EPFyoxp = はちみつがはちみつ搾り取った後の残りカス
153デフォルトの名無しさん
垢版 |
2022/12/17(土) 03:25:53.37ID:sANdR5x8
100点おじさん頭悪いのは知ってたけどさすがにここまでとは思ってなかった
文章読解力に難があり過ぎ
2022/12/17(土) 07:25:20.60ID:jr3rWKyM
>>150,152-153
ちょっ、はちみつオジ=C++スレの天才オジなのか?
そしてすごい0点オジに、頭悪い100点オジ?
誰か複オジ軍団相関図、書いてよ!
2022/12/17(土) 08:32:26.89ID:4FUmGBLH
Stroustrupもオジ
2022/12/17(土) 09:13:23.75ID:FhlO/q3l
適材適所にオジ
2022/12/17(土) 09:40:37.34ID:7jrYNUaI
>>136
これよく見たら謝ってるようでそうでもない
当時Javaの時代の雰囲気(全体)と今のRustのイキリ勘違いヤロウ(一部)は全然レイヤーが違う
2022/12/17(土) 10:03:46.47ID:yTH8JJEo
>>122
Rustの0.30%には流石にがっかりきた

比率からして既に一巡したんだと思う
Java vs Scala(JVM, 17.5%/0.47% => 何巡もして37倍)
C/C++ vs Rust(Native, 8.24%/0.30% => 一巡目で27倍)
2022/12/17(土) 10:51:59.45ID:Qk229x0R
OSに依存しないライブラリの行数は、Android全体の行数で割り算できない
これが割り算のカラクリか
2022/12/17(土) 12:18:07.73ID:Wsp+a048
フロントエンドのちゃらい流行り廃りを追いかけ続けるのに疲れて
早めにバックエンドに転向したいと目論んでいた筋にとっとは
Rustは無駄だと思い知ったことだろう

GoやっとけよGo
2022/12/17(土) 12:43:51.64ID:Qk229x0R
しょーきょー法でGoみたいな風潮もいかがなものか
2022/12/17(土) 13:48:17.15ID:xCKnPakF
自分はRust使うけど人にはとりあえずGoにしとけば?って言っちゃうな
VSCodeなんかと同じで無難感はある
163デフォルトの名無しさん
垢版 |
2022/12/17(土) 14:06:02.86ID:1OvQaYAC
統一教会は日本で、ゆとりある教育を提唱しているが、韓国では全く逆のことを言ってるからな。
騙されるなよ。
2022/12/17(土) 14:19:36.18ID:e3Jjde95
>>157
対象の集団規模やその集団のレイヤーが異なることと、各々の集団に対して類似又は共通の雰囲気・要素が存在することないし感じられることは両立しうると思わない?
165デフォルトの名無しさん
垢版 |
2022/12/17(土) 14:38:10.16ID:1OvQaYAC
集団って統一教会のことか。
166デフォルトの名無しさん
垢版 |
2022/12/17(土) 14:42:50.70ID:1OvQaYAC
統一教会と自民党は両立じゃないだろ。
日本における統一教会の実行部隊が自民党。
2022/12/17(土) 15:23:19.74ID:y2/IfEDT
なんでRustのスレで統一教会が出てくるんだ…

統一教会に限らずカルトの関心は政治権力だから判定条件はis_自民党()じゃなくis_政権与党()だろ
必ずしもすべての政党が実行部隊機能を実装してるとは限らないけど
自民党を取り換えればカルト問題が解決するみたいな発想だとデバッグに支障がでるぞ
168デフォルトの名無しさん
垢版 |
2022/12/17(土) 15:42:05.55ID:Sr9loTqZ
>>167
ナイーブな考え方だなぁ
宗教法人を解散させればカルト問題は半分解決なんだけとなぜ解散させないのか少しでも考えたことある?
2022/12/17(土) 16:16:29.71ID:CCt/1VrG
Rustが適材適所なのはゼロではないと承知の上で「Goが適材である場所が多い」という話だろ
2022/12/17(土) 16:35:05.53ID:tBNmuOUO
Rustはlinuxのドライバー作成専用言語
2022/12/17(土) 16:40:34.79ID:2HWiBBP7
Rustはしょーきょー法で>>170みたいな風潮
2022/12/17(土) 17:07:17.99ID:OmKniCOI
>>168
よっぽどナイーブな考え方で草
中世の人かな?
2022/12/17(土) 17:29:21.75ID:vKjf1YhM
統一教会信者出てきたな
174デフォルトの名無しさん
垢版 |
2022/12/17(土) 18:34:12.05ID:nURLlX7p
そうかそうかww
2022/12/17(土) 19:05:38.21ID:u3ABxrNN
>>151
要素数Nの時に何らかの処理Aに掛かる時間をf(N)とするとき、
O(g(N))は、ある N0 があって、N0 より大きな どんな実数 N に対しても、
f(N) / g(N) < アルファ
が成り立つことを意味し、「押さえられる無限大」、といい、
ランダウ記号(の一種)、または、ラージO 記法という。

だから、O(N/2)=O(N)であり、O(N)+O(1)=O(N)である。
2022/12/17(土) 19:13:53.37ID:u3ABxrNN
>>175
[補足]
このことは、
f(N) = O(g(N))
とも書く。以下、厳密性はないが、理解のために書いておけば、
f(N)=O(1)とは、大まかに言って f(N) = b
f(N)=O(N)とは、大まかに言って f(N) = a・N + b
f(N)=O(N^2)とは、大まかに言って f(N) = a2・N^2 + a1・N + b
を意味する。だから、
f'(N)=O(N/2)とは、大まかに言って f'(N) = a・N/2 + b のような意味になるから、
a' = a / 2 と書いてしまえば、
f'(N) = a'・N + b となり、f'(N)=O(N)と言えることが分かる。
f''(N)=O(N)+O(1) は、大まかに言って、
f''(N)= { a・N + b1 } + b2 = a・N + (b1+b2) であるから、
f''(N)=O(N) であることがわかる。従って、

O(N/2)+O(1)=O(N)
であることが分かる。
2022/12/17(土) 19:21:03.57ID:u3ABxrNN
>>176
[補足2]
また厳密性を無視して大体で書くと、
f(N)=O(g(N))
の場合、f(N)のNに関する最大次数がg(N)と同じ、という意味。
だから、g(N)がNに関して k 次元だと、f(N)もNに関して k 次元、という
ことを概ね意味する。だから、大体、
f(N)=O(1) とは、f(N)=b を意味する。
f(N)=O(N) とは、f(N)=a * N + ・・・ を意味する。
f(N)=O(N^2) とは、f(N)=a * N^2 + ・・・ を意味する。
なので、f(N)=O(N/2)+O(1)だと、
f(N) = a・N/2 + b
みたいになり、これは、N に関して 1 次関数だから、Nに関する最大次数は 1。
だから、O(N)ということになる。
2022/12/17(土) 19:24:51.43ID:u3ABxrNN
>>177
[補足3]
グラフを描いたときにどこかで無限大になるような特殊な関数以外は、
「テーラー展開」で近似することが出来て、
f(N)=a_k・N^k + a_{k-1}・N^{k-1} + a_{k-2}・N^{k-2}+・・・+
   a_1・N + a_0 + (少しの余り)
のように書けることが知られている。
それを知っていれば、理解の助けになる。
2022/12/17(土) 19:50:24.96ID:VEec8B0L
O(N) とかを最近知って説明したくてたまらないんだろうなw
2022/12/17(土) 19:54:00.74ID:IjrFOfax
すまない、彼はド素人だから見逃してやってほしい
山奥で一人でプログラミング勉強中なんだろうね
情報系学生や職業マが一ヶ月目に覚えることを皆に発表したいらしいんだw
2022/12/17(土) 20:18:30.40ID:Qk229x0R
4ヶ月で教えたいこと
1 実数クラスは複素数クラスを継承しない
2 実装継承だろうがinterface継承だろうがオーバーライドは遅い
3 オーバーロードは速い
4 templateも速い
182デフォルトの名無しさん
垢版 |
2022/12/17(土) 20:33:54.64ID:hdE6AFs/
今となっては不要な知識だな
2022/12/17(土) 21:25:28.93ID:y2/IfEDT
Stroustrup氏の名誉のために補足しておくと、発端?の120の記事は
Software Development for Infractructure(インフラストラクチャ用のソフトウェア開発)
ってタイトルで、vectorとlinked listの比較を出してるセクションの見出しは
Access memory less(メモリアクセスは少なく)
で、書き出しは
When I first wrote microcode to squeeze the last bit of
efficiency out of a processor, a good rule of thumb was that
the system could execute nine instructions while waiting
for a memory read to complete.
(私が初めて効率を追求したマイクロコードを書いたときに目安にしたのは、
システムが1つのメモリの読み取り完了を待つ間に9つの命令を実行できるということだった)

インフラとかファームウェア向けに開発する時はポインタ(間接参照)使うとオーバーヘッドが大きいから
多少非効率に思えてもvector使った方がいいよって内容になってる
端的に言ってしまえば適材適所の話でアルゴリズムとかオーダは関係ないはず(全部読んでない)

余計なこと教える前に読解力を鍛えてやってくれ
184デフォルトの名無しさん
垢版 |
2022/12/17(土) 22:23:54.16ID:o5Fxz66L
>>183
おいおいまた誤訳君かよw
お前も読解力鍛えろ
英語が多少不得意だとしてもパラグラフ全体を読めばそんな訳には絶対ならんだろ
2022/12/17(土) 23:38:44.03ID:t4TbQFP4
昔のCPUでアセンブラの経験あると
間接アドレシングなんか、クロック数かかり過ぎてアホらしいから、
そういうレベルの話だろ
ただ、この記事は2012年で、パイプラインやキャッシュの話も出てる
2022/12/18(日) 00:59:42.45ID:KVP7/Uup
最近の自動翻訳は分かりやすくて優秀過ぎる

マシンのアーキテクチャやプログラミング言語にもよりますが、ベクターはNの値が小から中程度であれば最適という答えになります。
8Gバイトのノートパソコンで実験を行ったところ、Nは50万よりはるかに大きいことが分かりました。
図1の赤線はリスト、青線はベクトルでかかった時間を示しています。
これは微妙な違いではない。X軸は10万要素単位、Y軸は秒単位です。
つまり、「小さなリスト」に対しては、リンク構造よりもベクトルの方がリストの表現として優れているのです。



インフラアプリケーションの開発者は、コンパクトでアクセスパターンが
予測可能であることが効率化に不可欠だと言っています。
消費電力はメモリアクセスの回数にほぼ比例するため、
赤(リスト)と青(ベクトル)の線は、スマートフォンのバッテリーの消費量や必要なサーバーファームの数の一次近似値です。
187デフォルトの名無しさん
垢版 |
2022/12/18(日) 01:25:48.90ID:Pt3aaRaQ
自民党の問題点は、統一教会とつるんでるのがばれても縁を切らず、共存共栄の道を模索するとドヤ顔で記者会見したこと。
2022/12/18(日) 07:34:33.80ID:wAFe3NPG
>>170
Linuxドライバーはオープンソースが好まれるから、
Rust製ドライバ作成は仕事ではなく趣味プログラマが細々とやるんだろうな

ただ働き奴隷言語でOK
2022/12/18(日) 07:50:17.66ID:pDoyuEtS
LinuxでもRustイキリ飛ばし記事が出て来るだろう
数字のカラクリが無いかどうか皆でTokeiしような
190デフォルトの名無しさん
垢版 |
2022/12/18(日) 07:50:19.13ID:Pt3aaRaQ
最新のLinux Kernel 6.1はRustyというコード名前だし。
Rustに全振りしてるのでは?
191デフォルトの名無しさん
垢版 |
2022/12/18(日) 07:51:05.11ID:Pt3aaRaQ
LinuxはC++との相性最悪だし、Rustへ移行するしかない。
2022/12/18(日) 07:58:07.32ID:uoxQL2Fw
LinusのドSでただ働き奴隷がどれだけ頑張るのか
おらワクワクして来たぞ!
早くTokei見たい!
2022/12/18(日) 08:01:27.15ID:x48rVm/G
見せてもらう、イキリRustの全振り移行とやらをw
194デフォルトの名無しさん
垢版 |
2022/12/18(日) 08:04:19.65ID:Pt3aaRaQ
コード名前には突っ込んでこないのか。
せっかくご用意したのに。
2022/12/18(日) 08:08:01.02ID:x48rVm/G
GoはNSAのメモリ安全公認言語だしイキリゼロ
堅実だわ
2022/12/18(日) 08:09:33.26ID:x48rVm/G
名前でイキレてると考えてるRustが惨めでならない
2022/12/18(日) 08:14:25.29ID:x48rVm/G
Rustはボチボチ、って周りには答えることにした
2022/12/18(日) 08:24:24.51ID:VbINaFFK
>>195 Goの何が良いのか分からないが、したたかだったのは認める
>>122 なんでこんなに差がついのか?
>>169 これが答え
2022/12/18(日) 08:27:05.71ID:VbINaFFK
言語仕様の優劣でイキリマウントしてた俺たちが需要を勘違いしてただけ
2022/12/18(日) 09:11:48.81ID:f04NRte7
>>198-199
いろいろ立場によって、Goは食わず嫌いで済まされないか...
そのうちに、やってないとGoを目の敵にしていると疑われて、
こっちがイキリ判定されるから
2022/12/18(日) 09:21:33.95ID:/OPYjfYK
適材適所にGo
処世術にGo
隠れ趣味にRust
2022/12/18(日) 09:23:43.37ID:rHzdtEqK
Kernelいじるので仕方なくやってる
2022/12/18(日) 09:26:47.68ID:mA0KcrEy
コソコソRust
イヤイヤRust
なのに愛され言語No1←あっ、
2022/12/18(日) 09:46:37.39ID:x4/bAggI
>>201
処世術にGoというのは絶妙なポイント突いてる
PythonだとAIで突っ込まれて実力が露呈するから
Rustは今年印象を悪くした
2022/12/18(日) 10:21:16.41ID:NDMThvXE
>PythonだとAIで突っ込まれて実力が露呈するから
知ってたわ
Rust仕様マウントerはそういう実力の無い奴
2022/12/18(日) 11:18:40.85ID:TnNRBRmL
はちみつオジは仕様マウントerですか?
はちみつオジは仕様マウントerですか?
207デフォルトの名無しさん
垢版 |
2022/12/18(日) 13:25:28.85ID:Pt3aaRaQ
Haskellと協力しよう。
2022/12/18(日) 13:55:56.71ID:VIbL9AVd
goのメリット
文法の単純さ
ライブラリ、リントなどのエコ環境の良さ
ビルド速度
バイナリ配布の簡易さ

これだけあれば十分だろ。
2022/12/18(日) 14:04:55.78ID:HLXapubf
標準ライブラリが充実してるのが一番大きいだろ
2022/12/18(日) 14:09:44.46ID:fqk1SiW3
次世代言語スレでやれ
2022/12/18(日) 14:28:32.59ID:XqzxcH1y
各言語の複雑さの総和は大きい
だから、一つしか選べないとかそれ以外と戦争とかしない限り、単純さは現実的でない
2022/12/18(日) 14:50:00.51ID:/g1tYkuT
>>185
そんなことはない。486以降では、昔から間接アドレッシングと
インクリメントのクロック数は同じだった。
1. 間接アドレッシング(p = p->next) :
mov ebx,[ebx+メンバのクラスの先頭からの相対アドレス] ;1クロック
2. ポインタのインクリメント(++p) :
add ebx,クラスのバイトサイズ ;1クロック
#Stroustrup氏はキャッシュの話をしている。
2022/12/18(日) 15:04:42.63ID:/g1tYkuT
>>178
[補足]
なお、O(・) 記号では、log N はよく出てくるが、log x は x=1の周りでは
次のような無限級数で(近似的に)展開できる。
log(1+x)=x-(1/2)x^2+(1/3)x^3-(1/4)x^4+・・・
無限級数なので、xの最大次数は、無限大。
だから、178 では、k が有限で止まっている形になっているが、本当はそうではない。
また、上記の展開式を見ると、正負の符合が交互に出てくることが分かる。
そんなに単純ではないが、このことも影響して y = log x は、dy/dx → 0 ( x → 無限大 )
であり、傾きが極限的にどんどん 0 (水平) に近付いていく。
つまり、N = 1 + x が変化してもほとんど変化しなくなる。
だから、log N は、「みなし定数」的と言われることがある。
なお、この時、逆関数で考えると、x = exp(y) であり、
y = exp(x) のグラフを描いて、y = x で(対称的に)折り返すと考えやすい事がある。
2022/12/18(日) 15:09:00.64ID:/g1tYkuT
>>213
なお、この展開式にもウソがある。
それは、log(1+x)で、その展開が正しいのは、|x| < 1 の範囲に限られることを
言及せずに誤魔化していること。
しかし、x → ∞で、dy/dx → 0 の証明は出来る。それは、
y = exp(x) が、dy/dx → ∞ だから、dx/dy → 0 であり、
逆関数 y = log(x) だと、dy/dx → 0 であるから。 //
2022/12/18(日) 15:44:41.47ID:W2G5o+in
高校数学を長々喋らんでいいw
2022/12/18(日) 15:50:01.93ID:+UGBJzct
高校数学を演説したいんよね
それ聞かされる周りの高学歴の気持ちになってみてほしい
217デフォルトの名無しさん
垢版 |
2022/12/18(日) 15:51:59.31ID:3W2C0MJT
>>205 それ分かる
SO/HN/rで仕入れた俄か知識をひけらかすために、質問と回答を自演するパターン>Rust仕様マウントer
厚かましくも、スレ民に教えたい、と思ってるんだろうけど姑息すぎてスルーしてる
時々引っかかるカモがいる様に見えるけど自演なんだろうな

>>206
自分で考えろ
218デフォルトの名無しさん
垢版 |
2022/12/18(日) 16:07:41.26ID:RtgSwVtd
>>215-216 俺も分かる
数学科卒でRustのメモリ安全性は(自称色々条件つけて)数学的証明付きだと吹聴してた実力の無い奴がいた
情報系院卒だったかな
219デフォルトの名無しさん
垢版 |
2022/12/18(日) 16:28:02.98ID:vIybIBIV
>>208-209 なるほどね
加えてGCC LLVM以外の独立系native codegenにしては高速なバイナリを吐く様だね
独立系と言ってもGoogleなんだから当然っちゃ当然か
220デフォルトの名無しさん
垢版 |
2022/12/18(日) 16:47:10.99ID:7QJNj+m3
迷惑オジ達に共通してるのは論理的思考レベルの低さ

読解力がない
要点をつかめない
主張を簡潔にまとめられない
全部原因は同じ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況