スレタイ以外の言語もok
前スレ
次世代言語22 Go Nim Rust Swift Kotlin TypeScript
https://mevius.5ch.net/test/read.cgi/tech/1629590343/
探検
次世代言語23 Go Nim Rust Swift Kotlin TypeScript
■ このスレッドは過去ログ倉庫に格納されています
2021/11/28(日) 16:59:19.16ID:gZqbEyz/
337デフォルトの名無しさん
2022/02/26(土) 21:23:24.03ID:rDEoBrRU 他の言語はパフォーマンスの改善とタイミングバグの対応に10倍かかんのよ
338デフォルトの名無しさん
2022/02/26(土) 22:44:30.76ID:fRC8OZTs うそばかりだな
339デフォルトの名無しさん
2022/02/27(日) 13:41:36.31ID:+/7Q5xyF 他の言語で1%ぐらいで発生するバグがrustでは発生しにくいように書ける
でもアホだとそもそもそこまでコードが書けないで放り投げる
コードはバグ込みでも動くものが完成しなければいけないと思うけどRustはそこまで到達しにくいかしないか
同じコードでも3倍ぐらいコーディング時間がかかる
でもアホだとそもそもそこまでコードが書けないで放り投げる
コードはバグ込みでも動くものが完成しなければいけないと思うけどRustはそこまで到達しにくいかしないか
同じコードでも3倍ぐらいコーディング時間がかかる
340デフォルトの名無しさん
2022/02/27(日) 14:50:22.24ID:Xl3wWN+O 色んなプログラミングをやってきたがRustが一番プログラミングしやすい
色々と言語仕様が洗練されていて書きやすいことが大きい
それに加えて開発効率が非常に高いことが挙げられる
特に実行しながらのデバッグが激減した
色々と言語仕様が洗練されていて書きやすいことが大きい
それに加えて開発効率が非常に高いことが挙げられる
特に実行しながらのデバッグが激減した
341デフォルトの名無しさん
2022/02/27(日) 16:00:43.26ID:XKAHB4uk >>339
これ
これ
342デフォルトの名無しさん
2022/02/27(日) 16:26:56.85ID:/IzO/XXN rustではブロックも式だから、インデントは向かないだろう?
343デフォルトの名無しさん
2022/02/27(日) 17:46:13.38ID:+/7Q5xyF c++で書いたコードをRustで書き直してると叫びたくなるがしゃあない
344デフォルトの名無しさん
2022/02/27(日) 18:10:09.84ID:nXG/aSfD 静的型付け言語の中だとRustが最も書きやすいかな
特に強力なおかげでデバッグなどでもロジック本体に集中できる点がいいかな
この点は異論があまり聞かれないよね
特に強力なおかげでデバッグなどでもロジック本体に集中できる点がいいかな
この点は異論があまり聞かれないよね
345デフォルトの名無しさん
2022/02/27(日) 18:12:31.33ID:+yReYAPt >>343
どうして?ライブラリがないから?
どうして?ライブラリがないから?
346デフォルトの名無しさん
2022/02/27(日) 18:31:50.94ID:Dwcd+ECL クラス指向じゃないから抽象化の設計が変わってくる
347デフォルトの名無しさん
2022/02/27(日) 18:54:50.37ID:+/7Q5xyF ロジック本体に集中できると書いてる人はjavaかC#あたりでも使っていたら良かったんじゃないかと
348デフォルトの名無しさん
2022/02/27(日) 19:00:54.33ID:gYJlUrmm rustが書きやすい理由は関数シグネチャの情報量が多いこともあると思う
関数の型定義を見るだけでパラメーターや戻り値の値域や、所有権の移動有無が明確に分かるのは大きなメリットかと
関数の型定義を見るだけでパラメーターや戻り値の値域や、所有権の移動有無が明確に分かるのは大きなメリットかと
349デフォルトの名無しさん
2022/02/27(日) 19:02:15.12ID:gYJlUrmm あと関数に渡したオブジェクトの変更可能性の有無が分かるのも良い点 (これはC++などでも分かるが)
350デフォルトの名無しさん
2022/02/27(日) 19:10:22.84ID:+yReYAPt 機械的にやってないからってだけだよね
そりゃ自分でRustっぽく書き直しちゃってたら時間かかるのは仕方ない
そりゃ自分でRustっぽく書き直しちゃってたら時間かかるのは仕方ない
351デフォルトの名無しさん
2022/02/27(日) 19:34:13.88ID:+/7Q5xyF とにかくRustが好きでただ褒めたいだけみたいなレスばかり
352デフォルトの名無しさん
2022/02/27(日) 20:07:19.60ID:Sp3cjlMa Rustは割と学習コストが高いぐらいが欠点らしい欠点
353デフォルトの名無しさん
2022/02/27(日) 20:16:19.32ID:VdMMR1Xg C++やってるとそんなに学習コストは高くないな
デフォルトでムーブっていうのはムーブ知らない人は苦労すると思うが
デフォルトでムーブっていうのはムーブ知らない人は苦労すると思うが
354デフォルトの名無しさん
2022/02/27(日) 20:45:36.21ID:c+lx/lLr 学習コストが高いっていうのって正直みんなどう感じてるんだろ?
ある意味、RUSTでプログラミングできるっていうのがステータスになってプログラマとしてこういう言語でやっていきたいワクワク感ってのがある。
昨今のPythonのブームは、AIとか自動化とはいいんだけどPython自体は確かに誰でもプログラミングできるかわりに、pythonでプログラミングできるということがなんのステータスにもならない歯がゆさを感じていた。
やっぱりC言語でポイントをマスターしてmalloc/freeとかでメモリ管理をガリガリ書いていて誰でもできるわけではないプログラミングができていた達成感というのを欲していた。
そういう悶々としていた自分にRustがでてきた久しぶりにワクワクしている。
そういうのってない?
ある意味、RUSTでプログラミングできるっていうのがステータスになってプログラマとしてこういう言語でやっていきたいワクワク感ってのがある。
昨今のPythonのブームは、AIとか自動化とはいいんだけどPython自体は確かに誰でもプログラミングできるかわりに、pythonでプログラミングできるということがなんのステータスにもならない歯がゆさを感じていた。
やっぱりC言語でポイントをマスターしてmalloc/freeとかでメモリ管理をガリガリ書いていて誰でもできるわけではないプログラミングができていた達成感というのを欲していた。
そういう悶々としていた自分にRustがでてきた久しぶりにワクワクしている。
そういうのってない?
355デフォルトの名無しさん
2022/02/27(日) 20:48:49.55ID:OAiw6RqC RefCellのborrow_mutとかその辺がマジで難しいと思うよ
なんでこんなことしなきゃならんのかって思う
なんでこんなことしなきゃならんのかって思う
356デフォルトの名無しさん
2022/02/27(日) 20:57:13.39ID:nGlHhzSe C++のヘッダ取り込みの仕組みを改良してくれたら普通に現役で戦えるのに
357デフォルトの名無しさん
2022/02/27(日) 21:10:22.93ID:+/7Q5xyF Rustもコンパイルが遅いな
マクロだからか?
マクロだからか?
358デフォルトの名無しさん
2022/02/27(日) 21:16:17.18ID:TDmI4NY5 >>354
めちゃくちゃわかる
Pythonは便利さで考えると間違いなく個人的一位なんだけど、何らかの別の知識と組み合わせないと価値が生み出せない感じは確かにある。
C書いてる老人からしたら「インタープリターなんてけしからん」って感じで毛嫌いされるし...
純粋にプログラマとして名乗るなら一つはコンパイラ型言語を習得する必要がありそうだ。
めちゃくちゃわかる
Pythonは便利さで考えると間違いなく個人的一位なんだけど、何らかの別の知識と組み合わせないと価値が生み出せない感じは確かにある。
C書いてる老人からしたら「インタープリターなんてけしからん」って感じで毛嫌いされるし...
純粋にプログラマとして名乗るなら一つはコンパイラ型言語を習得する必要がありそうだ。
359デフォルトの名無しさん
2022/02/27(日) 23:07:26.84ID:Kxq1o6ES Pythonはパッケージ管理とか型付いてないライブラリがウザい
360デフォルトの名無しさん
2022/02/27(日) 23:37:07.72ID:4VyCP23o というかCargoはマジで優秀すぎて、他のあらゆる処理系に真似してほしい
361デフォルトの名無しさん
2022/02/27(日) 23:42:37.49ID:OAiw6RqC フロントエンドの人が最近Rust書いてるけど
JSしか書いたことない人が書ける言語じゃないと思うが
JSしか書いたことない人が書ける言語じゃないと思うが
362デフォルトの名無しさん
2022/02/27(日) 23:58:09.11ID:2GGoVw4G JSでちゃんとしたものを書けるスキルがある人にとっては楽勝な気も。
363デフォルトの名無しさん
2022/02/27(日) 23:59:48.77ID:BlJE3fZv プログラム言語に求められるニーズはホント、多様なんだな、と思った。
GoやPythonの様に仕様を簡単にして仕事をサクッと済ませたい人も居れば、「一般人では到達し得ない難易設定に取り組んで他者と差別化したい」という人も居る。
商品開発と同じで皆にドンピシャハマる言語は無いし、それを無理に作ろうとしたら、万人が物足りなさを感じる折衷案になってしまうのだろうな。
と言いつつ、皆にドンピシャハマる言語を模索している自分が居る。
「型設定、メンドクサイ〜」という人はC++で言うautoを使えばいいし、「自動化・縛り無しはバグの元!」という人はintやconstや所有権を追加すれば良い。どちらの書き方でも同じ言語上で動くし、お互いの書き方が気に入らなければ「付け足す・削る」だけで対応できるような、そんな、移植性の高い言語を作りたいものだ。
GoやPythonの様に仕様を簡単にして仕事をサクッと済ませたい人も居れば、「一般人では到達し得ない難易設定に取り組んで他者と差別化したい」という人も居る。
商品開発と同じで皆にドンピシャハマる言語は無いし、それを無理に作ろうとしたら、万人が物足りなさを感じる折衷案になってしまうのだろうな。
と言いつつ、皆にドンピシャハマる言語を模索している自分が居る。
「型設定、メンドクサイ〜」という人はC++で言うautoを使えばいいし、「自動化・縛り無しはバグの元!」という人はintやconstや所有権を追加すれば良い。どちらの書き方でも同じ言語上で動くし、お互いの書き方が気に入らなければ「付け足す・削る」だけで対応できるような、そんな、移植性の高い言語を作りたいものだ。
364デフォルトの名無しさん
2022/02/28(月) 00:28:38.71ID:mRBEkiDP ステータスのためじゃなく楽だから使ってるだけ
365デフォルトの名無しさん
2022/02/28(月) 00:30:29.35ID:fo+smr71366デフォルトの名無しさん
2022/02/28(月) 00:32:24.14ID:fo+smr71 >>357
マクロはほとんど影響ないと思う
小規模のcrateをたくさん組み合わせることが多く、プロジェクトごとにそれぞれコンパイルする必要があるので
単純にコンパイル対象のコード量が多いというのはよく言われている
マクロはほとんど影響ないと思う
小規模のcrateをたくさん組み合わせることが多く、プロジェクトごとにそれぞれコンパイルする必要があるので
単純にコンパイル対象のコード量が多いというのはよく言われている
367デフォルトの名無しさん
2022/02/28(月) 15:08:46.61ID:LoAqeLPd cargoは独善的すぎて好きになれんわ。遅いし。
368デフォルトの名無しさん
2022/02/28(月) 15:19:11.30ID:XoBakguu その通り、cargoを持ち上げてる上げてる奴とは全く仲良くなれそうもない。
cargoが遅くてダメダメ、なんで遅いのかを調べるとRustのトレイトの仕組みに行き着くという罠...
cargoが遅くてダメダメ、なんで遅いのかを調べるとRustのトレイトの仕組みに行き着くという罠...
369デフォルトの名無しさん
2022/02/28(月) 15:37:37.25ID:Msb6WRSo >>365
可変参照を実行時に得たいというrustの事情はわかるのだけど
そもそもコンパイル時に参照解決できないデータ構造はめちゃくちゃ多い
その辺りをもう少し書きやすくならないかなと思う
結局面倒だからunsafeに逃げてしまうのではないかと
まだうまく言語化できずモヤモヤしてるが
可変参照を実行時に得たいというrustの事情はわかるのだけど
そもそもコンパイル時に参照解決できないデータ構造はめちゃくちゃ多い
その辺りをもう少し書きやすくならないかなと思う
結局面倒だからunsafeに逃げてしまうのではないかと
まだうまく言語化できずモヤモヤしてるが
370デフォルトの名無しさん
2022/02/28(月) 15:44:40.05ID:qfzw0yaJ 借用規則を考慮した設計が難しい、ってことかな
371デフォルトの名無しさん
2022/02/28(月) 16:29:36.75ID:ZHtGEnZl Rust以前のコードしか書いたことない人は
借用しっぱなしで平気だからいろいろ困ってしまう
Rc<RefCell<T>>で考えられるようになると
共有所有権をクローンして持っておいて
必要な瞬間のみ動的に借用するって方法を覚える
そうして、時間軸上のスコープとでもいうか借用の瞬間を小さく管理することを覚えるのである
そうして、今まで人類は所有権と借用についていかに無頓着にやり散らかしてきたのかを反省するのである
借用しっぱなしで平気だからいろいろ困ってしまう
Rc<RefCell<T>>で考えられるようになると
共有所有権をクローンして持っておいて
必要な瞬間のみ動的に借用するって方法を覚える
そうして、時間軸上のスコープとでもいうか借用の瞬間を小さく管理することを覚えるのである
そうして、今まで人類は所有権と借用についていかに無頓着にやり散らかしてきたのかを反省するのである
372デフォルトの名無しさん
2022/02/28(月) 16:42:42.62ID:Msb6WRSo >>371
それはわかるんだけど
その代償としてプログラマーが支払わなきゃならない代償がデカすぎると感じる
これはコンパイル時の様々なチェックとは本質的に違う努力で
rustを騙すためにやらなきゃならないバッドノウハウの類であると感じる
それはわかるんだけど
その代償としてプログラマーが支払わなきゃならない代償がデカすぎると感じる
これはコンパイル時の様々なチェックとは本質的に違う努力で
rustを騙すためにやらなきゃならないバッドノウハウの類であると感じる
373デフォルトの名無しさん
2022/02/28(月) 17:21:22.82ID:nTxgkwf4374デフォルトの名無しさん
2022/02/28(月) 17:29:54.30ID:XoBakguu せめてどうにか速くならないかとcargoをRAMDISKにしようとするとCARGO_TARGET_DIR=/tmp/.cargo/...と出来るのは
良いんだけど、コンパイルのためのworkじゃなく、targetディレクトリだから成果物がそこにできてしまうという(笑
速くなるんだけどね。。
良いんだけど、コンパイルのためのworkじゃなく、targetディレクトリだから成果物がそこにできてしまうという(笑
速くなるんだけどね。。
375デフォルトの名無しさん
2022/02/28(月) 18:10:55.65ID:OT3fp0Z5 >>369
はっきり言ってツリー構造とかはunsafeでいいと思うよ
はっきり言ってツリー構造とかはunsafeでいいと思うよ
376デフォルトの名無しさん
2022/02/28(月) 18:11:17.29ID:fo+smr71 >>372-373
それはrustがnot for youという話なのでは
それはrustがnot for youという話なのでは
377デフォルトの名無しさん
2022/02/28(月) 18:13:00.49ID:XSUMuMfa Rust持ち上げてる内容を見ると他の言語でも普通にあるやつが多い
C++しか使ったことがないうぶな人なんじゃないかな
C++しか使ったことがないうぶな人なんじゃないかな
378デフォルトの名無しさん
2022/02/28(月) 18:19:03.53ID:XSUMuMfa 頓珍漢で的外れ
型推論も賢い ← むしろ型推論実装されてて賢くない奴ってどれなんだよ
アトリビュートが言語本体と独立していて ← 当たり前 他でも同じそれが属性
Cargoが良い ← 他より優れているとは思えない
強力な型推論およびトレイト静的実装型宣言により実際の型名を記述する必要がない ← 当たり前 もともとそういうもの
型推論も賢い ← むしろ型推論実装されてて賢くない奴ってどれなんだよ
アトリビュートが言語本体と独立していて ← 当たり前 他でも同じそれが属性
Cargoが良い ← 他より優れているとは思えない
強力な型推論およびトレイト静的実装型宣言により実際の型名を記述する必要がない ← 当たり前 もともとそういうもの
379デフォルトの名無しさん
2022/02/28(月) 18:27:45.82ID:qfzw0yaJ380デフォルトの名無しさん
2022/02/28(月) 18:31:01.98ID:fo+smr71 そもそもrust自体言語機能が優れていることは標榜してない
他のモダンな言語の "当たり前" をシステムプログラミング領域でも実現したというのがポイントでは
他のモダンな言語の "当たり前" をシステムプログラミング領域でも実現したというのがポイントでは
381デフォルトの名無しさん
2022/02/28(月) 18:37:53.82ID:zoHJPzI7 エ、エラーメッセージが親切…
382デフォルトの名無しさん
2022/02/28(月) 19:04:01.39ID:7SSxP2tw383デフォルトの名無しさん
2022/02/28(月) 19:09:23.31ID:qfzw0yaJ せやなあ
あくまでRustの重要なところはオーバーヘッドが少なく比較的安全に、システムプログラミングやベアメタルプログラミングが行える処理系だというところだよね
この特徴だけでも他の言語と大きく差別化されるけど、モダンな型システムも便利だから低レベル以外のレイヤーでも使いたがる人がいる、って感じよね
あくまでRustの重要なところはオーバーヘッドが少なく比較的安全に、システムプログラミングやベアメタルプログラミングが行える処理系だというところだよね
この特徴だけでも他の言語と大きく差別化されるけど、モダンな型システムも便利だから低レベル以外のレイヤーでも使いたがる人がいる、って感じよね
384デフォルトの名無しさん
2022/02/28(月) 19:14:51.86ID:EeqSDih1385デフォルトの名無しさん
2022/02/28(月) 19:23:32.63ID:fo+smr71 381はおちょくりだし383は380と同じことを言っているだけのような
382は自分の主張を繰り返すだけの人
382は自分の主張を繰り返すだけの人
386デフォルトの名無しさん
2022/02/28(月) 19:38:39.03ID:EeqSDih1387デフォルトの名無しさん
2022/02/28(月) 19:46:15.31ID:ZHtGEnZl ムリに関わる必要はないし
誰もそれを強いてはいないぞw
あの言語はC++で苦しんだ連中が手を伸ばすもんだよきっと
誰もそれを強いてはいないぞw
あの言語はC++で苦しんだ連中が手を伸ばすもんだよきっと
388デフォルトの名無しさん
2022/02/28(月) 19:52:14.78ID:pJo2hpV4 うちの場合だけどスクリプト言語からRustにして良かった点
・型を中心とする強力な言語機能による開発効率の大幅上昇
・メモリ省力化と高速化CPU負荷激減によりサーバー/クラウド等リソースとコスト大幅削減
・アプリやシステムなど反応速度も高速になり様々な利用者が快適となった
・型を中心とする強力な言語機能による開発効率の大幅上昇
・メモリ省力化と高速化CPU負荷激減によりサーバー/クラウド等リソースとコスト大幅削減
・アプリやシステムなど反応速度も高速になり様々な利用者が快適となった
389デフォルトの名無しさん
2022/02/28(月) 20:12:49.15ID:EeqSDih1 スクリプト言語から移行出来るような高機能なデファクトのフレームなんてRustにあったっけ・・・
390デフォルトの名無しさん
2022/02/28(月) 20:26:42.23ID:EDlcC+qx I/O待ちが大半なWebアプリじゃなくて
I/O処理やデータ加工が主体な処理なんじゃない?
そういうのでもスクリプト言語で書かれてるケース結構みるし
I/O処理やデータ加工が主体な処理なんじゃない?
そういうのでもスクリプト言語で書かれてるケース結構みるし
391デフォルトの名無しさん
2022/02/28(月) 20:33:18.52ID:EeqSDih1392デフォルトの名無しさん
2022/02/28(月) 21:27:33.71ID:Msb6WRSo 「コンパイル時に参照が決まらないデータ構造に対して解決にはなってない」のがrustのいけてないところ
ここにたどり着いた俺を褒めてくれ
ここにたどり着いた俺を褒めてくれ
393デフォルトの名無しさん
2022/02/28(月) 21:27:36.69ID:fChQ9CLi 過剰アンチも異常者に見えるからやめといたほうがいいぞ
394デフォルトの名無しさん
2022/02/28(月) 22:17:24.10ID:3KbSSRJr395デフォルトの名無しさん
2022/02/28(月) 22:21:48.16ID:nNGdW6Mz CPU セントリックな処理じゃないの?
少数の同じデータを繰り返し使うような、行列処理みたいな
Ruby on Rails みたいな、全ての関数が平均的に呼ばれるようなものは、
どうにもならないでしょ?
例えば、Ruby JIT で、1万個の関数を機械語にコンパイルしても、対して速くならない
手続き中心処理はダメ。
データ駆動型じゃないと、速くならない
少数の同じデータを繰り返し使うような、行列処理みたいな
Ruby on Rails みたいな、全ての関数が平均的に呼ばれるようなものは、
どうにもならないでしょ?
例えば、Ruby JIT で、1万個の関数を機械語にコンパイルしても、対して速くならない
手続き中心処理はダメ。
データ駆動型じゃないと、速くならない
396デフォルトの名無しさん
2022/02/28(月) 22:49:27.28ID:EeqSDih1397デフォルトの名無しさん
2022/02/28(月) 23:22:44.01ID:7SSxP2tw >>389
各自の分野と対象レイヤーがバラバラだろうから一般的な話になるが
開発のできる普通のプログラマーにとってはほとんどの分野でRustが実用的に使えるようになってるな
しかし切り貼りや書き換えや各種設定などだけでやりくりする似非プログラマーにとってはまだ厳しい
各自の分野と対象レイヤーがバラバラだろうから一般的な話になるが
開発のできる普通のプログラマーにとってはほとんどの分野でRustが実用的に使えるようになってるな
しかし切り貼りや書き換えや各種設定などだけでやりくりする似非プログラマーにとってはまだ厳しい
398デフォルトの名無しさん
2022/02/28(月) 23:29:23.70ID:7SSxP2tw >>392
それはRustが最高速を出すために
ジェネリクスを具体的な型に対してコンパイル時に静的にモノモーフィングするからであって利点の一つ
もちろん稀なケースでは動的にディスパッチしたほうが有利なこともあるのでRustは静的と動的のどちらも選べる
それはRustが最高速を出すために
ジェネリクスを具体的な型に対してコンパイル時に静的にモノモーフィングするからであって利点の一つ
もちろん稀なケースでは動的にディスパッチしたほうが有利なこともあるのでRustは静的と動的のどちらも選べる
399デフォルトの名無しさん
2022/02/28(月) 23:58:18.16ID:pJo2hpV4400デフォルトの名無しさん
2022/03/01(火) 00:00:29.40ID:MT73K7Vw >>399
はい、嘘乙w
はい、嘘乙w
401デフォルトの名無しさん
2022/03/01(火) 00:02:10.33ID:MT73K7Vw402デフォルトの名無しさん
2022/03/01(火) 00:35:18.37ID:I7tVqKwp403デフォルトの名無しさん
2022/03/01(火) 06:36:40.86ID:kkFVnbRG ポインタ繋ぎ変えるのはRustでは面倒です←まあわかる
ポインタ繋ぎ変えるのはバッドプラクティスなのでアリーナ使って富豪みたいなメモリの使い方しましょう← ?????w??!???????????????????w
ポインタ繋ぎ変えるのはバッドプラクティスなのでアリーナ使って富豪みたいなメモリの使い方しましょう← ?????w??!???????????????????w
404デフォルトの名無しさん
2022/03/01(火) 18:23:47.64ID:I7tVqKwp >>403
いや何でもかんでもArena使えってことではないよ
Arenaは処理の間、メモリの解放が起こらずに解放する時はまとめて解放するようなデータ構造で使うものだよ
rustのソース読んでたらAST作る部分で使ってた
ASTはまさにそのような部品
rustのソースは学びが多すぎる
いや何でもかんでもArena使えってことではないよ
Arenaは処理の間、メモリの解放が起こらずに解放する時はまとめて解放するようなデータ構造で使うものだよ
rustのソース読んでたらAST作る部分で使ってた
ASTはまさにそのような部品
rustのソースは学びが多すぎる
405デフォルトの名無しさん
2022/03/01(火) 18:27:16.34ID:wlQMHsd9 arenaって富豪的なの?
最近のmalloc実装はarena使ってるからそれも富豪的ってこと?
最近のmalloc実装はarena使ってるからそれも富豪的ってこと?
406デフォルトの名無しさん
2022/03/01(火) 18:36:51.05ID:I7tVqKwp407デフォルトの名無しさん
2022/03/01(火) 19:11:45.23ID:wlQMHsd9 >>406
なんでslab allocatorが関係してるの?
なんでslab allocatorが関係してるの?
408デフォルトの名無しさん
2022/03/01(火) 19:31:58.30ID:kkFVnbRG >>404
ASTみたいな構造+途中で解放する必要があるって時の解がRustにないので、オレオレ実装をプロジェクトごとに入れるか、アリーナを何度も作っては捨ててを繰り返しながら世代型GCもどきを作るかするしかなくない?
これは事実上なんでもアリーナでやるってことになると思うけど
ASTみたいな構造+途中で解放する必要があるって時の解がRustにないので、オレオレ実装をプロジェクトごとに入れるか、アリーナを何度も作っては捨ててを繰り返しながら世代型GCもどきを作るかするしかなくない?
これは事実上なんでもアリーナでやるってことになると思うけど
409デフォルトの名無しさん
2022/03/01(火) 20:13:49.20ID:lFABJG9J 強力な静的型付けと言うのは普通のプログラム言語は当たり前でスクリプト崩れがそうでないだけだと思うけどなあ…
410デフォルトの名無しさん
2022/03/01(火) 20:26:25.79ID:wYBPD4DC >>408
そういうのはまさにRefCellを使うしかない
arenaはあくまで処理の間は絶対に解放されないデータ構造をまとめて確保するために使う
例えばASTだったりネットワークグラフだったりね
こういうメモリの使い方のセンスってGC言語が当たり前になったせいで完全に失われた技術って感じがする
そういうのはまさにRefCellを使うしかない
arenaはあくまで処理の間は絶対に解放されないデータ構造をまとめて確保するために使う
例えばASTだったりネットワークグラフだったりね
こういうメモリの使い方のセンスってGC言語が当たり前になったせいで完全に失われた技術って感じがする
411デフォルトの名無しさん
2022/03/01(火) 20:34:17.98ID:KSXXo2gm >>409
静的型付き言語の中でも代数的データ型や型制約のような型の表現力の違いというのはあると思うよ
静的型付き言語の中でも代数的データ型や型制約のような型の表現力の違いというのはあると思うよ
412デフォルトの名無しさん
2022/03/01(火) 20:36:04.73ID:wYBPD4DC >>408
ちなみにarenaみたいな仕組みを実はV8は実装している
HandleScopeという仕組み
これはHandleScopeが生きている間はメモリが解放されないが
HandleScopeが死ぬタイミングで全てのローカル変数のメモリが解放される
ちなみにarenaみたいな仕組みを実はV8は実装している
HandleScopeという仕組み
これはHandleScopeが生きている間はメモリが解放されないが
HandleScopeが死ぬタイミングで全てのローカル変数のメモリが解放される
413デフォルトの名無しさん
2022/03/01(火) 20:42:46.97ID:wlQMHsd9414デフォルトの名無しさん
2022/03/01(火) 20:53:08.57ID:VJyX+NRp ObjCのautoreleaseみたいなのが最初からあると楽でたすかる
415デフォルトの名無しさん
2022/03/01(火) 22:06:55.93ID:kkFVnbRG >>410
なるほど……
なるほど……
416デフォルトの名無しさん
2022/03/01(火) 22:31:05.05ID:kkFVnbRG いやRefCellはしんどいって
やっぱgcpointer復活して欲しい
やっぱgcpointer復活して欲しい
417デフォルトの名無しさん
2022/03/01(火) 23:43:07.40ID:cUOzOJ3p RefCellなんてたまにしか使わないものだし使うときも困るようなものじゃないぜ
おそらくRustのアンチが不利っぽく見えるところを取り上げようとしてるんだろうけとさ
おそらくRustのアンチが不利っぽく見えるところを取り上げようとしてるんだろうけとさ
418デフォルトの名無しさん
2022/03/01(火) 23:52:21.58ID:X64WHIwe そりゃテキトーなスクリプトで済むようなコードばっかなら使わんだろうね
419デフォルトの名無しさん
2022/03/01(火) 23:55:04.65ID:pLY9i2hK 分野にも依るんだろうけどWeb関係やってるとRefCellの出現は超レア
ライブラリの方のソースも全て見たけど
RustのHTTPデファクトスタンダードのhyperで1ヶ所だけ出現
その上のレイヤーのライブラリ群ではゼロ、HTTPS扱うhyper-tlsでもゼロ
ライブラリの方のソースも全て見たけど
RustのHTTPデファクトスタンダードのhyperで1ヶ所だけ出現
その上のレイヤーのライブラリ群ではゼロ、HTTPS扱うhyper-tlsでもゼロ
420デフォルトの名無しさん
2022/03/02(水) 00:44:16.33ID:2MKUvw25 Webだとメモリ上に状態を永続的に保つ必要はないからrust向きだよね
所有権を渡していくことで自然と安全なプログラムが書ける
永続情報はデータベースかmemcacheみたいなkvstoreに入れるし
所有権を渡していくことで自然と安全なプログラムが書ける
永続情報はデータベースかmemcacheみたいなkvstoreに入れるし
421デフォルトの名無しさん
2022/03/02(水) 01:01:39.91ID:uPKvDIET422デフォルトの名無しさん
2022/03/02(水) 01:27:42.89ID:vZCB5GJW423デフォルトの名無しさん
2022/03/02(水) 02:27:42.01ID:/7glPJ4X 循環参照が必要な時にやれることが「プログラマが注意して管理しましょう」しかないのキツくない?
424デフォルトの名無しさん
2022/03/02(水) 03:42:27.38ID:S8+3WyDZ >>423
現実に色んな分野でプログラミングするとわかるが循環参照なんてほとんどの分野で出てこないか回避できる
なぜなら現実の様々なシステムからアプリまで全てにおいて出てくるデータ構造は何らかの視点で見ると木構造になっているからである
だから非現実的な机上の空論で悩む必要はない
現実に色んな分野でプログラミングするとわかるが循環参照なんてほとんどの分野で出てこないか回避できる
なぜなら現実の様々なシステムからアプリまで全てにおいて出てくるデータ構造は何らかの視点で見ると木構造になっているからである
だから非現実的な机上の空論で悩む必要はない
425デフォルトの名無しさん
2022/03/02(水) 03:44:23.51ID:re9dUtRi グラフとか木構造になるの?
426デフォルトの名無しさん
2022/03/02(水) 03:47:03.10ID:/7glPJ4X 世界が狭い人に非現実って言われちゃった
427デフォルトの名無しさん
2022/03/02(水) 03:52:48.36ID:/7glPJ4X > なぜなら現実の様々なシステムからアプリまで全てにおいて出てくるデータ構造は何らかの視点で見ると木構造になっているからである
これが真ならベルマンフォードとか使うケースはどうなるんだ
まあ無理筋に頑張って木と同一視するのかもしらんが
これが真ならベルマンフォードとか使うケースはどうなるんだ
まあ無理筋に頑張って木と同一視するのかもしらんが
428デフォルトの名無しさん
2022/03/02(水) 03:58:19.90ID:S8+3WyDZ429デフォルトの名無しさん
2022/03/02(水) 04:07:57.82ID:S8+3WyDZ430デフォルトの名無しさん
2022/03/02(水) 04:21:43.92ID:3w84ACsj よくわかっていないけど
鉄道の路線図とか簡単にループするけど
どうするの?
鉄道の路線図とか簡単にループするけど
どうするの?
431デフォルトの名無しさん
2022/03/02(水) 04:23:18.48ID:re9dUtRi >>428
質問してるのはこっちなんだがwwww
質問してるのはこっちなんだがwwww
432デフォルトの名無しさん
2022/03/02(水) 04:38:01.52ID:S8+3WyDZ >>430
プログラミングでそういうのを扱うときに
駅の個数だけ駅ノードオブジェクトをメモリ確保して路線毎に隣接駅をポインタ(参照)で指し合う、なんてことはしない
それだと何かするたびにポインタを何度も辿りまくって遅いし
そのポインタで指し合う構造をデータベースに格納するのも大変
現実にはどう扱われているかというと
データの配列として持ってそのインデックス等で他を指す
つまりポインタ(参照)は出てこない
配列とインデックスの方が扱いやすいし、メモリアクセスも速いし、ファイルやデータベースに格納するのも容易
>>431
現実に必要となることが無いか、代替手段があるか、となり、
残る超レアケースがあるなら出してごらん
プログラミングでそういうのを扱うときに
駅の個数だけ駅ノードオブジェクトをメモリ確保して路線毎に隣接駅をポインタ(参照)で指し合う、なんてことはしない
それだと何かするたびにポインタを何度も辿りまくって遅いし
そのポインタで指し合う構造をデータベースに格納するのも大変
現実にはどう扱われているかというと
データの配列として持ってそのインデックス等で他を指す
つまりポインタ(参照)は出てこない
配列とインデックスの方が扱いやすいし、メモリアクセスも速いし、ファイルやデータベースに格納するのも容易
>>431
現実に必要となることが無いか、代替手段があるか、となり、
残る超レアケースがあるなら出してごらん
433デフォルトの名無しさん
2022/03/02(水) 04:43:14.42ID:re9dUtRi434デフォルトの名無しさん
2022/03/02(水) 04:55:17.69ID:S8+3WyDZ >>433
現実の様々なシステムからアプリまで全てにおいて出てくるデータ構造ならば
何らかの視点で見ると木構造になっている
もちろんその一番簡素なパターンである配列構造を含めてね
今のところ誰も反例を出せていない
もしあるとしても超レアケースなのだろう
現実の様々なシステムからアプリまで全てにおいて出てくるデータ構造ならば
何らかの視点で見ると木構造になっている
もちろんその一番簡素なパターンである配列構造を含めてね
今のところ誰も反例を出せていない
もしあるとしても超レアケースなのだろう
435デフォルトの名無しさん
2022/03/02(水) 04:57:49.96ID:re9dUtRi >>434
グラフとか木構造になるの?
グラフとか木構造になるの?
436デフォルトの名無しさん
2022/03/02(水) 05:01:58.37ID:S8+3WyDZ437デフォルトの名無しさん
2022/03/02(水) 05:06:59.01ID:re9dUtRi■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「日本はパンダがいなくなる状況に直面するだろう」 中国メディア、専門家の見方伝える [♪♪♪★]
- ネット殺到「高市総理の責任」「完全に高市リスク」「負けるな」中国が水産物輸入停止→流石に総理批判の声も「どう責任取る?」 ★11 [樽悶★]
- 止まらぬ「日本売り」 高市財政への懸念で進む金利上昇と円安 ★2 [蚤の市★]
- ネット殺到「高市総理の責任」「完全に高市リスク」「負けるな」中国が水産物輸入停止→流石に総理批判の声も「どう責任取る?」 ★12 [樽悶★]
- 【無言】中国怒らせた高市首相→1週間だんまり、国民に実害も説明なし 中国問題を避けてスルー… ★5 [BFU★]
- 外国人の犯罪率は日本人の1.72倍 警察庁が短期滞在者除いた数字を参院内閣委で答弁★2 [七波羅探題★]
- 🏡
- 【高市悲報】大暴落 [115996789]
- 【速報】東京から人が消える [329329848]
- 【悲報】無能ぼく、仕事では「どうやったら楽できるか」を最優先に考えてしまうwwwwww
- 友達がお前らの事をさ…
- 【画像】おじさん起きる、そして鹿と会う
