X



結局C++とRustってどっちが良いの? 6traits
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
垢版 |
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/
0002デフォルトの名無しさん
垢版 |
2023/07/29(土) 15:09:04.43ID:2Hm/yplK
Rustはライフタイムの管理がムズいな。上手くいくかなと思っても結構コンパイルエラーが起こる。これは自分がライフタイムを正確に理解してないだけ?
0004デフォルトの名無しさん
垢版 |
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」などがある。
0006デフォルトの名無しさん
垢版 |
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が複数出現するが、この中にも複製おじさんが多数含まれていると考えられている。
このように自分の誤りを認識した場合、それを認める書き込みは決して行わず、別人の振りをして最初から正しく理解していた体を装うのも複製おじさんの特徴である。
0007デフォルトの名無しさん
垢版 |
2023/07/29(土) 16:55:07.62ID:c1f+so80
>>5
うんうんよかったよね、おめでとう
0008デフォルトの名無しさん
垢版 |
2023/07/29(土) 17:37:52.03ID:I0+lwIGZ
前スレで、moveいるいらないっぽい話がちょろっと出てたけど、
moveまわりを避けて、実直にポインタでやりとりする書き方してるんだろうな
APIにごく近いところに住んでて、簡潔に書くようにしてたら、おのずとそうなるかと
0009デフォルトの名無しさん
垢版 |
2023/07/29(土) 19:15:34.26ID:of1FckjJ
C++のtemplateの扱いもガチ勢とコンテナ専で意見が分かれそうだな
マルチパラダイム言語だから仕方ないけど見る人によっては無駄に複雑化してるかもしれない

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

最近っていつ?
0015デフォルトの名無しさん
垢版 |
2023/07/30(日) 07:30:46.91ID:O1YJNKqz
C++って、全機能使いこなせないと殴られるんちゃうかみたいな ふいんきあった
仕様書頭に入ってないと発言権ありません的な

まあでもそのくらいの気合はあって悪くない
Rustを前にして、苦手意識のほうを捨てることにしたよ
0016デフォルトの名無しさん
垢版 |
2023/07/30(日) 07:30:53.64ID:CCkbn9cO
>>13
私は非同期並列処理を用いた高速な行列演算フレームワークを開発しているところ何ですけど。
0017デフォルトの名無しさん
垢版 |
2023/07/30(日) 09:04:44.76ID:azQXcNDB
>>968
メンド臭いな
もっとシンプルにしろ
0018デフォルトの名無しさん
垢版 |
2023/07/30(日) 09:08:21.61ID:azQXcNDB
>>977
気持ちは判る
改悪は事実だが元々良かった訳でもないしな
0019デフォルトの名無しさん
垢版 |
2023/07/30(日) 09:11:27.27ID:azQXcNDB
>>984
これも判る
std::vectorもstd::listも馬鹿設計
0020デフォルトの名無しさん
垢版 |
2023/07/30(日) 09:15:05.98ID:UyrP6xJo
あたまのおかしい連続レス
>>1
こんな板違いのクソスレ立てるくらいならワッチョイ付きのまともなRustスレ立てろ
ここは頭のおかしい荒らしを養殖、醸成させるスレになってんだよ
0021デフォルトの名無しさん
垢版 |
2023/07/30(日) 09:16:12.95ID:azQXcNDB
>>2
むずいというよりメンドくさいだけ
考え方はシンプル
メンドくささを受け入れられない気持ちは判る
0025デフォルトの名無しさん
垢版 |
2023/07/30(日) 11:31:46.14ID:PxbGsfYc
>>21
関数引数のライフタイム注釈は、まあ、分かるんだけど、
structに対するライフタイム注釈は、色々な書籍を見ても、
厳密な定義が分からなかった。
ちゃんと、数学的な言葉や擬似コードなどで書いて欲しい。
たとえば、注釈Aと注釈Bの積集合が、戻り値のライフタイム
になる、みたいな言葉で書くのが数学的な書き方なんだが、
今のRustの仕様書では、そのような言葉で書かれていないので
精密な定義が分からない。
なので、ちゃんとしたプログラムが出来ない。
0026デフォルトの名無しさん
垢版 |
2023/07/30(日) 11:32:55.90ID:PxbGsfYc
>>24
気付くかどうかがその人の能力。
具体的にプログラミングして実現する実装能力とは別。
0029デフォルトの名無しさん
垢版 |
2023/07/30(日) 11:58:14.59ID:Phugis3j
>>26
>気付くかどうかがその人の能力。
「俺は問題が分かっている気づかないお前は能力が低い」では議論にならない
こういう言い回しが散見される
あなたが社会に馴染めない原因
0031デフォルトの名無しさん
垢版 |
2023/07/30(日) 12:09:03.54ID:3Gt2feL7
>>25
君の頭の悪さをRustのせいにするなよな
0035デフォルトの名無しさん
垢版 |
2023/07/30(日) 17:28:04.45ID:EsXxjTNc
>>34
おまえはおまえでちゃんとやっているつもりなんだろうが、
おれはおれでちゃんとやっているつもりだ。
Rustを非推奨とするのは、俺の心からの日本や世界への
愛でもある。
俺の考えでは、Rustは人類を良く無い方向に導くから
それを阻止しようと考えている。いわば、聖戦のようなもの。
0036デフォルトの名無しさん
垢版 |
2023/07/30(日) 18:04:19.90ID:xwHMDX1r
現実世界でも優秀でないのは文章を見れば一目瞭然
ある一定以上の知性がある人はここまで馬鹿な文章を書かないから
0038デフォルトの名無しさん
垢版 |
2023/07/30(日) 18:25:30.98ID:cVJ/YlET
脳の言語機能が発達してない人にプログラミングは無理だろ
少なくとも今の技術では
0039デフォルトの名無しさん
垢版 |
2023/07/30(日) 19:00:04.97ID:v002Bwgv
難化の原因の一つはstatic変数の悪口を言ったこと
だから昔の技術ではプログラミングできた人達も、今の技術では無理になった
0042デフォルトの名無しさん
垢版 |
2023/07/30(日) 21:19:18.98ID:BvovDmTI
本当に頭がよければ世界の80億人を愛するとか簡単に言うわけないんだよな
少なくとも世界中に足を運んで交流してからだろ
0043デフォルトの名無しさん
垢版 |
2023/07/30(日) 21:27:24.25ID:Phugis3j
歳は若くても45くらい多分50代後半かなと思う
それで>>35の書き込みだよ
社会経験が乏しいだと思う
俺はこの人は高齢引きこもりなんだと思う
何かの事情があったのだろう
0044デフォルトの名無しさん
垢版 |
2023/07/30(日) 21:31:43.58ID:v002Bwgv
両者とも何か、リスクが低過ぎる物事に対する憎悪を感じる
詐欺よりも未定義の言葉を嫌うのもリスクが低過ぎるからじゃないか
0046デフォルトの名無しさん
垢版 |
2023/07/31(月) 03:49:12.78ID:nT30zTPs
まず、このスレの連中は、いったん素晴らしいと思い込んだ
ものを無批判に受け入れすぎている。そして、英語圏の
批評、批判を全く読んでない。
読んでいればRustの評価は余り高くなくて、意見が
半々くらいに分かれていることがすぐに分かるから。
0047デフォルトの名無しさん
垢版 |
2023/07/31(月) 07:47:53.35ID:lZja90Kc
OSなんて一つの言語で記述するメリットが大きすぎる
それを上回るよほどの大きなメリットがない限り他の言語を導入することはない

しかしMicrosoftはWindowsでRustを導入しGoogleはAndroidでRustを導入した
C++を邪道な言語として使用を拒否してきたLinuxもRustを導入した
0051デフォルトの名無しさん
垢版 |
2023/07/31(月) 10:26:23.87ID:fc/+y7rt
OSではCの支持率100%になってもアセンブラを排除するのは不可能
つまり、数値を抑制するのではなく
数値が上がりすぎるとスカウターみたいに爆発する脆弱性をなくせばいい

安全をどれだけ信奉してもunsafeを排除できないのは良いことだ
0052デフォルトの名無しさん
垢版 |
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は果たしてどのくらいなのかな?
0053デフォルトの名無しさん
垢版 |
2023/07/31(月) 11:54:50.00ID:ulrQSEBD
>>46
ここは北朝鮮じゃないので何を使うかは選択でき自由がある
「無批判に受け入れすぎている」は全く当たらない
0056デフォルトの名無しさん
垢版 |
2023/07/31(月) 13:48:39.26ID:fc/+y7rt
行数もいいけど独裁者が何人いるか数えてみろよ
たったの1人しかいないから無力の無能だと言えるなら正直者
だが掌返して1人だからといって無能とは限らないとか言い出せば嘘つきだ
0059デフォルトの名無しさん
垢版 |
2023/07/31(月) 14:57:58.99ID:MuwrPG3l
>>52
あの頑固者のLinusが解禁したこと自体が画期的

RustがOKなら、Rust程度のOOPはOKってことで、近い言語が続々参入したりして
そうなると、simple化付きC++ってのも見えてくる
0060デフォルトの名無しさん
垢版 |
2023/07/31(月) 15:00:33.59ID:ulrQSEBD
>>59
Rustコンパイラは何を使うの?
0068デフォルトの名無しさん
垢版 |
2023/08/01(火) 01:13:33.06ID:enF/Vqu1
カーネルは知らないがrustcでコンパイルしたものとc言語で書かれたものはリンクできて動いてるし何を問題にしているのかわからない
最近はPythonやJavaScriptのライブラリもRustで書かれることが増えている
0069デフォルトの名無しさん
垢版 |
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なのか? あるいは別の方法かな?
0072デフォルトの名無しさん
垢版 |
2023/08/01(火) 02:10:15.58ID:enF/Vqu1
>>69
何を問題にしているのかさっぱりわからん
gccもclangも同じELF形式のオブジェクトファイルを吐くだけだぞ
共有ライブラリなども当然同じものが使われている
コンパイラ毎に別々の形式を吐いて共有ライブラリなども別々に用意されていると勘違いしている??
0073デフォルトの名無しさん
垢版 |
2023/08/01(火) 02:15:20.41ID:8wU+ches
rustのコードはrustc on llvmでコンパイルされる
そうするとgccが吐いたオブジェクトファイルと
rustc on llvmが吐いたオブジェクトファイルをリンクできるのか?

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

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

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

Rustの努力にはライバルながら賛辞を贈る
Rustの成功をC++に取り込むべきだと思ってるからね
0081デフォルトの名無しさん
垢版 |
2023/08/01(火) 10:39:09.49ID:lcAcDegU
>>80
>>69の解法2だね

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

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

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

それができれば、所有権情報付きの型に対応できることになるから、
C/C++も一気に所有権まわりを獲得できるってことになる
0087デフォルトの名無しさん
垢版 |
2023/08/01(火) 12:53:01.64ID:f+qzMJki
>>84
Rust専用スレがある。
そっちの住人にこっちは隔離スレとされた。
隔離されて無いはずのスレに戻れよ。
そっちの方が多いはずなんだろ、Rust信者の脳内では。
0089デフォルトの名無しさん
垢版 |
2023/08/01(火) 15:34:55.86ID:vjzMKnjk
>>88
ウザい
0090デフォルトの名無しさん
垢版 |
2023/08/01(火) 15:45:28.88ID:lcAcDegU
戻れも何も俺はそもそもRustユーザではないので
「Rust専用スレ」なるものを開いたことはない
ここには議論をしに来たのであってウザいと言われれば
反論できないのだなぁwとしか思わん
0094デフォルトの名無しさん
垢版 |
2023/08/01(火) 20:49:40.26ID:rdOaCXEZ
さすがにその可能性を疑い出したら病気の一歩手前だから気を付けてくれ
何か引っ掛かる点があったなら別だけど
0095デフォルトの名無しさん
垢版 |
2023/08/01(火) 20:51:58.06ID:lcAcDegU
>>93
同一人物で自作自演したとして
俺が何をどう思われたいと思ってるのかが分からんので
是非論理的に教えてくれ
0096デフォルトの名無しさん
垢版 |
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

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

なんでも自作(内製)しようとしちゃうよね、自分にもそんな時期がありました
勉強にはなるけど
0108デフォルトの名無しさん
垢版 |
2023/08/02(水) 09:10:06.07ID:4pI1Wfnv
>>93-95
hissi.org を AI に掛けたらそろそろ自演検出出来る時代
0110デフォルトの名無しさん
垢版 |
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++の発展を期待するぜ、っていうわけ
0111デフォルトの名無しさん
垢版 |
2023/08/02(水) 20:46:07.42ID:ss9KhaID
C++なんざ何処が良いのか分からん
C#ほどセーフティーな訳でも無ければ
アセンブラみたいに痒い所に手が届く訳でもない
0113デフォルトの名無しさん
垢版 |
2023/08/02(水) 21:43:56.55ID:2DJiiIQu
>>110
>所有権情報がついたAPIになるわけだから、C++(とC)も当然それに合わせていく必要があるし
C/C++の言語仕様・ライブラリでこれをサポートする予定があるのか
0115デフォルトの名無しさん
垢版 |
2023/08/03(木) 08:14:30.82ID:8npqW66R
C/C++の問題点はプログラム全体がunsafeエリアな点にある
Rustのように自動的に安全が保証されるsafeエリアを作るべきだ
0116デフォルトの名無しさん
垢版 |
2023/08/03(木) 13:49:40.33ID:Lr04Zjag
unsafe { } なコード描き捲れば良いじゃん
誰も止めないし
0117デフォルトの名無しさん
垢版 |
2023/08/03(木) 14:47:00.92ID:8npqW66R
生のメモリはunsafeだからunsafeなエリアをゼロにするのは無理だが最小限に閉じ込めることはできる
ちなみにunsafeなエリアとは自動的に安全性が保証されず人間が安全性を保証しなければならない意味であり安全でないコードの意味ではない
C/C++は全てがunsafeなエリアとなっていることが根本的な問題であるためC/C++に導入すべきはsafeなエリアとunsafeなエリアの区別の導入
0118デフォルトの名無しさん
垢版 |
2023/08/04(金) 02:45:20.65ID:9vVWYNaF
科学者は、新しいものより古いものを好むような気がする。
やっとFortranからC++に移行したみたいな感じじゃない。
0119デフォルトの名無しさん
垢版 |
2023/08/04(金) 09:03:06.23ID:XLfSEGlw
unsafe { C++ }
unsafe { unsafe { Fortran }}
0120デフォルトの名無しさん
垢版 |
2023/08/04(金) 11:28:27.58ID:rcIkyW/J
>>118
ある年齢以下だと科学者でもかなりpythonが主流派だよ。
0122デフォルトの名無しさん
垢版 |
2023/08/04(金) 12:40:31.64ID:l9tpj9tS
>>121
同意。
rustも別にunsafeだから安全じゃないってわけじゃないからな。
0123デフォルトの名無しさん
垢版 |
2023/08/04(金) 13:02:53.96ID:2tbTIxDy
>>121
>noguardがguidelessの方が実態に合っている。
wwwww
guidelesswww
0124デフォルトの名無しさん
垢版 |
2023/08/04(金) 13:09:44.29ID:TzILUUtf
俺はコンパイラの支援なんか不要!
安全なコード書けるから!
などというバカ対策
0125デフォルトの名無しさん
垢版 |
2023/08/04(金) 13:32:31.68ID:sr1c8EdF
いくら自信があっても
いくら百戦錬磨のプロでも
思い込みや見逃しでミスが入り込む可能性がある
そしてミスがないと主張してもその客観的な根拠はなく頭の中にしかない

C/C++にも客観的に自動的に安全性が保証されるsafeエリアを導入すべきだ
そしてプログラム本体にunsafeエリアが露出せずに済むようにsafeなライブラリ関数を充実すべきだ
0126デフォルトの名無しさん
垢版 |
2023/08/04(金) 14:14:29.32ID:egOIBhxw
急にスレのベレルが下がったな
0128デフォルトの名無しさん
垢版 |
2023/08/04(金) 14:45:44.75ID:z0X1ZVr3
>>125
唐突なポエム草
0131デフォルトの名無しさん
垢版 |
2023/08/04(金) 15:39:49.20ID:XLfSEGlw
高かったことが一度でも在ったかのような言い草だな
0132デフォルトの名無しさん
垢版 |
2023/08/04(金) 15:45:57.96ID:f95F43ae
散髪屋に安全ガミソリを強制したり、マシン語プログラマを
蔑みそうな思想だな。
0133デフォルトの名無しさん
垢版 |
2023/08/04(金) 15:49:31.23ID:f95F43ae
安全ガミソリは刃に毛が挟まって取れなくなって、
再利用しにくいのに対し、直刃のかみそりは、
安全面さえ気をつければ手入れが簡単で再利用しやすい
からプロは後者を好んで使う。
それと同じ。
0134デフォルトの名無しさん
垢版 |
2023/08/04(金) 15:51:38.78ID:f95F43ae
直刃のかみそりを好んで使うプロたちに対して、
「お前らは客の安全性を疎かにする自信過剰で傲慢な
駄目な奴ら」
だとか言うつもりか。
0136デフォルトの名無しさん
垢版 |
2023/08/04(金) 15:58:20.80ID:BcxuRAkw
>>134
消毒(sanitize)はどうしてるのかって問題はたしかにあるな
俺は気にしてないが、気にする人がいてもいい
0137デフォルトの名無しさん
垢版 |
2023/08/04(金) 16:01:00.54ID:f95F43ae
マシン語プログラマに対して、
「おまえらは、自身の腕を過信する安全性軽視の
 駄目プログラマだ」
なんて言う権利は他人には無いと思う。
0138デフォルトの名無しさん
垢版 |
2023/08/04(金) 16:09:50.05ID:S7yEvO65
>>137
安全性とは何なのかも定義も理解できていないからそんな馬鹿げた書き込みばかりしてるのか
0140デフォルトの名無しさん
垢版 |
2023/08/04(金) 16:31:11.69ID:EJnCR0gN
安全カミソリは安全ではないし
直刃のカミソリを使うプロでも客に切り傷つけることはよくある
0141デフォルトの名無しさん
垢版 |
2023/08/04(金) 19:56:00.95ID:l9tpj9tS
直刃のカミソリっていうか、柄もないカミソリの刃だけを使うようなもんだろ。
自分も痛い目みること含めて。
0142デフォルトの名無しさん
垢版 |
2023/08/04(金) 20:09:16.36ID:S7yEvO65
他人が書いた部分や使ってるライブラリやその孫ライブラリまで含めて全ソースをチェックするのは非現実的だからな
もちろん自分で書いた部分やリファクタリングした部分も万が一のチェックを書き換えるたびにするのも手間暇コスト増
unsafeでもunguardでも呼び名はなんでもいいからsafe/guard部分がコンパイラによる自動チェックされるようになれば人間がチェックすべき部分は激減できる
0144デフォルトの名無しさん
垢版 |
2023/08/04(金) 20:26:53.92ID:og8Edpiv
ダングリングの検出ってGPTの登場で
言語側が備える意味は最早なくなった
そのうち外部にチェックプログラムが登場するよ
ABIが非互換になるデメリットを考えると
なおさらRustに追随する言語はないと思う
さよならRustの未来を信じた皆さん
0145デフォルトの名無しさん
垢版 |
2023/08/04(金) 20:36:35.81ID:q/UYza0u
>>144
ダングリングなんて小さな問題だけが対象ではないことを理解していなさそうにもみえるが
これまで外部ログラムがいくら頑張っても各種問題を静的に見つけることはできていないし今後も無理だろう
AIであろうとそれは同じであり神のようなAIが登場するならその時は全ての言語のプログラマー全員廃業だ
0146デフォルトの名無しさん
垢版 |
2023/08/04(金) 21:00:09.09ID:IJ6nE+NX
>>144
外部のチェックツールって今までもあったけどね。
上手いプロンプトを考えられたらいいね。
0147デフォルトの名無しさん
垢版 |
2023/08/04(金) 21:36:58.62ID:K3V5Xtdy
>そのうち外部にチェックプログラムが登場するよ
今まで使ったことないのかよww
0149デフォルトの名無しさん
垢版 |
2023/08/05(土) 00:03:15.32ID:8PC/4Tei
残念だけど言語サポート無しにRustと同じレベルのチェックは不可能
それがわからない時点で安全なコードを書く能力もないことが分かる
0150デフォルトの名無しさん
垢版 |
2023/08/05(土) 01:06:25.49ID:YeB01PWa
>>149
SendやSyncのマーカートレイトなど
様々な安全性を型チェックで保証できるような枠組みがRustには揃ってるあたりのことか
C++にも導入すべきだよな
C++は色んな機能が足りなすぎる
0153デフォルトの名無しさん
垢版 |
2023/08/05(土) 04:34:10.67ID:KocMWFZU
Rust信者の正体は、ぎゃあぎゃあ五月蝿い評論家だ。
自分が上だと思って色々言ってくる。
0154デフォルトの名無しさん
垢版 |
2023/08/05(土) 04:36:47.68ID:KocMWFZU
実際にソフトウェアでサラリーマンとしてではなく、事業
として成功している人以外の意見はさらっと流して無視
しなければ、上手く行かない。
0156デフォルトの名無しさん
垢版 |
2023/08/05(土) 07:31:06.33ID:YeB01PWa
>>155
Rustが様々な安全性をコンパイラで保証できる仕組みは
例えばスレッド間での移動や共有の可否などを抽象的なトレイトで表現して
各型をそれらのトレイト境界で制約して型チェックで実現したりしているようだから
C++にもそういう仕組みを導入すれば自動チェックの可能性が出てくるね
0158デフォルトの名無しさん
垢版 |
2023/08/05(土) 08:24:07.60ID:YeB01PWa
>>157
言語仕様に組み込まれていないとそれは不可能と思われる
もしそれさえ覆すAIが出現した時にはプログラミング言語自体が全て滅びてしまう新時代となる
その新時代になるまでは言語仕様が強力なRustがAI支援で圧倒的に有利にみえる
0160デフォルトの名無しさん
垢版 |
2023/08/05(土) 11:23:13.95ID:NzC+Rt9F
>>158
>言語仕様に組み込まれていないとそれは不可能と思われる
そなの?
人間がソースコードを読んで発見できるバグなら
直感的にはAIにも出来るのでは?
0162デフォルトの名無しさん
垢版 |
2023/08/05(土) 12:00:58.94ID:YeB01PWa
>>160
そこは単純な話でプログラミングよりも遥かに難しいため
つまりそれが可能な領域にAIが達した時にはAIが最初から全て行なうのでそもそもチェックも不要になる
0164デフォルトの名無しさん
垢版 |
2023/08/05(土) 12:44:17.52ID:NzC+Rt9F
人間が読んで発見できないバグをRustが発見できるかのような言い草だな
0165デフォルトの名無しさん
垢版 |
2023/08/05(土) 12:48:32.07ID:C2ROzTMY
たぶん、いきなり初作でバグ書いたりはしないと思うのな
あとで改造したときにエンバグする
そこでコンパイルエラーになるように言語ができてる
0166デフォルトの名無しさん
垢版 |
2023/08/05(土) 14:13:18.22ID:NzC+Rt9F
ChatGPT-4では検出できないが
Rustで書けば検出出来るC/C++のバグを考えようぜ
ChatGPT-4はかなり賢いので俺は既に無いと予想するよ
0168デフォルトの名無しさん
垢版 |
2023/08/05(土) 14:42:07.80ID:z8pTYjl5
ChatGPTは、
じゃんけんの論理構造が理解できないから、じゃんけんの
プログラムのバグを発見できない。
0169デフォルトの名無しさん
垢版 |
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;
}
}
0170デフォルトの名無しさん
垢版 |
2023/08/05(土) 15:14:36.79ID:LVFgAb7y
なんか&empty;が空集合の記号に変換されて表示されてしまった…
たしかに文字参照形式だけど5chのバグ踏んだんかな
0171デフォルトの名無しさん
垢版 |
2023/08/05(土) 15:21:16.34ID:NzC+Rt9F
>>169
Thanks! そのまま貼るね
I: C++プログラムのバグを教えて欲しいのですが? コードレビューをできますか?
G: もちろんです、C++のコードを見せていただければ、そのコードのバグや改善点を提案することができます。どんなコードをレビューすればよいですか?
I: >>169のコード
ただし string *longest = は string *longest = nullptr; に修正
0172デフォルトの名無しさん
垢版 |
2023/08/05(土) 15:22:34.42ID:NzC+Rt9F
G: コードを見た結果、最初の問題点は次の行で生じます。
if (names.back().length() > longest->length()) {
G: 最初の入力が行われる前、longest ポインタは nullptr に設定されています。
したがって、デリファレンス操作(-> を使用)は無効なメモリへのアクセスを引き起こし、
これは未定義の動作につながります。
この問題を解決するためには、longest ポインタを使用する前に、
有効な string オブジェクトを指すように設定する必要があります。
コードを次のように修正することで、
最初の入力の後に longest ポインタを設定することができます。
0173デフォルトの名無しさん
垢版 |
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;
}
0174デフォルトの名無しさん
垢版 |
2023/08/05(土) 15:24:14.45ID:LVFgAb7y
もし空集合の記号が見えてたら&empty;(←半角)に修正してほしい
nullptrだと最初の比較で普通に死ぬから意図したバグが出ない
0175デフォルトの名無しさん
垢版 |
2023/08/05(土) 15:27:55.04ID:NzC+Rt9F
文章を解釈してオーダにない修正(exitの追加)までしている
ChatGPT-4はマルチスレッドの競合状態なんかも検出するよ
デッドロックは試してないがら無理かもね
Rustはデッドロックは検出するんだっけ?
0176デフォルトの名無しさん
垢版 |
2023/08/05(土) 15:30:21.32ID:LVFgAb7y
173見るとnullエラーは検出するけどvectorの再配置によるダングリングは見逃す感じでいいのかな
0177デフォルトの名無しさん
垢版 |
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が内部の動的配列をリサイズする必要がある場合、
新しいメモリ領域に要素が移動され、古い参照が無効になるからです。
以下に修正したコードを示します。
0178デフォルトの名無しさん
垢版 |
2023/08/05(土) 15:33:27.10ID:97ZAjLd0
俺、C++ド素人で>>169が何をしているのかさっぱり分からんから、
どこが悪いのかさっぱり分からんが
でも、ChatGPTは何をしよう(しているのか)を理解して
(質問者にvectorの再配置でポンタ無効になるからと教えて)
>>171のような修正を提示するんだな。賢すぎだろ
0179デフォルトの名無しさん
垢版 |
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の内容が変更されても影響を受けません。
また、名前が空の場合にループを抜ける条件を追加しました。
0180デフォルトの名無しさん
垢版 |
2023/08/05(土) 15:39:09.24ID:NzC+Rt9F
>>176
その通りだね
ところが>>177の修正を加えて返ってきた答えには
vectorの再配置によるダングリングを考慮してある
>>177以外の修正は俺は一切加えていない

まだ間違った答えを返すことがあるが
正解を返すポテンシャルは既にある
0183デフォルトの名無しさん
垢版 |
2023/08/05(土) 15:45:41.69ID:LVFgAb7y
>>174
サンクス
さすがにこのレベルだと検出できるか
(ほかに目立つバグがあるとスルーされるのかもしれないけど)
0185デフォルトの名無しさん
垢版 |
2023/08/05(土) 16:03:33.32ID:LVFgAb7y
あらゆるデッドロックを検出しようとするとデッドロックするから無理って
チューリング先生が証明してたと思う
停止性とは違うのかもしれないけどどうせ帰着ルート見つけるでしょ(適当)
0186デフォルトの名無しさん
垢版 |
2023/08/05(土) 16:22:05.73ID:z8pTYjl5
AIに関して。たまたま上手く行ったケースだけを
書いている可能性がある。
実際にやってみると変になることもあったりする
のがよくあるパターン。
0187デフォルトの名無しさん
垢版 |
2023/08/05(土) 16:44:23.90ID:NzC+Rt9F
>>186
>>171は1回だよ そのあと>>170を読んだので
チャットの途中から>>177の修正を加えて回答を生成させた
これも1回限り
ChatGPT-4を普段触っていて能力を知っていれば
納得の回答レベルだと思うけど?
0188デフォルトの名無しさん
垢版 |
2023/08/05(土) 16:52:12.45ID:z8pTYjl5
std::vector でよくある性質だけ、ChatGPTに
ハードコーディングされてる可能性がある。
0189デフォルトの名無しさん
垢版 |
2023/08/05(土) 17:30:10.13ID:YdmkUc66
>>181
デッドロックは静的に(実行せずに)検出できないことが理論的にわかっている
そのためRustを含めて任意のシステムで静的にデッドロックを検出するものは存在しない
0190デフォルトの名無しさん
垢版 |
2023/08/05(土) 17:46:13.30ID:YdmkUc66
デッドロックはロック順序が定まるように自主的対応するとして
一方でデータ競合についてはRustがデータ競合のないことを保証してくれる
0192デフォルトの名無しさん
垢版 |
2023/08/05(土) 18:58:04.88ID:nLwYtk1m
実は俺は未来が見える。
Rustは普及しない。
いっちゃった。
ヤバイ。
0193デフォルトの名無しさん
垢版 |
2023/08/05(土) 19:24:44.46ID:YdmkUc66
>>191
ChatGPTは検出できるケースもあるだけだぞ
Rustはデータ競合を100%回避できる
そしてデータ競合は100%回避しなければならない
100%回避できる方法がある状況でそうではないChatGPTに頼るやつはバカだと断言できる
0195デフォルトの名無しさん
垢版 |
2023/08/05(土) 19:45:05.47ID:YdmkUc66
>>194
100%防がなければいけないこと(今回の例だとデータ競合)で
ChatGPTに依存するは愚の骨頂
ましてや100%防げるRustが存在する状況で
0198デフォルトの名無しさん
垢版 |
2023/08/05(土) 21:31:44.37ID:Ab8yJnrX
>>196
Rustは必要な高機能が充実しているにま関わらず
洗練されていて覚えることが少なくて楽だ
C++はC++20まで把握してもまだRustの高機能に追いつけていない
0199デフォルトの名無しさん
垢版 |
2023/08/05(土) 21:39:17.35ID:NzC+Rt9F
RustやってもCを別に覚えなきゃならないじゃん?
C++覚えればCはサブセットだし楽だよ
なによりRustはやってる人が少な過ぎて人が集まらん
0202デフォルトの名無しさん
垢版 |
2023/08/05(土) 23:31:44.33ID:Z3AMXPsc
Rustは速くsimd命令周りをstableにして欲しい。
0208デフォルトの名無しさん
垢版 |
2023/08/06(日) 02:18:54.27ID:3wcIZOky
それじゃ全然足りないってことでしょ
「信者が〜」とか言っちゃう奴って目標高過ぎというか欲張り過ぎなんだよね
どっちが信者だよって感じ
0210デフォルトの名無しさん
垢版 |
2023/08/06(日) 02:37:30.46ID:/n3JPvRf
Linuxと比べれば底辺の食べ物みたいに馬鹿にされる
サイゼリヤやマクドナルドの方が遥かに高級ということになる。
0215デフォルトの名無しさん
垢版 |
2023/08/06(日) 02:59:11.89ID:/n3JPvRf
アメリカ製のSNSが存続できているのは、アメリカ政府の
補助金のおかげ。YouTubeは個人情報をアメリカ政府に
差し出す見返りに政府から補助金を得ている。
0219デフォルトの名無しさん
垢版 |
2023/08/06(日) 03:21:25.88ID:FBMr5AjE
Rust叩きをしている人たちがちょっと頭のおかしい人たちばかりなのは偶然なのか必然なのか
0222デフォルトの名無しさん
垢版 |
2023/08/06(日) 07:19:58.01ID:V97WePr1
スレのレベルがまた一段と下がってるね
低学年の小学生みたいw
0224デフォルトの名無しさん
垢版 |
2023/08/06(日) 09:15:11.08ID:xJ7XeiL9
>>170
5chのバグではない
仕様通りの動作
0225デフォルトの名無しさん
垢版 |
2023/08/06(日) 09:23:00.88ID:xJ7XeiL9
>>199-200
今Rustで募集すると間違いなくゲーマーが応募してくる
0227デフォルトの名無しさん
垢版 |
2023/08/06(日) 09:58:51.57ID:ES7Kp55N
VisualStudioって有料だよね
0228デフォルトの名無しさん
垢版 |
2023/08/06(日) 10:15:09.14ID:ctz5BWzh
GTK, wxWidgt, Qt, CodeBlocks などを試してみたが、
どれも使う気になれなかった。Qtは有料だが。
0230デフォルトの名無しさん
垢版 |
2023/08/06(日) 11:35:14.84ID:ctz5BWzh
>>229
その中でましな方のCodeBlocksですら、
メニューやボタンはあれども機能しない項目が
多かったり、順序によって機能し無かったりが多く、
どのような順序で事を行なっても動作するところの
VC++とは使い勝手が全く違った。
0231デフォルトの名無しさん
垢版 |
2023/08/06(日) 11:39:05.81ID:ctz5BWzh
手短に言えば「みかけだおし」で実際には機能しない
メニュー項目やオプション類が多数あって、混乱した。
gccもオプションは多すぎるほど多いが、実際にちゃんと
機能するものはほとんど無く、-I -L -O1 -v みたいなもの
だけに限られ、他のオプションは指定してもまったく機能
しないか、機能しても他のオプションと併用すると破綻したり、
または、機能しても僅かな変化しかなく、msvcが大胆に
機能変化するのとは全く異なっている。
0232デフォルトの名無しさん
垢版 |
2023/08/06(日) 11:43:44.43ID:ctz5BWzh
また、ボランティアによってせっかくチュートリアルが
作られていても、「すぐに変化して」しまうため、
最新版とは同じにはならない。
しかも、チュートリアルなしでは使いこなせないような
インターフェースになっており、非常に使い勝手が
悪かった。
このことは、3DモデラのBlenderでもあてはまる。
価値観の異なる別の人がプログラミングに参加してしまう
せいか、一年たてば、使い方ががらりと変化してしまう。
そのため、YouTubeなどでボランティアが多大な時間と
努力で作り上げた解説動画と、最新版の使い方が大胆に
異なっている。それで、古い解説動画扱いされ、
老害扱いされる。せっかく努力した人の努力は水泡に帰する。
これはまさに共産主義。努力した人をあざ笑い、何もしなかった
人が安泰になる仕組み。
0233デフォルトの名無しさん
垢版 |
2023/08/06(日) 11:45:18.85ID:xFPyICNs
んーなんかよくわからないがUIビルダー試してるって事かなあ?
RUSTから離れて行ってね?
0235デフォルトの名無しさん
垢版 |
2023/08/06(日) 11:52:31.08ID:xJ7XeiL9
>>228
GTKは糞(GTK自体はC)
wxWidgetsは優秀(C++)
QtはQMLになって糞化(C++)
Code::Blocksは(C/C++)実質wxWidgets
どれも使えないのはC++の理解が足りてないんじゃないか
馬鹿自慢してるようなもの
0236デフォルトの名無しさん
垢版 |
2023/08/06(日) 11:54:22.02ID:6rDWJ/3o
tkは?
0237デフォルトの名無しさん
垢版 |
2023/08/06(日) 11:55:06.00ID:ctz5BWzh
有名なOSSツールで、年々ツールのバイナリサイズが肥大化
し、異常にサイズが大きくなってしまったものも知っている。
16BIT時代から続く有名なOSSだが、そのころから機能は
僅かしか追加されて無いのに、今や、4GB位のストレージ
を消費してしまう。機能は16BIT時代と対して変わってない。
16BIT時代だったら、数MBだっただろう。
0240デフォルトの名無しさん
垢版 |
2023/08/06(日) 11:58:15.10ID:xJ7XeiL9
>>236
tcl/tkはだぁぃ好き
0241デフォルトの名無しさん
垢版 |
2023/08/06(日) 11:59:35.42ID:ctz5BWzh
>>237
機能が2倍くらいになって徐々に肥大化して言ったならまだ分かる。
しかし、数年前まで32BIT版で500MB位であって、
機能は1%も追加されて無いのに、4GBになった。
これがOSSソフトの典型例。
パソコンの性能は劇的に増加したのに、インストール時間は
むしろ長くなった。
細かい時間は忘れたがインストールするだけで10分以上はかかった。
0242デフォルトの名無しさん
垢版 |
2023/08/06(日) 12:01:49.07ID:ctz5BWzh
それに、ユーザー数やシェアを考えれば、優先順位は
Windows、Android、iOS、、Mac、Linux 位の順で
なければならないのに、多くのOSSでは、ターゲットもホストも
大体、Linux、Mac、Windows、iOS、Android
のような順序になっており、ほとんど逆に近い。
このことも、ストレスフルになる。
0244デフォルトの名無しさん
垢版 |
2023/08/06(日) 12:13:52.92ID:ctz5BWzh
OSS作者の多くは、Linuxをメインに開発していて、
Windowsは「仕方なく」対応していることが多いらしい。
だから、WindowsとLinuxの違いのために面倒な
追加コーディングが必要になったときには、ストレスフル
となり、いやいやコーディングしてしまう。そのため、
Windowsでは中途半端な出来栄えとなり、どこかに
不具合を抱えていることが多い。
そしてそれを自分の責任とせず、Windowsや、Windows
を使っているユーザー、または、Windowsを使っている社会
などに責任転嫁してしまう。
その結果、そのような作者が多いOSSをWindowsで使うと、
ストレスフルで使う側が嫌な気分を味あうことが多くなる。
0245デフォルトの名無しさん
垢版 |
2023/08/06(日) 12:17:19.87ID:ctz5BWzh
AdobeのPDF Readderもそうである。
恐らくMacとiOS(やスマホ)のインターフェースを
ベースにしているため、Windowsユーザーには物凄く
使いにくい。
Windws版のKindle Readerも同様。物凄く使いにくい。
Google Mapのインターフェースも最悪だといわれている。
しかし、それがデファクトスタンダードとなっていて、
無料なことが災いして、競争相手が育たず、世界中の
人々が使い勝手の悪い無料ソフトで、生産性が悪い
社会となってしまっている。
0246デフォルトの名無しさん
垢版 |
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が優れているというだけの話
0247デフォルトの名無しさん
垢版 |
2023/08/06(日) 12:23:27.05ID:0QxiCITa
>>ID:ctz5BWzh
世界は多様でいくらお前が望んでもそれは変わらない
皆(動物さえも)適応して生活している
ずっと読んできたが
おまいさんは多様性への適用能力に問題を抱えているんだよ
0248デフォルトの名無しさん
垢版 |
2023/08/06(日) 12:25:47.78ID:ctz5BWzh
OSSの作者は「逆張り」傾向が強い。
別の言い方をすれば天邪鬼。
だから、多数派向けのアプリを作りたい人には、
OSSの開発環境は足かせになる事が多い。
0250デフォルトの名無しさん
垢版 |
2023/08/06(日) 12:30:47.90ID:xJ7XeiL9
>>244
uby界隈の人は特にそういう傾向あるな
0254デフォルトの名無しさん
垢版 |
2023/08/06(日) 13:28:13.42ID:526NdK6C
>>253
でも、乞食必死してるんだろ
貧すれば鈍するだから、時期にくそを受け入れるようになるよ。

無料もの使うと乞食化するし、そして、
くそ物を使うと使っている奴もくそ化するし
そうなってもそうなっている自覚はないだろうが
0255デフォルトの名無しさん
垢版 |
2023/08/06(日) 14:14:02.54ID:3wcIZOky
OSSが有料だとか無料だとかそんな次元で語ってる時点で発想が乞食でしょ
自分で何か作って公開することで知識や技術を「交換」するみたいな発想はできないのかな
使わせて「貰う」ことしか頭にないなら仕方ないけど
OSSコミュニティがみんなそうだとは思わない方がいいよ
0257デフォルトの名無しさん
垢版 |
2023/08/06(日) 14:18:04.40ID:xJ7XeiL9
まるで有料に糞が無いかのような物言いだな
0258デフォルトの名無しさん
垢版 |
2023/08/06(日) 14:19:27.05ID:xJ7XeiL9
>>254
>くそ物を使うと使っている奴もくそ化するし
>そうなってもそうなっている自覚はないだろうが
その通りだ
有料糞品の最大派閥が君の大好きなWindowsだ
0261デフォルトの名無しさん
垢版 |
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;と送られて表示時も正しく表示されることになる
0263デフォルトの名無しさん
垢版 |
2023/08/06(日) 15:11:36.53ID:3wcIZOky
調べたら10年以上前に決めた仕様らしいから仕方ない
普通の文章だと&...;みたいな文字列は出てこないし
0265デフォルトの名無しさん
垢版 |
2023/08/06(日) 15:35:01.33ID:xJ7XeiL9
>5chへ&amp;empty;と送られて
これが為されてないのは専ブラのせい?
0266デフォルトの名無しさん
垢版 |
2023/08/06(日) 16:05:39.21ID:0QxiCITa
>>231
>gccもオプションは多すぎるほど多いが、実際にちゃんと
>機能するものはほとんど無く、-I -L -O1 -v みたいなもの
>だけに限られ、他のオプションは指定してもまったく機能
>しないか、機能しても他のオプションと併用すると破綻したり、
>または、機能しても僅かな変化しかなく、msvcが大胆に
>機能変化するのとは全く異なっている。
バイナリ変わっとるやろ?
gccのオプションが多いのは否定しないが
お前が使いこなせていないだけ
0268デフォルトの名無しさん
垢版 |
2023/08/06(日) 16:11:32.80ID:0QxiCITa
>>232
最後の共産主義云々は飛躍せずに論理の筋道を書かないと全く意味が分からない
まともな批判も書いているのだが
社会生活を送っているように思えない書き込みも散見される
0269デフォルトの名無しさん
垢版 |
2023/08/06(日) 16:14:36.17ID:0QxiCITa
>>237
ソース見れば肥大化した理由が分かるのでは?
OSSなら知る自由があるよ
0270デフォルトの名無しさん
垢版 |
2023/08/06(日) 16:21:14.15ID:o/Yc4yMs
日本人は知らされて無いけど、中国がずっと前からOSSを推進しており、
githubのスポンサーも中国企業が多いと聞いた。
それにgithubの一番人気ソフトは中国製。
0271デフォルトの名無しさん
垢版 |
2023/08/06(日) 16:27:02.28ID:chHFU/NY
こいつの言ってることが本当なら、それらの問題点を改善したソフトを
有料で売れば大儲けできるのになぜかやらないんだよなぁ
0275デフォルトの名無しさん
垢版 |
2023/08/06(日) 19:10:54.10ID:o/Yc4yMs
この板を含め、ネットでは、技術よりマーケティング重視の人が多い。
それで日本の技術力低下が起きたのではないか。
0276デフォルトの名無しさん
垢版 |
2023/08/06(日) 19:16:21.94ID:o/Yc4yMs
テレビを見ると、やたらと技術だけでは駄目、という言葉ばかり
叫ばれるが、GAFAMは、技術先行型、プロダクトアウト型だと
言われている。実は、マーケットイン型は、模倣され易いと言われており、
だから、新興国に模倣されているのかも知れない。
GAFAMのものは、技術先行型だから他社が真似するのは難しい。
模倣しようと思っても模倣できない参入障壁が多い。
検索エンジンやChatGPTも、プログラミングだけでなく、処理能力が
桁違いに大きなスパコンの様なデータセンターが必要だと思われる。
そして二番手以下は全く売上げがたたないので大赤字となるため、
参入できない。
それが自動車産業や家電業界とは異なるところ。
0277デフォルトの名無しさん
垢版 |
2023/08/06(日) 19:59:20.44ID:6rDWJ/3o
そんなことよりRustとC++の話しない?
0278デフォルトの名無しさん
垢版 |
2023/08/06(日) 20:17:03.40ID:/D5+TjxD
コマンドラインアプリってRustってどこが向いているの?
例えばメモリリークしないっていう謳い文句があるけど別にCやC++だったらコンパイラやCLIみたいなすぐ終了するプログラムは一回もfreeしなくてもいいわけで
その場合はまるでGC言語みたいな自由な書き方が選択できるわけじゃん

メモリリークなんてどうでもいいのにそれを強制的に意識させられる言語なわけだがCLIに何が向いてるのかわからん
0281デフォルトの名無しさん
垢版 |
2023/08/06(日) 21:15:56.82ID:5kraJYIW
>>278
根本的に勘違いしているようだが
GC言語が遅いのはGCでメモリ解放処理をするためではない
GCが起きる前に終わってしまうプログラムでも遅いことを知っているはずだ

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

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

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

はあ?
Cでfreeしない場合はGC言語みたいに好きに書けるけどRustはそもそもルールを守って書かないとコンパイルが通らないだろ?
そもそもそのコンパイルを通すためにルールを守ることを強制するってのがどうなのって話
データ構造やアルゴリズムに制限を加えてるってことだよね
0287デフォルトの名無しさん
垢版 |
2023/08/06(日) 21:42:33.91ID:wMXJiymC
>>278
新手のアホが現れた!
0289デフォルトの名無しさん
垢版 |
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;
}
0290デフォルトの名無しさん
垢版 |
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を取得する順序を一貫させることが重要です。
以下に修正したコードを示します:
0291デフォルトの名無しさん
垢版 |
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をロックします。
このようにすることで、スレッド間のデッドロックを避けることができます。
0292デフォルトの名無しさん
垢版 |
2023/08/06(日) 22:14:32.72ID:0QxiCITa
まもなくVisual Studioを始めとした開発環境にGPTが統合されるだろうから
Rustのセールスポイントの価値は崩壊する
0293デフォルトの名無しさん
垢版 |
2023/08/06(日) 22:18:09.75ID:/D5+TjxD
>>288
競プロでもRustが向いてないのはそういうことだし、データ構造やアルゴリズムの実装パターンに制限を与えるのがRust言語だよね
freeを一切しないってのもプログラムの設計パターンとしてあるし、そうやって実装されてるコンパイラもあるわけ

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

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

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

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

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

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

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

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

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

>長男だった場合、一家が途絶える。
徳川義崇さんの発言なら分かるが
0338デフォルトの名無しさん
垢版 |
2023/08/07(月) 14:31:05.13ID:RHbvZbrY
アメリカで一番不安なのは医療でしょ。
Rust純正の行列演算ライブラリはベース部分が大分完成してきて、行列積の演算速度はそろそろnumpyには並びそう。
0339デフォルトの名無しさん
垢版 |
2023/08/07(月) 14:34:58.40ID:RHbvZbrY
>>338
ちなみに速度の測定は1000×1000の行列積の計算でやってる。
0340デフォルトの名無しさん
垢版 |
2023/08/07(月) 14:42:50.91ID:rb3/YCLt
>>338
個人的には、なんかあった時、日本だったら助けてもらえるの
ではないかと思っている。甘い考えかも知れないが、最後、
生まれも育ちも先祖も日本人のよしみで、最後の最後、
見捨てられることはないかも知れないのではないか、と
いう期待がある。
0342デフォルトの名無しさん
垢版 |
2023/08/07(月) 15:04:51.88ID:hvYMzefA
>>92
ほんなら黙っとけばよろしいやんw
0343デフォルトの名無しさん
垢版 |
2023/08/07(月) 15:19:56.08ID:25iuuICz
ほんと類は友を呼ぶとは良く言ったもの
0347デフォルトの名無しさん
垢版 |
2023/08/08(火) 11:54:18.38ID:oQ0p2DKQ
OSSは、「最初の開発者が飽きても開発が継続できる」と言われるが
実際は、まるっきり環境が変化してしまって勉強し直しや、修正が
必要になる事が多い。mingw、mingw64、cygwin、msys、msys2
WSL、WSL2 など、それぞれの違いが微妙のようで大きく複雑で
混乱の元となる。ヘッダファイルやライブラリの違いで悩まされ、
コンパイラは有るがリンカが無い、リンカのライセンスが複雑、
ライブラリがGPLでGPL感染する、など、面倒な問題をはらむ。
以前と使い勝手が大幅に事なり、困惑することが多い。
0348デフォルトの名無しさん
垢版 |
2023/08/08(火) 12:15:07.02ID:EIkuJgHr
>>347
>OSSは、「最初の開発者が飽きても開発が継続できる」と言われるが
>実際は、まるっきり環境が変化してしまって勉強し直しや、修正が
>必要になる事が多い。mingw、mingw64、cygwin、msys、msys2
>WSL、WSL2 など、それぞれの違いが微妙のようで大きく複雑で
>混乱の元となる。
それらは違うプロジェクトだから違って当然
寧ろかなり似ているから同じプロジェクトだと勘違いして混乱してるのかもね

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

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

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

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

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

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

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

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

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

>>375にも上げたけどまずは以下を読むと良い
OSSで商売をする4つのビジネスモデル
https://japan.zdnet.com/article/35079152/
0395デフォルトの名無しさん
垢版 |
2023/08/09(水) 14:43:07.04ID:kBXZpU/Z
>>394
金持ちにかかれば、どんなものでも儲かっているかのように偽装でき
るので、自分の主張を通すことが可能で、OSSを世界に広めたいなら、
その通りにすることが出来る。
0396デフォルトの名無しさん
垢版 |
2023/08/09(水) 14:50:47.99ID:eti7LkEA
>>395
>儲かっているかのように偽装
日本では「2. システムインテグレーションモデル」が多いと思うが
なぜ彼らが犯罪に手を染めると考えるのか?
動機はどのように考えているのか?
0397デフォルトの名無しさん
垢版 |
2023/08/09(水) 16:18:24.81ID:coMLMuQp
未完成で納品して改修で回収するエコシステムです本当にありがとうございました
0398デフォルトの名無しさん
垢版 |
2023/08/09(水) 16:28:15.95ID:zFVj5RMR
「OSSでも儲かる教」のフロント企業RedHatがカルト信者による
偽装であったことがばれたから、火消しに躍起なのでは。
0399デフォルトの名無しさん
垢版 |
2023/08/09(水) 16:31:02.88ID:zFVj5RMR
フランチャイズ店の9割が赤字なのに、本部が一部の店舗だけは
儲かるように制御し、それを代表例としてオーナー希望者に
例示する事例にそっくり。
0401デフォルトの名無しさん
垢版 |
2023/08/09(水) 17:24:18.32ID:coMLMuQp
フランチャイズ本部が儲かると思うなら本部へ行けば良いのに
自分は店舗側だと思い込むのはなぜなんだぜ
ひょっとして良い人なのかω
0402デフォルトの名無しさん
垢版 |
2023/08/09(水) 17:28:11.88ID:zFVj5RMR
合法ではあるだろうが、サポートって言っても実質なんもやってない
ように見える。イギリス軍の幹部がOSS教に信仰があるのではないか。
0403デフォルトの名無しさん
垢版 |
2023/08/09(水) 17:30:29.84ID:zFVj5RMR
それぞれ自分の頭でRedHatが正しいことやっているかどうかよく
考えればいい。日本は言論の自由がある国だ。反論があるなら
反論すればいい。どっちが本当の事言っているかは議論の流れで
それぞれが判断するしかない。
0404デフォルトの名無しさん
垢版 |
2023/08/09(水) 18:43:32.55ID:eti7LkEA
>>398
頭大丈夫か?
訳が有って引きこもってるのかもと思ってたが
論理的思考が弱いのかも
0405デフォルトの名無しさん
垢版 |
2023/08/09(水) 19:04:52.39ID:lV7h0aDK
六本木麻布虎ノ門の森ビルみりゃ判るだろ
日本は土地貸しが儲かるんだよ
他は全部雑魚
0409デフォルトの名無しさん
垢版 |
2023/08/10(木) 01:49:53.47ID:7/Y68wnk
長年にわたってカーネルをいじり続けているのに、あんな程度
にしかならないなんて、技術力がとても低いんだね、RedHatって。
0410デフォルトの名無しさん
垢版 |
2023/08/10(木) 03:25:55.25ID:GpbD/XFE
赤帽の話してるんだ?
スレタイ観ろ
マ板逝け
0411デフォルトの名無しさん
垢版 |
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
0413デフォルトの名無しさん
垢版 |
2023/08/10(木) 07:51:31.52ID:5X3hd1pF
言語自体でチェック監査が可能なRustが主流となる
ChatGPTはチェック監査に不向きだがRustコンパイラが通り指定条件を満たすようChatGPTへ指示を出せばよく相性がベスト
ChatGPTができない部分だけをRustプログラマーが補佐する形になる
言語自体でチェック監査が不可能なC++にこのやり方は無理なのでC++は消える
0415デフォルトの名無しさん
垢版 |
2023/08/10(木) 10:32:16.61ID:eJMpU410
流行りはしないでしょ多分
それ狙って作った言語でもないわけだし
ゆっくり一部でcやc++から置き換えられる程度でしょ
0416デフォルトの名無しさん
垢版 |
2023/08/10(木) 11:36:51.13ID:4zA2CAEH
>>413
コーティング規約を取り込んでいるのはRustの強みだけど、学習曲線が絶壁になる問題は解決できていない。

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

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

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

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

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

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

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

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

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

・年齢も分からない。結果、基礎的な勉強も終わって無い中学生が議論に参加していることがある。
→ 年齢が分からないため、相手を経験不足や不勉強扱いして反論を無効化する戦略が使えない。
0446デフォルトの名無しさん
垢版 |
2023/08/10(木) 17:28:33.13ID:+S50cMJC
>>445
中高生くらいまでの学校教育では、公平に扱うようにして
ある。だんだん、賄賂や個人的趣向によって差別が発生
するようになる。
0447デフォルトの名無しさん
垢版 |
2023/08/10(木) 17:59:34.25ID:+SjlWkjp
板の主旨もわからない、スレの主旨もわからない、言葉の使い方もわからない
そんな人がこのスレで何やってるの?恥さらし?
0450デフォルトの名無しさん
垢版 |
2023/08/10(木) 19:02:38.74ID:B5gl5lye
あとで読むようにするけど、とにかく「おもろいこと書いた奴が優勝」な
こっちも生い先短いんだ
0454デフォルトの名無しさん
垢版 |
2023/08/10(木) 21:18:43.23ID:FO5ouFJP
>>453
「議題」に触れていない時点で「議論」を語る資格無いわな。

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

儒教の暗黒面に汚染された人間はこんなふうになるのかね。
0455デフォルトの名無しさん
垢版 |
2023/08/11(金) 04:09:52.00ID:x/+DaYj5
Rustって整数の乗算と加算にどれくらい速度差があるの?
0456デフォルトの名無しさん
垢版 |
2023/08/11(金) 09:04:06.41ID:/t3LBfIN
どのプログラミング言語でも(多倍長や10進数を除く)普通の整数は各CPUなどの整数とその演算に変換されて実行されるのよ
整数は加算も乗算もレジスタ上なら1サイクルで同じ
ただし演算とは別にレジスタ上になければメモリ読み出しがキャッシュに乗ってるかどうかで数サイクル~数百サイクルかかっちゃう
ちなみに割り算はレジスタ上で最大数十サイクルかかるから要注意ね
0458デフォルトの名無しさん
垢版 |
2023/08/11(金) 09:48:25.26ID:v1edpQDw
C/C++ のプロジェクトでメンバー集まってコードレビューが必要←判る
Rust のプロジェクトでメンバー集まってのコードレビューは不要←イミフ
0459デフォルトの名無しさん
垢版 |
2023/08/11(金) 09:50:53.94ID:v1edpQDw
>>422
その通り
>>423
>相手が中学生か大学の教授かで左右される議論など不毛の極み
まあ匿名で顔見えなくても文章観れば大体想像付く
0460デフォルトの名無しさん
垢版 |
2023/08/11(金) 09:59:02.80ID:hYruq4ix
>>458
イミフ
0466デフォルトの名無しさん
垢版 |
2023/08/11(金) 14:29:11.25ID:h6monURE
複オジは全く反省してないのな
人としてどうかと思うぞ
0467デフォルトの名無しさん
垢版 |
2023/08/11(金) 14:34:50.84ID:49xh90gO
>>465
今からやってみる
0468デフォルトの名無しさん
垢版 |
2023/08/11(金) 16:39:36.46ID:9Ui8tf7y
こんなスレでTikTokのステマとか意味ないだろw
板の上位だけど少人数で盛り上がってるだけで多分ひねくれたやつしか見てないぞ
0469デフォルトの名無しさん
垢版 |
2023/08/11(金) 19:15:09.38ID:v1edpQDw
違う板でも観掛けたぞこいつ
0473デフォルトの名無しさん
垢版 |
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検索
神の声兵器被害者!

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

細胞に「タトゥー」を入れる技術が発明
生きた細胞にセンサーや電子機器を取り付けるための第一歩となる」と、研究をリードした化学・生体分子教授のデビッド・グラシアス氏は語る。
※誰も神の声兵器からは逃れられないな!
0475デフォルトの名無しさん
垢版 |
2023/08/13(日) 12:44:25.09ID:5yrNXict
言語の比較でRustに言及しただけで布教とかアンチRust脳の方が心配になるな
どんな認知バイアスだよ
0478デフォルトの名無しさん
垢版 |
2023/08/13(日) 13:53:44.70ID:vFwUOkI/
pythonみたいなバブルは起きなかったな

やっぱコンパイラは一般には敷居が高過ぎる
0480デフォルトの名無しさん
垢版 |
2023/08/13(日) 14:39:18.34ID:5yrNXict
Python引き合いに出すならもう少し長いスパンで見ないといけない
今調べたらPython3のリリースが15年前でびびったw
0483デフォルトの名無しさん
垢版 |
2023/08/13(日) 16:01:42.74ID:1hpxkrQ5
もっとスタックフレーム指向の言語が出て来てほしいわ。

スタック変数への参照を特別扱いするだけでずいぶん違うと思うけどな。
0484デフォルトの名無しさん
垢版 |
2023/08/13(日) 17:17:16.81ID:5yrNXict
スタックから抜けるときのデストラクタで解放される
ヒープメモリの参照はどういう扱いになるの
0486デフォルトの名無しさん
垢版 |
2023/08/13(日) 19:03:22.75ID:ewxrLHid
Pythonだって3.5くらいまでマイナー言語だったろ
0488デフォルトの名無しさん
垢版 |
2023/08/14(月) 11:05:19.43ID:dxszbvIe
当時はrubyとpythonが張り合ってたイメージがあるな
国内限定だったのかもしれないけど
aiが出てきて機械学習のための優秀なライブラリが出てきた辺から抜け出た感じがする
0490デフォルトの名無しさん
垢版 |
2023/08/14(月) 13:51:26.67ID:FZySjbfz
Python2はstrがバイト列でunicodeと別だったから日本だとマイナーだったと思う
Rubyは知らないけどRuby on Railsで流行ってた
Python3で互換性切り捨てたときはPython終了とか言われてたけど結果的に成功だったな

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

+1
0493デフォルトの名無しさん
垢版 |
2023/08/14(月) 20:03:06.97ID:KSpEuPpD
>>491
本屋の勢力版図がubyからpythonにみごとに置き換わった感
Rustは始まってすらいない
0494デフォルトの名無しさん
垢版 |
2023/08/14(月) 20:17:44.58ID:2hrq0i+N
RUSTの利点が分かる人ってアセンブラ、C、C++、Java(とかの参照カウンタ方式GC言語)を一通りやってきた人じゃないとわからないから難しいと思うわ
0495デフォルトの名無しさん
垢版 |
2023/08/14(月) 21:30:32.88ID:yK8O8NW+
じゃ普及しないじゃん
0496デフォルトの名無しさん
垢版 |
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」などがある。
0497デフォルトの名無しさん
垢版 |
2023/08/15(火) 03:15:17.25ID:eu+UdA0l
web あほか
こんなもん基幹じゃねーわ
0499デフォルトの名無しさん
垢版 |
2023/08/15(火) 10:06:19.43ID:hN2JVlE4
CDNを基幹でないと考えた理由は「webだから」ってことかな
まあ考え方は人それぞれだろうけど
0501デフォルトの名無しさん
垢版 |
2023/08/15(火) 11:39:52.02ID:iPTGOgbs
rustでもgcはやる
rustにgcはないというのは誰かがrustの優位性を宣伝するためのセリフで考えたものなんだろけどそれが間違って広まってる
0502デフォルトの名無しさん
垢版 |
2023/08/15(火) 14:02:19.04ID:NO5QUQUT
GCのある言語とはGCを前提として設計されGCランタイムを必ず伴う言語を指す

C/C++/RustはGCのない言語
高速で省メモリの優位性がある
0503デフォルトの名無しさん
垢版 |
2023/08/15(火) 14:56:14.96ID:RZpxqBG2
少し前まで、crate=ライブラリだと思っていて、
crateは何万個(?)も有るらしいから、Rustのライブラリは物凄く
充実しているんだな、なんて思っていたが、大きな
勘違いだった。C++でも、主要なライブラリは100個もあるか
どうかで、それでも全言語で最大レベルだと考えられている
ので、おかしいな、とは思っていたが。
Rustのcrateは、部品の様なものでライブラリとはまた別の
概念のようだ。
0504デフォルトの名無しさん
垢版 |
2023/08/15(火) 15:28:13.54ID:6nsBcPHM
どの言語でもライブラリは部品のこと
ライブラリに依存関係があるように小さな部品も大きな部品も巨大な部品もある
さらに言語によって状況は様々で標準ライブラリの意味と範囲もピンキリ
0505デフォルトの名無しさん
垢版 |
2023/08/15(火) 15:41:06.46ID:RZpxqBG2
C++のライブラリは、多くの場合、数百以上の関数が
集まって形成されていて、1つですべての機能が
まかなえるのに対し、Rustのcrateは、関数が一個
の場合も有り得て、複数のcrateを合わせてやっと1つの
ライブラリとしての役割を果たすようになる。
0507デフォルトの名無しさん
垢版 |
2023/08/15(火) 17:13:18.71ID:1/g4nKNh
Rustは詐欺ってことが言いたかった。
視野が狭いといい放つのも、相手を馬鹿にして自分の欠点を
認めない詭弁。
0508デフォルトの名無しさん
垢版 |
2023/08/15(火) 17:50:46.40ID:Yb7IgN6D
>>507
>crate=ライブラリだと思っていて、
単にこの認識が違うだけでは?
俺はRustは使わんのだがこれのどこが欠点なのかな?
0509デフォルトの名無しさん
垢版 |
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は例に出しただけ)

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

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

>>511
WebインフラのクラウドもCDNも>>496の記事で示されているようにRust製だ
0516デフォルトの名無しさん
垢版 |
2023/08/15(火) 23:02:14.26ID:2Hi/6f7X
Javaだって当初の目的は違ったし
言語仕様を一見web向きには
見えないけどwebに使われてるから
言語の設計から語ってもどうなるかはわからんよ
0517デフォルトの名無しさん
垢版 |
2023/08/16(水) 00:09:53.25ID:NsfviM1N
JAVAおじ達が今まで考えもしてなかったメモリリークについて考えて
コーディングするなんて思えない

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

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

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

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

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

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

メモリ解放なんてビジネスロジックと無関係なことに時間を割くのは無駄だろう?
0534デフォルトの名無しさん
垢版 |
2023/08/16(水) 12:21:18.76ID:NsfviM1N
Rustからjavaに変更すると

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

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

学習コスト:
生態系の制約:
コードの複雑さ:
生産性の低下:
コミュニティとサポートの違い:
0539デフォルトの名無しさん
垢版 |
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は自動的にメモリ解放されるため
必要ないところで意識する必要がないメリットがある
必要なところでは細かい制御も可能なメリットもある
0541デフォルトの名無しさん
垢版 |
2023/08/16(水) 14:07:34.43ID:1Zp4aXCn
>>540
①④の非同期の記述性と高速化に対してそんなに劣等感を感じているの?

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

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

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

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

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

>>545
正しい
したがって新規の案件や大規模改修からRustを採用するのがベスト
0549デフォルトの名無しさん
垢版 |
2023/08/16(水) 15:22:07.69ID:NsfviM1N
>>546

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

でも、実際にやってみると、おもいっきりダングリング ポインタのピットフォールなので、
そこに所有権関係の縛りが来れば さいつよだな!
0555デフォルトの名無しさん
垢版 |
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はどれくらい効果があんの?
0556デフォルトの名無しさん
垢版 |
2023/08/16(水) 16:00:58.42ID:Yukujl1Z
>>552
Javaは10年掛ったけどRustは5年で追い越すんじゃね
0557デフォルトの名無しさん
垢版 |
2023/08/16(水) 16:01:09.62ID:Ax6feN+h
>>550
コルーチンはC++20が普及しておらず使える人もほとんどいないという問題がまずあるが
様々なasync/await対応言語の中でC++の可読性が最も低く最悪だ

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

そういう状況に加えてメモリ安全性の問題も抱えてしまう
この分野は素直にRustを使うのが良いと思う
0558デフォルトの名無しさん
垢版 |
2023/08/16(水) 16:06:05.32ID:n91eivk5
>>552
>rustがそれくらい普及すると言い張ってる人も同じレベルですよね?
AIの進化を舐め過ぎ
自然言語による指示がプログラマーを丸々置き換えることはありえないが
AIはプログラマのかなりの仕事を肩代わりするだろう
rustに比べると遥かに将来性が確約されているよ
0559デフォルトの名無しさん
垢版 |
2023/08/16(水) 16:06:56.85ID:lsG3vWrK
>>555
勿論Rustで実装してるぞ。
0560デフォルトの名無しさん
垢版 |
2023/08/16(水) 16:07:20.26ID:n91eivk5
>>557
なるほどー
丁寧に教えてくれて有難う
0561デフォルトの名無しさん
垢版 |
2023/08/16(水) 16:26:42.73ID:Jm1orbJb
>>558
別にaiの進化を否定しないが、強いaiじゃなきゃ結局人間を完全に置き換えられないことは今回証明されたし、強いai実現の目処は現時点で立ってないのでは?
根拠無しで将来性将来性言うてもしょうもないし、そういう詐欺的な言説を否定してるわけ。
もちろん現時点でも十分使える技術領域があることは否定しない。
0562デフォルトの名無しさん
垢版 |
2023/08/16(水) 16:27:42.53ID:Jm1orbJb
まあrust関係無いから甚だしくスレチだわなw
0563デフォルトの名無しさん
垢版 |
2023/08/16(水) 16:30:30.71ID:n91eivk5
>>561
>強いaiじゃなきゃ結局人間を完全に置き換えられないことは今回証明されたし
何それ? 「強いAI」? 「証明」?
煽りでなく端折らんで説明してくれい
0564デフォルトの名無しさん
垢版 |
2023/08/16(水) 16:45:51.70ID:Jm1orbJb
>>563
いや、流石に自分で検索してください。
別にオレオレ用語じゃないから。
0567デフォルトの名無しさん
垢版 |
2023/08/16(水) 17:01:43.17ID:n91eivk5
>>564
「今回」は書かにゃどの回か分からんよw
0568デフォルトの名無しさん
垢版 |
2023/08/16(水) 17:05:14.24ID:n91eivk5
>>565
最近衝撃受けたのはCode interpreter
1年も立たずにこんなものが出てくる
これはまだまだとんでもない発展をする
0569デフォルトの名無しさん
垢版 |
2023/08/16(水) 17:06:47.79ID:Y47nRpeH
AI生成は、何度も試してまともなものだけを人間が選んでいるのが
現状らしい。
「体や細部が破綻したものや落書きみたいなものまで
多種多様なため」
「AI絵師はイラストガチャを回して質が高い画像だけを
公開しているのです」
とのこと。だとすれば、ChatGPTが生成したコードも大多数は
バグだらけで一部だけまともに動くということが推定できる。
0570デフォルトの名無しさん
垢版 |
2023/08/16(水) 17:09:03.49ID:n91eivk5
>>569
「現状らしい」とか「推定できる」とかじゃなくまず使いなよ
批判があればそれから
0571デフォルトの名無しさん
垢版 |
2023/08/16(水) 17:32:52.36ID:Y47nRpeH
https://qiita.com/ko1nksm/items/7b17eefdec57640c2bfd

によれば、ChatGPTに関数のコードを渡して、関数の行なっている
内容を問うてみたところ、関数名が replace_all だと細部は
間違ってはいるものの、有る程度正しい解釈が返ってきたが、
同じ関数で関数名だけを repeat_all などとすると、全く
的外れな解釈が返ってきた。
replace で置換、repeat で繰り返し、だと推定して解釈
していただけで、関数の中身までちゃんとフォローして
意味を理解していたわけではないことが露呈した形と
なった。
0572デフォルトの名無しさん
垢版 |
2023/08/16(水) 17:35:20.36ID:Jm1orbJb
>>567
そうですねw
chatgptの今回の盛り上がりの件です。
0573デフォルトの名無しさん
垢版 |
2023/08/16(水) 17:42:26.83ID:Y47nRpeH
それから、置換文字列が重複している場合の問題を避けるため
に正しく対策したコードに対して、むしろ、逆に
置換している場合に正しく動作しない、などと解釈してきた
かと思うと、逆に ChatGPT自らにコード生成させると、
置換文字列が重複した場合に誤動作するコードを
生成してしまう、というプログラミングや数学に向いて無い
生徒みたいな振る舞いをしてしまうようだ。
0574デフォルトの名無しさん
垢版 |
2023/08/16(水) 17:47:48.34ID:n91eivk5
>>571
>注意 今日発表されたらしい GPT-4 ではありません
おマイさんはちょっとずれたこと書いてるので
まずは使った方が良いぞ
ちょっと高いけども
社会はこの数年で一気に変わる準備をしてるんだから
勉強と思って契約しなさい
0576デフォルトの名無しさん
垢版 |
2023/08/16(水) 17:49:58.26ID:Y47nRpeH
経営に詳しい人によれば、chatgptはマネタイズに失敗し、
倒産する公算が高いと言われ始めた。
だから、必至なのかな。
0577デフォルトの名無しさん
垢版 |
2023/08/16(水) 17:57:52.98ID:n91eivk5
>>576
ああ! この人いつもの人かw
ちょっと高いかもしれんが20ドルの価値はあるよ
俺の場合は実用ではなく勉強のために
GPT4リリース日から契約したよ
半年ほどたったがその間に
pluginが出てきてCode Interpreterが登場して
発展速度に驚いている
新しいものに適応するのが苦手かもしれんが
これは社会に組み込まれていくものだから
他人に先じて取り込んだ方が良い
0578デフォルトの名無しさん
垢版 |
2023/08/16(水) 18:00:56.94ID:n91eivk5
>>576
どうかな? MSが出資していて
Officeに取り込まれるのに?
0579デフォルトの名無しさん
垢版 |
2023/08/16(水) 18:01:53.41ID:Y47nRpeH
ChatGPTは、利用者が17億人まで行ったが15億人に減った
そうだ。無料サービスは利用者が増えていかないと破綻する
らしく、減った時点で破綻まっしぐららしい。
しかも、AIは作る人や質問したい人向けのもので、
YouTubeのように子供がだらだら見続けることもないから
広告量で稼ぐこともできない。
DeepL翻訳の様な実用性も無いから有料での使用は絶望的。
ChatGPTは、株で生きているだけで、マネタイズには成功
してないし、これからも成功しないだろう。
twitterがずっと赤字なのと同じ。
0580デフォルトの名無しさん
垢版 |
2023/08/16(水) 18:02:19.90ID:16hpX62c
RustよりchatGPTを使ってる人の方が遥かに多いと思う
ていうか、Rustって誰も使ってないよね
0583デフォルトの名無しさん
垢版 |
2023/08/16(水) 18:09:17.37ID:Y47nRpeH
https://thebridge.jp/2023/07/chatgpt-sees-10-percent-mom-decline
ChatGPTは、利用者が五ヶ月連続で減少。
一番の原因は、「思ったほど賢くない」こと。
開店時にどの店も行列を作るが、数週間後に閑古鳥となり、破綻する
店は多い。
それにシリコンバレー銀行の破綻などもあれば、アメリカの景気大後退
もある。
総合的に、来年までに倒産するという観測も出てきている。
0584デフォルトの名無しさん
垢版 |
2023/08/16(水) 18:09:43.06ID:n91eivk5
>>576のような書き込みも
自分が適応できないことで生じている
認知的不協和を解消するために書いてるんだと
俺は見てるよ
0587デフォルトの名無しさん
垢版 |
2023/08/16(水) 18:12:02.10ID:n91eivk5
>>585
本当に興味がないのなら何も書かないんだよ
あえて「倒産する」などと書くのは興味があるんだよ
やらない自分を正当化するために書いているんだよ
0590デフォルトの名無しさん
垢版 |
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はこの状態を長く続けることができないかもしれない。マイクロソフトは、最近の投資家数人を伴って、これらの費用に対応している。投資家たちは、投資を回収できない場合、いつまで事業を維持する手助けをするのだろうか?
0591デフォルトの名無しさん
垢版 |
2023/08/16(水) 18:22:03.59ID:n91eivk5
>>588
それ読んだ? 噂話で裏付けになっていない
0592デフォルトの名無しさん
垢版 |
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企業に集まっている
0593デフォルトの名無しさん
垢版 |
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だけで生成
されていとは限らない。
0595デフォルトの名無しさん
垢版 |
2023/08/16(水) 20:59:38.35ID:n91eivk5
>>593
自ら触ってから評価すべし
俺はAI画像生成は触らんので何も言わない
0596デフォルトの名無しさん
垢版 |
2023/08/16(水) 23:09:32.87ID:NsfviM1N
再生数稼ぎのyoutuberの話をうのみにしてるだけで馬鹿げてる
chatGPTのOpenAIは株式非上場ですでに企業価値が4兆円なんだけど…
0598デフォルトの名無しさん
垢版 |
2023/08/16(水) 23:44:28.01ID:Jm1orbJb
>>596
あなたのレスの中に科学的根拠何かある?
ai自体スレチだが、経済の話しかないならさらにスレチだね。
0599デフォルトの名無しさん
垢版 |
2023/08/16(水) 23:46:16.73ID:cEmRinaz
>>557
その点がC++が敗れてRustの台頭を招いた技術的な最大の原因っぽいな
C10K対策とasync/await対応を兼ねたモダンな需要にC++が実用的な解を示せなかった
0600デフォルトの名無しさん
垢版 |
2023/08/16(水) 23:53:08.75ID:NsfviM1N
>>598
マジレス頼むけど
上のレスに科学的に根拠が必要な個所はどこなんだ

か・が・く・て・き・に だ!
0601デフォルトの名無しさん
垢版 |
2023/08/17(木) 00:10:55.41ID:+P8PJonD
>>600
しょうもない話は誰も興味無い。
それは科学の話じゃないよw
0607デフォルトの名無しさん
垢版 |
2023/08/17(木) 02:35:59.33ID:IS1r35hV
OpenAIが存続するかに関わらず
LLMが社会に取り込まれるのは確定だよ
君らの周りも今年は対応に追われてないか?
0608デフォルトの名無しさん
垢版 |
2023/08/17(木) 09:57:29.35ID:jCTlUTJB
言語の質をデータの量で凌駕する作戦がなぜ失敗するのか?

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

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

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

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

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

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

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

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

Goルーチンは個別のスタック領域を必要としてしまうね
0629デフォルトの名無しさん
垢版 |
2023/08/18(金) 13:58:06.66ID:ISPaueS8
>>626
“気軽”にできるといってるわけだが本当に気軽にできるの?
標準ライブラリでサポートしているの?

データ競合に関してはチャネルを使えばある程度は回避できるしrace detectorもあるのでさほど問題にはならない
race conditionに関してはRustでもGoでも検出はできないから結局プログラマの技量になるわけだけど
Rustにしたからといってあらゆる並行並列処理のバグが回避できるものじゃないぞ
そもそも難しいものなんだから
0630デフォルトの名無しさん
垢版 |
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だけ追加された!また裏切られた!!
0631デフォルトの名無しさん
垢版 |
2023/08/18(金) 14:24:07.82ID:tXbZhR4S
>>629
>race conditionに関してはRustでもGoでも検出はできないから結局プログラマの技量になるわけだけど
そこでChatGPTですよ!
0633デフォルトの名無しさん
垢版 |
2023/08/18(金) 15:25:39.40ID:JLPPn6Yw
>>626
5chなら知ったかできて気持ちいいよねw
良かったね
0634デフォルトの名無しさん
垢版 |
2023/08/18(金) 16:16:34.73ID:7ABRPFiH
常識的に考えれば気持ちいい方が合理的だよ
常識を疑えば、自分が損をしてでも何かを成し遂げるみたいな
合理性のない人間が増えてくる
0636デフォルトの名無しさん
垢版 |
2023/08/18(金) 16:30:59.19ID:ISPaueS8
>>632
race conditionの意味でググってこいよ
機械で検出できない高レベルの競合のことで、並行並列処理するときは常にこれと向き合う必要がある

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

こう煩いとRust布教されるほうがマシw
0642デフォルトの名無しさん
垢版 |
2023/08/18(金) 17:47:16.72ID:ISPaueS8
>>640
Rust信者が何でもコンパイル時に検出できるとか絶対安全!だとか吹聴しているから訂正しているだけだよ

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

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

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

実験2でそんなこと考える奴はいないよね
0650デフォルトの名無しさん
垢版 |
2023/08/18(金) 19:44:32.36ID:JiE5FPq0
>>630,648
GoのスライスをC++のvector相当、ってのが早とちり過ぎる
Goのslice header, backing memoryの理解をすっ飛ばしただけじゃんw
0653デフォルトの名無しさん
垢版 |
2023/08/18(金) 20:29:00.75ID:VmqYer8d
>>630
使いやすいかどうかは謎だけどスライスだから当然の挙動かなと

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


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

配列とスライスの表記に問題があるとは思うけど。[]と[1]で別物というのはやりすぎだわな。
0657デフォルトの名無しさん
垢版 |
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が異なったり再び同じになったり再び異なったりおかしい
0659デフォルトの名無しさん
垢版 |
2023/08/18(金) 21:01:52.15ID:fjgGWx1p
なぜGoだけがそんな変な仕様にしちゃったの?
新旧の言語を見回してもそんな変な仕様の言語は存在しないよ
0660デフォルトの名無しさん
垢版 |
2023/08/18(金) 21:20:15.18ID:VmqYer8d
スライス自体は他も似たり寄ったりだよ
pythonは3で多分新しい配列を作る
多分appendの時に新しい配列をコピーしてそっちに代入するはず

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

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

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

素直にCOWスライスを用意すればまだ良かったんだけどね。
0664デフォルトの名無しさん
垢版 |
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と言う並びの箱の列ができる
0665デフォルトの名無しさん
垢版 |
2023/08/18(金) 21:42:56.92ID:seEzfIxj
なるほど、スライスと言われてなんとなくわからんでもない挙動には見えてきた
でもやっぱりバグを呼び込むためだけの仕様にも思える
こんな仕様にして誰か幸せになるんかな
0668デフォルトの名無しさん
垢版 |
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)
0669デフォルトの名無しさん
垢版 |
2023/08/18(金) 22:31:11.69ID:7ABRPFiH
言語とライブラリを分離できないと潰しがきかない
C++の場合mallocやsjljを単なるライブラリではなく言語の一部にしたのが悪手
0670デフォルトの名無しさん
垢版 |
2023/08/18(金) 22:42:32.22ID:hfXr0Ior
>>668
go はオブジェクト指向じゃないからなぁ。

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

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

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

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

経験法則から導かれたOSSの開発環境の日常の風景。
0687デフォルトの名無しさん
垢版 |
2023/08/19(土) 14:31:48.17ID:yRurJ253
>>685
C++の新しい規格を使わないのかな?
0688デフォルトの名無しさん
垢版 |
2023/08/19(土) 14:35:14.63ID:yRurJ253
>>686
>・数年後、試して見ると動作しなくなっている。
あなたのOSSとの付き合い方の問題点は上記に集約される
常に追っていかなくてはおいてきぼりにされる
あなたには向いていないので使わないこと
0689デフォルトの名無しさん
垢版 |
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を採用することで「チームの速度が低下した」と回答した。
0690デフォルトの名無しさん
垢版 |
2023/08/19(土) 14:45:09.39ID:B82tdG00
>>681
Rustはデファクトスタンダードがあるからそのように困ったことないな
httpならhttpという名のクレートに基本事項が定められていて全てのhttp実装やその上の各フレームワーク等がこれを使う
httpクレート自体はhttp実装を持たずにhttpのリクエスト型やレスポンス型にURI型やヘッダ型やステータス型などだけを持つところが重要なポイント
もし新たな速いhttp実装が現れたとしてもインターフェイスはこのhttpクレートに(少なくとも今までは全て)従うため利用者が困ることはない
0691デフォルトの名無しさん
垢版 |
2023/08/19(土) 16:02:34.86ID:HZzlwK9f
>>688
うん。だから、OSSは大嫌いだし、出来る限り使わない。
Linuxを含めて色々試したが、ごく一部のものを除いては
結局駄目だった。
0692デフォルトの名無しさん
垢版 |
2023/08/19(土) 16:07:41.17ID:HZzlwK9f
>>691
ちなみに、俺は、自分で何から何まで作るのが好きなので、
人が作った環境に追いまくられるのが大嫌い。
0693デフォルトの名無しさん
垢版 |
2023/08/19(土) 16:16:02.61ID:yRurJ253
>>691
適応能力に長けてないと扱うのは難しい
変化の速さがOSSの競争力の源泉の一つと感じられなければ
苦痛だろうね

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

boostは使わないのかい?
0700デフォルトの名無しさん
垢版 |
2023/08/19(土) 17:53:56.37ID:2pOprLh9
>>698
そもそもRustは低レイヤ向けでライブラリを特に必要としない用途に向いてるってことだよ
Webやクラウドなどの通常のバックエンドアプリはライブラリを多用することになるがそれは向いていないってことの証
0701デフォルトの名無しさん
垢版 |
2023/08/19(土) 17:57:23.73ID:Y5l+MR//
ほんとに(webの上位層で)人気が出てくれば、ライブラリは勝手に揃ってくるだろうけどね
0702デフォルトの名無しさん
垢版 |
2023/08/19(土) 18:20:48.63ID:JEXSqoZz
webやるには十分よ
0708デフォルトの名無しさん
垢版 |
2023/08/19(土) 20:17:26.90ID:ScsfkQnZ
Firefoxはバクサイ開いたままにしてるとメモリー20GB、CPU100%になったりする
Chromeはそんなことにならない
そういう違いがある
0709デフォルトの名無しさん
垢版 |
2023/08/19(土) 20:41:53.76ID:JEXSqoZz
>>706
axum
0711デフォルトの名無しさん
垢版 |
2023/08/19(土) 21:06:21.33ID:LtLp+SED
インターネットはおかしいと最初から思ってた
でもソースコードを保存する場所はネットでもディスクでも紙でもなんでもいい
0713デフォルトの名無しさん
垢版 |
2023/08/19(土) 21:36:12.67ID:DB+Yglwb
write_allの後はflushした方いいんじゃね?
しらんけど

まあPythonの方がアマチュア向けというか面倒見がいいのは分かる
0714デフォルトの名無しさん
垢版 |
2023/08/19(土) 21:50:51.02ID:fB8B9G8R
>>697
自演がバレたなω
0715デフォルトの名無しさん
垢版 |
2023/08/19(土) 21:52:18.92ID:fB8B9G8R
>>698
crates.io 破綻してるよな
0716デフォルトの名無しさん
垢版 |
2023/08/19(土) 22:20:00.98ID:DB+Yglwb
crates.ioに限った話ではないけど
ライブラリ名と実装品質のミスマッチはいつも気になってる
HTTP/2用のライブラリでもhttp2よりh2の方が利用者数多いとか
オープンなレジストリの宿命として諦めるしかないのかな
0717デフォルトの名無しさん
垢版 |
2023/08/19(土) 22:20:55.24ID:uqHP0fTk
>>644
5chでデマ垂れ流して気持ち良くなるだけのゴミ人生でしたw
0718デフォルトの名無しさん
垢版 |
2023/08/20(日) 00:49:54.32ID:nxq7VYP6
損得の勝負をしてると、デマで得をする奴がいないか常に不安だよな
それなら単純に本当か嘘かで勝負すればデマと勝利は両立しないから安心安全なのでは
0719デフォルトの名無しさん
垢版 |
2023/08/20(日) 01:54:31.51ID:xEeb34b9
>>712
HTTPを知らないなら素直にライブラリを使えよ
そのRustコード汚すぎるがそこに正しくHTTPヘッダを一行加えたら動いたぞ
サイン曲線GIFが表示されている
0721デフォルトの名無しさん
垢版 |
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()
}
0722デフォルトの名無しさん
垢版 |
2023/08/20(日) 07:18:09.55ID:3t1JnBWI
>>663
同意
0724デフォルトの名無しさん
垢版 |
2023/08/20(日) 08:21:25.95ID:6nnys+Pw
>>698
>OSSかどうかとは関係なく現状のRustはライブラリ探しと精査に超時間がかかるのは確か
いや、それはOSSだとほぼ必ず起きる現象。
OSS自体が持つ欠点の一つだから。
0725デフォルトの名無しさん
垢版 |
2023/08/20(日) 08:24:41.49ID:6nnys+Pw
クローズドなソフトだと、古いものも維持されるかどうかは、
それぞれの企業次第で各企業の特徴が出る。
ところがOSSの場合、人類全体の傾向となるから、
どのOSSなソフトでも似たような保守の傾向となり、
制御できない。なぜなら、人類全体の傾向はいつも
ほぼ同じだから。
電力送電における「無限大母線」という言葉を思い出した。
0729デフォルトの名無しさん
垢版 |
2023/08/20(日) 10:50:22.50ID:1EohdLDs
>>723
boostは使わないのかな?
0730デフォルトの名無しさん
垢版 |
2023/08/20(日) 11:46:34.65ID:PLGKFrd6
>>727
実際rustに限らずOSSなら必ず当てはまることなので部分と言っても意味はない。
0731デフォルトの名無しさん
垢版 |
2023/08/20(日) 11:52:30.19ID:1EohdLDs
>>730
「ライブラリ探し」は検索すれば良いだけ
「精査」はOSSはソース手に入るが
プロプラなソフトでは諦めるしかない
0733デフォルトの名無しさん
垢版 |
2023/08/20(日) 13:19:08.66ID:sLWYcNsZ
>>731
ライブラリの選定ってソースコードの精査はそれほど比重高くないよ。
それよりもライセンス、開発体制やアクティブさ、直近のリリース状況、人気とかが重視されがち。
0734デフォルトの名無しさん
垢版 |
2023/08/20(日) 13:30:35.17ID:1EohdLDs
>>733
アンカー間違っとった

>>724
「ライブラリ探し」は検索すれば良いだけ
「精査」はOSSはソース手に入るが
プロプラなソフトでは諦めるしかない
0737デフォルトの名無しさん
垢版 |
2023/08/20(日) 16:12:04.89ID:KkFZufKp
>>736
Pythonのrequestsも標準じゃないだろ
Rustは標準のみを使い,Pythonでは外部ライブラリも使ってだからな
0738デフォルトの名無しさん
垢版 |
2023/08/20(日) 16:22:18.11ID:mA4FcHyW
RustってSimd命令は非安定だよね?実際にSimd命令使うとどれくらい高速化できんの?
Simd命令ってCPUに応じて場合分けしてコードを書かないとならんの?
0739デフォルトの名無しさん
垢版 |
2023/08/20(日) 16:51:39.65ID:7DmX7Wr5
>>738
CPU以外にボトルネックがないならおおよそ並列度の分だけ性能上がる
32bit + 32bitのような計算を1命令で処理してたところを256bit幅がサポートされてるハードウエア&命令を使えば約8倍
0740デフォルトの名無しさん
垢版 |
2023/08/20(日) 16:54:56.78ID:7qQbvCdM
>>739
実際には、「お膳立て」のためのオーバーヘッドが有ることと、
SIMD命令が使える部分が少ないことで、8倍のSIMD命令を
使っても、20%位の向上にしかならないと言われている。
数値は大体。
だから、IntelはAVX512をメインストリームからは捨て
ようとした。
0741デフォルトの名無しさん
垢版 |
2023/08/20(日) 17:01:04.61ID:7qQbvCdM
スパコンが、ベクトル型が廃れてスカラー型の並列型が
流行していることからしても、SIMDは将来性の無い
ものだと個人的には思ってる。
むしろ、SIMDを捨て、コア数を増やす方が圧倒的に
高速化できる。
0742デフォルトの名無しさん
垢版 |
2023/08/20(日) 17:20:33.01ID:V1e9lq/f
スパコンのコーディングは知らんけど
雑にスレッドプールにぶん投げるだけで速くなる並列処理の方が
SIMDより使いやすいなって思う
0743デフォルトの名無しさん
垢版 |
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)
}
0745デフォルトの名無しさん
垢版 |
2023/08/20(日) 18:25:00.43ID:MyoNrmjT
>>743
え?Rustって標準ライブラリでhttpリクエストすらできないの?
0747デフォルトの名無しさん
垢版 |
2023/08/20(日) 19:01:10.42ID:mA4FcHyW
とりあえず1000×1000の行列の行列積dotが0.015秒弱でできるようなところまで行列ライブラリーが実装できたので、何とか0.00秒台で計算が終わる様にしたい。
今の所手を出してない最適化
1) Simd命令
2) インラインアセンブリ
3)ループアンローリング(これはRustだと自動的にやってくれてる様で自分の実験した範囲ではあまり効果がなかった。)


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

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

つまり今のところおすすめはない
外部のライブラリなどに依存するなら別だけど
0751デフォルトの名無しさん
垢版 |
2023/08/20(日) 19:25:32.14ID:mA4FcHyW
>>750
じゃあ基本的にはdot演算に関してはこれ以上の最適化の余地はないって感じ?
0752デフォルトの名無しさん
垢版 |
2023/08/20(日) 19:26:47.41ID:MoWe6Sep
グーグルとアップルが流行らせようとしてるらしいが
0753デフォルトの名無しさん
垢版 |
2023/08/20(日) 19:44:59.22ID:sOv9anOF
paiza.io の Rust は crates 使えないから
ホント使いもんにならんわ
0756デフォルトの名無しさん
垢版 |
2023/08/20(日) 19:58:02.59ID:U3mkt6q/
>>753
それはpaizaが悪い
例えば>>712で意味のない比較をしているが
Python版はimport requestsと標準ライブラリではないものを使っている
つまりpaizaはPythonだと標準ライブラリ以外のライブラリも使える
同じようにRustでも標準ライブラリ以外を使えるようにpaizaが対応すれば解決
0758デフォルトの名無しさん
垢版 |
2023/08/20(日) 20:00:40.96ID:pu4udaaX
シミュレータなどは行列演算だけ高速化しても、全体の
高速化にはなら無い事が多い。
0759デフォルトの名無しさん
垢版 |
2023/08/20(日) 20:04:56.81ID:mA4FcHyW
>>757
手元のnumpyよりは少なくとも1000×1000の行列積は2倍から3倍速、10000×10000の行列積だと約5倍から10倍速い。手元よnumpyのバックエンドはIntelMKL。
0760デフォルトの名無しさん
垢版 |
2023/08/20(日) 20:07:47.30ID:mA4FcHyW
まだ、行列の対角化とか逆行列の計算は実装できてない。
0761デフォルトの名無しさん
垢版 |
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
0762デフォルトの名無しさん
垢版 |
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]
0763デフォルトの名無しさん
垢版 |
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になってたりしてる?
0764デフォルトの名無しさん
垢版 |
2023/08/20(日) 22:44:27.85ID:mA4FcHyW
>>763
シングルスレッドでの計測になってたぽい。この計測って最初のメモリ確保は含めてる?
0765デフォルトの名無しさん
垢版 |
2023/08/21(月) 11:52:24.10ID:lrfEI2bB
SIMDでの行列演算の最適化方法そのものとかさすがに関係なさ過ぎ。
RustとC++の違いに着目するならまだしも。
0766デフォルトの名無しさん
垢版 |
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倍遅いのが意外
0767デフォルトの名無しさん
垢版 |
2023/08/21(月) 16:08:29.46ID:IYi1S2wl
>>765
まあ、この板は実質雑談板なんで。アンチOSS君も大暴れしてますし大目にみてください。
0768デフォルトの名無しさん
垢版 |
2023/08/21(月) 16:21:29.46ID:A+ik1f9X
OSS関係無いわな。スレチ。別のところで好きなだけやればいい。
0772デフォルトの名無しさん
垢版 |
2023/08/21(月) 16:55:39.81ID:A+ik1f9X
>>769
rustのエコシステムの話とかなら関係あるけど、OSS自体のメリデメ、とかそういう論点はスレチ。
0773デフォルトの名無しさん
垢版 |
2023/08/21(月) 17:31:43.44ID:W/JUog9y
>>772
そんなことなくて、OSSであるということは、
非常に大きな影響を及ぼすので無視できない。
0774デフォルトの名無しさん
垢版 |
2023/08/21(月) 17:54:01.38ID:A+ik1f9X
>>773
それが通るなら少しでも擦れば何でもありになる。
影響の大小なんて本人が大きいと言い張れば大きいことになる。
スレタイ読んで関係あるかどうか常識で考えれば自明。もちろんあなたに言っても意味無いわけですけども。
0775デフォルトの名無しさん
垢版 |
2023/08/21(月) 18:18:38.42ID:W/JUog9y
>>774
そういうことじゃなくて、OSSは本質的に非常に大問題を
抱えてしまっているから、どうしようもない。
0776デフォルトの名無しさん
垢版 |
2023/08/21(月) 18:33:57.42ID:AlisErs6
>>775
そういうことじゃなくて、

じゃなくて、このスレそういうスレなんだよ。
マジで頭おかしいw
0778デフォルトの名無しさん
垢版 |
2023/08/21(月) 19:07:31.63ID:8jq5nfQv
「(すべての)OSSは本質的に非常に大問題を抱えている」→「Rustは本質的に非常に大問題を抱えている」
ってことだな
一応前提が正しければ結論も正しいけど前提の論証が大変そうだ

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

「一部の」と「すべての」を削って後ろの修飾語を盛る程度だとまだ術式が足りなくて通らない
0780デフォルトの名無しさん
垢版 |
2023/08/21(月) 19:32:31.36ID:jTK4AVkF
>>775
boostは使わないの?
0782デフォルトの名無しさん
垢版 |
2023/08/21(月) 20:44:27.67ID:oR9oJ1qa
背理法の仮定を利用しなくても矛盾するなら、任意の結論を背理法で証明できる

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

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

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

そういや、hsutter氏がなんか動画出してたけど、まだ観てない
勉強しないといけないこと(non C++, non Rust)大杉
0790デフォルトの名無しさん
垢版 |
2023/08/22(火) 12:18:07.09ID:whNyN1Gw
>>773
スレタイを100万回読め
0791デフォルトの名無しさん
垢版 |
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の測定数値が出ていたら自作ライブラリとの比較結果お願いします
0792デフォルトの名無しさん
垢版 |
2023/08/22(火) 19:57:32.16ID:p77SLRC3
>>791
なんかnumpyでマルチスレッド指定しても速度上がんないんですけど何か要因は考えられますか?
0793デフォルトの名無しさん
垢版 |
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
0794デフォルトの名無しさん
垢版 |
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
0795デフォルトの名無しさん
垢版 |
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
0796デフォルトの名無しさん
垢版 |
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
0797デフォルトの名無しさん
垢版 |
2023/08/23(水) 11:18:41.09ID:89z/H8g7
crate の docs の comment 率上げるために
struct に comment 付け捲る仕様はホントうざい
0798デフォルトの名無しさん
垢版 |
2023/08/24(木) 02:29:53.65ID:zGLBQFrp
python や bumpy の話題はスレ違い。
OSSの話題は許容範囲。
同一視してはいけない。
0799デフォルトの名無しさん
垢版 |
2023/08/24(木) 02:32:08.21ID:zGLBQFrp
RustとC++の比較において、前者が「パソコンにおいて」
OSSからスタートしてしまったことは、全ての問題の始まり。
かつてC言語はUnixではOSSであったろうが、パソコンでは
原則的にクローズドであったからこそ発展を遂げた。
0800デフォルトの名無しさん
垢版 |
2023/08/24(木) 02:42:41.30ID:hEI/Eij5
>>799
>かつてC言語はUnixではOSSであったろうが、パソコンでは
>原則的にクローズドであったからこそ発展を遂げた。
自分で書いていて論理がおかしいと思わないのかな?
0801デフォルトの名無しさん
垢版 |
2023/08/24(木) 02:45:44.43ID:hEI/Eij5
>>799
C言語がクローズドって何がクローズなのかな?
ANSIは誰もが使えるオープンな規格だろうが?
他人に伝えたい文章は正確に書き給え
0802デフォルトの名無しさん
垢版 |
2023/08/24(木) 02:47:37.96ID:zGLBQFrp
>>801
TurboC, msc, Watcom C/C++, LSI C, Lattice C,
Small C などがクローズであり、パソコンでOSSなものは
当時存在していなかったはずだ。
0803デフォルトの名無しさん
垢版 |
2023/08/24(木) 02:53:01.56ID:zGLBQFrp
C言語は、規格はオープンと言えばオープンであったが、
PC-9801用のコンパイラのソースコードは非公開であった。
X68000 は gcc だったらしいが。
0804デフォルトの名無しさん
垢版 |
2023/08/24(木) 02:53:58.47ID:hEI/Eij5
>>802

>>799
>パソコンでは原則的にクローズドであったからこそ発展を遂げた。
これは因果化関係を主張しているので
相関ではなくて因果の根拠を示すことが必要です
述べて下さい
0805デフォルトの名無しさん
垢版 |
2023/08/24(木) 02:56:38.98ID:hEI/Eij5
分かると思うけどタイポ
-因果化関係
+因果関係
0807デフォルトの名無しさん
垢版 |
2023/08/24(木) 03:23:10.48ID:zGLBQFrp
Win95が開発環境にとって終わりの始まりだった。
OSが32BIT化したことで、Unix系の無料OSSツールが
「主流のビジネスパソコン(PC-9801など)」の世界に
大量流入。
競争条件が破綻し、競争が不可能となり、衰退。
0809デフォルトの名無しさん
垢版 |
2023/08/24(木) 04:45:44.07ID:UfAeCzV0
C/C++
/*
printf("hoge*/hoge\n");
*/
コンパイル通る

Rust
/*
println!("hoge*/hoge");
*/
コンパイル通らないωωω
0811デフォルトの名無しさん
垢版 |
2023/08/24(木) 04:51:35.83ID:UfAeCzV0
>>799
>RustとC++の比較において、前者が「パソコンにおいて」
>OSSからスタートしてしまったことは、全ての問題の始まり。
一理ある

>かつてC言語はUnixではOSSであったろうが、パソコンでは
>原則的にクローズドであったからこそ発展を遂げた。
君の世界戦は異世界のものなのか?
0813デフォルトの名無しさん
垢版 |
2023/08/24(木) 04:57:32.27ID:zGLBQFrp
>>811
俺が言っているパソコンとは、PC-9801のことだ。
他のパソコンは知らんが、PC/AT機でもDOSでは、
OSSなコンパイラはほとんど動かなかったのでは。
0820デフォルトの名無しさん
垢版 |
2023/08/24(木) 12:14:49.40ID:fsW9ztQn
>>819
5chでイキって気持ち良くなるとか、どこの暇人ですかね?
0821デフォルトの名無しさん
垢版 |
2023/08/24(木) 13:03:33.51ID:hEI/Eij5
>>802
確かにコンパイラは淘汰され減ったが
トータルのコンパイラの利用者つまり開発者は
OSSがない場合に比べて増加したんだと思うよ
誰でも直ぐに無料で開発を進められるようになり
開発者の裾野が広がったのは
ソフトウェアの進化速度を考える上で重要だったと思う
0822デフォルトの名無しさん
垢版 |
2023/08/24(木) 15:07:09.15ID:HFuNmebf
>>821
淘汰されたのはOSSのせいじゃなくてVisual C++のせい。
0824デフォルトの名無しさん
垢版 |
2023/08/24(木) 15:51:29.49ID:YZsWFF7D
競技プログラミングみたいな何の能力を測定しているのか、
また、参加者も限られるようなものの成績が良かった
ことと、言語に対する評価眼を持っていることは別である。
評価とは、審査する側が誰であるかによって異なってしまう。
国際組織でも、アメリカの金で成り立っている組織は、
アメリカの意見になってしまうことは良く知られている
のと同様、プログラムでも学問の世界でも同様だと考えられる。
0825デフォルトの名無しさん
垢版 |
2023/08/24(木) 15:56:25.89ID:hEI/Eij5
>>824
それで?
0826デフォルトの名無しさん
垢版 |
2023/08/24(木) 15:56:54.62ID:YZsWFF7D
「若いから年上の人より正しい判断が出来る」とは限らない。
しかも、その若者の能力が高いかどうかを判定しているのが
京大総長というような高齢の権威者の場合はなおさら。
何を持って人の能力を判断しているのか問題、という問題
が起きる。
0827デフォルトの名無しさん
垢版 |
2023/08/24(木) 16:00:05.43ID:YZsWFF7D
京大総長が、「この人はプログラミング能力がすばらしい」などと
判断したとしよう。
しかし、それは「京大総長基準」に過ぎない。
「プログラミング能力が素晴らしい」とは、一体何を
もって決めるのか。
仮に素晴らしかったとしても、プログラミング言語の
良し悪しをその人一人が判断してよいということでもない。
0829デフォルトの名無しさん
垢版 |
2023/08/24(木) 18:17:38.62ID:QG+ZRfMP
test
0830デフォルトの名無しさん
垢版 |
2023/08/24(木) 18:50:59.70ID:RER6Zrq6
パソコンが高価だった時代はゲーム機が貧者の味方
その時代のゲームは今でも売買されているが開発者の利益にはならない
むしろ過去の商用ソフトは衰退させた方が最新のゲームを売りやすい
0831デフォルトの名無しさん
垢版 |
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で言うと何ですか?
0834デフォルトの名無しさん
垢版 |
2023/08/25(金) 00:12:20.33ID:1ayFYibv
>>831
区切るだけならstr.split(':')かstr.splitn(7, ':')
構造体に入れるなら一般的にserde crate
そのケースならcsv crateでコロンにデリミタ指定でもいけるはず
0838デフォルトの名無しさん
垢版 |
2023/08/25(金) 07:20:56.16ID:vekBwhc6
BDS-C とか α-C の人は少数派かな
0844デフォルトの名無しさん
垢版 |
2023/08/26(土) 10:17:55.69ID:YvKfERa1
MS「BASICとCってどっちが儲かるの」
科学「推測するな。速度を計測しろ」
アンチOSS「ソースを見れない方が勝つ」
0847デフォルトの名無しさん
垢版 |
2023/08/26(土) 12:50:41.78ID:EQIr/PqP
参照で充分なのに所有権の移転を要求する関数があると
いちいちcloneしてから渡さないといけないから非効率
もちろん一回呼ぶだけならclone不要だが
ループ中とかで何度も呼ぶ用途には使えない
なんでそんな関数の設計になってるんだろう?
別にメリットでもあるんか?
0849デフォルトの名無しさん
垢版 |
2023/08/26(土) 13:51:37.78ID:BkdXpONX
日本のプログラマは設計軽視
実装ばかりしている
0850デフォルトの名無しさん
垢版 |
2023/08/26(土) 13:53:57.47ID:1I5XjMeW
まだ検証結果とかないんですね
結果だけは知りたいので、そのうちまた来ます
0854デフォルトの名無しさん
垢版 |
2023/08/26(土) 18:28:43.52ID:PUW/Ds/i
逆じゃね
日本人は実装軽視
設計でガチガチに固めすぎる
0855デフォルトの名無しさん
垢版 |
2023/08/26(土) 18:35:38.61ID:d2gT63Zp
>>853
具体例出せないんだと
本人の認識に問題あるのか
関数の作りに問題があるのかわからない
0858デフォルトの名無しさん
垢版 |
2023/08/26(土) 21:07:05.08ID:0tgAAb31
上には上がある わかったつもりでも、さらに賢い奴から見ればクソ
自分なりに勉強して持論もまとめてるが、わかったなんて思わないもんだ
0860デフォルトの名無しさん
垢版 |
2023/08/26(土) 22:24:06.83ID:lapxHx5e
賭け事とか軽率な行動をしなければいいよ
頭の中が謙虚だろうが傲慢だろうが行動に直結しなければいい
いくら謙虚になっても忠誠心か何かで極端な行動をするパターンはある
0864デフォルトの名無しさん
垢版 |
2023/08/27(日) 02:39:08.79ID:v+5WY+8u
Firefoxは何かと問題が多い
0865デフォルトの名無しさん
垢版 |
2023/08/27(日) 10:34:56.61ID:m1noAQBG
構造体に演算子オーバーロードしたいときって,所有権持ってかれないように構造体の参照に対して演算子オーバーロードでいいの?
期待通りに動くんだけど
&a + &b
みたいな書き方になってまどろっこしい
0866デフォルトの名無しさん
垢版 |
2023/08/27(日) 10:46:11.22ID:FBPgStJh
(*a).演算()やa->演算()を間違えてa.演算()と書いたらエラーになるのがC++で
エラーにならないのがRustじゃないの
0872デフォルトの名無しさん
垢版 |
2023/08/27(日) 13:30:23.89ID:FBPgStJh
スマホや自動車の部品のように
買わされたけど存在意義は知らない物が普及することはよくある
0873デフォルトの名無しさん
垢版 |
2023/08/27(日) 13:50:59.05ID:HtzqCBy6
おじさん思考トレース

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

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

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

そしてRustのCopyの振る舞いはユーザが勝手に定義できない
0883デフォルトの名無しさん
垢版 |
2023/08/27(日) 18:00:17.55ID:U2l728xv
>>867
具体例出せないと後者の可能性高いだろ。
標準ライブラリやOSSならそういう問題は他の誰かからも指摘入って修正されるだろうし。
0886デフォルトの名無しさん
垢版 |
2023/08/27(日) 19:50:49.96ID:zk2DK/9o
>>885
なるほどね
やはり勘違いしていたわけだ
&selfと書いていないから参照はダメだと思い込んでしまったのだろう
実際にはもちろんself自体が参照型でもOK
0887デフォルトの名無しさん
垢版 |
2023/08/27(日) 19:55:22.28ID:zk2DK/9o
一般的にもトレイトのメソッドfoo(self, ...)についてself自体が&T型の場合もある
&T型はCopy実装されているため消費されても構わない
ようはポインタだから
0889デフォルトの名無しさん
垢版 |
2023/08/27(日) 21:23:31.52ID:Cz9QaAKK
比較演算子とかはauto-ref/derefできたほうがいいと思うが算術演算子はexplicitな今のスタイルの方がいいと思う
今でも&a + &bの中身がa.clone() + b.clone()になってるやつとかやめて欲しい
0890デフォルトの名無しさん
垢版 |
2023/08/27(日) 21:33:56.56ID:OVTDvFv9
>>885でSelfもRhsもOutputも自由なのでT次第でT + T、T + &T、&T + &Tなどそれぞれ最適な実装ができる
例えばT + &T -> Tは敢えて消費してそのメモリを居抜して返す効率パターン
例えば計算途中の中間生成Tは消費されてもよいわけで再び結果の中間生成Tに転用できる
0891デフォルトの名無しさん
垢版 |
2023/08/27(日) 21:35:11.73ID:Aks4ymi6
>>889
俺もそう思う
コピーして演算なら a+bで良いと思うけど
デカいオブジェクトで参照で演算なら&a+&bのほうがわかりやすいから良いと思う
0892デフォルトの名無しさん
垢版 |
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
 }
}
0893デフォルトの名無しさん
垢版 |
2023/08/27(日) 21:45:30.32ID:Aks4ymi6
>>888
俺もなんで&a+&bの&を書くのがまどろっこしいが
>>847
>参照で充分なのに所有権の移転を要求する関数があると
>いちいちcloneしてから渡さないといけないから非効率
に結び付くのか理解できないが,でも、rust野郎は激頭いいから同じ質問を形を変えた質問と
見抜いたんだろう
0895デフォルトの名無しさん
垢版 |
2023/08/28(月) 03:16:32.18ID:gISZWwhM
自演の多いスレ
0898デフォルトの名無しさん
垢版 |
2023/08/28(月) 12:32:28.64ID:PXcIjE1o
Rustの名誉を守るため、日々欠かさずパトロール。
そうしてRustの名誉は保たれているのだ。
0900デフォルトの名無しさん
垢版 |
2023/08/28(月) 13:33:08.88ID:EHUcz/c8
>>847>>865両方とも?
0901デフォルトの名無しさん
垢版 |
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)
0903デフォルトの名無しさん
垢版 |
2023/08/28(月) 15:28:15.79ID:YEWHN9+F
Rustで学ぶなんとかとかいう本いっぱい出ているし、結構個人でやる気のあるやつは覚えるんじゃね?
Rust人口増えている印象。
0907デフォルトの名無しさん
垢版 |
2023/08/28(月) 18:31:30.91ID:F1J/4/k0
地学を笑えば名誉を保てそうなのに
逆に名誉を捨てて地学を取る芸風みたいな
0908デフォルトの名無しさん
垢版 |
2023/08/28(月) 19:57:39.97ID:4Zx7/Z20
数年後にはHaskellみたいなってると言う人が数年前からいるけど数年後もいるだろうなぁ
0909デフォルトの名無しさん
垢版 |
2023/08/28(月) 20:08:53.96ID:BueC5+dS
数年前はHaskellはまだブームだったからその時は誉め言葉だったんじゃないの?
0910デフォルトの名無しさん
垢版 |
2023/08/28(月) 20:46:16.35ID:o8MpXwtV
まあそもそもC++人口がそんなに多くないのにそこからRUSTに移行する人間なんて更に少ないわな
0913デフォルトの名無しさん
垢版 |
2023/08/28(月) 21:01:02.40ID:DV0IBXio
単純なoperator overlodingでもTと&Tの組み合わせで最低4パターンは考慮しないといけないからな
一般的なビジネスアプリケーションでこういう手間をかけるだけのメリットを享受できるケースは少ない
0914デフォルトの名無しさん
垢版 |
2023/08/28(月) 22:06:15.45ID:LALZht9t
operator overlodを使うビジネスアプリケーションw
あるとしてもoperator overlodを定義するのはライブラリの仕事
利用者は型エラー起こさないように使うだけであり一般的な静的型付け言語どれも同じ
0916デフォルトの名無しさん
垢版 |
2023/08/28(月) 22:50:16.52ID:t6DgO9mO
ないな
算術以外でオーバーロードは必要ない
関数(メソッド)名で目的をはっきりさせる
0919デフォルトの名無しさん
垢版 |
2023/08/28(月) 23:07:53.29ID:N5WGrjIW
>>916
operator<<
operator>>
0920デフォルトの名無しさん
垢版 |
2023/08/28(月) 23:08:27.79ID:F1J/4/k0
PerlやC++の演算子を想定してるんだろうけど
若者はそんなものは知らん
PythonとRustは失敗を繰り返さなかった
0921デフォルトの名無しさん
垢版 |
2023/08/28(月) 23:30:17.72ID:t6DgO9mO
>>919
シフトは整数以外で使ったことないな
そんなものをオーバーロードしてどうするんだよ
意味不明になるぞ
0922デフォルトの名無しさん
垢版 |
2023/08/28(月) 23:56:35.09ID:LALZht9t
>>915
具体的にoperatorをoverload実装して使うビジネスアプリケーションを言ってみろよ
例えば多倍長を利用するとしても汎用ライブラリが実装するから該当しないよな
0923デフォルトの名無しさん
垢版 |
2023/08/29(火) 00:00:35.21ID:J3xeIa5d
一般的には算術演算子よりも比較演算子をオーバーロードすることのほうが多いだろうな
0924デフォルトの名無しさん
垢版 |
2023/08/29(火) 00:04:16.28ID:82ATxlW4
>>921
そいう批判は昔からあったけど混乱することは全くないよ
0925デフォルトの名無しさん
垢版 |
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)
0927デフォルトの名無しさん
垢版 |
2023/08/29(火) 01:43:28.47ID:g1jCtVM0
>>925
>Foo == &Fooは撥ねてくれる
値として扱うならこれは跳ねるべきではないのでPatrialEqのimplが追加で2ついる
0928デフォルトの名無しさん
垢版 |
2023/08/29(火) 01:43:31.90ID:fynFs9jV
おまえらいつも例を出さずにもめてるな
演算子をオーバーロード実装するビジネスアプリとやらの例を出せば済む話
0930デフォルトの名無しさん
垢版 |
2023/08/29(火) 01:49:31.97ID:fynFs9jV
>>927
例えば型不一致でも通せ!という理不尽な要求はここへ行き着くので認めるべきでない
if Foo != &Foo {
 Foo = &Foo;
}
0932デフォルトの名無しさん
垢版 |
2023/08/29(火) 02:17:09.83ID:+HxwobiY
>>926
と素人が申しております
0933デフォルトの名無しさん
垢版 |
2023/08/29(火) 02:25:36.33ID:RO95g2iU
>>931
演算子オーバーロードの話をしているところにメソッドを持ち出したらオウンゴールw
メソッド使用でいいなら演算子オーバーロードの必要なし
0934デフォルトの名無しさん
垢版 |
2023/08/29(火) 05:40:09.32ID:DdsP5NoC
演算子のオーバロードは、ライブラリマンに任せるよ これはC++も同様
あんなものバグ・抜けなしで書けるとか数学マンかよ

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

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

自演じゃなくて他演されたの初めてだわ
0937デフォルトの名無しさん
垢版 |
2023/08/29(火) 12:39:12.46ID:Gj9jSZac
>>936を信じるなら
ID:EQIr/PqP

ID:m1noAQBG = ID:RvCE3Lp0 = 行列ライブラリの人
で、ID:Aks4ymi6は行列ライブラリの人になりすまそうとしたっぽい謎の人物ってことかいな?
0938デフォルトの名無しさん
垢版 |
2023/08/29(火) 13:05:17.54ID:4jFDwxnu
このスレまじで負け惜しみレスが多いな
なんでここまで幼児メンタルを引きつけるのか謎
0939デフォルトの名無しさん
垢版 |
2023/08/29(火) 13:45:45.19ID:L7AzKEdf
ここはプログラマ板ではなくプログラム板
話はプログラムで示せ
それができない話ならばプログラマ板へ行け
具体的なコードで話せずに文句と批判するだけの無能は不要
0943デフォルトの名無しさん
垢版 |
2023/08/29(火) 18:25:25.49ID:113viVdP
玲音しね
0944デフォルトの名無しさん
垢版 |
2023/08/29(火) 18:42:00.76ID:E3TpD5zQ
こんな仮想空間でまじになっちゃって
負けたら大変なことになると思い込むのが問題なんだけど
論破というのはまさにそういう仮想空間で相手にそう思い込ませる術だよね
0947デフォルトの名無しさん
垢版 |
2023/08/29(火) 21:54:12.23ID:0ZJbGVqi
Rustは普及してないという願望・妄想と
Rustに言及するレスが続いてる現状を両立させるためだろ
0949デフォルトの名無しさん
垢版 |
2023/08/29(火) 22:39:33.53ID:qbvOBi0x
>>947
C++おっさん・爺は年齢的にRust覚えられないから
普及されると嫌だろうからな
一方、若い連中はもう化石言語になるC++よりRustに将来性を見出すだろうからな。
0951デフォルトの名無しさん
垢版 |
2023/08/29(火) 23:42:50.57ID:KeTq/BI+
でも、いまC++もRustも経験がない人が勉強するならC++からじゃない? C++がある程度分かってないと、Rustのありがたみも分からないし。
0953デフォルトの名無しさん
垢版 |
2023/08/30(水) 08:48:22.21ID:eE+KSztu
将来性ならpython
言語設計ならNimかMojo
実力ならc/c++
かね。
pythonは無くなることないから身につけて損はないし、その延長線としてNimは使える。
Mojoはスタックフレーム指向として将来性感じる。RustはMojoの踏み台。
0955デフォルトの名無しさん
垢版 |
2023/08/30(水) 10:06:20.92ID:7zJH/Xg6
>>954
Cの後継はZig
C++の後継はRust

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

Nimは何もかも中途半端であることに加え
先が見えてしまったのとあの開発体制では今後も期待できないため無視してよい存在
0972デフォルトの名無しさん
垢版 |
2023/08/30(水) 21:03:04.24ID:U5prozod
>>971
現実はRustで書かれているものも稀にあるってだけでは?
0973デフォルトの名無しさん
垢版 |
2023/08/30(水) 21:05:54.95ID:EFFGi3bv
>>298
mallocしたままfreeしないのはRustでももちろんできる
BoxやVecなどにはleak()があり意図的にリークする(=今後解放しない)ことができる
代わりに得られるのはライフタイムがstaticな可変参照
つまり静的にメモリ確保したことと同じ扱いになりライフタイムの束縛がなくなり自由となる
0974デフォルトの名無しさん
垢版 |
2023/08/30(水) 21:20:25.79ID:qErRQYHl
>>972
超大手が色々検討してその結果Rustで作ったなんだが、
知りたいのは、なんで(C++じゃなく)Rustを採用したのかなんだよな。
俺思うに、ネットインフラは公開で超攻撃対象になるから、脆弱性がなるべく少なくなるように
するためにはC++よりRustが良いと判断したからじゃないかと妄想。
0975デフォルトの名無しさん
垢版 |
2023/08/30(水) 21:33:28.86ID:U5prozod
>>974
だからその超大手の数多ある新規プロジェクト群の中に
Rustのプロジェクが稀にあるってだけなのでは?
0977デフォルトの名無しさん
垢版 |
2023/08/30(水) 21:39:30.75ID:8/HxBYkL
>>974
C++と比べるとRustはまず記述のしやすさと可読性の良さ
そしてC++よりもコンパイル時点で判明できるミスやバグが多くてデバッガ実行も激減し開発効率が高い
同時にそれらは保守性の良さにも繋がっている
C++とRustのどちらも選べる環境ではC++が今後使われることがほぼなくなるのだろう
0978デフォルトの名無しさん
垢版 |
2023/08/30(水) 21:43:01.91ID:qErRQYHl
>>975
まれだとしても,超重要なものにわざわざRustだからな
話題のRustでどれぐらいのものが出来るか確認するための
重要なものを作ってみた可能性もあるが
0979デフォルトの名無しさん
垢版 |
2023/08/30(水) 21:49:43.21ID:8/HxBYkL
>>496はCloudflareとAWSそれぞれの最も重要な中核部分だ
試しに作ってみるような部分ではない
今後は人員さえ揃えばRustを使うというIT各社の確固たる方針
0980デフォルトの名無しさん
垢版 |
2023/08/30(水) 22:00:23.43ID:dSL5QWen
何かを選ぶ理由とそれを選んだという事実の因果関係は無いほうが動きやすい
強者の命令に対し
命令に従うことが必然的ではない人間はもっと強い
0982デフォルトの名無しさん
垢版 |
2023/08/30(水) 22:23:28.66ID:U5prozod
そもそも本家本丸のfirefoxのコードは実はC++の方が多いんだぜ?
0984デフォルトの名無しさん
垢版 |
2023/08/30(水) 23:03:37.56ID:EFFGi3bv
>>976
leak()へ所有権を渡すので所有者はいなくなりdropは起きない
代わりに&'static mutを得ることができてライフタイムに束縛されなくなる
例えば"abcde"の&'static strが所有者を持たずdropも起きないのと同じ
0985デフォルトの名無しさん
垢版 |
2023/08/30(水) 23:17:03.32ID:E3RaRkgj
>>977
「記述のしやすさと可読性の良さ」って冗談か? Rustは冗長な癖に変な略語が多くて読みにくいし醜い。
あんなもんで開発するのは錆びついた歯車の自転車でギコギコ走らされるような罰ゲームだろ。
0986デフォルトの名無しさん
垢版 |
2023/08/30(水) 23:21:58.36ID:jEaVNaFL
>>981
そりゃ既存のプロジェクトを数えりゃ歴史あるほうが使われてる割合多いだろうよ。
0987デフォルトの名無しさん
垢版 |
2023/08/30(水) 23:23:05.29ID:c1vOy1St
C++とRust両方使いこなせる人たちが100%
Rustに軍配を上げるように
C++の言語機能が弱すぎることがC++の敗因かと
0988デフォルトの名無しさん
垢版 |
2023/08/31(木) 05:57:13.65ID:Fp7risRc
>>983
と世迷言老害が申しております
0990デフォルトの名無しさん
垢版 |
2023/08/31(木) 10:28:37.32ID:CmoRmahF
メモリリークを簡単に立証できる参照カウントなら
勝手に捨てられないことを簡単に立証できる
これが勝因だ
0992デフォルトの名無しさん
垢版 |
2023/08/31(木) 12:50:11.95ID:9MCfOvkc
>>989
は?
C++もRustも同じだぞ
Cから所有権がムーブしてくることはないので
C++もRustもCで確保したメモリを勝手に解放することはない
0994デフォルトの名無しさん
垢版 |
2023/08/31(木) 14:21:58.30ID:qE8kvwKZ
はいはい unsafe {}
0995デフォルトの名無しさん
垢版 |
2023/08/31(木) 14:22:09.96ID:qE8kvwKZ
はいはい dead lock
0996デフォルトの名無しさん
垢版 |
2023/08/31(木) 14:23:58.05ID:qE8kvwKZ
はいはい #[no_mangle]
0997デフォルトの名無しさん
垢版 |
2023/08/31(木) 14:31:38.69ID:CmoRmahF
>>992
品質を犠牲にして儲ければ困らないがそういうのに不寛容な人達は困ってるだろうなあ
ってことでしょ
0998デフォルトの名無しさん
垢版 |
2023/08/31(木) 14:58:04.06ID:qE8kvwKZ
pinoの蜜芋ブリュレが美味過ぎてやばい
0999デフォルトの名無しさん
垢版 |
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を超えています。これ以上書き込みはできません。

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