競え
※前スレ
C++ vs Rust
https://mevius.5ch.net/test/read.cgi/tech/1619219089/
C vs C++ vs Rust Part.2
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2021/12/15(水) 12:35:50.91ID:biBE4xC0401デフォルトの名無しさん
2022/01/03(月) 23:21:21.46ID:T+WwhkSI null安全はマジで当たり前すぎてメリットでもなんでもないから
nullの話なんてしたくないわ
nullの話なんてしたくないわ
402デフォルトの名無しさん
2022/01/03(月) 23:22:53.63ID:T+WwhkSI そもそもnullのある言語でもnull参照で死ぬなんてのは
よっぽどのクソコードでテストもしてないときだけだろ
よっぽどのクソコードでテストもしてないときだけだろ
403デフォルトの名無しさん
2022/01/03(月) 23:26:20.57ID:r29FUtSQ 関数の定義からnullableが否かが分かるのがOption<T> のうれしいところと思う
加えて引数や戻り値の所有権が分かるのもRustのうれしいポイントかと
加えて引数や戻り値の所有権が分かるのもRustのうれしいポイントかと
404デフォルトの名無しさん
2022/01/03(月) 23:28:42.03ID:r29FUtSQ fool proofの話をすると Option<T> でも闇雲に unwrap はできるので考えなしのプログラムだとクラッシュする点は変わらない
SEGVじゃなくpanicになるとか、落ちる可能性のある箇所が明示される点でnullよりはマシだが
SEGVじゃなくpanicになるとか、落ちる可能性のある箇所が明示される点でnullよりはマシだが
405デフォルトの名無しさん
2022/01/03(月) 23:34:21.19ID:T+WwhkSI ほんま、そういうことやな
null安全で助かるケースなんてそもそもわずかしかないんだ
unwrapだとかゼロ除算だとかいろんなロジックミスで結局は落ちる
borrow checkerのおかげでデータ競合が起きない、とからへんが重要なメリットと思う
null安全で助かるケースなんてそもそもわずかしかないんだ
unwrapだとかゼロ除算だとかいろんなロジックミスで結局は落ちる
borrow checkerのおかげでデータ競合が起きない、とからへんが重要なメリットと思う
406デフォルトの名無しさん
2022/01/03(月) 23:35:17.83ID:QWHqEk/O いやいやww
407デフォルトの名無しさん
2022/01/04(火) 00:27:33.52ID:bkmFGqSu408デフォルトの名無しさん
2022/01/04(火) 00:32:09.36ID:SqHXhMR8 こちらはNull安全協会です、今なら3,000円お支払い頂くとより安全になり免許証入れまでついてます。
本協会ではNullは許しませんが、DBなどの道路にNullが転がっています。
また外部値など入力が無いことを示すのはResult::Errや特異値:-1やNaNなどで表すものではありませんので
クソ設計はやめてください、Option::NoneでNullを示し、ほかの言語と同じく必ずmatchで検査してください。
unwrapもダメです。Null安全協会では皆様に頂いたご声援でド素人が語れてゴリラのマウントのように
ウッホウッホホと潤っています。またNull安全語り部Rusterの攻撃性は以上ですので近づかないでください
本協会ではNullは許しませんが、DBなどの道路にNullが転がっています。
また外部値など入力が無いことを示すのはResult::Errや特異値:-1やNaNなどで表すものではありませんので
クソ設計はやめてください、Option::NoneでNullを示し、ほかの言語と同じく必ずmatchで検査してください。
unwrapもダメです。Null安全協会では皆様に頂いたご声援でド素人が語れてゴリラのマウントのように
ウッホウッホホと潤っています。またNull安全語り部Rusterの攻撃性は以上ですので近づかないでください
409デフォルトの名無しさん
2022/01/04(火) 10:11:55.33ID:GnZE9ial C++の利点は何だろ?
410デフォルトの名無しさん
2022/01/04(火) 10:32:59.80ID:qi/CVito >>409
自由であること
自由であること
411デフォルトの名無しさん
2022/01/04(火) 10:52:02.62ID:eYWJvdmr Rustはコーディング刑務所
412デフォルトの名無しさん
2022/01/04(火) 11:03:52.07ID:g6u5uJtl Null安全性はまともなUXを提供したい場合に生産性を改善する道具
なくても落ちることはほとんどないみたいな視点でしか捉えてないなら価値を理解してない
なくても落ちることはほとんどないみたいな視点でしか捉えてないなら価値を理解してない
413デフォルトの名無しさん
2022/01/04(火) 12:02:58.31ID:ri86vl0z 誰のUXやねん
誰の生産性やねん
誰の生産性やねん
414デフォルトの名無しさん
2022/01/04(火) 13:26:40.47ID:gSVIkeEa415デフォルトの名無しさん
2022/01/04(火) 13:32:57.78ID:gSVIkeEa >>409
もっとも健全なアプリを作りうること
もっとも健全なアプリを作りうること
416デフォルトの名無しさん
2022/01/04(火) 14:39:07.88ID:h92/V+9B >>409
鼻から悪魔が出てきたりしても言語仕様を逸脱していないこと
鼻から悪魔が出てきたりしても言語仕様を逸脱していないこと
417デフォルトの名無しさん
2022/01/04(火) 17:56:16.15ID:llSa7WOy Rustはコンパイルできたら問題は起きないみたいに思ってたけど違うのね
これじゃやっぱり初心者に毛が生えたようなのがゴミコード量産するのかな
これじゃやっぱり初心者に毛が生えたようなのがゴミコード量産するのかな
418デフォルトの名無しさん
2022/01/04(火) 18:04:30.86ID:eYWJvdmr ゴミコーダ矯正所
419デフォルトの名無しさん
2022/01/04(火) 18:35:43.62ID:mgG32sq7 それはそう
たとえPrologを使ってもバグはなくならない
でもコンパイラのチェックでなくせる類のバグならなくしたいよね
たとえPrologを使ってもバグはなくならない
でもコンパイラのチェックでなくせる類のバグならなくしたいよね
420デフォルトの名無しさん
2022/01/04(火) 19:10:18.46ID:llSa7WOy コンパイルを通すために問題の発生するコードを書くとかも考えられるんじゃねーの
そっちのほうが分かりにくいような気がする
そっちのほうが分かりにくいような気がする
421デフォルトの名無しさん
2022/01/04(火) 19:35:35.54ID:aGnbM+4r >>417
あらゆる問題が起きないかというとそうではない(というかそんなプログラミング言語存在しないと思う)けど
大部分のコードのメモリ安全性がコンパイル時に保証されるのはかなり大きなメリットだと思う
例えばuse-after-freeやバッファオーバーフロー、データ競合なんかは問題が発生してもプログラムかその場でクラッシュするとは限らず、しばらく正しく動くように見えてしまう場合もある
この手の異常の原因特定は難しいので、rustでコンパイルエラーや実行時の問題発生時のpanicなどで即問題箇所が分かるようになっているのはかなり嬉しい
あらゆる問題が起きないかというとそうではない(というかそんなプログラミング言語存在しないと思う)けど
大部分のコードのメモリ安全性がコンパイル時に保証されるのはかなり大きなメリットだと思う
例えばuse-after-freeやバッファオーバーフロー、データ競合なんかは問題が発生してもプログラムかその場でクラッシュするとは限らず、しばらく正しく動くように見えてしまう場合もある
この手の異常の原因特定は難しいので、rustでコンパイルエラーや実行時の問題発生時のpanicなどで即問題箇所が分かるようになっているのはかなり嬉しい
422デフォルトの名無しさん
2022/01/04(火) 19:41:25.66ID:aGnbM+4r 初心者に毛の生えたようなのがゴミコード量産しないようなプログラミング言語ってそもそもどういったものなんだろうか
記述に自由度がなく誰がどう書いても同じになるような言語?
記述に自由度がなく誰がどう書いても同じになるような言語?
423デフォルトの名無しさん
2022/01/04(火) 19:51:44.75ID:GnZE9ial それpythonがうたってたきがする
424デフォルトの名無しさん
2022/01/04(火) 19:52:02.24ID:pbb561T/ 386みるとメモリリークの原因が不明っぽいんだけど
言語処理系にメモリ関連任せられるにしても結局原因不明のバグが残るんじゃ意味ないんでわ
言語処理系にメモリ関連任せられるにしても結局原因不明のバグが残るんじゃ意味ないんでわ
425デフォルトの名無しさん
2022/01/04(火) 20:04:11.59ID:jb/bub5S426デフォルトの名無しさん
2022/01/04(火) 20:06:56.90ID:KYGdyDbS427デフォルトの名無しさん
2022/01/04(火) 20:50:34.04ID:/2oFrrnl428デフォルトの名無しさん
2022/01/04(火) 20:53:09.33ID:hAXWFplk Google&MS「バグの70%はC/C++。Rustにする」
https://medaka.5ch.net/test/read.cgi/prog/1619943288/
https://medaka.5ch.net/test/read.cgi/prog/1619943288/
429デフォルトの名無しさん
2022/01/04(火) 21:18:13.95ID:eYWJvdmr C++でうまくかけないヤツとか構造化の仕方がヘタクソなだけだろ
430デフォルトの名無しさん
2022/01/04(火) 21:26:13.33ID:XgtuTErn431デフォルトの名無しさん
2022/01/04(火) 22:20:27.31ID:3laoj6Oq432デフォルトの名無しさん
2022/01/04(火) 22:35:39.57ID:e2VKtfmk >>428
で、バグが減ったか?まるで変わらんやろ。馬鹿馬鹿しい。
で、バグが減ったか?まるで変わらんやろ。馬鹿馬鹿しい。
433デフォルトの名無しさん
2022/01/04(火) 22:39:34.49ID:NZNEJALT C++の存在意義がゼロになったわけではない
C++で作られた過去の莫大なライブラリは今後も併用される
C++しか使えない過去のプログラマーの活用のためにC++を用いる案件もしばらくは残る
C++で作られた過去の莫大なライブラリは今後も併用される
C++しか使えない過去のプログラマーの活用のためにC++を用いる案件もしばらくは残る
434デフォルトの名無しさん
2022/01/04(火) 22:40:33.65ID:f+4ZfnKj 議論したいならまず相手を選ぼうね
ルサンチさんを相手にしても理性的な議論にはならんから
ルサンチさんを相手にしても理性的な議論にはならんから
435デフォルトの名無しさん
2022/01/04(火) 22:57:10.37ID:llSa7WOy 個人的には大規模なC/C++の組み込み開発で散々メモリ破壊系の不具合に泣かされてきたから組み込みでRustを使う流れがきてるのに期待してる
国産RTOSだとKMCのToppersベースのOS、SOLIDが最近Rustに対応し始めた
国産RTOSだとKMCのToppersベースのOS、SOLIDが最近Rustに対応し始めた
436デフォルトの名無しさん
2022/01/04(火) 23:30:25.45ID:C7kM4kmV437デフォルトの名無しさん
2022/01/05(水) 00:36:25.86ID:PXsSrjEd >>436
そんなには起きないけど1,2機種に1個ぐらいは難問と言われるような不具合があるかな?
共通してるのは再現性がとても低いかつランダムな領域のメモリを破壊する
でもいざ何週間もかけて仕込み入れて再現されて原因特定するとしょーもない不具合だったりする
それこそRustじゃコンパイル通らないような初歩的な原因だったこともある
静的解析ツールは回してるけどどうしても漏れることはある
そんなには起きないけど1,2機種に1個ぐらいは難問と言われるような不具合があるかな?
共通してるのは再現性がとても低いかつランダムな領域のメモリを破壊する
でもいざ何週間もかけて仕込み入れて再現されて原因特定するとしょーもない不具合だったりする
それこそRustじゃコンパイル通らないような初歩的な原因だったこともある
静的解析ツールは回してるけどどうしても漏れることはある
438デフォルトの名無しさん
2022/01/05(水) 07:47:37.79ID:IIKhgKt4 嘘くせえwメモリ破壊を理由にRustに期待とか意味わからん
MMUがちゃんと設定できてないか、スタック不足でリークしてるだけとか、あるいはスレッド競合に見えるし
比べてる対象がOS前提のRustと、そんなもの無い開発を比べてないか
MMUがちゃんと設定できてないか、スタック不足でリークしてるだけとか、あるいはスレッド競合に見えるし
比べてる対象がOS前提のRustと、そんなもの無い開発を比べてないか
439デフォルトの名無しさん
2022/01/05(水) 07:48:29.43ID:jCayWhDI >>436
同意だな
Cなんて学習の過程でなんぼでもメモリ壊すもんだから
逆説的だけどメモリなんて壊し慣れてるんだよ
どうやって壊してるのかどうやったから壊れたのか
だからだんだん目新しい壊し方が無くなってきてスリルは無くなる
同意だな
Cなんて学習の過程でなんぼでもメモリ壊すもんだから
逆説的だけどメモリなんて壊し慣れてるんだよ
どうやって壊してるのかどうやったから壊れたのか
だからだんだん目新しい壊し方が無くなってきてスリルは無くなる
440デフォルトの名無しさん
2022/01/05(水) 10:11:35.03ID:RHFS+zMh バカだろおまえ
441デフォルトの名無しさん
2022/01/05(水) 12:14:32.80ID:R1aBhW/Q このスレがム板内で一番勢いあるのが笑える
C++やRustの本スレより勢いあるやん
C++やRustの本スレより勢いあるやん
442デフォルトの名無しさん
2022/01/05(水) 17:00:20.32ID:D7gzVahT443デフォルトの名無しさん
2022/01/05(水) 17:48:42.80ID:od0+oW4W 本当に調査が難しいのは、並列処理があって競合状態が起きてるときかなあ
444デフォルトの名無しさん
2022/01/05(水) 18:37:34.29ID:5WkA2q2d ランダムな領域のメモリを破壊が毎回起きて組み込みやってます!キリッ
445デフォルトの名無しさん
2022/01/05(水) 19:21:52.17ID:bh75XIUs HaskellとRustはコンパイル出来た時点でバグが無いことを保証される。
446デフォルトの名無しさん
2022/01/05(水) 19:36:29.51ID:N7h+YsNa 釣り針見えてますよ
447デフォルトの名無しさん
2022/01/05(水) 20:15:39.00ID:bh75XIUs これが釣りに見えるのか。
驚きです。
驚きです。
448デフォルトの名無しさん
2022/01/05(水) 21:37:09.44ID:hbslRCuW HaskellとRustのバグはバグじゃなくて仕様と呼ぶからなw
449デフォルトの名無しさん
2022/01/05(水) 22:15:33.82ID:/CcLnr/X どうせバカが使ってもRc、RefCellばっかのコードで全く所有権なんて活かせないコードにしかならんよ。
450デフォルトの名無しさん
2022/01/06(木) 14:37:54.75ID:eeb9qMHg >>447
rustのコンパイラって不等号の向き間違ってますよとか教えてくれるの?
rustのコンパイラって不等号の向き間違ってますよとか教えてくれるの?
451デフォルトの名無しさん
2022/01/06(木) 15:02:23.63ID:rC5yvWMp 日付比較で不等号の向きで古いファイルが消されるか新しいファイルが消されるか決まることもあるしな
ふるい分けファイルの方が日にち稼いでいるからデカいはずだと錯覚するヤツが必ずでてきてデススパイラル撒き散らしたりな
ふるい分けファイルの方が日にち稼いでいるからデカいはずだと錯覚するヤツが必ずでてきてデススパイラル撒き散らしたりな
452デフォルトの名無しさん
2022/01/06(木) 15:03:56.77ID:rC5yvWMp ×ふるい分け
○古い
○古い
453デフォルトの名無しさん
2022/01/06(木) 16:49:55.21ID:eeb9qMHg 仲介イテレータ君かな
「バグ」という言葉すら独自解釈
「バグ」という言葉すら独自解釈
454デフォルトの名無しさん
2022/01/06(木) 16:54:48.74ID:/n5h7nDr 釣りじゃなくてマジだったらアカンやつだ
455デフォルトの名無しさん
2022/01/06(木) 18:00:28.75ID:XfL6smUL でかい釣り針は不都合なものから注意をそらせるために使うもの
456デフォルトの名無しさん
2022/01/06(木) 21:02:54.57ID:WPtX8f+v >>338
リーナスが例外(パニック含む)を受け入れないから
リーナスが例外(パニック含む)を受け入れないから
457デフォルトの名無しさん
2022/01/06(木) 23:56:10.56ID:Q5dnJVm5 Rustなら例外機構がそもそも無いし
パニックを引き起こさないチェック付きの代替も揃っているからな
パニックを引き起こさないチェック付きの代替も揃っているからな
458デフォルトの名無しさん
2022/01/07(金) 00:30:02.39ID:cXPu1ueH SanitizerなしでCやC++書ける人にはRust不要かもね
逆に必要な人はRust使った方が幸せになりそうです
逆に必要な人はRust使った方が幸せになりそうです
459デフォルトの名無しさん
2022/01/07(金) 00:44:00.42ID:yZQL1qV+ 例外機構≠パニックという主張はGoでもあるが無理がある。チェックも近代的な言語ならほぼある
460デフォルトの名無しさん
2022/01/07(金) 01:15:29.54ID:9qeGIYdY Rustは標準ライブラリの条件付きコンパイルをサポートしてるしそのうちpanic-freeな標準ライブラリも作れるようになるんじゃね。知らんけど
461デフォルトの名無しさん
2022/01/07(金) 01:18:46.69ID:KVbSetTk Rustで特別に安全っていうのはあくまでメモリらへんの事なんだよね
ダングリングポインタ、データ競合、未初期化の変数を読んでしまう、とかみたいなのは起きない
こういうのはC/C++だと巨大プロジェクトではどうしても抜け漏れが出るし、よく脆弱性になるからこれが保証されるだけでもめちゃくちゃ心強い
そんで例外っていう危うい仕組みはなくても、他にも気をつけなきゃいけない事はいくらでもある
例えば内部部割り込み、デッドロック、競合状態、メモリリークとかはunsafe使ってなくても普通に起こるので、
プログラマがちゃんと理解して考えて制御しなければいけない
ダングリングポインタ、データ競合、未初期化の変数を読んでしまう、とかみたいなのは起きない
こういうのはC/C++だと巨大プロジェクトではどうしても抜け漏れが出るし、よく脆弱性になるからこれが保証されるだけでもめちゃくちゃ心強い
そんで例外っていう危うい仕組みはなくても、他にも気をつけなきゃいけない事はいくらでもある
例えば内部部割り込み、デッドロック、競合状態、メモリリークとかはunsafe使ってなくても普通に起こるので、
プログラマがちゃんと理解して考えて制御しなければいけない
462デフォルトの名無しさん
2022/01/07(金) 08:07:46.87ID:qbYUQ+0I463デフォルトの名無しさん
2022/01/07(金) 11:19:37.80ID:OPgAeAPs >>462
445 = 447だし、何いってるかわかんない
445 = 447だし、何いってるかわかんない
464デフォルトの名無しさん
2022/01/07(金) 11:31:20.72ID:HBPsUOSr465デフォルトの名無しさん
2022/01/07(金) 11:36:10.44ID:SxdBDGb9 誰でも知ってる常識を鬼の首を取ったように言うなよ
見てるほうが恥ずかしくなる
見てるほうが恥ずかしくなる
466デフォルトの名無しさん
2022/01/07(金) 11:38:11.47ID:lEqOkEly >例外っていう危うい仕組み
この捉え方のほうが危うい
この捉え方のほうが危うい
467デフォルトの名無しさん
2022/01/07(金) 11:46:55.77ID:9qeGIYdY >>466
ここで言う例外はプログラミング言語の機能としての例外(大域脱出)のことで一般的な例外処理のことではないのでは
ここで言う例外はプログラミング言語の機能としての例外(大域脱出)のことで一般的な例外処理のことではないのでは
468デフォルトの名無しさん
2022/01/07(金) 12:40:14.57ID:syLxl2NY469デフォルトの名無しさん
2022/01/07(金) 13:12:58.77ID:qCXwEiOj >>467
「一般的な例外処理」の定義をしないで語られても
「一般的な例外処理」の定義をしないで語られても
470デフォルトの名無しさん
2022/01/07(金) 13:46:09.88ID:OPgAeAPs471デフォルトの名無しさん
2022/01/07(金) 13:54:43.45ID:pFd15XiZ 再帰から一気にジャンプ出来る例外案件
472デフォルトの名無しさん
2022/01/07(金) 14:57:02.30ID:0CT3Il9G Rustの勉強も始めたが
驚き感動することが多くてはまりそうだ
try/throw/catchがないのに同じことが出来てる仕組みに感動した
?一文字でエラーを上位へ委ねることができたり
単なるenumに過ぎないはずのResult型が巧妙に使えるヤツだったり
驚き感動することが多くてはまりそうだ
try/throw/catchがないのに同じことが出来てる仕組みに感動した
?一文字でエラーを上位へ委ねることができたり
単なるenumに過ぎないはずのResult型が巧妙に使えるヤツだったり
473デフォルトの名無しさん
2022/01/07(金) 15:04:16.53ID:d3CBVc0r >>472
おまえいい加減にしろよ
おまえいい加減にしろよ
474デフォルトの名無しさん
2022/01/07(金) 15:07:55.28ID:sUYYT/1a >>467
一般的な例外処理で大域脱出でないのがあればそう言えるけど、そんなのあったっけ。
一般的な例外処理で大域脱出でないのがあればそう言えるけど、そんなのあったっけ。
475デフォルトの名無しさん
2022/01/07(金) 15:48:22.19ID:oWk93qwk476デフォルトの名無しさん
2022/01/07(金) 16:14:22.26ID:9qeGIYdY >>469
>>474
https://ja.m.wikipedia.org/wiki/%E4%BE%8B%E5%A4%96%E5%87%A6%E7%90%86
この意味での例外
確かに言語でサポートするなら大域脱出になるか
>>474
https://ja.m.wikipedia.org/wiki/%E4%BE%8B%E5%A4%96%E5%87%A6%E7%90%86
この意味での例外
確かに言語でサポートするなら大域脱出になるか
477デフォルトの名無しさん
2022/01/07(金) 17:12:07.47ID:NadPmQt/ >>476
そのwikiの定義はめちゃくちゃ曖昧だな
回復不能なエラーのことだったり、業務エラーに対するシステムエラーのことだったり
さらには設計で想定されてない問題と言いつつ
ユーザーの入力間違いや他システムと疎通が取れない場合が含まれてたり
そのwikiの定義はめちゃくちゃ曖昧だな
回復不能なエラーのことだったり、業務エラーに対するシステムエラーのことだったり
さらには設計で想定されてない問題と言いつつ
ユーザーの入力間違いや他システムと疎通が取れない場合が含まれてたり
478デフォルトの名無しさん
2022/01/07(金) 17:20:41.93ID:TtYC21gO >>477
なら例外(処理)の明確な定義ってなんだ?
なら例外(処理)の明確な定義ってなんだ?
479デフォルトの名無しさん
2022/01/07(金) 17:49:08.57ID:CgdU4kfS480デフォルトの名無しさん
2022/01/07(金) 17:57:58.23ID:htF+iGlC >>478
まぁ、ここはプログラミング言語を取り扱っているので、各言語ごとの例外機構のことなんじゃないかな
まぁ、ここはプログラミング言語を取り扱っているので、各言語ごとの例外機構のことなんじゃないかな
481デフォルトの名無しさん
2022/01/07(金) 17:58:11.94ID:0CT3Il9G GoやRustなどの言語には例外処理がないと一般的に言われているけど
これはtry/throw/catchといった特別な枠組みが存在しないことを意味してる
これはtry/throw/catchといった特別な枠組みが存在しないことを意味してる
482デフォルトの名無しさん
2022/01/07(金) 18:14:31.53ID:BlSvqzvB483デフォルトの名無しさん
2022/01/07(金) 18:40:25.34ID:zxQaNr2W 結局いつもの気持ち悪い自演コース
484デフォルトの名無しさん
2022/01/07(金) 18:51:47.76ID:g+gfmcT1 例外が発生しないので安全です。
485デフォルトの名無しさん
2022/01/07(金) 18:53:45.04ID:rW64eTg1486デフォルトの名無しさん
2022/01/07(金) 18:58:51.33ID:g+gfmcT1 古典的言語はどれも例外が発生するので危険です。
487デフォルトの名無しさん
2022/01/07(金) 19:07:57.34ID:IML2cdj0 panicよりマシだろ。
488デフォルトの名無しさん
2022/01/07(金) 19:15:54.57ID:g+gfmcT1 例外が発生しない安全な言語を使うべきです。
489デフォルトの名無しさん
2022/01/07(金) 19:16:41.68ID:g+gfmcT1 例外が発生すると大変危険です。
490デフォルトの名無しさん
2022/01/07(金) 19:28:13.38ID:qbYUQ+0I 正確には、例外が発生する「ような」状況、な。
例外すら出さずにpanicするような言語は論外。
例外すら出さずにpanicするような言語は論外。
491デフォルトの名無しさん
2022/01/07(金) 19:44:23.16ID:9qeGIYdY492デフォルトの名無しさん
2022/01/07(金) 21:01:46.84ID:duI+LFWm 例外安全性を静的に保証できる言語なんて無かったよな
493デフォルトの名無しさん
2022/01/08(土) 07:16:32.27ID:a3IlDrHC lowlevel、ハードウェアに近い開発者は例外を嫌う傾向にある
494デフォルトの名無しさん
2022/01/08(土) 08:43:00.56ID:MbImecmg スタック深階層から天元突破する不思議なマホウ
エクスセプションナムパトローナ!
エクスセプションナムパトローナ!
495デフォルトの名無しさん
2022/01/08(土) 09:24:36.18ID:y8+gbORs >>493
signalはよく使うがな
signalはよく使うがな
496デフォルトの名無しさん
2022/01/08(土) 12:05:39.79ID:Q0+pmoTx try/catchの仕組みはなくても、割り込みの対応はまあどうしても必要だよな?
497デフォルトの名無しさん
2022/01/08(土) 13:29:15.68ID:jKqZNByJ 組み込み用にexception handlerあるみたいよ
498デフォルトの名無しさん
2022/01/08(土) 13:56:43.16ID:L9/OhHd6 言語側に求められる割り込みの対応って何
割り込みの呼び出し規約に従った関数を定義できれば良い?
割り込みの呼び出し規約に従った関数を定義できれば良い?
499デフォルトの名無しさん
2022/01/08(土) 14:36:14.89ID:lA4SvdIz 低レベルの割込み処理に言語側で出来ることはあまり無い
コンパイラ側の対応次第
組込みだとマイコンの割込みベクタテーブルに関数(いわゆる割込みハンドラ)のアドレスを設定するだけ
ハンドラ内のレジスタバンク切替えやコン テキストスイッチングなどは言語の範疇を超えるのでインラインアセンブラで記述する場合もある
コンパイラ側の対応次第
組込みだとマイコンの割込みベクタテーブルに関数(いわゆる割込みハンドラ)のアドレスを設定するだけ
ハンドラ内のレジスタバンク切替えやコン テキストスイッチングなどは言語の範疇を超えるのでインラインアセンブラで記述する場合もある
500デフォルトの名無しさん
2022/01/08(土) 14:41:47.33ID:5x1u92SJ >>494
各関数呼び出し毎にRAIIによるデストラクタ処理が入る
だから例外で一気にスタックを巻き上げるだけにはならない
結局try-catch / throwという特殊な枠組みはRustのように無くしてしまえばいいのかもしれない
各関数呼び出し毎にRAIIによるデストラクタ処理が入る
だから例外で一気にスタックを巻き上げるだけにはならない
結局try-catch / throwという特殊な枠組みはRustのように無くしてしまえばいいのかもしれない
501デフォルトの名無しさん
2022/01/08(土) 15:35:19.92ID:tKnKvPsu■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「偽サッチャー」「自滅的」「時代遅れ」 高市首相の経済政策を海外メディアが酷評 [蚤の市★]
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 ★2 [蚤の市★]
- 【ド軍】山本由伸、WBC出場を決断!ドジャースが本人の意向を尊重、佐々木朗希はチームが故障歴を懸念で不参加 [鉄チーズ烏★]
- 米大統領報道官「日本と強固な同盟維持、中国とも協力」 [少考さん★]
- JA全農が「新おこめ券」…来年9月末の有効期限を新設、必要経費のみ上乗せ ★2 [蚤の市★]
- 秋田内陸縦貫鉄道「列車が脱線、転覆」と通報 北秋田市、萱草駅付近 [蚤の市★]
- 今年の漢字、きょう発表😉 [583597859]
- 女の子集合!
- 中国人、超ド正論。「チベットやウイグルに住んでるのはチベット族やウイグル族だが、アイヌから奪った土地に住んでる日本人こそ侵略者」 [314039747]
- おまえらもうクリスマスツリー出した?
- 百合営業してるアイドル「これは営業だから…んっクチュクチュ」←これ
- (´・ω・`)ニュー速VIPのみんなへ
