2020-11-26

go言語アプローチだとerror関数戻り値なので、戻り値を受け取らない関数呼び出しという

一見何の問題もなさそうに見えるコードが、error握りつぶすというよくない挙動を引き起こす。

 

throw-catchアプローチならばerror握りつぶすには意図的にそれを行うためのコードを書かないといけない。

かといってerror戻り値を必ず受け取らねばならないよう言語仕様制限を入れると、

かつてJavaが犯してしまったように例外処理がめんどくさすぎることになる。

 

もしgo++言語を作るとしたら、これはどのようにするのが正解なんだろうか。

  • Javaはそんな間違ってないんでないの? プログラマーの思想とか宗教の問題になりそうだけど Goでエラーは返り値でちゃんと処理してね、 というのを初めて知ったときちょっとショック...

    • Goは消費メモリが少ない=安いサーバ(クラウドインスタンス)でも動く っていう明らかなメリットがあるのに何で使わないの

      • 自分の場合は単に機会がないだけというのが一番なんだろうけど Goを選択する理由は安いインスタンスで済むからかあ、なるほどなあ勉強になる ありがとう

      • 根本的に マイナー言語を扱える開発者を揃えるために金使うより メジャー言語を扱える開発者を揃えてインフラに金使ったほうが楽

  • >もしgo++言語を作るとしたら、これはどのようにするのが正解なんだろうか。 公式IDEを提供して エラー握りつぶしてますよワーニングを出す

    • Rust の ? オペレーターで十分じゃんそれ go++ なんていらない

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん