タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

プログラミングとC#に関するikd9684のブックマーク (3)

  • nullが生まれた背景と現在のnullの問題点 ― null参照問題(前編)

    Cの系譜を継ぐC#ではnullが長らく使い続けられてきたが、最近ではその存在が大きな問題だと認識されている。前後編でこの問題を取り上げ、今回(前編)はnullを取り巻く事情について考察する。 ← 前回 連載 INDEX 次回 → 近年、nullの存在は、billion dollar mistake(10億ドル規模の損失をもたらす過ち)と呼ばれるくらい忌避されるものになっている。 nullは、低コストでそこそこ安全に参照を扱えるという意味で悪くない妥協ではあるが、技術が進歩した現在ではもう少し賢い参照の扱い方があるはずである。C#のように、これまでnullを認めてしまっているプログラミング言語で、今からそれを完全になくすというのは現実的ではないが、nullに起因する問題を少しでも避ける手段はこれからでも追加していけるだろう。 今回は、nullが生まれるに至った背景から始め、nullが抱える問

  • C#でのnull参照問題への取り組み ― null参照問題(後編)

    最近のC#ではnullの存在が大きな問題となっている。前回(前編)で説明したnullの事情を踏まえ、今回(後編)は、将来のC#がnullをどう取り扱っていくのかを見ていく。 ← 前回 連載 INDEX 次回 → 前編では、nullが存在する理由や、nullがあることで起こっている問題などについて説明してきた。 後編では、C#が具体的にどう課題に取り組んでいくかについて見ていこう。C# 7よりも先の話でまだ仕様は固まっていないが、現状での仮実装や、検討として挙がっている項目について説明していく。 無効な値の表現 ただし、「具体的にどう取り組んでいくか」の話の前に、「型を使ったnullの許容/拒否の区別」とは別軸で「無効な値を表現するのにnull(0初期化)が適切かどうか」という問題もある。まずはこちらについて話しておこう。 型情報の紛失 nullは、どんな型だろうが一律に0埋めすることで、最

  • 1