スレタイ(順番はRedMonk準拠)以外の言語もok
※ Rustは現世代最強言語なので除外します
前スレ
次世代言語25 TypeScript Swift Go Kotlin Rust Nim
https://mevius.5ch.net/test/read.cgi/tech/1650185555/
探検
次世代言語26 TypeScript Swift Go Kotlin Nim
■ このスレッドは過去ログ倉庫に格納されています
2022/06/21(火) 09:27:46.30ID:5vOFCGpG
102デフォルトの名無しさん
2022/07/17(日) 21:24:39.01ID:D6jSpq7E Rustでもこんな感じで書いてもいいのよ
use std::io::{self, Write};
fn main() {
let mut stdout = io::stdout().lock();
stdout.write_all(b"hello world").unwrap();
}
use std::io::{self, Write};
fn main() {
let mut stdout = io::stdout().lock();
stdout.write_all(b"hello world").unwrap();
}
103デフォルトの名無しさん
2022/07/17(日) 21:44:39.47ID:PMMdo41Y >>101
(1) Cのprintfと同じ機能がRustのprint!であり分かりやすく使いやすい
(2) Rustでも色々な指定は可能
(3) プログラミング言語毎に様々な書き方がなされている中では些細な話
(1) Cのprintfと同じ機能がRustのprint!であり分かりやすく使いやすい
(2) Rustでも色々な指定は可能
(3) プログラミング言語毎に様々な書き方がなされている中では些細な話
104デフォルトの名無しさん
2022/07/17(日) 22:16:39.96ID:PMMdo41Y105デフォルトの名無しさん
2022/07/17(日) 22:23:33.10ID:Zp8ItUSG >>101
これってフォーマット指示と引数があっているかのチェックはいつ行われるの?
これってフォーマット指示と引数があっているかのチェックはいつ行われるの?
106デフォルトの名無しさん
2022/07/17(日) 22:26:33.06ID:SZhCYswt Zigだけどやっぱスコープ抜けた時に一斉に不要なメモリ解放する機構ぐらいは欲しいなあ
そういうのないよね?
Obj-Cにおけるautoreleasepoolとかv8におけるHandleScopeみたいなやつ
そういうのないよね?
Obj-Cにおけるautoreleasepoolとかv8におけるHandleScopeみたいなやつ
107デフォルトの名無しさん
2022/07/17(日) 22:33:23.76ID:CH5pcs5m >>102
ありがとうございます
import java.io.*;
class Ideone {
public static void main (String[] args) {
final PrintStream out = (new java.util.Random()).nextBoolean() ? System.out : System.err;
out.printf("Hello, %s!\n", "world");
}
}
JavaのIOまわりはすこ
ありがとうございます
import java.io.*;
class Ideone {
public static void main (String[] args) {
final PrintStream out = (new java.util.Random()).nextBoolean() ? System.out : System.err;
out.printf("Hello, %s!\n", "world");
}
}
JavaのIOまわりはすこ
108デフォルトの名無しさん
2022/07/18(月) 00:06:45.58ID:KMiFC5Pb109デフォルトの名無しさん
2022/07/18(月) 00:50:41.17ID:u6hhGzsh Zigの特徴はCよりも未定義動作を増やすことでコンパイラによる最適化を過激にできて場合によってはCよりも高速になることを狙う点
つまり未定義動作を無くすことで安全と高速を両立させるRustとは真逆の戦略を採っていること
つまり未定義動作を無くすことで安全と高速を両立させるRustとは真逆の戦略を採っていること
110デフォルトの名無しさん
2022/07/18(月) 01:42:15.77ID:S/imfak8 >>109
UBの種類はさすがにCより少ないよ
UBの種類はさすがにCより少ないよ
111デフォルトの名無しさん
2022/07/18(月) 06:06:03.85ID:4eOAm5LE >>109
お前、未定義動作の意味わかってないだろ...
お前、未定義動作の意味わかってないだろ...
112デフォルトの名無しさん
2022/07/18(月) 06:17:28.08ID:u6hhGzsh 未定義動作によりコンパイラが最適化を進められる話
https://cpplover.blogspot.com/2014/06/old-new-thing.html
https://cpplover.blogspot.com/2014/06/old-new-thing.html
113デフォルトの名無しさん
2022/07/18(月) 07:01:28.61ID:ssl6Co9E マジキチかよw
114デフォルトの名無しさん
2022/07/18(月) 08:19:25.09ID:mVdITidT Rust信者ってこんなに低脳なん?w
ヤバっ...
ヤバっ...
115デフォルトの名無しさん
2022/07/18(月) 11:04:54.36ID:5guVnF2o てかcにもdefer入るしそれで良くね?
116デフォルトの名無しさん
2022/07/18(月) 11:21:45.49ID:1omE+gQa そもそもC/C++がまともに使えない低能のための言語がRustですし
117デフォルトの名無しさん
2022/07/18(月) 11:36:06.98ID:biPIwclR118デフォルトの名無しさん
2022/07/18(月) 11:40:31.18ID:biPIwclR >>115
決定したの?
決定したの?
119デフォルトの名無しさん
2022/07/18(月) 15:04:52.06ID:n//xSWhh 僕は職業プログラマーじゃないんで
新しいBASICたるswiftとswift playgroundでいいです。
ちょっと数学的解析するのに使ったらすげぇ楽だこれ
ちにゃ〜
新しいBASICたるswiftとswift playgroundでいいです。
ちょっと数学的解析するのに使ったらすげぇ楽だこれ
ちにゃ〜
120デフォルトの名無しさん
2022/07/18(月) 16:31:30.05ID:o05Sk4F2 >>119
Mathematicaとかmaxmaとか使ったほうがいいんじゃない
Mathematicaとかmaxmaとか使ったほうがいいんじゃない
121デフォルトの名無しさん
2022/07/18(月) 23:29:01.81ID:V4/YV6GP122デフォルトの名無しさん
2022/07/19(火) 00:44:59.22ID:gapBBEtz よく考えて設計したがためにtraitにasync fnを定義するためにGATsが必要で
コンパイラにSATソルバーを入れる必要が出てきてたりして大変そう
コンパイラにSATソルバーを入れる必要が出てきてたりして大変そう
123デフォルトの名無しさん
2022/07/19(火) 09:36:36.78ID:wQVGctip タイトルにRustが無いのに、こいつらは文字も読めなければ知性すらない。そりゃ嫌われるわな
124デフォルトの名無しさん
2022/07/19(火) 22:42:59.43ID:MhwTnkaY 比較としてrustが出るならいいが、単独で出されると何だかなぁ感があるよな。
125デフォルトの名無しさん
2022/07/20(水) 01:23:22.22ID:x6yfnsIC Google?の新言語
https://github.com/carbon-language/carbon-lang
https://github.com/carbon-language/carbon-lang
126デフォルトの名無しさん
2022/07/20(水) 01:33:59.92ID:xi/WqfXE127デフォルトの名無しさん
2022/07/20(水) 01:40:05.72ID:nOwUi7j2128デフォルトの名無しさん
2022/07/20(水) 10:38:59.85ID:+8MBpHfA129デフォルトの名無しさん
2022/07/20(水) 13:53:08.57ID:QduY8YNs 名前は置いておいてついに決定版の言語が出たか
Rustの次の言語だなこれは
Rustの次の言語だなこれは
130デフォルトの名無しさん
2022/07/20(水) 14:18:06.41ID:ThH+Z+BW 見たところZigのC++版ってとこかな
131デフォルトの名無しさん
2022/07/20(水) 14:18:06.52ID:GOFKDz27 Rsutは死産だったな
132デフォルトの名無しさん
2022/07/20(水) 14:36:18.32ID:CC/ADkRB Nim言語ならC++の関数だけでなくテンレート関数/クラスを呼び出せる機能があり、std::vectorやstd::stringを使うことも可能。
compileプラグマを使えばC++のコードをコンパイルしてリンクできる。
emitプラグマ使えばNimのコードの中にC++コードを入れることができる。
Nim言語はC++言語を生成してからgcc/clang/vcc等のC++コンパイラを呼び出して実行ファイルを生成するからC++と簡単に連帯できる。
compileプラグマを使えばC++のコードをコンパイルしてリンクできる。
emitプラグマ使えばNimのコードの中にC++コードを入れることができる。
Nim言語はC++言語を生成してからgcc/clang/vcc等のC++コンパイラを呼び出して実行ファイルを生成するからC++と簡単に連帯できる。
133デフォルトの名無しさん
2022/07/20(水) 15:42:59.72ID:qJwz0nM8 Nimはもっと評価されて良いと思う
134デフォルトの名無しさん
2022/07/20(水) 16:04:11.13ID:QduY8YNs Goはオワコンということでよろしいか?
135デフォルトの名無しさん
2022/07/20(水) 16:15:14.40ID:LSK66KxM なんでセミコロンありなの?
136デフォルトの名無しさん
2022/07/20(水) 17:02:44.97ID:ThH+Z+BW 開発者の趣味
137デフォルトの名無しさん
2022/07/20(水) 18:42:51.78ID:5UvTR+16 GC言語 GCによる自動メモリ解放
Rust 即時の自動メモリ解放
C/C++/Carbon(現在0.1) 自動メモリ解放ではない
Rust 即時の自動メモリ解放
C/C++/Carbon(現在0.1) 自動メモリ解放ではない
138デフォルトの名無しさん
2022/07/20(水) 19:19:34.59ID:XnEgORKH >>137
Rustはスタックに積んでいる&生ポインタが無いから自動回収されるだけ。c/c++と一緒。
そんなことよりもスタック重視で基本は何でもスタックということを強調したほうがRustらしさの説明になるだろ。
Rustはスタックに積んでいる&生ポインタが無いから自動回収されるだけ。c/c++と一緒。
そんなことよりもスタック重視で基本は何でもスタックということを強調したほうがRustらしさの説明になるだろ。
139デフォルトの名無しさん
2022/07/20(水) 20:40:05.79ID:xdIX6xM1 Rustはあらゆる面で安全と高速を両立する抽象化を実現した言語
Carbonのドキュメントを見ると目標はそこでなくRustの領分に入って来ていないでしょう
Carbonのドキュメントを見ると目標はそこでなくRustの領分に入って来ていないでしょう
140デフォルトの名無しさん
2022/07/20(水) 20:43:23.04ID:CC/ADkRB ほとんどのシステムプログラミング言語と呼ばれるものは変数がスタックに確保されるかヒープに確保するかはコントロールできるはず。
ただし可変長な配列や文字列型はヒープにデータを格納される。
違いはヒープに変数を確保したときに手動で解放する手法、スコープ抜けたら解放する手法、参照カウンタが0になったら解放する手法、GCを使う手法などがあるところ。(valeのgenerational referencesというのもあるけど)
Nim言語でもrefがついてないobjectはスタックに置かれるしRustでもBoxやRc使えばヒープに確保されるしC++でもscoped_ptr使えば参照カウンタでヒープが管理される。
基本的に変数はスタックに確保して、どうしても必要であれば(一つのオブジェクトを複数の変数から参照したい、OOPしたいなど)ヒープを確保するという感じの書き方になると思うけど。
ただし可変長な配列や文字列型はヒープにデータを格納される。
違いはヒープに変数を確保したときに手動で解放する手法、スコープ抜けたら解放する手法、参照カウンタが0になったら解放する手法、GCを使う手法などがあるところ。(valeのgenerational referencesというのもあるけど)
Nim言語でもrefがついてないobjectはスタックに置かれるしRustでもBoxやRc使えばヒープに確保されるしC++でもscoped_ptr使えば参照カウンタでヒープが管理される。
基本的に変数はスタックに確保して、どうしても必要であれば(一つのオブジェクトを複数の変数から参照したい、OOPしたいなど)ヒープを確保するという感じの書き方になると思うけど。
141デフォルトの名無しさん
2022/07/20(水) 20:52:32.44ID:5UvTR+16 Rustでは自動的に安全に即座にメモリ解放される
ここが重要なポイント
だからRustは高速と安全を両立させることができている
それに加えてRustではメモリ競合なども完全に防止する
ここが重要なポイント
だからRustは高速と安全を両立させることができている
それに加えてRustではメモリ競合なども完全に防止する
142デフォルトの名無しさん
2022/07/20(水) 21:03:41.80ID:5UvTR+16 そしてCarbonの目標文書を読んでもその目標は書かれていない
つまりRustの本質と競合する言語ではない
つまりRustの本質と競合する言語ではない
143デフォルトの名無しさん
2022/07/21(木) 00:23:47.84ID:F7Gtvv1S 変数をヒープに確保するという言い方はなんか気持ち悪いな
144デフォルトの名無しさん
2022/07/21(木) 00:34:40.13ID:MOkaWH3B 結局CarbonはC++の変種に過ぎないのか
新たなプロジェクトではRustを利用する流れは変わりそうにないな
Carbon採用の動機や利点が全くない
新たなプロジェクトではRustを利用する流れは変わりそうにないな
Carbon採用の動機や利点が全くない
145デフォルトの名無しさん
2022/07/21(木) 00:49:33.21ID:JPxznSjw Googleが推してるのではなくGoogle社員のプロジェクトやからね
146デフォルトの名無しさん
2022/07/21(木) 00:50:32.86ID:mCQN4Yoj なんでそんな必死なん?
147デフォルトの名無しさん
2022/07/21(木) 01:20:47.87ID:F7Gtvv1S 将来的にはcarbon freeにしたいという自虐ネタを込めた命名
148デフォルトの名無しさん
2022/07/21(木) 01:25:08.23ID:qcok3Xr6 人によりけりだけど、一つのプログラミング言語を学習してそれをずっと使いつづけたい、他の言語の勉強したくないという人は多い。
Rustは比較的学習コストが高め。
もし他のプログラミング言語がメジャーになったりもっと優れたプログラミング言語が現れると苦労してRustを勉強した努力が無駄になってしまう。
だから新しい言語の話題がでるとRustを苦労して勉強した努力が無駄になってしまうという恐怖感が生まれて必死に否定するんじゃないかと。
異なるプログラミング言語間でも似た所はあるし、新しい言語を学ぶときにRust言語を学んだ経験が全く無駄になることはないだろうと思うけど。
Rustは比較的学習コストが高め。
もし他のプログラミング言語がメジャーになったりもっと優れたプログラミング言語が現れると苦労してRustを勉強した努力が無駄になってしまう。
だから新しい言語の話題がでるとRustを苦労して勉強した努力が無駄になってしまうという恐怖感が生まれて必死に否定するんじゃないかと。
異なるプログラミング言語間でも似た所はあるし、新しい言語を学ぶときにRust言語を学んだ経験が全く無駄になることはないだろうと思うけど。
149デフォルトの名無しさん
2022/07/21(木) 01:25:42.94ID:nOpNTAAx Carbonでオブジェクトをヒープに確保するのどうやるの?
なんかよーわからん
ドキュメントがなさすぎる
流石にまだこれを使うのは難しいな
なんかよーわからん
ドキュメントがなさすぎる
流石にまだこれを使うのは難しいな
150デフォルトの名無しさん
2022/07/21(木) 01:34:26.10ID:nOpNTAAx Rustの欠点として可変参照の扱いがC/C++互換をかなり難しくしてるんだよな
既存プロジェクトとのinteropにおいては無視できないケースが多い
特にGoogleなどの大企業は
その結果生まれたのがCarbon
既存プロジェクトとのinteropにおいては無視できないケースが多い
特にGoogleなどの大企業は
その結果生まれたのがCarbon
151デフォルトの名無しさん
2022/07/21(木) 01:56:23.59ID:F7Gtvv1S Carbon本家もRustが使えるならRustを使えと言っている
でかいC++プロジェクト抱えてる人が使うものだよね
https://github.com/carbon-language/carbon-lang/blob/trunk/docs/project/faq.md#why-not-rust
でかいC++プロジェクト抱えてる人が使うものだよね
https://github.com/carbon-language/carbon-lang/blob/trunk/docs/project/faq.md#why-not-rust
152デフォルトの名無しさん
2022/07/21(木) 02:05:12.80ID:hbmQrHo+ >>148
Rustが出現して以来これだけ時間が経過しても
Rustが実現した『高速と安全の両立』を満たす他の言語が出てこなかった
その結果が大手IT各社による共同でのRustへの支援表明とRust Foundation設立
そしてC++を拒否していたLinux開発陣営までもがRust採用発表
つまり既にこの業界では雌雄が決している
Rustが出現して以来これだけ時間が経過しても
Rustが実現した『高速と安全の両立』を満たす他の言語が出てこなかった
その結果が大手IT各社による共同でのRustへの支援表明とRust Foundation設立
そしてC++を拒否していたLinux開発陣営までもがRust採用発表
つまり既にこの業界では雌雄が決している
153デフォルトの名無しさん
2022/07/21(木) 02:06:50.27ID:hbmQrHo+ >>148
次に学習コストが高いといっても
他との大きな違いは所有権とライフタイムだけでありその概念は一日あれば誰でも理解できる
そして後は具体的にコードを書いて身につけてくのも他の概念と同じ
さらにRustが実現した『高速と安全の両立』のためには所有権とライフタイムによるのが最も適切とわかってきた
つまりRust以外に両立を満たす言語が出てきても学習必須の概念となる
同時にそれは画期的な発明がなされない限りRustの二番煎じの言語しか出現しないことを意味する
次に学習コストが高いといっても
他との大きな違いは所有権とライフタイムだけでありその概念は一日あれば誰でも理解できる
そして後は具体的にコードを書いて身につけてくのも他の概念と同じ
さらにRustが実現した『高速と安全の両立』のためには所有権とライフタイムによるのが最も適切とわかってきた
つまりRust以外に両立を満たす言語が出てきても学習必須の概念となる
同時にそれは画期的な発明がなされない限りRustの二番煎じの言語しか出現しないことを意味する
154デフォルトの名無しさん
2022/07/21(木) 02:13:15.45ID:hbmQrHo+ >>150
データ競合安全性に関しては誰が考えても可変参照の不可変参照との区別が必要となる
むしろその区別をはっきりさせてこなかったために従来の言語はデータ競合の入りうる隙きを許してきた
過渡的には既存の安全でないものと組み合わせる時に扱いが大変だとしても
最終的には可能な限り全て安全なもので組み立てていくことになろう
データ競合安全性に関しては誰が考えても可変参照の不可変参照との区別が必要となる
むしろその区別をはっきりさせてこなかったために従来の言語はデータ競合の入りうる隙きを許してきた
過渡的には既存の安全でないものと組み合わせる時に扱いが大変だとしても
最終的には可能な限り全て安全なもので組み立てていくことになろう
155デフォルトの名無しさん
2022/07/21(木) 02:17:23.88ID:F7Gtvv1S156デフォルトの名無しさん
2022/07/21(木) 02:41:33.10ID:SY914jbi157デフォルトの名無しさん
2022/07/21(木) 04:57:34.89ID:tF9h1cCP ifの条件のとこ括弧必要なのかよ!
158デフォルトの名無しさん
2022/07/21(木) 05:28:59.67ID:aDWah/z9159デフォルトの名無しさん
2022/07/21(木) 06:11:50.65ID:EDO+eFgH 恐らくCarbonはRustのいいところだけを抽出した感じだな
CarbonのほうがC++やTypeScriptに近いのでRustよりも馴染むだろう
Carbon派とRust派で分かれそうだ
CarbonのほうがC++やTypeScriptに近いのでRustよりも馴染むだろう
Carbon派とRust派で分かれそうだ
160デフォルトの名無しさん
2022/07/21(木) 06:23:11.04ID:aDWah/z9161デフォルトの名無しさん
2022/07/21(木) 08:20:01.30ID:WJJWa/BR C++の後継目指すプログラミング言語「Carbon Language」、Googleの技術者が実験的公開。C++は技術的負債で改良が困難と
https://www.publickey1.jp/blog/22/ccarbon_languagegooglec.html
https://www.publickey1.jp/blog/22/ccarbon_languagegooglec.html
162デフォルトの名無しさん
2022/07/21(木) 09:57:08.94ID:6/eI+t+6163デフォルトの名無しさん
2022/07/21(木) 11:18:14.67ID:BsoCJ7d4 所有権どころかシャローコピーとディープコピーの違いも知らずにRust通を気取ってるアタオカさんだからRustスレでは鼻つまみもの
164デフォルトの名無しさん
2022/07/21(木) 11:19:06.12ID:9tbOXQd/ キモキモRustマン、ワッショイワッショイはRustスレでやれ。二度と来んな
165デフォルトの名無しさん
2022/07/21(木) 12:02:23.44ID:nj8XyhCb Rustスレ民が学習して構ってもらえなくなっちゃったから来てるんでしょ
166デフォルトの名無しさん
2022/07/21(木) 13:04:30.75ID:nOpNTAAx ここ以外でもツイッターとかでやたらRust難しいと印象操作しようとしてるやついるよな
C/C++をまともに書いたこと有ればたいして難しくもないのに
C/C++をまともに書いたこと有ればたいして難しくもないのに
167デフォルトの名無しさん
2022/07/21(木) 13:47:25.39ID:LMMByu3R >C/C++をまともに書いたこと有ればたいして難しくもない
その通り
で結局C/C++でええやんという話に戻る
その通り
で結局C/C++でええやんという話に戻る
168デフォルトの名無しさん
2022/07/21(木) 13:47:41.33ID:dTNn2Vwx 色んな言語をやってきてRustが特に難しいとは思わなかった
むしろ便利さと書きやすさで気に入った
他の言語より抽象化されてる感じが良いね
そこが頭の弱い人には逆に難しく感じるのかも
むしろ便利さと書きやすさで気に入った
他の言語より抽象化されてる感じが良いね
そこが頭の弱い人には逆に難しく感じるのかも
169デフォルトの名無しさん
2022/07/21(木) 13:53:10.37ID:dTNn2Vwx170デフォルトの名無しさん
2022/07/21(木) 14:00:17.21ID:MFhv3qMI C++はmove semanticsの建て増し感が特に厳しいな
後付するならあれしかなかったのは分かるけど
そこがちゃんとしてるというだけでもRustの方が楽に感じる
後付するならあれしかなかったのは分かるけど
そこがちゃんとしてるというだけでもRustの方が楽に感じる
171デフォルトの名無しさん
2022/07/21(木) 14:02:26.54ID:cxEc0/aI RustのC++との相互運用性を改善する方向性で頑張ってくれたらよかったのにな
C++の保守専用言語なんか普及するわけないじゃん
C++の保守専用言語なんか普及するわけないじゃん
172デフォルトの名無しさん
2022/07/21(木) 14:11:46.30ID:dTNn2Vwx >>171
Carbonを新たな開発で使うことはないだろうからC++の保守専用言語という表現いいね
Carbonを新たな開発で使うことはないだろうからC++の保守専用言語という表現いいね
173デフォルトの名無しさん
2022/07/21(木) 14:57:52.79ID:j9ULkGXf174デフォルトの名無しさん
2022/07/21(木) 15:55:40.07ID:Q1uK5/Rv175デフォルトの名無しさん
2022/07/21(木) 16:06:53.27ID:iRk5Je6N そんなにシステムプログラミング言語が必要な事をやってるの?
私の場合は、Pythonでほとんど困らなくて、偶に.net系くらいなもんだから、Rustの話が続いても別世界の話過ぎて、付いていない…
私の場合は、Pythonでほとんど困らなくて、偶に.net系くらいなもんだから、Rustの話が続いても別世界の話過ぎて、付いていない…
176デフォルトの名無しさん
2022/07/21(木) 16:25:46.06ID:PcF3TGn3177デフォルトの名無しさん
2022/07/21(木) 16:28:02.22ID:mCQN4Yoj こういう奴が一番危険なんだよな。。実際仕事すると洒落にならんことし始める。
178デフォルトの名無しさん
2022/07/21(木) 17:45:24.11ID:aer6+S9Z メモリやらリソース管理、分散処理の課題をRust以上まともに解決してない言語だと、次世代って感じしないなぁ。
柔軟さ動的さに極振りだったRubyや、関数型のパラダイムを持ち込んだHaskellとかもなんか新しさがあったわけで。
柔軟さ動的さに極振りだったRubyや、関数型のパラダイムを持ち込んだHaskellとかもなんか新しさがあったわけで。
179デフォルトの名無しさん
2022/07/21(木) 18:05:35.14ID:lCXJwEni rubyは目新しさというよりは
perlよりマシっていう感じだったよね実際は
perlよりマシだしOOPLを自称してるし
イテレータがあるしで
(当初は内部イテレータがあるのをウリにしてた記憶)
「ザ・ちょうどそういうの欲しかってん言語」って感じ
perlよりマシっていう感じだったよね実際は
perlよりマシだしOOPLを自称してるし
イテレータがあるしで
(当初は内部イテレータがあるのをウリにしてた記憶)
「ザ・ちょうどそういうの欲しかってん言語」って感じ
180デフォルトの名無しさん
2022/07/21(木) 18:09:56.47ID:nOpNTAAx Rustわからんって言ってる人ってスタックとヒープを理解してない
せめてメモリのレイアウトぐらい理解しとこうよ
せめてメモリのレイアウトぐらい理解しとこうよ
181デフォルトの名無しさん
2022/07/21(木) 18:22:38.41ID:iRk5Je6N >>180
スタックとヒープの違いやメモリ解放とOSへ返却が違う位は分かるけれど、私にはRustは過剰で難しい。
スタックとヒープの違いやメモリ解放とOSへ返却が違う位は分かるけれど、私にはRustは過剰で難しい。
182デフォルトの名無しさん
2022/07/21(木) 18:37:11.06ID:nOpNTAAx183デフォルトの名無しさん
2022/07/21(木) 18:50:15.74ID:ppiq2d/L >元がダメだからボロ屋の上に建て増し違法建築みたいになっちゃってる
まあ同意は出来るが
「C/C++を*まとも*に使える」
という意味の捉え方によるな
違法建築になってるのは「*まとも*に使えてない」人のコード
まあ同意は出来るが
「C/C++を*まとも*に使える」
という意味の捉え方によるな
違法建築になってるのは「*まとも*に使えてない」人のコード
184デフォルトの名無しさん
2022/07/21(木) 18:52:26.12ID:HGs+QJMA >>183
やっぱりc++のダメな部分を削ったsmart c++欲しいな。
やっぱりc++のダメな部分を削ったsmart c++欲しいな。
185デフォルトの名無しさん
2022/07/21(木) 18:54:02.97ID:ppiq2d/L186デフォルトの名無しさん
2022/07/21(木) 19:14:35.47ID:F7Gtvv1S C/C++をやればスタックとヒープの概念が身につくのであればRustをやってそれらが身につかない理由もないと思うが
187デフォルトの名無しさん
2022/07/21(木) 19:18:49.81ID:vhEYvTLl >>184
それがRustの狙いでは?
それがRustの狙いでは?
188デフォルトの名無しさん
2022/07/21(木) 19:19:07.93ID:ipycKOwR >>185
遠回りになるがそこから始めるのもありかもな
メモリ関連はそれなりの失敗経験がないと体で理解できないから
Cでクソでかい構造体をスタックに置いてしまって
スタックオーバーフロー起こしてシステム停止したり
C++でコピーコンストラクタの実装ミスって
ダングリングポインタ作ってシステム停止したり
デストラクタでdelete忘れてメモリリーク起こして
システム停止したり
それなりの地獄を味わってる俺が言うんだ間違いない
遠回りになるがそこから始めるのもありかもな
メモリ関連はそれなりの失敗経験がないと体で理解できないから
Cでクソでかい構造体をスタックに置いてしまって
スタックオーバーフロー起こしてシステム停止したり
C++でコピーコンストラクタの実装ミスって
ダングリングポインタ作ってシステム停止したり
デストラクタでdelete忘れてメモリリーク起こして
システム停止したり
それなりの地獄を味わってる俺が言うんだ間違いない
189デフォルトの名無しさん
2022/07/21(木) 19:44:43.35ID:F7Gtvv1S 趣味プログラミングならどんどん変なことしてクラッシュさせれば良いけど
業務ならもっと安全を期したいなぁ
業務ならもっと安全を期したいなぁ
190デフォルトの名無しさん
2022/07/21(木) 19:52:05.48ID:lCXJwEni > それなりの地獄
かわいい地獄でつねw
かわいい地獄でつねw
191デフォルトの名無しさん
2022/07/21(木) 19:54:55.78ID:qQS6uOSz C/C++のよくある業務ってやっぱり組み込み?
それかゲーム開発?
それかゲーム開発?
192デフォルトの名無しさん
2022/07/21(木) 20:25:53.32ID:n+UC1473 無料で答える業務はない
193デフォルトの名無しさん
2022/07/21(木) 20:54:05.56ID:rGFlKcYB194デフォルトの名無しさん
2022/07/21(木) 21:04:39.89ID:v1bwr09c >>191
スマホの課金ゲームのバックグランド鯖の開発とかもあるよ
スマホの課金ゲームのバックグランド鯖の開発とかもあるよ
195デフォルトの名無しさん
2022/07/21(木) 22:23:39.66ID:EhpLe0Nv PythonやJavaScript書くときはでかいアロケーションの有無くらいしか意識しないけど
C#やSwift書くときはvalue typeとreference typeの使い分けがあるからスタックとヒープもそれなりに意識する
Goの場合は気になるところでescape analysis
C#やSwift書くときはvalue typeとreference typeの使い分けがあるからスタックとヒープもそれなりに意識する
Goの場合は気になるところでescape analysis
196デフォルトの名無しさん
2022/07/21(木) 23:33:08.48ID:n+UC1473 三角関数や薬剤師の存在を意識してる人は大体が
「コスト」を強く意識した方がメリットが大きいと思い込んで意識している
「コスト」を強く意識した方がメリットが大きいと思い込んで意識している
197デフォルトの名無しさん
2022/07/21(木) 23:43:19.63ID:U3FKAWyk 自分でも何を書いてるのか理解できてなさそう
思い込んで意識するというのも意味不明
思い込んで意識するというのも意味不明
198デフォルトの名無しさん
2022/07/21(木) 23:53:17.15ID:vrEITS91 >>195
PythonやRubyやJavaScriptなどのオモチャ言語しか使ったことのない人だけがスタックとヒープを意識しないわけか
PythonやRubyやJavaScriptなどのオモチャ言語しか使ったことのない人だけがスタックとヒープを意識しないわけか
199デフォルトの名無しさん
2022/07/22(金) 06:54:41.09ID:WiEbw06Y コンピューターの動作を隠蔽すればオモチャに近づくのなら究極的にはアセンブラ以外は全てオモチャなのではないだろうか
200デフォルトの名無しさん
2022/07/22(金) 07:02:16.68ID:FhKnOINS アセンブラはスタックやメモリーにアクセスするプログラムを書かされる。
Cはメモリーにアクセスするプリグラムを書かされる。
Javaはスタックもメモリーも意識する必要がない。
すなわちJavaが最も優れている。
Cはメモリーにアクセスするプリグラムを書かされる。
Javaはスタックもメモリーも意識する必要がない。
すなわちJavaが最も優れている。
201デフォルトの名無しさん
2022/07/22(金) 07:23:24.99ID:oyZ2TNIq >>199
メモリについてもそれ以外についても
抽象度が高い方がプログラミングしやすい
アセンブラよりもスタックとヒープというメモリについての抽象化をした言語の方が扱いやすい
一方で過度の抽象化は実用性を失う
例えばメモリとローカルディスクとネット上のディスクを全て統合して一つの巨大なメモリ空間に抽象化すると
巨大なメモリ空間を扱う極一部の用途を除いて過度の抽象化となってしまい速度差があるものは別々のままの方が好ましい
スタックとヒープを意識せずに済むPythonやRubyやJavaScriptなどの言語も同様な面がある
スタックとヒープには速度差があるため速さを重視する用途から見ると過渡の抽象化といえる
速さを重視せず意識しない用途をオモチャ用途と呼ぶならばPythonやRubyやJavaScriptはオモチャ用途すなわちオモチャ言語とも言えないことはない
メモリについてもそれ以外についても
抽象度が高い方がプログラミングしやすい
アセンブラよりもスタックとヒープというメモリについての抽象化をした言語の方が扱いやすい
一方で過度の抽象化は実用性を失う
例えばメモリとローカルディスクとネット上のディスクを全て統合して一つの巨大なメモリ空間に抽象化すると
巨大なメモリ空間を扱う極一部の用途を除いて過度の抽象化となってしまい速度差があるものは別々のままの方が好ましい
スタックとヒープを意識せずに済むPythonやRubyやJavaScriptなどの言語も同様な面がある
スタックとヒープには速度差があるため速さを重視する用途から見ると過渡の抽象化といえる
速さを重視せず意識しない用途をオモチャ用途と呼ぶならばPythonやRubyやJavaScriptはオモチャ用途すなわちオモチャ言語とも言えないことはない
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【子ども・子育て支援金】来年4月から徴収、月収50万円なら月600円程度…健保連試算 [蚤の市★]
- 高市首相告白「『なめられない服』を選ぶことに数時間を費やしました」「外交交渉でマウント取れる服、買わなくてはいかんかもなぁ」★4 [ぐれ★]
- 「加熱式たばこ」の受動喫煙、「紙巻き」同様の対策強化を検討へ…厚労省の専門委が議論スタート [蚤の市★]
- ゴルフ練習場の倒産 過去最多「屋外打ちっぱなし」と「インドア」の熾烈な競争 [蚤の市★]
- 【札幌】「アニメのキャラのまねをするためだった」上半身はダウンジャケット・下半身はスッポンポン…43歳無職の男を逮捕 [nita★]
- 日本の旅客機、定時に飛べず 羽田空港発着の半数が15分超遅延 [蚤の市★]
- ウヨクは軍備増強すれば抑止力になるって言うけどさ軍備増強しまくった中国に侵略します宣言した日本見れば意味ないの分かるよね [817148728]
- 【速報】高市、今度はロシアに喧嘩を売る [329271814]
- 竹中平蔵氏、万博を批判していた人たちにチクリ「反省の弁聞きたい」 [686538148]
- 国宝みたんだけど
- 【📛専】とうふさんすこすこ😊👎スレッド【とうふゲームズ🏡】
- 【速報】高市早苗、G20サミット”社長出勤” [614650719]
