タグ

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

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

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

  • Swift 3のリリース前に、これまでの進化の変遷をなぞる

    そこで、以下の4つの特徴を持つ言語として紹介された。 高速 モダン(クロージャー、オプショナル型、ジェネリクス、型推論、タプル……) 安全 インタラクティブ(REPL:対話実行環境、Playground) また、Cocoaフレームワーク・ランタイムをObjective-C言語環境と共有しており、Objective-C言語を使った場合と同様に何の制限もなくアプリ開発が可能で、SwiftコードとObjective-Cコードとの混在もできることなどが強調された。 この発表直後から、Swiftは洗練された言語仕様などから大きな注目を集めたが、そこから現時点で2年ほどの短期間で大きな進化を遂げている。 Swift 2.2までの進化の変遷 これまで短いスパンでSwiftにはさまざまな改善が繰り返されてきたが、その説明のためにも、現時点での正式版最新の2.2.1までの進化の変遷をざっと見ておこう。 Sw

    raimon49
    raimon49 2016/08/05
    リーク無しで突然WWDCに持って来たのは本当にびっくりしたなぁ。
  • C# 6.0で知っておくべき12の新機能

    Visual Studio 2015正式版のリリースで利用可能になったC#言語の最新バージョン「6.0」の新機能を解説する。CTP 5→正式版に合わせて改訂。 連載 INDEX 次回 → 「C# 6.0」と呼ばれているC#の最新バージョンは、Visual Studio 2015*1で利用可能になっている。 この最新バージョンでは、「.NET Compiler Platform」(コード名:“Roslyn”)と呼ばれる新しいコンパイラーが導入されており、静的解析APIの提供など、コンパイラーまわりに大きな変更が行われている。一方、言語機能に目を向けると、async/awaitという大きな機能が追加されたC# 5.0に比べると、一つ一つの新機能自体は小さい。しかし、それらはプログラムをより書きやすくするための機能なので、C#開発者にとってはやはり重要なアップデートとなっている。 そして、これら

  • TypeScript早わかりチートシート【1.5.3対応】 - Build Insider

    TypeScript 1.5正式リリース。最新言語仕様を速習しよう! TypeScriptを使うときに役立つ情報がまとまったチートシート(1クリックで試せるサンプル付き)。 稿はTypeScript 1.5.3を対象に解説を行います(※2016/11/08追記:姉妹サイトの@IT Insider.NETで「特集:TypeScript 2.0概説」 を掲載していますので、稿と併せてご参照ください )。 早いもので、TypeScript 1.0がリリースされた2014年4月3日から、1年以上が経ちました。今年の頭あたりに記事のTypeScript 1.0版からの更新の依頼が来た時は、(記事改訂は想定していなかったので)びっくりしました。情報をメンテし、良い情報がWeb上に残るよう運営するのは大変であろうな、と想像に難くないですが、筆者としてはうれしい限りです。 さて、去る2015年3月5

    TypeScript早わかりチートシート【1.5.3対応】 - Build Insider
  • Monoのモバイル化の流れ ― Xamarin.iOS/Xamarin.Androidの誕生

    デスクトップ環境での動作を主眼に開発された「.NET」のオープンソース実装である「Mono」は、どのようにモバイル開発に向かって流れていくことになったのか。 ← 前回 連載 INDEX 次回 → 前回まではMonoについて詳しく説明した。Monoは.NET Frameworkのオープンソース実装としての側面が強く、.NET Frameworkはデスクトップで使用されることを主眼に開発されていた。それがどのようにモバイル開発に向かって流れていくことになったのだろうか。今回は、Xamarin.iOSやXamarin.Androidが誕生するきっかけとなった「Monoのモバイル化の流れ」について説明する。 Silverlightの登場 最初の大きな動きは、Silverlightだ。Silverlightは、Webブラウザーのプラグインとして「Webブラウザー上で、HTMLより機能豊富なアプリケー

    raimon49
    raimon49 2014/02/15
    .NETのミニマム実装として登場したSilverlightがMoonlightからXamarin.iOSの流れやWindows Phoneに繋がった。とても面白い。
  • C99の仕様

    長い歴史を持ちながら、依然として人気の高いC言語。その最新仕様の情報にキャッチアップするための連載スタート。今回は1999年に策定された「C99」を取り上げる。 連載 INDEX 次回 → C言語(以降、単にC)はDennis Ritchieによって1969~1973年の間にベル研にて開発されたプログラミング言語である。長い歴史を持つと共に非常にポピュラーな言語で、プログラマーでCを知らない人はまずいないと言っていいだろう。プログラミング言語のシェアを調査しているTIOBEでも、ここ最近は常に1、2位を占めている。 Cの言語仕様は今から25年近く前である1989年に初めて規格化され、これは一般に「ANSI-C」と呼ばれている。ANSI-Cは長らくCの言語仕様のスタンダードの位置を占め、世の中の大半のプログラマーは、このANSI-Cに慣れ親しんでいることだろう。しかし、実はCの言語仕様はその

    C99の仕様
    raimon49
    raimon49 2014/02/06
    未だにANSI-C方式で変遷宣言してるコードたくさん見かける。
  • Xamarinの基盤となっている「Mono」と、C#コンパイラー「mcs」

    ← 前回 連載 INDEX 次回 → 前回は「Xamarinが何を提供しているのか?」について説明した。 Xamarinは、テクノロジーとしては.NET FrameworkとC#の上に成り立っているが、ソフトウェアの基盤はこれらの技術の独自実装であるMonoの上に成り立っている。Monoについての理解が深まれば、Xamarin製品の理解も深まることになろう。 そこで今回と次回は、このMonoについて解説しよう。 * Xamarin 2.0のリリースに際して、「Mono」の名前が「Xamarin」になったと思われていることもあるようだが、そうではなく、Monoは従来のままのオープンソースプロジェクトであり、XamarinはMonoを主にモバイル開発製品に適用しているということになる。 Monoの歴史的な成り立ち MonoプロジェクトのリーダーであるMiguel de Icazaは、来はLi

    raimon49
    raimon49 2014/01/28
    プロジェクトリーダーのMiguelは、GNUプロジェクトからフリーソフトウェア大賞で表彰されるほどのUNIXハッカーである一方、マイクロソフトでインターンに応募していたこともあるほどのマイクロソフト技術フリーク
  • Xamarinを構成するソフトウェア。その主要な10要素とは?

    Xamarinは何を提供しているのか? その主要なソフトウェア構成要素として、Mono、Gtk#、MonoDevelopとXamarin Studio、Xamarin.iOS、Xamarin.AndroidXamarin.Mac、Visual Studioアドイン、Xamarin.Forms、Xamarinコンポーネント、Xamarin Test Cloudなどについて紹介。 連載 INDEX 次回 → はじめに 今回、Xamarinについて記事を書かせていただくことになった。Xamarin(カタカナで書けば「ザマリン」となるだろうが、何と読もうが皆さんの自由だ)は、iOSおよびAndroidを中心に.NET/C#を活用するモバイル開発フレームワークを開発・販売している米国の会社であり、同社が販売している一連の製品に冠せられた名前でもある。同社のチームは、10年以上前からオープンソースの

  • 開発環境までもWeb化?! Visual Studio Online “Monaco”機能徹底解説(Win&Mac対応)

    Visual Studioのオンライン版?! Webブラウザー上で動作する開発環境“Monaco”で開発はどう変わるのか? その全機能をさまざまなブラウザーで徹底的に試してみる。さらにデスクトップアプリ開発も実験してみる。 連載 INDEX 次回 → 先日(米国時間で11月13日に)開催されたオンラインイベント「Visual Studio 2013 Launch Event 」の中で、「Visual Studio Online」が発表された。この名前を文字通りに受け取るなら、「Visual Studioの“オンライン版”」という意味になるだろう。しかし実際に発表されたその内容は(筆者の理解では)、これまで「Team Foundation Service」と呼んでいたものを強化しつつ、名称変更したにすぎないものだった。 これでは「命名と実体が合っていない」ということになる。ところがこの命名の

  • 1