探検
結局C++とRustってどっちが良いの?
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2023/02/25(土) 09:49:46.74ID:VRyB88xR C++の色々配慮してめんどくさい感じは好きだけど、実務になったらメモリ安全性とか考えて今後Rustに変わっていくんかな?
127デフォルトの名無しさん
2023/03/04(土) 10:41:49.65ID:CDmz22lO128デフォルトの名無しさん
2023/03/04(土) 10:54:13.03ID:RFNVa0Qi >>114
chatGPTの回答に似てるなωωω
chatGPTの回答に似てるなωωω
129デフォルトの名無しさん
2023/03/04(土) 10:59:11.20ID:RFNVa0Qi130デフォルトの名無しさん
2023/03/04(土) 11:05:58.63ID:54Un32Sk >>129
「CやC++に置き換わる言語の話」なんて誰もしていない
「CやC++に取って代わる」あるいは「CやC++を置き換える」と言いたいのだろう
あるいは本気で「CやC++に置き換わる言語の話」をしているのなら今度こそ本当に頭がおかしいな
「CやC++に置き換わる言語の話」なんて誰もしていない
「CやC++に取って代わる」あるいは「CやC++を置き換える」と言いたいのだろう
あるいは本気で「CやC++に置き換わる言語の話」をしているのなら今度こそ本当に頭がおかしいな
131デフォルトの名無しさん
2023/03/04(土) 11:14:10.28ID:RFNVa0Qi それがてにをはどどう関係あるの?
132デフォルトの名無しさん
2023/03/04(土) 11:23:10.42ID:33wAkDSd >>126
VB6はトレースGCではないけど参照カウンタGC方式のGC言語
VB6オブジェクトは裏で参照カウンタが自動的に使われていてそれにより使われなくなったメモリを回収している
ちなみにC++のshared_ptrなども参照カウンタ方式だが裏で勝手に使われることはなく必須でもなくプログラマー裁量なのでC++はGC言語ではない
VB6はトレースGCではないけど参照カウンタGC方式のGC言語
VB6オブジェクトは裏で参照カウンタが自動的に使われていてそれにより使われなくなったメモリを回収している
ちなみにC++のshared_ptrなども参照カウンタ方式だが裏で勝手に使われることはなく必須でもなくプログラマー裁量なのでC++はGC言語ではない
133デフォルトの名無しさん
2023/03/04(土) 11:59:27.29ID:Ss9j+0Cw Rustに期待している人のフラストレーションを解消したいなら
フルスクラッチでOSを書くくらいしか方法はないだろうね
OSの普及は更に至難の技だけども
フルスクラッチでOSを書くくらいしか方法はないだろうね
OSの普及は更に至難の技だけども
134デフォルトの名無しさん
2023/03/04(土) 12:08:40.51ID:2fdiw2OM (実務経験ゼロ + 論理的思考力の欠落 + 自己愛性パーソナリティ障害) * Rustへの執着 = 通称複製おじさん
135デフォルトの名無しさん
2023/03/04(土) 12:51:29.76ID:SdQ3Tgr2 |
| 彡⌒ミ
\ (´・ω・`)またGCの話してる
(| |)::::
(γ /:::::::
し \:::
\
| 彡⌒ミ
\ (´・ω・`)またGCの話してる
(| |)::::
(γ /:::::::
し \:::
\
136デフォルトの名無しさん
2023/03/05(日) 00:54:23.16ID:OH6jTTZv うるせー馬鹿
137デフォルトの名無しさん
2023/03/05(日) 00:59:18.56ID:eidG4gk+ >>133
フルスクラッチの新たなOSを普及させるのは難しいだろうが
>>74に記事があるようにGoogleがRustのみで新OSを作ってるな
あとAndroidもLinuxもWindowsもRustの一部採用を始めて
この流れはOSに限らず全てのシステムでRust化が進んでいくのだろう
GoogleとMicrosoftがRust言語でOS開発
https://xtech.nikkei.com/atcl/nxt/column/18/00692/042700054/
フルスクラッチの新たなOSを普及させるのは難しいだろうが
>>74に記事があるようにGoogleがRustのみで新OSを作ってるな
あとAndroidもLinuxもWindowsもRustの一部採用を始めて
この流れはOSに限らず全てのシステムでRust化が進んでいくのだろう
GoogleとMicrosoftがRust言語でOS開発
https://xtech.nikkei.com/atcl/nxt/column/18/00692/042700054/
138デフォルトの名無しさん
2023/03/05(日) 09:30:23.81ID:B0+xSixt139デフォルトの名無しさん
2023/03/05(日) 10:00:51.19ID:N4QaJnep 私はRustで年収1億稼ぎましたみたいな話はないのかよ
マイナープロジェクトでちょっと使われたら勝利なのかよ
マイナープロジェクトでちょっと使われたら勝利なのかよ
140デフォルトの名無しさん
2023/03/05(日) 11:14:29.69ID:/Qd0pRlS Winnyの作者みたいに逮捕されるかと思ったら怖くて無理
141デフォルトの名無しさん
2023/03/05(日) 11:34:54.12ID:ukOUhlGm 話し飛躍しすぎでしょ
142デフォルトの名無しさん
2023/03/05(日) 11:49:22.14ID:nmaj3sub Rustで検証してうまくいったらそのままCにコンバートすれば余計なチェックコードが削れてる速く動く
とかね。
とかね。
143デフォルトの名無しさん
2023/03/05(日) 14:28:35.02ID:FAqgXVt3 てかGCって別に悪いもんじゃねぇしな
144デフォルトの名無しさん
2023/03/05(日) 14:30:11.56ID:FAqgXVt3145デフォルトの名無しさん
2023/03/05(日) 14:54:49.80ID:B0+xSixt146デフォルトの名無しさん
2023/03/05(日) 15:15:15.70ID:WdTi9AcG147デフォルトの名無しさん
2023/03/05(日) 15:45:42.10ID:09jM8Cxo148デフォルトの名無しさん
2023/03/05(日) 15:50:56.78ID:7nv7saAE 本当にGCの話しかしないんだね
GC以外のことを語る知識がない
GCはこの板見てる人はほぼ誰でも知っているだろう
GC以外のことを語る知識がない
GCはこの板見てる人はほぼ誰でも知っているだろう
149デフォルトの名無しさん
2023/03/05(日) 15:58:09.36ID:Y+o3TKYe 色んな言語のライブラリがC++(や最近はRust)で書かれているのを考えると
C++とRustが王者決定戦になるのは当たり前じゃね?
C++とRustが王者決定戦になるのは当たり前じゃね?
150デフォルトの名無しさん
2023/03/05(日) 16:07:43.53ID:RiJu3w7U 入力にゴミデータを与えるとゴミしか出力されないことの好例
151デフォルトの名無しさん
2023/03/05(日) 18:26:02.22ID:xsWqtK1g いつのまにかPythonやJavaScriptのライブラリがRustで作れるようになってるのな
152デフォルトの名無しさん
2023/03/06(月) 00:49:06.50ID:pFRSokg0 そりゃラップするだけなんだから作れるだろ
アホか
アホか
153デフォルトの名無しさん
2023/03/06(月) 09:19:45.87ID:93HR+LQR そして我が道をいくLISP
154デフォルトの名無しさん
2023/03/06(月) 09:45:52.37ID:4Z2NP+rF LISPといえばGCの元祖だな
155デフォルトの名無しさん
2023/03/06(月) 13:40:13.02ID:diWxUEyJ |
| 彡⌒ミ
\ (´・ω・`)またGCの話してる
(| |)::::
(γ /:::::::
し \:::
\
| 彡⌒ミ
\ (´・ω・`)またGCの話してる
(| |)::::
(γ /:::::::
し \:::
\
156デフォルトの名無しさん
2023/03/06(月) 15:05:53.11ID:diWxUEyJ157デフォルトの名無しさん
2023/03/06(月) 17:14:45.53ID:93HR+LQR ふと思ったんだけど、Rustのmutableな構造体の中にimmutableなフィールドって持てるんだっけ?
158デフォルトの名無しさん
2023/03/06(月) 20:00:50.97ID:BPh5rEIJ >>157
そういえば、C++のcv属性は、論理和方式で、constは足し算の様に0から1に
変わるが、mut 属性はそうはならないだろうから、どうなるんだろうな。
constは意味的に考えてもcastしない限りは、、constなものはいくらやっても
書き込めるようにはならない、というのは安全性から当然なんだけど、
mutだとそうはいかない。
そういえば、C++のcv属性は、論理和方式で、constは足し算の様に0から1に
変わるが、mut 属性はそうはならないだろうから、どうなるんだろうな。
constは意味的に考えてもcastしない限りは、、constなものはいくらやっても
書き込めるようにはならない、というのは安全性から当然なんだけど、
mutだとそうはいかない。
159デフォルトの名無しさん
2023/03/06(月) 20:09:02.49ID:BPh5rEIJ >>158
mutとconstは逆さまの働きみたいだから、どっちで行くかは言語設計者の自由と
思われがちだけど、constな構造体のメンバは勝手に全てconst扱いになるという
単純な論理に出来るけど、mut方式の場合は、constキーワードも別に必要になりそう。
mutとconstは逆さまの働きみたいだから、どっちで行くかは言語設計者の自由と
思われがちだけど、constな構造体のメンバは勝手に全てconst扱いになるという
単純な論理に出来るけど、mut方式の場合は、constキーワードも別に必要になりそう。
160デフォルトの名無しさん
2023/03/06(月) 21:18:31.55ID:HKTArltY161デフォルトの名無しさん
2023/03/06(月) 21:44:09.47ID:l1NoBYC6 >>159
C++でconstを誤用しているのとは異なり
Rustではconstを正しく定数の意味で使っているので注意
つまりconstは定数でありコンパイル時に静的に定まる
もちろんconstとは別の概念としてmutableとimmutableがあり、これらは可変性の有無を表す
さらにそれらと別の概念として所有権があり、所有権を持っていればimmutableであろうと関係なくmutableな変数へ移すことで可変性を得られる
一方で所有権を持たないimmutableな参照からは可変性を得られない
C++でconstを誤用しているのとは異なり
Rustではconstを正しく定数の意味で使っているので注意
つまりconstは定数でありコンパイル時に静的に定まる
もちろんconstとは別の概念としてmutableとimmutableがあり、これらは可変性の有無を表す
さらにそれらと別の概念として所有権があり、所有権を持っていればimmutableであろうと関係なくmutableな変数へ移すことで可変性を得られる
一方で所有権を持たないimmutableな参照からは可変性を得られない
162デフォルトの名無しさん
2023/03/06(月) 21:51:25.41ID:1935XsNt163デフォルトの名無しさん
2023/03/06(月) 22:01:32.22ID:l1NoBYC6 >>162
そうだよ
実行するたびにあるいは関数を呼ぶたびに値が変わりうる変数(=静的に値が定まらず変わりうること)に対して、
変数がimmutableであることを間違えてconstと付けてしまった
そのためC++では定数(=静的に値が定まること)の場合は苦肉の策でconstexprと変な名前を付けることになった
そうだよ
実行するたびにあるいは関数を呼ぶたびに値が変わりうる変数(=静的に値が定まらず変わりうること)に対して、
変数がimmutableであることを間違えてconstと付けてしまった
そのためC++では定数(=静的に値が定まること)の場合は苦肉の策でconstexprと変な名前を付けることになった
164デフォルトの名無しさん
2023/03/06(月) 22:21:12.53ID:1935XsNt >>163
C++では単に値が`constant'って意味で使っただけではないのかな?
それを誤用とは言わんと思う
ところで何でconstexprではないconst変数は
静的に定まらないことになってるの?
C++では単に値が`constant'って意味で使っただけではないのかな?
それを誤用とは言わんと思う
ところで何でconstexprではないconst変数は
静的に定まらないことになってるの?
165デフォルトの名無しさん
2023/03/06(月) 22:37:19.16ID:l1NoBYC6 >>164
もちろんC++は整数などに限ればconstで静的な定数となるが
それ以外C++のconstは定数ではなく静的にコンパイル時に定まらない
そのため真のconstを表すためにconstexprというキーワードを新たに用意する本末転倒な状況となった
もちろんC++は整数などに限ればconstで静的な定数となるが
それ以外C++のconstは定数ではなく静的にコンパイル時に定まらない
そのため真のconstを表すためにconstexprというキーワードを新たに用意する本末転倒な状況となった
166デフォルトの名無しさん
2023/03/06(月) 22:52:19.69ID:1935XsNt167デフォルトの名無しさん
2023/03/06(月) 22:53:11.95ID:1935XsNt168デフォルトの名無しさん
2023/03/06(月) 23:09:16.19ID:h8dbx3na >>166
C++で何らかのクラスのインスタンスを作ってconstに入れることを考えてみるとわかりやすいよ
もちろんこのconstのインスタンスはコンストラクタの引き数の値によって変わるから静的な定数じゃないよね
つまり単なるimmutableな変数に過ぎないわけだけどC++はそれに対してconstと間違えて名付けちゃった
だから本当の定数に対してconstexprと名付けることになった有名な話だよ
C++で何らかのクラスのインスタンスを作ってconstに入れることを考えてみるとわかりやすいよ
もちろんこのconstのインスタンスはコンストラクタの引き数の値によって変わるから静的な定数じゃないよね
つまり単なるimmutableな変数に過ぎないわけだけどC++はそれに対してconstと間違えて名付けちゃった
だから本当の定数に対してconstexprと名付けることになった有名な話だよ
169デフォルトの名無しさん
2023/03/06(月) 23:20:34.22ID:1935XsNt >>168
>つまり単なるimmutableな変数に過ぎないわけだけどC++はそれに対してconstと間違えて名付けちゃった
C++のconstは単なる`constant'の意味で
静的な定数という意味でないというだけなのでは?
本当に「間違えて」名付けたのかな?
俺にはC++のconstにあなたが「間違えて」静的な定数という意味を
期待しているだけに見えるのだが?
>つまり単なるimmutableな変数に過ぎないわけだけどC++はそれに対してconstと間違えて名付けちゃった
C++のconstは単なる`constant'の意味で
静的な定数という意味でないというだけなのでは?
本当に「間違えて」名付けたのかな?
俺にはC++のconstにあなたが「間違えて」静的な定数という意味を
期待しているだけに見えるのだが?
170デフォルトの名無しさん
2023/03/06(月) 23:31:32.57ID:l1NoBYC6171デフォルトの名無しさん
2023/03/06(月) 23:33:40.69ID:1935XsNt172デフォルトの名無しさん
2023/03/06(月) 23:42:46.60ID:l1NoBYC6 >>171
関数に渡ってきた毎回変わりうる引き数を使ってそれを渡してインスタンス作成してconstに突っ込む場合でもよい
あるいは環境変数やargv使ってインスタンス作成でもよい
いずれも毎回インスタンスの値が変わりうるため定数ではないがC++ではconstと付けてしまった
そして本当の定数にconstexprと付けた
関数に渡ってきた毎回変わりうる引き数を使ってそれを渡してインスタンス作成してconstに突っ込む場合でもよい
あるいは環境変数やargv使ってインスタンス作成でもよい
いずれも毎回インスタンスの値が変わりうるため定数ではないがC++ではconstと付けてしまった
そして本当の定数にconstexprと付けた
173デフォルトの名無しさん
2023/03/06(月) 23:47:46.47ID:1935XsNt174デフォルトの名無しさん
2023/03/06(月) 23:52:15.11ID:p7JhiTtQ ただし*const Tのconstだけはコンパイル時定数の意ではなく、C++と同じで書き換えを行えないという意味です
一貫性がありませんね
一貫性がありませんね
175デフォルトの名無しさん
2023/03/06(月) 23:56:33.22ID:h8dbx3na >>169
数字でも物理でも定数は静的に定まるものだよ
でもC++はconstをimmutableの意味で間違えて名付けてしまいました
そして定数を表すためにconstを使えなくなりconstexprと名付けたという誰でも知ってる有名な話だよ
数字でも物理でも定数は静的に定まるものだよ
でもC++はconstをimmutableの意味で間違えて名付けてしまいました
そして定数を表すためにconstを使えなくなりconstexprと名付けたという誰でも知ってる有名な話だよ
176デフォルトの名無しさん
2023/03/07(火) 00:01:46.05ID:gZ1LpnCS >>175
>でもC++はconstをimmutableの意味で間違えて名付けてしまいました
とあなたが思っているだけではないかな?
C++のconstにあなたなが「間違えて」静的に定まるものを期待しているだけでは?
>でもC++はconstをimmutableの意味で間違えて名付けてしまいました
とあなたが思っているだけではないかな?
C++のconstにあなたなが「間違えて」静的に定まるものを期待しているだけでは?
177デフォルトの名無しさん
2023/03/07(火) 00:09:47.95ID:6eBCzRN0 言われてみれば数字や物理で定数は静的に定まる値だな
どうせC++で静的に定まる値を示すキーワードも必要となるんだから素直にそれをconstにしておくべきだったか
設計ミスだな
どうせC++で静的に定まる値を示すキーワードも必要となるんだから素直にそれをconstにしておくべきだったか
設計ミスだな
178デフォルトの名無しさん
2023/03/07(火) 00:57:00.01ID:UNnBBHt0179デフォルトの名無しさん
2023/03/07(火) 01:08:45.38ID:gZ1LpnCS180デフォルトの名無しさん
2023/03/07(火) 01:27:52.75ID:phr7A4jU immutableとconstantの違いを区別できていない人がimmutableに対してconstと命名してしまったのかな
そのためconstantに対してconstと命名できなくなってconstexprと命名したと
そのためconstantに対してconstと命名できなくなってconstexprと命名したと
181デフォルトの名無しさん
2023/03/07(火) 01:31:47.04ID:CjRtBzJ1 同じ言葉や字句でも言語ごとにその概念が指すものは異なる
相対主義的に考えなさい
相手の価値観を理解しなければ説得力は生まれません
相対主義的に考えなさい
相手の価値観を理解しなければ説得力は生まれません
182デフォルトの名無しさん
2023/03/07(火) 02:21:18.68ID:oSHTm7sl ・y = ax (a=10である)
aをimmutableと呼ぶかconstantと呼ぶか
・y=f(a) (a=10である)
f(a)をconstantと呼ぶかconstant expressionと呼ぶか
まあ考え方次第だよな
aをimmutableと呼ぶかconstantと呼ぶか
・y=f(a) (a=10である)
f(a)をconstantと呼ぶかconstant expressionと呼ぶか
まあ考え方次第だよな
183デフォルトの名無しさん
2023/03/07(火) 02:29:20.82ID:phr7A4jU184デフォルトの名無しさん
2023/03/07(火) 08:05:58.19ID:oSHTm7sl >>183
かかるaについてなんと呼ぶかって話だから別にxについて気にする必要は無いよ
かかるaについてなんと呼ぶかって話だから別にxについて気にする必要は無いよ
185デフォルトの名無しさん
2023/03/07(火) 08:10:06.41ID:X5urLXgj >>182
理解できていなさ過ぎだろw
理解できていなさ過ぎだろw
186デフォルトの名無しさん
2023/03/07(火) 08:16:15.53ID:X5urLXgj187デフォルトの名無しさん
2023/03/07(火) 09:21:06.13ID:hj+ftEk+ 自演してRustゴリ推し他言語叩きをしてるのは
複製おじさんと呼ばれてるRustスレでは有名な荒らし
しかもそいつが「RustJP公式 」の中の人で間違いなさそうって話だから手に負えない
複製おじさんと呼ばれてるRustスレでは有名な荒らし
しかもそいつが「RustJP公式 」の中の人で間違いなさそうって話だから手に負えない
188デフォルトの名無しさん
2023/03/07(火) 10:27:35.30ID:QCj9HjAv >>187
「RustJP自称公式 」なのでなんの問題もない
「RustJP自称公式 」なのでなんの問題もない
189デフォルトの名無しさん
2023/03/07(火) 11:40:31.33ID:gZ1LpnCS >>180
それはお前用語なんじゃね?
それはお前用語なんじゃね?
190デフォルトの名無しさん
2023/03/07(火) 11:55:27.75ID:CdvGJ9oA y = ax
y も a も x も変数としか言いようがない
y も a も x も変数としか言いようがない
191デフォルトの名無しさん
2023/03/07(火) 12:47:12.28ID:CHI/c7S+ aを10としたときにコンパイル時
最適化してしまうかaという入れ物残しとくか更にはf(a)も計算して結果だけ使うか
最適化してしまうかaという入れ物残しとくか更にはf(a)も計算して結果だけ使うか
192デフォルトの名無しさん
2023/03/07(火) 21:59:54.08ID:6AJw5hNk 整数はconstやconstexprの有無に関係なくコンパイル時に最適化されるから整数を持ち出して来ても意味がない
C++ならクラスのインスタンスを生成する場合などを考えるとわかりやすい
コンパイル時点でそのインスタンスを定数化できる時にconstexprを使い静的に定数となる
そうでなく実行時にならないと値が定まらない変数となる時はconstexprを使えない
その変数がimmutableつまり生成以降は値を変更できない時はconstを使う
C++ならクラスのインスタンスを生成する場合などを考えるとわかりやすい
コンパイル時点でそのインスタンスを定数化できる時にconstexprを使い静的に定数となる
そうでなく実行時にならないと値が定まらない変数となる時はconstexprを使えない
その変数がimmutableつまり生成以降は値を変更できない時はconstを使う
193182
2023/03/07(火) 22:28:59.56ID:oSHTm7sl constというものの表現を語るうえで言語依存しない形で書いただけなので
少数でも文字列でも適当に読み替えてね
少数でも文字列でも適当に読み替えてね
194デフォルトの名無しさん
2023/03/08(水) 00:26:55.95ID:Ax/TB2dR195デフォルトの名無しさん
2023/03/08(水) 00:36:06.87ID:o1WhyvRq 壊れたテープレコーダは生まれてくるべきでなかった
196デフォルトの名無しさん
2023/03/08(水) 00:46:11.75ID:+ZMcnEdg 事後諸葛亮
197デフォルトの名無しさん
2023/03/08(水) 01:01:29.10ID:qkb67oYH 同じ事しか書けない命名君はGC連呼厨なのか
198デフォルトの名無しさん
2023/03/08(水) 01:22:37.49ID:9h+oJZcX 結果的に後からみればC++の命名ミスなんだろうが歴史的経緯で仕方ないだろ
昔はimmutableとconstantの概念の区別が曖昧だった
昔はimmutableとconstantの概念の区別が曖昧だった
199デフォルトの名無しさん
2023/03/08(水) 01:53:12.26ID:CbNEQcSB どうしても`immutable'を使いたければマクロ定義すれば?
#define immutable const
#define immutable const
200デフォルトの名無しさん
2023/03/08(水) 02:01:56.79ID:3vDDzLqz Rustはconstをimmutableとcompile-time constantの両方の意味で使うので一貫性が無い
>>174
>>174
201デフォルトの名無しさん
2023/03/08(水) 07:29:50.16ID:OMAPV4fU >>200
Rustでconstは常に静的な定数を表す
*constはconstとは全く別のものであり予約語を最小限にするための使い回し組み合わせ
両者は種別も異なるため混乱することもない
constは定数の定義なのでこの位置に来る
let foo: i32 = 12345;
const FOO: i32 = 12345;
*constは生ポインタの型を示すのでこの位置に来る
const BAR: &i32 = &FOO;
const BAZ: *const i32 = &FOO;
このように両者は全く別物で出現位置も異なり共存もでき混乱することもない
この生ポインタはunsafe Rustでしか使わないため通常は出て来ない
そのために新たな予約語を消費するのは馬鹿げているため既存の組み合わせという合理的な選択をした
Rustでconstは常に静的な定数を表す
*constはconstとは全く別のものであり予約語を最小限にするための使い回し組み合わせ
両者は種別も異なるため混乱することもない
constは定数の定義なのでこの位置に来る
let foo: i32 = 12345;
const FOO: i32 = 12345;
*constは生ポインタの型を示すのでこの位置に来る
const BAR: &i32 = &FOO;
const BAZ: *const i32 = &FOO;
このように両者は全く別物で出現位置も異なり共存もでき混乱することもない
この生ポインタはunsafe Rustでしか使わないため通常は出て来ない
そのために新たな予約語を消費するのは馬鹿げているため既存の組み合わせという合理的な選択をした
202デフォルトの名無しさん
2023/03/08(水) 07:30:57.28ID:/qygPgTx constはCからの流れだしな。
元々Cがシステムプログラミング向けだったことを思えば、「リードオンリーセクションに置け」っていうくらいのつもりだったんだろ。
定数は#defineで指定しろって感じかな。
元々Cがシステムプログラミング向けだったことを思えば、「リードオンリーセクションに置け」っていうくらいのつもりだったんだろ。
定数は#defineで指定しろって感じかな。
203デフォルトの名無しさん
2023/03/08(水) 08:49:19.07ID:w2ee/I/N204デフォルトの名無しさん
2023/03/08(水) 09:00:01.62ID:OMAPV4fU205デフォルトの名無しさん
2023/03/09(木) 14:43:18.74ID:lc0skjdv 本題に戻ろう
206デフォルトの名無しさん
2023/03/09(木) 19:02:01.89ID:33ubz+zP Rustは優秀なんだろうけど、言語仕様が難解なのと、「〜の分野ならRust」と言えるものがないから広がりにくいんだろうね
207デフォルトの名無しさん
2023/03/11(土) 11:27:51.97ID:E47xdjIQ それにRustは左翼的な弱者救済的な雰囲気が漂う。
VBも同じ理由で使ってるだけで駄目プログラマとみなされていったから、
同じようにRustを使ってるだけで駄目プログラマ決定されてしまう気がする。
VBも同じ理由で使ってるだけで駄目プログラマとみなされていったから、
同じようにRustを使ってるだけで駄目プログラマ決定されてしまう気がする。
208デフォルトの名無しさん
2023/03/11(土) 11:29:57.74ID:E47xdjIQ Excelもそうだ。Excelを使ってるだけで弱者扱いされてしまうようになっている。
VBもそうなったから、中味はそう変わってないのに名前を変えてC#にされた。
しかし、だんだんと、C#もVBと同じように馬鹿プログラマ専用言語とみなされる
ようになってきてる。
Rustもきっとそうなるだろう。
VBもそうなったから、中味はそう変わってないのに名前を変えてC#にされた。
しかし、だんだんと、C#もVBと同じように馬鹿プログラマ専用言語とみなされる
ようになってきてる。
Rustもきっとそうなるだろう。
209デフォルトの名無しさん
2023/03/11(土) 14:27:01.34ID:lvldJuuV Rustも悪くないけど日本語のドキュメントが酷すぎるかなあ。
たとえば第七章のパッケージとグレートの話とかでも
-------
最初に学ぶモジュールシステムの要素は、パッケージとクレートです。 クレートはバイナリかライブラリのどちらかです。 クレートルート (crate root) とは、Rustコンパイラの開始点となり、クレートのルートモジュールを作るソースファイルのことです
--------
英文の方は版が新しいこともあってか
The first parts of the module system we’ll cover are packages and crates.
A crate is the smallest amount of code that the Rust compiler considers at a time. Even if you run rustc rather than cargo and pass a single source code file (as we did all the way back in the “Writing and Running a Rust Program” section of Chapter 1), the compiler considers that file to be a crate.
と、いう具合で以下だいぶ丁寧に解説してる。
パッケージにはa library crateとあるから一つだけなの?とChatGPTに尋ねたら複数入ることもあると断言されたけど。
たとえば第七章のパッケージとグレートの話とかでも
-------
最初に学ぶモジュールシステムの要素は、パッケージとクレートです。 クレートはバイナリかライブラリのどちらかです。 クレートルート (crate root) とは、Rustコンパイラの開始点となり、クレートのルートモジュールを作るソースファイルのことです
--------
英文の方は版が新しいこともあってか
The first parts of the module system we’ll cover are packages and crates.
A crate is the smallest amount of code that the Rust compiler considers at a time. Even if you run rustc rather than cargo and pass a single source code file (as we did all the way back in the “Writing and Running a Rust Program” section of Chapter 1), the compiler considers that file to be a crate.
と、いう具合で以下だいぶ丁寧に解説してる。
パッケージにはa library crateとあるから一つだけなの?とChatGPTに尋ねたら複数入ることもあると断言されたけど。
210デフォルトの名無しさん
2023/03/11(土) 14:31:08.67ID:+PZMhSrI 面倒ならとりあえずDeepLに掛ければ良いのにね
> モジュールシステムで最初に取り上げるのは、パッケージとクレートです。
>
> クレートは、Rustコンパイラが一度に考慮する最小のコード量です。cargoで
> はなくrustcを実行し、1つのソースコードファイルを渡したとしても(第1章
> の「Rustプログラムの作成と実行」でやったように)、コンパイラはそのファ
> イルをクレートと見なします。
> モジュールシステムで最初に取り上げるのは、パッケージとクレートです。
>
> クレートは、Rustコンパイラが一度に考慮する最小のコード量です。cargoで
> はなくrustcを実行し、1つのソースコードファイルを渡したとしても(第1章
> の「Rustプログラムの作成と実行」でやったように)、コンパイラはそのファ
> イルをクレートと見なします。
211デフォルトの名無しさん
2023/03/11(土) 16:27:23.47ID:BtFFfdHV >>209
ひどすぎるのには同意するが
それはボランティアによる非公式な翻訳で
識者による監修や査読がされてないから
質が低いのは当然といえば当然
一部専門用語を除くと機械翻訳のほうが
それよりはマシな訳になることが多いので
多少英語が苦手でも公式を見たほうが断然効率がいいよ
ひどすぎるのには同意するが
それはボランティアによる非公式な翻訳で
識者による監修や査読がされてないから
質が低いのは当然といえば当然
一部専門用語を除くと機械翻訳のほうが
それよりはマシな訳になることが多いので
多少英語が苦手でも公式を見たほうが断然効率がいいよ
212デフォルトの名無しさん
2023/03/11(土) 16:39:48.49ID:47WJOH0Y >>209
7章の最初のページ見ればそれぞれどういう関係なのか一目瞭然
単数形複数形の違いを丁寧に訳してなければ重要な意味が日本語訳では消えてるかもね
・Packages: A Cargo feature that lets you build, test, and share crates
・Crates: A tree of modules that produces a library or executable
・Modules and use: Let you control the organization, scope, and privacy of paths
・Paths: A way of naming an item, such as a struct, function, or module
7章の最初のページ見ればそれぞれどういう関係なのか一目瞭然
単数形複数形の違いを丁寧に訳してなければ重要な意味が日本語訳では消えてるかもね
・Packages: A Cargo feature that lets you build, test, and share crates
・Crates: A tree of modules that produces a library or executable
・Modules and use: Let you control the organization, scope, and privacy of paths
・Paths: A way of naming an item, such as a struct, function, or module
213デフォルトの名無しさん
2023/03/11(土) 17:28:34.44ID:/GMTezZ0214デフォルトの名無しさん
2023/03/11(土) 18:00:56.32ID:bkYlWMhE215デフォルトの名無しさん
2023/03/11(土) 19:45:03.63ID:+PZMhSrI 規格がないので二流感が拭えない
かと言ってC++が登場したときのように
今はプログラミング言語の実装が
いくつも出てくる状況でもないのかな?
かと言ってC++が登場したときのように
今はプログラミング言語の実装が
いくつも出てくる状況でもないのかな?
216デフォルトの名無しさん
2023/03/11(土) 22:12:18.37ID:GtLfWJGz >>215
C++での混乱と失敗を繰り返さないことが重要
C++での混乱と失敗を繰り返さないことが重要
217デフォルトの名無しさん
2023/03/11(土) 22:59:17.84ID:+PZMhSrI 実装は複数あった方がメリットが大きいよ
218デフォルトの名無しさん
2023/03/11(土) 23:05:20.16ID:2/rFH0pr219デフォルトの名無しさん
2023/03/11(土) 23:19:14.88ID:ChsfUoNW 実装が複数あることはメリットもあるがデメリットも多くユーザを混乱させてきた
一方で言語仕様とその実現方法が確定して枯れた時は複数実装のメリットが上回る
Rustについては更なる理想の言語に向けて公開todoリストも多くまだ発展段階なので複数実装は向いていない
もちろん従来的な使い方ならば現状のRustで既に十分に利用できる
一方で言語仕様とその実現方法が確定して枯れた時は複数実装のメリットが上回る
Rustについては更なる理想の言語に向けて公開todoリストも多くまだ発展段階なので複数実装は向いていない
もちろん従来的な使い方ならば現状のRustで既に十分に利用できる
220デフォルトの名無しさん
2023/03/11(土) 23:24:45.49ID:uRw385pv >>218
ユーザーフォーラムのしかもたった二人の回答を「公式コミュニティの見解」にしてしまうオツムの人達だからさ一般常識があると思ったら大間違い
ユーザーフォーラムのしかもたった二人の回答を「公式コミュニティの見解」にしてしまうオツムの人達だからさ一般常識があると思ったら大間違い
221デフォルトの名無しさん
2023/03/11(土) 23:30:52.30ID:+PZMhSrI222デフォルトの名無しさん
2023/03/11(土) 23:34:33.13ID:2T5UBlcf223デフォルトの名無しさん
2023/03/11(土) 23:39:25.95ID:ChsfUoNW Rustは公式が提供するcargoやrust-analyzerで開発環境は十分だもんな
もちろんrust-analyzerはLSPなのでVScodeなどの既存の統合開発環境で使える
もちろんrust-analyzerはLSPなのでVScodeなどの既存の統合開発環境で使える
224デフォルトの名無しさん
2023/03/11(土) 23:51:17.37ID:3ENT9RfU225デフォルトの名無しさん
2023/03/12(日) 06:07:53.91ID:b0Zzr0Fl >>212
一目瞭然ってことはないよ。
わかってるやつにはわかるっていうレベル。
特にmodule and use以下で戸惑うと思うよ。
Rustはプログラミング言語としてはCとかで神経使っていたところで楽させてくれる感じだけど、新人を呼び込むにはドキュメントがまずいかなあ。
一目瞭然ってことはないよ。
わかってるやつにはわかるっていうレベル。
特にmodule and use以下で戸惑うと思うよ。
Rustはプログラミング言語としてはCとかで神経使っていたところで楽させてくれる感じだけど、新人を呼び込むにはドキュメントがまずいかなあ。
226デフォルトの名無しさん
2023/03/12(日) 09:19:37.91ID:XJpeOWKz 前にもこれどこかで同じレスしたことあるけど
Javascriptってドキュメントすっごい充実してるよな
2000年以前はHTMLとJavascript一緒になった解説本の最後の方に申し訳程度に乗ってたくらいで
あとは某とほほサイト見るくらいしかなかったけど
最近ちらっとみたらすごいのな
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array/find
これは適当にクリックした特に選んでない一例だけど
ちょっと過剰なくらい説明と例が乗っててスゴイと思ったわ
Rustにここまでを要求したほうがいいとも思わんけど
いつかみんなが使う言語になったときはそうなってるのかもしれん
Javascriptってドキュメントすっごい充実してるよな
2000年以前はHTMLとJavascript一緒になった解説本の最後の方に申し訳程度に乗ってたくらいで
あとは某とほほサイト見るくらいしかなかったけど
最近ちらっとみたらすごいのな
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array/find
これは適当にクリックした特に選んでない一例だけど
ちょっと過剰なくらい説明と例が乗っててスゴイと思ったわ
Rustにここまでを要求したほうがいいとも思わんけど
いつかみんなが使う言語になったときはそうなってるのかもしれん
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【速報】広末涼子 芸能活動休止を発表「双極性感情障害」公表 [Ailuropoda melanoleuca★]
- 【コメ】JA全農、卸売業者への備蓄米出荷はまだ29%…落札した全量を売り渡すのは早くとも7月以降 約6万トン出荷見通し立たず ★2 [ぐれ★]
- 宮崎出身芸人、東京のチキン南蛮に不満「8割ニセモノ。揚げた唐揚げの上にタルタルのっけてるだけ。本当のチキン南蛮ではない」 [muffin★]
- 【中高年シングル女性】就職氷河期世代の単身女性に警鐘「低年金で保証人もいない」“おひとりさま”老後のリアルな声 [ぐれ★]
- フジテレビ、「ハラスメント根絶宣言」を発表 「しない」「させない」「見過ごさない」…全社員に署名を要求 [muffin★]
- 【社会】誰も知らない42歳の死…現役世代の孤独死 就職氷河期世代★2 [七波羅探題★]
- 【観光立国】安倍晋三 「訪日外国人を2030年に6000万人に増やす」 [147827849]
- 【NTV】君たちはどう生きるか★1【金曜ロードショー】
- タバコ違法化、日本人の9割が賛成 [384232311]
- 広末涼子「双極性感情障害」公表、活動休止 [564869214]
- 【NTV】ワイらはなぜ死なないのか★2【金曜ロードショー】
- 【日テレ】君たちはどう生きるか実況 [289416686]