スレタイ(順番はRedMonk準拠)以外の言語もok
※ Rustは現世代最強言語なので除外します
前スレ
次世代言語25 TypeScript Swift Go Kotlin Rust Nim
https://mevius.5ch.net/test/read.cgi/tech/1650185555/
次世代言語26 TypeScript Swift Go Kotlin Nim
■ このスレッドは過去ログ倉庫に格納されています
2022/06/21(火) 09:27:46.30ID:5vOFCGpG
372デフォルトの名無しさん
2022/07/24(日) 21:27:37.48ID:BBPBBue7373デフォルトの名無しさん
2022/07/24(日) 21:34:55.30ID:hnBeY/7d RustはJavaの遺伝子を受け継ぐから組み込みやウェブでも流行するだろ。
Androidアプリの開発言語に採用されるかもしれん。
Javaではありませんよ言語とか苦しい言い訳しないで済むし。
Androidアプリの開発言語に採用されるかもしれん。
Javaではありませんよ言語とか苦しい言い訳しないで済むし。
374デフォルトの名無しさん
2022/07/24(日) 21:37:15.31ID:hnBeY/7d picojavaのようにpicorustプロセッサが出来るかもしれませんよ。
と思ったらすでに在った。
と思ったらすでに在った。
375デフォルトの名無しさん
2022/07/24(日) 21:40:01.27ID:hnBeY/7d 5chで次世代言語と言えば、織田信長しかないんだけど。
忘れてやしませんか?
それとも意図的に無視してんの?
忘れてやしませんか?
それとも意図的に無視してんの?
376デフォルトの名無しさん
2022/07/24(日) 21:43:31.89ID:bneWR3CV >>371
その用途ならばRustがオススメです
Goとの比較で言えばRustの方が高速かつ省メモリにすることができるだけでなく
Goの貧弱な言語仕様とは異なりRustは開発効率も高いです
NodeとDinoはJavaScriptなのでそれらよりも遅くメモリも多く必要とするだけでなく
Worker以外はシングルスレッドの中でしか展開できない限界もあります
その用途ならばRustがオススメです
Goとの比較で言えばRustの方が高速かつ省メモリにすることができるだけでなく
Goの貧弱な言語仕様とは異なりRustは開発効率も高いです
NodeとDinoはJavaScriptなのでそれらよりも遅くメモリも多く必要とするだけでなく
Worker以外はシングルスレッドの中でしか展開できない限界もあります
377デフォルトの名無しさん
2022/07/24(日) 21:45:28.55ID:POYobNlQ Denoは言語じゃないだろ
なんでRustと比較できるの?
なんでRustと比較できるの?
378デフォルトの名無しさん
2022/07/24(日) 21:46:24.07ID:GNBIcaHU マジでヤベェやつしかいないww
次世代老人スレ
次世代老人スレ
379デフォルトの名無しさん
2022/07/24(日) 21:46:25.88ID:hnBeY/7d パラダイムシフトです。
380デフォルトの名無しさん
2022/07/24(日) 21:47:28.08ID:hnBeY/7d 次世代老人とは、今は老人ではない、つまり若者のことである。
381デフォルトの名無しさん
2022/07/24(日) 21:49:59.66ID:bneWR3CV382デフォルトの名無しさん
2022/07/24(日) 22:03:49.93ID:POYobNlQ383デフォルトの名無しさん
2022/07/24(日) 22:25:39.05ID:iVL8opWs >>375
おれも大学でGHC/KL1やったことあって、5ch関係なくその辺なんとなく好きだからせめてリンクを貼ってやろう
https://www.fun.ac.jp/~hirata/Papers/spa99-on-slides.pdf
おれも大学でGHC/KL1やったことあって、5ch関係なくその辺なんとなく好きだからせめてリンクを貼ってやろう
https://www.fun.ac.jp/~hirata/Papers/spa99-on-slides.pdf
384デフォルトの名無しさん
2022/07/24(日) 23:05:50.30ID:eIrt9sO8 >>340
shared_ptrとarc/rcが参照カウンタを増減するのは参照をコピーするときとそれがスコープ抜けるときだけどその前後に参照先にアクセスするとは限らないので参照カウンタにアクセスするときにキャッシュミスが発生するかもしれない。
generational referencesではdereferenceするときだけ参照先の世代カウンタを読むので、世代カウンタにアクセスしたときは必ず参照先にアクセスする。キャッシュミスが起きても世代カウンタと参照先が同じキャッシュラインに存在する可能性が高いのであまり問題にならない。
generational referencesは参照カウンタと違ってヒープを確保するとき以外はメモリに書き込みを行わない。
なので単純に遅いとは言い切れないと思う。
shared_ptrとarc/rcが参照カウンタを増減するのは参照をコピーするときとそれがスコープ抜けるときだけどその前後に参照先にアクセスするとは限らないので参照カウンタにアクセスするときにキャッシュミスが発生するかもしれない。
generational referencesではdereferenceするときだけ参照先の世代カウンタを読むので、世代カウンタにアクセスしたときは必ず参照先にアクセスする。キャッシュミスが起きても世代カウンタと参照先が同じキャッシュラインに存在する可能性が高いのであまり問題にならない。
generational referencesは参照カウンタと違ってヒープを確保するとき以外はメモリに書き込みを行わない。
なので単純に遅いとは言い切れないと思う。
385デフォルトの名無しさん
2022/07/24(日) 23:34:47.76ID:T/C/xh5e >>384
実際のプログラミングを考えれば分かるように、その利用のほとんどが参照先にアクセスすること。
つまり解放の頻度が非相対的に常に低いのが特徴。
なぜなら、解放の頻度が高くてすぐに解放されるような用途ならばヒープは使われないか、ヒープわ使ってもunique_ptrやBox等で多くは済む。
つまりshared_ptrやRc/Arcが使われるのは比較的に長期に保持されて解放の頻度は相対的にも低い。
いずにしても、「解放の頻度」よりも「参照先へのアクセス」がプログラムで起きる頻度の多い主流な出来事。
「参照先へのアクセス」のコスト
【shared_ptrとRc/Arc】コストゼロ (参照カウントは全く使用されない)
【valeのGenerational References】コストが高い (ヒープの世代カウントと参照の世代カウントを比較が必要)
したがってC++/Rustの方法が有利。
実際のプログラミングを考えれば分かるように、その利用のほとんどが参照先にアクセスすること。
つまり解放の頻度が非相対的に常に低いのが特徴。
なぜなら、解放の頻度が高くてすぐに解放されるような用途ならばヒープは使われないか、ヒープわ使ってもunique_ptrやBox等で多くは済む。
つまりshared_ptrやRc/Arcが使われるのは比較的に長期に保持されて解放の頻度は相対的にも低い。
いずにしても、「解放の頻度」よりも「参照先へのアクセス」がプログラムで起きる頻度の多い主流な出来事。
「参照先へのアクセス」のコスト
【shared_ptrとRc/Arc】コストゼロ (参照カウントは全く使用されない)
【valeのGenerational References】コストが高い (ヒープの世代カウントと参照の世代カウントを比較が必要)
したがってC++/Rustの方法が有利。
386デフォルトの名無しさん
2022/07/24(日) 23:36:40.59ID:hnBeY/7d いえいえ、C++はそんな魔法のようなことはできませんよ。
物理法則を超越するのはRustだけです。
物理法則を超越するのはRustだけです。
387デフォルトの名無しさん
2022/07/24(日) 23:59:50.37ID:DhgJf/Tp >>386
Rustでは出来ている
Rustでは出来ている
388デフォルトの名無しさん
2022/07/25(月) 00:06:36.72ID:e1+lLaZG RustのRc<T>のソースコードを見てみた
参照先へのアクセス時つまりTへのアクセス時には参照カウントは全くノータッチ
つまり>>385で正しいようだ
参照カウントは解放のためだけに使うものだから普段は使わないのは当たり前か
参照先へのアクセス時つまりTへのアクセス時には参照カウントは全くノータッチ
つまり>>385で正しいようだ
参照カウントは解放のためだけに使うものだから普段は使わないのは当たり前か
389デフォルトの名無しさん
2022/07/25(月) 00:40:50.97ID:e1+lLaZG したがってこのRust叩きしてる人がウソをついていた
>>264
> Rc<T>で無駄なメモリアクセスが起きてることを分かってない。
> 参照カウントで、かなり無駄なカウントアップ・ダウンが現実に起きてるし非効率。
正解は解放時にようやく初めてカウントダウンつまり1を引いて0と比較するだけの小さなコスト
>>264
> Rc<T>で無駄なメモリアクセスが起きてることを分かってない。
> 参照カウントで、かなり無駄なカウントアップ・ダウンが現実に起きてるし非効率。
正解は解放時にようやく初めてカウントダウンつまり1を引いて0と比較するだけの小さなコスト
390デフォルトの名無しさん
2022/07/25(月) 01:06:45.81ID:GF1rw+EH んなわけないでしょ。
391デフォルトの名無しさん
2022/07/25(月) 01:17:32.30ID:esXLF7ue 誰も問題にしてない問題の解決をありがとう
それで参照の複製と破棄のコストは?
それで参照の複製と破棄のコストは?
392デフォルトの名無しさん
2022/07/25(月) 01:24:22.28ID:1U7Sp33P >>385
shared_ptrとかRCのような参照カウンタ方式は参照がスコープ抜けるときだけじゃなく参照を増やすときに参照カウンタを+1してるでしょ。
shared_ptrとかRCのような参照カウンタ方式は参照がスコープ抜けるときだけじゃなく参照を増やすときに参照カウンタを+1してるでしょ。
393デフォルトの名無しさん
2022/07/25(月) 01:26:08.06ID:GF1rw+EH ええええ!
そこ??
そこ??
394デフォルトの名無しさん
2022/07/25(月) 01:38:55.49ID:8gSNeQFu >>391
それは完全にコストゼロ
Rustでは(Rc/Arcの参照を含めて)参照を使ってもその参照を破棄(自動的)しても付加コストはかからない
対象がRc/ArcであろうがそのRc/Arc内の参照カウントを見ることは当然ない
例
let x = Rc::new(123);
let xx = &x; // xの参照
foo(xx);
ここでxの参照が複製されて関数fooに渡される
当然Rcの内部の参照カウントの読み書きは発生しない
コストはゼロ
それは完全にコストゼロ
Rustでは(Rc/Arcの参照を含めて)参照を使ってもその参照を破棄(自動的)しても付加コストはかからない
対象がRc/ArcであろうがそのRc/Arc内の参照カウントを見ることは当然ない
例
let x = Rc::new(123);
let xx = &x; // xの参照
foo(xx);
ここでxの参照が複製されて関数fooに渡される
当然Rcの内部の参照カウントの読み書きは発生しない
コストはゼロ
395デフォルトの名無しさん
2022/07/25(月) 01:40:09.84ID:8gSNeQFu396デフォルトの名無しさん
2022/07/25(月) 02:08:28.73ID:GF1rw+EH Rustユーザーはこのレベルか。
エアユーザーと認定する。
エアユーザーと認定する。
397デフォルトの名無しさん
2022/07/25(月) 02:13:24.40ID:7j5KuiPU おまえは何もわかってない。セマンティックムーブを備える言語の複数の所有権では意味が違う...
392が言ってるのは文脈で言ってる参照は、明らかに複数の所有権のことであり、コピーされた値とは違う。
参照カウントである以上、アルゴリズム的にどんな言い訳をしてもカウンタの上げ下げでボトルネックは生じるものであり
それを認めずにこういう馬鹿がゼロコストだとか現代のコンパイラー型言語で多くがやってることを、意味不明に連呼して
言語の普及に不利益を与える。
いい加減こんなバカなことは考え直せ
392が言ってるのは文脈で言ってる参照は、明らかに複数の所有権のことであり、コピーされた値とは違う。
参照カウントである以上、アルゴリズム的にどんな言い訳をしてもカウンタの上げ下げでボトルネックは生じるものであり
それを認めずにこういう馬鹿がゼロコストだとか現代のコンパイラー型言語で多くがやってることを、意味不明に連呼して
言語の普及に不利益を与える。
いい加減こんなバカなことは考え直せ
398デフォルトの名無しさん
2022/07/25(月) 02:20:06.89ID:XtVjY1m0 >>396
君たちRustアンチが壮大な勘違いをしていることが今回わかった
参照で参照カウンタが増えていくと思い込んでいたのか
Rustでは参照をいくつ増やしてもコストが全くかからない
Rustには所有権とライフタイムがあるため参照カウントを増加させるなどは全く不要で参照についてはコストが全くかからない
もちろん参照先へのアクセスについてもそのような付加コストはかからない
これがRustの強み
コストをかけずに安全&高速なのがRust
君たちRustアンチが壮大な勘違いをしていることが今回わかった
参照で参照カウンタが増えていくと思い込んでいたのか
Rustでは参照をいくつ増やしてもコストが全くかからない
Rustには所有権とライフタイムがあるため参照カウントを増加させるなどは全く不要で参照についてはコストが全くかからない
もちろん参照先へのアクセスについてもそのような付加コストはかからない
これがRustの強み
コストをかけずに安全&高速なのがRust
399デフォルトの名無しさん
2022/07/25(月) 02:30:53.81ID:7j5KuiPU ここの狂信者は389のようなことを言う。
例えば「正解は解放時にようやく初めてカウントダウンつまり1を引いて0と比較するだけの小さなコスト」のようなことを言うが
264の言うことと全く矛盾しない。たとえ参照カウントが1だとしても明らかにstrong countの上げ下げは発生しており
これが参照カウントのアルゴリズムでは常に問題になる。多くの場合大きな問題は表面化しないが良くある通例として
プログラム終了時に参照カウントの0が連鎖するため非常に時間を要するなどの場合がある
日本に良くいるタイプで1つでも否定句を入れると、発狂したように「嘘だッ!」と食って掛かる。
例えば「Cargoが不味いのでRustはコンパイルが、同様の10年以内に現れたGoやVと比べ遅いね」というと
「Rustは速い!ふざけんな!」と発狂し、最後にはCargoバンザイと礼賛まで始める...
これがgithubや海外フォーラムだと
これ遅くね?→確かに遅い→どこが遅いのか→なら遅いからどうするか
という改善すべき提案までされるのに、ここにいる気持ち悪いこのような輩はそんな事をしない。
壊れたレコードよりも高性能なCDのように永遠と同じことを繰り返す、ゼロコスト!強み!安全!
ゼロコストは多くのコンパイル型言語でほぼ同様であり、Rustの公式自体も認めているがRustはメモリーリークを認めているし
メモリリークそのものを安全として処理する。これを強弁して「メモリーリークが起こらない!」と言い張るのは明らかにおかしい
例えば「正解は解放時にようやく初めてカウントダウンつまり1を引いて0と比較するだけの小さなコスト」のようなことを言うが
264の言うことと全く矛盾しない。たとえ参照カウントが1だとしても明らかにstrong countの上げ下げは発生しており
これが参照カウントのアルゴリズムでは常に問題になる。多くの場合大きな問題は表面化しないが良くある通例として
プログラム終了時に参照カウントの0が連鎖するため非常に時間を要するなどの場合がある
日本に良くいるタイプで1つでも否定句を入れると、発狂したように「嘘だッ!」と食って掛かる。
例えば「Cargoが不味いのでRustはコンパイルが、同様の10年以内に現れたGoやVと比べ遅いね」というと
「Rustは速い!ふざけんな!」と発狂し、最後にはCargoバンザイと礼賛まで始める...
これがgithubや海外フォーラムだと
これ遅くね?→確かに遅い→どこが遅いのか→なら遅いからどうするか
という改善すべき提案までされるのに、ここにいる気持ち悪いこのような輩はそんな事をしない。
壊れたレコードよりも高性能なCDのように永遠と同じことを繰り返す、ゼロコスト!強み!安全!
ゼロコストは多くのコンパイル型言語でほぼ同様であり、Rustの公式自体も認めているがRustはメモリーリークを認めているし
メモリリークそのものを安全として処理する。これを強弁して「メモリーリークが起こらない!」と言い張るのは明らかにおかしい
400デフォルトの名無しさん
2022/07/25(月) 02:41:14.40ID:esXLF7ue >>394
その例と説明はRcとは何も関係ないよね
例えばfooが&RcではなくRcを取り、fooを呼んだ後もxを使うとしたら?
実際にはこうしたプログラムフローじゃなくて、データ構造的要請から参照カウンタを使う選択をとるのが多いとは思うけど
その例と説明はRcとは何も関係ないよね
例えばfooが&RcではなくRcを取り、fooを呼んだ後もxを使うとしたら?
実際にはこうしたプログラムフローじゃなくて、データ構造的要請から参照カウンタを使う選択をとるのが多いとは思うけど
401デフォルトの名無しさん
2022/07/25(月) 02:47:14.81ID:GF1rw+EH 魔導士はstd::shared_ptr<>を使うことになったら設計を疑えと心得ている。
402デフォルトの名無しさん
2022/07/25(月) 02:48:21.55ID:SbhYwl+v Rustに対して無知な人が、何を勘違いしてRustを叩いているのか、ようやく理解できた。
稀にしか登場することのないRcをなぜか連呼して叩く理由もわかった。
複数の参照がある場合に、Rcを使う必要があると勘違いしてるわけだ。
そして参照の数だけカウンターが増える、と勘違いしてるわけだ。
参照カウンタ方式のGC言語とは異なり、Rustではそんな無駄なことはしていないです。
稀にしか登場することのないRcをなぜか連呼して叩く理由もわかった。
複数の参照がある場合に、Rcを使う必要があると勘違いしてるわけだ。
そして参照の数だけカウンターが増える、と勘違いしてるわけだ。
参照カウンタ方式のGC言語とは異なり、Rustではそんな無駄なことはしていないです。
403デフォルトの名無しさん
2022/07/25(月) 02:50:11.86ID:GF1rw+EH > Rustでは参照をいくつ増やしてもコストが全くかからない
こういうのが反論されてるだけでは?
こういうのが反論されてるだけでは?
404デフォルトの名無しさん
2022/07/25(月) 02:56:01.87ID:SbhYwl+v405デフォルトの名無しさん
2022/07/25(月) 03:02:58.57ID:GF1rw+EH C++にもstd::unique_ptr<>とstd::shared_ptr<>があるけど、C++のスマートポインタはゼロコストでいくらでも参照を増やせると言えば反論されるでしょう。
Arcの欠点を指摘されるとまるでそれがArcの特徴であるかのようにRcの解説をし、Rcの欠点を指摘されるとまるでそれがRcの特徴であるかのようにArcの解説をする。
それがまずいのでは?
Arcの欠点を指摘されるとまるでそれがArcの特徴であるかのようにRcの解説をし、Rcの欠点を指摘されるとまるでそれがRcの特徴であるかのようにArcの解説をする。
それがまずいのでは?
406デフォルトの名無しさん
2022/07/25(月) 03:07:04.80ID:GF1rw+EH 基本的にRustは余計なことが出来ないように設計されているので、PythonやJavaのように使われるようになると思います。
初心者向きに良く練られていると思います。
初心者向きに良く練られていると思います。
407デフォルトの名無しさん
2022/07/25(月) 03:07:39.44ID:SbhYwl+v408デフォルトの名無しさん
2022/07/25(月) 03:08:57.43ID:GF1rw+EH ↑
しかし、知ったかぶりの初心者を量産してしまったのは、Rustの罪の部分ですね。
しかし、知ったかぶりの初心者を量産してしまったのは、Rustの罪の部分ですね。
409デフォルトの名無しさん
2022/07/25(月) 03:14:13.96ID:azxTxG7t >>405
Rustの参照、つまりC++で言うところのunique_ptrは、Rustではコストゼロです
コンパイラによりライフタイムと借用ルールに反していないと保証されて、参照は単なるポインタ(アドレス)になります
アドレス以外の付加情報を持つファットなスマートポインタではありません
Rustの参照、つまりC++で言うところのunique_ptrは、Rustではコストゼロです
コンパイラによりライフタイムと借用ルールに反していないと保証されて、参照は単なるポインタ(アドレス)になります
アドレス以外の付加情報を持つファットなスマートポインタではありません
410デフォルトの名無しさん
2022/07/25(月) 03:16:23.43ID:GF1rw+EH しかしそれではGC付き言語のマナーでプログラムする人には使いにくいでしょう。
Rustは次世代じゃないんですよ。
Rustは次世代じゃないんですよ。
411デフォルトの名無しさん
2022/07/25(月) 03:19:01.13ID:GF1rw+EH コンセプトが入った以上、C++は次世代です。
progress_displayが入れば世界最新だったのですが。
なかなか採択されませんね。
progress_displayが入れば世界最新だったのですが。
なかなか採択されませんね。
412デフォルトの名無しさん
2022/07/25(月) 03:23:21.39ID:FtUkeJZV >>409
ほとんど合ってるけど
C++に関するところだけちょっと違う
unique_ptrに相当するのはRustでは自動的に無条件でその機能を持つことになる
もちろん付加的な情報を必要としない
いずれにせよBoxでもVecでもStringでもRustで参照は複数いくつでもコスト無しで持てる
もちろん参照カウンタは必要としない
ほとんど合ってるけど
C++に関するところだけちょっと違う
unique_ptrに相当するのはRustでは自動的に無条件でその機能を持つことになる
もちろん付加的な情報を必要としない
いずれにせよBoxでもVecでもStringでもRustで参照は複数いくつでもコスト無しで持てる
もちろん参照カウンタは必要としない
413デフォルトの名無しさん
2022/07/25(月) 03:36:04.97ID:FtUkeJZV Rustではライフタイムの概念の導入によって参照が複数いくつもあろうがコスト無く扱える
ライフタイムを超えた参照が存在しないことをコンパイルが通れば保証されるため
参照が複数あっても参照カウンタなどの付加的なコストをRustは必要としない
ライフタイムを超えた参照が存在しないことをコンパイルが通れば保証されるため
参照が複数あっても参照カウンタなどの付加的なコストをRustは必要としない
414デフォルトの名無しさん
2022/07/25(月) 03:50:26.54ID:nik6Zqry415デフォルトの名無しさん
2022/07/25(月) 03:54:57.80ID:7j5KuiPU 顔真っ赤になってほとんど人がいない深夜に、これをやる。マトモだと思いますか?
こんな事書いてる暇があるなら、ましなコード書けよ。おまえの汚いコードで大勢が苦労してんだよ
こんな事書いてる暇があるなら、ましなコード書けよ。おまえの汚いコードで大勢が苦労してんだよ
416デフォルトの名無しさん
2022/07/25(月) 04:30:16.31ID:4yx4R0Hn >>414
何の参照を欲しいかに依る
中身の参照を欲しいならば
let x: Rc<i32> = Rc::new(123);
let p: &i32 = x.as_ref();
これで直接ポインタ
もちろん参照カウンタが増えることもなくコストはかからない
何の参照を欲しいかに依る
中身の参照を欲しいならば
let x: Rc<i32> = Rc::new(123);
let p: &i32 = x.as_ref();
これで直接ポインタ
もちろん参照カウンタが増えることもなくコストはかからない
417デフォルトの名無しさん
2022/07/25(月) 04:35:50.04ID:4yx4R0Hn Rust叩きしてる人の頭の中はこんな感じの妄想か
複数の参照を利用 → 参照カウンタが必要となるはずだ! → Rcを使う必要があるはずだ!
もちろんこれは間違いで
Rustでは複数の参照を利用しても
参照カウンタもRcも不要
複数の参照を利用 → 参照カウンタが必要となるはずだ! → Rcを使う必要があるはずだ!
もちろんこれは間違いで
Rustでは複数の参照を利用しても
参照カウンタもRcも不要
418デフォルトの名無しさん
2022/07/25(月) 05:58:18.25ID:1U7Sp33P それじゃそもそもRCって何で存在しているの?
何の為に参照カウンタがあるの?
何の為に参照カウンタがあるの?
419デフォルトの名無しさん
2022/07/25(月) 06:15:33.82ID:XNFIHMnD Rustの話題はRustスレでやった方がいいんじゃね?
なんかもうRustって見るだけで吐き気がしてきた
なんかもうRustって見るだけで吐き気がしてきた
420デフォルトの名無しさん
2022/07/25(月) 06:18:34.46ID:AKrlxTbS421デフォルトの名無しさん
2022/07/25(月) 06:25:52.20ID:8J+uEmne422デフォルトの名無しさん
2022/07/25(月) 06:37:19.48ID:8J+uEmne423デフォルトの名無しさん
2022/07/25(月) 06:39:01.08ID:GF1rw+EH >>418
俺に反論できなくなったので、要らないことになったのでは?
俺に反論できなくなったので、要らないことになったのでは?
424デフォルトの名無しさん
2022/07/25(月) 07:13:41.21ID:nBUvMOxq425デフォルトの名無しさん
2022/07/25(月) 07:39:05.16ID:Vq8THFea >>424
速いとか省メモリとか何か動機がないと
速いとか省メモリとか何か動機がないと
426デフォルトの名無しさん
2022/07/25(月) 07:55:15.70ID:nBUvMOxq >>425
なんでC++はNodeやGoに変わって使われないの?
なんでC++はNodeやGoに変わって使われないの?
427デフォルトの名無しさん
2022/07/25(月) 08:06:04.72ID:Vq8THFea >>426
安全じゃないと
安全じゃないと
428デフォルトの名無しさん
2022/07/25(月) 08:21:13.01ID:nBUvMOxq429デフォルトの名無しさん
2022/07/25(月) 08:52:04.73ID:9VZD4LMs430デフォルトの名無しさん
2022/07/25(月) 08:59:06.96ID:nBUvMOxq >>429
キチガイではなく一般論を話しているのみ。Nodeが流行った理由知らないのか
単語をカウントするプログラムのベンチマークをした記事
Goがシンプル版、最適化版両方Rustより速いようだけどRust玄人さんはこれどう解釈するの?
メモリ効率がいいから速いんじゃねーの?
https://benhoyt.com/writings/count-words/
Goがライターが書いていて、Rustはripgrepの作者が作ってるみたいだけどw
キチガイではなく一般論を話しているのみ。Nodeが流行った理由知らないのか
単語をカウントするプログラムのベンチマークをした記事
Goがシンプル版、最適化版両方Rustより速いようだけどRust玄人さんはこれどう解釈するの?
メモリ効率がいいから速いんじゃねーの?
https://benhoyt.com/writings/count-words/
Goがライターが書いていて、Rustはripgrepの作者が作ってるみたいだけどw
431デフォルトの名無しさん
2022/07/25(月) 09:31:41.84ID:LVt6e5K4432デフォルトの名無しさん
2022/07/25(月) 09:33:37.20ID:X3gippUK433デフォルトの名無しさん
2022/07/25(月) 09:39:39.23ID:6EAs3JIP434デフォルトの名無しさん
2022/07/25(月) 09:40:42.26ID:4fLf8Vq5 >>418
普通にデータなどを格納するコレクションを作るときに直接使用する、例えばVecとか
上のほうで書いてある「Rcが滅多に使われない」は大変な間違い。
多くのプログラムは間接的にほぼ間違いなく多く使用している、もちろん全く使用しないプログラムもあるがそちらのほうが例外。
当然、参照カウントはセマンティックムーブのある言語で所有権の複製時にはカウントアップされる
https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=39acf5e2c625c2e5ccd8f9cca466f64c
スキル学習で分かりにくいのは、この種の言語の一般的な用語である「(ただ単に)参照」とは所有権の複製ではないという事
対して「可変参照」をとる場合、mutableな借用とされ参照カウントが0/1以外にもカウントアップされる。よって参照カウントが
実行時にボトルネックになる可能性があるという話は正しく、無意味に「コストゼロ、コストを必要としない」などを連呼する事は
とても近寄りがたい雰囲気を醸し出す
普通は中身を見るだけではなく格納している値を処理するので、可変参照を使うので、参照カウントがコストが無いなんていう
ふざけた説明は論外。この種の宗教的な勧誘は「コストゼロ、コストを必要としない」などを連呼する狂信性を発病する
普通にデータなどを格納するコレクションを作るときに直接使用する、例えばVecとか
上のほうで書いてある「Rcが滅多に使われない」は大変な間違い。
多くのプログラムは間接的にほぼ間違いなく多く使用している、もちろん全く使用しないプログラムもあるがそちらのほうが例外。
当然、参照カウントはセマンティックムーブのある言語で所有権の複製時にはカウントアップされる
https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=39acf5e2c625c2e5ccd8f9cca466f64c
スキル学習で分かりにくいのは、この種の言語の一般的な用語である「(ただ単に)参照」とは所有権の複製ではないという事
対して「可変参照」をとる場合、mutableな借用とされ参照カウントが0/1以外にもカウントアップされる。よって参照カウントが
実行時にボトルネックになる可能性があるという話は正しく、無意味に「コストゼロ、コストを必要としない」などを連呼する事は
とても近寄りがたい雰囲気を醸し出す
普通は中身を見るだけではなく格納している値を処理するので、可変参照を使うので、参照カウントがコストが無いなんていう
ふざけた説明は論外。この種の宗教的な勧誘は「コストゼロ、コストを必要としない」などを連呼する狂信性を発病する
435デフォルトの名無しさん
2022/07/25(月) 09:47:57.99ID:pT/R/RrL436デフォルトの名無しさん
2022/07/25(月) 10:02:55.50ID:2pceaDTd >>428-429
基本的なことを全くわかってないでなんでも独自解釈で間違った判断してると思うわ
なんでも狂っていたりそう簡単にぶっ壊れたりするもんじゃないから、
自分の予測と違った結果になったら基本的な用語とか使いかたを勉強し直さないと先に進めないと思う
基本的なことを全くわかってないでなんでも独自解釈で間違った判断してると思うわ
なんでも狂っていたりそう簡単にぶっ壊れたりするもんじゃないから、
自分の予測と違った結果になったら基本的な用語とか使いかたを勉強し直さないと先に進めないと思う
437デフォルトの名無しさん
2022/07/25(月) 10:10:53.79ID:YiK1YmC6 >>435
Rustはプログラマーへ負担を大変に強制する言語でありながら、問題解決している分野はとても狭い....
メモリーを限界まで使用してアクセスが高負荷な環境では確かに良いかもしれないが
Pythonなどの自動学習ライブラリ(多くはC/C++で書かれる)やNodeやTypescript/JSなどが主流であるフロントエンドには非常に使いづらい。
またスマートフォンのアプリ開発も出来なくは無いが両陣営からあまり重視されていない、最近では大企業も使用をしているが
Googleなどは多くはまだメニーコアを素直に活用できるGoを使用する(社内の標準言語)
ここまで否定的なことを、ハッキリ言える狂信者は居ないとおもう
Rustはプログラマーへ負担を大変に強制する言語でありながら、問題解決している分野はとても狭い....
メモリーを限界まで使用してアクセスが高負荷な環境では確かに良いかもしれないが
Pythonなどの自動学習ライブラリ(多くはC/C++で書かれる)やNodeやTypescript/JSなどが主流であるフロントエンドには非常に使いづらい。
またスマートフォンのアプリ開発も出来なくは無いが両陣営からあまり重視されていない、最近では大企業も使用をしているが
Googleなどは多くはまだメニーコアを素直に活用できるGoを使用する(社内の標準言語)
ここまで否定的なことを、ハッキリ言える狂信者は居ないとおもう
438デフォルトの名無しさん
2022/07/25(月) 10:31:51.75ID:qMC/1j9+ C/C++は危険だよ問題という
狭い問題のために過大なコストを消費するのは
Rust以前の時代からあった非合理的行動なんだよな
狭い問題のために過大なコストを消費するのは
Rust以前の時代からあった非合理的行動なんだよな
439デフォルトの名無しさん
2022/07/25(月) 11:25:18.08ID:dJJE5upa 新興勢力の宣伝の常套手段の一つ
既存の勢力を貶めること
個人的には好きではないしむしろ忌み嫌うやり方
既存の勢力を貶めること
個人的には好きではないしむしろ忌み嫌うやり方
440デフォルトの名無しさん
2022/07/25(月) 12:45:23.61ID:PJasBk3j >>430
Nimが良いな。
Nimが良いな。
441デフォルトの名無しさん
2022/07/25(月) 12:55:06.04ID:NiS5Jdh/ Nim++
Nim#
Nim#
442デフォルトの名無しさん
2022/07/25(月) 14:26:21.66ID:qfCVZU8h >>437
Rustはれっきとした機械学習のライブラリや言語処理系を*作るため*の言語だよ
Rustは機械語を吐くコンパイラやトランスパイラのようなものに向いてるし
それってフロントエンドが今必死になって取り組んでる分野ではないの?
簡単に書けて省メモリかつ速い言語なんてないよ
夢見すぎ
Rustはれっきとした機械学習のライブラリや言語処理系を*作るため*の言語だよ
Rustは機械語を吐くコンパイラやトランスパイラのようなものに向いてるし
それってフロントエンドが今必死になって取り組んでる分野ではないの?
簡単に書けて省メモリかつ速い言語なんてないよ
夢見すぎ
443デフォルトの名無しさん
2022/07/25(月) 14:42:37.10ID:PJasBk3j >>441
Nimが十分抽象表現できてるからNim++は意味ねーだろ
Nimが十分抽象表現できてるからNim++は意味ねーだろ
444デフォルトの名無しさん
2022/07/25(月) 14:47:29.52ID:MBqXfUDU >>437
Pythonの自動学習ライブラリはフロントエンドではない
さらに多くがC++で書かれている自動学習ライブラリに対してRustが非常に使いづらいと主張するなら根拠を書くべき
C++が多いのは長年の時間の差だけであり現在はPythonからRustを呼び出すこともできるようになったので今後は色々と出て来るだろう
Pythonの自動学習ライブラリはフロントエンドではない
さらに多くがC++で書かれている自動学習ライブラリに対してRustが非常に使いづらいと主張するなら根拠を書くべき
C++が多いのは長年の時間の差だけであり現在はPythonからRustを呼び出すこともできるようになったので今後は色々と出て来るだろう
445デフォルトの名無しさん
2022/07/25(月) 15:03:49.84ID:ZKQpDD7R 自動学習?
446デフォルトの名無しさん
2022/07/25(月) 15:20:21.13ID:/ac3g8+o >>434
デタラメな説明はよろしくないな
君はRustを叩きたい側だからだろうが根本的な理解ができていない
特に酷いのは「所有権の複製」
Rustにそんな概念も用法も無い
Rcが滅多に使われないというのは事実
様々なRustのライブラリ(クレート)を見てもRcの出現は非常に少なくArcよりも圧倒的に少ない
Arcが多い理由はマルチスレッドでデータを共有するためで別々の所有者だから
Rcはシングルスレッド用だから別々の所有者を必要とすることが非常に少ない
まれにRcを必要とすることもあるが本当に必要なのかをまずは疑うべき
さらにRc/Arcでカウントアップ/ダウンは滅多に起きない事象であるため負荷を批判するのもおかしい
例えばマルチスレッド間のデータ共有でArcを使うとしてもスレッド生成で+1されスレッド終了で−1されるのみだからスレッド生成に対して誤差である
このように新たな所有主体が現れること自体の負荷と比べて数値を+1することは誤差
デタラメな説明はよろしくないな
君はRustを叩きたい側だからだろうが根本的な理解ができていない
特に酷いのは「所有権の複製」
Rustにそんな概念も用法も無い
Rcが滅多に使われないというのは事実
様々なRustのライブラリ(クレート)を見てもRcの出現は非常に少なくArcよりも圧倒的に少ない
Arcが多い理由はマルチスレッドでデータを共有するためで別々の所有者だから
Rcはシングルスレッド用だから別々の所有者を必要とすることが非常に少ない
まれにRcを必要とすることもあるが本当に必要なのかをまずは疑うべき
さらにRc/Arcでカウントアップ/ダウンは滅多に起きない事象であるため負荷を批判するのもおかしい
例えばマルチスレッド間のデータ共有でArcを使うとしてもスレッド生成で+1されスレッド終了で−1されるのみだからスレッド生成に対して誤差である
このように新たな所有主体が現れること自体の負荷と比べて数値を+1することは誤差
447デフォルトの名無しさん
2022/07/25(月) 16:01:59.92ID:N2Q3Sx/d448デフォルトの名無しさん
2022/07/25(月) 16:04:20.43ID:LpioO7nY449デフォルトの名無しさん
2022/07/25(月) 16:06:38.58ID:LxBh6KBX >>432
例えばC言語でグラフを実装する時も生のポインタのみで実装されることはありません
なぜなら各ノードのメモリを解放するタイミングがわからなくなるためです
そこで主に三つの方法が取られます
一つは各ノード一覧を配列などで持っておくとともに定期的にルートから到達可能か到達フラグを用意します
そしてノード一覧の中で到達フラグが立っていないものをメモリ解放します
この方法の欠点は4つあり
(1) ノード一覧を管理する配列が別途必要となる
(2) 到達フラグが必要となる
(3) 定期的に到達可能かを調べる必要がある
(4) 使われなくなったノードがすぐには解放されない
もう一つの方法は定期的コピー方式です
ルートから到達可能な部分を定期的に別の場所にコピーします
コピーされなかった部分が到達できない使われていない部分なのでまとめて解放となります
この方法の欠点は
(1) この方法も定期的な実行が必要となる
(2) メモリ空間が2倍必要となる
(3) 使われてる全体が定期的にメモリコピーされる負荷
(4) 使われなくなったノードがすぐには解放されない
残りの方法は参照カウンタ方式です
おなじみなので略します
いずれの方法も様々な欠点があります
このグラフのノード解放問題は
ガベージコレクションを必要とするプログラミング言語にそのまま当てはまります
GCの負荷コストを理解していただけましたでしょうか?
例えばC言語でグラフを実装する時も生のポインタのみで実装されることはありません
なぜなら各ノードのメモリを解放するタイミングがわからなくなるためです
そこで主に三つの方法が取られます
一つは各ノード一覧を配列などで持っておくとともに定期的にルートから到達可能か到達フラグを用意します
そしてノード一覧の中で到達フラグが立っていないものをメモリ解放します
この方法の欠点は4つあり
(1) ノード一覧を管理する配列が別途必要となる
(2) 到達フラグが必要となる
(3) 定期的に到達可能かを調べる必要がある
(4) 使われなくなったノードがすぐには解放されない
もう一つの方法は定期的コピー方式です
ルートから到達可能な部分を定期的に別の場所にコピーします
コピーされなかった部分が到達できない使われていない部分なのでまとめて解放となります
この方法の欠点は
(1) この方法も定期的な実行が必要となる
(2) メモリ空間が2倍必要となる
(3) 使われてる全体が定期的にメモリコピーされる負荷
(4) 使われなくなったノードがすぐには解放されない
残りの方法は参照カウンタ方式です
おなじみなので略します
いずれの方法も様々な欠点があります
このグラフのノード解放問題は
ガベージコレクションを必要とするプログラミング言語にそのまま当てはまります
GCの負荷コストを理解していただけましたでしょうか?
450デフォルトの名無しさん
2022/07/25(月) 16:46:22.65ID:PkQCRHsR >>446
このように顔真っ赤になって、怒り心頭で攻撃してきます、激おこぷんぷん...マジでRustコミュニティはこういう輩の扱い考えたほうが良い....
>特に酷いのは「所有権の複製」
頭から「君はRustを叩きたい側だからだろう」という下種な勘ぐりを持って色眼鏡で相手と話し合う事はできませんし、これ以上
狂者を相手をするつもりもありませんが、デタラメ/間違いなら、より正しい言葉で説明したら良いじゃない?
なぜ1番先に書いたことを無説明で流し、Rc/Arcなんかの長文説明でグチグチ言ってるんです?
下のコメで「メモリーを限界まで使用してアクセスが高負荷な環境では確かに良い」と認めているのがあなたの目には見えませんか?
>Rcが滅多に使われないというのは事実
RcはStringにさえ使われています。あなたから薄ら頭に付いてる目から見える「事実」は隠されたライブラリの中に存在しているようですが
そこでもArcの話なんてしていません。Rcのスレッドセーフ版がArcなだけで、グダクダと口臭いArcの説明なんて誰も求めていません。
さらに参照カウントの一般的な欠点を説明しているのに、「批判するのがおかしい」と「誤差」なんてそれだから一般的なプログラマーから
ドン引きされるんですよ。
このように顔真っ赤になって、怒り心頭で攻撃してきます、激おこぷんぷん...マジでRustコミュニティはこういう輩の扱い考えたほうが良い....
>特に酷いのは「所有権の複製」
頭から「君はRustを叩きたい側だからだろう」という下種な勘ぐりを持って色眼鏡で相手と話し合う事はできませんし、これ以上
狂者を相手をするつもりもありませんが、デタラメ/間違いなら、より正しい言葉で説明したら良いじゃない?
なぜ1番先に書いたことを無説明で流し、Rc/Arcなんかの長文説明でグチグチ言ってるんです?
下のコメで「メモリーを限界まで使用してアクセスが高負荷な環境では確かに良い」と認めているのがあなたの目には見えませんか?
>Rcが滅多に使われないというのは事実
RcはStringにさえ使われています。あなたから薄ら頭に付いてる目から見える「事実」は隠されたライブラリの中に存在しているようですが
そこでもArcの話なんてしていません。Rcのスレッドセーフ版がArcなだけで、グダクダと口臭いArcの説明なんて誰も求めていません。
さらに参照カウントの一般的な欠点を説明しているのに、「批判するのがおかしい」と「誤差」なんてそれだから一般的なプログラマーから
ドン引きされるんですよ。
451デフォルトの名無しさん
2022/07/25(月) 16:51:48.53ID:Yk1WTUPx452デフォルトの名無しさん
2022/07/25(月) 17:01:49.95ID:PkQCRHsR >>451
https://doc.rust-lang.org/src/alloc/string.rs.html
pub struct String {
vec: Vec<u8>,
}
これだと言葉足らずですが、リテラルから生成するString::fromなどはこのようになります
https://doc.rust-lang.org/src/alloc/string.rs.html
pub struct String {
vec: Vec<u8>,
}
これだと言葉足らずですが、リテラルから生成するString::fromなどはこのようになります
453デフォルトの名無しさん
2022/07/25(月) 17:05:57.06ID:mpRQ8kqk >>450
> RcはStringにさえ使われています。
嘘つき!
RcはStringで当然使われていないだけだなく
Rust標準ライブラリの中でも(Rc自体の
部分を除き)Rcは全く使われていない
一般的にもRcは使われることが少ない
もちろんRcを使うべき例外も一部あるがRcを使う前に構造の見直しを勧める
> RcはStringにさえ使われています。
嘘つき!
RcはStringで当然使われていないだけだなく
Rust標準ライブラリの中でも(Rc自体の
部分を除き)Rcは全く使われていない
一般的にもRcは使われることが少ない
もちろんRcを使うべき例外も一部あるがRcを使う前に構造の見直しを勧める
454デフォルトの名無しさん
2022/07/25(月) 17:28:44.47ID:RV7OdbkD 標準ライブラリでRcが使われてないのは
オーバーヘッドを嫌ってunsafeを使った代替実装が使われてるからだぞ
オーバーヘッドを嫌ってunsafeを使った代替実装が使われてるからだぞ
455デフォルトの名無しさん
2022/07/25(月) 17:32:52.00ID:JQ4EiZH/456デフォルトの名無しさん
2022/07/25(月) 17:35:20.01ID:8LuMiuhM 人を嘘つき呼ばわりするキチガイを使う前に見直しを勧める
Rustは一人でやる分には良いけど、こういう奴とは絶対組みたくない、stdしか見えないアホ、ドアホォ
std::collectionsにないコレクションを使いたければ自分で実装するかgithubなどで拾ってくる必要があるのに、お前の顔見直せよ
Rustは一人でやる分には良いけど、こういう奴とは絶対組みたくない、stdしか見えないアホ、ドアホォ
std::collectionsにないコレクションを使いたければ自分で実装するかgithubなどで拾ってくる必要があるのに、お前の顔見直せよ
457デフォルトの名無しさん
2022/07/25(月) 17:57:22.48ID:eESAVdRW458デフォルトの名無しさん
2022/07/25(月) 18:18:18.06ID:qMC/1j9+459デフォルトの名無しさん
2022/07/25(月) 18:57:52.01ID:xyOpOgqp Python代替を狙いたいなら、脳死スニペットコピペで、
Excelファイルが編集できて便利ね。くらいを目指さないと無理じね?
Excelファイルが編集できて便利ね。くらいを目指さないと無理じね?
460デフォルトの名無しさん
2022/07/25(月) 19:33:13.71ID:GF1rw+EH 自分で使わないならダメじゃん?
Rc。
Rc。
461デフォルトの名無しさん
2022/07/25(月) 19:37:10.91ID:GF1rw+EH だいたい、Haskell全然流行っていないじゃんか。
世界のすべてがHaskellに代わるんじゃなかったのかよ?
Rustが流行るとか言われてももう信じられんわ。
D言語だって全然流行らなかったし。
世界のすべてがHaskellに代わるんじゃなかったのかよ?
Rustが流行るとか言われてももう信じられんわ。
D言語だって全然流行らなかったし。
462デフォルトの名無しさん
2022/07/25(月) 19:48:55.75ID:GF1rw+EH 結局一番使える凄いやつはExcel VBAだと思うね。
一番役に立つじゃん。
一番役に立つじゃん。
463デフォルトの名無しさん
2022/07/25(月) 19:54:28.52ID:8fqJaMrc >>460
RcをRust標準ライブラリや多くの外部ライブラリが使っていない理由は、Rcがダメだからではなく、
Rcが対象とするシングルスレッド環境においては、所有者が複数となることがない、もしくは、避けられることが多いため。
使わなくてよい時は使わず、どうしてもRcを使う必要がある時のみ使う、という当たり前の行動の結果。
RcをRust標準ライブラリや多くの外部ライブラリが使っていない理由は、Rcがダメだからではなく、
Rcが対象とするシングルスレッド環境においては、所有者が複数となることがない、もしくは、避けられることが多いため。
使わなくてよい時は使わず、どうしてもRcを使う必要がある時のみ使う、という当たり前の行動の結果。
464デフォルトの名無しさん
2022/07/25(月) 19:55:45.54ID:GF1rw+EH 言い訳は要らないんだよ。
465デフォルトの名無しさん
2022/07/25(月) 19:56:57.83ID:GF1rw+EH RustよりGoのほうが速いじゃん。
466デフォルトの名無しさん
2022/07/25(月) 20:00:32.25ID:GF1rw+EH こんな遅いんだったらRustなんか使うんじゃなかったってみんな言ってるわ。
467デフォルトの名無しさん
2022/07/25(月) 20:06:54.34ID:AMmqdU+/ >>466
RustはC++よりも速い結果が出ることも多い中で何を言ってるんだ??
RustはC++よりも速い結果が出ることも多い中で何を言ってるんだ??
468デフォルトの名無しさん
2022/07/25(月) 20:08:53.16ID:cWo2MzNn >>449
延々と変なことを書いてるなとしか
延々と変なことを書いてるなとしか
469デフォルトの名無しさん
2022/07/25(月) 20:16:00.56ID:GF1rw+EH RustはHaskellの後継言語では?
口だけ番長みたいな。
口だけ番長みたいな。
470デフォルトの名無しさん
2022/07/25(月) 20:18:22.01ID:qMC/1j9+ 速い遅いは1bit的な100パーセントの保証ができないからね
逆に、変数の型を全く書かない、ゼロを保証するPythonのようなものは誠実な印象になる
逆に、変数の型を全く書かない、ゼロを保証するPythonのようなものは誠実な印象になる
471デフォルトの名無しさん
2022/07/25(月) 20:29:29.58ID:n2SYQgGe >>455
それ測定方法がおかしい
解いていないとはいえ、grepが一番速くて、次にwcが速くて、それらはC言語で書いたものより速くなっている
解いているシェルスクリプトですら1.83秒しかかかっておらず、Rubyの最適化版に至ってはシェルスクリプトより遅い結果となっている
最適化版のコードも一人が提供しただけであり、これでは意味がなかろう
その程度の課題でプログラミング言語間の時間比較に意味あるのか?
それ測定方法がおかしい
解いていないとはいえ、grepが一番速くて、次にwcが速くて、それらはC言語で書いたものより速くなっている
解いているシェルスクリプトですら1.83秒しかかかっておらず、Rubyの最適化版に至ってはシェルスクリプトより遅い結果となっている
最適化版のコードも一人が提供しただけであり、これでは意味がなかろう
その程度の課題でプログラミング言語間の時間比較に意味あるのか?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国国連大使「日本が中国に武力行使すると脅しをかけたのは初めて」 国連事務総長に書簡★5 [♪♪♪★]
- 【芸能】44歳・池脇千鶴、激変ぶりにネット衝撃 「まるで別人…」「変化が凄い!!」の声 [冬月記者★]
- 【🐼】パンダ、日本で会えなくなる? 中国との関係悪化で不安の声 ★2 [ぐれ★]
- 高市首相告白「『なめられない服』を選ぶことに数時間を費やしました」「外交交渉でマウント取れる服、買わなくてはいかんかもなぁ」★4 [ぐれ★]
- なぜ立花孝志氏の言葉は信じられたのか…"異例の逮捕"が浮き彫りにした「SNSの危険な病理」 [ぐれ★]
- 竹中平蔵氏、万博は大成功だったと持論 批判していた人々にチクリ「反省の弁の一つも聞きたい」 [バイト歴50年★]
- 【悲報】加藤純一さんのイナイレ、義務すぎてコメ欄が若干荒れてしまうWWWWWWWWWWWWWWWWWWWWWW
- (´-ω-)
- 俺「レジ袋気持ち多めで」店員「有料になります」俺「無料の奴」店員「有料です…」俺「生理用ナプキン入れる奴無料だろ」
- おーいもう朝だぞー太陽出る時間だぞー
- 近所のスーパーで新米が全く売れてなくてワロタ。このままだと虫が湧きそうwww
- 愛国者「日本に手を出したらアメリカが黙ってないぞ?」 [834922174]
