公式
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
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 の可変長引数の仕組み) は型システム的な保護が全然できないぶっ壊れなので
それを是とすることも出来なかった。 (廃止もしなかったけど。)
良くはないが他にどうにも出来なかったんだよ。
844デフォルトの名無しさん
2021/10/25(月) 00:30:55.79ID:dRHq7DJG 歴史が長くなるとしょうもない事情の積み重ねでグダグダになるのもよくあること。
Rust もいずれはそうなる。 そしてそのときは新しい何かで置き換えられるんだよ。
でも Rust の場合は Edition という区切りで新しい Rust 自身で置き換えつつ
過去の Rust とも共存することを最初から意図したデザインにしているので
比較的長く維持されるんじゃないかな。
Rust もいずれはそうなる。 そしてそのときは新しい何かで置き換えられるんだよ。
でも Rust の場合は Edition という区切りで新しい Rust 自身で置き換えつつ
過去の Rust とも共存することを最初から意図したデザインにしているので
比較的長く維持されるんじゃないかな。
845デフォルトの名無しさん
2021/10/25(月) 10:06:46.78ID:vPVmdF1Z 実際、型安全であるiostreamよりprintfのがよっぽどマシって議論はある。
しょーもない技術要素よりも視認性のがよっぽど大事だったりするわけで。
しょーもない技術要素よりも視認性のがよっぽど大事だったりするわけで。
846デフォルトの名無しさん
2021/10/25(月) 11:11:20.41ID:DCgj0YIV >>840
iced日本語入力できなくない?
iced日本語入力できなくない?
847デフォルトの名無しさん
2021/10/25(月) 11:14:28.05ID:vmRZrQEp >>827
>「コンパイルが通れば大体動く」という感触はHaskellに近い
C/C++でも「コンパイルが通れば大体動く」けど
Haskellはコンパイル時にアルゴリズムミスまでチェックしてくれるのか?
>「コンパイルが通れば大体動く」という感触はHaskellに近い
C/C++でも「コンパイルが通れば大体動く」けど
Haskellはコンパイル時にアルゴリズムミスまでチェックしてくれるのか?
848デフォルトの名無しさん
2021/10/25(月) 11:32:11.39ID:dMwiicPm 単にHaskellはC/C++よりも型安全性の度合いが強いってこと言いたいんだろ
849デフォルトの名無しさん
2021/10/25(月) 11:51:09.02ID:fl6GjyRy >>846
Font読み込めば出来るっぽいよ
Font読み込めば出来るっぽいよ
850デフォルトの名無しさん
2021/10/25(月) 12:13:25.40ID:Zg5tRANc >>847
アスペルガーか?
アスペルガーか?
851デフォルトの名無しさん
2021/10/25(月) 15:20:38.75ID:YZjFvrvy Rustでゲームエンジン作ったら億万長者になれるのかな
852デフォルトの名無しさん
2021/10/25(月) 17:18:01.27ID:uPCS+ug6 UnityやUnreal Engine並のを作れるならできるんじゃね
さもなきゃプロプライエタリなエンジンなんてきょうび流行らん
さもなきゃプロプライエタリなエンジンなんてきょうび流行らん
■ このスレッドは過去ログ倉庫に格納されています
ニュース
