結局C++とRustってどっちが良いの? 6traits

レス数が1000を超えています。これ以上書き込みはできません。
1デフォルトの名無しさん
垢版 |
2023/07/29(土) 15:05:46.55ID:2Hm/yplK
C++の色々配慮してめんどくさい感じは好きだけど、実務になったらメモリ安全性とか考えて今後Rustに変わっていくんかな」
「うだうだ言ってないで仕事で必要なのをやればいいんだよ、趣味なら好きなのやればいい」

っていう雑談スレ。

前スレ 
https://itest.5ch.net/mevius/test/read.cgi/tech/1688129795

関連スレ(マ板): Google&MS「バグの70%はC/C++。Rustにする」
https://medaka.5ch.n...cgi/prog/1619943288/
2デフォルトの名無しさん
垢版 |
2023/07/29(土) 15:09:04.43ID:2Hm/yplK
Rustはライフタイムの管理がムズいな。上手くいくかなと思っても結構コンパイルエラーが起こる。これは自分がライフタイムを正確に理解してないだけ?
2023/07/29(土) 15:12:09.86ID:nTghkNr5
>>1
関連スレ(マ板): Google&Microsoft「セキュリティバグの70%はC/C++のメモリ管理ミス。Rustにする」
https://medaka.5ch.net/test/read.cgi/prog/1619943288/
2023/07/29(土) 15:14:14.57ID:nTghkNr5
クラウド世界トップシェアのAWSもRustで構築されているらしい

https://japan.zdnet.com/article/35183866/
AWS (Amazon Web Services)は、「Rust」を使っている大きな理由として、エネルギー効率の高さを挙げる。
AWSは早くからRustを採用し、Rust Foundationの創設にも携わった。
現在もRustの普及に熱心に取り組んでいる。

AWSのソフトウェアエンジニアで、Rustの普及に取り組む
Shane Miller氏と主任エンジニアのCarl Lerche氏の投稿によれば、
Rustはメモリー安全性を高め、セキュリティ関連の不具合を減らす役に立つだけでなく「エネルギー効率に優れている」。
Amazonは、2025年までにデータセンターの100%を再生エネルギーでまかなうという目標を掲げ、
データセンターの環境負荷の軽減に取り組んでいる。
Rustの採用はその一翼を担うという。

Rustで構築されたAWSサービスの例としては、
コンテナーアプリ用のサーバーレスプラットフォーム「Lamba」を支える「Firecracker」、
「Amazon Simple Storage Service(S3)」、
「Amazon Elastic Compute Cloud(EC2)」、
コンテンツ配信ネットワーク「Amazon CloudFront」、
LinuxベースのコンテナーOS「Bottlerocket」などがある。
2023/07/29(土) 15:41:05.71ID:huwazm+x
もう決着ついたじゃん
2023/07/29(土) 16:23:31.04ID:SDRO8Mha
=== 複製おじさん(通称複おじ)について ===
Rustスレを中心に活動し、2023年4月現在で1年以上ム板に住み着くRustacean。無自覚な荒らし。

Rustスレでは、基本的に他住民の意見を聞いて糧とすることなく、自らのコードが最善であると、ID変更自演を交えいつまでも主張し続ける。
同スレで「所有権が複製される」という違和感のある表現を、「違和感がある」とする他住民の意見をすべて否定してしつこく擁護し続けたことから、「複製おじさん」というあだ名が付けられた。
それ以外のム板スレでは、基本的に他住民の意見を聞いて糧とすることなく、Rustこそが最善であると、ID変更自演を交えいつまでも主張し続ける。
その基本戦術は、「GC言語は遅い」の一声でC/C++/Rust以外の言語を否定し、残ったC/C++は安全ではないので、Rustが最善であるとするもの。

しかしながら、Rust以外の言語に関しては、正当な批判を展開するのに十分な知識を持っているとは言いがたい。
本スレPart1では、C++の問題点を指摘しようとして多数の誤り・知識不足を露呈することとなった。特にしつこく食い下がったのが「動的ディスパッチ」に関する誤解である。
https://mevius.5ch.net/test/read.cgi/tech/1677286186/786-799(ID:Evbafc70とID:RiLc+pIfが複製おじさんであると考えられている)
要約すると、通常「条件分岐」と呼ばれるものを「動的ディスパッチ」と呼ぶのが正しいと主張し続けたのである。
常識的にはあり得ない誤解だが、提示されたC++のコードが自らの主張(C++にはパターンマッチが無い)に不都合であると感じたためか、C++のコードを正しく読み解くことができないにもかかわらず脊髄反射的に否定してしまい、その根拠として誤った論理をこじつけてしまったものと思われる。

ちなみにこの後、同種の誤解を持って書き込むID:wHEiYRW7(これはID使用歴的に複製おじさんとは考えにくい)に対して、正しい理解に基づく指摘を行う単発IDが複数出現するが、この中にも複製おじさんが多数含まれていると考えられている。
このように自分の誤りを認識した場合、それを認める書き込みは決して行わず、別人の振りをして最初から正しく理解していた体を装うのも複製おじさんの特徴である。
7デフォルトの名無しさん
垢版 |
2023/07/29(土) 16:55:07.62ID:c1f+so80
>>5
うんうんよかったよね、おめでとう
2023/07/29(土) 17:37:52.03ID:I0+lwIGZ
前スレで、moveいるいらないっぽい話がちょろっと出てたけど、
moveまわりを避けて、実直にポインタでやりとりする書き方してるんだろうな
APIにごく近いところに住んでて、簡潔に書くようにしてたら、おのずとそうなるかと
2023/07/29(土) 19:15:34.26ID:of1FckjJ
C++のtemplateの扱いもガチ勢とコンテナ専で意見が分かれそうだな
マルチパラダイム言語だから仕方ないけど見る人によっては無駄に複雑化してるかもしれない

>>1
亀だけどスレ立て乙です
2023/07/29(土) 21:45:32.91ID:XwXxiU6u
>>9
C++の最大の特徴は後方互換性だよ
拡張された部分が複雑で気に入らなければ
使わなくても良いんだよ
2023/07/29(土) 23:38:06.97ID:I6XWshKt
じゃあ過去のコードを手直しせずに新しいコンパイラでコンパイルできるのかと言えばそうでもない
2023/07/29(土) 23:59:23.36ID:XwXxiU6u
コンパイラのバージョン上げて必要になる修正なんて微々たるもの
あんまりコンパイラのバージョン跨ぐと修正が多くなるけども
追従していけばそれほど大変でもない
例の人には特に苦手な作業だろうw
2023/07/30(日) 03:38:14.45ID:8vbtpK07
Rustを使ってる人は、
何か作りたいものが有って作ってるんじゃなく、
自己アピールや書籍を書いたりするためにしている人が多い。
14デフォルトの名無しさん
垢版 |
2023/07/30(日) 07:07:33.08ID:zpxjufbE
>>964 前スレから
>>>962
>>C++20もconceptとかrequireとか言い出してるから心配しなくていいよ
>最近のC++に問題が多数混入したことは知られているが、
>人気が絶頂だったころのC++はシンプルで分かり易かったぞ。

最近っていつ?
2023/07/30(日) 07:30:46.91ID:O1YJNKqz
C++って、全機能使いこなせないと殴られるんちゃうかみたいな ふいんきあった
仕様書頭に入ってないと発言権ありません的な

まあでもそのくらいの気合はあって悪くない
Rustを前にして、苦手意識のほうを捨てることにしたよ
16デフォルトの名無しさん
垢版 |
2023/07/30(日) 07:30:53.64ID:CCkbn9cO
>>13
私は非同期並列処理を用いた高速な行列演算フレームワークを開発しているところ何ですけど。
17デフォルトの名無しさん
垢版 |
2023/07/30(日) 09:04:44.76ID:azQXcNDB
>>968
メンド臭いな
もっとシンプルにしろ
18デフォルトの名無しさん
垢版 |
2023/07/30(日) 09:08:21.61ID:azQXcNDB
>>977
気持ちは判る
改悪は事実だが元々良かった訳でもないしな
19デフォルトの名無しさん
垢版 |
2023/07/30(日) 09:11:27.27ID:azQXcNDB
>>984
これも判る
std::vectorもstd::listも馬鹿設計
2023/07/30(日) 09:15:05.98ID:UyrP6xJo
あたまのおかしい連続レス
>>1
こんな板違いのクソスレ立てるくらいならワッチョイ付きのまともなRustスレ立てろ
ここは頭のおかしい荒らしを養殖、醸成させるスレになってんだよ
2023/07/30(日) 09:16:12.95ID:azQXcNDB
>>2
むずいというよりメンドくさいだけ
考え方はシンプル
メンドくささを受け入れられない気持ちは判る
2023/07/30(日) 09:20:35.40ID:azQXcNDB
>>20
スレタイを unsafe {} で囲め
2023/07/30(日) 10:20:14.20ID:s4F4miSt
>>22
unsafeがあれば安心安全だよな
2023/07/30(日) 11:29:34.23ID:Phugis3j
>>19
どういった点が? 煽りではなく
2023/07/30(日) 11:31:46.14ID:PxbGsfYc
>>21
関数引数のライフタイム注釈は、まあ、分かるんだけど、
structに対するライフタイム注釈は、色々な書籍を見ても、
厳密な定義が分からなかった。
ちゃんと、数学的な言葉や擬似コードなどで書いて欲しい。
たとえば、注釈Aと注釈Bの積集合が、戻り値のライフタイム
になる、みたいな言葉で書くのが数学的な書き方なんだが、
今のRustの仕様書では、そのような言葉で書かれていないので
精密な定義が分からない。
なので、ちゃんとしたプログラムが出来ない。
2023/07/30(日) 11:32:55.90ID:PxbGsfYc
>>24
気付くかどうかがその人の能力。
具体的にプログラミングして実現する実装能力とは別。
2023/07/30(日) 11:38:08.04ID:wjjxPYUe
Haskellバカも含めて論文だの厳密だの言うくせに誰もRFC2094を読んでいないのはなぜなのか
https://ubnt-intrepid.netlify.app/rfc-2094-ja/
2023/07/30(日) 11:57:11.73ID:zED6HehG
煽ったり荒らしたりして情報を引き出すやり方なんだろう
自己中
29デフォルトの名無しさん
垢版 |
2023/07/30(日) 11:58:14.59ID:Phugis3j
>>26
>気付くかどうかがその人の能力。
「俺は問題が分かっている気づかないお前は能力が低い」では議論にならない
こういう言い回しが散見される
あなたが社会に馴染めない原因
2023/07/30(日) 12:00:32.88ID:Phugis3j
>>25
規格をまとめれば査読されるだろうからマシになる
31デフォルトの名無しさん
垢版 |
2023/07/30(日) 12:09:03.54ID:3Gt2feL7
>>25
君の頭の悪さをRustのせいにするなよな
2023/07/30(日) 13:09:07.24ID:wjjxPYUe
>>20
ワッチョイ付きスレもあるよ
単発自演バカ以外はこんなスレ求めてないから機能停止してるけど
https://mevius.5ch.net/test/read.cgi/tech/1657382429/
2023/07/30(日) 15:31:48.90ID:EsXxjTNc
>>31
なんとでも言え。
俺は現実世界では優秀だと認められてるから。
2023/07/30(日) 16:02:20.57ID:Dx2gCh8i
虚しい人生だったなぁ
2023/07/30(日) 17:28:04.45ID:EsXxjTNc
>>34
おまえはおまえでちゃんとやっているつもりなんだろうが、
おれはおれでちゃんとやっているつもりだ。
Rustを非推奨とするのは、俺の心からの日本や世界への
愛でもある。
俺の考えでは、Rustは人類を良く無い方向に導くから
それを阻止しようと考えている。いわば、聖戦のようなもの。
36デフォルトの名無しさん
垢版 |
2023/07/30(日) 18:04:19.90ID:xwHMDX1r
現実世界でも優秀でないのは文章を見れば一目瞭然
ある一定以上の知性がある人はここまで馬鹿な文章を書かないから
2023/07/30(日) 18:10:24.42ID:EsXxjTNc
>>36
俺は左脳的じゃないからかも。
色々調べてみると、右脳優位らしいし。
38デフォルトの名無しさん
垢版 |
2023/07/30(日) 18:25:30.98ID:cVJ/YlET
脳の言語機能が発達してない人にプログラミングは無理だろ
少なくとも今の技術では
2023/07/30(日) 19:00:04.97ID:v002Bwgv
難化の原因の一つはstatic変数の悪口を言ったこと
だから昔の技術ではプログラミングできた人達も、今の技術では無理になった
2023/07/30(日) 19:38:56.42ID:EsXxjTNc
>>38
でも俺は計算は得意だよ。
2023/07/30(日) 20:15:01.23ID:Lf76jods
>>35
歳はかなり上のはずなのに
時折書く文章は中学生みたい
引きこもりなのかな?
2023/07/30(日) 21:19:18.98ID:BvovDmTI
本当に頭がよければ世界の80億人を愛するとか簡単に言うわけないんだよな
少なくとも世界中に足を運んで交流してからだろ
43デフォルトの名無しさん
垢版 |
2023/07/30(日) 21:27:24.25ID:Phugis3j
歳は若くても45くらい多分50代後半かなと思う
それで>>35の書き込みだよ
社会経験が乏しいだと思う
俺はこの人は高齢引きこもりなんだと思う
何かの事情があったのだろう
2023/07/30(日) 21:31:43.58ID:v002Bwgv
両者とも何か、リスクが低過ぎる物事に対する憎悪を感じる
詐欺よりも未定義の言葉を嫌うのもリスクが低過ぎるからじゃないか
2023/07/31(月) 02:12:09.36ID:7hP7Lhrw
病人の相手を任せるためにも、はやくAIの開発がすすんでほしいわ
2023/07/31(月) 03:49:12.78ID:nT30zTPs
まず、このスレの連中は、いったん素晴らしいと思い込んだ
ものを無批判に受け入れすぎている。そして、英語圏の
批評、批判を全く読んでない。
読んでいればRustの評価は余り高くなくて、意見が
半々くらいに分かれていることがすぐに分かるから。
2023/07/31(月) 07:47:53.35ID:lZja90Kc
OSなんて一つの言語で記述するメリットが大きすぎる
それを上回るよほどの大きなメリットがない限り他の言語を導入することはない

しかしMicrosoftはWindowsでRustを導入しGoogleはAndroidでRustを導入した
C++を邪道な言語として使用を拒否してきたLinuxもRustを導入した
2023/07/31(月) 07:49:34.85ID:OPAJDfNb
2023/07/31(月) 08:31:37.72ID:3Z/Pn9k1
まあmalloc失敗でpanicにならんのならええんやない?
2023/07/31(月) 10:22:06.96ID:8wbRk2dY
>>49
Rust の方でも .unwrap() 禁止するか unsafe {} 必須にして欲しいわ
2023/07/31(月) 10:26:23.87ID:fc/+y7rt
OSではCの支持率100%になってもアセンブラを排除するのは不可能
つまり、数値を抑制するのではなく
数値が上がりすぎるとスカウターみたいに爆発する脆弱性をなくせばいい

安全をどれだけ信奉してもunsafeを排除できないのは良いことだ
52デフォルトの名無しさん
垢版 |
2023/07/31(月) 11:49:57.24ID:ulrQSEBD
>>47
>C++を邪道な言語として使用を拒否してきたLinuxもRustを導入した
$ wget 'https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.4.7.tar.xz'
$ tar xJf linux-6.4.7.tar.xz
$ find linux-6.4.7 -name *.c -o -name *.h | xargs cat | wc -l
32115936
$ find linux-6.4.7 -name *.rs | xargs cat | wc -l
17057
たった0.05%だよ
rsソースの増加速度よりcソース増加速度の方が速いのも前回示した通り

>しかしMicrosoftはWindowsでRustを導入しGoogleはAndroidでRustを導入した
Windowsは前に出回ったスクショにファイルサイズが出てたねw
Andoroidで使われているとか言ってるRustは果たしてどのくらいなのかな?
53デフォルトの名無しさん
垢版 |
2023/07/31(月) 11:54:50.00ID:ulrQSEBD
>>46
ここは北朝鮮じゃないので何を使うかは選択でき自由がある
「無批判に受け入れすぎている」は全く当たらない
2023/07/31(月) 12:41:48.10ID:lZja90Kc
>>49
RustはLinuxなどのおかげで改善された
メモリ確保もエラーを返せるようになった
2023/07/31(月) 13:01:06.05ID:sgBBFIN2
>>52
ぐぐーるもM$も基本ウソツキだシナ
2023/07/31(月) 13:48:39.26ID:fc/+y7rt
行数もいいけど独裁者が何人いるか数えてみろよ
たったの1人しかいないから無力の無能だと言えるなら正直者
だが掌返して1人だからといって無能とは限らないとか言い出せば嘘つきだ
2023/07/31(月) 13:56:25.29ID:SQ3dcTOC
>>56
意味がわからん
日本語も書けなくなったのか?
2023/07/31(月) 13:58:30.69ID:eCR2qI4e
>>57
多分、アメリカ人が書いている。
2023/07/31(月) 14:57:58.99ID:MuwrPG3l
>>52
あの頑固者のLinusが解禁したこと自体が画期的

RustがOKなら、Rust程度のOOPはOKってことで、近い言語が続々参入したりして
そうなると、simple化付きC++ってのも見えてくる
60デフォルトの名無しさん
垢版 |
2023/07/31(月) 15:00:33.59ID:ulrQSEBD
>>59
Rustコンパイラは何を使うの?
2023/07/31(月) 15:05:23.78ID:OPAJDfNb
何かの政治的な理由でRustを仕方なく使ったんじゃね?
2023/07/31(月) 16:30:08.80ID:MuwrPG3l
>>60
知らんまじで 処理系に指定があるかまでは存じ上げず
2023/07/31(月) 18:53:04.02ID:ky4iWRF2
普通にrustc(+llvm)でいいでしょ
知らんけど
2023/07/31(月) 19:29:15.62ID:f18AP/yx
>>63
じゃカーネルのコンパイルは何使うの?
2023/07/31(月) 22:08:37.01ID:+bjI2PCn
カーネルおじさん
2023/07/31(月) 23:55:46.68ID:bJxDuGa3
どいつもこいつもマウントを取る相手に飢えてるんやなあって
2023/08/01(火) 00:02:17.45ID:lcAcDegU
パタリとレスが止まったが
>>59みたいなこと書くのなら>>60とか>>64には答えられんとなぁw
2023/08/01(火) 01:13:33.06ID:enF/Vqu1
カーネルは知らないがrustcでコンパイルしたものとc言語で書かれたものはリンクできて動いてるし何を問題にしているのかわからない
最近はPythonやJavaScriptのライブラリもRustで書かれることが増えている
69デフォルトの名無しさん
垢版 |
2023/08/01(火) 01:42:20.33ID:lcAcDegU
>>68
Linuxカーネルは伝統的にgccでコンパイルされてきた
rustのコードはrustc on llvmでコンパイルされる
そうするとgccが吐いたオブジェクトファイルと
rustc on llvmが吐いたオブジェクトファイルをリンクできるのか?
という疑問が普通に浮かぶ
[解法1] できるのなら何も問題ない
[解法2] できないのならカーネルをclang on llvmでビルドすればリンクできるだろう
最近はclang on llvmでカーネルをビルドすることもあるみたいで
検索するとAndroidはclangらしい
[解法3] あるいはgccrsでrustコードをコンパイルすればgccのコードとリンクできるだろう
さて始まったらしい(しかし何もリリースされていないw)カーネルでRustの利用方法は
1なのか2なのか3なのか? あるいは別の方法かな?
2023/08/01(火) 01:44:23.88ID:lcAcDegU
>>59みたいなこと書くのなら答えられんとなぁw
2023/08/01(火) 01:47:19.20ID:lcAcDegU
WindowsでRustの利用が始まっているらしいが
MSはllvm使うのかね? Visual Rustかね?
2023/08/01(火) 02:10:15.58ID:enF/Vqu1
>>69
何を問題にしているのかさっぱりわからん
gccもclangも同じELF形式のオブジェクトファイルを吐くだけだぞ
共有ライブラリなども当然同じものが使われている
コンパイラ毎に別々の形式を吐いて共有ライブラリなども別々に用意されていると勘違いしている??
73デフォルトの名無しさん
垢版 |
2023/08/01(火) 02:15:20.41ID:8wU+ches
rustのコードはrustc on llvmでコンパイルされる
そうするとgccが吐いたオブジェクトファイルと
rustc on llvmが吐いたオブジェクトファイルをリンクできるのか?

あほすぎわろす
74デフォルトの名無しさん
垢版 |
2023/08/01(火) 02:28:22.85ID:lcAcDegU
>>72,73
じゃ1で良いのかな?
2023/08/01(火) 02:44:40.50ID:enF/Vqu1
そもそもRustは全く関係なくC言語だけを使う世界でも同じ話
コンパイラを変えてもリンクする既存ライブラリは同じものを指定して同じものをリンクするだろ
それを知らないとはエアプログラマーかね?
2023/08/01(火) 02:46:40.94ID:rdOaCXEZ
まずrustcがllvmでコード生成してることを知ってるかどうか確認する必要があるな
rustc on llvmという表現に若干の不安を感じる

もしかしたらllvmを知ってるかどうかの確認も必要かもしれない
2023/08/01(火) 03:08:01.35ID:lcAcDegU
>>75,76
じゃ1で良いのかな?
つまりカーネルはgccでビルドして
Rustで書かれたカーネルモジュールは(まだないけどもw)
rustcでコンパイルするのかな?
78デフォルトの名無しさん
垢版 |
2023/08/01(火) 03:19:00.62ID:y4WjFr+T
coff とか omf とか elf とか面倒だよなω
D は沈没したしωωω
7959
垢版 |
2023/08/01(火) 06:25:09.53ID:1HHpj/ls
夏風邪で寝込んでた 隠れ新型コロナかもしれん ちなマスクはしてる

俺はC++派だし、どうしてるんかまで知らんって
Rust部のツールチェーンのバージョンを指定してるんじゃないか
見に行く元気はない まだだりぃ

Rustの努力にはライバルながら賛辞を贈る
Rustの成功をC++に取り込むべきだと思ってるからね
2023/08/01(火) 10:31:09.40ID:1HHpj/ls
ぐぐったらこれがあったので貼る
https://docs.kernel.org/rust/quick-start.html

引き続き、精読する元気はない(w
81デフォルトの名無しさん
垢版 |
2023/08/01(火) 10:39:09.49ID:lcAcDegU
>>80
>>69の解法2だね

>>72,73,75,76
何で解法1じゃないの?
何でvery experimentalなの?
2023/08/01(火) 11:29:23.00ID:a8DQwFPL
Rustに詳しい人しか答えられないような内容を
ここに書くべきじゃない。
Rust専門スレがあるのに、何故そこに書かないか。
2023/08/01(火) 11:32:16.29ID:AvEKEx5a
昔はコンパイラとリンカは別物でコンパイラはposix標準のライブラリファイルを出すのが仕事でその後各言語が吐き出したライブラリファイルをリンカでくっつけてた
しかし今はコンパイラがリンクまでやってるのでこの“別言語間のリンク”がどうなんとなってるけど、流石にコンパイル後リンク前のライブラリファイル形式もその形式のファイルをはくオプションも残ってるやろ
84デフォルトの名無しさん
垢版 |
2023/08/01(火) 11:34:34.48ID:lcAcDegU
>>82
>Rustに詳しい人しか答えられないような内容を
>ここに書くべきじゃない。
何やそれw

自分が詳しくないこと分からないことについては
ここに限らず(5chにも限らず)書くべきじゃない
2023/08/01(火) 11:53:54.57ID:1HHpj/ls
かたいこというなや
「しらんけど」って付けときゃいいんだよ
しらんけど

まあ、bfd/binutilみたいのができて久しいし、
そのへんに準拠してれば、リンクはできるよ
(最近のことは)しらんけどw
2023/08/01(火) 12:12:45.73ID:1HHpj/ls
calling convention は、今後もなんとか突き合わせてもらうとして。
だいぶ前に書いたのは、RustにはRustのname manglingがあって、C/C++がそれに合わせられないかってこと

それができれば、所有権情報付きの型に対応できることになるから、
C/C++も一気に所有権まわりを獲得できるってことになる
2023/08/01(火) 12:53:01.64ID:f+qzMJki
>>84
Rust専用スレがある。
そっちの住人にこっちは隔離スレとされた。
隔離されて無いはずのスレに戻れよ。
そっちの方が多いはずなんだろ、Rust信者の脳内では。
2023/08/01(火) 15:10:07.83ID:lcAcDegU
>>87
文章は丁寧に(自戒も込めて)
89デフォルトの名無しさん
垢版 |
2023/08/01(火) 15:34:55.86ID:vjzMKnjk
>>88
ウザい
90デフォルトの名無しさん
垢版 |
2023/08/01(火) 15:45:28.88ID:lcAcDegU
戻れも何も俺はそもそもRustユーザではないので
「Rust専用スレ」なるものを開いたことはない
ここには議論をしに来たのであってウザいと言われれば
反論できないのだなぁwとしか思わん
2023/08/01(火) 15:48:14.84ID:1HHpj/ls
またーりしていけよもう

たらこは言った、面白いことをかけって
2023/08/01(火) 18:54:49.18ID:a4U8O1ra
Rust一択でしょ

どっちもやったことないけど
2023/08/01(火) 19:06:00.69ID:G//O9I6m
質問してるヤツと答えてるヤツが同一人物って可能性もある
2023/08/01(火) 20:49:40.26ID:rdOaCXEZ
さすがにその可能性を疑い出したら病気の一歩手前だから気を付けてくれ
何か引っ掛かる点があったなら別だけど
95デフォルトの名無しさん
垢版 |
2023/08/01(火) 20:51:58.06ID:lcAcDegU
>>93
同一人物で自作自演したとして
俺が何をどう思われたいと思ってるのかが分からんので
是非論理的に教えてくれ
2023/08/02(水) 00:36:41.42ID:NJTTLLY6
>>69
それはRustと全く関係ない問題
オブジェクトファイルはコンパイラと独立した存在
C言語だけの話でもclangとgccを当然併用できる

まず関数fooだけのfoo.cを用意
$ cat foo.c
#include <stdint.h>
int foo(int32_t a, int32_t b) {
 return a + b;
}

これをclangでコンパイル
$ clang -c foo.c

オブジェクトファイルfoo.oが出来ている
$ ls foo.o
foo.o

つづく
2023/08/02(水) 00:37:45.81ID:NJTTLLY6
次に関数mainのmain.cを用意
$ cat main.c
#include <stdio.h>
#include <stdint.h>

int32_t foo(int32_t, int32_t);

int main(void) {
 int ret = foo(10, 20);
 printf("ret = %d\n", ret);
 return 0;
}

このmain.cをgccでコンパイルして(clangで作った)foo.oをリンクして実行ファイル生成
$ gcc -o main main.c foo.o

無事に足し算が実行できました
$ ./main
ret = 30
2023/08/02(水) 00:59:42.14ID:NJTTLLY6
clangとgccで上手くいった話は
rustcとgccにしても当然上手くいく

今度はRustで関数fooだけのfoo.rsを用意 (区別できるように掛け算に変えた)
$ cat foo.rs
#[no_mangle]
pub extern "C" fn foo(a: i32, b: i32) -> i32 {
 a * b
}

念のためfoo.oを削除しておく
$ rm foo.o

そしてrustcでコンパイルしてオブジェクトファイル生成
$ rustc -O --emit obj --crate-type staticlib foo.rs

さっきと同様にオブジェクトファイルfoo.oが出来ている
$ ls foo.o
foo.o

再び全く同じくgccでmain.cをコンパイルして(rustcで作った)foo.oもリンクして実行ファイル生成
$ gcc -o main main.c foo.o

無事に掛け算が実行できました
$ ./main
ret = 200

つまりRustで書かれたコードとその生成オブジェクトファイルは
何の問題もなくgccでコンパイルしたC言語コードから呼び出せる
(もちろん逆向きもOK)
2023/08/02(水) 01:09:19.89ID:iG8SsFh7
>>96-98
それは>>69の解法1を取り得ることを意味するが
公式文書では>>80のように解法2が説明されており
解法1はvery experimentalとある
なぜだい?
2023/08/02(水) 01:11:29.45ID:8pIQRBW6
誰でも知ってることを長文で書かなくていいから>>80読んでね
2023/08/02(水) 01:15:12.91ID:iG8SsFh7
>>86
>それができれば、所有権情報付きの型に対応できることになるから、
これが気になってて
>>98みたいにno_mangleすると
所有権システムは制限されるのかな?
2023/08/02(水) 01:28:10.98ID:NJTTLLY6
>>99
その文書に根拠が書かれていないからわからない
その文書によるとclangとrustcならば上手くいくのだからRust側の問題ではなくclang側の問題でもない
仮に問題があるとすればgcc側の問題なのだろう
そしてその場合かあると仮定するとC言語のみでもgccとclangで上手くいかないケースが存在するのだろう
2023/08/02(水) 01:34:00.68ID:MBDISWVo
very experimentalなのは単純に実績が浅いからでしょ
同じ規格に合わせて作ったつもりでも実際に組み合わせると想定外の問題が生じる場合がある
この辺は結合テストの経験がないとピンとこないかもしれない
2023/08/02(水) 01:51:18.44ID:TcjEDVFj
>>103
実績は10年以上あるでしょ
例えば/usr/lib/の下にあるライブラリファイルがgccかclangかどちらでコンパイルされたものかに関わらず
gccからもclangからもそれらライブラリを区別なく使われて問題を起こさず動いてきた
そこはELFのフォーマットが定められているからコンパイラの違いがあっても大丈夫
2023/08/02(水) 02:02:17.30ID:iG8SsFh7
linuxのソースに含まれない外部配布のカーネルモジュールのコンパイルって
普通コンパイラを(バージョンも含めて)揃えない?
神経質過ぎるだけかな?
2023/08/02(水) 03:18:19.71ID:stxSLRlm
結論
C++使いとRust使いは生産性が低い
2023/08/02(水) 06:19:43.25ID:2Ms30o08
生産性最強は…「さくっと探してくる」

なんでも自作(内製)しようとしちゃうよね、自分にもそんな時期がありました
勉強にはなるけど
108デフォルトの名無しさん
垢版 |
2023/08/02(水) 09:10:06.07ID:4pI1Wfnv
>>93-95
hissi.org を AI に掛けたらそろそろ自演検出出来る時代
2023/08/02(水) 14:23:27.46ID:iG8SsFh7
教師データが少なすぎて精度が上がらんやろ
2023/08/02(水) 20:35:38.56ID:HZivUK5/
>>101
こういうことじゃないか
少し前にRust派が貼った https://github.com/microsoft/windows-rs は、
win32 APIをunsafeなRustで受けてる そういうreadmeになってるからそうなんだろう
unsafeなAPIにRustが接続してるんだから、たしかに道理

Rust派がいうように、どんどんRust世代(Swiftとかも含む)のAPIが増えてくると、
所有権情報がついたAPIになるわけだから、C++(とC)も当然それに合わせていく必要があるし、
それがわかってるなら、いまのうちから追随に向けたC++の発展を期待するぜ、っていうわけ
111デフォルトの名無しさん
垢版 |
2023/08/02(水) 20:46:07.42ID:ss9KhaID
C++なんざ何処が良いのか分からん
C#ほどセーフティーな訳でも無ければ
アセンブラみたいに痒い所に手が届く訳でもない
2023/08/02(水) 21:02:46.80ID:bcW2DJn5
普通はインラインアセンブラとか使えるぞ たまに便利
2023/08/02(水) 21:43:56.55ID:2DJiiIQu
>>110
>所有権情報がついたAPIになるわけだから、C++(とC)も当然それに合わせていく必要があるし
C/C++の言語仕様・ライブラリでこれをサポートする予定があるのか
2023/08/03(木) 06:38:17.02ID:x4MCSOl6
サポートしてもらわないと困るって話
Rustがそこまで普及するんならね
2023/08/03(木) 08:14:30.82ID:8npqW66R
C/C++の問題点はプログラム全体がunsafeエリアな点にある
Rustのように自動的に安全が保証されるsafeエリアを作るべきだ
116デフォルトの名無しさん
垢版 |
2023/08/03(木) 13:49:40.33ID:Lr04Zjag
unsafe { } なコード描き捲れば良いじゃん
誰も止めないし
2023/08/03(木) 14:47:00.92ID:8npqW66R
生のメモリはunsafeだからunsafeなエリアをゼロにするのは無理だが最小限に閉じ込めることはできる
ちなみにunsafeなエリアとは自動的に安全性が保証されず人間が安全性を保証しなければならない意味であり安全でないコードの意味ではない
C/C++は全てがunsafeなエリアとなっていることが根本的な問題であるためC/C++に導入すべきはsafeなエリアとunsafeなエリアの区別の導入
2023/08/04(金) 02:45:20.65ID:9vVWYNaF
科学者は、新しいものより古いものを好むような気がする。
やっとFortranからC++に移行したみたいな感じじゃない。
119デフォルトの名無しさん
垢版 |
2023/08/04(金) 09:03:06.23ID:XLfSEGlw
unsafe { C++ }
unsafe { unsafe { Fortran }}
120デフォルトの名無しさん
垢版 |
2023/08/04(金) 11:28:27.58ID:rcIkyW/J
>>118
ある年齢以下だと科学者でもかなりpythonが主流派だよ。
2023/08/04(金) 12:38:38.48ID:Hxv32tG4
unsafeは名前が悪い。

noguardがguidelessの方が実態に合っている。
122デフォルトの名無しさん
垢版 |
2023/08/04(金) 12:40:31.64ID:l9tpj9tS
>>121
同意。
rustも別にunsafeだから安全じゃないってわけじゃないからな。
123デフォルトの名無しさん
垢版 |
2023/08/04(金) 13:02:53.96ID:2tbTIxDy
>>121
>noguardがguidelessの方が実態に合っている。
wwwww
guidelesswww
124デフォルトの名無しさん
垢版 |
2023/08/04(金) 13:09:44.29ID:TzILUUtf
俺はコンパイラの支援なんか不要!
安全なコード書けるから!
などというバカ対策
2023/08/04(金) 13:32:31.68ID:sr1c8EdF
いくら自信があっても
いくら百戦錬磨のプロでも
思い込みや見逃しでミスが入り込む可能性がある
そしてミスがないと主張してもその客観的な根拠はなく頭の中にしかない

C/C++にも客観的に自動的に安全性が保証されるsafeエリアを導入すべきだ
そしてプログラム本体にunsafeエリアが露出せずに済むようにsafeなライブラリ関数を充実すべきだ
126デフォルトの名無しさん
垢版 |
2023/08/04(金) 14:14:29.32ID:egOIBhxw
急にスレのベレルが下がったな
2023/08/04(金) 14:23:45.74ID:neuFS+YA
気のせいです
128デフォルトの名無しさん
垢版 |
2023/08/04(金) 14:45:44.75ID:z0X1ZVr3
>>125
唐突なポエム草
2023/08/04(金) 15:02:43.37ID:BcxuRAkw
もっともマトモな層は、コード書きに行ってこんなとこ来ないからw
2023/08/04(金) 15:21:59.11ID:9eDSr/2C
急にスレのベレルが下がったな
131デフォルトの名無しさん
垢版 |
2023/08/04(金) 15:39:49.20ID:XLfSEGlw
高かったことが一度でも在ったかのような言い草だな
2023/08/04(金) 15:45:57.96ID:f95F43ae
散髪屋に安全ガミソリを強制したり、マシン語プログラマを
蔑みそうな思想だな。
2023/08/04(金) 15:49:31.23ID:f95F43ae
安全ガミソリは刃に毛が挟まって取れなくなって、
再利用しにくいのに対し、直刃のかみそりは、
安全面さえ気をつければ手入れが簡単で再利用しやすい
からプロは後者を好んで使う。
それと同じ。
2023/08/04(金) 15:51:38.78ID:f95F43ae
直刃のかみそりを好んで使うプロたちに対して、
「お前らは客の安全性を疎かにする自信過剰で傲慢な
駄目な奴ら」
だとか言うつもりか。
2023/08/04(金) 15:56:47.17ID:i+NL2LDR
急にスレのベレルが下がったな
2023/08/04(金) 15:58:20.80ID:BcxuRAkw
>>134
消毒(sanitize)はどうしてるのかって問題はたしかにあるな
俺は気にしてないが、気にする人がいてもいい
2023/08/04(金) 16:01:00.54ID:f95F43ae
マシン語プログラマに対して、
「おまえらは、自身の腕を過信する安全性軽視の
 駄目プログラマだ」
なんて言う権利は他人には無いと思う。
2023/08/04(金) 16:09:50.05ID:S7yEvO65
>>137
安全性とは何なのかも定義も理解できていないからそんな馬鹿げた書き込みばかりしてるのか
2023/08/04(金) 16:17:28.67ID:f95F43ae
結局、相手を馬鹿にしてRustを推すのが、Rust信者の
やり口。
140デフォルトの名無しさん
垢版 |
2023/08/04(金) 16:31:11.69ID:EJnCR0gN
安全カミソリは安全ではないし
直刃のカミソリを使うプロでも客に切り傷つけることはよくある
141デフォルトの名無しさん
垢版 |
2023/08/04(金) 19:56:00.95ID:l9tpj9tS
直刃のカミソリっていうか、柄もないカミソリの刃だけを使うようなもんだろ。
自分も痛い目みること含めて。
2023/08/04(金) 20:09:16.36ID:S7yEvO65
他人が書いた部分や使ってるライブラリやその孫ライブラリまで含めて全ソースをチェックするのは非現実的だからな
もちろん自分で書いた部分やリファクタリングした部分も万が一のチェックを書き換えるたびにするのも手間暇コスト増
unsafeでもunguardでも呼び名はなんでもいいからsafe/guard部分がコンパイラによる自動チェックされるようになれば人間がチェックすべき部分は激減できる
2023/08/04(金) 20:15:00.62ID:bJlFt79O
急にスレのベレルが下がったな
2023/08/04(金) 20:26:53.92ID:og8Edpiv
ダングリングの検出ってGPTの登場で
言語側が備える意味は最早なくなった
そのうち外部にチェックプログラムが登場するよ
ABIが非互換になるデメリットを考えると
なおさらRustに追随する言語はないと思う
さよならRustの未来を信じた皆さん
2023/08/04(金) 20:36:35.81ID:q/UYza0u
>>144
ダングリングなんて小さな問題だけが対象ではないことを理解していなさそうにもみえるが
これまで外部ログラムがいくら頑張っても各種問題を静的に見つけることはできていないし今後も無理だろう
AIであろうとそれは同じであり神のようなAIが登場するならその時は全ての言語のプログラマー全員廃業だ
146デフォルトの名無しさん
垢版 |
2023/08/04(金) 21:00:09.09ID:IJ6nE+NX
>>144
外部のチェックツールって今までもあったけどね。
上手いプロンプトを考えられたらいいね。
147デフォルトの名無しさん
垢版 |
2023/08/04(金) 21:36:58.62ID:K3V5Xtdy
>そのうち外部にチェックプログラムが登場するよ
今まで使ったことないのかよww
2023/08/04(金) 22:00:25.44ID:CoH1yBj0
CheckGPTでRustは終わる
149デフォルトの名無しさん
垢版 |
2023/08/05(土) 00:03:15.32ID:8PC/4Tei
残念だけど言語サポート無しにRustと同じレベルのチェックは不可能
それがわからない時点で安全なコードを書く能力もないことが分かる
2023/08/05(土) 01:06:25.49ID:YeB01PWa
>>149
SendやSyncのマーカートレイトなど
様々な安全性を型チェックで保証できるような枠組みがRustには揃ってるあたりのことか
C++にも導入すべきだよな
C++は色んな機能が足りなすぎる
2023/08/05(土) 01:50:07.55ID:dts8KIsS
Rustは人の命をあずかるシステムに使えますか?
2023/08/05(土) 02:47:29.11ID:LVFgAb7y
使えます
2023/08/05(土) 04:34:10.67ID:KocMWFZU
Rust信者の正体は、ぎゃあぎゃあ五月蝿い評論家だ。
自分が上だと思って色々言ってくる。
2023/08/05(土) 04:36:47.68ID:KocMWFZU
実際にソフトウェアでサラリーマンとしてではなく、事業
として成功している人以外の意見はさらっと流して無視
しなければ、上手く行かない。
2023/08/05(土) 07:16:06.28ID:xdlV5LLb
>>148
これ
2023/08/05(土) 07:31:06.33ID:YeB01PWa
>>155
Rustが様々な安全性をコンパイラで保証できる仕組みは
例えばスレッド間での移動や共有の可否などを抽象的なトレイトで表現して
各型をそれらのトレイト境界で制約して型チェックで実現したりしているようだから
C++にもそういう仕組みを導入すれば自動チェックの可能性が出てくるね
2023/08/05(土) 08:05:44.87ID:xdlV5LLb
>>156
将来的にそういうのはエディタに組み込まれたCheckGPTがやってくれるんじゃん
2023/08/05(土) 08:24:07.60ID:YeB01PWa
>>157
言語仕様に組み込まれていないとそれは不可能と思われる
もしそれさえ覆すAIが出現した時にはプログラミング言語自体が全て滅びてしまう新時代となる
その新時代になるまでは言語仕様が強力なRustがAI支援で圧倒的に有利にみえる
2023/08/05(土) 08:38:30.69ID:xdlV5LLb
>>158
AIに最適化された言語が登場するのかも
160デフォルトの名無しさん
垢版 |
2023/08/05(土) 11:23:13.95ID:NzC+Rt9F
>>158
>言語仕様に組み込まれていないとそれは不可能と思われる
そなの?
人間がソースコードを読んで発見できるバグなら
直感的にはAIにも出来るのでは?
2023/08/05(土) 11:43:54.44ID:Lx+Vx/pL
クソスレ上げんな低能
2023/08/05(土) 12:00:58.94ID:YeB01PWa
>>160
そこは単純な話でプログラミングよりも遥かに難しいため
つまりそれが可能な領域にAIが達した時にはAIが最初から全て行なうのでそもそもチェックも不要になる
2023/08/05(土) 12:36:48.81ID:G0xPWQV0
人間がソースコードを読んで発見できるバグなら最初からバグ入らない
164デフォルトの名無しさん
垢版 |
2023/08/05(土) 12:44:17.52ID:NzC+Rt9F
人間が読んで発見できないバグをRustが発見できるかのような言い草だな
2023/08/05(土) 12:48:32.07ID:C2ROzTMY
たぶん、いきなり初作でバグ書いたりはしないと思うのな
あとで改造したときにエンバグする
そこでコンパイルエラーになるように言語ができてる
166デフォルトの名無しさん
垢版 |
2023/08/05(土) 14:13:18.22ID:NzC+Rt9F
ChatGPT-4では検出できないが
Rustで書けば検出出来るC/C++のバグを考えようぜ
ChatGPT-4はかなり賢いので俺は既に無いと予想するよ
2023/08/05(土) 14:14:11.76ID:NzC+Rt9F
俺は既に無いと主張するが
反証1つで論破できる
2023/08/05(土) 14:42:07.80ID:z8pTYjl5
ChatGPTは、
じゃんけんの論理構造が理解できないから、じゃんけんの
プログラムのバグを発見できない。
2023/08/05(土) 15:00:11.14ID:LVFgAb7y
とりあえずシンプルなバグ
ChatGPT使い方分からんから検証は任せた
C++は長いこと書いてないから古い書き方があったらすまん

#include <iostream>
#include <string>
#include <vector>

using namespace std;

int main() {
auto names = vector<string>();
names.reserve(8);

string empty = "";
string *longest = ∅

while (true) {
string name;
cin >> name;
names.push_back(name);
if (names.back().length() > longest->length()) {
longest = &names.back();
}
cout << names.size() << " names, (longest: " << *longest << ")" << endl;
}
}
2023/08/05(土) 15:14:36.79ID:LVFgAb7y
なんか&empty;が空集合の記号に変換されて表示されてしまった…
たしかに文字参照形式だけど5chのバグ踏んだんかな
2023/08/05(土) 15:21:16.34ID:NzC+Rt9F
>>169
Thanks! そのまま貼るね
I: C++プログラムのバグを教えて欲しいのですが? コードレビューをできますか?
G: もちろんです、C++のコードを見せていただければ、そのコードのバグや改善点を提案することができます。どんなコードをレビューすればよいですか?
I: >>169のコード
ただし string *longest = は string *longest = nullptr; に修正
2023/08/05(土) 15:22:34.42ID:NzC+Rt9F
G: コードを見た結果、最初の問題点は次の行で生じます。
if (names.back().length() > longest->length()) {
G: 最初の入力が行われる前、longest ポインタは nullptr に設定されています。
したがって、デリファレンス操作(-> を使用)は無効なメモリへのアクセスを引き起こし、
これは未定義の動作につながります。
この問題を解決するためには、longest ポインタを使用する前に、
有効な string オブジェクトを指すように設定する必要があります。
コードを次のように修正することで、
最初の入力の後に longest ポインタを設定することができます。
2023/08/05(土) 15:23:56.83ID:NzC+Rt9F
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main() {
vector<string> names;
names.reserve(8);
string *longest = nullptr;
while (true) {
string name;
cin >> name;
if (name == "exit") { // 終了コマンドを追加
break;
}
names.push_back(name);
// 入力後にポインタを初期化
if (longest == nullptr || names.back().length() > longest->length()) {
longest = &names.back();
}
cout << names.size() << " names, longest: " << *longest << endl;
}
return 0;
}
2023/08/05(土) 15:24:14.45ID:LVFgAb7y
もし空集合の記号が見えてたら&empty;(←半角)に修正してほしい
nullptrだと最初の比較で普通に死ぬから意図したバグが出ない
2023/08/05(土) 15:27:55.04ID:NzC+Rt9F
文章を解釈してオーダにない修正(exitの追加)までしている
ChatGPT-4はマルチスレッドの競合状態なんかも検出するよ
デッドロックは試してないがら無理かもね
Rustはデッドロックは検出するんだっけ?
2023/08/05(土) 15:30:21.32ID:LVFgAb7y
173見るとnullエラーは検出するけどvectorの再配置によるダングリングは見逃す感じでいいのかな
2023/08/05(土) 15:33:22.24ID:NzC+Rt9F
>>174 修正してみた
-string *longest = nullptr;
+string *longest = ∅
G: あなたのコードは、ユーザーからの入力を無限に受け取り、
最長の文字列を保持しようとしていますが、問題がいくつかあります。
まず、reserve関数はメモリを確保しますが、実際の要素数を増やすわけではありません。
したがって、push_backを使用すると、reserveで予約された領域を超えてメモリが確保されます。
しかし、それはこの特定のコードには重大な問題ではないと思われます。
大きな問題は、無限ループとポインタの管理です。
1. 無限ループ:while (true)とすると、無限ループになります。
これは、ユーザーが特定のアクション(例:特定のキーワードを入力する)を行わない限り、
永遠に終了しないプログラムを作成します。
これを解決するためには、ループを抜け出すための条件(例:空の名前が入力された場合)を設定する必要があります。
2. ポインタの管理:longestへのポインタが問題です。
names.back()が返す参照は、次にpush_backが呼び出されると無効になる可能性があります。
これは、push_backが内部の動的配列をリサイズする必要がある場合、
新しいメモリ領域に要素が移動され、古い参照が無効になるからです。
以下に修正したコードを示します。
2023/08/05(土) 15:33:27.10ID:97ZAjLd0
俺、C++ド素人で>>169が何をしているのかさっぱり分からんから、
どこが悪いのかさっぱり分からんが
でも、ChatGPTは何をしよう(しているのか)を理解して
(質問者にvectorの再配置でポンタ無効になるからと教えて)
>>171のような修正を提示するんだな。賢すぎだろ
2023/08/05(土) 15:34:42.49ID:NzC+Rt9F
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main() {
vector<string> names;
string longest = "";
while (true) {
string name;
cin >> name;
if (name.empty()) {
break;
}
names.push_back(name);
if (names.back().length() > longest.length()) {
longest = names.back();
}
cout << names.size() << " names, (longest: " << longest << ")" << endl;
}
return 0;
}
このコードでは、longestがポインタではなく値として管理されているため、
namesの内容が変更されても影響を受けません。
また、名前が空の場合にループを抜ける条件を追加しました。
2023/08/05(土) 15:39:09.24ID:NzC+Rt9F
>>176
その通りだね
ところが>>177の修正を加えて返ってきた答えには
vectorの再配置によるダングリングを考慮してある
>>177以外の修正は俺は一切加えていない

まだ間違った答えを返すことがあるが
正解を返すポテンシャルは既にある
2023/08/05(土) 15:41:17.99ID:NzC+Rt9F
ところで>>175なんだけど
Rustってデッドロックって検出できるんだっけ?
2023/08/05(土) 15:44:11.69ID:97ZAjLd0
いま、C++で生ポンタを使うこと避けるようにするんじゃないのか
2023/08/05(土) 15:45:41.69ID:LVFgAb7y
>>174
サンクス
さすがにこのレベルだと検出できるか
(ほかに目立つバグがあるとスルーされるのかもしれないけど)
2023/08/05(土) 15:58:47.07ID:wQaB7TT9
デッドロックは人間でも解決できないパターンがあるからw
2023/08/05(土) 16:03:33.32ID:LVFgAb7y
あらゆるデッドロックを検出しようとするとデッドロックするから無理って
チューリング先生が証明してたと思う
停止性とは違うのかもしれないけどどうせ帰着ルート見つけるでしょ(適当)
2023/08/05(土) 16:22:05.73ID:z8pTYjl5
AIに関して。たまたま上手く行ったケースだけを
書いている可能性がある。
実際にやってみると変になることもあったりする
のがよくあるパターン。
2023/08/05(土) 16:44:23.90ID:NzC+Rt9F
>>186
>>171は1回だよ そのあと>>170を読んだので
チャットの途中から>>177の修正を加えて回答を生成させた
これも1回限り
ChatGPT-4を普段触っていて能力を知っていれば
納得の回答レベルだと思うけど?
2023/08/05(土) 16:52:12.45ID:z8pTYjl5
std::vector でよくある性質だけ、ChatGPTに
ハードコーディングされてる可能性がある。
2023/08/05(土) 17:30:10.13ID:YdmkUc66
>>181
デッドロックは静的に(実行せずに)検出できないことが理論的にわかっている
そのためRustを含めて任意のシステムで静的にデッドロックを検出するものは存在しない
2023/08/05(土) 17:46:13.30ID:YdmkUc66
デッドロックはロック順序が定まるように自主的対応するとして
一方でデータ競合についてはRustがデータ競合のないことを保証してくれる
2023/08/05(土) 18:41:15.10ID:NzC+Rt9F
>>190
データ競合はChatGPG-4も検出してくれる
192デフォルトの名無しさん
垢版 |
2023/08/05(土) 18:58:04.88ID:nLwYtk1m
実は俺は未来が見える。
Rustは普及しない。
いっちゃった。
ヤバイ。
2023/08/05(土) 19:24:44.46ID:YdmkUc66
>>191
ChatGPTは検出できるケースもあるだけだぞ
Rustはデータ競合を100%回避できる
そしてデータ競合は100%回避しなければならない
100%回避できる方法がある状況でそうではないChatGPTに頼るやつはバカだと断言できる
2023/08/05(土) 19:35:03.34ID:3ig1p59X
>>193
GPT4使ったてないやろ?
そんなもんじゃない
2023/08/05(土) 19:45:05.47ID:YdmkUc66
>>194
100%防がなければいけないこと(今回の例だとデータ競合)で
ChatGPTに依存するは愚の骨頂
ましてや100%防げるRustが存在する状況で
2023/08/05(土) 19:56:21.43ID:ovYwnQ8g
>>195
だってRust覚えるのめんどいじゃん?
2023/08/05(土) 21:11:57.10ID:xdlV5LLb
はいRustの負け〜
2023/08/05(土) 21:31:44.37ID:Ab8yJnrX
>>196
Rustは必要な高機能が充実しているにま関わらず
洗練されていて覚えることが少なくて楽だ
C++はC++20まで把握してもまだRustの高機能に追いつけていない
2023/08/05(土) 21:39:17.35ID:NzC+Rt9F
RustやってもCを別に覚えなきゃならないじゃん?
C++覚えればCはサブセットだし楽だよ
なによりRustはやってる人が少な過ぎて人が集まらん
2023/08/05(土) 22:16:55.85ID:lVlXn5uE
RUSTぐらいサクッと習得出来る人じゃ無ければ集まらなくって良くない?
2023/08/05(土) 22:45:10.55ID:HgL/MIsm
>>198
そういうのはdyn-upcastとかspecializationとかのRFCをstabilizeしてから言ったほうがいい
202デフォルトの名無しさん
垢版 |
2023/08/05(土) 23:31:44.33ID:Z3AMXPsc
Rustは速くsimd命令周りをstableにして欲しい。
2023/08/06(日) 00:25:51.10ID:yMFHtXLh
Rustってなんで全然普及しないの?
2023/08/06(日) 01:19:10.93ID:3wcIZOky
それはね
もう十分普及してるからだよ
2023/08/06(日) 01:22:19.33ID:qy7GXfpS
直訳すると最期って意味だから縁起が悪い
2023/08/06(日) 01:36:56.92ID:/n3JPvRf
信者の脳内でLinuxは大成功している事と同様の事也。
2023/08/06(日) 01:59:35.05ID:0QxiCITa
Linuxって史上最も普及したカーネルだと思うよ
2023/08/06(日) 02:18:54.27ID:3wcIZOky
それじゃ全然足りないってことでしょ
「信者が〜」とか言っちゃう奴って目標高過ぎというか欲張り過ぎなんだよね
どっちが信者だよって感じ
2023/08/06(日) 02:36:01.14ID:/n3JPvRf
無料なので、100均やユニクロより地位は下だということなんだがな。
2023/08/06(日) 02:37:30.46ID:/n3JPvRf
Linuxと比べれば底辺の食べ物みたいに馬鹿にされる
サイゼリヤやマクドナルドの方が遥かに高級ということになる。
2023/08/06(日) 02:45:19.77ID:/n3JPvRf
そしてgccやemacsやnasmは貧者のツール。
2023/08/06(日) 02:45:25.28ID:0QxiCITa
まーた始まった
2023/08/06(日) 02:48:06.95ID:0QxiCITa
>>211
50代だと思うけど引きこもりなのかな?
力になるよ
2023/08/06(日) 02:51:33.28ID:/n3JPvRf
無料なんだから、貧者のツールだ。
当たり前。
2023/08/06(日) 02:59:11.89ID:/n3JPvRf
アメリカ製のSNSが存続できているのは、アメリカ政府の
補助金のおかげ。YouTubeは個人情報をアメリカ政府に
差し出す見返りに政府から補助金を得ている。
2023/08/06(日) 02:59:19.72ID:0QxiCITa
>>214
引きこもってるの?
2023/08/06(日) 03:01:24.81ID:0QxiCITa
>>215
周りに気兼ねなく話せる人はいるかい?
2023/08/06(日) 03:07:03.60ID:/n3JPvRf
どうでもいい。
2023/08/06(日) 03:21:25.88ID:FBMr5AjE
Rust叩きをしている人たちがちょっと頭のおかしい人たちばかりなのは偶然なのか必然なのか
2023/08/06(日) 03:48:28.55ID:/n3JPvRf
Rust信者は域外者に対する批判に暇が無いね。
2023/08/06(日) 06:57:45.77ID:G1mNNcoT
>>214
C++も無料だから、それを言ったらどっこいどっこい
222デフォルトの名無しさん
垢版 |
2023/08/06(日) 07:19:58.01ID:V97WePr1
スレのレベルがまた一段と下がってるね
低学年の小学生みたいw
2023/08/06(日) 07:47:32.01ID:yMFHtXLh
↑これってボット?
224デフォルトの名無しさん
垢版 |
2023/08/06(日) 09:15:11.08ID:xJ7XeiL9
>>170
5chのバグではない
仕様通りの動作
225デフォルトの名無しさん
垢版 |
2023/08/06(日) 09:23:00.88ID:xJ7XeiL9
>>199-200
今Rustで募集すると間違いなくゲーマーが応募してくる
2023/08/06(日) 09:56:02.83ID:ctz5BWzh
>>221
ほとんどのプロは無料環境を使ってない。
227デフォルトの名無しさん
垢版 |
2023/08/06(日) 09:58:51.57ID:ES7Kp55N
VisualStudioって有料だよね
2023/08/06(日) 10:15:09.14ID:ctz5BWzh
GTK, wxWidgt, Qt, CodeBlocks などを試してみたが、
どれも使う気になれなかった。Qtは有料だが。
2023/08/06(日) 11:32:39.13ID:xFPyICNs
合わなかったって事?
2023/08/06(日) 11:35:14.84ID:ctz5BWzh
>>229
その中でましな方のCodeBlocksですら、
メニューやボタンはあれども機能しない項目が
多かったり、順序によって機能し無かったりが多く、
どのような順序で事を行なっても動作するところの
VC++とは使い勝手が全く違った。
2023/08/06(日) 11:39:05.81ID:ctz5BWzh
手短に言えば「みかけだおし」で実際には機能しない
メニュー項目やオプション類が多数あって、混乱した。
gccもオプションは多すぎるほど多いが、実際にちゃんと
機能するものはほとんど無く、-I -L -O1 -v みたいなもの
だけに限られ、他のオプションは指定してもまったく機能
しないか、機能しても他のオプションと併用すると破綻したり、
または、機能しても僅かな変化しかなく、msvcが大胆に
機能変化するのとは全く異なっている。
2023/08/06(日) 11:43:44.43ID:ctz5BWzh
また、ボランティアによってせっかくチュートリアルが
作られていても、「すぐに変化して」しまうため、
最新版とは同じにはならない。
しかも、チュートリアルなしでは使いこなせないような
インターフェースになっており、非常に使い勝手が
悪かった。
このことは、3DモデラのBlenderでもあてはまる。
価値観の異なる別の人がプログラミングに参加してしまう
せいか、一年たてば、使い方ががらりと変化してしまう。
そのため、YouTubeなどでボランティアが多大な時間と
努力で作り上げた解説動画と、最新版の使い方が大胆に
異なっている。それで、古い解説動画扱いされ、
老害扱いされる。せっかく努力した人の努力は水泡に帰する。
これはまさに共産主義。努力した人をあざ笑い、何もしなかった
人が安泰になる仕組み。
2023/08/06(日) 11:45:18.85ID:xFPyICNs
んーなんかよくわからないがUIビルダー試してるって事かなあ?
RUSTから離れて行ってね?
2023/08/06(日) 11:51:59.05ID:ctz5BWzh
Rustも同様の事が起こる可能性が高い。
#OSSを見守ってきた人生経験より。
235デフォルトの名無しさん
垢版 |
2023/08/06(日) 11:52:31.08ID:xJ7XeiL9
>>228
GTKは糞(GTK自体はC)
wxWidgetsは優秀(C++)
QtはQMLになって糞化(C++)
Code::Blocksは(C/C++)実質wxWidgets
どれも使えないのはC++の理解が足りてないんじゃないか
馬鹿自慢してるようなもの
236デフォルトの名無しさん
垢版 |
2023/08/06(日) 11:54:22.02ID:6rDWJ/3o
tkは?
2023/08/06(日) 11:55:06.00ID:ctz5BWzh
有名なOSSツールで、年々ツールのバイナリサイズが肥大化
し、異常にサイズが大きくなってしまったものも知っている。
16BIT時代から続く有名なOSSだが、そのころから機能は
僅かしか追加されて無いのに、今や、4GB位のストレージ
を消費してしまう。機能は16BIT時代と対して変わってない。
16BIT時代だったら、数MBだっただろう。
2023/08/06(日) 11:56:08.73ID:ctz5BWzh
>>235
使えるが、使いたくなかった。
なんでそんな苦労しなきゃならないのか分からん。
2023/08/06(日) 11:57:07.74ID:xJ7XeiL9
>>234
まあRustがTauri薦めてる時点でRustもひどいってのは同意
240デフォルトの名無しさん
垢版 |
2023/08/06(日) 11:58:15.10ID:xJ7XeiL9
>>236
tcl/tkはだぁぃ好き
2023/08/06(日) 11:59:35.42ID:ctz5BWzh
>>237
機能が2倍くらいになって徐々に肥大化して言ったならまだ分かる。
しかし、数年前まで32BIT版で500MB位であって、
機能は1%も追加されて無いのに、4GBになった。
これがOSSソフトの典型例。
パソコンの性能は劇的に増加したのに、インストール時間は
むしろ長くなった。
細かい時間は忘れたがインストールするだけで10分以上はかかった。
2023/08/06(日) 12:01:49.07ID:ctz5BWzh
それに、ユーザー数やシェアを考えれば、優先順位は
Windows、Android、iOS、、Mac、Linux 位の順で
なければならないのに、多くのOSSでは、ターゲットもホストも
大体、Linux、Mac、Windows、iOS、Android
のような順序になっており、ほとんど逆に近い。
このことも、ストレスフルになる。
2023/08/06(日) 12:02:07.07ID:xJ7XeiL9
VCもインストール時間必要以上に長いぞ
2023/08/06(日) 12:13:52.92ID:ctz5BWzh
OSS作者の多くは、Linuxをメインに開発していて、
Windowsは「仕方なく」対応していることが多いらしい。
だから、WindowsとLinuxの違いのために面倒な
追加コーディングが必要になったときには、ストレスフル
となり、いやいやコーディングしてしまう。そのため、
Windowsでは中途半端な出来栄えとなり、どこかに
不具合を抱えていることが多い。
そしてそれを自分の責任とせず、Windowsや、Windows
を使っているユーザー、または、Windowsを使っている社会
などに責任転嫁してしまう。
その結果、そのような作者が多いOSSをWindowsで使うと、
ストレスフルで使う側が嫌な気分を味あうことが多くなる。
2023/08/06(日) 12:17:19.87ID:ctz5BWzh
AdobeのPDF Readderもそうである。
恐らくMacとiOS(やスマホ)のインターフェースを
ベースにしているため、Windowsユーザーには物凄く
使いにくい。
Windws版のKindle Readerも同様。物凄く使いにくい。
Google Mapのインターフェースも最悪だといわれている。
しかし、それがデファクトスタンダードとなっていて、
無料なことが災いして、競争相手が育たず、世界中の
人々が使い勝手の悪い無料ソフトで、生産性が悪い
社会となってしまっている。
2023/08/06(日) 12:19:45.27ID:FBMr5AjE
>>228
それら以外にRust製のGUIもたくさんあるけど言及ないの?

>>239
RustがGUIとしてTauriを勧めたことなんて一度もない
Rustにも多様なGUIライブラリが揃っている
Tauriに相応するものはElectronであってGUIといってもHTML/CSS/JavaScriptを前提とするタイプ
その比較では性能面でElectronよりTauriが優れているというだけの話
247デフォルトの名無しさん
垢版 |
2023/08/06(日) 12:23:27.05ID:0QxiCITa
>>ID:ctz5BWzh
世界は多様でいくらお前が望んでもそれは変わらない
皆(動物さえも)適応して生活している
ずっと読んできたが
おまいさんは多様性への適用能力に問題を抱えているんだよ
2023/08/06(日) 12:25:47.78ID:ctz5BWzh
OSSの作者は「逆張り」傾向が強い。
別の言い方をすれば天邪鬼。
だから、多数派向けのアプリを作りたい人には、
OSSの開発環境は足かせになる事が多い。
2023/08/06(日) 12:28:15.33ID:xJ7XeiL9
認識が随分偏ってるというか捻じ曲がってる人いるな
https://www.youtube.com/watch?v=C8Xtsa9mqQo
https://www.youtube.com/watch?v=kxcP2RT04KM
https://www.youtube.com/watch?v=2MtC4tBLlow
https://www.youtube.com/watch?v=PR5t-4nGSpg
https://www.youtube.com/watch?v=3Od9rhxlS-E
250デフォルトの名無しさん
垢版 |
2023/08/06(日) 12:30:47.90ID:xJ7XeiL9
>>244
uby界隈の人は特にそういう傾向あるな
2023/08/06(日) 12:32:12.03ID:xFPyICNs
つまり要約すると「俺の利益を優先させろ!」で合ってる?
2023/08/06(日) 13:08:31.97ID:526NdK6C
>>251
OSS・無料ものはくそってことだろ
貧乏はくそなものでもただなら大歓迎だからな
2023/08/06(日) 13:12:13.42ID:xJ7XeiL9
貧乏だけどタダでも糞は嫌だよ
2023/08/06(日) 13:28:13.42ID:526NdK6C
>>253
でも、乞食必死してるんだろ
貧すれば鈍するだから、時期にくそを受け入れるようになるよ。

無料もの使うと乞食化するし、そして、
くそ物を使うと使っている奴もくそ化するし
そうなってもそうなっている自覚はないだろうが
2023/08/06(日) 14:14:02.54ID:3wcIZOky
OSSが有料だとか無料だとかそんな次元で語ってる時点で発想が乞食でしょ
自分で何か作って公開することで知識や技術を「交換」するみたいな発想はできないのかな
使わせて「貰う」ことしか頭にないなら仕方ないけど
OSSコミュニティがみんなそうだとは思わない方がいいよ
2023/08/06(日) 14:17:22.94ID:xFPyICNs
つまり「俺が作ってるものは無料じゃないので糞では断じて無い!」なの?
257デフォルトの名無しさん
垢版 |
2023/08/06(日) 14:18:04.40ID:xJ7XeiL9
まるで有料に糞が無いかのような物言いだな
2023/08/06(日) 14:19:27.05ID:xJ7XeiL9
>>254
>くそ物を使うと使っている奴もくそ化するし
>そうなってもそうなっている自覚はないだろうが
その通りだ
有料糞品の最大派閥が君の大好きなWindowsだ
2023/08/06(日) 14:20:24.67ID:o/Yc4yMs
有料でクソだと生き残れないが、無料だとクソでも生き残る。
2023/08/06(日) 14:25:00.14ID:xFPyICNs
ああそうか今日は日曜日か
2023/08/06(日) 14:49:38.75ID:FBMr5AjE
>>224
&empty;が∅で表示される問題は>>170が言う通り5chとそのブラウザの仕様バグで合っているんじゃないかな
5chのdat仕様はHTMLタグや文字参照(&xxx;)を含んでいてそれらをそのまま表示することになっている
一方で利用者にとってはそんなことは関係ないため&empty;の書き込みがそのままその内部表現となり文字参照として解釈されるのは自然ではない
もちろんそのまま通さずにエスケープ処理することで対応している掲示板やSNSも多い
文字参照はあくまでもHTML(や*ML)での表現であるため利用者がそれを会話や書き込みで打ち込むのを前提とするのはありえないからである
ではなぜ5chはこんな変な仕様になっているのかというとshift-jisのまま範囲外の文字を受け付けるためだ
これを仕様通りとするならば5ch専ブラ側は利用者からユニコードで受け付けてshift-jis範囲外の文字と&等のみを文字参照として5chへ送るべきことになる
そうすれば利用者からの入力&empty;は5chへ&amp;empty;と送られて表示時も正しく表示されることになる
2023/08/06(日) 15:00:49.49ID:jVU2mLBC
争え……もっと争え……
2023/08/06(日) 15:11:36.53ID:3wcIZOky
調べたら10年以上前に決めた仕様らしいから仕方ない
普通の文章だと&...;みたいな文字列は出てこないし
2023/08/06(日) 15:34:51.43ID:chHFU/NY
Steamには有料のクソゲーが腐るほどある
265デフォルトの名無しさん
垢版 |
2023/08/06(日) 15:35:01.33ID:xJ7XeiL9
>5chへ&amp;empty;と送られて
これが為されてないのは専ブラのせい?
266デフォルトの名無しさん
垢版 |
2023/08/06(日) 16:05:39.21ID:0QxiCITa
>>231
>gccもオプションは多すぎるほど多いが、実際にちゃんと
>機能するものはほとんど無く、-I -L -O1 -v みたいなもの
>だけに限られ、他のオプションは指定してもまったく機能
>しないか、機能しても他のオプションと併用すると破綻したり、
>または、機能しても僅かな変化しかなく、msvcが大胆に
>機能変化するのとは全く異なっている。
バイナリ変わっとるやろ?
gccのオプションが多いのは否定しないが
お前が使いこなせていないだけ
2023/08/06(日) 16:07:07.06ID:0QxiCITa
>>232
チュートリアルの批判は妥当だね
追従できていないことは多々ある
2023/08/06(日) 16:11:32.80ID:0QxiCITa
>>232
最後の共産主義云々は飛躍せずに論理の筋道を書かないと全く意味が分からない
まともな批判も書いているのだが
社会生活を送っているように思えない書き込みも散見される
269デフォルトの名無しさん
垢版 |
2023/08/06(日) 16:14:36.17ID:0QxiCITa
>>237
ソース見れば肥大化した理由が分かるのでは?
OSSなら知る自由があるよ
2023/08/06(日) 16:21:14.15ID:o/Yc4yMs
日本人は知らされて無いけど、中国がずっと前からOSSを推進しており、
githubのスポンサーも中国企業が多いと聞いた。
それにgithubの一番人気ソフトは中国製。
2023/08/06(日) 16:27:02.28ID:chHFU/NY
こいつの言ってることが本当なら、それらの問題点を改善したソフトを
有料で売れば大儲けできるのになぜかやらないんだよなぁ
2023/08/06(日) 16:29:09.60ID:FBMr5AjE
>>270
githubのスポンサーというか所有者はあなたが信奉して依存しまくっているMicrosoftです
2023/08/06(日) 16:31:30.86ID:o/Yc4yMs
>>272
githubの所有者とは別に、スポンサー企業と言うのがあるんだよ。
2023/08/06(日) 17:53:54.77ID:xFPyICNs
まだこういう事言ってる人いたんだ
2023/08/06(日) 19:10:54.10ID:o/Yc4yMs
この板を含め、ネットでは、技術よりマーケティング重視の人が多い。
それで日本の技術力低下が起きたのではないか。
2023/08/06(日) 19:16:21.94ID:o/Yc4yMs
テレビを見ると、やたらと技術だけでは駄目、という言葉ばかり
叫ばれるが、GAFAMは、技術先行型、プロダクトアウト型だと
言われている。実は、マーケットイン型は、模倣され易いと言われており、
だから、新興国に模倣されているのかも知れない。
GAFAMのものは、技術先行型だから他社が真似するのは難しい。
模倣しようと思っても模倣できない参入障壁が多い。
検索エンジンやChatGPTも、プログラミングだけでなく、処理能力が
桁違いに大きなスパコンの様なデータセンターが必要だと思われる。
そして二番手以下は全く売上げがたたないので大赤字となるため、
参入できない。
それが自動車産業や家電業界とは異なるところ。
277デフォルトの名無しさん
垢版 |
2023/08/06(日) 19:59:20.44ID:6rDWJ/3o
そんなことよりRustとC++の話しない?
2023/08/06(日) 20:17:03.40ID:/D5+TjxD
コマンドラインアプリってRustってどこが向いているの?
例えばメモリリークしないっていう謳い文句があるけど別にCやC++だったらコンパイラやCLIみたいなすぐ終了するプログラムは一回もfreeしなくてもいいわけで
その場合はまるでGC言語みたいな自由な書き方が選択できるわけじゃん

メモリリークなんてどうでもいいのにそれを強制的に意識させられる言語なわけだがCLIに何が向いてるのかわからん
2023/08/06(日) 20:28:32.60ID:xFPyICNs
いや別に好きにすればいいじゃん
2023/08/06(日) 21:09:02.37ID:1Y5TUJVR
向いてるって言ったやつに聞けば
2023/08/06(日) 21:15:56.82ID:5kraJYIW
>>278
根本的に勘違いしているようだが
GC言語が遅いのはGCでメモリ解放処理をするためではない
GCが起きる前に終わってしまうプログラムでも遅いことを知っているはずだ

もう一つ
Rustはメモリ自動解放されるからfree()とか気にする必要はない
RustはCLI含めて様々な用途に向いている

さらにもう一つ
「CLIみたいなすぐ終了するプログラム」
CLIとGUIでそんな差があると勘違いする人はかなり珍しい
CLIであろうが時間のかかる様々な処理にサーバーなどすぐに終了しないものが多い
2023/08/06(日) 21:24:44.11ID:dxxU0i4r
C/C++ → ライブラリの用意がめんどい(cargoとかnpmみたいな現代的な仕組みがデファクトで存在しない)
Ruby, JS, Python, Java → 処理系のバージョンや依存ライブラリのインストールに悩まされる。バイナリポンできない。
Go → GCとかでフットプリントがでかい?わりと Go でもいいじゃん派。

clap の出来もいいし向いているかはさておき秀作として CLI から始めやすいしバイナリポンでプロダクション投入しやすいのはあるね。
2023/08/06(日) 21:28:44.29ID:xFPyICNs
バイナリポンって何かの栄養ドリンクみたいだ
284デフォルトの名無しさん
垢版 |
2023/08/06(日) 21:32:26.35ID:0QxiCITa
>>282
>C/C++ → ライブラリの用意がめんどい(cargoとかnpmみたいな現代的な仕組みがデファクトで存在しない)
はい? 何がめんどい?
2023/08/06(日) 21:33:53.00ID:0QxiCITa
>>282
>Ruby, JS, Python, Java → 処理系のバージョンや依存ライブラリのインストールに悩まされる。バイナリポンできない。
aptでええがな
2023/08/06(日) 21:34:47.11ID:/D5+TjxD
>>281
>Rustはメモリ自動解放されるからfree()とか気にする必要はない

はあ?
Cでfreeしない場合はGC言語みたいに好きに書けるけどRustはそもそもルールを守って書かないとコンパイルが通らないだろ?
そもそもそのコンパイルを通すためにルールを守ることを強制するってのがどうなのって話
データ構造やアルゴリズムに制限を加えてるってことだよね
287デフォルトの名無しさん
垢版 |
2023/08/06(日) 21:42:33.91ID:wMXJiymC
>>278
新手のアホが現れた!
2023/08/06(日) 21:53:53.68ID:5kraJYIW
>>286
何を言いたいのかさっぱりわからない
プログラミング経験がないのか?
289デフォルトの名無しさん
垢版 |
2023/08/06(日) 22:09:03.59ID:0QxiCITa
>>189
GPT4を舐めてはいけない
I: C++プログラムのバグを教えて欲しいのですが? コードレビューをできますか?
G: もちろんです、お気軽にコードを共有してください。
バグを特定したり、最適化やリファクタリングの提案をしたりできます。
I:
#include <thread>
#include <chrono>
using namespace std;
int main () {
using Lock = lock_guard <mutex>;
mutex m0;
mutex m1;
thread th0 {
[&] () {
Lock l0 {m0};
this_thread::sleep_for (chrono::seconds {1});
Lock l1 {m1};
}
};
thread th1 {
[&] () {
Lock l1 {m1};
Lock l0 {m0};
}
};
th0.join ();
th1.join ();
return 0;
}
290デフォルトの名無しさん
垢版 |
2023/08/06(日) 22:11:02.39ID:0QxiCITa
G: このC++のコードにはデッドロック(両方のスレッドが無限に待機する状態)があります。
th0スレッドはm0をロックし、その後m1をロックしようとします。
一方、th1スレッドはm1をロックし、その後m0をロックしようとします。
これは次のようなシナリオでデッドロックになる可能性があります:
1. th0がm0をロックします。
2. th1がm1をロックします。
3. th0がm1をロックしようとしますが、m1は既にth1によってロックされているため、
th0はm1が解放されるのを待つことになります。
4. 同様に、th1がm0をロックしようとしますが、
m0は既にth0によってロックされているため、
th1はm0が解放されるのを待つことになります。
結果として、どちらのスレッドも他方がmutexを解放するのを無限に待つことになり、
デッドロックになります。
これを解決するためには、両方のスレッドがmutexを取得する順序を一貫させることが重要です。
以下に修正したコードを示します:
291デフォルトの名無しさん
垢版 |
2023/08/06(日) 22:11:54.17ID:0QxiCITa
G:
#include <thread>
#include <chrono>
using namespace std;
int main () {
using Lock = lock_guard<mutex>;
mutex m0;
mutex m1;
thread th0 {
[&] () {
Lock l0 {m0};
this_thread::sleep_for (chrono::seconds {1});
Lock l1 {m1};
}
};
thread th1 {
[&] () {
Lock l0 {m0};
Lock l1 {m1};
}
};
th0.join ();
th1.join ();
return 0;
}
G: この修正により、どちらのスレッドも最初にm0をロックし、その後m1をロックします。
このようにすることで、スレッド間のデッドロックを避けることができます。
292デフォルトの名無しさん
垢版 |
2023/08/06(日) 22:14:32.72ID:0QxiCITa
まもなくVisual Studioを始めとした開発環境にGPTが統合されるだろうから
Rustのセールスポイントの価値は崩壊する
2023/08/06(日) 22:18:09.75ID:/D5+TjxD
>>288
競プロでもRustが向いてないのはそういうことだし、データ構造やアルゴリズムの実装パターンに制限を与えるのがRust言語だよね
freeを一切しないってのもプログラムの設計パターンとしてあるし、そうやって実装されてるコンパイラもあるわけ

低レイヤを触るプロフェッショナルからしたらそんなの足枷になるだけだろ?
コンパイルも遅くなるし

ある意味縛りプレイを強要しているわけ
マゾ言語だな
2023/08/06(日) 22:26:15.02ID:5kraJYIW
>>293
壮大な勘違いをしているようで何を言いたいのかわからん
話を単純にするためにRustのことは横においとくとして
C言語でfree()をすると実装パターンに制限を与えるからfree()しない方がよいという主張なのか?
2023/08/06(日) 22:26:41.46ID:xFPyICNs
>>292
それ、プログラマも要らなくならないか?
296デフォルトの名無しさん
垢版 |
2023/08/06(日) 22:27:43.74ID:0QxiCITa
家でもパンツくらい履け派と履かんでもよかろうもん派
297デフォルトの名無しさん
垢版 |
2023/08/06(日) 22:29:56.52ID:0QxiCITa
>>295
要件を定義するのに特化したのがプログラミング言語だから
自然言語での要件定義は不効率だと思うよ
数式なしの数学の本が本当に良いか?って話と同じ
2023/08/06(日) 22:31:22.30ID:/D5+TjxD
>>294
Cだとmallocするだけでメモリ解放はプロセス終了時に任せるという設計パターンが取れるわけで、そのすればGC言語と同じように好きなタイミングで動的確保していけるわけだけど
Rustはできるの?できないだろ?

これは設計パターンを制限していることになるよね

同じくCで書かれたコードをそのままRustに移植すると難しかったりするだろう?
一種の書き方を制限することでプログラマの自由度をなくすのがRustの本質だよね
2023/08/06(日) 22:35:05.72ID:0QxiCITa
Cだとパンツは外出するときに履けば良いわけで
Rustは家の中でパンツを履くのを強制している
夏はパンツ蒸れるねん
2023/08/06(日) 22:35:14.35ID:5kraJYIW
>>292
どうみてもRustと無関係な話あるいは全ての言語に関係ある話だな
その手の話はRust叩きに使えない
301デフォルトの名無しさん
垢版 |
2023/08/06(日) 22:39:21.65ID:0QxiCITa
>>300
Rust最大のセールスポイントを
GPTを用いたコードチェッカの登場により
その他の言語全てが手に入れるという話
おまけにGPTを用いたチェッカーは
Rustでも不可能なデッドロックの検出可能となる
2023/08/06(日) 22:43:39.08ID:5kraJYIW
>>298
Rustで何ができないと言ってるのかわからない
何か出来なかったことでもあるのか?
Rustでもメモリの返還を最後までしないあるいは途中で返還せずクライアント毎やバッチ毎にまとめて解放は普通に行なわれている手法
2023/08/06(日) 22:51:03.33ID:5kraJYIW
>>301
100%は合っていなくても大体合っていればいい文章生成動画像生成ならともかく
量が増えたり複雑化すると簡単な計算すら間違えるため数値計算にすら使えない状況で
100%確実なRustに対してどんなアドバンテージがあるんだよ
セキュリティ面を考えるなら吐かせるコードもRustにすれば解決だからRustが有利になる主張なら理解できる
2023/08/06(日) 23:01:43.37ID:dxxU0i4r
>>284
そこの面倒さが分からないの旧世代すぎだろ。

>>285
ディストリ毎の対応面倒すぎるだろ。MacとかWindowsも対応したいケースもあるし。
2023/08/06(日) 23:08:50.38ID:0QxiCITa
これまでRustを始めようとしてきた者は
学習コストの高さと享受されるメモリ安全を天秤に掛けて
なんとかRustを選んできた訳だがセールスポイントを失うのだよ
GPTを使用したコードチェッカはRustにとっては逆風だよ
C/C++のように普及した状態ではなくこれから布教させようってときに
2023/08/06(日) 23:13:30.02ID:0QxiCITa
トランスフォーマーって意味の理解をしているわけではないとよく言われるが
>>289>>290の解説が返ってくるところ
意味の理解が出来てるようにしか見えないなぁ...
規模がでかいってのは凄いやね
2023/08/06(日) 23:56:34.67ID:BLzBDKrS
>>305
学習コストはほとんど同じ
そもそも所有権やムーブのことならC++でも学習するしその学習に半日もかからない
2023/08/07(月) 00:21:48.23ID:xccab0Og
ChatGPTの登場でRustが有利になってるよ
ChatGPTは桁が大きくなったり複雑になったりすると計算すら間違うように論理的なことは苦手で100%を求められるチェックには向かないが
多少間違うかもしれないけど大雑把な生成は得意なのでコードの叩き台には役立つ
したがって叩き台のRustコードを吐かせて必要なら人間が補正指示を出すとともに100%チェックしてくれるRustコンパイラが通るコードを吐かせれば相性も効率も完璧
2023/08/07(月) 05:59:36.42ID:r5QIvx3G
>>288
お前がプログラムの経験無いだろw
2023/08/07(月) 09:23:32.99ID:yk4PtrI0
ChatGPTが監査しました、でお客様が納得するか、なんだよな

コンパイルが通る通らないでチェックしてくれるほうがいいっちゃいい
これは、C++のsanitizerも同様
2023/08/07(月) 10:18:41.03ID:PaVldV1Z
今年に入ってどこも社会はLLM利用の体制を整えてきたと思う
当たり前の世界に直ぐなるよ
2023/08/07(月) 10:59:05.68ID:O+2ha1KL
ならば、パソコンだけで処理する時代が終わり、スパコン必須の時代に
入ったと言うことか。
313デフォルトの名無しさん
垢版 |
2023/08/07(月) 11:04:17.89ID:wl/Lx6N5
動的型言語とGC言語をごっちゃにしてる人も存在するねこのすれ
2023/08/07(月) 11:08:25.70ID:O+2ha1KL
OSS推進の結果、パソコン向けのソフトウェアを売って儲けることが
不可能となり、アメリカのテック企業はサーバーサイドでスパコン
を差別化と参入障壁にし出した。Googleの検索エンジンもスパコン
有りき。AIも学習過程はスパコン有りき。パソコンでは不可能。
315デフォルトの名無しさん
垢版 |
2023/08/07(月) 11:08:56.21ID:wl/Lx6N5
>>296
めっちゃ判り易いωωω
パンツはかない方が絶対速い
2023/08/07(月) 11:14:25.47ID:O+2ha1KL
OSS推進の結果、プログラマーの活躍が出来る時代は終焉した。
今後は、大資本を持つ大企業がスパコン有り気で設ける時代に
なるだろう。ベンチャーの時代も終わった。
2023/08/07(月) 11:15:24.33ID:O+2ha1KL
>>316
OSS推進の結果、プログラマーが活躍出来る時代は終焉した。
今後は大資本を持つ大企業がスパコン有りきで儲ける時代に
なるだろう。ベンチャーの時代も終わった。
2023/08/07(月) 11:19:47.49ID:O+2ha1KL
プログラマは高校生男子のなりたい職業No.1らしいが、もう時代遅れだ。
OSS推進をやめない限り、プログラマの価値は下がり続けるだろう。
319デフォルトの名無しさん
垢版 |
2023/08/07(月) 11:21:40.36ID:bRk0wqmp
>>314
スパコンww
基本的なことを知らなさ過ぎるのに
それを自認できないから妄想爺になるんだな
勉強になるわ
320デフォルトの名無しさん
垢版 |
2023/08/07(月) 11:23:38.99ID:PaVldV1Z
>>316
Visual C++で個人利用のPC用のソフトを書いて販売
って最も原始的なビジネスモデルはとっくに終わっている

>OSS推進の結果、プログラマーの活躍が出来る時代は終焉した。
大企業で働いたりその資本で下請けのプログラマーとしてやれば良いのでは?

あるいはあくまで個人利用のソフトを書いて
ビジネスと考えるなら携帯用のソフトならありえる
321デフォルトの名無しさん
垢版 |
2023/08/07(月) 11:26:11.06ID:wl/Lx6N5
今の若いもんには携帯ソフトって言っても通じないだろ
携帯アプリと言え
2023/08/07(月) 11:28:10.28ID:PaVldV1Z
>>321
歳がバレるねwww
2023/08/07(月) 11:33:12.04ID:O+2ha1KL
>>320
>大企業で働いたりその資本で下請けのプログラマーとしてやれば良いのでは?
日本やEUにとっては、それは、自国が税金を使って育てた人材が
アメリカ企業に利用されることになるし、若者にとっては脱サラや
一国一乗の主になるという夢が絶対に実現しない最悪の社会になる
事を意味する。
2023/08/07(月) 11:52:17.87ID:PaVldV1Z
>>323
>>>320
>>大企業で働いたりその資本で下請けのプログラマーとしてやれば良いのでは?
>日本やEUにとっては、それは、自国が税金を使って育てた人材が
>アメリカ企業に利用されることになるし、
なんだそれ? 日本人は日本企業でしか働いてはいけないという主張か?

>若者にとっては脱サラや
>一国一乗の主になるという夢が絶対に実現しない最悪の社会になる
>事を意味する。
あなたはビジネスの発想が最も古典的(原始的)なところ
1990年代で止まってしまっている
ソフトを書くこと自体は特に設備も大した能力もなく誰でも出来るんだよ
誰でも出来るってことは社会ではそれほどの価値しかないということ
2023/08/07(月) 12:10:36.37ID:O+2ha1KL
>>324
若者がなりたいのはプログラマーであって、経営者そのものではない。
2023/08/07(月) 12:17:53.31ID:O+2ha1KL
日本政府は、「全ての人にやりがいが感じられる社会にする」と
言っているが、プログラマー志望の人が、プログラマーが苦しむ
ような会社を起業すれば、同級生や友達から軽蔑されるだろう。
2023/08/07(月) 12:19:34.72ID:tKO1YUKH
一国一乗の主って零細ソフトハウスの社長かなんか?
アメリカ企業で出世するほうがよっぽど夢があるな
2023/08/07(月) 12:21:14.10ID:O+2ha1KL
>>327
それは日本人を苦しめることになるので同級生達に顔向けできない。
329デフォルトの名無しさん
垢版 |
2023/08/07(月) 12:21:22.38ID:PaVldV1Z
>>325
お前は若くないだろw
330デフォルトの名無しさん
垢版 |
2023/08/07(月) 12:23:43.79ID:PaVldV1Z
およそ社会生活をやってると思えない書き込みなんだよね
国粋主義っぽいことをたまに書くけど活動家ってほどの知識もなさそうだし
高齢で引きこもりでもしてるのかな?
2023/08/07(月) 12:29:12.66ID:tKO1YUKH
>>328
俺の同級生はそんな頭のおかしいこと言わないよ
2023/08/07(月) 13:21:06.73ID:MwGn1X2Z
そもそも、アメリカで複雑な仕事が出来るほどの英語力を
身に付けられるエンジニアは少ない。それと、銃で殺される
問題や、人種差別問題もある。アジア人はプールにも入れて
もらえないと聞いた。
333デフォルトの名無しさん
垢版 |
2023/08/07(月) 13:38:19.93ID:PaVldV1Z
引きこもってるのかな?
2023/08/07(月) 13:39:24.01ID:tKO1YUKH
>>332
あなたもあなたの同級生も優秀なんだから問題ないでしょ
2023/08/07(月) 13:44:01.43ID:MwGn1X2Z
そもそも祖国を離れてアメリカで仕事をするには勇気がいる。
長男だった場合、一家が途絶える。
また、少子化で長男率が高くなっている。
2023/08/07(月) 13:44:54.08ID:MwGn1X2Z
>>334
小学校の時の同級生は優秀ではない。普通の公立の小学校だったから。
2023/08/07(月) 14:02:19.21ID:PaVldV1Z
>>335
>そもそも祖国を離れてアメリカで仕事をするには勇気がいる。
じゃ日本法人で働いても下請けのプログラマでもやれば良いのでは?

>長男だった場合、一家が途絶える。
徳川義崇さんの発言なら分かるが
338デフォルトの名無しさん
垢版 |
2023/08/07(月) 14:31:05.13ID:RHbvZbrY
アメリカで一番不安なのは医療でしょ。
Rust純正の行列演算ライブラリはベース部分が大分完成してきて、行列積の演算速度はそろそろnumpyには並びそう。
339デフォルトの名無しさん
垢版 |
2023/08/07(月) 14:34:58.40ID:RHbvZbrY
>>338
ちなみに速度の測定は1000×1000の行列積の計算でやってる。
2023/08/07(月) 14:42:50.91ID:rb3/YCLt
>>338
個人的には、なんかあった時、日本だったら助けてもらえるの
ではないかと思っている。甘い考えかも知れないが、最後、
生まれも育ちも先祖も日本人のよしみで、最後の最後、
見捨てられることはないかも知れないのではないか、と
いう期待がある。
2023/08/07(月) 15:00:06.76ID:PaVldV1Z
何の話やw
342デフォルトの名無しさん
垢版 |
2023/08/07(月) 15:04:51.88ID:hvYMzefA
>>92
ほんなら黙っとけばよろしいやんw
343デフォルトの名無しさん
垢版 |
2023/08/07(月) 15:19:56.08ID:25iuuICz
ほんと類は友を呼ぶとは良く言ったもの
2023/08/07(月) 17:55:19.17ID:Q9XpCjLv
TIOBE Index for August 2023
August Headline: Julia enters the TIOBE index top 20 for the first time
https://www.tiobe.com/tiobe-index/

Juliaに抜かれたら笑う
2023/08/07(月) 18:18:36.82ID:Lr/s88yL
JuliaはPythonの対抗馬では
2023/08/08(火) 10:02:56.07ID:cg+EEj6n
>>344
来年にはRustの名前も出てこない
2023/08/08(火) 11:54:18.38ID:oQ0p2DKQ
OSSは、「最初の開発者が飽きても開発が継続できる」と言われるが
実際は、まるっきり環境が変化してしまって勉強し直しや、修正が
必要になる事が多い。mingw、mingw64、cygwin、msys、msys2
WSL、WSL2 など、それぞれの違いが微妙のようで大きく複雑で
混乱の元となる。ヘッダファイルやライブラリの違いで悩まされ、
コンパイラは有るがリンカが無い、リンカのライセンスが複雑、
ライブラリがGPLでGPL感染する、など、面倒な問題をはらむ。
以前と使い勝手が大幅に事なり、困惑することが多い。
348デフォルトの名無しさん
垢版 |
2023/08/08(火) 12:15:07.02ID:EIkuJgHr
>>347
>OSSは、「最初の開発者が飽きても開発が継続できる」と言われるが
>実際は、まるっきり環境が変化してしまって勉強し直しや、修正が
>必要になる事が多い。mingw、mingw64、cygwin、msys、msys2
>WSL、WSL2 など、それぞれの違いが微妙のようで大きく複雑で
>混乱の元となる。
それらは違うプロジェクトだから違って当然
寧ろかなり似ているから同じプロジェクトだと勘違いして混乱してるのかもね

>コンパイラは有るがリンカが無い、リンカのライセンスが複雑、
なにそれ?

>ライブラリがGPLでGPL感染する、など、面倒な問題をはらむ。
ライセンスに合意しないで使用してはいけない
お店で金を払わずに商品を取ってきてはいけないのと一緒
2023/08/08(火) 12:26:19.58ID:GPTi8Y/9
arないとかある?
2023/08/08(火) 12:34:59.62ID:LdBE/h7f
>>344
本当にシープラ置き換えるならGOくらい抜いてもらわないとな
2023/08/08(火) 14:22:00.48ID:009JWdC0
OSSの中では一番ましなCodeBlocks+wxWidgetの組み合わせも、
wxWidgetがLGPLなのも現実的に利用不可な理由の一つ。
CodeBlocks自体にも問題が有るが。
それに、そんなものを使っても、良い方向に進化してくれない。
普通、商品を買えば進化してくれる期待があるから寄付や投票
の意味で購入するが、OSSではそれができない。
2023/08/08(火) 14:52:02.60ID:EIkuJgHr
>>351
>wxWidgetがLGPLなのも現実的に利用不可な理由の一つ。
何で?
2023/08/08(火) 16:55:55.48ID:eLss8xR0
OSSでも寄付はできるよな
2023/08/08(火) 17:46:26.03ID:3yFS8o2o
自分で勝手に進化させることもできる
2023/08/08(火) 19:02:09.69ID:f/O9i9AU
電気ドライバー、ジグソー、ボール盤など、道具は、自分で作るの
ではなく完成品が欲しい。
2023/08/08(火) 19:04:19.87ID:f/O9i9AU
それより大事なのは、作ったものを適正価格で売れるという当たり前の
環境。OSSは、それを破壊してしまうから協力したくない。
2023/08/08(火) 19:05:03.07ID:f/O9i9AU
ストールマンもRustの作者もサイコパスだと思う。
2023/08/08(火) 19:32:15.72ID:eLss8xR0
わかったから糞レス連投で荒らすな
お前はSteamでクソゲーを適正価格で買いまくって一生プレイしてろ
2023/08/08(火) 19:32:17.16ID:EIkuJgHr
>>356
「適正価格」ってのはおまいさんが売りたい価格じゃないんだよ
2023/08/08(火) 19:33:29.30ID:f/O9i9AU
適正価格と言うのは、1000円や500円かもしれない。
OSSは0円だからアカンのだ。
2023/08/08(火) 19:34:02.96ID:f/O9i9AU
0円ではどうにもなら無い。
2023/08/08(火) 19:38:11.25ID:f/O9i9AU
ソフトが0円になった結果、人を集めて広告料で儲ける仕組み
しかなくなって、万人向けのサービスと、異常に高いソフトしか
なくなり、ニッチだが中間的な価格のソフトが存在しなくなって
しまった。
363デフォルトの名無しさん
垢版 |
2023/08/08(火) 19:43:30.38ID:EIkuJgHr
>>360
ソフトウェアってのは複製コストが0円なんだから
0円で書ける人がいるのなら1000円や500円は適正でない
364デフォルトの名無しさん
垢版 |
2023/08/08(火) 19:43:38.36ID:5dVTb6/Q
だよな
ソフトやアプリは無料で
プラグインやアプリ内課金やサポートωなんやらで儲けるのを
LGPLは妨げない
2023/08/08(火) 19:44:42.51ID:f/O9i9AU
>>364
彼らは絶対、プラグインもGPL感染させようとするぜ。
2023/08/08(火) 19:47:51.09ID:f/O9i9AU
>>363
検索エンジンは既にインフラであり、公共財の様になっていて、
電力会社や携帯キャリアが大儲けできるのと同じ状態。
そのアメリカ企業が儲けた金で大量のプログラマを使って
開発したソフトを各国の国会の許可無く世界中にばら撒いては、
自国のソフト産業が壊滅的になってしまう。
2023/08/08(火) 19:50:45.19ID:f/O9i9AU
今の状態は、Googleが税金で作らせたソフトを世界中にばら
撒いているようなもん。
「税金じゃないから自由じゃん」
では通らない。
そんなことをするには、各国の国会の許可が必要。
もっとコントロールして80%の税金を払わせないと駄目。
税金は元々そのような意味もあるんだから。
2023/08/08(火) 19:52:26.19ID:f/O9i9AU
どの企業も同じでは駄目で、検索エンジンだけは税率を90%位に
あげなくては、公平さが失われ、アメリカだけが裕福になり、
他国は全くソフト開発できなくなる。
2023/08/08(火) 19:58:54.97ID:f/O9i9AU
>>364
現実に上手く行っている日本企業は一つも無いはず。
アメリカ企業でもRedHatみたいに不可解な企業以外にはないはず。
370デフォルトの名無しさん
垢版 |
2023/08/08(火) 19:59:00.73ID:EIkuJgHr
>>367
意味不明
少なくとも日本は法治国家なんだから
法律に従わなければ違法となる
法律はもちろん選挙によって選ばれた
議員により構成される国会で立法されている
違法でなければそれが民意ということだよ
371デフォルトの名無しさん
垢版 |
2023/08/08(火) 20:00:37.60ID:EIkuJgHr
>>369
どこが不可解なのかな?
前にあなたはもの凄いことを書いてたが
RedHatは決算が公表されている上場企業だよ?
2023/08/08(火) 20:03:27.13ID:f/O9i9AU
>>371
日本企業が同じ事やっても大赤字になるのに、RedHatだけが
儲かっている異常さ。同じ事やっても結果が違うと言うことは、
経済原理に合わない。ということは、カルト信者が存在する
ことが濃厚。
373デフォルトの名無しさん
垢版 |
2023/08/08(火) 20:07:37.45ID:EIkuJgHr
>>372
RedHatが粉飾決算をしていると言ってるようだが
粉飾決算は犯罪なのを知らないのかな?
2023/08/08(火) 20:13:26.33ID:ExODjGY4
スレ終わってて草
375デフォルトの名無しさん
垢版 |
2023/08/08(火) 20:29:37.78ID:EIkuJgHr
なんで個人利用のPC用のソフトを書いて販売って
原始的なビジネスモデルしか発想に出てこないのが謎

OSSで商売をする4つのビジネスモデル
https://japan.zdnet.com/article/35079152/
2023/08/08(火) 20:32:45.09ID:EIkuJgHr
この人は昔の(90年代くらい?)成功体験に囚われているってことなのかなぁ
377デフォルトの名無しさん
垢版 |
2023/08/08(火) 21:24:51.93ID:5dVTb6/Q
スレの勢いは凄いから自演じゃなければ人を釣る才能はあるな
人を釣るところから金を巻き上げる技術が不足してる
378デフォルトの名無しさん
垢版 |
2023/08/09(水) 00:57:37.63ID:52BV6d5f
>>286
C言語でルール守らないで書いてコンパイラ通るってどう書くの?
2023/08/09(水) 02:52:00.59ID:jqgw93U5
>>373
粉飾決算だとは言ってない。
カルト信者に支えられている、と言っている。
イギリス陸軍、アメリカのUPS、アルゼンチンの最大電力会社
などからの大量資金注入もある。
2023/08/09(水) 04:37:35.82ID:sTvPpveH
Rustってライセンスよく確認しない人たちから異様に嫌われてるよな
そういう人と距離置くためだけに学習するのも 'アリ' なんじゃないか?
381デフォルトの名無しさん
垢版 |
2023/08/09(水) 08:06:55.77ID:KudoDE9V
>C言語でルール守らないで書いてコンパイラ通る

コンパイラ通るけど行儀が悪いと言われるコードは溢れている
バグったまま気付かれていないコードも溢れている
行儀が悪いと言われることとルールを守らないことがどの程度一致するかは
それぞれの言葉の定義次第でもあるがその定義がそもそも揺れている
2023/08/09(水) 09:25:56.45ID:4G39Yip7
>>286 > そもそもそのコンパイルを通すためにルールを守ることを強制するってのがどうなのって話

そこが難しいところ
バグが減るような絶妙なルールってのを、長らくC/C++は持たなかった

Rustが大胆にそれを提唱して、受け入れられつつある いまここ

いまのRustがベストかはわからない RustIIみたいなものがさらに生まれるのかもしれん
だが、C/C++に、「絶妙な追加ルール」が求められてるのは事実
2023/08/09(水) 10:15:40.71ID:d1rS34Kx
Haskellみたいに良いところだけ他の言語に輸出する存在になってくれ
書くの怠いから流行らないで🥹
2023/08/09(水) 10:19:43.35ID:3REJ4mFD
IT土方・奴隷専用言語になりそう
385デフォルトの名無しさん
垢版 |
2023/08/09(水) 11:49:44.99ID:eti7LkEA
>>379
>粉飾決算だとは言ってない。

以下のように確かに言っとる
https://mevius.5ch.net/test/read.cgi/tech/1686046386/629
>RedHatが大儲けしていると言うのも嘘。カルト信者の
>集団協力により、数値が捏造されているだけ。

内心に何らかの仮説を持つことは構わないが
それを事実かどうかも検証もせずに
抑制せず外に表出してしまうことが普通の人と違う
これは被害者を生み出すことになるので差し控えよ
2023/08/09(水) 12:50:36.33ID:kBXZpU/Z
>>385
信者が大量購入していることもOSSの評判を上げるための捏造と言えば捏造。
2023/08/09(水) 12:56:25.06ID:RCE4XY7X
このossガイジは何でここにいるんですか
388デフォルトの名無しさん
垢版 |
2023/08/09(水) 13:10:58.78ID:eti7LkEA
>>386
お前は「大儲けは嘘」と書いた上で「数値が捏造されている」と明確に書いている
つまりRedhatは本当は利益が出ていないのに
決算の数値を捏造して公表していると主張をしていることになる
RedHatは犯罪を行ってると主張していることになるが?
ちゃんと撤回したら?
2023/08/09(水) 13:13:08.91ID:eti7LkEA
社会と接点が少ないのかな?
390デフォルトの名無しさん
垢版 |
2023/08/09(水) 13:43:19.43ID:BNdrSQY2
>381-382
C/C++は微妙にルールから(意図的に)外れて良いのがウケたんだよ
C/C++を必要以上に縛ったらそれはもうC/C++ではない
べつもの
2023/08/09(水) 13:48:08.84ID:NtiLiHZs
>>387
彼はRust信者のいいエサになるからここにいてくれて構わないよ
2023/08/09(水) 13:49:27.73ID:kBXZpU/Z
>>388
信者からのお布施で利益は出ているよ。
2023/08/09(水) 13:52:13.76ID:kBXZpU/Z
恐らく決算は、捏造はして無いだろう。
信者のお布施で利益が出ている企業が、普通の企業のように
振舞っていると言うだけで。
394デフォルトの名無しさん
垢版 |
2023/08/09(水) 14:34:58.64ID:eti7LkEA
>>392,393
>恐らく決算は、捏造はして無いだろう。
素直に撤回すれば良い
憶測だけで根拠なく他人を犯罪者呼ばわりすると名誉毀損になる

>>375にも上げたけどまずは以下を読むと良い
OSSで商売をする4つのビジネスモデル
https://japan.zdnet.com/article/35079152/
2023/08/09(水) 14:43:07.04ID:kBXZpU/Z
>>394
金持ちにかかれば、どんなものでも儲かっているかのように偽装でき
るので、自分の主張を通すことが可能で、OSSを世界に広めたいなら、
その通りにすることが出来る。
396デフォルトの名無しさん
垢版 |
2023/08/09(水) 14:50:47.99ID:eti7LkEA
>>395
>儲かっているかのように偽装
日本では「2. システムインテグレーションモデル」が多いと思うが
なぜ彼らが犯罪に手を染めると考えるのか?
動機はどのように考えているのか?
2023/08/09(水) 16:18:24.81ID:coMLMuQp
未完成で納品して改修で回収するエコシステムです本当にありがとうございました
2023/08/09(水) 16:28:15.95ID:zFVj5RMR
「OSSでも儲かる教」のフロント企業RedHatがカルト信者による
偽装であったことがばれたから、火消しに躍起なのでは。
2023/08/09(水) 16:31:02.88ID:zFVj5RMR
フランチャイズ店の9割が赤字なのに、本部が一部の店舗だけは
儲かるように制御し、それを代表例としてオーナー希望者に
例示する事例にそっくり。
2023/08/09(水) 17:08:10.43ID:TCixdvMN
>>398
お、偽計業務妨害罪かな?
2023/08/09(水) 17:24:18.32ID:coMLMuQp
フランチャイズ本部が儲かると思うなら本部へ行けば良いのに
自分は店舗側だと思い込むのはなぜなんだぜ
ひょっとして良い人なのかω
2023/08/09(水) 17:28:11.88ID:zFVj5RMR
合法ではあるだろうが、サポートって言っても実質なんもやってない
ように見える。イギリス軍の幹部がOSS教に信仰があるのではないか。
2023/08/09(水) 17:30:29.84ID:zFVj5RMR
それぞれ自分の頭でRedHatが正しいことやっているかどうかよく
考えればいい。日本は言論の自由がある国だ。反論があるなら
反論すればいい。どっちが本当の事言っているかは議論の流れで
それぞれが判断するしかない。
404デフォルトの名無しさん
垢版 |
2023/08/09(水) 18:43:32.55ID:eti7LkEA
>>398
頭大丈夫か?
訳が有って引きこもってるのかもと思ってたが
論理的思考が弱いのかも
2023/08/09(水) 19:04:52.39ID:lV7h0aDK
六本木麻布虎ノ門の森ビルみりゃ判るだろ
日本は土地貸しが儲かるんだよ
他は全部雑魚
2023/08/09(水) 19:48:56.75ID:cJH15gQ2
頭おかしいやつの巣窟スレ
何しにこの板に来てるのこのキチガイども
2023/08/10(木) 00:30:45.76ID:vt0bUu0s
一人で訳のわからん活動してる人以外はみんな暇つぶしでしょ
2023/08/10(木) 00:58:04.34ID:0vFj846W
複おじのこと?
2023/08/10(木) 01:49:53.47ID:7/Y68wnk
長年にわたってカーネルをいじり続けているのに、あんな程度
にしかならないなんて、技術力がとても低いんだね、RedHatって。
410デフォルトの名無しさん
垢版 |
2023/08/10(木) 03:25:55.25ID:GpbD/XFE
赤帽の話してるんだ?
スレタイ観ろ
マ板逝け
2023/08/10(木) 07:01:26.51ID:5X3hd1pF
>>310
そういうチェック監査でChatGPTが使われることは永遠にない
ChatGPTは知能ではなく学習パターン知識に過ぎない
その学習も過学習や学習汚染で劣化する
対応できていない部分のためのモデル改善も他部分の劣化を引き起こす

> OpenAIのChatGPTなどのチャットAIは、医師免許試験の合格や驚異的な精度で数学を解くことができることが報告されています。
> しかし、2023年3月から6月の間に、ChatGPTが簡単な数学を解く精度などが急激に低下していることが報告されています。
> このようなAIの知能低下は「ドリフト」と呼ばれ、非常に複雑なAIモデルの一部を改善しようとすると、モデルの他の部分のパフォーマンスが低下する問題。

What is a 'AI drift' and why is it making ChatGPT dumber?
https://www.zdnet.com/article/what-is-a-ai-drift-and-why-is-it-making-chatgpt-dumber/

Why ChatGPT Is Getting Dumber at Basic Math
https://www.wsj.com/articles/chatgpt-openai-math-artificial-intelligence-8aba83f0
2023/08/10(木) 07:29:09.11ID:nHaPilWV
Rustが流行ることも永遠にないよな
2023/08/10(木) 07:51:31.52ID:5X3hd1pF
言語自体でチェック監査が可能なRustが主流となる
ChatGPTはチェック監査に不向きだがRustコンパイラが通り指定条件を満たすようChatGPTへ指示を出せばよく相性がベスト
ChatGPTができない部分だけをRustプログラマーが補佐する形になる
言語自体でチェック監査が不可能なC++にこのやり方は無理なのでC++は消える
2023/08/10(木) 10:24:38.58ID:N8H1hIah
>>411,412
直ぐ改善されると思うよ
2023/08/10(木) 10:32:16.61ID:eJMpU410
流行りはしないでしょ多分
それ狙って作った言語でもないわけだし
ゆっくり一部でcやc++から置き換えられる程度でしょ
2023/08/10(木) 11:36:51.13ID:4zA2CAEH
>>413
コーティング規約を取り込んでいるのはRustの強みだけど、学習曲線が絶壁になる問題は解決できていない。

管理側はRustで土方のコード品質を高めたいんだけど、高級土方が必要になってコスト増になる両刃の剣。
2023/08/10(木) 12:07:49.78ID:N8H1hIah
>>416
GPTは現状でもコーディング規約とソースを読み込ませれば
規約違反の箇所も柔軟にチェックしてくれるし
修正を提案してくれる
数年以内にコードチェッカとして利用が一般的になると思う
2023/08/10(木) 12:10:25.94ID:N8H1hIah
俺はデッドロックの検出が特に凄いと思う
2023/08/10(木) 12:43:56.01ID:TCjBXd2s
>>418
Rustというより、スタック構造が凄い。

もっとスタックフレーム指向の言語が出てこないかね。
2023/08/10(木) 12:54:36.01ID:N8H1hIah
>>419
俺が褒めてるのはGPTだよ
Rustはデッドロックは検出出来ないだろ?
2023/08/10(木) 13:24:44.50ID:TDFX2KBb
ネットで議論が上手く行かない理由はいくつかある:
・利害関係にある当事者が出てきてしまい、第三者による議論が深まらない。
・驚いた顔や困った顔、反論できない顔、憤った顔、自信がある顔、
 自信が無い顔などが見えないから、どっちが優勢か判断しにくい。
 本当は困り果てた末、考えまくって反論してきているだけなのに、
 まともな反論の様に見えてしまうことがある。
・年齢も分からない。結果、基礎的な勉強も終わって無い中学生が議論に参加していることがある。
・匿名な故に本当に優秀な人や専門性が有る人がどちらか分からない。
・優秀すぎると一週回って、馬鹿なように見えることがあるが、匿名
 な故に経歴が分からないからそれを見極められない。
422デフォルトの名無しさん
垢版 |
2023/08/10(木) 13:26:42.93ID:N8H1hIah
>>421
そういうのは権威主義と言って
議論において最も害悪で排除しなければならいなことだよ
423デフォルトの名無しさん
垢版 |
2023/08/10(木) 13:28:40.76ID:N8H1hIah
議論というのは純粋に内容で勝負しなければならない
相手が中学生か大学の教授かで左右される議論など不毛の極み
2023/08/10(木) 13:30:10.28ID:TDFX2KBb
違うな。
2023/08/10(木) 13:33:02.36ID:TDFX2KBb
討論会でも、見解に問題がある方は困った顔になることが多い。
サイコパスで無い限りは。
だから、中国の学生と討論すると中国人は負ける。なぜなら、
中国政府に嘘を叩き込まれていて、本当の情報を知らされて無い事
がその場で彼ら自身が悟るからだ。
負けたかどうかは表情で分かる。
ネットではそれが難しい。
426デフォルトの名無しさん
垢版 |
2023/08/10(木) 13:34:01.23ID:N8H1hIah
違わない
権威主義とは権威におもねり結論が左右されること
権威主義はアカデミアにおいて害悪しかもたらさない
2023/08/10(木) 13:35:03.18ID:N8H1hIah
>>425
議論は内容だけで勝負したまえ
2023/08/10(木) 13:35:40.75ID:TDFX2KBb
>>426
そうでもない。中学生はまだ、十分に社会の事が分かって無いから
高度な議論には速すぎる。彼らを議論に参加させるとデタラメに
なり、社会が劣化してしまう。
429デフォルトの名無しさん
垢版 |
2023/08/10(木) 13:36:16.80ID:TDFX2KBb
>>427
不可能。
一定水準以上の頭脳を持った人だけを選別しないといけない。
だから、大企業は強い。
2023/08/10(木) 13:38:02.25ID:N8H1hIah
>>428
もしそうであるなら発言内容に反映されるだろうから
内容をもって判断すれば良いだけ
中学生の見解だからと事前にフィルターを掛けてはいけない
優秀な中学生もいるかもよ
431デフォルトの名無しさん
垢版 |
2023/08/10(木) 13:38:41.45ID:TDFX2KBb
>>430
頭が優秀なだけでは駄目。
2023/08/10(木) 13:39:45.14ID:N8H1hIah
>>429
人間は権威に左右されるので難しいのは分かるが努力すべし
馴染みがないかもしれないが例えば論文の査読は匿名で行われる
なぜか?
2023/08/10(木) 13:44:10.38ID:N8H1hIah
>>431
優秀かどうかは内容を持って判断することで
身分・職分で判断することではない
議論に権威を持ち込んではいけない
2023/08/10(木) 13:44:46.02ID:TDFX2KBb
>>432
中学生が査読者にはなれないはずだが。
2023/08/10(木) 13:45:05.15ID:TDFX2KBb
>>433
不可能。
2023/08/10(木) 13:46:58.60ID:TDFX2KBb
こないだの常温超伝導の是非も、Natureや東大教授が
「間違いであると断定できる」
といいきれば、それを疑う人は少ないだろうが、中学生が
言っても無理だ。
2023/08/10(木) 13:55:13.19ID:N8H1hIah
>>436
それは議論とは言わない
例えば中学生が
根拠を示してその論理立てが正しければ賛同すれば良いし
根拠や論理立てに不備があればそれについて反論すれば良い
中学生が言っていることを根拠に
正しいだとか正しくないだとかは議論ではない
なぜか?
中学生であることを間違っている根拠にすると反証可能性がないから
2023/08/10(木) 14:03:47.10ID:+S50cMJC
技術的なことだけなら、中学生でも議論できるかも知れない。
ところが、社会的なことは無理。区別する必要がある。
だから選挙権が無いわけだから。
もっといえば、国会議員になるためには20歳でも無理。
2023/08/10(木) 14:06:35.39ID:+S50cMJC
たとえば中学生は、RedHatやOSS振興団体の書いている事を
鵜呑みにしたりするだろう。
また、実力があれば評価される、と思い込んでいるだろう。
なぜなら、中学校は至って実力主義だからだ。
ところが、日本は実力社会じゃないから実力があっても登って
いけないことを大人達は知っている。
2023/08/10(木) 14:08:36.33ID:+S50cMJC
中学生は、自分の親父が社会で実力をまともに評価されているか、問うてみろ。
もしかして、自分の世代は、社会が進化したので、実力が評価される様になった、と思っているのか?
2023/08/10(木) 14:21:05.99ID:N8H1hIah
>>438
>ところが、社会的なことは無理。区別する必要がある。
中学生が拙い発言をしたら発言内容を批判すれば良いだけ
技術的なことも社会的なことも関係ない
中学生だからという身分を根拠にするのはナンセンス

>>439,440
そんな悪習を認識していながら肯定する者が害悪だよ
社会を良くするように皆が不断の努力をすべし
2023/08/10(木) 14:48:12.15ID:QCsZIB3p
暇そう
2023/08/10(木) 14:55:57.11ID:4zA2CAEH
>>423
「勝負」と考えている時点で間違っている。

議論は言葉通り「議題に対して論ずる」こと。議題に関する知見を深めたり合意を形成したりするために行うのであり、優劣を競うためでは無い。
議論に勝ち負けは無く、共同作業による成果物があるだけ。
議論は参加者全員が勝者になるものであり、敗者が居るなら参加者全員が敗者。

ディベートごっこなら学校でやったら?
議論と討論の違いを理解できていないお子様が増えたよなぁ。
444デフォルトの名無しさん
垢版 |
2023/08/10(木) 15:08:11.66ID:N8H1hIah
>>443
議論でも討論でもどちらでも良いよ
権威を持ち込む害悪はどちらでも共通だから

>>421
>ネットで議論が上手く行かない理由はいくつかある:
>・利害関係にある当事者が出てきてしまい、第三者による議論が深まらない。
>・驚いた顔や困った顔、反論できない顔、憤った顔、自信がある顔、
> 自信が無い顔などが見えないから、どっちが優勢か判断しにくい。
> 本当は困り果てた末、考えまくって反論してきているだけなのに、
> まともな反論の様に見えてしまうことがある。
>・年齢も分からない。結果、基礎的な勉強も終わって無い中学生が議論に参加していることがある。
>・匿名な故に本当に優秀な人や専門性が有る人がどちらか分からない。
>・優秀すぎると一週回って、馬鹿なように見えることがあるが、匿名
> な故に経歴が分からないからそれを見極められない。
上記の話の発端を読むと>>443の討論の話をしたかったのかもね?
いずれにしても内容ではなく発言者が何者かで
左右されるほど不毛な議論・討論はないだろう
2023/08/10(木) 16:11:02.69ID:UqfNZ1Ym
全部翻訳しようと思ったけど途中で飽きた(後半は内容が薄すぎる)

ネットで議論が上手く行かない理由はいくつかある:
→ ネットで自分が優位に議論を進められない理由はいくつかある:

・利害関係にある当事者が出てきてしまい、第三者による議論が深まらない。
→ 専門的な知識をもつ人が出てきてしまい、知識のない第三者を思い通りに誘導することができない。

・驚いた顔や困った顔、反論できない顔、憤った顔、自信がある顔、
 自信が無い顔などが見えないから、どっちが優勢か判断しにくい。
 本当は困り果てた末、考えまくって反論してきているだけなのに、
 まともな反論の様に見えてしまうことがある。
→ 自信満々にでたらめな論理を展開することで相手を困惑させて自分を優位に見せる戦略が使えない。
  またネット掲示板だと考える時間があるため、でたらめな論理はまともに反論されてしまう。

・年齢も分からない。結果、基礎的な勉強も終わって無い中学生が議論に参加していることがある。
→ 年齢が分からないため、相手を経験不足や不勉強扱いして反論を無効化する戦略が使えない。
2023/08/10(木) 17:28:33.13ID:+S50cMJC
>>445
中高生くらいまでの学校教育では、公平に扱うようにして
ある。だんだん、賄賂や個人的趣向によって差別が発生
するようになる。
2023/08/10(木) 17:59:34.25ID:+SjlWkjp
板の主旨もわからない、スレの主旨もわからない、言葉の使い方もわからない
そんな人がこのスレで何やってるの?恥さらし?
2023/08/10(木) 18:07:41.06ID:nHaPilWV
>>421
↑これ書いてる人とRustを推してる人ってもしかして同じ人なの?
2023/08/10(木) 18:21:14.94ID:QCsZIB3p
定年で暇なんでしょ
2023/08/10(木) 19:02:38.74ID:B5gl5lye
あとで読むようにするけど、とにかく「おもろいこと書いた奴が優勝」な
こっちも生い先短いんだ
2023/08/10(木) 20:03:46.94ID:dPBiTrlA
>>449
この人は社会人あるいは社会人だったことがないんだと思う
2023/08/10(木) 20:30:32.39ID:ygto10X6
学歴だけはいい人かもな
2023/08/10(木) 20:55:53.16ID:N8H1hIah
>>452
>>421を見ると大事なことを学ばなかったと言わざるを得ない
2023/08/10(木) 21:18:43.23ID:FO5ouFJP
>>453
「議題」に触れていない時点で「議論」を語る資格無いわな。

議論は議題を中心とした共同作業なのに、参加者同士の優劣とか勝ち負けみたいなどうでもいいマウンティングしか考えていない。

儒教の暗黒面に汚染された人間はこんなふうになるのかね。
455デフォルトの名無しさん
垢版 |
2023/08/11(金) 04:09:52.00ID:x/+DaYj5
Rustって整数の乗算と加算にどれくらい速度差があるの?
2023/08/11(金) 09:04:06.41ID:/t3LBfIN
どのプログラミング言語でも(多倍長や10進数を除く)普通の整数は各CPUなどの整数とその演算に変換されて実行されるのよ
整数は加算も乗算もレジスタ上なら1サイクルで同じ
ただし演算とは別にレジスタ上になければメモリ読み出しがキャッシュに乗ってるかどうかで数サイクル~数百サイクルかかっちゃう
ちなみに割り算はレジスタ上で最大数十サイクルかかるから要注意ね
2023/08/11(金) 09:43:31.98ID:w3TirOac
cargo もゴミ
2023/08/11(金) 09:48:25.26ID:v1edpQDw
C/C++ のプロジェクトでメンバー集まってコードレビューが必要←判る
Rust のプロジェクトでメンバー集まってのコードレビューは不要←イミフ
459デフォルトの名無しさん
垢版 |
2023/08/11(金) 09:50:53.94ID:v1edpQDw
>>422
その通り
>>423
>相手が中学生か大学の教授かで左右される議論など不毛の極み
まあ匿名で顔見えなくても文章観れば大体想像付く
460デフォルトの名無しさん
垢版 |
2023/08/11(金) 09:59:02.80ID:hYruq4ix
>>458
イミフ
2023/08/11(金) 10:25:01.11ID:D5DH6GEJ
>>459
論理的思考が苦手っぽい
2023/08/11(金) 11:23:06.47ID:cIca4AVY
権威主義といえば思い出す某氏のクソムーブ
https://mevius.5ch.net/test/read.cgi/tech/1683154196/622-655
2023/08/11(金) 11:27:25.18ID:we6MJRfi
C++やRustのようにムーブできる言語はよいとして
ムーブできない言語はクソ
2023/08/11(金) 11:39:15.17ID:we6MJRfi
Zigはムーブがなく手動管理なのか
465デフォルトの名無しさん
垢版 |
2023/08/11(金) 13:48:46.35ID:vD9QNIuw
https://pbs.twimg.com/media/F3NoZWQa0AADrCT.jpg
      
466デフォルトの名無しさん
垢版 |
2023/08/11(金) 14:29:11.25ID:h6monURE
複オジは全く反省してないのな
人としてどうかと思うぞ
467デフォルトの名無しさん
垢版 |
2023/08/11(金) 14:34:50.84ID:49xh90gO
>>465
今からやってみる
2023/08/11(金) 16:39:36.46ID:9Ui8tf7y
こんなスレでTikTokのステマとか意味ないだろw
板の上位だけど少人数で盛り上がってるだけで多分ひねくれたやつしか見てないぞ
469デフォルトの名無しさん
垢版 |
2023/08/11(金) 19:15:09.38ID:v1edpQDw
違う板でも観掛けたぞこいつ
2023/08/11(金) 19:21:54.92ID:R6JAV/56
>>469
わざわざ板違いのスレ上げんなカス
2023/08/12(土) 11:25:03.97ID:H/leygs+
Rustの次の言語に期待
2023/08/12(土) 12:16:14.06ID:ZM0gWz5B
次の言語……喪女とか?
473デフォルトの名無しさん
垢版 |
2023/08/12(土) 12:51:04.15ID:dY5kAy+o
『統合失調症』の東海版全体検索
https://bakusai.com/sch_all/acode=5/word=%E7%B5%B1%E5%90%88%E5%A4%B1%E8%AA%BF%E7%97%87/
※タイトルにテクノロジー関係のものを見られると論文内容記載在り

ボイス・トォ・スカルひな型作成方法
【電磁波兵器の特許情報】Google検索!

【無敵の人】Google検索
神の声兵器被害者!

統合失調症などやエレトロニック・ハラスメント被害者先輩からまだ気ずいていない後輩へ
ボイス・トォ・スカル一式作成して使用できないものは
一族郎党もてあそばれる人生になる!
神の声兵器の口癖はお前が○○だから絶対殺すに変化する!
国崩しの神の声兵器!

細胞に「タトゥー」を入れる技術が発明
生きた細胞にセンサーや電子機器を取り付けるための第一歩となる」と、研究をリードした化学・生体分子教授のデビッド・グラシアス氏は語る。
※誰も神の声兵器からは逃れられないな!
474デフォルトの名無しさん
垢版 |
2023/08/13(日) 11:50:09.52ID:mxfdwtiA
やっぱ Rust 布教してる人らアタオカ
https://www.youtube.com/watch?v=QRUK9ylS4ho
https://www.youtube.com/watch?v=OUC75Uprk8U
2023/08/13(日) 12:44:25.09ID:5yrNXict
言語の比較でRustに言及しただけで布教とかアンチRust脳の方が心配になるな
どんな認知バイアスだよ
2023/08/13(日) 12:51:21.66ID:TCPg9Wc9
今までずーっとすごくRustをプッシュしてるキチガイが居たせいじゃね?
2023/08/13(日) 13:45:23.88ID:mxfdwtiA
過去形で言うな
2023/08/13(日) 13:53:44.70ID:vFwUOkI/
pythonみたいなバブルは起きなかったな

やっぱコンパイラは一般には敷居が高過ぎる
2023/08/13(日) 14:30:08.75ID:tHmkYv0T
pythonみたいにキラーコンテンツが出てくればね
2023/08/13(日) 14:39:18.34ID:5yrNXict
Python引き合いに出すならもう少し長いスパンで見ないといけない
今調べたらPython3のリリースが15年前でびびったw
2023/08/13(日) 15:38:16.44ID:vFwUOkI/
pythonって言うかAIバブルだわな
2023/08/13(日) 15:57:49.32ID:vFwUOkI/
microsoftがrust似の言語を研究してるらしい話はどうなったんだろ?
2023/08/13(日) 16:01:42.74ID:1hpxkrQ5
もっとスタックフレーム指向の言語が出て来てほしいわ。

スタック変数への参照を特別扱いするだけでずいぶん違うと思うけどな。
2023/08/13(日) 17:17:16.81ID:5yrNXict
スタックから抜けるときのデストラクタで解放される
ヒープメモリの参照はどういう扱いになるの
2023/08/13(日) 18:15:35.65ID:awv4eMN6
自問自答の予感
486デフォルトの名無しさん
垢版 |
2023/08/13(日) 19:03:22.75ID:ewxrLHid
Pythonだって3.5くらいまでマイナー言語だったろ
2023/08/14(月) 06:39:23.92ID:2hrq0i+N
2系の時点でかなりメジャーだったよ
2023/08/14(月) 11:05:19.43ID:dxszbvIe
当時はrubyとpythonが張り合ってたイメージがあるな
国内限定だったのかもしれないけど
aiが出てきて機械学習のための優秀なライブラリが出てきた辺から抜け出た感じがする
2023/08/14(月) 13:46:20.39ID:JlnnwsPw
いやそれ以前にlinux標準のコマンドとしてpytthon2が入ってた
AIはその後
2023/08/14(月) 13:51:26.67ID:FZySjbfz
Python2はstrがバイト列でunicodeと別だったから日本だとマイナーだったと思う
Rubyは知らないけどRuby on Railsで流行ってた
Python3で互換性切り捨てたときはPython終了とか言われてたけど結果的に成功だったな

個人的にはアノテーション足されてから気軽さが消えて逆に使いにくくなってしまった
大規模な開発で必要なのは分かるんだけど
小さいコードでもアノテーション付けないと罪悪感を感じてしまうw
2023/08/14(月) 15:48:01.12ID:EAtYctPi
国産スクリプト言語ということでRubyが
各種媒体で押されてたのがPython2の頃に日本で
マイナーだった理由だと思う
492デフォルトの名無しさん
垢版 |
2023/08/14(月) 20:01:27.50ID:KSpEuPpD
>個人的にはアノテーション足されてから気軽さが消えて逆に使いにくくなってしまった

+1
493デフォルトの名無しさん
垢版 |
2023/08/14(月) 20:03:06.97ID:KSpEuPpD
>>491
本屋の勢力版図がubyからpythonにみごとに置き換わった感
Rustは始まってすらいない
2023/08/14(月) 20:17:44.58ID:2hrq0i+N
RUSTの利点が分かる人ってアセンブラ、C、C++、Java(とかの参照カウンタ方式GC言語)を一通りやってきた人じゃないとわからないから難しいと思うわ
495デフォルトの名無しさん
垢版 |
2023/08/14(月) 21:30:32.88ID:yK8O8NW+
じゃ普及しないじゃん
2023/08/14(月) 21:44:52.61ID:h0ddCJfE
そんなスクリプト言語たちと比較してどうするのよ
まずはインフラからRustが制覇していく順序でしょ

>世界のウェブインフラもRust製

>【CDN世界トップシェアCloudflare】
https://www.publickey1.jp/blog/22/cloudflarenginxrusthttppingoracdncpu31.html
>CDNプロバイダのCloudflareは、同社のグローバルなCDNの基盤として長らく利用してきたNGINXに代えて、
>同社自身がRust製のHTTPプロキシである「Pingora」を開発し利 用していることを明らかにしました。

>【クラウド世界トップシェアAWS】
https://japan.zdnet.com/article/35183866/
>Rustで構築されたAWSサービスの例としては、
>コンテナーアプリ用のサーバーレスプラットフォーム「Lamba」を支える「Firecracker」、
>「Amazon Simple Storage Service(S3)」、
>「Amazon Elastic Compute Cloud(EC2)」、
>コンテンツ配信ネットワーク「Amazon CloudFront」、
>LinuxベースのコンテナーOS「Bottlerocket」などがある。
497デフォルトの名無しさん
垢版 |
2023/08/15(火) 03:15:17.25ID:eu+UdA0l
web あほか
こんなもん基幹じゃねーわ
2023/08/15(火) 05:14:10.15ID:KoTNLqBs
>>496
それなのにこれ→>>344
2023/08/15(火) 10:06:19.43ID:hN2JVlE4
CDNを基幹でないと考えた理由は「webだから」ってことかな
まあ考え方は人それぞれだろうけど
2023/08/15(火) 10:30:36.12ID:8at2H6c0
RustをやるとわかるGCのありがたさ
2023/08/15(火) 11:39:52.02ID:iPTGOgbs
rustでもgcはやる
rustにgcはないというのは誰かがrustの優位性を宣伝するためのセリフで考えたものなんだろけどそれが間違って広まってる
2023/08/15(火) 14:02:19.04ID:NO5QUQUT
GCのある言語とはGCを前提として設計されGCランタイムを必ず伴う言語を指す

C/C++/RustはGCのない言語
高速で省メモリの優位性がある
2023/08/15(火) 14:56:14.96ID:RZpxqBG2
少し前まで、crate=ライブラリだと思っていて、
crateは何万個(?)も有るらしいから、Rustのライブラリは物凄く
充実しているんだな、なんて思っていたが、大きな
勘違いだった。C++でも、主要なライブラリは100個もあるか
どうかで、それでも全言語で最大レベルだと考えられている
ので、おかしいな、とは思っていたが。
Rustのcrateは、部品の様なものでライブラリとはまた別の
概念のようだ。
2023/08/15(火) 15:28:13.54ID:6nsBcPHM
どの言語でもライブラリは部品のこと
ライブラリに依存関係があるように小さな部品も大きな部品も巨大な部品もある
さらに言語によって状況は様々で標準ライブラリの意味と範囲もピンキリ
2023/08/15(火) 15:41:06.46ID:RZpxqBG2
C++のライブラリは、多くの場合、数百以上の関数が
集まって形成されていて、1つですべての機能が
まかなえるのに対し、Rustのcrateは、関数が一個
の場合も有り得て、複数のcrateを合わせてやっと1つの
ライブラリとしての役割を果たすようになる。
2023/08/15(火) 16:05:45.04ID:6nsBcPHM
>>505
視野が狭いな
色んなライブラリがある
言語によっても様々
2023/08/15(火) 17:13:18.71ID:1/g4nKNh
Rustは詐欺ってことが言いたかった。
視野が狭いといい放つのも、相手を馬鹿にして自分の欠点を
認めない詭弁。
508デフォルトの名無しさん
垢版 |
2023/08/15(火) 17:50:46.40ID:Yb7IgN6D
>>507
>crate=ライブラリだと思っていて、
単にこの認識が違うだけでは?
俺はRustは使わんのだがこれのどこが欠点なのかな?
2023/08/15(火) 18:26:34.33ID:p1cFBpP6
Rustが輝くのはC, C++の置き換えだからカーネルとかの低レイヤーには向いてるが
Webなどのバックエンドには全く向いていない
GCも進化しているわけで、それで問題になるケースなんてなくなるだろう
GoもGCが進化しているからよくRustワナビーが貼るDiscordの記事も今では問題にならないことはGo作者が公言済み

ただLinuxカーネルとかUNIXやコンパイラといった低レイヤはC++ではなく言語仕様がシンプルで自由度の高いCを好む傾向にある
gitもC++ではなくCを採用した理由としてLinusがC++を嫌いなのはあまりにも有名

こういった層にとってはRustはC++のように言語仕様が複雑であり、Cのような自由度はなくむしろある書き方を強制するといったものだから流行ることはまずないと思われる

zigのようにBetter Cなシンプルな言語の方が好まれるはず。(zigは例に出しただけ)

低レイヤ開発者にとってメモリ安全ってのはそこまで受けがいいものではないんだよね
開発者としてバグを作らない自信があるから
2023/08/15(火) 18:29:42.63ID:p1cFBpP6
LinuxなどのOSSな低レイヤソフトには流行ることはないだろうけど
Googleなどといった大企業が率先してRustを採用することで流行ることはあるかもね

メモリ安全ってのはバグを未然に防ぐという観点で経営者側からしたら魅力的だから
2023/08/15(火) 18:32:09.83ID:p1cFBpP6
いずれにしてもC、C++の置き換えって観点でしか流行ることはないと思うよ
Webの用途では全く向いていないので、間違ってもイキって採用しないように
2023/08/15(火) 18:36:18.83ID:KoTNLqBs
javaみたいなIT土方専用言語になるんじゃね
513デフォルトの名無しさん
垢版 |
2023/08/15(火) 19:04:00.30ID:YGCWkhWE
webこそRustだよ
やってみれば分かるんだよなぁ
2023/08/15(火) 19:47:05.27ID:Mk9jf2KH
>>499
インターネットトラフィックの大半がWebとなり
WebベースであるクラウドもWebトラフィックの大半を支えるCDNも
現代のインフラで間違いない

>>511
WebインフラのクラウドもCDNも>>496の記事で示されているようにRust製だ
2023/08/15(火) 20:14:55.20ID:8at2H6c0
RustがIT土方専用言語になることはないかな
C++がその位置にはいないから
2023/08/15(火) 23:02:14.26ID:2Hi/6f7X
Javaだって当初の目的は違ったし
言語仕様を一見web向きには
見えないけどwebに使われてるから
言語の設計から語ってもどうなるかはわからんよ
2023/08/16(水) 00:09:53.25ID:NsfviM1N
JAVAおじ達が今まで考えもしてなかったメモリリークについて考えて
コーディングするなんて思えない

向いてない
2023/08/16(水) 00:41:34.78ID:cymFZdwF
Javaみたいな古い言語を今さら使うのは惰性で使ってる連中しかいない
Java使うくらいならKotlinを使う
いずれにせよ仮想マシンしかメリットがなく遅い
そして仮想マシンのポータブルコードとしては普及がWasmにとって代わられてしまった
それならRustで書いて必要ならWasmへコンパイルで十分だろ
2023/08/16(水) 01:02:33.03ID:NsfviM1N
javaを選ぶメリットは開発がほぼ決まりきってると言うこと
ずっと同じようなフレームワークと開発手法でずっとやって来た

Rustを学んでそのあとに何らかのフレームワークや開発手法やデバッグとか学習するなんて無駄すぎる
2023/08/16(水) 01:12:29.01ID:vZRE6HCs
>>519
自分でバカなことを言ってると自覚できてる?
その主張だとどんなに酷い非効率なダメな環境でも
「ずっと同じ手法でやってきた」
「新たなことを学習するのは無駄すぎる」
プログラミングに限らずあらゆる分野でのダメ人間の典型
2023/08/16(水) 01:26:04.55ID:n91eivk5
まぁ上手く動いているものを変えるなってのはあるな
碌なことはないし完了して振り返ってみても
だいたい徒労という感想に終わる
2023/08/16(水) 01:28:10.98ID:t47YHrrw
全然関係ないんだけど最近ルビキチをあんまり見ていない気がする
2023/08/16(水) 01:51:08.14ID:sNz4AtIG
記法がwebな人と親和性が高いのと、
webはwebでも、webサーバのリプレースはガチ
セキュリティは喫緊の課題だし、どんどん新しくなっていく今の流れに合う

>>520
新たなことを学習してるって公言するのは無駄すぎる
(ほんとは着手してるけど)しないって公言するほうがまだあるある
2023/08/16(水) 01:58:18.56ID:N5bIbKLx
>>514
最近のWebはさらなる効率化のために各CDNのEdgeサービスでWasmコードを動かすのも増えてるよな
もちろんソースコードはRustで記述
525デフォルトの名無しさん
垢版 |
2023/08/16(水) 09:46:53.50ID:5BVIBhRy
>>465
これなら効率的にポイント増やせそう
2023/08/16(水) 10:58:08.24ID:NsfviM1N
>>520
今現在でRust上でjavaの案件をリプレースできるだけのフレームワークがないし
そういう人材もいない

javaではダングリングポインタなどの問題は余程おかしなことをしてないと起こらない
javaの案件をRustに移して得られるメリットは速度が速くなることぐらいでそこまで速度を重視した案件はほぼない

javaで構築されたECサイトをRustで書き換えることに何か意味があるのか?
527デフォルトの名無しさん
垢版 |
2023/08/16(水) 11:01:07.15ID:tgyEZLGb
>>509
>Better Cなシンプルな言語

zig例に出しただけは理解した
Nimはもうオワコン?
528デフォルトの名無しさん
垢版 |
2023/08/16(水) 11:06:32.20ID:tgyEZLGb
>>522
触ると涌くぞ
悟ったんだろ
2023/08/16(水) 11:10:54.92ID:tgyEZLGb
>>526
将来Javaラーは減ってRust使える若者が増える
Javaのままでは保守出来ないし維持出来なくなってreplace需要が興る
COBOLと同じ運命
530デフォルトの名無しさん
垢版 |
2023/08/16(水) 11:33:43.71ID:+gCuzwIP
Javaは進化してるのと海外だと技術力あるやつの裾野が広いからCOBOL以上に廃れないと思う
日本の低技術力&土方体質な状況と古いJavaしか知らないと廃れると思っても仕方ない
2023/08/16(水) 12:11:36.24ID:NsfviM1N
>>529
それはないかな
今現在メモリ解放について意識してないでコード書いて不自由してないのに
何でわざわざ関心の集中先じゃないメモリ解放について考えないといけないのか?

メモリ解放なんてビジネスロジックと無関係なことに時間を割くのは無駄だろう?
2023/08/16(水) 12:14:25.63ID:NsfviM1N
java開発の人間がRust導入して得られるメリットは何ですか?
2023/08/16(水) 12:18:06.75ID:16hpX62c
>>526
Rustに置き換えて早くなるのかは微妙
2023/08/16(水) 12:21:18.76ID:NsfviM1N
Rustからjavaに変更すると

開発速度と生産性の向上:
Javaはガベージコレクションを使用するため、メモリ管理が簡単であり、一般的にRustよりも開発速度が高い場合があります。
また、Javaの豊富なライブラリやフレームワークを活用することで、アプリケーションの構築やデプロイが迅速に行えます。

エコシステムの豊富さ:
Javaは長い歴史と広範なコミュニティを持っており、豊富なツール、ライブラリ、フレームワークが利用可能です。
これにより、様々なアプリケーションの要件に対応しやすくなります。
535デフォルトの名無しさん
垢版 |
2023/08/16(水) 12:44:57.52ID:hYsWlKM3
RustへリプレースされないからJavaのほうが優れてるという理論はおかしい
Java->Rust
Rust->Java
で比較しないと
2023/08/16(水) 13:09:07.78ID:/FZlOIZi
rustから何かに移行するにしろJavaは無いわ
そのプロジェクトは既に地雷だわ
2023/08/16(水) 13:18:46.82ID:n91eivk5
もうrustからの移行を考えているの? 逃げ足はやっ
2023/08/16(水) 13:25:05.96ID:NsfviM1N
JavaからRustへの移行のデメリット

学習コスト:
生態系の制約:
コードの複雑さ:
生産性の低下:
コミュニティとサポートの違い:
2023/08/16(水) 13:35:42.57ID:1Zp4aXCn
>>534
FacebookやInstagramのMeta社が
Javaで書かれていたBuck1をシステム改修して
Rustで書き直したBuck2にした時の話が多数出ている
例えば次の4つの項目が挙げられている。

①Rustのasync/awaitシンタックスは、非同期のコードをとてもスムーズに記述でき、
複雑な並行処理の詳細を正しく理解するのに役立ちました。

②Rustには開発効率を高めて可読性と保守性を高める多くの高レベルな言語機能があります。
それらはenum(代数的データ型)、パターンマッチング、トレイト、手続き型マクロなどで、多くの開発者に愛されています。

③Rustは必要に応じてメモリの割り当てをより細かく制御することもできます。
ガベージコレクションのある言語では、Buckが行うようなインクリメンタルな演算に対応するのは困難です。

④Rustは高性能です。
Rustに移植することで劇的な性能向上を私たちは見てきました。

>>531
Rustは自動的にメモリ解放されるため
必要ないところで意識する必要がないメリットがある
必要なところでは細かい制御も可能なメリットもある
2023/08/16(水) 13:54:20.43ID:n91eivk5
@ Cを見るとたまたま社内にRust freakがいたってだけなんだと分かる
2023/08/16(水) 14:07:34.43ID:1Zp4aXCn
>>540
①④の非同期の記述性と高速化に対してそんなに劣等感を感じているの?

現代は多数のCPUコア数と多数の非同期通信を両立させて高速化できることが重要
Rustはその非同期な大量の並行&並列をシンプルかつ最も速く可能にできるプログラミング言語
他の言語だと何らかの欠陥がある
2023/08/16(水) 14:20:22.09ID:16hpX62c
Facebookが赤字に転落したのはもしかして…
543デフォルトの名無しさん
垢版 |
2023/08/16(水) 14:23:14.29ID:V9EFcKYL
一般的企業から見れば意味のないような性能差でもMetaのレベルになれば全く事情が変わるからな
あのクラスに展開するようなソフトウェアを作ってるならJava->Rustは意味がある

Javaにasync/awaitがないのはJava特有の欠点
Rustのasync/awaitも他言語に比べると明らかに複雑で今のところはRustの欠点の一つ

超大規模に展開するようになって初めて大きくなその欠点を補うメリットが出てくる
2023/08/16(水) 14:29:57.44ID:NsfviM1N
そこらの一般企業などで使われる社内システムやサービスでjavaからrustに書き換えるメリットはなんなんですか?
545デフォルトの名無しさん
垢版 |
2023/08/16(水) 14:47:48.88ID:Jm1orbJb
Javaだからrustだからとか関係無く、リプレイス自体が多大なコストとリスクを伴うから、現時点で致命的な問題も無いのにちょっと有利なのでrustに置き換えましょう、なんて全く現実的じゃない。
20年くらい経てば大きく変わってるかもね、みたいな話であって、短期間で大部分が置き換わるとか無理。
それもただの可能性なだけで普及するかなんて誰にもわからない。
半年前生成aiと連呼してた詐欺的な連中ももう虫の息なわけで。
2023/08/16(水) 15:00:02.39ID:Q9pgKsdN
>>543
Rustのasync/awaitが最も高速で安全
それを満たした上で記述性も優れている
重要なポイントは二つ
・大量の非同期タスクをCPUコア数に対してm:nに移動割り当て可でスケジューリングできるかどうか?
・安全かつ高速にメモリ共有および高速にチャネル通信ができるかどうか?

高速性と安全性と保守性を考えると
Rustしか選択肢がない

>>544
どの企業でもどの言語からでも同じ
Rustを採用すれば必ずメリットがある

>>545
正しい
したがって新規の案件や大規模改修からRustを採用するのがベスト
2023/08/16(水) 15:08:58.87ID:16hpX62c
壊れたレコードみたい
2023/08/16(水) 15:14:54.87ID:n91eivk5
>>545
>半年前生成aiと連呼してた詐欺的な連中ももう虫の息なわけで。
これなに?
2023/08/16(水) 15:22:07.69ID:NsfviM1N
>>546

「どの企業でもどの言語からでも同じ Rust を採用すれば必ずメリットがある」とは限らず、
コスト、適切さ、既存エコシステム、スキルセット、リスクなどを考慮する必要があります。
2023/08/16(水) 15:23:43.37ID:n91eivk5
>>546
>Rustしか選択肢がない
C++のコルーチンで良いのでは?
C++の方がプログラマを確保できるよ
551デフォルトの名無しさん
垢版 |
2023/08/16(水) 15:27:50.57ID:nMFlUM5X
実務経験のない複オジがメリットあるある言っても誰も耳を貸さない
著しい情弱を除いて
552デフォルトの名無しさん
垢版 |
2023/08/16(水) 15:52:01.79ID:Jm1orbJb
>>548
もちろん生成ai自体詐欺的とは言わんけど、「プログラマー不要ですね」とか真面目な顔して言ってた人たちのことね。
その時点でもプログラマーを置き換えるような品質ではなかったし、その後劣化疑惑出るんじゃ話にならないですよね?
rustがそれくらい普及すると言い張ってる人も同じレベルですよね?
これからは○○の時代、と言って本当にそれだけ普及した言語ありますか?
何やかんやで結局Javaでしょ?
2023/08/16(水) 15:54:05.77ID:sNz4AtIG
(C++の)コルーチンはいいぞ! (どさくさ

でも、実際にやってみると、おもいっきりダングリング ポインタのピットフォールなので、
そこに所有権関係の縛りが来れば さいつよだな!
2023/08/16(水) 15:57:06.97ID:Yukujl1Z
Erlang最強じゃね
555デフォルトの名無しさん
垢版 |
2023/08/16(水) 15:57:09.28ID:lsG3vWrK
今、行列演算ライブラリ作ってるんだけど、1000×1000の行列のdot演算が0.15秒程かかる。OSはlinuxのUbuntuディストリビューション、CPUはIntel Core i7でクロック数は2.80GHz。手元でnumpyに同様の計算をさせる平均0.04秒だった。まだsimd最適化とかはしてないけどsimdはどれくらい効果があんの?
556デフォルトの名無しさん
垢版 |
2023/08/16(水) 16:00:58.42ID:Yukujl1Z
>>552
Javaは10年掛ったけどRustは5年で追い越すんじゃね
2023/08/16(水) 16:01:09.62ID:Ax6feN+h
>>550
コルーチンはC++20が普及しておらず使える人もほとんどいないという問題がまずあるが
様々なasync/await対応言語の中でC++の可読性が最も低く最悪だ

それらの問題に目をつむるとしてもC++のこの機能はまだ様々問題を抱えている
まず非同期なタスクを扱う様々なユーティリティを含む環境が整っていない
そして一番重要なまともなスケジユーラがない
メモリ共有のためのMutexの非同期対応版もない

そういう状況に加えてメモリ安全性の問題も抱えてしまう
この分野は素直にRustを使うのが良いと思う
558デフォルトの名無しさん
垢版 |
2023/08/16(水) 16:06:05.32ID:n91eivk5
>>552
>rustがそれくらい普及すると言い張ってる人も同じレベルですよね?
AIの進化を舐め過ぎ
自然言語による指示がプログラマーを丸々置き換えることはありえないが
AIはプログラマのかなりの仕事を肩代わりするだろう
rustに比べると遥かに将来性が確約されているよ
559デフォルトの名無しさん
垢版 |
2023/08/16(水) 16:06:56.85ID:lsG3vWrK
>>555
勿論Rustで実装してるぞ。
560デフォルトの名無しさん
垢版 |
2023/08/16(水) 16:07:20.26ID:n91eivk5
>>557
なるほどー
丁寧に教えてくれて有難う
561デフォルトの名無しさん
垢版 |
2023/08/16(水) 16:26:42.73ID:Jm1orbJb
>>558
別にaiの進化を否定しないが、強いaiじゃなきゃ結局人間を完全に置き換えられないことは今回証明されたし、強いai実現の目処は現時点で立ってないのでは?
根拠無しで将来性将来性言うてもしょうもないし、そういう詐欺的な言説を否定してるわけ。
もちろん現時点でも十分使える技術領域があることは否定しない。
562デフォルトの名無しさん
垢版 |
2023/08/16(水) 16:27:42.53ID:Jm1orbJb
まあrust関係無いから甚だしくスレチだわなw
563デフォルトの名無しさん
垢版 |
2023/08/16(水) 16:30:30.71ID:n91eivk5
>>561
>強いaiじゃなきゃ結局人間を完全に置き換えられないことは今回証明されたし
何それ? 「強いAI」? 「証明」?
煽りでなく端折らんで説明してくれい
564デフォルトの名無しさん
垢版 |
2023/08/16(水) 16:45:51.70ID:Jm1orbJb
>>563
いや、流石に自分で検索してください。
別にオレオレ用語じゃないから。
2023/08/16(水) 16:52:58.36ID:Y47nRpeH
ChatGPT活用派は、AI絵師が
「老害は困る」
「いまだに自分の手で書いている奴はアホ」
と言っているのと似ている:
https://www.youtube.com/watch?v=-WwwBlEguSU&ab_channel=ずんだもんの地獄巡り
2023/08/16(水) 16:57:23.54ID:vOIrYr40
>>552
>これからは○○の時代、と言って本当にそれだけ普及した言語ありますか?

Java
567デフォルトの名無しさん
垢版 |
2023/08/16(水) 17:01:43.17ID:n91eivk5
>>564
「今回」は書かにゃどの回か分からんよw
568デフォルトの名無しさん
垢版 |
2023/08/16(水) 17:05:14.24ID:n91eivk5
>>565
最近衝撃受けたのはCode interpreter
1年も立たずにこんなものが出てくる
これはまだまだとんでもない発展をする
2023/08/16(水) 17:06:47.79ID:Y47nRpeH
AI生成は、何度も試してまともなものだけを人間が選んでいるのが
現状らしい。
「体や細部が破綻したものや落書きみたいなものまで
多種多様なため」
「AI絵師はイラストガチャを回して質が高い画像だけを
公開しているのです」
とのこと。だとすれば、ChatGPTが生成したコードも大多数は
バグだらけで一部だけまともに動くということが推定できる。
570デフォルトの名無しさん
垢版 |
2023/08/16(水) 17:09:03.49ID:n91eivk5
>>569
「現状らしい」とか「推定できる」とかじゃなくまず使いなよ
批判があればそれから
2023/08/16(水) 17:32:52.36ID:Y47nRpeH
https://qiita.com/ko1nksm/items/7b17eefdec57640c2bfd

によれば、ChatGPTに関数のコードを渡して、関数の行なっている
内容を問うてみたところ、関数名が replace_all だと細部は
間違ってはいるものの、有る程度正しい解釈が返ってきたが、
同じ関数で関数名だけを repeat_all などとすると、全く
的外れな解釈が返ってきた。
replace で置換、repeat で繰り返し、だと推定して解釈
していただけで、関数の中身までちゃんとフォローして
意味を理解していたわけではないことが露呈した形と
なった。
572デフォルトの名無しさん
垢版 |
2023/08/16(水) 17:35:20.36ID:Jm1orbJb
>>567
そうですねw
chatgptの今回の盛り上がりの件です。
2023/08/16(水) 17:42:26.83ID:Y47nRpeH
それから、置換文字列が重複している場合の問題を避けるため
に正しく対策したコードに対して、むしろ、逆に
置換している場合に正しく動作しない、などと解釈してきた
かと思うと、逆に ChatGPT自らにコード生成させると、
置換文字列が重複した場合に誤動作するコードを
生成してしまう、というプログラミングや数学に向いて無い
生徒みたいな振る舞いをしてしまうようだ。
2023/08/16(水) 17:47:48.34ID:n91eivk5
>>571
>注意 今日発表されたらしい GPT-4 ではありません
おマイさんはちょっとずれたこと書いてるので
まずは使った方が良いぞ
ちょっと高いけども
社会はこの数年で一気に変わる準備をしてるんだから
勉強と思って契約しなさい
2023/08/16(水) 17:49:53.08ID:/FZlOIZi
JavaからAIから話題作りに事欠かないなrust
2023/08/16(水) 17:49:58.26ID:Y47nRpeH
経営に詳しい人によれば、chatgptはマネタイズに失敗し、
倒産する公算が高いと言われ始めた。
だから、必至なのかな。
577デフォルトの名無しさん
垢版 |
2023/08/16(水) 17:57:52.98ID:n91eivk5
>>576
ああ! この人いつもの人かw
ちょっと高いかもしれんが20ドルの価値はあるよ
俺の場合は実用ではなく勉強のために
GPT4リリース日から契約したよ
半年ほどたったがその間に
pluginが出てきてCode Interpreterが登場して
発展速度に驚いている
新しいものに適応するのが苦手かもしれんが
これは社会に組み込まれていくものだから
他人に先じて取り込んだ方が良い
578デフォルトの名無しさん
垢版 |
2023/08/16(水) 18:00:56.94ID:n91eivk5
>>576
どうかな? MSが出資していて
Officeに取り込まれるのに?
2023/08/16(水) 18:01:53.41ID:Y47nRpeH
ChatGPTは、利用者が17億人まで行ったが15億人に減った
そうだ。無料サービスは利用者が増えていかないと破綻する
らしく、減った時点で破綻まっしぐららしい。
しかも、AIは作る人や質問したい人向けのもので、
YouTubeのように子供がだらだら見続けることもないから
広告量で稼ぐこともできない。
DeepL翻訳の様な実用性も無いから有料での使用は絶望的。
ChatGPTは、株で生きているだけで、マネタイズには成功
してないし、これからも成功しないだろう。
twitterがずっと赤字なのと同じ。
2023/08/16(水) 18:02:19.90ID:16hpX62c
RustよりchatGPTを使ってる人の方が遥かに多いと思う
ていうか、Rustって誰も使ってないよね
2023/08/16(水) 18:02:38.02ID:Y47nRpeH
>>577
俺は新しいもの大好きだぞ。
2023/08/16(水) 18:07:41.71ID:n91eivk5
>>581
適応能力が明らかに低いよ
2023/08/16(水) 18:09:17.37ID:Y47nRpeH
https://thebridge.jp/2023/07/chatgpt-sees-10-percent-mom-decline
ChatGPTは、利用者が五ヶ月連続で減少。
一番の原因は、「思ったほど賢くない」こと。
開店時にどの店も行列を作るが、数週間後に閑古鳥となり、破綻する
店は多い。
それにシリコンバレー銀行の破綻などもあれば、アメリカの景気大後退
もある。
総合的に、来年までに倒産するという観測も出てきている。
584デフォルトの名無しさん
垢版 |
2023/08/16(水) 18:09:43.06ID:n91eivk5
>>576のような書き込みも
自分が適応できないことで生じている
認知的不協和を解消するために書いてるんだと
俺は見てるよ
2023/08/16(水) 18:09:46.09ID:Y47nRpeH
>>582
興味ないから。
2023/08/16(水) 18:11:14.53ID:Y47nRpeH
>>584
現実を見てないのは果たしてどちらか?
https://www.youtube.com/watch?v=oCAkHFkSoRk&list=LL&index=10&ab_channel=深田萌絵TV
ChatGPT 倒産危機報道に業界人「やっぱり」
587デフォルトの名無しさん
垢版 |
2023/08/16(水) 18:12:02.10ID:n91eivk5
>>585
本当に興味がないのなら何も書かないんだよ
あえて「倒産する」などと書くのは興味があるんだよ
やらない自分を正当化するために書いているんだよ
2023/08/16(水) 18:17:28.00ID:Y47nRpeH
>>586
[裏付け]
https://www.windowscentral.com/software-apps/chatgpts-fate-hangs-in-the-balance-as-openai-reportedly-edges-closer-to-bankruptcy#:~:text=ChatGPT%20is%20reportedly%20heading%20toward%20bankruptcy.,million%20loss%20since%20debuting%20ChatGPT%2E

ChatGPT's fate hangs in the balance as OpenAI reportedly edges closer to bankruptcy.
ChatGPTの命運を左右するOpenAIの倒産報道
2023/08/16(水) 18:18:24.09ID:Y47nRpeH
>>587
興味は無いが、社会を破壊してしまう心配はしている。
だから、ウォッチはしている。
590デフォルトの名無しさん
垢版 |
2023/08/16(水) 18:21:57.80ID:Y47nRpeH
>>588
[続き]
* OpenAIが破産に近づいていると報じられているため、ChatGPTの運命は瀬戸際にある
知っておくべきこと
・ChatGPTは破産に向かっていると伝えられている。
・チップ不足や利害の分割などにより、このベンチャー企業はほとんど利益を上げておらず、投資家はほとんど損益分岐点に達している。
・OpenAI は、ChatGPT のデビュー以来、すでに 5 億 4,000 万ドルの損失を計上しています。

「同社は倒産の危機に瀕していると報じられている。」
*分析
まず、AIを搭載したチャットボットを運用することは、特にコスト面において簡単なことではない。私たちはすでに、OpenAIが毎日ツールを動かすのに約70万ドルを使用していることを知っている。これはクエリ1件あたり36セントに相当する。シームレスに動作させるためにエヌビディアのような企業からGPUを調達するために使われる金額は言うまでもない。しかし、GPT-3.5とGPT-4を収益化することで、少しでも収益を上げようと努力しているにもかかわらず、OpenAIはこの状態を長く続けることができないかもしれない。マイクロソフトは、最近の投資家数人を伴って、これらの費用に対応している。投資家たちは、投資を回収できない場合、いつまで事業を維持する手助けをするのだろうか?
591デフォルトの名無しさん
垢版 |
2023/08/16(水) 18:22:03.59ID:n91eivk5
>>588
それ読んだ? 噂話で裏付けになっていない
592デフォルトの名無しさん
垢版 |
2023/08/16(水) 18:26:13.04ID:n91eivk5
MSが支えるから大丈夫だよw

GPT-4搭載の「Microsoft 365 Copilot」、文章生成よりも重要なAIの能力とは
https://xtech.nikkei.com/atcl/nxt/column/18/00001/07952/

OpenAIは上場企業じゃないけども今や市場の資金はAI企業に集まっている
2023/08/16(水) 18:54:33.44ID:Y47nRpeH
https://www.youtube.com/watch?v=-WwwBlEguSU&list=LL&index=3&ab_channel=ずんだもんの地獄巡り
【神絵師から爆速でオワコン】AI絵師様になったずんだもんの末路【ずんだもん&ゆっくり解説 】

AI画像生成は、破綻画像や低品質画像を出す率が高いため、何度もトライアンドエラー
を繰り返す必要がある。
また、SNSなどで話題となっているAI画像も、人間がプロ級に画力が有る人で、
手作業で修正していることが有る。
プロは、少しの修正は簡単に出来るから出来ているだけで、AIだけで生成
されていとは限らない。
2023/08/16(水) 19:04:35.20ID:lXXg0DBO
興味津々なんだな
595デフォルトの名無しさん
垢版 |
2023/08/16(水) 20:59:38.35ID:n91eivk5
>>593
自ら触ってから評価すべし
俺はAI画像生成は触らんので何も言わない
2023/08/16(水) 23:09:32.87ID:NsfviM1N
再生数稼ぎのyoutuberの話をうのみにしてるだけで馬鹿げてる
chatGPTのOpenAIは株式非上場ですでに企業価値が4兆円なんだけど…
2023/08/16(水) 23:19:07.73ID:16hpX62c
結論、Rustは終わり
598デフォルトの名無しさん
垢版 |
2023/08/16(水) 23:44:28.01ID:Jm1orbJb
>>596
あなたのレスの中に科学的根拠何かある?
ai自体スレチだが、経済の話しかないならさらにスレチだね。
2023/08/16(水) 23:46:16.73ID:cEmRinaz
>>557
その点がC++が敗れてRustの台頭を招いた技術的な最大の原因っぽいな
C10K対策とasync/await対応を兼ねたモダンな需要にC++が実用的な解を示せなかった
2023/08/16(水) 23:53:08.75ID:NsfviM1N
>>598
マジレス頼むけど
上のレスに科学的に根拠が必要な個所はどこなんだ

か・が・く・て・き・に だ!
601デフォルトの名無しさん
垢版 |
2023/08/17(木) 00:10:55.41ID:+P8PJonD
>>600
しょうもない話は誰も興味無い。
それは科学の話じゃないよw
2023/08/17(木) 01:03:05.11ID:5Gn6RQWL
こいつ前もやってたなコレw
「数学的に」の次は「科学的に」かww
2023/08/17(木) 01:08:52.68ID:a0UknZUa
先生、management scienceは科学に入りますか?
2023/08/17(木) 01:27:54.71ID:HpAmrdyt
>>596
YouTuberと「ChatGPTで一儲けしたい投資家」の
骨肉の戦いが始まりました。
Fight!!
2023/08/17(木) 01:56:59.01ID:ulA9klML
争え……もっと争え……
2023/08/17(木) 01:59:28.59ID:HpAmrdyt
「OpenAIが破産」でググってみろ。
2023/08/17(木) 02:35:59.33ID:IS1r35hV
OpenAIが存続するかに関わらず
LLMが社会に取り込まれるのは確定だよ
君らの周りも今年は対応に追われてないか?
2023/08/17(木) 09:57:29.35ID:jCTlUTJB
言語の質をデータの量で凌駕する作戦がなぜ失敗するのか?

量で凌駕するって言ったのにお金を節約しようとしてるからでしょ
609デフォルトの名無しさん
垢版 |
2023/08/17(木) 13:28:13.01ID:nmPHx5rP
アスペの共通点
御世辞を真に受ける
2023/08/17(木) 13:45:23.19ID:8pt5gLkh
逆にマウンティングを真に受けて、上下関係は社会に必要だと思い込むのも困る
2023/08/17(木) 22:13:42.98ID:kQybzgk4
>>557
そのあたりはC++23でも標準化をあきらめた
低レベルな部品のみ標準化して提供という方針のままのようだ
C++20コルーチン向けライブラリcppcoroは実用的に十分埋めきれていない
C++20コルーチンにも対応したboost.asioもスケジューリング問題にぶち当たる
いずれにしても記述性と簡素さがよろしくない
IT大手各社がC++をあきらめてRustへ走ったのも仕方ないかと
612デフォルトの名無しさん
垢版 |
2023/08/17(木) 23:32:30.60ID:IS1r35hV
マルチスプロセスやマルチスレッドじゃだめなん?
2023/08/18(金) 00:14:51.05ID:cJVMdbtG
>>612
CPUの性能を活かせない
CPUと比べてネット通信はとても遅く待ち時間となるため空き時間をいかに活用できるかが勝負
つまり次々と切り替えて処理していくことになるが
スレッドは各リソースコストも切り替えコストもかかりプロセスはさらにそれらのコストが非常に大きい
そのためCPUの性能を活かすどころか切り替えコストで無駄にしてリソースコストで限界に達していた

そのため例えばJavaScriptはWebブラウザ内でもNode.jsなどでも同様にシングルスレッドの中で多数の通信やGUIなどを並行して非同期に捌けるようにした
Goでも多数の軽量のGoルーチンがシングルスレッドまたはマルチスレッド上で並行して動いて非同期に多数処理できるようにした
Rustの非同期タスク及びC++20のコルーチンも同じ位置付けで両者はほぼ同じ仕組みのライバル同士
614デフォルトの名無しさん
垢版 |
2023/08/18(金) 00:24:29.53ID:tXbZhR4S
>>613
>スレッドは各リソースコストも切り替えコストもかかりプロセスはさらにそれらのコストが非常に大きい
何のコスト?
「切り替えコスト」って書いてるのはユーザーモードから
カーネルモードへの切り替えコスト?
2023/08/18(金) 00:41:08.12ID:7ABRPFiH
プロセス全体をexitしたら各スレッドのデストラクタはどうなるんだろう
Cの標準ライブラリを捨てる
C++のデストラクタを排除する
ネイティブスレッド禁止
の三択かな
2023/08/18(金) 06:19:11.79ID:7A1ztnCR
>>614
スレッドは文脈からネイティブスレッド(OSスレッド)のことだとすると、
スレッド切り替えは少なくとも全レジスタの退避と復帰が必要となり、
プロセス切り替えはさらにメモリ空間の切り替えが加わる。
そして各スレッドは個別のスタック領域を持つためリソース的に大量のスレッド作成は限界個数が早い。
一方でC++20コルーチンやRustのタスクはスタックレスコルーチンなので、
個別スタック領域を必要とせず全レジスタの退避復帰切り替えも必要としないため、
大量に生成することができて極めて軽量に動作することになる。
2023/08/18(金) 09:26:08.12ID:ISPaueS8
並行並列処理に関してはGoにRustは何一つ勝ててないでしょ

Goは標準で並行並列処理をサポート
selectとチャネルとコンテキストがあり、従来のasync/awaitと比べると凝ったことをするのが非常に簡単
キャンセル処理やrate limitingや並列数制御が標準機構で自由自在
標準でサポートしているからどのサードパーティライブラリでも共通の仕組みが利用できる

こういったものが何のライブラリも必要とせず手軽にできるのが最大の強み

Goはコンパイル速度とマルチコアでスケールする並行並列処理のために作られたから
これらの観点でメモリ安全が目的で作られたRustが勝てないのは当然
618デフォルトの名無しさん
垢版 |
2023/08/18(金) 09:40:42.56ID:Xs4y23Ew
並列並行と非同期を対比する阿呆
619デフォルトの名無しさん
垢版 |
2023/08/18(金) 09:47:52.53ID:Rd3M1fjh
干支一周前でこれだからな
http://ponner.blog104.fc2.com/blog-entry-211.html
2023/08/18(金) 09:53:40.51ID:ISPaueS8
>>618
goroutineやnode.jsのpromiseといったもので並行と非同期の違いって何?
別に変わらんし、区別する意味はないぞ

非同期ってのは汎用性が高い言葉で完了を待たないって意味なら何にでも使えるわけで
例えばLinuxでファイルを書き込むときはページキャッシュだけに書き込みディスクIOは非同期に行われる
これを並行処理とは言わないはず
621デフォルトの名無しさん
垢版 |
2023/08/18(金) 09:54:03.98ID:Rd3M1fjh
>>571
中身が replace all する関数で名前が delete all とか違う意味だったらどう解釈するのか教えて
622デフォルトの名無しさん
垢版 |
2023/08/18(金) 09:59:00.46ID:Rd3M1fjh
ChatGPTって観るだけで詐欺を連想するが
>>580
は説得力あるなω
623デフォルトの名無しさん
垢版 |
2023/08/18(金) 10:15:07.27ID:Rd3M1fjh
>>617
Goでアドバンテージ持ってる会社が他社を陥れる為にRustいいぞって噂を流したのかもな
2023/08/18(金) 11:27:41.44ID:7ABRPFiH
お客様を陥れるのが本質
本質を隠す為に同業者を陥れるという噂を流している
2023/08/18(金) 12:31:50.68ID:cs4O4oY8
https://play.rust-lang.org/ とかでも
https://paiza.io/ とかでも
使える crates が少な過ぎるんじゃね
これで普及とか無理やろ
2023/08/18(金) 13:05:03.86ID:Es7nSkHo
>>617
GoでできるそれらのことはRustでもできるよ
むしろチャネルの種類などRustの方が機能も豊富だよ

Goはモダンな言語の中で唯一null安全でないしデータ競合も起きまくるし安全性を無視しすぎかな
それはともかくGoは言語機能が貧弱すぎて辛すぎる
ジェネリクスがようやく入ったけどまともに使えないなど不満が多いよね

結局Goはガベージコレクション言語にすぎないから様々な限界があるよ
C/C++/Rustのように他の言語たちのライブラリ作成もできないしね
2023/08/18(金) 13:14:44.19ID:Es7nSkHo
>C++20コルーチンやRustのタスクはスタックレスコルーチンなので、
>個別スタック領域を必要とせず

Goルーチンは個別のスタック領域を必要としてしまうね
2023/08/18(金) 13:25:35.72ID:ygIBI33X
chatGPTは何で作ってるんだろ?
2023/08/18(金) 13:58:06.66ID:ISPaueS8
>>626
“気軽”にできるといってるわけだが本当に気軽にできるの?
標準ライブラリでサポートしているの?

データ競合に関してはチャネルを使えばある程度は回避できるしrace detectorもあるのでさほど問題にはならない
race conditionに関してはRustでもGoでも検出はできないから結局プログラマの技量になるわけだけど
Rustにしたからといってあらゆる並行並列処理のバグが回避できるものじゃないぞ
そもそも難しいものなんだから
2023/08/18(金) 14:08:17.74ID:oVN8QNav
Goはこんな基本操作でも恐ろしい挙動で驚いた

14 デフォルトの名無しさん 2023/07/28(金) 03:06
その話ならばGoという最悪の言語があって直感と常識を裏切る挙動をしてくる
しかも理解できたと思ったら二転三転と次々と裏切りの挙動をしてくる

// まず [1 2 3] をaに作ってbに代入するところからスタート
a := []int{1, 2, 3}
b := a
// 実験1: 途中要素の書き換え
a[1] = 222
fmt.Println("a =", a) // → [1 222 3]
fmt.Println("b =", b) // → [1 222 3]
// aもbも書き換わってしまった!同じものを指しているのだろうか?

// 実験2: 末尾要素の削除
a = a[:len(a)-1]
fmt.Println("a =", a) // → [1 222]
fmt.Println("b =", b) // → [1 222 3]
// aだけ削除された!aとbは別なのだろうか?

// 実験3: 要素の追加 (その1)
a = append(a, 777)
fmt.Println("a =", a) // → [1 222 777]
fmt.Println("b =", b) // → [1 222 777]
// aとbは再び同じになってしまった!なぜだ??

// 実験4: 要素の追加 (その2)
a = append(a, 999)
fmt.Println("a =", a) // → [1 222 777 999]
fmt.Println("b =", b) // → [1 222 777]
// aだけ追加された!また裏切られた!!
631デフォルトの名無しさん
垢版 |
2023/08/18(金) 14:24:07.82ID:tXbZhR4S
>>629
>race conditionに関してはRustでもGoでも検出はできないから結局プログラマの技量になるわけだけど
そこでChatGPTですよ!
2023/08/18(金) 14:31:02.70ID:KUMKpnb5
>>629
Rustで発生するrace conditionてどういう前提?
普通は発生しないと思うけど
633デフォルトの名無しさん
垢版 |
2023/08/18(金) 15:25:39.40ID:JLPPn6Yw
>>626
5chなら知ったかできて気持ちいいよねw
良かったね
2023/08/18(金) 16:16:34.73ID:7ABRPFiH
常識的に考えれば気持ちいい方が合理的だよ
常識を疑えば、自分が損をしてでも何かを成し遂げるみたいな
合理性のない人間が増えてくる
2023/08/18(金) 16:27:02.47ID:v1tgQeKG
>>630
この話広げるのもなんなんだけどこの挙動はどう説明されるの?
2023/08/18(金) 16:30:59.19ID:ISPaueS8
>>632
race conditionの意味でググってこいよ
機械で検出できない高レベルの競合のことで、並行並列処理するときは常にこれと向き合う必要がある

Rustで検出できるのはdata raceでこれはGoでもランタイムだが検出できるわ
637デフォルトの名無しさん
垢版 |
2023/08/18(金) 16:37:05.86ID:tXbZhR4S
そこでChatGPTですよ!
2023/08/18(金) 16:55:50.42ID:cMwm5CSc
ChatGPTは、捨て垢で使えるようになってから来いよ。。

こう煩いとRust布教されるほうがマシw
2023/08/18(金) 17:08:33.27ID:tXbZhR4S
デッドロック検出できるのって画期的なことだと思うよ
2023/08/18(金) 17:38:45.64ID:KUMKpnb5
>>636
data race関係ないrace conditionを言語で検知してほしいケースなんてあるの?
2023/08/18(金) 17:39:23.48ID:S+r2DpMo
過ぎたるはなんとかってやつか
しつこ過ぎるとダメって事やな
2023/08/18(金) 17:47:16.72ID:ISPaueS8
>>640
Rust信者が何でもコンパイル時に検出できるとか絶対安全!だとか吹聴しているから訂正しているだけだよ

データ競合ならGoでもランタイム時に検出できるわ
2023/08/18(金) 17:47:46.99ID:JBAxLOor
>>640
むしろロックフリーデータ構造は
data raceあり
race conditionなし
の良く出来た高速アルゴリズム
2023/08/18(金) 18:03:31.02ID:ER8wa9uU
実際にGoで作ってるところは有名どころでも並行処理関連のバグ量産してるからRustとはリスクレベルが全く違うわな
2023/08/18(金) 18:43:48.21ID:31/+TCtY
>>636
>>642
データ競合が運用時に検出できても手遅れ
しかもデータ競合を検出するために実行オーバーヘッドを伴うため悪い選択肢となる
この件でも静的にコンパイル時点でデータ競合を検出できるRustが大きく有利だろう
2023/08/18(金) 18:47:47.02ID:7ABRPFiH
ハイリスクハイリターンのように、リスクとリターンの差に意味がある
リスクとリスクの比較や、リターンとリターンの比較は合理的ではないと思う
2023/08/18(金) 19:17:38.70ID:ISPaueS8
>>645
だけど気軽にできないよね
標準の機構で並行並列処理できないよね
async await使うだけでアホみたいに大量の依存をダウンロードしてきてコンパイル爆遅だよね

GoはCとかの手続き型言語を知っていたら、すぐマスターできるけど
Rustで並行並列処理までマスターするのに一体どれだけ時間がかかるんだろうねw
2023/08/18(金) 19:22:26.53ID:Kl/zN5NU
>>635
C++のvectorに相当するのがその>>630のGoのスライス
その挙動は明らかに常識外れで理不尽だがGoの仕様通りの挙動
Goはあちこち設計がおかしい

>>644
このためGoで本格的なプログラミングをすべきではない風潮になってきた
もともと貧相な仕様をシンプル簡素と積極的に評価してきたが無理があった
2023/08/18(金) 19:40:10.54ID:e3KbknBC
>>630
これ挙動わかってるのにわからんないみたいに書いてあるでしょ
配列とスライスのデータ構造はシンプルだからそれを調べれば自明にわかるだろ
他の言語でも

実験2でそんなこと考える奴はいないよね
2023/08/18(金) 19:44:32.36ID:JiE5FPq0
>>630,648
GoのスライスをC++のvector相当、ってのが早とちり過ぎる
Goのslice header, backing memoryの理解をすっ飛ばしただけじゃんw
2023/08/18(金) 19:50:41.88ID:yS5HHAxP
>>630
そんな妙な動きをするプログラミング言語はGoだけだな
2023/08/18(金) 20:23:05.08ID:/GsC+n7c
C++erに無視されてきてつまらなくなってきたので今度はGoをタゲるおじさん
2023/08/18(金) 20:29:00.75ID:VmqYer8d
>>630
使いやすいかどうかは謎だけどスライスだから当然の挙動かなと

実験1 スライスは配列そのものじゃなく参照と長さなのでそういうもの
実験2 aは新しく作った別のスライスを代入してるので当然
実験3 スライスaの末尾に対してappendしてるので当然
実験4 3と同じ スライスaとbの長さが違っているので当然


結論
スライスすら使えない奴は馬鹿
2023/08/18(金) 20:36:58.94ID:ISPaueS8
てかこれを理解できないのであればRustは習得できないんじゃないかね
Rustできるならわかるだろ
2023/08/18(金) 20:38:53.30ID:pJm/stU2
>>653
嫌なら配列使え、ということかね。

配列とスライスの表記に問題があるとは思うけど。[]と[1]で別物というのはやりすぎだわな。
2023/08/18(金) 20:40:40.07ID:VmqYer8d
余談
初期の開発中のC言語にはポインタは int* じゃなくてint[]だった
2023/08/18(金) 20:51:02.38ID:NqAD2XrU
>>630
Goの何がおかしいのかわかった
C++やRustや他の普通の言語ならば
bがaのコピーならばその実験1~4すべてでaとbは異なる
bがaを参照しているならばその実験1~4すべてでaとbは同じになる
その二つのケースどちらかになる
Goは実験を進めるごとにaとbが異なったり再び同じになったり再び異なったりおかしい
2023/08/18(金) 20:54:15.45ID:VmqYer8d
わざと言ってるよねwそれw
2023/08/18(金) 21:01:52.15ID:fjgGWx1p
なぜGoだけがそんな変な仕様にしちゃったの?
新旧の言語を見回してもそんな変な仕様の言語は存在しないよ
2023/08/18(金) 21:20:15.18ID:VmqYer8d
スライス自体は他も似たり寄ったりだよ
pythonは3で多分新しい配列を作る
多分appendの時に新しい配列をコピーしてそっちに代入するはず

元の実態を明確にコピーすると言わずにコピーするかどうかと言う設計理念の違いだろう
pythonは初心者向けだからそうしたgoはしなかった
2023/08/18(金) 21:24:30.15ID:VmqYer8d
配列の箱が並んだ絵でも書いてスライスは別のところに書いてポインタの矢印と長さでも書いてみれば理解しやすい
2023/08/18(金) 21:36:19.25ID:ISPaueS8
>>659
GoはC言語に近い言語だから
Cでmallocとかreallocとかを使って配列を扱ってたらよく理解できるはず

無駄なコピーを避けつつ、細かいメモリ操作も行えるようにして最適化の余地を残しているのがGoの特徴なので
2023/08/18(金) 21:36:31.10ID:pJm/stU2
>>659
スライスはrangeみたいなもので、スライスそのものはそんなに変なものではない。

問題はそこではなくて、
・スライスに「可変長なだけの配列」に見えるような表記を割り当てた
・真に「可変長なだけの配列」(vectorみたいなの)が存在しない
なので、スライスと配列を混同して使わざるを得ない言語設計が問題。

素直にCOWスライスを用意すればまだ良かったんだけどね。
2023/08/18(金) 21:41:06.14ID:VmqYer8d
Goのスライスは現実社会の物を表しているとも言える

1,2,3と書かれた箱が並べてあって、あるスライス(窓)が1,2を指しているとする
そのスライスに4の箱を追加されたとしたらどのようになるのが望ましいか

Goは現実世界のように1,2,4,3と箱が並ぶ
Pyothonはどこかから急に箱が表れて
1,2,4と言う並びの箱の列と1,2,3と言う並びの箱の列ができる
2023/08/18(金) 21:42:56.92ID:seEzfIxj
なるほど、スライスと言われてなんとなくわからんでもない挙動には見えてきた
でもやっぱりバグを呼び込むためだけの仕様にも思える
こんな仕様にして誰か幸せになるんかな
2023/08/18(金) 21:45:59.61ID:pJm/stU2
>>665
スピードマニア、つまりgo ユーザー。
2023/08/18(金) 22:01:59.17ID:UHKUI4sz
C++もRustもわかりやすい仕様だけどGoよりスピード出る
2023/08/18(金) 22:23:22.38ID:Jp8sOWVj
Goは言語設計をミスってるな

>>630
// 実験3: 要素の追加 (その1)
a = append(a, 777)

この部分は他の言語だとメソッド名こそ異なれど
a.add(777)
a.append(777)
a.push(777)
a.push_back(777)
となる
メソッド名は自由だがこの形式が正しい
Goの失敗の原点はここだ
a = append(a, 777)
2023/08/18(金) 22:31:11.69ID:7ABRPFiH
言語とライブラリを分離できないと潰しがきかない
C++の場合mallocやsjljを単なるライブラリではなく言語の一部にしたのが悪手
2023/08/18(金) 22:42:32.22ID:hfXr0Ior
>>668
go はオブジェクト指向じゃないからなぁ。

純関数にしやすいように、仮引数自体は変更しない設計にしたんじゃない?Rustも似たような思想だろ。
671デフォルトの名無しさん
垢版 |
2023/08/18(金) 23:16:43.53ID:Xs4y23Ew
手軽というのは実際はただの手抜きなんだよ
その尻拭いをさせられてきた良識ある若者が次の世代のためにRustのようなものを産み出す
それを無自覚な老害が腐す
2023/08/18(金) 23:38:51.82ID:H/YqNwUg
>>629
標準ライブラリの範囲は言語ごとに異なる
Rustの方針は言語サポートが必要な機能を標準ライブラリとする傾向が強いため他より範囲が狭い
例えばRustの標準ライブラリに正規表現や乱数などは含まれていない
だからといってRustはそれらが扱えない、というのは正しくないように
標準ライブラリに入っているか否かはさほど重要なことではない

今回の例で言えばC++20のコルーチンもRustのasyncコルーチン(タスク)も意図的にそれ自体の機能のみを言語機能および標準ライブラリに入れている
コルーチンのスケジューリング機能など含めてほとんどの機能は標準ライブラリにない
それらは言語自体が直後サポートしなくても実装可能だからであろう
Rustの場合はデファクトスタンダードの地位を確立したtokioがあるため困ることはない
2023/08/18(金) 23:44:30.71ID:H/YqNwUg
>>647
気軽にの意味が多様だがRustでもGoルーチンのように気軽にタスクをspawnできる
もちろんチャネルも使えてGoスタイルのプログラミングをしたければそれも簡単にできる
2023/08/18(金) 23:52:18.58ID:H/YqNwUg
>>654
RustでVecだと最初のb = aの時点でムーブとなるためその問題は起きない
ムーブではなくb = &aとして参照にしても競合防止のため書き換えできず問題は起きない
Goでaとbが異なったり同じになったりを二転三転してるのはaとbが競合してると考えてもいいのかもしれない
2023/08/18(金) 23:57:19.87ID:H/YqNwUg
>>670
Rustはオブジェクト指向であってクラス継承の概念のみを排除している
だからそこではRustでもa.push(a)の形となりVec型の値(オブジェクト)が書き換わる
他の例でもイテレータはnext()する毎に値(オブジェクト)が書き換わる
2023/08/19(土) 00:22:06.39ID:yRRJwuXx
getterだけを公開すればオブジェクト指向だが
いつどこからsetされるか分からないコードはstatic変数に近い性質
それはオブジェクト指向ではない
2023/08/19(土) 00:59:21.18ID:78dnv4FG
>>676
「いつどこからsetされるか分からないコード」について
Rustは所有権もしくは可変参照を持たないと値を書き換えられないからコード上で明確にわかるよ
static変数については「いつどこからsetされるか分からないコード」によってデータ競合が起きうるのはその通り
しかしRustのstatic変数は(unsafeを除いて)可変(mutable)ではないため「いつどこからsetされるか分からないコード」によってデータ競合を起こすこともないよ
例えばRustのstatic変数をマルチスレッドで共有しつつ値を書き換えたいならばMutexなどによる内部可変性を与える必要がありデータ競合が必ず避けられる
2023/08/19(土) 01:55:38.87ID:3nD/Pt3g
こういう意味のない比較を少なくとも2年はずっと書き散らし続けて
何も生み出していないっていうね
2023/08/19(土) 06:12:11.05ID:ImsjC3MV
技術板のスレなのに無能が適当なこと書き散らすだけで他人が参考にならないスレ
板違いの雑談スレなんだからせめてageるな
680デフォルトの名無しさん
垢版 |
2023/08/19(土) 08:18:21.33ID:7swIlm9f
Rust は安全(キリっ
ですね
わかります
2023/08/19(土) 08:30:53.11ID:EolsykgK
>>672
標準ライブラリのサポートは重要だろ
ちょっとしたことをやるだけでいちいちライブラリを選定する必要があり、コンパイルが遅くなる
CICDも遅くなるし、ライセンスもいちいちクリアしなくては行けない

同じく標準ライブラリが薄いNode.js使っててnode_modules肥大化問題に悩んでいる奴は多いだろう

例えばhttpリクエストするだけでもプロジェクトによってライブラリが異なる
ライブラリが異なるのでそれぞれの使い方をいちいち覚えないといけない
こういったことは企業で開発する上で不毛なんだよ
2023/08/19(土) 08:44:42.58ID:iXpPt34C
企業については、企業がライブラリを指定するんだし…感はある(非プロの感想です
683デフォルトの名無しさん
垢版 |
2023/08/19(土) 10:43:11.58ID:7swIlm9f
>>681
わかります
2023/08/19(土) 10:53:02.71ID:LtLp+SED
選定ばかりで何も生み出さない消費者を許せないってそこに書いてある
だから選択肢を増やせば増やすほど評価が高い
2023/08/19(土) 14:23:54.36ID:whLCc1g8
オープンソース環境は、OSや環境に変化があるたびに、
別人が別の修正版を出してきて、少しずつ使い勝手が違う
ので、めんどくさい。
Rustもそうなる予感がするので使わない。
686デフォルトの名無しさん
垢版 |
2023/08/19(土) 14:30:43.48ID:whLCc1g8
>>685
今、OSSのある開発環境を使い始めたとしよう。
・ドキュメントも不十分なので、上手く行く方法を
 試行錯誤して探すのが必須。
・やっと探し出した方法でmakefileやbatファイルなどを
 整備して開発できるようになる。
・数年後、試して見ると動作しなくなっている。
・それでまた、ググり調査 + 自分でテストを繰り返し、
 数種類の配布物を試してやっとの思いで昔と似た
 ことが出来る方法にたどり着く。その間、大部分の
 環境は、来たいはずれの「試し損」となる。
・そして、makefileやbatファイルが作り直しとなる。
・ライブラリパス、インクルードパス、#includeなどの
 修正も必要となる。xxx.h だったものが、sys/xxx に移って
 いたり、昔 typedef されていたものが、なぜか無くなったり
 別ファイルで定義し奈緒知れていたりする。
・ここまで、数日間かかり、プログラミングは全く出来ない。

経験法則から導かれたOSSの開発環境の日常の風景。
687デフォルトの名無しさん
垢版 |
2023/08/19(土) 14:31:48.17ID:yRurJ253
>>685
C++の新しい規格を使わないのかな?
688デフォルトの名無しさん
垢版 |
2023/08/19(土) 14:35:14.63ID:yRurJ253
>>686
>・数年後、試して見ると動作しなくなっている。
あなたのOSSとの付き合い方の問題点は上記に集約される
常に追っていかなくてはおいてきぼりにされる
あなたには向いていないので使わないこと
2023/08/19(土) 14:44:59.29ID:rWZzqTr8
2022年版年次Rust調査結果、1万超の回答 職場でRustを使う理由
https://atmarkit.itmedia.co.jp/ait/articles/2308/19/news032.html

プロフェッショナルな環境でRustを使用する主な理由としては、「バグのないソフトウェアを作成できる」という認識(86%)、Rustのパフォーマンス特性(84%)、Rustのセキュリティと安全性の保証(69%)が挙げられる。また、回答者の76%が、「Rustが楽しいと感じたから」という理由だけでRustを使い続けている(ここでは回答者が複数の選択肢を選択できるので、数値の合計が100%になるわけではない)。

仕事でRustを使用した回答者のうち、72%が「チームの目標達成に役立った」と報告し(前年比4ポイント増加)、75%は今後もチームでRustを使用し続ける計画を持っている。

一方で、職場で適用されている他の言語と同様、Rustの学習曲線は重要な考慮事項だ。専門的な立場でRustを使用している回答者の39%は、そのプロセスが「挑戦的だ」と報告している。
回答者の9%は、職場でRustを採用することで「チームの速度が低下した」と回答した。
2023/08/19(土) 14:45:09.39ID:B82tdG00
>>681
Rustはデファクトスタンダードがあるからそのように困ったことないな
httpならhttpという名のクレートに基本事項が定められていて全てのhttp実装やその上の各フレームワーク等がこれを使う
httpクレート自体はhttp実装を持たずにhttpのリクエスト型やレスポンス型にURI型やヘッダ型やステータス型などだけを持つところが重要なポイント
もし新たな速いhttp実装が現れたとしてもインターフェイスはこのhttpクレートに(少なくとも今までは全て)従うため利用者が困ることはない
2023/08/19(土) 16:02:34.86ID:HZzlwK9f
>>688
うん。だから、OSSは大嫌いだし、出来る限り使わない。
Linuxを含めて色々試したが、ごく一部のものを除いては
結局駄目だった。
2023/08/19(土) 16:07:41.17ID:HZzlwK9f
>>691
ちなみに、俺は、自分で何から何まで作るのが好きなので、
人が作った環境に追いまくられるのが大嫌い。
693デフォルトの名無しさん
垢版 |
2023/08/19(土) 16:16:02.61ID:yRurJ253
>>691
適応能力に長けてないと扱うのは難しい
変化の速さがOSSの競争力の源泉の一つと感じられなければ
苦痛だろうね

オープンソースでもboostとかはほとんど変わらんやろ? 使わないの?
規格にすらあなたは新しいものにクレームつけそうだがw
694デフォルトの名無しさん
垢版 |
2023/08/19(土) 16:17:31.20ID:yRurJ253
>>692
仕事が遅いと言われるだろ?
2023/08/19(土) 16:19:22.12ID:LtLp+SED
debとかrpmとかバイナリパッケージを否定したら挫折するね
Windowsに依存しないだけならそこまで無理ゲーではないけど
WindowsもLinuxもどっちも認めないいわゆる「中立」が過激化するとうまくいかない
2023/08/19(土) 16:36:31.92ID:HZzlwK9f
>>692
むしろ逆で、今までみたことがないくらい仕事が
物凄く速いと言われていたぞ。
研修時の記録も塗り替えた伝説も持っている。
2023/08/19(土) 16:37:25.19ID:HZzlwK9f
>>696
アンカーミスした。
正しいアンカーは >>694
2023/08/19(土) 17:00:00.61ID:nqM77Zy+
OSSかどうかとは関係なく現状のRustはライブラリ探しと精査に超時間がかかるのは確か
アプリケーションプログラマーから見るとこれがRustの最大の欠点
699デフォルトの名無しさん
垢版 |
2023/08/19(土) 17:36:47.10ID:yRurJ253
>>696
仕事が速い人がOSSに適応できないわけないじゃんw
>>686に「・ここまで、数日間かかり、プログラミングは全く出来ない。」
と自分でも書いてるし

boostは使わないのかい?
700デフォルトの名無しさん
垢版 |
2023/08/19(土) 17:53:56.37ID:2pOprLh9
>>698
そもそもRustは低レイヤ向けでライブラリを特に必要としない用途に向いてるってことだよ
Webやクラウドなどの通常のバックエンドアプリはライブラリを多用することになるがそれは向いていないってことの証
2023/08/19(土) 17:57:23.73ID:Y5l+MR//
ほんとに(webの上位層で)人気が出てくれば、ライブラリは勝手に揃ってくるだろうけどね
702デフォルトの名無しさん
垢版 |
2023/08/19(土) 18:20:48.63ID:JEXSqoZz
webやるには十分よ
2023/08/19(土) 18:58:40.44ID:nqM77Zy+
>>700
ところが低レイヤもたくさんライブラリ使うんだよ
2023/08/19(土) 19:13:06.91ID:ZeP/2UQc
だんだんOSSがおかしいと思い始めてきた
2023/08/19(土) 19:18:41.11ID:bDuPlb9r
RHELやHashiCorpの動きはAmazonがターゲット?
2023/08/19(土) 19:32:52.64ID:bYZ/uEmX
actix-webとaxumどちらがいいのだろう
2023/08/19(土) 19:49:03.02ID:MPHyURRb
>>704-705
Mojo🔥がAmazonかGoogleに買収されてクラウドオンリーになる可能性
708デフォルトの名無しさん
垢版 |
2023/08/19(土) 20:17:26.90ID:ScsfkQnZ
Firefoxはバクサイ開いたままにしてるとメモリー20GB、CPU100%になったりする
Chromeはそんなことにならない
そういう違いがある
709デフォルトの名無しさん
垢版 |
2023/08/19(土) 20:41:53.76ID:JEXSqoZz
>>706
axum
2023/08/19(土) 20:47:27.03ID:ZeP/2UQc
>>707
妨害してるってこと?
2023/08/19(土) 21:06:21.33ID:LtLp+SED
インターネットはおかしいと最初から思ってた
でもソースコードを保存する場所はネットでもディスクでも紙でもなんでもいい
712デフォルトの名無しさん
垢版 |
2023/08/19(土) 21:18:25.63ID:fB8B9G8R
>>690
Python3の場合(正常に動作しかも高速)
https://paiza.io/projects/ciU5iRNbruZiSz4IAy9M4w
Rustの場合(timeoutする)
https://paiza.io/projects/xeAwQZ8M_BHwu0fvFsPLtw
2023/08/19(土) 21:36:12.67ID:DB+Yglwb
write_allの後はflushした方いいんじゃね?
しらんけど

まあPythonの方がアマチュア向けというか面倒見がいいのは分かる
714デフォルトの名無しさん
垢版 |
2023/08/19(土) 21:50:51.02ID:fB8B9G8R
>>697
自演がバレたなω
715デフォルトの名無しさん
垢版 |
2023/08/19(土) 21:52:18.92ID:fB8B9G8R
>>698
crates.io 破綻してるよな
2023/08/19(土) 22:20:00.98ID:DB+Yglwb
crates.ioに限った話ではないけど
ライブラリ名と実装品質のミスマッチはいつも気になってる
HTTP/2用のライブラリでもhttp2よりh2の方が利用者数多いとか
オープンなレジストリの宿命として諦めるしかないのかな
717デフォルトの名無しさん
垢版 |
2023/08/19(土) 22:20:55.24ID:uqHP0fTk
>>644
5chでデマ垂れ流して気持ち良くなるだけのゴミ人生でしたw
2023/08/20(日) 00:49:54.32ID:nxq7VYP6
損得の勝負をしてると、デマで得をする奴がいないか常に不安だよな
それなら単純に本当か嘘かで勝負すればデマと勝利は両立しないから安心安全なのでは
2023/08/20(日) 01:54:31.51ID:xEeb34b9
>>712
HTTPを知らないなら素直にライブラリを使えよ
そのRustコード汚すぎるがそこに正しくHTTPヘッダを一行加えたら動いたぞ
サイン曲線GIFが表示されている
2023/08/20(日) 02:56:13.90ID:shN/tp+V
>>719
修正版ウブおながいします
2023/08/20(日) 06:38:03.53ID:klcvUWNp
練習に書いてみた

fn base64_encode(input: impl AsRef<[u8]>) -> String {
 const TABLE: [u8; 64] = *b"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
 const MASK: usize = 64 - 1;
 let mut input = input.as_ref();
 let mut output = Vec::new();
 while let [i0, i1, i2, rest @ ..] = input {
  let x = u32::from_be_bytes([0, *i0, *i1, *i2]) as usize;
  (0..=3).rev().for_each(|shift| output.push(TABLE[x >> shift * 6 & MASK]));
  input = rest;
 }
 match input {
  [i0, i1] => {
   let x = u32::from_be_bytes([0, *i0, *i1, 0]) as usize;
   (1..=3).rev().for_each(|shift| output.push(TABLE[x >> shift * 6 & MASK]));
   output.push(b'=');
  }
  [i0] => {
   let x = u32::from_be_bytes([0, *i0, 0, 0]) as usize;
   (2..=3).rev().for_each(|shift| output.push(TABLE[x >> shift * 6 & MASK]));
   output.push(b'=');
   output.push(b'=');
  }
  _ => {}
 }
 String::from_utf8(output).unwrap()
}
722デフォルトの名無しさん
垢版 |
2023/08/20(日) 07:18:09.55ID:3t1JnBWI
>>663
同意
2023/08/20(日) 08:16:48.41ID:6nnys+Pw
>>699
俺はOSSを使わない仕事をしているから。
2023/08/20(日) 08:21:25.95ID:6nnys+Pw
>>698
>OSSかどうかとは関係なく現状のRustはライブラリ探しと精査に超時間がかかるのは確か
いや、それはOSSだとほぼ必ず起きる現象。
OSS自体が持つ欠点の一つだから。
2023/08/20(日) 08:24:41.49ID:6nnys+Pw
クローズドなソフトだと、古いものも維持されるかどうかは、
それぞれの企業次第で各企業の特徴が出る。
ところがOSSの場合、人類全体の傾向となるから、
どのOSSなソフトでも似たような保守の傾向となり、
制御できない。なぜなら、人類全体の傾向はいつも
ほぼ同じだから。
電力送電における「無限大母線」という言葉を思い出した。
2023/08/20(日) 09:39:15.51ID:GjiTjTDJ
>>720
>>712 もう治ってる
>>719 thx
2023/08/20(日) 09:56:36.27ID:GjiTjTDJ
>724
なんか全体集合と部分集合を理解出来ていない様な日本語ですね
2023/08/20(日) 10:26:38.95ID:nxq7VYP6
人類の傾向はいつも、n=1を笑い、前例が1つもない事件事故に泣く
729デフォルトの名無しさん
垢版 |
2023/08/20(日) 10:50:22.50ID:1EohdLDs
>>723
boostは使わないのかな?
730デフォルトの名無しさん
垢版 |
2023/08/20(日) 11:46:34.65ID:PLGKFrd6
>>727
実際rustに限らずOSSなら必ず当てはまることなので部分と言っても意味はない。
731デフォルトの名無しさん
垢版 |
2023/08/20(日) 11:52:30.19ID:1EohdLDs
>>730
「ライブラリ探し」は検索すれば良いだけ
「精査」はOSSはソース手に入るが
プロプラなソフトでは諦めるしかない
2023/08/20(日) 12:53:04.65ID:nxq7VYP6
時間はお金で買える
ただ具体的にいくらで買えるのか誰も知らないだけ
2023/08/20(日) 13:19:08.66ID:sLWYcNsZ
>>731
ライブラリの選定ってソースコードの精査はそれほど比重高くないよ。
それよりもライセンス、開発体制やアクティブさ、直近のリリース状況、人気とかが重視されがち。
734デフォルトの名無しさん
垢版 |
2023/08/20(日) 13:30:35.17ID:1EohdLDs
>>733
アンカー間違っとった

>>724
「ライブラリ探し」は検索すれば良いだけ
「精査」はOSSはソース手に入るが
プロプラなソフトでは諦めるしかない
2023/08/20(日) 15:55:58.84ID:KkFZufKp
>>712を見て思ったが
RustにもPythonのrequests/base64のようなライブラリあるんだろ
2023/08/20(日) 15:58:19.75ID:OKeiQGdq
標準ライブラリには入ってない
737デフォルトの名無しさん
垢版 |
2023/08/20(日) 16:12:04.89ID:KkFZufKp
>>736
Pythonのrequestsも標準じゃないだろ
Rustは標準のみを使い,Pythonでは外部ライブラリも使ってだからな
738デフォルトの名無しさん
垢版 |
2023/08/20(日) 16:22:18.11ID:mA4FcHyW
RustってSimd命令は非安定だよね?実際にSimd命令使うとどれくらい高速化できんの?
Simd命令ってCPUに応じて場合分けしてコードを書かないとならんの?
2023/08/20(日) 16:51:39.65ID:7DmX7Wr5
>>738
CPU以外にボトルネックがないならおおよそ並列度の分だけ性能上がる
32bit + 32bitのような計算を1命令で処理してたところを256bit幅がサポートされてるハードウエア&命令を使えば約8倍
2023/08/20(日) 16:54:56.78ID:7qQbvCdM
>>739
実際には、「お膳立て」のためのオーバーヘッドが有ることと、
SIMD命令が使える部分が少ないことで、8倍のSIMD命令を
使っても、20%位の向上にしかならないと言われている。
数値は大体。
だから、IntelはAVX512をメインストリームからは捨て
ようとした。
2023/08/20(日) 17:01:04.61ID:7qQbvCdM
スパコンが、ベクトル型が廃れてスカラー型の並列型が
流行していることからしても、SIMDは将来性の無い
ものだと個人的には思ってる。
むしろ、SIMDを捨て、コア数を増やす方が圧倒的に
高速化できる。
742デフォルトの名無しさん
垢版 |
2023/08/20(日) 17:20:33.01ID:V1e9lq/f
スパコンのコーディングは知らんけど
雑にスレッドプールにぶん投げるだけで速くなる並列処理の方が
SIMDより使いやすいなって思う
2023/08/20(日) 18:05:27.72ID:a//hKKzV
>>720
整理するとこれでいいみたい

use std::error::Error;
use std::net::TcpStream;
use std::io::{BufReader, BufRead, Read, Write};
use std::fmt::Write as _;

fn http_get(host_port: &str, path: &str) -> Result<Vec<u8>, Box<dyn Error>> {
 let mut server = TcpStream::connect(host_port)?;
 let mut http = String::new();
 write!(http, "GET {path} HTTP/1.1\r\n")?;
 write!(http, "Host: {host_port}\r\n")?;
 write!(http, "Connection: close\r\n")?;
 write!(http, "\r\n")?;
 server.write_all(http.as_bytes())?;

 let mut server = BufReader::new(server);
 let mut line = String::new();
 server.read_line(&mut line)?;
 if line != "HTTP/1.1 200 OK\r\n" {
  return Err("HTTP: not 200 OK".into());
 }
 while server.read_line(&mut line)? > 2 {}

 let mut data = Vec::<u8>::new();
 server.read_to_end(&mut data)?;
 Ok(data)
}
2023/08/20(日) 18:11:30.48ID:gUvM95Xg
よかったね
745デフォルトの名無しさん
垢版 |
2023/08/20(日) 18:25:00.43ID:MyoNrmjT
>>743
え?Rustって標準ライブラリでhttpリクエストすらできないの?
2023/08/20(日) 18:38:37.77ID:iamuQ/3/
Rsutはwebやるための言語とか言ってたような
747デフォルトの名無しさん
垢版 |
2023/08/20(日) 19:01:10.42ID:mA4FcHyW
とりあえず1000×1000の行列の行列積dotが0.015秒弱でできるようなところまで行列ライブラリーが実装できたので、何とか0.00秒台で計算が終わる様にしたい。
今の所手を出してない最適化
1) Simd命令
2) インラインアセンブリ
3)ループアンローリング(これはRustだと自動的にやってくれてる様で自分の実験した範囲ではあまり効果がなかった。)


この中で一番効果的な最適化は何?
ちなみに今の所は以下の最適下は既に実装済み
1) ループ交換
2) キャッシュブロッキング
3) rayonによる並列処理
2023/08/20(日) 19:10:25.82ID:IxOV384F
>>745
Rustの標準ライブラリは言語サポートを必要とするものを中心に極めて絞っている
既出のhttpやbase64だけでなく正規表現や乱数など多くの機能がデファクトスタンダードライブラリ

>>746
標準ライブラリにないだけで各種ライブラリは下位から上位フレームワークまで揃っている
CPUとメモリのリソースコスパ重視でWebやるならRust一択でまちがいない
Webインフラ各トップ企業たちも>>496のようにRustを採用している
2023/08/20(日) 19:16:55.65ID:55RG+hvj
デファクトスタンダードという選りすぐりに聞こえるが
単にそれしかないだけのような...
ユーザ数少ないので
2023/08/20(日) 19:20:14.76ID:yJmfO0+S
>>747
simdに手を出すとarmのsimdまでやる羽目になる
インラインアセンブリも同じ

つまり今のところおすすめはない
外部のライブラリなどに依存するなら別だけど
751デフォルトの名無しさん
垢版 |
2023/08/20(日) 19:25:32.14ID:mA4FcHyW
>>750
じゃあ基本的にはdot演算に関してはこれ以上の最適化の余地はないって感じ?
752デフォルトの名無しさん
垢版 |
2023/08/20(日) 19:26:47.41ID:MoWe6Sep
グーグルとアップルが流行らせようとしてるらしいが
753デフォルトの名無しさん
垢版 |
2023/08/20(日) 19:44:59.22ID:sOv9anOF
paiza.io の Rust は crates 使えないから
ホント使いもんにならんわ
2023/08/20(日) 19:47:42.13ID:rPtHvv2S
じゃあGitHubのCodespacesでも使ってれば
2023/08/20(日) 19:54:55.65ID:yJmfO0+S
>>751
おすすめはしないけどやればやったになるはず
デバッグ環境があるかは知らないが
2023/08/20(日) 19:58:02.59ID:U3mkt6q/
>>753
それはpaizaが悪い
例えば>>712で意味のない比較をしているが
Python版はimport requestsと標準ライブラリではないものを使っている
つまりpaizaはPythonだと標準ライブラリ以外のライブラリも使える
同じようにRustでも標準ライブラリ以外を使えるようにpaizaが対応すれば解決
2023/08/20(日) 20:00:15.86ID:259yUXDO
>>747
これに即して測ってみては(1500x1500(f64)の生成、行列積、破棄の計測)
https://github.com/kostya/benchmarks#matmul

とりあえずnumpyとの比較とか
https://github.com/kostya/benchmarks/blob/master/matmul/matmul-numpy.py
2023/08/20(日) 20:00:40.96ID:pu4udaaX
シミュレータなどは行列演算だけ高速化しても、全体の
高速化にはなら無い事が多い。
759デフォルトの名無しさん
垢版 |
2023/08/20(日) 20:04:56.81ID:mA4FcHyW
>>757
手元のnumpyよりは少なくとも1000×1000の行列積は2倍から3倍速、10000×10000の行列積だと約5倍から10倍速い。手元よnumpyのバックエンドはIntelMKL。
760デフォルトの名無しさん
垢版 |
2023/08/20(日) 20:07:47.30ID:mA4FcHyW
まだ、行列の対角化とか逆行列の計算は実装できてない。
2023/08/20(日) 20:20:10.35ID:259yUXDO
なんかnumpyが遅くない?

1000x1000でnumpy.dot(a, b)部分だけ測ったらこんな感じだったけど

0.006215572357177734
0.005822658538818359
0.005129098892211914
0.007399797439575195
0.011432886123657227
0.008414506912231445
0.009572029113769531
0.009091615676879883
0.008922100067138672
0.007265329360961914
2023/08/20(日) 20:23:55.44ID:259yUXDO
def calc(n):
n = n // 2 * 2
a = build_matrix_np(n, 1.0)
b = build_matrix_np(n, 2.0)

start = time.time()
d = matmul(a, b)
end = time.time()
time_diff = end - start
print(time_diff)

return d[n // 2][n // 2]
2023/08/20(日) 20:37:44.31ID:259yUXDO
pipで入れたのでopenblasだと思うけど、こんな感じ

OMP_NUM_THREADS=1 python mutmul-numpy.py 1000
0.030291080474853516
0.029540538787841797
0.029771089553833008
0.02943873405456543
0.02980208396911621
0.03012990951538086
0.0300595760345459
0.030525922775268555
0.03243899345397949
0.02984023094177246


OMP_NUM_THREADS=8 python mutmul-numpy.py 1000
0.0073316097259521484
0.007174968719482422
0.007193326950073242
0.006682157516479492
0.006906747817993164
0.006983757019042969
0.007711172103881836
0.008562803268432617
0.007740497589111328
0.00671076774597168

>>759のnumpy計測がsingle threadになってたりしてる?
764デフォルトの名無しさん
垢版 |
2023/08/20(日) 22:44:27.85ID:mA4FcHyW
>>763
シングルスレッドでの計測になってたぽい。この計測って最初のメモリ確保は含めてる?
2023/08/21(月) 11:52:24.10ID:lrfEI2bB
SIMDでの行列演算の最適化方法そのものとかさすがに関係なさ過ぎ。
RustとC++の違いに着目するならまだしも。
2023/08/21(月) 14:56:42.48ID:jPnmmh+2
>>764
>>762の通り行列積部分

JuliaをREPLで試した

function matgen(n, seed)
tmp = seed / n / n
[tmp * (i - j) * (i + j - 2) for i = 1:n, j = 1:n]
end
n = 1000
n = round(Int, n / 2) * 2
a = matgen(n, 1.0)
b = matgen(n, 2.0)
using BenchmarkTools
c=@btime(a*b)


OPENBLAS_NUM_THREADS=1 julia --optimize=3 --check-bounds=no
29.581 ms (2 allocations: 7.63 MiB)
OPENBLAS_NUM_THREADS=8 julia --optimize=3 --check-bounds=no
6.875 ms (2 allocations: 7.63 MiB)

juliaが行列積でnumpyの10倍遅いのが意外
767デフォルトの名無しさん
垢版 |
2023/08/21(月) 16:08:29.46ID:IYi1S2wl
>>765
まあ、この板は実質雑談板なんで。アンチOSS君も大暴れしてますし大目にみてください。
768デフォルトの名無しさん
垢版 |
2023/08/21(月) 16:21:29.46ID:A+ik1f9X
OSS関係無いわな。スレチ。別のところで好きなだけやればいい。
2023/08/21(月) 16:41:35.26ID:W/JUog9y
OSSは関係大有りだと思う。
2023/08/21(月) 16:46:18.02ID:dQnAszLW
Juliaとかは関係あるの?
2023/08/21(月) 16:48:11.28ID:US7qznQL
議論に関係あるかどうかの議論が必要ですね
772デフォルトの名無しさん
垢版 |
2023/08/21(月) 16:55:39.81ID:A+ik1f9X
>>769
rustのエコシステムの話とかなら関係あるけど、OSS自体のメリデメ、とかそういう論点はスレチ。
2023/08/21(月) 17:31:43.44ID:W/JUog9y
>>772
そんなことなくて、OSSであるということは、
非常に大きな影響を及ぼすので無視できない。
774デフォルトの名無しさん
垢版 |
2023/08/21(月) 17:54:01.38ID:A+ik1f9X
>>773
それが通るなら少しでも擦れば何でもありになる。
影響の大小なんて本人が大きいと言い張れば大きいことになる。
スレタイ読んで関係あるかどうか常識で考えれば自明。もちろんあなたに言っても意味無いわけですけども。
2023/08/21(月) 18:18:38.42ID:W/JUog9y
>>774
そういうことじゃなくて、OSSは本質的に非常に大問題を
抱えてしまっているから、どうしようもない。
776デフォルトの名無しさん
垢版 |
2023/08/21(月) 18:33:57.42ID:AlisErs6
>>775
そういうことじゃなくて、

じゃなくて、このスレそういうスレなんだよ。
マジで頭おかしいw
2023/08/21(月) 18:35:45.82ID:dQnAszLW
Rustが失敗した原因の根底にOSSの問題があるって言いたいんじゃね
2023/08/21(月) 19:07:31.63ID:8jq5nfQv
「(すべての)OSSは本質的に非常に大問題を抱えている」→「Rustは本質的に非常に大問題を抱えている」
ってことだな
一応前提が正しければ結論も正しいけど前提の論証が大変そうだ

「一部のOSSは本質的に非常に大問題を抱えている」→「すべてのOSSは本質的に非常に大問題を抱えている」
みたいな論証魔法を決めれば何とかなるけどプログラマはこの類には耐性あるからな

「一部の」と「すべての」を削って後ろの修飾語を盛る程度だとまだ術式が足りなくて通らない
2023/08/21(月) 19:20:23.58ID:NjHCZBFl
どっちでもいいから、面白いことを書いてくれ
780デフォルトの名無しさん
垢版 |
2023/08/21(月) 19:32:31.36ID:jTK4AVkF
>>775
boostは使わないの?
2023/08/21(月) 19:53:38.34ID:2W/Jw/4i
矛盾を抱えているんだから論証とか無駄。
どんな結論でも導出できる。
2023/08/21(月) 20:44:27.67ID:oR9oJ1qa
背理法の仮定を利用しなくても矛盾するなら、任意の結論を背理法で証明できる

だから「矛盾しているのはお前だけ」みたいな結論はむしろ出てこないんだよ
属人的な仮定を必要としないのだから全人類が矛盾する
2023/08/21(月) 21:19:54.31ID:q/j5yT82
>>782
論理を語るのなら、まず共通の前提条件を全部出して合意取れよ。

前提条件より先に結論が出るとかありえないし、前提条件の合意が取れていないなら矛盾するから議論する意味がない。
784デフォルトの名無しさん
垢版 |
2023/08/21(月) 21:26:14.98ID:6J/DqmTl
>>778
おもしろい
2023/08/21(月) 21:58:53.90ID:oR9oJ1qa
>>782
合意がなければ義務はないというのは正しい
議論には義務が必要不可欠というのは間違っている
強制力があるべきという合意がもしあれば論理ではなく物理的な戦争が始まる
2023/08/21(月) 22:02:41.22ID:oR9oJ1qa
ちょっと間違えたけど、どこを間違えたのかいちいち合意を取るのが面倒臭い
787デフォルトの名無しさん
垢版 |
2023/08/22(火) 00:06:37.51ID:p77SLRC3
まあ、この板はプログラム関連なら基本的に何話しても良いってことで。この6traits目を、立てた本人が言ってることなんで。次のtraitからはそれについても書いとく?
2023/08/22(火) 00:42:55.89ID:CKREFo3h
>>787
君スレと板ごっちゃにしてない?
2023/08/22(火) 06:46:28.34ID:oV9q0mPv
このスレタイに釣られるって段階で、参加者がある程度絞られてる
別に何話そうが確かに構わんのだが、面白いことを書け

ライブラリ書いてるヤツが定着してるのは、Rustのライブラリ作りってこんな感じなのか、と思って眺めてる

そういや、hsutter氏がなんか動画出してたけど、まだ観てない
勉強しないといけないこと(non C++, non Rust)大杉
790デフォルトの名無しさん
垢版 |
2023/08/22(火) 12:18:07.09ID:whNyN1Gw
>>773
スレタイを100万回読め
2023/08/22(火) 19:02:47.39ID:jvLbVv4g
>>766 訂正
測定自体はOKですが、最後の一文、桁を読み間違えてたorz

× >juliaが行列積でnumpyの10倍遅いのが意外

juliaとnumpyは同じスピードです(両方ともopenblasバックエンド、同一スレッド数の場合)

https://i.imgur.com/AKwAFec.png

>>747,759,764
そちらの環境でのマルチスレッドnumpyの測定数値が出ていたら自作ライブラリとの比較結果お願いします
792デフォルトの名無しさん
垢版 |
2023/08/22(火) 19:57:32.16ID:p77SLRC3
>>791
なんかnumpyでマルチスレッド指定しても速度上がんないんですけど何か要因は考えられますか?
2023/08/22(火) 21:29:39.50ID:3Q3W0wKi
>>792
こちらでは素のvenvでやり直しても、defaultでマルチスレッドが効いています

$ python311 -m venv venv
$ . venv/Scripts/activate
$ pip install numpy
$ pip list
Package Version
---------- -------
numpy 1.25.2
pip 23.2.1
setuptools 65.5.0
$ du -h venv
96M venv

$ python matmul-numpy.py 1000
0.006245136260986328
0.006272077560424805
0.006720542907714844
0.007251739501953125
0.006670713424682617
0.0067596435546875
0.006724119186401367
0.005736351013183594
0.005699872970581055
0.007322788238525391

condaの場合は分かりませんので、とりあえずpipのopenblas版numpyで計測してみては?
https://numpy.org/install/#numpy-packages--accelerated-linear-algebra-libraries
2023/08/22(火) 22:57:52.73ID:3Q3W0wKi
miniforgeのcondaでchannel指定してmkl版numpyを入れましたが、こちらもマルチスレッドが効いています(MKL_NUM_THREADS指定無しでも)

$ conda install -c intel numpy

$ du -h ****/tmpenv2
1.3G ****/tmpenv2 <-- orz

$ python -c 'import numpy; numpy.show_config()'
....
blas_mkl_info:
libraries = ['mkl_rt']
library_dirs = [****]
define_macros = [('SCIPY_MKL_H', None), ('HAVE_CBLAS', None)]
include_dirs = [****]
....

MKL_NUM_THREADS=8 python matmul-numpy.py 1000
0.007200717926025391
0.007269620895385742
0.0062868595123291016
0.00983738899230957
0.007195472717285156
0.006726503372192383
0.006485939025878906
0.0068206787109375
0.006815910339355469
0.006788492202758789
2023/08/22(火) 23:05:57.11ID:3Q3W0wKi
MKL版はthread数指定しないと=8よりも若干遅くなる

$ python matmul-numpy.py 1000
0.007860660552978516
0.009339094161987305
0.00830698013305664
0.006848335266113281
0.008496522903442383
0.007841348648071289
0.007840871810913086
0.00741887092590332
0.007982254028320312
0.006742000579833984

$ python -V
Python 3.8.11 :: Intel Corporation

芋づるインストールされた中でバージョンが気になるもの
mkl intel/win-64::mkl-2023.2.0-intel_49496
mkl-service intel/win-64::mkl-service-2.4.0-py38h9a4cf0c_35
mkl_fft intel/win-64::mkl_fft-1.3.6-py38h5020ddc_56
mkl_random intel/win-64::mkl_random-1.2.2-py38hf267b2b_76
mkl_umath intel/win-64::mkl_umath-0.1.1-py38h51af1d9_86
numpy intel/win-64::numpy-1.24.3-py38hcdfd0aa_0
numpy-base intel/win-64::numpy-base-1.24.3-py38h9b12b81_0
2023/08/22(火) 23:11:09.00ID:3Q3W0wKi
シングルスレッドがopenblasよりも若干遅いじゃないか!
この辺でやめておきますorz

MKL_NUM_THREADS=1 python matmul-numpy.py 1000
0.032694339752197266
0.03222513198852539
0.03307652473449707
0.03224611282348633
0.031710147857666016
0.03175640106201172
0.032773494720458984
0.032234907150268555
0.03272652626037598
0.0316920280456543
797デフォルトの名無しさん
垢版 |
2023/08/23(水) 11:18:41.09ID:89z/H8g7
crate の docs の comment 率上げるために
struct に comment 付け捲る仕様はホントうざい
2023/08/24(木) 02:29:53.65ID:zGLBQFrp
python や bumpy の話題はスレ違い。
OSSの話題は許容範囲。
同一視してはいけない。
2023/08/24(木) 02:32:08.21ID:zGLBQFrp
RustとC++の比較において、前者が「パソコンにおいて」
OSSからスタートしてしまったことは、全ての問題の始まり。
かつてC言語はUnixではOSSであったろうが、パソコンでは
原則的にクローズドであったからこそ発展を遂げた。
800デフォルトの名無しさん
垢版 |
2023/08/24(木) 02:42:41.30ID:hEI/Eij5
>>799
>かつてC言語はUnixではOSSであったろうが、パソコンでは
>原則的にクローズドであったからこそ発展を遂げた。
自分で書いていて論理がおかしいと思わないのかな?
801デフォルトの名無しさん
垢版 |
2023/08/24(木) 02:45:44.43ID:hEI/Eij5
>>799
C言語がクローズドって何がクローズなのかな?
ANSIは誰もが使えるオープンな規格だろうが?
他人に伝えたい文章は正確に書き給え
2023/08/24(木) 02:47:37.96ID:zGLBQFrp
>>801
TurboC, msc, Watcom C/C++, LSI C, Lattice C,
Small C などがクローズであり、パソコンでOSSなものは
当時存在していなかったはずだ。
2023/08/24(木) 02:53:01.56ID:zGLBQFrp
C言語は、規格はオープンと言えばオープンであったが、
PC-9801用のコンパイラのソースコードは非公開であった。
X68000 は gcc だったらしいが。
804デフォルトの名無しさん
垢版 |
2023/08/24(木) 02:53:58.47ID:hEI/Eij5
>>802

>>799
>パソコンでは原則的にクローズドであったからこそ発展を遂げた。
これは因果化関係を主張しているので
相関ではなくて因果の根拠を示すことが必要です
述べて下さい
805デフォルトの名無しさん
垢版 |
2023/08/24(木) 02:56:38.98ID:hEI/Eij5
分かると思うけどタイポ
-因果化関係
+因果関係
2023/08/24(木) 03:19:55.67ID:zGLBQFrp
>>804
クローズドだから競争が生じ、開発環境が高度に発展した。
2023/08/24(木) 03:23:10.48ID:zGLBQFrp
Win95が開発環境にとって終わりの始まりだった。
OSが32BIT化したことで、Unix系の無料OSSツールが
「主流のビジネスパソコン(PC-9801など)」の世界に
大量流入。
競争条件が破綻し、競争が不可能となり、衰退。
2023/08/24(木) 04:23:51.68ID:ejJL7Sq0
>>759
(室温超伝導)サンプルの提出をお願いします

>>793-796
スルーか一言で済ませて、余計な知恵を付けさすな
809デフォルトの名無しさん
垢版 |
2023/08/24(木) 04:45:44.07ID:UfAeCzV0
C/C++
/*
printf("hoge*/hoge\n");
*/
コンパイル通る

Rust
/*
println!("hoge*/hoge");
*/
コンパイル通らないωωω
2023/08/24(木) 04:47:55.84ID:UfAeCzV0
#[cfg(test)]
が原因か?
2023/08/24(木) 04:51:35.83ID:UfAeCzV0
>>799
>RustとC++の比較において、前者が「パソコンにおいて」
>OSSからスタートしてしまったことは、全ての問題の始まり。
一理ある

>かつてC言語はUnixではOSSであったろうが、パソコンでは
>原則的にクローズドであったからこそ発展を遂げた。
君の世界戦は異世界のものなのか?
2023/08/24(木) 04:54:05.61ID:UfAeCzV0
分かると思うけどタイポ
世界戦
世界線
2023/08/24(木) 04:57:32.27ID:zGLBQFrp
>>811
俺が言っているパソコンとは、PC-9801のことだ。
他のパソコンは知らんが、PC/AT機でもDOSでは、
OSSなコンパイラはほとんど動かなかったのでは。
2023/08/24(木) 04:59:32.52ID:UfAeCzV0
知らないならさっさと寝て下さい
2023/08/24(木) 05:13:21.27ID:zGLBQFrp
>>814
お前の方が知らんだろ。
OSSのせいで何もかも衰退してる。
2023/08/24(木) 05:26:52.49ID:7AUlTMfz
OSSは貧者(俺含む)の味方。これはガチ
2023/08/24(木) 07:39:52.41ID:UfAeCzV0
みんなの予想通り
プリゴジン氏が暗殺された
ぜんぶOSSのせいだ
2023/08/24(木) 08:51:41.95ID:TNcuPvYX
>>802
当時っていつだよ。
gnu cは1980年台からあるだろ。
2023/08/24(木) 08:53:47.64ID:TNcuPvYX
>>813
ハナクソみたいな日本市場で世界を騙るとか、どこの異世界ですかね?
820デフォルトの名無しさん
垢版 |
2023/08/24(木) 12:14:49.40ID:fsW9ztQn
>>819
5chでイキって気持ち良くなるとか、どこの暇人ですかね?
2023/08/24(木) 13:03:33.51ID:hEI/Eij5
>>802
確かにコンパイラは淘汰され減ったが
トータルのコンパイラの利用者つまり開発者は
OSSがない場合に比べて増加したんだと思うよ
誰でも直ぐに無料で開発を進められるようになり
開発者の裾野が広がったのは
ソフトウェアの進化速度を考える上で重要だったと思う
822デフォルトの名無しさん
垢版 |
2023/08/24(木) 15:07:09.15ID:HFuNmebf
>>821
淘汰されたのはOSSのせいじゃなくてVisual C++のせい。
2023/08/24(木) 15:13:16.73ID:YZsWFF7D
>>818
DOSのPC-9801ではまともに使えなかった。
2023/08/24(木) 15:51:29.49ID:YZsWFF7D
競技プログラミングみたいな何の能力を測定しているのか、
また、参加者も限られるようなものの成績が良かった
ことと、言語に対する評価眼を持っていることは別である。
評価とは、審査する側が誰であるかによって異なってしまう。
国際組織でも、アメリカの金で成り立っている組織は、
アメリカの意見になってしまうことは良く知られている
のと同様、プログラムでも学問の世界でも同様だと考えられる。
825デフォルトの名無しさん
垢版 |
2023/08/24(木) 15:56:25.89ID:hEI/Eij5
>>824
それで?
2023/08/24(木) 15:56:54.62ID:YZsWFF7D
「若いから年上の人より正しい判断が出来る」とは限らない。
しかも、その若者の能力が高いかどうかを判定しているのが
京大総長というような高齢の権威者の場合はなおさら。
何を持って人の能力を判断しているのか問題、という問題
が起きる。
2023/08/24(木) 16:00:05.43ID:YZsWFF7D
京大総長が、「この人はプログラミング能力がすばらしい」などと
判断したとしよう。
しかし、それは「京大総長基準」に過ぎない。
「プログラミング能力が素晴らしい」とは、一体何を
もって決めるのか。
仮に素晴らしかったとしても、プログラミング言語の
良し悪しをその人一人が判断してよいということでもない。
2023/08/24(木) 16:12:01.07ID:M4GRlfeF
それで?
829デフォルトの名無しさん
垢版 |
2023/08/24(木) 18:17:38.62ID:QG+ZRfMP
test
2023/08/24(木) 18:50:59.70ID:RER6Zrq6
パソコンが高価だった時代はゲーム機が貧者の味方
その時代のゲームは今でも売買されているが開発者の利益にはならない
むしろ過去の商用ソフトは衰退させた方が最新のゲームを売りやすい
831デフォルトの名無しさん
垢版 |
2023/08/24(木) 18:52:23.22ID:CY1BVKcv
#[derive'Copy, Clone)]
たとえば古い passwd ファイルの形式とかで使われていた
root:x:0:0:root:/root:/bin/bash
user01:x:500:500::/home/user01:/bin/bash
のような「:」区切りのテキストファイルのデータベースを扱いたいとき
C標準のライブラリは何ですか?
Rust用のcrateで言うと何ですか?
2023/08/24(木) 19:15:40.09ID:zclBScKH
なんでそんなこと聞くの?
2023/08/24(木) 22:11:36.44ID:3ljd7W/g
自作自演の準備じゃね
2023/08/25(金) 00:12:20.33ID:1ayFYibv
>>831
区切るだけならstr.split(':')かstr.splitn(7, ':')
構造体に入れるなら一般的にserde crate
そのケースならcsv crateでコロンにデリミタ指定でもいけるはず
2023/08/25(金) 00:21:37.84ID:jCG33I6S
Cなら自分はstrtokが好きかなあ もちろんいろいろとunsafe
2023/08/25(金) 03:14:57.13ID:VpCvI12o
Ruby で、CSV モジュールを使って書いた

UNIXプログラミング質問すれ Part10
https://mevius.5ch.net/test/read.cgi/tech/1303113996/936-937
2023/08/25(金) 05:21:04.13ID:+GAmI8K8
>>681
わかりみ
838デフォルトの名無しさん
垢版 |
2023/08/25(金) 07:20:56.16ID:vekBwhc6
BDS-C とか α-C の人は少数派かな
2023/08/25(金) 07:34:56.19ID:jCG33I6S
THINK Cとか、CodeWarriorとかあったけどねえ 内製にはgccで十分だわって
2023/08/25(金) 10:05:27.96ID:QjCfYj97
マクロはズル
非売品はチート
ネイティブコンパイラは商品という雰囲気
2023/08/25(金) 21:47:21.62ID:dgCh3EK3
スレタイだけ見て検証結果だけ見に来ました
どこですか?
2023/08/25(金) 22:49:31.05ID:TKWUIPKw
検証結果ならC++とRustの平行線が交差してるところに書いてあるよ
2023/08/26(土) 09:36:49.47ID:6yPOQcjp
何番のレスですか?
2023/08/26(土) 10:17:55.69ID:YvKfERa1
MS「BASICとCってどっちが儲かるの」
科学「推測するな。速度を計測しろ」
アンチOSS「ソースを見れない方が勝つ」
2023/08/26(土) 10:47:48.15ID:oTZjsNGJ
>>844
アホ科学者「推測するな。速度を計測しろ」
知的科学者「思考実験しろ」
2023/08/26(土) 12:11:26.64ID:n9Zpgb21
科学的wの含意がわからないバカは単なるバカより悪性度が高い
2023/08/26(土) 12:50:41.78ID:EQIr/PqP
参照で充分なのに所有権の移転を要求する関数があると
いちいちcloneしてから渡さないといけないから非効率
もちろん一回呼ぶだけならclone不要だが
ループ中とかで何度も呼ぶ用途には使えない
なんでそんな関数の設計になってるんだろう?
別にメリットでもあるんか?
2023/08/26(土) 13:34:35.63ID:Zw1oRqbC
日本の科学界は理論軽視。実験ばかりしてる。
849デフォルトの名無しさん
垢版 |
2023/08/26(土) 13:51:37.78ID:BkdXpONX
日本のプログラマは設計軽視
実装ばかりしている
2023/08/26(土) 13:53:57.47ID:1I5XjMeW
まだ検証結果とかないんですね
結果だけは知りたいので、そのうちまた来ます
2023/08/26(土) 13:54:42.84ID:X9B+4TBT
無駄な事を如何に合理的に行うか
2023/08/26(土) 17:14:09.12ID:BANL9PLy
>>847
例えばどの関数?
2023/08/26(土) 18:20:57.77ID:SuFMWKx7
>>852
誰かばれるからネットでは言えないだろうて。
854デフォルトの名無しさん
垢版 |
2023/08/26(土) 18:28:43.52ID:PUW/Ds/i
逆じゃね
日本人は実装軽視
設計でガチガチに固めすぎる
2023/08/26(土) 18:35:38.61ID:d2gT63Zp
>>853
具体例出せないんだと
本人の認識に問題あるのか
関数の作りに問題があるのかわからない
2023/08/26(土) 18:39:02.26ID:rFnbk731
わからなくていいんじゃない?
2023/08/26(土) 19:54:07.81ID:W0ZiOB7w
わかってないのに何かわかったつもりになって書き込まれているクソスレ
2023/08/26(土) 21:07:05.08ID:0tgAAb31
上には上がある わかったつもりでも、さらに賢い奴から見ればクソ
自分なりに勉強して持論もまとめてるが、わかったなんて思わないもんだ
2023/08/26(土) 21:55:32.22ID:H12RzSKf
さすが老害スレww
2023/08/26(土) 22:24:06.83ID:lapxHx5e
賭け事とか軽率な行動をしなければいいよ
頭の中が謙虚だろうが傲慢だろうが行動に直結しなければいい
いくら謙虚になっても忠誠心か何かで極端な行動をするパターンはある
2023/08/26(土) 22:46:59.85ID:rQ60jT/J
さすが老害スレw
2023/08/27(日) 02:06:49.72ID:q6Sk83rz
判ると解るの違いも分からないとか単なるバカだろ
2023/08/27(日) 02:08:05.98ID:fTLdLIfO
あーそれめっちゃわーかーるー!
864デフォルトの名無しさん
垢版 |
2023/08/27(日) 02:39:08.79ID:v+5WY+8u
Firefoxは何かと問題が多い
2023/08/27(日) 10:34:56.61ID:m1noAQBG
構造体に演算子オーバーロードしたいときって,所有権持ってかれないように構造体の参照に対して演算子オーバーロードでいいの?
期待通りに動くんだけど
&a + &b
みたいな書き方になってまどろっこしい
2023/08/27(日) 10:46:11.22ID:FBPgStJh
(*a).演算()やa->演算()を間違えてa.演算()と書いたらエラーになるのがC++で
エラーにならないのがRustじゃないの
2023/08/27(日) 10:50:29.34ID:fHPM9HO/
>>855
前者だったことが判明
2023/08/27(日) 11:12:20.72ID:KN9Q47l4
勝利宣言おじさん!
2023/08/27(日) 12:47:03.16ID:nwdT7crg
>>867
ネットで身元がばれるような情報が書けない事をいいことに
勝利宣言してしまう人。
2023/08/27(日) 13:02:52.22ID:gIdFwVfH
くやしそうww
2023/08/27(日) 13:15:32.07ID:nwdT7crg
どうせ普及し無い事が分かってるし、なんとでも言え。
2023/08/27(日) 13:30:23.89ID:FBPgStJh
スマホや自動車の部品のように
買わされたけど存在意義は知らない物が普及することはよくある
2023/08/27(日) 13:50:59.05ID:HtzqCBy6
おじさん思考トレース

おじさんはね
Rustに部分的にでも欠陥があるかのような物言いは許せないんだよ
コードが出れば今すぐにでもそいつのせいにしてマウントして打ち消しようと思うんだけどね
証拠がないならそいつのせいってことで断定してマウントとっちゃうのが手っ取り早いから、もうそういうことにしちゃうよ
2023/08/27(日) 13:53:29.74ID:HtzqCBy6
こうして今日もRustの名誉は保たれた
875デフォルトの名無しさん
垢版 |
2023/08/27(日) 14:19:51.40ID:FzVOeawK
FirefoxはRustで書かれてる
2023/08/27(日) 14:42:04.03ID:ZMNQeswV
めちゃくちゃくやしかったんだなwwwww
クッソおもろい
877デフォルトの名無しさん
垢版 |
2023/08/27(日) 14:45:24.00ID:wLUi1wnU
FirefoxってRustでも書かれているってだけで
C/C++の方がまだ多いうだよ
2023/08/27(日) 14:53:34.38ID:FBPgStJh
確率的にはコンパイラのバグよりもアプリかライブラリのバグが多いから
コンパイラに欠陥があった的な物言いは分が悪い
これをやりたいためにライブラリを外部に丸投げする方式が普及している
879デフォルトの名無しさん
垢版 |
2023/08/27(日) 15:00:51.57ID:FzVOeawK
使用率100%は電池が減る
2023/08/27(日) 16:29:11.02ID:CnmnxBvX
>>865
普通はCopyにする
Copyにできないなら明示的にcloneする
どちらにも採用できない状況なら
参照に対してのみオーバーロードを書く

+や-の演算子はdot演算子と違ってauto-referencingが効かないから
&a + &bみたいな書き方になるのは現状では避けようがない
将来的にauto-refが効くように改修されることがもしあれば
a + bのような書き方もできるようになるかもしれない
2023/08/27(日) 17:02:53.80ID:dtO6uWju
>&a + &b
>みたいな書き方になってまどろっこしい

Copy実装したくない大型なら参照を使うから&a + &bの書き方がありがたい
小型ならCopy実装してa + bと書ける
2023/08/27(日) 17:07:29.78ID:FBPgStJh
大きいサイズの値を2回以上コピーするのを1回にするような最適化は
コピーコンストラクタに副作用がない保証があればできる気がする

そしてRustのCopyの振る舞いはユーザが勝手に定義できない
2023/08/27(日) 18:00:17.55ID:U2l728xv
>>867
具体例出せないと後者の可能性高いだろ。
標準ライブラリやOSSならそういう問題は他の誰かからも指摘入って修正されるだろうし。
2023/08/27(日) 18:26:07.84ID:5kryRYaj
>>880
ありがとう
auto-refないから&a+&bって書き方になるのね
理解したわ
2023/08/27(日) 18:47:19.96ID:9Fw72WPV
>>883
具体例はfn add(self, rhs: Rhs) -> Outputだったということでしょ
2023/08/27(日) 19:50:49.96ID:zk2DK/9o
>>885
なるほどね
やはり勘違いしていたわけだ
&selfと書いていないから参照はダメだと思い込んでしまったのだろう
実際にはもちろんself自体が参照型でもOK
2023/08/27(日) 19:55:22.28ID:zk2DK/9o
一般的にもトレイトのメソッドfoo(self, ...)についてself自体が&T型の場合もある
&T型はCopy実装されているため消費されても構わない
ようはポインタだから
2023/08/27(日) 20:33:53.99ID:E6sVfEz/
え、その二つの話つながってたの?
2023/08/27(日) 21:23:31.52ID:Cz9QaAKK
比較演算子とかはauto-ref/derefできたほうがいいと思うが算術演算子はexplicitな今のスタイルの方がいいと思う
今でも&a + &bの中身がa.clone() + b.clone()になってるやつとかやめて欲しい
2023/08/27(日) 21:33:56.56ID:OVTDvFv9
>>885でSelfもRhsもOutputも自由なのでT次第でT + T、T + &T、&T + &Tなどそれぞれ最適な実装ができる
例えばT + &T -> Tは敢えて消費してそのメモリを居抜して返す効率パターン
例えば計算途中の中間生成Tは消費されてもよいわけで再び結果の中間生成Tに転用できる
2023/08/27(日) 21:35:11.73ID:Aks4ymi6
>>889
俺もそう思う
コピーして演算なら a+bで良いと思うけど
デカいオブジェクトで参照で演算なら&a+&bのほうがわかりやすいから良いと思う
2023/08/27(日) 21:44:01.12ID:OVTDvFv9
数値計算以外にも応用できて
Rhsは &T でなくてもよいため
例えば { string.push_str(other_str); string } と書くところを
string + other_str と簡潔に書ける
以下の居抜き実装があるため

impl Add<&str> for String {
 type Output = String;

 #[inline]
 fn add(mut self, other: &str) -> String {
  self.push_str(other);
  self
 }
}
2023/08/27(日) 21:45:30.32ID:Aks4ymi6
>>888
俺もなんで&a+&bの&を書くのがまどろっこしいが
>>847
>参照で充分なのに所有権の移転を要求する関数があると
>いちいちcloneしてから渡さないといけないから非効率
に結び付くのか理解できないが,でも、rust野郎は激頭いいから同じ質問を形を変えた質問と
見抜いたんだろう
2023/08/28(月) 03:04:54.55ID:kRbDFKro
質問してる人と答えてる人が同じ人だったら怖いなあ
895デフォルトの名無しさん
垢版 |
2023/08/28(月) 03:16:32.18ID:gISZWwhM
自演の多いスレ
2023/08/28(月) 09:03:13.17ID:ponuOfxz
ほんそれ
>>873-874
2023/08/28(月) 10:16:26.38ID:uyUKevyw
くやしすぎて負け惜しみを書かずにはいられない老害爺ww
2023/08/28(月) 12:32:28.64ID:PXcIjE1o
Rustの名誉を守るため、日々欠かさずパトロール。
そうしてRustの名誉は保たれているのだ。
2023/08/28(月) 12:58:11.57ID:v69lGQmU
質問してたのは行列演算の人でしょ
900デフォルトの名無しさん
垢版 |
2023/08/28(月) 13:33:08.88ID:EHUcz/c8
>>847>>865両方とも?
2023/08/28(月) 14:14:10.40ID:fWSSPYAk
impl<'a> Add for &'a Foo
impl<'a> Add<&'a Foo> for Foo
これで、変数名に&はつかないけど括弧に&がつく感じにできるね
a + b + c == &(a + b) + c == a + &(b + c)
2023/08/28(月) 15:01:10.40ID:Lf88OaGD
それだけじゃ無理
2023/08/28(月) 15:28:15.79ID:YEWHN9+F
Rustで学ぶなんとかとかいう本いっぱい出ているし、結構個人でやる気のあるやつは覚えるんじゃね?
Rust人口増えている印象。
2023/08/28(月) 16:02:44.46ID:Ga4nU38J
この出版不況にそれは凄いじゃん!
2023/08/28(月) 17:40:21.62ID:g5rB6bRy
数年後はHaskellみたいな存在になってそう
2023/08/28(月) 17:40:22.57ID:v1Y6udqG
数年後はHaskellみたいな存在になってそう
2023/08/28(月) 18:31:30.91ID:F1J/4/k0
地学を笑えば名誉を保てそうなのに
逆に名誉を捨てて地学を取る芸風みたいな
908デフォルトの名無しさん
垢版 |
2023/08/28(月) 19:57:39.97ID:4Zx7/Z20
数年後にはHaskellみたいなってると言う人が数年前からいるけど数年後もいるだろうなぁ
2023/08/28(月) 20:08:53.96ID:BueC5+dS
数年前はHaskellはまだブームだったからその時は誉め言葉だったんじゃないの?
2023/08/28(月) 20:46:16.35ID:o8MpXwtV
まあそもそもC++人口がそんなに多くないのにそこからRUSTに移行する人間なんて更に少ないわな
2023/08/28(月) 20:47:30.82ID:C2T1kkQt
ちょっと勉強するならいいけどビジネスでRust書くとか発狂しそう
2023/08/28(月) 20:53:03.47ID:kRbDFKro
そろそろ質問する人と答える人が出てくるかも
2023/08/28(月) 21:01:02.40ID:DV0IBXio
単純なoperator overlodingでもTと&Tの組み合わせで最低4パターンは考慮しないといけないからな
一般的なビジネスアプリケーションでこういう手間をかけるだけのメリットを享受できるケースは少ない
2023/08/28(月) 22:06:15.45ID:LALZht9t
operator overlodを使うビジネスアプリケーションw
あるとしてもoperator overlodを定義するのはライブラリの仕事
利用者は型エラー起こさないように使うだけであり一般的な静的型付け言語どれも同じ
2023/08/28(月) 22:36:07.58ID:78Jgmrk1
>>914
知らない分野に無理にコメントしなくていいぞ
2023/08/28(月) 22:50:16.52ID:t6DgO9mO
ないな
算術以外でオーバーロードは必要ない
関数(メソッド)名で目的をはっきりさせる
2023/08/28(月) 22:53:49.98ID:56ZoPPYl
くやしくてイチャモンつけたかっただけだろw
2023/08/28(月) 23:04:09.89ID:o8MpXwtV
バカでも書けるフレームワークでも無ければビジネス利用は無いだろね
919デフォルトの名無しさん
垢版 |
2023/08/28(月) 23:07:53.29ID:N5WGrjIW
>>916
operator<<
operator>>
2023/08/28(月) 23:08:27.79ID:F1J/4/k0
PerlやC++の演算子を想定してるんだろうけど
若者はそんなものは知らん
PythonとRustは失敗を繰り返さなかった
2023/08/28(月) 23:30:17.72ID:t6DgO9mO
>>919
シフトは整数以外で使ったことないな
そんなものをオーバーロードしてどうするんだよ
意味不明になるぞ
2023/08/28(月) 23:56:35.09ID:LALZht9t
>>915
具体的にoperatorをoverload実装して使うビジネスアプリケーションを言ってみろよ
例えば多倍長を利用するとしても汎用ライブラリが実装するから該当しないよな
2023/08/29(火) 00:00:35.21ID:J3xeIa5d
一般的には算術演算子よりも比較演算子をオーバーロードすることのほうが多いだろうな
924デフォルトの名無しさん
垢版 |
2023/08/29(火) 00:04:16.28ID:82ATxlW4
>>921
そいう批判は昔からあったけど混乱することは全くないよ
2023/08/29(火) 00:36:27.64ID:fynFs9jV
>>923
Rustなら例えばこう書くだけだな
#[derive(PartialEq)]
struct Foo { ... }

これで型表記Foo == Fooも&Foo == &Fooも通る
Foo == &Fooは撥ねてくれる

ちなみに値の比較ではなく
同一性すなわちポインタの比較をしたいならば
std::ptr::eq(&Foo, &Foo)
2023/08/29(火) 01:09:16.27ID:Cd1k3Xfz
>>922
もしかしなくても実務経験ゼロ?
2023/08/29(火) 01:43:28.47ID:g1jCtVM0
>>925
>Foo == &Fooは撥ねてくれる
値として扱うならこれは跳ねるべきではないのでPatrialEqのimplが追加で2ついる
2023/08/29(火) 01:43:31.90ID:fynFs9jV
おまえらいつも例を出さずにもめてるな
演算子をオーバーロード実装するビジネスアプリとやらの例を出せば済む話
2023/08/29(火) 01:45:18.86ID:fynFs9jV
>>927
型不一致として撥ねるべきだ
2023/08/29(火) 01:49:31.97ID:fynFs9jV
>>927
例えば型不一致でも通せ!という理不尽な要求はここへ行き着くので認めるべきでない
if Foo != &Foo {
 Foo = &Foo;
}
2023/08/29(火) 01:51:57.07ID:3VOu0kGE
>>929
eqメソッドを使った時も撥ねる仕様ならその言い訳も成り立ったかもね
932デフォルトの名無しさん
垢版 |
2023/08/29(火) 02:17:09.83ID:+HxwobiY
>>926
と素人が申しております
2023/08/29(火) 02:25:36.33ID:RO95g2iU
>>931
演算子オーバーロードの話をしているところにメソッドを持ち出したらオウンゴールw
メソッド使用でいいなら演算子オーバーロードの必要なし
2023/08/29(火) 05:40:09.32ID:DdsP5NoC
演算子のオーバロードは、ライブラリマンに任せるよ これはC++も同様
あんなものバグ・抜けなしで書けるとか数学マンかよ

ああいうこともできる、というのがC++のいいところだが、自分には過ぎた代物
2023/08/29(火) 07:50:33.04ID:E3TpD5zQ
英単語ではない記号を使うだけなら仮想関数でもできる
仮想関数のように型を統一しないのがオーバーロードの特徴
統一するとvoid*とかObjecとか残念な型になってしまう
936デフォルトの名無しさん
垢版 |
2023/08/29(火) 10:14:25.34ID:RvCE3Lp0
>>900
その二つは別人
ソース俺

>>888
繋がってない
めっちゃ迷惑

自演じゃなくて他演されたの初めてだわ
2023/08/29(火) 12:39:12.46ID:Gj9jSZac
>>936を信じるなら
ID:EQIr/PqP

ID:m1noAQBG = ID:RvCE3Lp0 = 行列ライブラリの人
で、ID:Aks4ymi6は行列ライブラリの人になりすまそうとしたっぽい謎の人物ってことかいな?
2023/08/29(火) 13:05:17.54ID:4jFDwxnu
このスレまじで負け惜しみレスが多いな
なんでここまで幼児メンタルを引きつけるのか謎
2023/08/29(火) 13:45:45.19ID:L7AzKEdf
ここはプログラマ板ではなくプログラム板
話はプログラムで示せ
それができない話ならばプログラマ板へ行け
具体的なコードで話せずに文句と批判するだけの無能は不要
2023/08/29(火) 13:57:24.70ID:YzXqUdha
自分で自分追放してて草
2023/08/29(火) 14:01:13.75ID:Gj9jSZac
>>939
問題の切り分けができない無能も不要
2023/08/29(火) 14:44:41.31ID:CCTytCTB
急に発狂するやついて草
何か刺さっちまったんだろうなw
943デフォルトの名無しさん
垢版 |
2023/08/29(火) 18:25:25.49ID:113viVdP
玲音しね
2023/08/29(火) 18:42:00.76ID:E3TpD5zQ
こんな仮想空間でまじになっちゃって
負けたら大変なことになると思い込むのが問題なんだけど
論破というのはまさにそういう仮想空間で相手にそう思い込ませる術だよね
2023/08/29(火) 19:18:58.62ID:YzXqUdha
rustって名前が良くないよねって思ったけどcも大概やったわ
2023/08/29(火) 20:54:09.08ID:Nn6iD5I/
おれ865だけどなんで847と同一人物認定されてんの?
2023/08/29(火) 21:54:12.23ID:0ZJbGVqi
Rustは普及してないという願望・妄想と
Rustに言及するレスが続いてる現状を両立させるためだろ
2023/08/29(火) 21:55:40.52ID:o1bsY+eR
稚拙w
2023/08/29(火) 22:39:33.53ID:qbvOBi0x
>>947
C++おっさん・爺は年齢的にRust覚えられないから
普及されると嫌だろうからな
一方、若い連中はもう化石言語になるC++よりRustに将来性を見出すだろうからな。
2023/08/29(火) 23:08:37.53ID:dpeDea2P
若い人は誰も使ってないイメージ
951デフォルトの名無しさん
垢版 |
2023/08/29(火) 23:42:50.57ID:KeTq/BI+
でも、いまC++もRustも経験がない人が勉強するならC++からじゃない? C++がある程度分かってないと、Rustのありがたみも分からないし。
2023/08/30(水) 00:16:18.11ID:4rN9QUhj
Cと各スクリプト言語から来てRustで困ることなかった
C++は必要なさそう
2023/08/30(水) 08:48:22.21ID:eE+KSztu
将来性ならpython
言語設計ならNimかMojo
実力ならc/c++
かね。
pythonは無くなることないから身につけて損はないし、その延長線としてNimは使える。
Mojoはスタックフレーム指向として将来性感じる。RustはMojoの踏み台。
2023/08/30(水) 08:54:27.99ID:Q1GiOTDg
バイナリサイズを小さくしたい→C
バグを少なくしたい→Rust
??→C++
955デフォルトの名無しさん
垢版 |
2023/08/30(水) 10:06:20.92ID:7zJH/Xg6
>>954
Cの後継はZig
C++の後継はRust

C++はいらないこ
2023/08/30(水) 10:57:54.24ID:O0+f/FEO
mojoはわかるけどnimってスーパーマイナーすぎんか
957デフォルトの名無しさん
垢版 |
2023/08/30(水) 12:29:00.92ID:kkA3iJAe
>>953
>>956
mojoは早くソース公開しろよ
958デフォルトの名無しさん
垢版 |
2023/08/30(水) 12:30:46.34ID:kkA3iJAe
>>955
zig使ってるbunが1.0になったのに、肝心のzigはいつ1.0になるんだよ?
2023/08/30(水) 12:32:21.28ID:K0sdPATe
喪女はまだめっちゃアーリーステージです~って言ってなかったか
それであんなにドヤ顔登場させた意味はわからんが
960デフォルトの名無しさん
垢版 |
2023/08/30(水) 12:40:02.98ID:wWfEYgvd
やねうら氏ね
961デフォルトの名無しさん
垢版 |
2023/08/30(水) 12:40:52.41ID:wWfEYgvd
>>951-952
C++は知らない方が良い
962デフォルトの名無しさん
垢版 |
2023/08/30(水) 12:42:41.11ID:wWfEYgvd
>>956
nim知らないの?遅れてるな
963デフォルトの名無しさん
垢版 |
2023/08/30(水) 13:45:48.64ID:mNxVjhal
>>962
あなたの遅れてる認定とか知りませんやんw
2023/08/30(水) 15:17:49.40ID:zHni/Vbc
智慧をくれ
2023/08/30(水) 15:36:17.12ID:HQ0MoXmm
「次世代言語wに憧れる一日中暇なお爺さん達wのスレ」
さすが!中身がない!
966デフォルトの名無しさん
垢版 |
2023/08/30(水) 17:03:14.09ID:JRlr8oOO
前にnimは使ったことあるけど、結論的にはそんなに将来性を感じなかった。nimのライブラリが少ないし、pythonのライブラリを使うと結局そこが律速段階になるので速度の恩恵も個人的には微妙だった。これなら普通にpythonを使った方が便利だなとは思った。いまはどんだけ進展してるのかは良く知らんけど。
2023/08/30(水) 18:40:48.60ID:Blqpd4nm
>>953
Pythonは必要な時にスクリプトの読み書きができれば十分で
あの言語仕様と遅さはプログラミング言語としては適してないためこのスレの対象外

Nimは何もかも中途半端であることに加え
先が見えてしまったのとあの開発体制では今後も期待できないため無視してよい存在
2023/08/30(水) 18:56:26.78ID:VDEXXxkp
意味のないレスだよ
2023/08/30(水) 19:40:27.89ID:K0sdPATe
mojoを持ちつつPythonを嗜み
Rustを横目にc+に打ち込む
2023/08/30(水) 20:24:13.48ID:YW1fodiP
Rustが失敗作だったってことじゃん
2023/08/30(水) 20:35:58.15ID:o+6d8X1p
現実はこれ>>496
新たなネットインフラC++ではなくRustで記述されている
972デフォルトの名無しさん
垢版 |
2023/08/30(水) 21:03:04.24ID:U5prozod
>>971
現実はRustで書かれているものも稀にあるってだけでは?
2023/08/30(水) 21:05:54.95ID:EFFGi3bv
>>298
mallocしたままfreeしないのはRustでももちろんできる
BoxやVecなどにはleak()があり意図的にリークする(=今後解放しない)ことができる
代わりに得られるのはライフタイムがstaticな可変参照
つまり静的にメモリ確保したことと同じ扱いになりライフタイムの束縛がなくなり自由となる
2023/08/30(水) 21:20:25.79ID:qErRQYHl
>>972
超大手が色々検討してその結果Rustで作ったなんだが、
知りたいのは、なんで(C++じゃなく)Rustを採用したのかなんだよな。
俺思うに、ネットインフラは公開で超攻撃対象になるから、脆弱性がなるべく少なくなるように
するためにはC++よりRustが良いと判断したからじゃないかと妄想。
975デフォルトの名無しさん
垢版 |
2023/08/30(水) 21:33:28.86ID:U5prozod
>>974
だからその超大手の数多ある新規プロジェクト群の中に
Rustのプロジェクが稀にあるってだけなのでは?
2023/08/30(水) 21:37:48.96ID:qErRQYHl
>>973
そんなの(leak()って)あるのか、leak()でdropしない(禁止する)ように指示しているのかな
2023/08/30(水) 21:39:30.75ID:8/HxBYkL
>>974
C++と比べるとRustはまず記述のしやすさと可読性の良さ
そしてC++よりもコンパイル時点で判明できるミスやバグが多くてデバッガ実行も激減し開発効率が高い
同時にそれらは保守性の良さにも繋がっている
C++とRustのどちらも選べる環境ではC++が今後使われることがほぼなくなるのだろう
2023/08/30(水) 21:43:01.91ID:qErRQYHl
>>975
まれだとしても,超重要なものにわざわざRustだからな
話題のRustでどれぐらいのものが出来るか確認するための
重要なものを作ってみた可能性もあるが
2023/08/30(水) 21:49:43.21ID:8/HxBYkL
>>496はCloudflareとAWSそれぞれの最も重要な中核部分だ
試しに作ってみるような部分ではない
今後は人員さえ揃えばRustを使うというIT各社の確固たる方針
2023/08/30(水) 22:00:23.43ID:dSL5QWen
何かを選ぶ理由とそれを選んだという事実の因果関係は無いほうが動きやすい
強者の命令に対し
命令に従うことが必然的ではない人間はもっと強い
2023/08/30(水) 22:11:27.44ID:YW1fodiP
>>974
99%はC++なんだけど…
982デフォルトの名無しさん
垢版 |
2023/08/30(水) 22:23:28.66ID:U5prozod
そもそも本家本丸のfirefoxのコードは実はC++の方が多いんだぜ?
2023/08/30(水) 22:34:47.35ID:CtEi3o2X
複オジの世迷言 vs 老害爺
2023/08/30(水) 23:03:37.56ID:EFFGi3bv
>>976
leak()へ所有権を渡すので所有者はいなくなりdropは起きない
代わりに&'static mutを得ることができてライフタイムに束縛されなくなる
例えば"abcde"の&'static strが所有者を持たずdropも起きないのと同じ
985デフォルトの名無しさん
垢版 |
2023/08/30(水) 23:17:03.32ID:E3RaRkgj
>>977
「記述のしやすさと可読性の良さ」って冗談か? Rustは冗長な癖に変な略語が多くて読みにくいし醜い。
あんなもんで開発するのは錆びついた歯車の自転車でギコギコ走らされるような罰ゲームだろ。
986デフォルトの名無しさん
垢版 |
2023/08/30(水) 23:21:58.36ID:jEaVNaFL
>>981
そりゃ既存のプロジェクトを数えりゃ歴史あるほうが使われてる割合多いだろうよ。
987デフォルトの名無しさん
垢版 |
2023/08/30(水) 23:23:05.29ID:c1vOy1St
C++とRust両方使いこなせる人たちが100%
Rustに軍配を上げるように
C++の言語機能が弱すぎることがC++の敗因かと
988デフォルトの名無しさん
垢版 |
2023/08/31(木) 05:57:13.65ID:Fp7risRc
>>983
と世迷言老害が申しております
2023/08/31(木) 09:04:59.10ID:qE8kvwKZ
rustでdll造ってCから使うとき
rust側で勝手に捨てられるのは困るな
2023/08/31(木) 10:28:37.32ID:CmoRmahF
メモリリークを簡単に立証できる参照カウントなら
勝手に捨てられないことを簡単に立証できる
これが勝因だ
2023/08/31(木) 12:21:22.57ID:dCL063sE
1000なら今年中にC++にも unsafe{ } が来る ← 一応参加

結局C++とRustってどっちが良いの? 7traits
http://mevius.5ch.net/test/read.cgi/tech/1693451813/
2023/08/31(木) 12:50:11.95ID:9MCfOvkc
>>989
は?
C++もRustも同じだぞ
Cから所有権がムーブしてくることはないので
C++もRustもCで確保したメモリを勝手に解放することはない
2023/08/31(木) 13:14:29.50ID:3Z3eLBs1
所有権がムーブするとは?
994デフォルトの名無しさん
垢版 |
2023/08/31(木) 14:21:58.30ID:qE8kvwKZ
はいはい unsafe {}
995デフォルトの名無しさん
垢版 |
2023/08/31(木) 14:22:09.96ID:qE8kvwKZ
はいはい dead lock
996デフォルトの名無しさん
垢版 |
2023/08/31(木) 14:23:58.05ID:qE8kvwKZ
はいはい #[no_mangle]
2023/08/31(木) 14:31:38.69ID:CmoRmahF
>>992
品質を犠牲にして儲ければ困らないがそういうのに不寛容な人達は困ってるだろうなあ
ってことでしょ
998デフォルトの名無しさん
垢版 |
2023/08/31(木) 14:58:04.06ID:qE8kvwKZ
pinoの蜜芋ブリュレが美味過ぎてやばい
999デフォルトの名無しさん
垢版 |
2023/08/31(木) 14:58:53.00ID:qE8kvwKZ
はいはい move move
1000デフォルトの名無しさん
垢版 |
2023/08/31(木) 14:59:11.39ID:qE8kvwKZ
C最強
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 32日 23時間 53分 25秒
10021002
垢版 |
Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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