結局C++とRustってどっちが良いの?
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2023/02/25(土) 09:49:46.74ID:VRyB88xR C++の色々配慮してめんどくさい感じは好きだけど、実務になったらメモリ安全性とか考えて今後Rustに変わっていくんかな?
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にここまでを要求したほうがいいとも思わんけど
いつかみんなが使う言語になったときはそうなってるのかもしれん
227デフォルトの名無しさん
2023/03/13(月) 09:18:51.45ID:65XUJIc/ udemyからrust勉強すれば良いと思う
228デフォルトの名無しさん
2023/03/13(月) 11:30:57.14ID:QpsvkUdl C++は既に意味不明な域に来ていて、誰も新規に習得しようとはしないだろう
229デフォルトの名無しさん
2023/03/13(月) 12:04:07.60ID:wwEuDEVq >>226
ほんと。自分もノーマークだったけどすごいね。
Rustも「英文ドキュメント読め」みたいに突っぱねいようにしなくちゃね。
Rustのサイトで各国語にトランスレートされたもののリンク先の更新日付を眺めてると、中国語版に負けてる感じだね。
ほんと。自分もノーマークだったけどすごいね。
Rustも「英文ドキュメント読め」みたいに突っぱねいようにしなくちゃね。
Rustのサイトで各国語にトランスレートされたもののリンク先の更新日付を眺めてると、中国語版に負けてる感じだね。
230デフォルトの名無しさん
2023/03/13(月) 12:11:38.79ID:CJ8zcgHs 中国なんてどうでもいい
231デフォルトの名無しさん
2023/03/13(月) 12:13:17.03ID:bP2+YJD9 MDNもMDNで英語読まないとやってられない記事はちょいちょいあるけどね
CSSのpositionとか
CSSのpositionとか
232デフォルトの名無しさん
2023/03/13(月) 14:43:06.35ID:wwEuDEVq 少なくとも手解き用として、TheBookの日本語版ではねえ。
で、メモリ安全ってことだけをひたすらリピートするだけでは、新しい人は来ないでくださいと言ってるようなもん。
まあ、その方がチンケな優越感に浸れて良いのかもしれないけど。
で、メモリ安全ってことだけをひたすらリピートするだけでは、新しい人は来ないでくださいと言ってるようなもん。
まあ、その方がチンケな優越感に浸れて良いのかもしれないけど。
233デフォルトの名無しさん
2023/03/13(月) 15:10:59.37ID:cwbZasxH >>231
Wasmのところも日本語版は古い情報のままなので肝心なAPIが足りていなくて英語版を見ないと致命的
リンク先が訳せてなくて英語版を指しているのは次善策としてまだマシ
英語版
https://developer.mozilla.org/en-US/docs/WebAssembly#api_reference
日本語版
https://developer.mozilla.org/ja/docs/WebAssembly#api_%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9
Wasmのところも日本語版は古い情報のままなので肝心なAPIが足りていなくて英語版を見ないと致命的
リンク先が訳せてなくて英語版を指しているのは次善策としてまだマシ
英語版
https://developer.mozilla.org/en-US/docs/WebAssembly#api_reference
日本語版
https://developer.mozilla.org/ja/docs/WebAssembly#api_%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9
234デフォルトの名無しさん
2023/03/13(月) 15:27:59.03ID:kyo182dJ メモリ安全ってのは個人が始める動機としては弱い
スマートポインタで充分なんだし
チームで書くときにメモリ管理が怪しい奴が混ざり得るときに
Rustで書くことを強制されるってシチュエーションはありえるかもね
スマートポインタで充分なんだし
チームで書くときにメモリ管理が怪しい奴が混ざり得るときに
Rustで書くことを強制されるってシチュエーションはありえるかもね
235デフォルトの名無しさん
2023/03/13(月) 15:42:51.26ID:sbzZb6rB236デフォルトの名無しさん
2023/03/13(月) 15:54:03.52ID:kyo182dJ >>235
>Rustは可読性もよいし開発効率もよく
そんなのは人によるとしか言えない
所有権に割と馴染みがあるC++プログラマはともかく
他の言語からだと文法の解離に抵抗はあるだろうね
これからプログラミングを始めようという人は
特にRustだからという抵抗はないだろう
実績が増えればRustからって人が増えるかもね
>Rustは可読性もよいし開発効率もよく
そんなのは人によるとしか言えない
所有権に割と馴染みがあるC++プログラマはともかく
他の言語からだと文法の解離に抵抗はあるだろうね
これからプログラミングを始めようという人は
特にRustだからという抵抗はないだろう
実績が増えればRustからって人が増えるかもね
237デフォルトの名無しさん
2023/03/13(月) 16:03:04.23ID:UI2Ct8M3 C++はコンパイラ買う時にデバッグツールもあって、そこでメモリリーク含む大体の解析が出来ることが多いから、今の所メモリ安全で困ったことはないな。
それよりもRustはまだ新しいから、何かしら思わぬ脆弱性が潜んでいることも考えて、まだ弄りながら様子見って感じ
それよりもRustはまだ新しいから、何かしら思わぬ脆弱性が潜んでいることも考えて、まだ弄りながら様子見って感じ
238デフォルトの名無しさん
2023/03/13(月) 18:05:23.37ID:QpsvkUdl C++の有料コンパイラってそんなすげえのか?
239デフォルトの名無しさん
2023/03/13(月) 18:37:31.12ID:cwbZasxH240デフォルトの名無しさん
2023/03/13(月) 19:04:23.67ID:sbzZb6rB >>237
デバッグツールを持ち出さなくてもRustはコンパイル時点でほとんど解決する点で圧倒的に優れている
Rustはメモリ安全性だけでなくデータ競合がないことがコンパイル時点で保証される
ポインタ以外の汎用的なヌル安全とエラー処理忘れ防止もRustは標準ライブラリ全体でOptionとResult利用により保証される
C++と比べて開発効率が段違いに良くなる
デバッグツールを持ち出さなくてもRustはコンパイル時点でほとんど解決する点で圧倒的に優れている
Rustはメモリ安全性だけでなくデータ競合がないことがコンパイル時点で保証される
ポインタ以外の汎用的なヌル安全とエラー処理忘れ防止もRustは標準ライブラリ全体でOptionとResult利用により保証される
C++と比べて開発効率が段違いに良くなる
241デフォルトの名無しさん
2023/03/13(月) 19:17:45.07ID:9XZC5W3h C/C++のメモリリークと隣合わせなスリルがいいんだよ
Rustなんて補助輪付きの言語はプロのプログラマッには温すぎる
コーディングに自信がない奴や素人向けだな、Rustは
Rustなんて補助輪付きの言語はプロのプログラマッには温すぎる
コーディングに自信がない奴や素人向けだな、Rustは
242デフォルトの名無しさん
2023/03/13(月) 19:49:16.47ID:zhi7FkgJ >>241
C/C++はプログラマとして成長させてくれるよね
C/C++はプログラマとして成長させてくれるよね
243デフォルトの名無しさん
2023/03/13(月) 19:51:01.09ID:cwbZasxH >>241
C++はデバッグ時間のムダ
C++はデバッグ時間のムダ
244デフォルトの名無しさん
2023/03/13(月) 20:02:48.32ID:lNJwESa5 別にスマートポインタでええがな
245デフォルトの名無しさん
2023/03/13(月) 20:04:22.18ID:lNJwESa5 Rustは規格が出てからだな
246デフォルトの名無しさん
2023/03/13(月) 20:07:14.22ID:4NzLTP/2 マ板でやれバカども
247デフォルトの名無しさん
2023/03/13(月) 20:22:48.71ID:4VuAJC20248デフォルトの名無しさん
2023/03/13(月) 20:39:22.66ID:RfKK3GLn トラ枝 5月号 Rust 特集
249デフォルトの名無しさん
2023/03/13(月) 20:45:38.95ID:sbzZb6rB250デフォルトの名無しさん
2023/03/13(月) 21:04:50.75ID:kyo182dJ251デフォルトの名無しさん
2023/03/13(月) 21:41:54.90ID:Lx/25M/K252デフォルトの名無しさん
2023/03/13(月) 21:46:41.78ID:kyo182dJ >>251
他は? GCしか書けない人なのかな?
他は? GCしか書けない人なのかな?
253デフォルトの名無しさん
2023/03/13(月) 22:00:51.65ID:sbzZb6rB254デフォルトの名無しさん
2023/03/13(月) 22:16:19.15ID:P8sbSRo2 絵に描いたような負け犬のセリフw
255デフォルトの名無しさん
2023/03/13(月) 22:35:49.32ID:kyo182dJ256デフォルトの名無しさん
2023/03/13(月) 22:38:39.16ID:Lx/25M/K >>252
C++もRustもGC無いぞ
C++もRustもGC無いぞ
257デフォルトの名無しさん
2023/03/13(月) 22:43:20.72ID:kyo182dJ >>256
んなことぁ誰でも分かってる
んなことぁ誰でも分かってる
258デフォルトの名無しさん
2023/03/13(月) 23:26:56.50ID:sbzZb6rB259デフォルトの名無しさん
2023/03/13(月) 23:40:00.84ID:kyo182dJ260デフォルトの名無しさん
2023/03/13(月) 23:52:11.42ID:9+eE28f9 >>244
C++スマートポインタは
unique_ptrは使わずともRustでは標準で全て自動解放されるよ
shared_ptrはRustではスレッド内で使えるRcとスレッド間で使えるArcに分かれていて効率的だよ
C++スマートポインタは
unique_ptrは使わずともRustでは標準で全て自動解放されるよ
shared_ptrはRustではスレッド内で使えるRcとスレッド間で使えるArcに分かれていて効率的だよ
261デフォルトの名無しさん
2023/03/14(火) 00:08:40.65ID:nARWep6y >>260
別にunique_ptrやshared_ptrでええがな
難しくないよ
>shared_ptrはRustではスレッド内で使えるRcとスレッド間で使えるArcに分かれていて効率的だよ
効率的をも少し詳しく!
別にunique_ptrやshared_ptrでええがな
難しくないよ
>shared_ptrはRustではスレッド内で使えるRcとスレッド間で使えるArcに分かれていて効率的だよ
効率的をも少し詳しく!
262デフォルトの名無しさん
2023/03/14(火) 00:17:28.43ID:g2aa4i95 C/C++でスレッドセーフな並列処理を作ろうと思ったら一苦労だけど、Rustだとそうでもないんかな。
263デフォルトの名無しさん
2023/03/14(火) 00:51:48.86ID:mRkuEIyQ264デフォルトの名無しさん
2023/03/14(火) 00:58:40.53ID:Ff/IlIXh うわっw
排他制御の意味も知らないのかよこいつw
排他制御の意味も知らないのかよこいつw
265デフォルトの名無しさん
2023/03/14(火) 01:09:54.31ID:gRogmLJe shared_ptrは排他制御してリファレンスカウンタの増減を行うからスレッドセーフ
その代わり重い
その代わり重い
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- JA全農が「新おこめ券」…来年9月末の有効期限を新設、必要経費のみ上乗せ [蚤の市★]
- 1人3千円の食品高騰対策、何に使える? あいまいなまま衆院通過 [蚤の市★]
- 「働いて働いて」の流行語大賞に懸念 「言葉が独り歩き」 過労自殺遺族 [尺アジ★]
- 車のボンネットに乗せて走行し振り落とした殺人未遂容疑で逮捕 中国籍のタクシー運転手を不起訴処分 [七波羅探題★]
- ゆたぼん 二重手術を報告「めちゃくちゃ気に入っています」 [muffin★]
- 国民 居住目的でない住宅所有者に「空室税」課せる法案を提出 ★3 [少考さん★]
- 【実況】博衣こよりのえちえちダンガンロンパ2🧪★2
- 【実況】博衣こよりのえちえちダンガンロンパ2🧪★3
- 官僚「台湾有事についての質問か、『政府として逐一答えない』と…(カタカタカタ)」高市「私1人で答弁できるわよ!」 [972432215]
- 🏡
- 【悲報】高市早苗、被災民に対し「自分の命くらいは自分で守ってくださいね」と切り捨てし大炎上 [339712612]
- 雑談しよう!!
