タグ

ブックマーク / www.buildinsider.net (4)

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

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

    kknsd
    kknsd 2017/01/11
  • Unicodeとは? その歴史と進化、開発者向け基礎知識

    まず、Unicodeで規定されている文字1つ1つには、最大で21bits(16進数で5~6桁)の数値が割り振られている。この数値をコードポイント(code point: 符号点、符号位置)という。 ちなみに、Unicodeでは、コードポイントの数値で文字を表すための表記として、「U+16進数」という書き方を使う。例えば、「a」であればU+61、「あ」であればU+3042と表記する(以下、文字コードは全て16進数で表記する)。 一方で、この21bitsのコードポイントがそのままテキストファイルに保存されるわけではない。一定のルールでバイト列に符号化することになる。詳細については、後々、Unicodeの歴史を追いつつ説明していくが、おおむね以下の3つを押さえておけばいいだろう(加えてコードポイントがビッグエンディアンで格納されるか、リトルエンディアンで格納されるかも重要になる。が、今回と次回は

    kknsd
    kknsd 2016/11/08
  • Swift 3.0でなぜ「Cスタイルのforループ」「++/--演算子」などの仕様が廃止されたのか

    大規模な破壊的変更が行われる最終的なバージョンといわれているSwift 3.0がついに正式リリース。多数の変更から「廃止」となった言語仕様にフォーカスを当て説明する。 ← 前回 連載 INDEX 次回 → 先日正式リリースされたSwift 3.0では数多くの変更が含まれたが、今回はその中から廃止となった言語仕様にフォーカスを当てる。 仕様廃止のProposal 第3回で紹介したSwift EvolutionリポジトリのProposalステータスページを見ると、それぞれのProposalが「承認されたが実装待ち/Swift 3.0に実装済み/Swift 2.2に実装済み/後回し/リジェクト済み」のどの状態にあるかが分かる。これらのProposalの中で仕様の廃止に関係しているものは、その名前に「remove」「eliminate」などを含むものである。 Swift 3.0で廃止された12件の

    kknsd
    kknsd 2016/09/23
  • 無料でダウンロードできるIT技術系電子書籍(EPUB/PDF)一覧【2016年版】

    Microsoft PressとApressを中心に、無償で入手・購入可能なコンピューターおよびIT技術系の電子書籍を50冊以上、集めてみた。ほとんど英語の書籍だが、日語書籍もいくつかあり。 ← 前回 連載 INDEX ※稿は、昨年の同時期に公開した記事を、2016年現時点の最新情報にアップデートした記事である。 や雑誌を電子書籍で読む機会が増えてきている。特に「紙の書籍よりも、電子書籍の方が大きく割安になっている場合は、電子書籍で買う」という人も多いのではないだろうか(特にIT業界の人は)。実際に自分もAndroidタブレットやiPhoneなどを使って電子書籍を読むことが増えてきた。また、Amazonプライム会員であればKindle端末上で月に1冊まで無料で読めるサービスがあり、その対象となる「コンピュータ・IT」系の電子書籍も徐々に増えてきている。電子書籍を読むための環境は年々

    無料でダウンロードできるIT技術系電子書籍(EPUB/PDF)一覧【2016年版】
    kknsd
    kknsd 2016/04/05
  • 1