公式
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を学ぶ際に犯しがちな12の過ち
https://dystroy.org/blog/how-not-to-learn-rust
※Rustのasyncについて知りたければ「async-book」は必読
https://rust-lang.github.io/async-book/
※次スレは原則>>980が立てること
前スレ
Rust part15
https://mevius.5ch.net/test/read.cgi/tech/1652347700/
探検
Rust part16
■ このスレッドは過去ログ倉庫に格納されています
2022/06/27(月) 08:17:03.45ID:gDlfKP6u
310デフォルトの名無しさん
2022/07/09(土) 18:58:45.49ID:g+WH1rkE C++0xがなかなか標準化されないので、それなら自分で作ろうと立ち上がったと本人が言ってるじゃん。
311デフォルトの名無しさん
2022/07/09(土) 19:05:24.90ID:hyXSHlQu312デフォルトの名無しさん
2022/07/09(土) 19:22:48.72ID:kZfneOfi 別にC/C++でもちゃんと作れば高速性と安全性は両立してるよ
ちゃんと作るのが難しいかどうかの話でしかないだろ
ちゃんと作るのが難しいかどうかの話でしかないだろ
313デフォルトの名無しさん
2022/07/09(土) 19:29:47.99ID:TbjkUF4v314デフォルトの名無しさん
2022/07/09(土) 19:30:20.48ID:6ug5/LDh 難しさを度外視してちゃんと作ればいいと言うならアセンブラでも同じわけで。
315デフォルトの名無しさん
2022/07/09(土) 19:36:03.58ID:hyXSHlQu316デフォルトの名無しさん
2022/07/09(土) 19:48:49.13ID:HoR4NOuF >>315
rustだけが満たしている根拠教えて
rustだけが満たしている根拠教えて
317デフォルトの名無しさん
2022/07/09(土) 19:51:24.99ID:zb7jG/MW じゃあChromeやSafari、Edgeじゃなく、お前のブラウザーふぁいあーふぉっくすにしろよ?安全じゃないんだろ?ぷゲラ
318デフォルトの名無しさん
2022/07/09(土) 19:52:51.29ID:FBd+xess うっかり前提条件が保証できていないunsafe fnの呼び出しを書いてもRustコンパイラは通してしまうではないですか
319デフォルトの名無しさん
2022/07/09(土) 20:07:34.54ID:kZfneOfi320デフォルトの名無しさん
2022/07/09(土) 20:08:04.55ID:TbjkUF4v321デフォルトの名無しさん
2022/07/09(土) 20:29:03.57ID:r2wQepG1 C++が敗北した理由が安全性を疎かにしたことは事実だけど
当時は安全性なんてそこまで重視されていなくて速ければよい時代だった
さらに安全性と速さを両立させる使い物になるプログラミング言語が出てくるとは想像できなかった
ここ数年でC++がようやく退場する時代となったたけでありそれ以前はC++の天下であった
当時は安全性なんてそこまで重視されていなくて速ければよい時代だった
さらに安全性と速さを両立させる使い物になるプログラミング言語が出てくるとは想像できなかった
ここ数年でC++がようやく退場する時代となったたけでありそれ以前はC++の天下であった
322デフォルトの名無しさん
2022/07/09(土) 20:47:42.85ID:FBd+xess ― フクオジ書 12:4-5
323デフォルトの名無しさん
2022/07/09(土) 21:21:56.68ID:6ug5/LDh >>319
そのレベルの違いが重要なわけじゃん
そのレベルの違いが重要なわけじゃん
324デフォルトの名無しさん
2022/07/09(土) 21:26:07.86ID:rB16NsHU >>318
実際にプログラミングをしたことがないからアンチはそんな間違った発言をうっかりしてしまう
実際にプログラミングをしたことがないからアンチはそんな間違った発言をうっかりしてしまう
325デフォルトの名無しさん
2022/07/09(土) 21:36:29.93ID:TbjkUF4v >>319
天と地ほどの差がある
コンパイル時点でエラーとして弾いてくれてコンパイラが修整すべき点をアドバイスしてくれるRust
コンパイラは何も言わずに通してしまい実行運用中に問題が発覚するC/C++
天と地ほどの差がある
コンパイル時点でエラーとして弾いてくれてコンパイラが修整すべき点をアドバイスしてくれるRust
コンパイラは何も言わずに通してしまい実行運用中に問題が発覚するC/C++
326デフォルトの名無しさん
2022/07/09(土) 21:37:18.68ID:FBd+xess 「前提条件が保証できていない」に触れていないのはうっかり読み飛ばしたのかな?それともわざとかな?
327デフォルトの名無しさん
2022/07/09(土) 21:40:36.28ID:N6dBVNoC マ板のコテハンが常駐するとどのスレも不毛地帯になるな
328デフォルトの名無しさん
2022/07/09(土) 21:51:31.23ID:8h5AdXRe329デフォルトの名無しさん
2022/07/09(土) 22:07:58.78ID:dPnpzXnF アンチ連呼おじさんの主張は「おまえらはプログラミングしたことが無い」
330デフォルトの名無しさん
2022/07/09(土) 22:17:01.66ID:5J/+jd/X 話は単純
RustはC++における問題のうちみんなが挙げてるような重要な部分を解決してしまった
それにプラスしてC++よりpRustの方がプログラミングしやすい点も非常に大きい
RustはC++における問題のうちみんなが挙げてるような重要な部分を解決してしまった
それにプラスしてC++よりpRustの方がプログラミングしやすい点も非常に大きい
331デフォルトの名無しさん
2022/07/09(土) 22:18:10.11ID:GNVCknQf コテハンとは一体
332デフォルトの名無しさん
2022/07/09(土) 22:29:14.97ID:FBd+xess333デフォルトの名無しさん
2022/07/09(土) 22:30:12.39ID:dcG9hbvO >>329
「おまえらはもうプログラミングしていないだろ」
じゃないのか
若い時はしていたんだろうが、おっさん・爺になって仕事ではもうプログラミングしていない
比較は必死にするが実際のRustプログラミング話が無いおじさん・爺のRustスレだからな
「おまえらはもうプログラミングしていないだろ」
じゃないのか
若い時はしていたんだろうが、おっさん・爺になって仕事ではもうプログラミングしていない
比較は必死にするが実際のRustプログラミング話が無いおじさん・爺のRustスレだからな
334デフォルトの名無しさん
2022/07/09(土) 22:36:53.48ID:qKBLdUt5 年寄りはRustに構わないで欲しい
黙ってCでも書いてて
黙ってCでも書いてて
335デフォルトの名無しさん
2022/07/09(土) 22:44:39.49ID:3KUXTO+D336デフォルトの名無しさん
2022/07/09(土) 22:46:38.67ID:dcG9hbvO337デフォルトの名無しさん
2022/07/09(土) 22:59:01.59ID:hVKa6Imk > 287 名前:デフォルトの名無しさん [sage] 投稿日:2022/07/09(土) 11:50:07.31 ID:lwwTn4Ql [2/3]
> どちらにしてもRust使っても気楽にコーディングできるわけでもなく
> メモリ構造考えなければいけないんですね
読んでなるほどなと思った
よくわかんないけどとりあえず動けばいいという人と、
ちゃんと理解して自分の思う通りに動かしたい人の違いだなと
> どちらにしてもRust使っても気楽にコーディングできるわけでもなく
> メモリ構造考えなければいけないんですね
読んでなるほどなと思った
よくわかんないけどとりあえず動けばいいという人と、
ちゃんと理解して自分の思う通りに動かしたい人の違いだなと
338デフォルトの名無しさん
2022/07/09(土) 23:05:49.23ID:dcG9hbvO >>335
俺,win使っているが
そのよい言語のRustをコンパイルするのに(C/C++する気ないのに)駄目な言語のmsvcを入れないと
とコンパイルできないてのがな
で、なんでmsvc必要なんだ?
ひょっとしたら、linuxでもgccとかを入れないと駄目なのか
俺,win使っているが
そのよい言語のRustをコンパイルするのに(C/C++する気ないのに)駄目な言語のmsvcを入れないと
とコンパイルできないてのがな
で、なんでmsvc必要なんだ?
ひょっとしたら、linuxでもgccとかを入れないと駄目なのか
339デフォルトの名無しさん
2022/07/09(土) 23:15:33.27ID:yHOdCoxc >>337
その人があまりにも知識不足の可能性が高い
Rustでも他の言語と同様に(C互換FFIを除いて)メモリ構造なんて公開も保証もしていない
ほとんどのプログラミング言語はメモリ構造なんて低いレベルで使うものではなくもっと抽象度の高い部分でその定義と保証がなされるもの
だからRustでも他の言語と同様にメモリ構造は考えなくて良いし考えてはいけない
メモリ構造は言語として保証していないし保証しないからこそ大胆なコンパイル最適化を行なっている
話を戻してその人はメモリ構造ではなくデータ構造と言いたかったのではないか?
データ構造は他の言語と同様にRustでも考えなければならない
それがプログラミングの中心だから
その人があまりにも知識不足の可能性が高い
Rustでも他の言語と同様に(C互換FFIを除いて)メモリ構造なんて公開も保証もしていない
ほとんどのプログラミング言語はメモリ構造なんて低いレベルで使うものではなくもっと抽象度の高い部分でその定義と保証がなされるもの
だからRustでも他の言語と同様にメモリ構造は考えなくて良いし考えてはいけない
メモリ構造は言語として保証していないし保証しないからこそ大胆なコンパイル最適化を行なっている
話を戻してその人はメモリ構造ではなくデータ構造と言いたかったのではないか?
データ構造は他の言語と同様にRustでも考えなければならない
それがプログラミングの中心だから
340デフォルトの名無しさん
2022/07/09(土) 23:30:15.11ID:hVKa6Imk341デフォルトの名無しさん
2022/07/09(土) 23:45:37.10ID:yHOdCoxc342デフォルトの名無しさん
2022/07/10(日) 00:12:02.83ID:VXHYDjJa >>339
SwiftとかABI stabilityを実現してるやつは仕様としてメモリレイアウトを定義して公開してるやろ
SwiftとかABI stabilityを実現してるやつは仕様としてメモリレイアウトを定義して公開してるやろ
343デフォルトの名無しさん
2022/07/10(日) 00:13:44.27ID:ZPTgd3k2 >>341
["rust linker cc not found"] [検索]
["rust linker cc not found"] [検索]
344デフォルトの名無しさん
2022/07/10(日) 00:16:59.60ID:CjJVLv20 まあ>>287の書いてるメモリ構造という言葉はメモリレイアウトでもデータ構造でもないのは明らかだけどな
345デフォルトの名無しさん
2022/07/10(日) 00:18:51.99ID:z1Ut0loV 隔離スレ復活させないとノイズだらけできつくなってきた
346デフォルトの名無しさん
2022/07/10(日) 00:30:08.21ID:tvXCky2C >>342
そのABIはコンパイル後のバイナリのフォーマットの話だぜ
今回の『気楽にコーディングできるわけでもなくメモリ構造考えなければいけないんですね』はプログラミングの際の話だから関係ない
プログラミングする上でメモリ構造は考えなくていい
例えばRustの型VecやStringなども各々のがどんなメモリ構造になるかは規定も公開もない
もちろんソースコードを読めば内部のデータ構造までは分かるがそれに依存してコードを書いてはいけないし依存できないよう抽象化されたインタフェースのみ規定公開されている
そのABIはコンパイル後のバイナリのフォーマットの話だぜ
今回の『気楽にコーディングできるわけでもなくメモリ構造考えなければいけないんですね』はプログラミングの際の話だから関係ない
プログラミングする上でメモリ構造は考えなくていい
例えばRustの型VecやStringなども各々のがどんなメモリ構造になるかは規定も公開もない
もちろんソースコードを読めば内部のデータ構造までは分かるがそれに依存してコードを書いてはいけないし依存できないよう抽象化されたインタフェースのみ規定公開されている
347デフォルトの名無しさん
2022/07/10(日) 00:33:22.94ID:tvXCky2C >>345
同感
アンチ活動は別のスレでやってほしい
ここ本スレでやるのはマナー違反だと思う
今後Rustへのアンチ活動は以下のスレへ書くこと
Rustアンチスレ
https://mevius.5ch.net/test/read.cgi/tech/1509028624/
同感
アンチ活動は別のスレでやってほしい
ここ本スレでやるのはマナー違反だと思う
今後Rustへのアンチ活動は以下のスレへ書くこと
Rustアンチスレ
https://mevius.5ch.net/test/read.cgi/tech/1509028624/
348デフォルトの名無しさん
2022/07/10(日) 01:01:37.00ID:/Pm6re6i 複オジに絡んだ俺がバカだったわw
349デフォルトの名無しさん
2022/07/10(日) 01:02:48.63ID:qjKEOyYX >>343
なるほど、
>341
>ちなみにこちらはLinuxだがrustc(=Rustコンパイラ)だけあればコンパイルできる
は、比較的新しいrustを使えばgcc(リンカ)イラネってことか
rustでリンカ作った方がgccのリンカよりずっと良いものになるだろうからな
なるほど、
>341
>ちなみにこちらはLinuxだがrustc(=Rustコンパイラ)だけあればコンパイルできる
は、比較的新しいrustを使えばgcc(リンカ)イラネってことか
rustでリンカ作った方がgccのリンカよりずっと良いものになるだろうからな
350デフォルトの名無しさん
2022/07/10(日) 01:09:37.70ID:ZPTgd3k2351デフォルトの名無しさん
2022/07/10(日) 01:48:41.75ID:LxkGLd0V352デフォルトの名無しさん
2022/07/10(日) 04:45:49.56ID:T5qatPVB 荒らしてるのはLinux板の連中か。
353デフォルトの名無しさん
2022/07/10(日) 08:32:10.98ID:VKvLuEGz Cellを使っていて思ったんだが例えば
trait CellUpdateWith<T> {
fn update_with(&self, f: impl FnOnce(&mut T));
}
impl<T: Default> CellUpdateWith<T> for Cell<T> {
#[inline]
fn update_with(&self, f: impl FnOnce(&mut T)) {
let mut inner = self.take();
f(&mut inner);
self.set(inner);
}
}
このようにメソッドupdate_with()を用意しておけば
内部更新もわかりやすく記述できるな
let foo = Cell::new(vec![1, 2, 3]);
foo.update_with(|v| v.push(7));
身代わりにself.take()でdefault値を入れてCellから取り出し
self.set()でCellへ戻すという無駄な操作は最適化で消えるようだ
https://godbolt.org/z/19c4EbErG
trait CellUpdateWith<T> {
fn update_with(&self, f: impl FnOnce(&mut T));
}
impl<T: Default> CellUpdateWith<T> for Cell<T> {
#[inline]
fn update_with(&self, f: impl FnOnce(&mut T)) {
let mut inner = self.take();
f(&mut inner);
self.set(inner);
}
}
このようにメソッドupdate_with()を用意しておけば
内部更新もわかりやすく記述できるな
let foo = Cell::new(vec![1, 2, 3]);
foo.update_with(|v| v.push(7));
身代わりにself.take()でdefault値を入れてCellから取り出し
self.set()でCellへ戻すという無駄な操作は最適化で消えるようだ
https://godbolt.org/z/19c4EbErG
354デフォルトの名無しさん
2022/07/10(日) 12:00:25.54ID:oYFJk9+G355デフォルトの名無しさん
2022/07/10(日) 13:59:32.22ID:blpABUiA356デフォルトの名無しさん
2022/07/10(日) 19:54:18.59ID:/ZDhY4rW >>308
糞言語で自意識過剰の公開オナニーをする信者、マジきもい
糞言語で自意識過剰の公開オナニーをする信者、マジきもい
357デフォルトの名無しさん
2022/07/10(日) 23:37:14.97ID:nSquZ6Rt >>308
プログラミング言語界に大革命をもたらした画期的な言語だな
プログラミング言語界に大革命をもたらした画期的な言語だな
358デフォルトの名無しさん
2022/07/11(月) 00:14:06.35ID:triNevnR 15年近くc/c++触ってなくて(ずっとjava触ってた)
rustの所有権とか何故こんな仕様になったのか経緯がわからなくて
最近のc11以降の仕様の?unique_ptrとかshared_ptrとかstd::moveとかstd::forward学んで
(元々boost にスマートポインタがあった記憶があるけど記憶が曖昧)
どうしてこう言う機能が出来たのか少しわかった
今のc++はconst 地獄だしとにかくコードが汚くなる
こりゃrust の方が良いわ
あと型名の付け方が好き。u32とかf32とか
昔cで書いてた頃typedefでわざわざ定義してたよ
rustの所有権とか何故こんな仕様になったのか経緯がわからなくて
最近のc11以降の仕様の?unique_ptrとかshared_ptrとかstd::moveとかstd::forward学んで
(元々boost にスマートポインタがあった記憶があるけど記憶が曖昧)
どうしてこう言う機能が出来たのか少しわかった
今のc++はconst 地獄だしとにかくコードが汚くなる
こりゃrust の方が良いわ
あと型名の付け方が好き。u32とかf32とか
昔cで書いてた頃typedefでわざわざ定義してたよ
359デフォルトの名無しさん
2022/07/11(月) 10:40:05.73ID:1W23UOpt const 地獄 ← 判る
static_cast うぜー ← 判る
Rust 万歳 ← 判らん
static_cast うぜー ← 判る
Rust 万歳 ← 判らん
360デフォルトの名無しさん
2022/07/13(水) 23:59:24.88ID:qlTJEO+a >>353
もっと便利にできるぜ
use std::cell::Cell;
trait CellWithMethod<T> {
fn with<R>(&self, f: impl FnOnce(&mut T) -> R) -> R;
}
impl<T: Default> CellWithMethod<T> for Cell<T> {
#[inline]
fn with<R>(&self, f: impl FnOnce(&mut T) -> R) -> R {
let mut inner = self.take();
let result = f(&mut inner);
self.set(inner);
result
}
}
fn main() {
let foo = Cell::new(vec![1, 2, 3]);
foo.with(|v| v.push(7));
assert_eq!(4, foo.with(|v| v.len()));
assert_eq!(7, foo.with(|v| v[3]));
assert_eq!(vec![1, 2, 3, 7], foo.with(|v| v.clone()));
}
もっと便利にできるぜ
use std::cell::Cell;
trait CellWithMethod<T> {
fn with<R>(&self, f: impl FnOnce(&mut T) -> R) -> R;
}
impl<T: Default> CellWithMethod<T> for Cell<T> {
#[inline]
fn with<R>(&self, f: impl FnOnce(&mut T) -> R) -> R {
let mut inner = self.take();
let result = f(&mut inner);
self.set(inner);
result
}
}
fn main() {
let foo = Cell::new(vec![1, 2, 3]);
foo.with(|v| v.push(7));
assert_eq!(4, foo.with(|v| v.len()));
assert_eq!(7, foo.with(|v| v[3]));
assert_eq!(vec![1, 2, 3, 7], foo.with(|v| v.clone()));
}
361デフォルトの名無しさん
2022/07/15(金) 21:39:01.85ID:qV4GyRtM >>360
CellでVec使えるのか
何か間違って学習していた
https://qiita.com/wada314/items/24249418983312795c08
> 1. Cellの中身の型はCopyをimplしていなければならない
https://dev.classmethod.jp/articles/rust-smart-pointer/
> ・Cellの中の型はCopyトレイト実装が必須
https://qiita.com/usagi/items/fc329895cebd3466910e
> Cell は値の "移動" によって内部可変性を実装するため <T> は Copy 可能な "値" 向けのコンテナーで、
> i32 や Copy trait を実装した何かを扱うのに"適した"コンテナーです。
https://zenn.dev/mebiusbox/books/22d4c1ed9b0003/viewer/5df75e
> Cell<T> の大きな制約として, T は Copy トレイト境界があることです.
実際にはCellはCopyを要求していない
やってみたら>>360のコードが動いてCell<Vec<_>>が使えた
CellでVec使えるのか
何か間違って学習していた
https://qiita.com/wada314/items/24249418983312795c08
> 1. Cellの中身の型はCopyをimplしていなければならない
https://dev.classmethod.jp/articles/rust-smart-pointer/
> ・Cellの中の型はCopyトレイト実装が必須
https://qiita.com/usagi/items/fc329895cebd3466910e
> Cell は値の "移動" によって内部可変性を実装するため <T> は Copy 可能な "値" 向けのコンテナーで、
> i32 や Copy trait を実装した何かを扱うのに"適した"コンテナーです。
https://zenn.dev/mebiusbox/books/22d4c1ed9b0003/viewer/5df75e
> Cell<T> の大きな制約として, T は Copy トレイト境界があることです.
実際にはCellはCopyを要求していない
やってみたら>>360のコードが動いてCell<Vec<_>>が使えた
362デフォルトの名無しさん
2022/07/15(金) 22:48:49.30ID:fFdw7/F8 #[derive(Clone)]のコーナーケースに遭遇した
https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=487e64c7c762fb0e015e1bc9b1267fbd
https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=487e64c7c762fb0e015e1bc9b1267fbd
363デフォルトの名無しさん
2022/07/15(金) 22:50:32.95ID:SBkpZpFk やっぱりrustcはバグが多いね
364デフォルトの名無しさん
2022/07/15(金) 23:12:58.85ID:nxNpCMHU >>362
標準ライブラリのderiveは型パラメータに無条件にトレイト制約課すようになってるから
derivativeみたいな制約を自分で指定できるcrateを使うと良いよ
https://github.com/mcarton/rust-derivative
標準ライブラリのderiveは型パラメータに無条件にトレイト制約課すようになってるから
derivativeみたいな制約を自分で指定できるcrateを使うと良いよ
https://github.com/mcarton/rust-derivative
365デフォルトの名無しさん
2022/07/16(土) 00:28:56.56ID:730D9OZt >>361
get()がCopyを要求するからってのもあるけど
古いThe BookにはCellはCopy専用・RefCellはCopy以外も使えるという説明があったので
それが日本語訳とかで残ってたんじゃないかな
get()がCopyを要求するからってのもあるけど
古いThe BookにはCellはCopy専用・RefCellはCopy以外も使えるという説明があったので
それが日本語訳とかで残ってたんじゃないかな
366デフォルトの名無しさん
2022/07/16(土) 23:27:56.53ID:MG4+BxCd367デフォルトの名無しさん
2022/07/20(水) 00:26:56.65ID:XqWqiApN StackOverflowで「好きな言語No.1」だそうだが、調査方法に問題が有り、
二位以下も聞いた事が無いような言語ばかり。
二位以下も聞いた事が無いような言語ばかり。
368デフォルトの名無しさん
2022/07/20(水) 01:36:05.55ID:bF1qPY0V >>367
お前の観測範囲が狭いだけ。
お前の観測範囲が狭いだけ。
369デフォルトの名無しさん
2022/07/20(水) 08:04:49.97ID:XbfHqe9W CarbonとかいうRustとC++のあいのこみたいなのが出てきた
370デフォルトの名無しさん
2022/07/20(水) 12:35:25.82ID:FCfDFeLf Carbonは最強言語ぞ
371デフォルトの名無しさん
2022/07/20(水) 12:39:05.42ID:MUkQlR/e RustがCarbonに勝ててるところが見つからないな
372デフォルトの名無しさん
2022/07/20(水) 12:45:18.87ID:ThH+Z+BW Rust vs Carbonスレ立ててそっちでやれ
373デフォルトの名無しさん
2022/07/20(水) 13:30:14.44ID:S6pSKHOi このスレにはRust好きの愚民がたくさんいるようですね。
Carbonさん、やっておしまいなさい
Carbonさん、やっておしまいなさい
374デフォルトの名無しさん
2022/07/20(水) 13:30:16.81ID:S6pSKHOi このスレにはRust好きの愚民がたくさんいるようですね。
Carbonさん、やっておしまいなさい
Carbonさん、やっておしまいなさい
375デフォルトの名無しさん
2022/07/20(水) 14:11:36.68ID:xLuB33a9 1.0が出てからにしてください
376デフォルトの名無しさん
2022/07/20(水) 14:52:25.57ID:IMMZUJf4 CarbonとRustは名称の紛らわしさではどっこいどっこいだな
377デフォルトの名無しさん
2022/07/20(水) 14:54:39.84ID:igxVbWbR378デフォルトの名無しさん
2022/07/20(水) 17:02:14.65ID:xLuB33a9 とりあえずcarbon自体のコードの8割がcarbonで書かれるエコシステムが確立してからだろう
379デフォルトの名無しさん
2022/07/20(水) 19:50:56.65ID:hGf+NvAH JSのTypeScript
C++のCarbonって感じかね
どうなるんだろうね
確かにC++を無くすのは勿体ないがまだ0.1か いつ1.0になるかなぁ 10年後くらいか
Rustよりも難しくはなくメモリ管理も楽になるのかな
C++のCarbonって感じかね
どうなるんだろうね
確かにC++を無くすのは勿体ないがまだ0.1か いつ1.0になるかなぁ 10年後くらいか
Rustよりも難しくはなくメモリ管理も楽になるのかな
380デフォルトの名無しさん
2022/07/20(水) 20:00:37.08ID:xdIX6xM1 Rustはあらゆる面で安全と高速の両立する抽象化を実現した言語だから
現在のCarbonのドキュメントを見る限りRustの領分に入ってきていないでしょう
それよりもC++と書き方がかなり変わっていて互換性がなく別言語の様相でCarbonは中途半端な立ち位置に見える
現在のCarbonのドキュメントを見る限りRustの領分に入ってきていないでしょう
それよりもC++と書き方がかなり変わっていて互換性がなく別言語の様相でCarbonは中途半端な立ち位置に見える
381デフォルトの名無しさん
2022/07/20(水) 20:01:46.68ID:sReX4jGj Carbonは「Rustが難しすぎるから簡単にしたい」とは言ってなくて、C++と相互運用できる言語を目指してるだけっぽいからなぁ
結果的にRustより難しくなっても驚かないけど
結果的にRustより難しくなっても驚かないけど
382デフォルトの名無しさん
2022/07/20(水) 20:33:50.16ID:sReX4jGj そもそもCarbonの使い所ってC++のレガシーコードが大量にあるところだから
C++も当然マスターしてないといけなくて、学習量は明らかに増えてる気もする
C++も当然マスターしてないといけなくて、学習量は明らかに増えてる気もする
383デフォルトの名無しさん
2022/07/20(水) 20:52:36.69ID:oyesoq1v ドラゴンボールのゲームでドドリアの色違いでカーボスと言うのがいたのを思い出した
どちらかと言うとザーボンの色違いがカーボスなら納得なんだけど…
どちらかと言うとザーボンの色違いがカーボスなら納得なんだけど…
384デフォルトの名無しさん
2022/07/20(水) 21:27:24.19ID:mJssGRdK Carbonって中途半端すぎね?
まともな言語設計者ならオブジェクト指向もう採用しないと思うんやけどなんか継承機能もあるみたいだし
なんでこういう中途半端のところもC++参考するんだよこういうところこそRust参考にしろよ
まともな言語設計者ならオブジェクト指向もう採用しないと思うんやけどなんか継承機能もあるみたいだし
なんでこういう中途半端のところもC++参考するんだよこういうところこそRust参考にしろよ
385デフォルトの名無しさん
2022/07/20(水) 21:44:56.66ID:qLBZujX3 >>384
C++とシームレスに相互運用することが最優先課題だから、そこはC++と同じにしておかないとそもそも存在意義がなくなる
C++とシームレスに相互運用することが最優先課題だから、そこはC++と同じにしておかないとそもそも存在意義がなくなる
386デフォルトの名無しさん
2022/07/20(水) 22:16:07.31ID:gROTqHCf ま、2-3年後にどうなってるかだな
バックにGoogleいるらしいから開発終了なんてことはなさそうだが
バックにGoogleいるらしいから開発終了なんてことはなさそうだが
387デフォルトの名無しさん
2022/07/20(水) 22:21:24.71ID:9oJrmZpV388デフォルトの名無しさん
2022/07/20(水) 22:28:16.35ID:3tivAU0I SDGsの流れ的にCarbonは使われなくなる運命
389デフォルトの名無しさん
2022/07/20(水) 22:43:27.67ID:xLuB33a9 なる、元素記号Cからの名称か
390デフォルトの名無しさん
2022/07/21(木) 00:45:01.09ID:g1dckGB4 5年たったらまたオブジェクト指向が再燃してるかもしれない
と言うか業務では大規模開発にはオブジェクト指向が必須なんだな
モジュールでは全体が見通せない
と言うか業務では大規模開発にはオブジェクト指向が必須なんだな
モジュールでは全体が見通せない
391はちみつ餃子 ◆8X2XSCHEME
2022/07/21(木) 00:52:44.62ID:/hG5LMVG 話題が逸れるが >>384 が C++ の型システムをオブジェクト指向と呼んでるっぽいのが気になる。
オブジェクト指向はオブジェクト同士がメッセージを送りあう形でプログラムを構成する思想のことで、
それを言語機能としてどのように支援するのかには様々なバリエーションが有りうる。
型システムとは独立した概念だよ。
ふんわりした概念なので定義によるが Rust もオブジェクト指向 (をサポートする) 言語に分類されることはある。
それはそれとして、 C++ の型システムもベストとは言えないが最悪というわけでもない。
実際にかなり多くの場面で活用されている実績は認めないといけない。
要するに「この程度で十分」ではあるんだよ。
C++ の本当につらいところは C から引き継いだガバガバさや歴史的事情のワケわからんところであって、
型システムの根本的な改善はそれほど切実に必要だとは思わないな。
C++ が駄目だと否定するんじゃなくて C++ みたいなことを C++ より上手くやるという方向性はアリだろう。
オブジェクト指向はオブジェクト同士がメッセージを送りあう形でプログラムを構成する思想のことで、
それを言語機能としてどのように支援するのかには様々なバリエーションが有りうる。
型システムとは独立した概念だよ。
ふんわりした概念なので定義によるが Rust もオブジェクト指向 (をサポートする) 言語に分類されることはある。
それはそれとして、 C++ の型システムもベストとは言えないが最悪というわけでもない。
実際にかなり多くの場面で活用されている実績は認めないといけない。
要するに「この程度で十分」ではあるんだよ。
C++ の本当につらいところは C から引き継いだガバガバさや歴史的事情のワケわからんところであって、
型システムの根本的な改善はそれほど切実に必要だとは思わないな。
C++ が駄目だと否定するんじゃなくて C++ みたいなことを C++ より上手くやるという方向性はアリだろう。
392デフォルトの名無しさん
2022/07/21(木) 00:54:52.22ID:0vTmbBj3 話題が逸れるが、...で読む気失せたわ
393デフォルトの名無しさん
2022/07/21(木) 00:58:24.47ID:MOkaWH3B394デフォルトの名無しさん
2022/07/21(木) 01:00:56.06ID:g1dckGB4 似たような機能のものを大量に書く場合どのように実装するのが楽かどのように管理するのが楽か
モジュールではないな
モジュールではないな
395デフォルトの名無しさん
2022/07/21(木) 01:15:53.78ID:MOkaWH3B >>394
その点ではRustもC++も同じオブジェクト指向なので何を主張したいのかわからない
Rustの基本はselfに見られるようにオブジェクト指向
違いはC++がクラス継承なのに対してRustはトレイト
ジェネリックから見るトレイト境界による型制約となり
逆の視点から見るとトレイト付加によるメソッド拡張となる
その点ではRustもC++も同じオブジェクト指向なので何を主張したいのかわからない
Rustの基本はselfに見られるようにオブジェクト指向
違いはC++がクラス継承なのに対してRustはトレイト
ジェネリックから見るトレイト境界による型制約となり
逆の視点から見るとトレイト付加によるメソッド拡張となる
396デフォルトの名無しさん
2022/07/21(木) 03:25:39.61ID:DiLbgRco いくらRustが有望だと言われていても、ポインターがないと使いづらい場面ってあるよな
ツリー構造とか、ポインターなしで大して実行速度も落とさず記述する技があるようだけど・・・・大掛かりなことをするのなら労力を割くのもいいけど、ちょっと使うだけには労力がかかりすぎる
ツリー構造とか、ポインターなしで大して実行速度も落とさず記述する技があるようだけど・・・・大掛かりなことをするのなら労力を割くのもいいけど、ちょっと使うだけには労力がかかりすぎる
397デフォルトの名無しさん
2022/07/21(木) 04:26:36.96ID:VmE9g8Ff ポインタあるじゃん
398デフォルトの名無しさん
2022/07/21(木) 05:01:15.84ID:hbmQrHo+399デフォルトの名無しさん
2022/07/21(木) 08:09:40.58ID:HHuzACnI >>385
Rustからわかるように、求められているのは膝を打ち抜く自由の無いc++であり、コーダーに使わせる言語。
unsafeはc++で実装すりゃいいので、継承とかは使うだけに限定するという手もある。
Rustからわかるように、求められているのは膝を打ち抜く自由の無いc++であり、コーダーに使わせる言語。
unsafeはc++で実装すりゃいいので、継承とかは使うだけに限定するという手もある。
400デフォルトの名無しさん
2022/07/21(木) 13:48:15.98ID:xy799ZfA >>391
話し手がなにをオブジェクト指向の言語としているのかどうか判断する程度の読解力は持ち合わせてくれないかな?
RustはC++のように継承を導入することによってもたらされる問題を回避するためにclassじゃなくてtraitを基本的なプログラムの構成要素として採用することで既存のオブジェクト指向言語と一線を画すというプログラミング言語史に残る進歩を達成していた
話し手がなにをオブジェクト指向の言語としているのかどうか判断する程度の読解力は持ち合わせてくれないかな?
RustはC++のように継承を導入することによってもたらされる問題を回避するためにclassじゃなくてtraitを基本的なプログラムの構成要素として採用することで既存のオブジェクト指向言語と一線を画すというプログラミング言語史に残る進歩を達成していた
401デフォルトの名無しさん
2022/07/21(木) 15:49:13.07ID:Q1uK5/Rv402デフォルトの名無しさん
2022/07/21(木) 16:58:11.12ID:xy799ZfA >>401
RustのtraitをただのHaskellの型クラスの類似物としてしか認識できないのはお前が単に馬鹿だから
Rustのtraitは本来継承もmixinとも違ったC++のclassより洗練された新たなプログラムの構成要素だっていう側面が理解できていない馬鹿が多すぎる
ただRustではこのtraitという構成要素に実用上の面から今度は型クラスという機能も持たせているというだけで話の順序が違う
こんぐらいRust書いていたらtraitには単に型クラスだけの意義だけじゃないってわかると思うんやがお前にはそういった才能もないただのネット上で繰り返し喧伝されている宣伝にしか注目する脳がないいわばにわかの部類の奴だということがわかった
RustのtraitをただのHaskellの型クラスの類似物としてしか認識できないのはお前が単に馬鹿だから
Rustのtraitは本来継承もmixinとも違ったC++のclassより洗練された新たなプログラムの構成要素だっていう側面が理解できていない馬鹿が多すぎる
ただRustではこのtraitという構成要素に実用上の面から今度は型クラスという機能も持たせているというだけで話の順序が違う
こんぐらいRust書いていたらtraitには単に型クラスだけの意義だけじゃないってわかると思うんやがお前にはそういった才能もないただのネット上で繰り返し喧伝されている宣伝にしか注目する脳がないいわばにわかの部類の奴だということがわかった
403デフォルトの名無しさん
2022/07/21(木) 17:50:57.39ID:eNA5340i traitの画期的な部分はc++のabstract classで実現できないの?
404デフォルトの名無しさん
2022/07/21(木) 17:54:16.35ID:F7Gtvv1S405デフォルトの名無しさん
2022/07/21(木) 18:07:36.13ID:ySHdWcK4 自分が崇拝する神だけが唯一正しいと妄信して
他人の考え方を徹底的に糾弾排斥するのがカルト
カルト化した人間とまともな議論ができると思うな
他人の考え方を徹底的に糾弾排斥するのがカルト
カルト化した人間とまともな議論ができると思うな
406デフォルトの名無しさん
2022/07/21(木) 18:19:30.67ID:xy799ZfA407デフォルトの名無しさん
2022/07/21(木) 19:01:28.92ID:HGs+QJMA >>406
そういうのを誘導しないからお前はダメなんだよ。
prev.rust-lang.org/ja-JP/faq.html#how-do-rust-traits-compare-to-haskell-typeclasses
How do Rust traits compare to Haskell typeclasses?
Rust traits are similar to Haskell typeclasses, but are currently not as powerful, as Rust cannot express higher-kinded types. Rust’s associated types are equivalent to Haskell type families.
そういうのを誘導しないからお前はダメなんだよ。
prev.rust-lang.org/ja-JP/faq.html#how-do-rust-traits-compare-to-haskell-typeclasses
How do Rust traits compare to Haskell typeclasses?
Rust traits are similar to Haskell typeclasses, but are currently not as powerful, as Rust cannot express higher-kinded types. Rust’s associated types are equivalent to Haskell type families.
408デフォルトの名無しさん
2022/07/21(木) 19:15:30.44ID:F7Gtvv1S >>407
traitの方が表現力低いって言ってるじゃねーか
traitの方が表現力低いって言ってるじゃねーか
409デフォルトの名無しさん
2022/07/21(木) 20:10:50.68ID:SY914jbi レスバスレ使ってくれませんか?
410デフォルトの名無しさん
2022/07/21(木) 20:48:28.30ID:rGFlKcYB■ このスレッドは過去ログ倉庫に格納されています
ニュース
- アメリカ議会 「中国が台湾武力侵攻する準備を急速進展中」 ★3 [お断り★]
- 外国人の犯罪率は日本人の1.72倍 警察庁が短期滞在者除いた数字を参院内閣委で答弁 [七波羅探題★]
- 【高市自民】中国軍SNS 高市首相に怖すぎる地獄絵で警告、火の海の靖国神社「自ら墓穴を掘り、戻れない道へ進む」 [夜のけいちゃん★]
- ネット殺到「高市総理の責任」「完全に高市リスク」「負けるな」中国が水産物輸入停止→流石に総理批判の声も「どう責任取る?」 ★9 [樽悶★]
- 「ドラゴンボール」初の全世界キャラクター人気投票が開幕!212キャラからナンバーワンが決まる!! [ひかり★]
- 【速報】公然わいせつの疑いで逮捕・送検・略式起訴のAぇ! group 草間リチャード敬太メンバー 脱退を発表 「心の病の療養」に専念 [Ailuropoda melanoleuca★]
- 【憲法改正】起草委員会、設置へ [476729448]
- 3K新聞「高市首相「馬車馬」の1カ月…宿舎で猛勉強、外交乗り切る 会食なく睡眠不足、心配の声も」 [834922174]
- 【35🌸専】なんG さくらみこ桃鉄配信実況スレ🏡【ホロライブ▶】
- 【悲報】大手経済誌が年収が低い会社ランキングを発表、Vtuberのにじさんじがランクインしてしまう…
- 真面目な話、支那はもう台湾侵攻寸前なんだろ。高市さんはあえて言ったんじゃないか [308389511]
- 【画像】チョコプラのYoutubeチャンネル、コメント欄がとんでもないことになるwwwwwwwww
