公式
https://www.rust-lang.org/
https://blog.rust-lang.org/
https://github.com/rust-lang/rust
Web上の実行環境
https://play.rust-lang.org
日本語の情報
https://rust-jp.rs/
※Rustを学びたい人はまず最初に公式のThe Bookを読むこと
https://doc.rust-lang.org/book/
※Rustのasyncについて知りたければ「async-book」は必読
https://rust-lang.github.io/async-book/
※C++との比較は専用スレへ
C++ vs Rust
https://mevius.5ch.net/test/read.cgi/tech/1619219089/
前スレ
Rust part11
https://mevius.5ch.net/test/read.cgi/tech/1623857052/
Rust part12
■ このスレッドは過去ログ倉庫に格納されています
2021/08/24(火) 22:55:27.78ID:972JwtmU
743デフォルトの名無しさん
2021/10/15(金) 22:06:00.13ID:PoOS8yLC744デフォルトの名無しさん
2021/10/15(金) 22:07:41.72ID:OlLYCHFC >>741
うーんまぁ日本語で論理学考える事なんてあんましないから間違えてるのかもしれんが
あるアルゴリズム、ある整数等々で俺はある集合(=アルゴリズム全体で構成される集合)の元の任意性を表してんたんだけどな(´・ω・`)
うーんまぁ日本語で論理学考える事なんてあんましないから間違えてるのかもしれんが
あるアルゴリズム、ある整数等々で俺はある集合(=アルゴリズム全体で構成される集合)の元の任意性を表してんたんだけどな(´・ω・`)
745デフォルトの名無しさん
2021/10/15(金) 22:11:36.31ID:wjdlJ99Z746デフォルトの名無しさん
2021/10/15(金) 22:18:09.07ID:JTaIEN+o747デフォルトの名無しさん
2021/10/15(金) 22:39:44.83ID:XGfxQXO+ >>740
C/C++に限界を感じたGAFAMたち大手IT企業がRustに結集
特定の言語がIT業界を挙げて支持されるのは初めて
プログラミング言語「Rust」のための「Rust Foundation」設立 -- AWS(Amazon)、Microsoft、Google、Mozilla、Huaweiが創設
https://japan.zdnet.com/article/35166267/
Facebookが「Rust Foundation」に参加
https://japan.zdnet.com/article/35170192/
C/C++に限界を感じたGAFAMたち大手IT企業がRustに結集
特定の言語がIT業界を挙げて支持されるのは初めて
プログラミング言語「Rust」のための「Rust Foundation」設立 -- AWS(Amazon)、Microsoft、Google、Mozilla、Huaweiが創設
https://japan.zdnet.com/article/35166267/
Facebookが「Rust Foundation」に参加
https://japan.zdnet.com/article/35170192/
748デフォルトの名無しさん
2021/10/16(土) 00:08:25.70ID:dPfgeqZY >>717
それどこの0か100しか無い世界?
それどこの0か100しか無い世界?
749デフォルトの名無しさん
2021/10/16(土) 00:34:25.94ID:bSvFIUA3 C++はこれで鼻から悪魔出るから
vector<int> hoge {0};
int& fuga = hoge[0];
for (size_t i = 0; i < 5; ++i) {
hoge.push_back(i);
}
cout << fuga;
}
nsafeがどうたらぬ気にしてRustはこういうのが防げるってだけでもそれなりの価値はある
ちなみにunsafeブロックは本当に慎重に作らないと、unsafeの外部をちょっといじっただけで鼻から悪魔が出たりする
https://doc.rust-jp.rs/rust-nomicon-ja/working-with-unsafe.html
unsafeブロック外のidx < arr.len()をidx <= arr.len()にしただけで死ぬ
vector<int> hoge {0};
int& fuga = hoge[0];
for (size_t i = 0; i < 5; ++i) {
hoge.push_back(i);
}
cout << fuga;
}
nsafeがどうたらぬ気にしてRustはこういうのが防げるってだけでもそれなりの価値はある
ちなみにunsafeブロックは本当に慎重に作らないと、unsafeの外部をちょっといじっただけで鼻から悪魔が出たりする
https://doc.rust-jp.rs/rust-nomicon-ja/working-with-unsafe.html
unsafeブロック外のidx < arr.len()をidx <= arr.len()にしただけで死ぬ
750デフォルトの名無しさん
2021/10/16(土) 03:36:57.11ID:I/G6evYm unsafeなコードが1行でもあったらRustで書く意味ないと主張する人が定期的に現れるのはなぜなのか
751デフォルトの名無しさん
2021/10/16(土) 03:54:24.52ID:0owCAudu >>750
C++が劣ることを認めたくない人が「unsafeがあるならC++と同じだからRustの存在意義はない。」という間違った主張をしてるみたい
C++が劣ることを認めたくない人が「unsafeがあるならC++と同じだからRustの存在意義はない。」という間違った主張をしてるみたい
752デフォルトの名無しさん
2021/10/16(土) 04:04:47.91ID:4kIP2zxZ C++との対決は別の専用スレがあるのでそっち使ってくださいね
753デフォルトの名無しさん
2021/10/16(土) 04:11:16.75ID:0owCAudu >>752
同感
C++な人はここでやらずに
向こうの専用スレでやってほしい
C++ vs Rust
https://mevius.5ch.net/test/read.cgi/tech/1619219089/
同感
C++な人はここでやらずに
向こうの専用スレでやってほしい
C++ vs Rust
https://mevius.5ch.net/test/read.cgi/tech/1619219089/
754いつもの光景
2021/10/16(土) 07:19:55.59ID:VQLpYdr0 Vec型の質問に高卒が答える
↓
当然の如く高卒がバカにされる
↓
高卒発狂
↓
パソコンがどうの、C++がどうの、いつもの大先生問答に発展
↓
当然の如く高卒がバカにされる
↓
高卒発狂
↓
パソコンがどうの、C++がどうの、いつもの大先生問答に発展
755デフォルトの名無しさん
2021/10/16(土) 09:07:15.06ID:GnSu5gfs756デフォルトの名無しさん
2021/10/16(土) 09:21:09.42ID:wH7tzS3T >>755
fugaがhogeのメモリ参照を取った後にhoge.push_back()でデータを追加している。
データ追加ではhogeの内部で確保していたメモリ領域が足りなくなると
新しいアドレスに確保しなおす(元の領域は開放する)ので、
fugaが指しているアドレスはアクセスしてはいけない領域になってる。(ダングリングポインタ)
その状態でcoutでfugaを使ってるから。
fugaがhogeのメモリ参照を取った後にhoge.push_back()でデータを追加している。
データ追加ではhogeの内部で確保していたメモリ領域が足りなくなると
新しいアドレスに確保しなおす(元の領域は開放する)ので、
fugaが指しているアドレスはアクセスしてはいけない領域になってる。(ダングリングポインタ)
その状態でcoutでfugaを使ってるから。
757デフォルトの名無しさん
2021/10/16(土) 09:48:04.61ID:GnSu5gfs758デフォルトの名無しさん
2021/10/16(土) 10:29:54.02ID:N8k1BZc2 unsafeなtraitとそうでない通常のtraitってどう違うんでしょうか
implにunsafeって書かないといけない点以外で
implにunsafeって書かないといけない点以外で
759デフォルトの名無しさん
2021/10/16(土) 12:13:05.40ID:MVC0A82Z バカは実際にバグが起きるかどうかを考えてなくて
バグを誰かのせいにできるかどうかしか考えてないんだろ。
だからこんなしょーもないものが持て囃されるってわけだ。
バグを誰かのせいにできるかどうかしか考えてないんだろ。
だからこんなしょーもないものが持て囃されるってわけだ。
760デフォルトの名無しさん
2021/10/16(土) 13:08:52.57ID:xy6guhnI 東アジア圏は原因の究明と再発防止より責任の追及と処罰を優先する文化だからな
気をつければ問題ないみたいな精神論が平気で唱えられるのも同様
システム工学先進国のアメリカあたりと比べたらかなり後れている
気をつければ問題ないみたいな精神論が平気で唱えられるのも同様
システム工学先進国のアメリカあたりと比べたらかなり後れている
761デフォルトの名無しさん
2021/10/16(土) 20:42:26.55ID:jYqji68p それは東アジア人の性質ってか東朝鮮の性質だろ(´・ω・`)
762デフォルトの名無しさん
2021/10/17(日) 12:48:28.83ID:5UKSiAtl CargoでC/C++のコードをビルドするときにヘッダファイル等の依存関係って何処まで面倒を見てくれるんだろ?
自分で全部記述しないとダメなのか、自動的に追跡してくれるのか・・・
ググってもCのコードも一緒にビルドできます以上の情報が見つからん
自分で全部記述しないとダメなのか、自動的に追跡してくれるのか・・・
ググってもCのコードも一緒にビルドできます以上の情報が見つからん
763デフォルトの名無しさん
2021/10/18(月) 10:43:24.73ID:oPyph5kC 面倒見るわけねーじゃん。
ヘッダーファイル依存をまともに解決しようと思うと、ビルド速度に影響がモロに出る。
解決するには暗黙のキャッシュ使うことになって問題が起きやすくなる。
ヘッダーファイル依存をまともに解決しようと思うと、ビルド速度に影響がモロに出る。
解決するには暗黙のキャッシュ使うことになって問題が起きやすくなる。
764デフォルトの名無しさん
2021/10/18(月) 11:14:38.10ID:jL9+j5XP >>762
一番基本的なやり方だとcc crate使うことになると思うけど
このやり方だとヘッダやライブラリは自分で指定する必要ある
使ったことないけどpkg_config crateとか使えば多少は楽になるのかもしれない
C/C++コードが別プロジェクトからの流用ならそのプロジェクトのビルドツールに乗っかるのが楽かも
例えば cmake や autocfg/autotools といった crate はあるみたい
一番基本的なやり方だとcc crate使うことになると思うけど
このやり方だとヘッダやライブラリは自分で指定する必要ある
使ったことないけどpkg_config crateとか使えば多少は楽になるのかもしれない
C/C++コードが別プロジェクトからの流用ならそのプロジェクトのビルドツールに乗っかるのが楽かも
例えば cmake や autocfg/autotools といった crate はあるみたい
765デフォルトの名無しさん
2021/10/18(月) 12:25:26.72ID:cow76Y8p >>749
vectorじゃなくて、listを使うと大丈夫。
C言語は、もともと、linked list が代名詞の様な言語。
それを引き継いだC++もstd::listこそが主役。
ところが、stroustrupがvectorを推奨するから混乱してる。
vectorじゃなくて、listを使うと大丈夫。
C言語は、もともと、linked list が代名詞の様な言語。
それを引き継いだC++もstd::listこそが主役。
ところが、stroustrupがvectorを推奨するから混乱してる。
766デフォルトの名無しさん
2021/10/18(月) 12:39:56.60ID:jL9+j5XP767デフォルトの名無しさん
2021/10/18(月) 15:20:57.34ID:gU1bKDav768デフォルトの名無しさん
2021/10/18(月) 15:29:58.26ID:+iNX7XVA listそんな使うことないやろ。挿入と削除が早いだけやんけ。何が言いたかったんだか。
769デフォルトの名無しさん
2021/10/18(月) 21:23:43.42ID:292fwFlx 確かにlistはあまり使った記憶がないなー
キャッシュのミスヒットを考えると、
vectorでリロケートした方が速い場合もあるし
キャッシュのミスヒットを考えると、
vectorでリロケートした方が速い場合もあるし
770デフォルトの名無しさん
2021/10/18(月) 23:37:04.31ID:Qq+Ry0m8 listは敵キャラの弾幕なんかの座標管理なんかに使える
771デフォルトの名無しさん
2021/10/19(火) 12:19:23.96ID:5XPa2/LH ほぼcだよねこれ。
https://github.com/Rust-for-Linux/linux
https://github.com/Rust-for-Linux/linux
772デフォルトの名無しさん
2021/10/19(火) 12:22:25.90ID:GgDBkr4o (Cで書かれてるLinuxカーネルのフォークなんだから当たり前やろ)
773デフォルトの名無しさん
2021/10/19(火) 15:27:28.34ID:0LtRxxZs そもそも全部書き直すならLinuxを冠する意味が・・・
774デフォルトの名無しさん
2021/10/19(火) 16:06:41.74ID:9axoCOPN 何で?
(全部書き直すなど誰も言ってないけど理由を聞いてみたい)
(全部書き直すなど誰も言ってないけど理由を聞いてみたい)
775デフォルトの名無しさん
2021/10/19(火) 16:12:52.85ID:473S9WY0 うん、それ、RustでLinuxを作り直してるんじゃなくて、元々のLinuxをベースにして、新しい機能をRustで開発しようとしているプロジェクトでしょ
776デフォルトの名無しさん
2021/10/19(火) 18:28:24.83ID:lJqU9SJa 嘘つき
777デフォルトの名無しさん
2021/10/19(火) 18:57:21.27ID:C9DkQou5 日本語不自由どころか
頭が不自由だと拝察します
頭が不自由だと拝察します
778デフォルトの名無しさん
2021/10/19(火) 18:58:18.97ID:bh+xrreW panicは無事無くなったんかな。
779デフォルトの名無しさん
2021/10/19(火) 19:07:22.39ID:0VPrblkh 彡 ⌒ ミ
(´・ω・`) 頭が不自由という言葉が引っかかったので飛んできました
(´・ω・`) 頭が不自由という言葉が引っかかったので飛んできました
780デフォルトの名無しさん
2021/10/19(火) 19:29:57.38ID:k3wLx80J 彡 ⌒ ミ
(´・ω・`) 飛ぶとかカッパの風上にも置けんな、泳げや
(´・ω・`) 飛ぶとかカッパの風上にも置けんな、泳げや
781デフォルトの名無しさん
2021/10/19(火) 20:33:01.03ID:q+n6NKoj >>778
アロケーターのpanicのことなら7月に出たパッチでなくなったみたい
https://lore.kernel.org/lkml/20210704202756.29107-1-ojeda@kernel.org/
アロケーターのpanicのことなら7月に出たパッチでなくなったみたい
https://lore.kernel.org/lkml/20210704202756.29107-1-ojeda@kernel.org/
782デフォルトの名無しさん
2021/10/19(火) 20:49:57.64ID:XSR/7M6W C++erはほんとゴシップ談義が好きやな
Rustスレにまでそのカルチャー持ち込まんで欲しいわ
Rustスレにまでそのカルチャー持ち込まんで欲しいわ
783デフォルトの名無しさん
2021/10/19(火) 21:31:52.96ID:3gMaYVXy ペチパーと大差ないからな
784デフォルトの名無しさん
2021/10/20(水) 10:48:38.28ID:kKtRU0ug ターゲットも開発者も丸かぶりだからしゃあない
785デフォルトの名無しさん
2021/10/20(水) 13:23:40.75ID:nZj/SCQk で、非同期ライブラリはどれが標準になるのよ?
786デフォルトの名無しさん
2021/10/20(水) 13:24:10.28ID:nZj/SCQk で、非同期ライブラリはどれが標準になるのよ?
787デフォルトの名無しさん
2021/10/20(水) 13:29:36.31ID:4F9a+p6K tokio
788デフォルトの名無しさん
2021/10/20(水) 16:05:21.56ID:Ojn1Tksn std
789デフォルトの名無しさん
2021/10/20(水) 18:46:14.43ID:2vbfBLJv どっちでもいいけど、インターフェースは統一して欲しいな。
今のところtokioか優勢みたいね。
今のところtokioか優勢みたいね。
790デフォルトの名無しさん
2021/10/20(水) 21:12:16.85ID:rAmGIrdk std::sync::mpsc ってなんで send がノンブロッキングなんだろうなぁ。
791デフォルトの名無しさん
2021/10/20(水) 23:01:04.88ID:Px+syONf ブロッキングなSenderがほしいならchannel_sync使うんだべさ
792デフォルトの名無しさん
2021/10/20(水) 23:32:51.88ID:4F9a+p6K ブロッキングとかノンブロッキングとか何度か解説読んだ気がするけど意味がわからないわ
793デフォルトの名無しさん
2021/10/21(木) 00:05:01.15ID:5bux1k1I 迷惑な香具師だな
794デフォルトの名無しさん
2021/10/21(木) 02:48:53.14ID:rcBT1TlJ おまいら mut のことを何て呼んでる?
俺は心の中でムットと呼んでいる
俺は心の中でムットと呼んでいる
795デフォルトの名無しさん
2021/10/21(木) 02:53:24.97ID:4380fmPV ミュータブルの略なので……
796デフォルトの名無しさん
2021/10/21(木) 03:47:37.11ID:mWga6xPa インテジャーはイント
キャラクターはチャー
なんだから、ムットでも何でも好きに呼べばよろし
ちなみに俺は心の中でムトゥと踊る^H^H呼んでる
キャラクターはチャー
なんだから、ムットでも何でも好きに呼べばよろし
ちなみに俺は心の中でムトゥと踊る^H^H呼んでる
797デフォルトの名無しさん
2021/10/21(木) 08:50:47.46ID:rE4toNa0 マッだろjk
798デフォルトの名無しさん
2021/10/21(木) 08:54:53.70ID:NOaHdDiV マットな
799デフォルトの名無しさん
2021/10/21(木) 11:02:50.76ID:s+STdMnX cv::Mat は?
800デフォルトの名無しさん
2021/10/21(木) 13:03:22.69ID:rHBxJh+b >>799
メアット
メアット
801デフォルトの名無しさん
2021/10/21(木) 13:17:43.38ID:rE4toNa0 メッ
802デフォルトの名無しさん
2021/10/21(木) 15:58:29.41ID:X5IbXF0A そんなくだらない疑問より誰か>>758に答えてくれませんでしょうか
803デフォルトの名無しさん
2021/10/21(木) 16:23:52.35ID:iSzsEmw9804デフォルトの名無しさん
2021/10/21(木) 16:35:52.56ID:wNducfW7 うんこすれっど
805デフォルトの名無しさん
2021/10/21(木) 19:56:22.82ID:wPmlSLSw806デフォルトの名無しさん
2021/10/23(土) 00:54:23.67ID:pgS4Ah89 Rust 1.56.0 リリース!
https://tech-blog.optim.co.jp/entry/2021/10/22/080000
https://tech-blog.optim.co.jp/entry/2021/10/22/080000
807デフォルトの名無しさん
2021/10/23(土) 01:45:44.26ID:BVy1/we8 let x = f64::cos(3.14);
みたいなのをf64::を省略して書きたいのですがどうすればよいですか?
use f64::cos; みたいなことはダメなようです
みたいなのをf64::を省略して書きたいのですがどうすればよいですか?
use f64::cos; みたいなことはダメなようです
808デフォルトの名無しさん
2021/10/23(土) 12:44:59.32ID:rv17aNSC 1回はf64と言わないと伝わらないので
let p = 3.14_f64;
let x = p.cos();
let p = 3.14_f64;
let x = p.cos();
809デフォルトの名無しさん
2021/10/23(土) 14:40:08.49ID:BVy1/we8 すみません、p.cos()の記法がなんかイヤでcos(p)みたいな記法をしたいってことでした
810デフォルトの名無しさん
2021/10/23(土) 18:48:04.65ID:/3ucisXu use f64
でだめなら無理じゃね
でだめなら無理じゃね
811デフォルトの名無しさん
2021/10/23(土) 18:52:41.89ID:qtW8jcI5 modなら確かにuseで省略できるけど
Box::newのBox::を省略したいみたいな話だしなあ
Box::newのBox::を省略したいみたいな話だしなあ
812デフォルトの名無しさん
2021/10/23(土) 18:55:33.73ID:qhVW7VS5 fn cos(x: f64) -> f64 {
f64::cos(x)
}
cos(3.14)
素直にp.cos()のほうがいいとは思う
f64::cos(x)
}
cos(3.14)
素直にp.cos()のほうがいいとは思う
813デフォルトの名無しさん
2021/10/23(土) 18:55:43.78ID:rVbtEKl1 let cos = f64::cos;
ならいける
https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=3c7b96b61723e46d132c9e0f2d46911b
ならいける
https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=3c7b96b61723e46d132c9e0f2d46911b
814デフォルトの名無しさん
2021/10/23(土) 19:43:20.47ID:2qA+vCFq fn main() {
println!("{}", cos(&32));
println!("{}", cos(&4.5))
}
trait GetDouble {
fn get_double(&self) -> f64;
}
fn cos(num: &dyn GetDouble) -> f64 {
f64::cos(num.get_double())
}
impl GetDouble for f64 {
fn get_double(&self) -> f64 {
*self
}
}
impl GetDouble for i32 {
fn get_double(&self) -> f64 {
f64::from(*self)
}
}
https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=cb0e5606622069ca33b0ef0971fa94b4
これでいこう
println!("{}", cos(&32));
println!("{}", cos(&4.5))
}
trait GetDouble {
fn get_double(&self) -> f64;
}
fn cos(num: &dyn GetDouble) -> f64 {
f64::cos(num.get_double())
}
impl GetDouble for f64 {
fn get_double(&self) -> f64 {
*self
}
}
impl GetDouble for i32 {
fn get_double(&self) -> f64 {
f64::from(*self)
}
}
https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=cb0e5606622069ca33b0ef0971fa94b4
これでいこう
815デフォルトの名無しさん
2021/10/23(土) 20:42:27.27ID:qhVW7VS5 ジェネリックにしたいならIntoでいいんじゃないかな
fn cos(x: impl Into<f64>) -> f64 {
f64::cos(x.into())
}
fn cos(x: impl Into<f64>) -> f64 {
f64::cos(x.into())
}
816デフォルトの名無しさん
2021/10/23(土) 20:49:05.66ID:+aPgOjd/ ジェネリックにしたいなら戻り値も引数に合わせたいのでは
num_traits::Float::cos など使うべき
https://docs.rs/num-traits/0.2.14/num_traits/float/trait.Float.html#tymethod.cos
num_traits::Float::cos など使うべき
https://docs.rs/num-traits/0.2.14/num_traits/float/trait.Float.html#tymethod.cos
817デフォルトの名無しさん
2021/10/24(日) 14:23:12.50ID:eQqSgpa/ 文法でrustとc++/cが似ているって言うやつは何をもって似ていると言っているだろう
ムーブセマンティクスがデフォだし、classはない、for文はイテレータだし、変数と関数の宣言の違いがはっきりしているし
何よりも型は前置じゃないし
ムーブセマンティクスがデフォだし、classはない、for文はイテレータだし、変数と関数の宣言の違いがはっきりしているし
何よりも型は前置じゃないし
818デフォルトの名無しさん
2021/10/24(日) 14:52:08.66ID:spG6Bthy C++とスクリプト言語ぐらいしか知らないんじゃないの?
819デフォルトの名無しさん
2021/10/24(日) 14:55:21.00ID:lUSERxty820デフォルトの名無しさん
2021/10/24(日) 14:56:01.04ID:lUSERxty C/C++というよりC familyに似せたと言っていたからちょっとニュアンスは違ってくるか
821デフォルトの名無しさん
2021/10/24(日) 15:13:22.96ID:eQqSgpa/ >>819
ソースをくれ
公式で構文を似せたとか言っていないと思うが
C++: references, RAII, smart pointers, move semantics, monomorphization, memory model
https://doc.rust-lang.org/reference/influences.html
ソースをくれ
公式で構文を似せたとか言っていないと思うが
C++: references, RAII, smart pointers, move semantics, monomorphization, memory model
https://doc.rust-lang.org/reference/influences.html
822デフォルトの名無しさん
2021/10/24(日) 15:37:41.12ID:IF6Ria+p 型名がintならc++ぽいというのはなんか違うんだよね
->とか<<<とか気持ち悪いことをし始めたらc++感が出てくる
->とか<<<とか気持ち悪いことをし始めたらc++感が出てくる
823デフォルトの名無しさん
2021/10/24(日) 15:38:30.82ID:lUSERxty >>821
http://web.archive.org/web/20150401014855/http://doc.rust-lang.org/nightly/intro.html
> you may find the syntax easier if you've used a "curly brace" programming language before, like C or JavaScript
確かに似せたとまでは言ってなかった
generics の angle bracket についてはコアメンバーが言及してるしC++の影響受けてると言って良いと思う
https://old.reddit.com/r/rust/comments/6l9mpe/minor_rant_i_wish_rust_had_gone_with_square/
http://web.archive.org/web/20150401014855/http://doc.rust-lang.org/nightly/intro.html
> you may find the syntax easier if you've used a "curly brace" programming language before, like C or JavaScript
確かに似せたとまでは言ってなかった
generics の angle bracket についてはコアメンバーが言及してるしC++の影響受けてると言って良いと思う
https://old.reddit.com/r/rust/comments/6l9mpe/minor_rant_i_wish_rust_had_gone_with_square/
824デフォルトの名無しさん
2021/10/24(日) 15:44:23.48ID:zP2CpnNP C++ iostream の << 演算子をパクらなかったのは、やっぱりあれが失敗作だからだよね
825デフォルトの名無しさん
2021/10/24(日) 15:46:45.70ID:IF6Ria+p826デフォルトの名無しさん
2021/10/24(日) 16:28:47.34ID:snvhdKAH よくある質問
RustはLLVMの上に構築されており、LLVMから見てClangっぽく見えるように頑張っているので、LLVMの
性能が向上したらRustの性能向上にもつながります。
https://prev.rust-lang.org/ja-JP/faq.html
RustはLLVMの上に構築されており、LLVMから見てClangっぽく見えるように頑張っているので、LLVMの
性能が向上したらRustの性能向上にもつながります。
https://prev.rust-lang.org/ja-JP/faq.html
827デフォルトの名無しさん
2021/10/24(日) 16:53:50.00ID:RHSebvs6 見た目はC++に似ているかも知れないけどML系列の方が近いんじゃない?
コンパイラがうるさいところとか「コンパイルが通れば大体動く」という感触はHaskellに近い
Vecに限定したくないなあとか関数に分けると型表記が面倒だなあとかはHaskellには無かったけど
コンパイラがうるさいところとか「コンパイルが通れば大体動く」という感触はHaskellに近い
Vecに限定したくないなあとか関数に分けると型表記が面倒だなあとかはHaskellには無かったけど
828デフォルトの名無しさん
2021/10/24(日) 17:08:25.09ID:6Jy8RsQO move semanticsとかcall by ref(not call by val in terms of ptr)とかは他のスクリプトではないの多いしな(rakuぐらいじゃね?)
糞みたいに面倒なbig fiveとか書いて来てるc++ちゃんと理解してる連中はrustの基本部分の理解はかなり早そう
記法は全然似てないてかerror handlerの部分とか全くの別物になってるしな
比較的若いgoとかktとかの方が書いててなんとなく似てる様な気もする(´・ω・`)
糞みたいに面倒なbig fiveとか書いて来てるc++ちゃんと理解してる連中はrustの基本部分の理解はかなり早そう
記法は全然似てないてかerror handlerの部分とか全くの別物になってるしな
比較的若いgoとかktとかの方が書いててなんとなく似てる様な気もする(´・ω・`)
829デフォルトの名無しさん
2021/10/24(日) 17:32:03.31ID:spG6Bthy もう長いことC++書いてないけど、考えれば考えるほどC++つらいわ。昔の自分はよく書いてたな
830デフォルトの名無しさん
2021/10/24(日) 17:59:25.66ID:tj18qr6S 本当はMLが好きな人がMozillaでC++書かされるのに疲れた結果生まれた言語なのでMLやC++の要素を併せ持つのは必然
831デフォルトの名無しさん
2021/10/24(日) 20:02:44.06ID:WKsYUqIz >>828
GoやKotlinに似てたらc系列ぐらいの雑さでしょ
GoやKotlinに似てたらc系列ぐらいの雑さでしょ
832デフォルトの名無しさん
2021/10/24(日) 21:17:24.37ID:8hWi5KuQ ChromeよりMozillaの方が性能良いことが、Rustを使うべきである証明になってるのでは?
833デフォルトの名無しさん
2021/10/24(日) 22:01:13.83ID:zrg/m0jp 流石に乱暴すぎる
834デフォルトの名無しさん
2021/10/24(日) 22:21:07.85ID:HVo+cqVA Chrome も Rust 使おうみたいな話なかったっけ
835デフォルトの名無しさん
2021/10/24(日) 22:21:39.42ID:spG6Bthy セルフホストされるまではOCamlで書かれてたので、Chromeより性能の良いMozillaを作ったRustを最初に実装したOCamlを使うべき証明になってるのでは?
836デフォルトの名無しさん
2021/10/24(日) 22:28:24.77ID:P21IrDZK chromeユーザーだけどfirefoxの方が性能いいってマジなんか?
837デフォルトの名無しさん
2021/10/24(日) 22:49:18.90ID:IF6Ria+p https://amethyst.rs/posts/amethyst--starting-fresh
アメジストが死んだ... エンダァァァァァァァァァァァァァイヤァァァァァァ
rustのゲームエンジンはbevy一強になるのか
アメジストが死んだ... エンダァァァァァァァァァァァァァイヤァァァァァァ
rustのゲームエンジンはbevy一強になるのか
838デフォルトの名無しさん
2021/10/24(日) 23:27:29.19ID:q0uVfP5C GUIのツールキットはよ(`・ω・´ )
839デフォルトの名無しさん
2021/10/24(日) 23:30:13.19ID:zP2CpnNP ちゃんとリリースまでたどり着いたrustのゲームってあるの?
840デフォルトの名無しさん
2021/10/24(日) 23:47:38.31ID:IF6Ria+p841デフォルトの名無しさん
2021/10/24(日) 23:55:17.08ID:J36a/Om9842デフォルトの名無しさん
2021/10/25(月) 00:09:38.02ID:dMwiicPm >>841
shellのリダイレクトに似てると思ったからだろ
shellのリダイレクトに似てると思ったからだろ
843デフォルトの名無しさん
2021/10/25(月) 00:21:35.96ID:dRHq7DJG >>841
当時の C++ には可変長引数を現代的な型システムの枠組みで扱う方法がなかった。
(C++11 からは variadic template がある。 これも今となっては現代的と言えるかどうか……。)
新しいオブジェクトを追加したときにオーバーロードが可能である必要など
の諸々の事情が積み重なって演算子オーバーロードの仕組みを使うのが妥当という結論になり、
オーバーロード可能な演算子の中で比較的それらしく見えるのが << だったという経緯。
記法だけなら printf で不満は出なかっただろうけど、
printf (というか C の可変長引数の仕組み) は型システム的な保護が全然できないぶっ壊れなので
それを是とすることも出来なかった。 (廃止もしなかったけど。)
良くはないが他にどうにも出来なかったんだよ。
当時の C++ には可変長引数を現代的な型システムの枠組みで扱う方法がなかった。
(C++11 からは variadic template がある。 これも今となっては現代的と言えるかどうか……。)
新しいオブジェクトを追加したときにオーバーロードが可能である必要など
の諸々の事情が積み重なって演算子オーバーロードの仕組みを使うのが妥当という結論になり、
オーバーロード可能な演算子の中で比較的それらしく見えるのが << だったという経緯。
記法だけなら printf で不満は出なかっただろうけど、
printf (というか C の可変長引数の仕組み) は型システム的な保護が全然できないぶっ壊れなので
それを是とすることも出来なかった。 (廃止もしなかったけど。)
良くはないが他にどうにも出来なかったんだよ。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国国連大使「日本が中国に武力行使すると脅しをかけたのは初めて」 国連事務総長に書簡★4 [♪♪♪★]
- 【芸能】44歳・池脇千鶴、激変ぶりにネット衝撃 「まるで別人…」「変化が凄い!!」の声 [冬月記者★]
- なぜ立花孝志氏の言葉は信じられたのか…"異例の逮捕"が浮き彫りにした「SNSの危険な病理」 [ぐれ★]
- 高市首相告白「『なめられない服』を選ぶことに数時間を費やしました」「外交交渉でマウント取れる服、買わなくてはいかんかもなぁ」★4 [ぐれ★]
- 中国「国連安保理の許可なしに日本攻撃可能」 Xで旧敵国条項に言及… ★15 [BFU★]
- 【🐼】パンダ、日本で会えなくなる? 中国との関係悪化で不安の声 ★2 [ぐれ★]
- ハム専ファンフェス
- こいせん 全レス転載禁止
- 【DAZN】フォーミュラGP【F1 2 3 SF P】Lap1807
- 巨専】
- 【DAZN/ABEMA】リーグ・アン総合 ★4
- 【DAZN/U-NEXT】ラ・リーガ ★30
- 愛国者「日本に手を出したらアメリカが黙ってないぞ?」 [834922174]
- 中国のプロパガンダ、もうめちゃくちゃ「沖縄人は在日米兵にしいたげられているが日本政府は対応しない。もはや日本の領土とはいえない」 [329329848]
- ドングリとか木の実が主食とかクマってもうイベリコ豚じゃん
- ふんふんふふんふん(´・ω・`)
- 「玉名市」とかいうタマヒュン地名…
- 砂糖しろし・あましっていう芸名
