タグ

ブックマーク / ufcpp.wordpress.com (20)

  • The Future of C#

    twitterで見かけた話題(1, 2)。ロンドンのイベントでMads(C#のプログラム マネージャー)がC#に追加するかもしれない(したいけど、まだ文法的に確定してない)機能について話したみたいですね。 The Future of C#(イベントのページ) Channel9の掲示板での話題、同 別エントリー 早期プレビュー C#ってこれまでのノリだと、コンパイラーとか仕様書までできた段階で情報を公開していたわけですけども、今回は「ご意見求む」なレベルでの情報公開。 MSDNブログとかChannel9でなくて、ヨーロッパ ローカルなイベントで初めて公にしたのも、ブログとかでまとめるような段階でない当に早期プレビューなせいなのかも。 C# 言語チームの開発体制自体の変化を感じたり。 新文法(候補) で、(twitter越しで見れる)スライド中の情報から読み取れる文法について。 primar

    The Future of C#
    kaorun
    kaorun 2013/12/07
  • 100倍速くなる開発

    資料はSkyDriveでも公開しています。 もう悪意しか感じない釣りタイトル。 まあ、今回はセッション概要の時点でネタバレ(釣りです宣言)してるので、自分の中では良心的。今回、そんなに余裕がなかったのでぬるいです(気で釣りに走るのはそれなりに体力使う)。 100倍速くなりました(実話) 実話の中ではP●Pだったからといって、必ずしもP●Pが悪いわけではないのでご了承を(この点が「釣り」)。 言語を変えて変わる実行速度なんてせいぜい5倍程度で、残り20倍は設計からきっちりやり直したことにある、という、設計のお話。 ただ、だからって「C#でなくていい」ってわけでもなくて、きっちり設計するにはよい機能多いですよ、C#は。そういうクオリティのコードを他の言語でそう簡単に書ける気はしていません。 この釣りタイトルに対して「100倍速くなるのは開発速度という落ち?」みたいなこと言う人もいましたが、そ

    100倍速くなる開発
  • Xamarin 2.0

    Xamarin 2.0 のアナウンスがあったわけですが。 Xamarin 2.0 の内容 単に、メジャー バージョンアップに合わせて、ブランド名を統一したという内容。今まで、Mono Touch、Mono for Android だったものが、Xamarin.iOS、Xamarin.Android に。 メジャー バージョンアップによって、Visual Studio 使って Windows 上で iOS 開発できるようになったりも。新 IDE の Xamarin Sudio は世界で一番の Android UI ビルダーだという自信もあるそうで。 クロス プラットフォーム クロス プラットフォームというと割と夢見がちな意見と、それを警戒する意見にたどりつきがち。 Xamarin 2.0 のニュースを見て、知り合いから「こういうツールって使い物になるの?」とのご意見も求められてしまったので、

    Xamarin 2.0
  • C#、2012年の首位プログラミング言語に名が挙がる

    C# Named Top Programming Language of 2012 Eight Reasons C# is the Best Language for Mobile Development 集計方法1つ変えるだけで順位なんて変わるという話でもあったりはするのだけども。 ある指標では、2012年で一番伸びた言語はC#ということになるそうです。 去年、C#とか.NET周りで何があったかというと、MonoTouch/Mono for Android であったり、Unity(Monoベースのゲーム エンジンの)であったり、Windows 8であったり。 Windows 8 Windows 8、というか、WinRTで、ネイティブ(C++)の復権があったり、JavaScript+HTML5での開発もできたりで、世の中には「.NETは下火」なんていう人もいるにはいましたが。実際にWind

    C#、2012年の首位プログラミング言語に名が挙がる
  • async/awaitと同時実行制御

    C# 5.0のasync/awaitを使うと、多くの場面ではシングル スレッド的な動作になるし、多くの場面ではlock不要(結果的に、デッドロックが起こりようなくなる)になったりします。 ただし、「多くの場面で」。「必ず」ではないのがはまりどころ。いくつかの場面では、同時実行制御が必要です(普通にマルチスレッドの平行実行になるので、同時に同じデータにアクセスされる可能性を考慮しないとバグります)。 前提知識 いくつか、C# 5.0世代の非同期処理についての前提知識は、以下のスライド(先月末の.NETラボでの発表)を参考にしてください。 5~12ページ: async/awaitの書き方 17~22ページ: スレッドとそのコスト 24~26ページ: スレッド プール 29~32ページ: I/O完了待ちと非同期API 36~40ページ: UIスレッドとディスパッチャー 41~45ページ: 同期コ

    async/awaitと同時実行制御
  • Windows Phone

    Windows Phone 8 SDK //build/ でも発表されましたが Windows Phone 8 SDK がリリースされました。 実機がないので WP8 アプリを書く気にもれなないんですが、単純に今までの WP7.1~7.5 用としても、今までの WP7 SDK は VS 2012 に対応してなかったので、新しい SDK が必要でして(VS 2010 を入れなおす気ははあんまりない)。 ↑WP 7.5、世の中一般に出回ってるわけでもないですが、手元の自分用ツールを久々に更新してみようかと。 Portable Class Library ただ、その、自分用ツール、機能の大部分を Portable Class Library に移しちゃってたんですよねぇ。 .NET 4.5 & .NET for Win Store 向けに。そして、もちろん、async/await 使いまくり。

    Windows Phone
  • 大切な事は全て.NETから学んだ

    下記の文章、「こういうテーマでufcpp.net内のC#ページを更新(今の【雑記】的にやるか、新しいフォルダー掘るかして)したい」というもの。 いつ手を付けるかは未定。実際のところしばらく無理。 表題、誇張ではなく、割と真実。 ソフトウェアに求められる品質水準は非常に高くなっていて、開発者に求められる知識は年々増えています。 単純にプログラミング言語の基礎を覚えるというだけではまるっきり不足で、そこから様々なパターンを覚えて初めて実用化に足る最低水準になります。 パターン。 こういう場面ではこう書くと解かりやすい こう書かないとこんな問題が 計算速度優先ならこう、省メモリならこう 等々、いわゆる先人の知恵。 歴史を積み重ね、普通に1からたどるにはあまりにも遠い道のりに至りました。 先人と同じ手順を経ていては、追いつくことで精一杯。その先の新しい世界を目指すことも叶いません。 楽をするひつよ

    大切な事は全て.NETから学んだ
  • http://ufcpp.wordpress.com/2012/10/04/typescript%25EF%25BC%2588%E7%B6%9A%25EF%25BC%2589/

  • TypeScript

    マイクロソフトも better JavaScript、かつ、JavaScript に変換して使う言語を作ってきたようで。 日語ニュース記事: MicrosoftJavaScript系の新言語、TypeScriptのデベロッパー・プレビュー版を発表 公式サイト: http://www.typescriptlang.org/ MSDN ブログでの告知: TypeScript: JavaScript Development at Application Scale Miguel de Icaza(GNOMEとかMonoの創始者)の感想: TypeScript: First Impressions 「JavaScript を、最小限の変更で、ツール連携(静的チェックやコード補完)しやすくする」という観点でみて、結構よくできてる。 少し前に、Anders Hejlsberg が JavaScri

    TypeScript
  • デスクトップ アプリからのWinRT API利用

    How to call WinRT APIs from .NET desktop apps Windowsストア アプリでない、通常の(デスクトップ版の).NETアプリからWinRT APIを呼び出す方法。 WinRT利用のために、.NET Framework自体に手が入っているので、.NET 4.5を使うなら、別にWindowsストア アプリでなくたってWinRT APIを呼べるわけですが。それのやり方、というか、Visual Studio上でいろいろ([参照の追加]ダイアログにWinRTコンポーネントの追加ペインを出したり)やるためには、csprojファイルを1行手動で書き換えないといけないというお話。 一部簡単に日語で説明しようかというのと、元がVBなので、C#でさらっと書いてみたものを出しておこうかと。 C#ソースコード一式 WinRT APIとは WinRTは、Windows

    デスクトップ アプリからのWinRT API利用
  • Metroスタイル アプリのAppBarアイコン用文字

    外字かー。 そりゃ、自分で画像用意しろと言われるよりは楽だけども。 フォント設定しないと何が何やらわかんないの、どうなのだろう。 とりあえず、Excel使って一覧化: https://skydrive.live.com/#!/edit.aspx?cid=5C622397E11C979D&resid=5C622397E11C979D%2127503

    Metroスタイル アプリのAppBarアイコン用文字
    kaorun
    kaorun 2012/06/23
    存在は知っていたけどExcelという発想はなかった...。
  • 非同期処理とディスパッチャー

    24日・25日とWDDに行ってたわけですが。 講演者の皆様、UIスレッドとディスパッチャーの話で苦労されてた印象。この辺りの仕組み、どうなんだろうなーとか、少し書いておこうかと。 UIスレッドに紐付いたクラス まず前提。 UIスレッド まず、GUIがらみのクラスは、単一スレッドからしかアクセスできないように作ってあります。スレッド安全に作ろうとするとパフォーマンスが出ないので、いっそのこと、UIスレッド以外からアクセスがあったら例外を出して止まるように作ってあります。 この、GUIコンポーネントと紐付いているスレッドがUIスレッドです。 エンド ユーザーからの入力なんかを受け付けているのもこのUIスレッドで、UIスレッド上で時間がかかる処理をすると、UIがフリーズします。 なので、時間がかかる処理をするときは、一度別スレッドで処理して、結果をUIスレッドに戻すというフローが必要です。 WP

    非同期処理とディスパッチャー
  • WinRT に関する誤解

    まあ、ます先に、ダウンロード リンク一覧を Microsoft Visual Studio 11 Developer Preview (ISO) http://www.microsoft.com/downloads/ja-jp/details.aspx?FamilyID=415c1589-a7b1-4b25-93fa-11bb6f29a5be Microsoft Visual Studio 11 Developer Preview (Web インストーラー) http://www.microsoft.com/downloads/ja-jp/details.aspx?FamilyID=99a58e56-fcb2-4264-bce7-3311cf0d1806 Microsoft Visual Studio Team Foundation Server 11 Developer Preview

    WinRT に関する誤解
  • Windows 8、WinRT « ++C++; // 未確認飛行 C ブログ

    BUILD、まだ基調講演くらいしか見れていませんが、それだけでもなかなかに素敵。 そして、公開されて間もないWindows 8の開発者プレビュー、さっそく使ってみているわけですが。 開発者的に気になっていたのは、うわさのWinRT。 コードネームとかじゃなく、正式名称的にもこの名前でよかったわけですが、実物見るとなかなかに楽しそう。 Metroアプリ vs 既存デスクトップ 開発スタイル的には全く別系統でした。いわば、Silverlight と WPF みたいなもの。 Metro アプリ タブレット向け、タッチUI たぶん、ARM版で快適に動かそうと思ったらこっち App Storeで配布できるのはこっちだけ WinRTを使って作る(ネイティブ、.NETJavaScriptから使える) 感覚的に、一番近いのはWindows Phone 7向けSilverlight(が、.NET 4.5相

    Windows 8、WinRT « ++C++; // 未確認飛行 C ブログ
    kaorun
    kaorun 2011/09/16
    わかりやすいまとめ。 諸々.NET Core + αという形に収束してくれると嬉しいのですが...。
  • BUILD での注目点

    BUILD 直前ですね。 ということで、先週あたり、色々と「BUILD での注目キーワード」みたいなまとめ記事が色々出たわけですが。 Windows 8: What we know so far Ten watchwords for Microsoft’s Windows 8 conference Microsoft Build: Developer topics to watch これらを荒く日語でまとめてみようかと。 (そういや、超前倒しで IS12T が発売されてるものの、来は Windows Phone 7.5 も BUILD 近辺でリリースのはずよなぁ。) Windows 8: 今までにわかっていること ARM-based チップセットのサポート かなり初期から言われていたわけですが、ARM サポートが入ります。あと、システム オン チップのサポートが入ります。つまるところ、

    BUILD での注目点
  • 開発者にとってのWindows 8

    Windows 8 上の開発環境について、ようやくきれいに整理された情報が。 Windows 8 for software developers: the Longhorn dream reborn? といっても、公式アナウンスではなくて、リークした Windows 8 (もちろんβにも満たない開発途上版)の解析結果から得られた知見。 少々私見も込みで、要約: .NET がもたらしたもの まず少々歴史の振り返りを。 .NET Framework 登場以前、90年代に置いて Windows 開発がどういう状況だったかというと、「C++ と VB のパリティ(あっちを立てればこっちが立たず的な偶奇性)」という深刻な問題がありました。 Windows の機能を最大限使いたければ Win32 API を使う必要があって、それは VB では難しかった。あと、パフォーマンスの問題もあり、大規模で応答性

    開発者にとってのWindows 8
  • WPF の {Binding Path=/}

    昨晩、こんな話が: コレ クションをバインドした時に何が起きているか WPFのBindingのPathの解決は結構複雑なことをしております。何のせいでそんなに複雑になるかというと、「マスター詳細シナリオ」とか言う概念のせいだったりします。 マスター詳細シナリオ 以下のページ参照: データ バインディングの概要 (ページ内を「マスター詳細シナリオ」で検索すれば該当箇所に) IsSynchronizedWithCurrentItem プロパティ DataContextに何かコレクションを与えた上で、選択項目の詳細を見たいという場合があります。こういう状況を指して「マスター詳細シナリオ」と呼んでいるようです。 データ バインディングでは、以下のように、Path=/ と書くことで、「コレクションの選択項目を参照しろ」という意味になります。 <ListBox ItemsSource=”{Bindin

    WPF の {Binding Path=/}
  • Async C#/VB

    ようやく、C#/VB にも非同期構文が入るようです。 http://msdn.microsoft.com/vstudio/async C#/VB に非同期用の構文が入ります async キーワードで非同期呼び出し開始、await キーワードで計算結果を拾えるっぽい 基的には Task クラスに対する構文糖衣になる模様 あと、VB にイテレーター ブロックが追加 しかも、VB は匿名メソッド中でも Yield 書ける バージョンや時期に関しては一切触れられておらず これだけが C# 5.0 でもないってことかな? C# 5.0 ⊃ Async CTP な包含関係? 関連リンク: PDC 公式 動画ストリーミング: The Future of C# and Visual Basic Making Asynchronous Programming Easy Asynchrony in C# 5

    Async C#/VB
  • ドメイン モデリングの行く先

    Another piece of Microsoft’s Oslo modeling puzzle disappears Quadrant がお亡くなりになったそうです。という記事をきっかけに、思ったこととか人と話したことなど書いてみる。 非開発者向け 今、IT 使った何かを作るとき、問題領域(ドメイン: domain)に関する知識と、プログラミングに関する知識の2つに詳しくないと何もできないんですよね。問題領域っていうと、例えば、よく話にあがるのだと: 大規模データ処理 自然言語コーパスを元に、検索や機械翻訳の精度を上げたい 顧客の購買行動を解析して、よりよりセールスをかけたい 業務知識 業務のフローを IT で補助・改善したいけど、そのためには業界の商習慣とかの知識が必要 とか。 2重にスキルを求めるのは負担が非常に大きいんで、出来れば問題領域の専門家が、プログラミングの知識なしで使え

    ドメイン モデリングの行く先
  • 研究レベルのプログラミング言語等

    MS Research とか DevLabs とかでやってる実験的プロジェクトの中で、言語がらみのものをピックアップしてみる。 プログラミング言語の進化の方向性は「命令的から宣言的に、how から what に、intentional に意図をそのまま記述できるように)」って言われて久しく、C# 2.0 とか 3.0 でかなり intentional な感じになりました。さらにその先、「C# の今後」というと、「dynamic と concurrency」(動的実行・動的コード生成と同時実行制御・非同期制御)だと言われています。 研究言語を眺めてみると、プログラミング言語やフレームワークのここ数年の進化や今後の方向性が見て取れるんじゃないかと思います。 Cω とりあえず有名どころから。C# 3.0 (LINQ 関連)の元になった言語なんで知ってる人も多い Cω。 C# 1.0 をベースに、

    研究レベルのプログラミング言語等
  • 1