タグ

.NETと言語に関するmohnoのブックマーク (14)

  • 初心者が本当に知りたかったC#入門以前

    この記事は「初心者だった時に知りたかったな…」っていう普通のC#入門だと教えてくれないことが書いてあります。 なので入門記事というより、C#初心者にはちょっと難しい内容もあります! C#の特徴的なところ C#は変化が早い💨 最近は毎年メジャーアップデート 2019: C# 8.0 2020: C# 9.0 2021: C# 10.0 2022: C# 11.0 2023: C# 12.0 新記法、新しい書き方がモリモリ入る しかも新しい書き方の方が便利で性能が良い(ことが多い) 少し前のC#を知ってる人からするともう別物 解説 C#は6.0までゆっくりな変化だったんですが… 7.0から様子が変わって8.0以降は毎年変わるようになりました。 ↓こちらのスライドの7ページから数枚が参考になります! あんまり変わらないバージョンもありますが、特に大きなところだと, 「null安全」になった (

    初心者が本当に知りたかったC#入門以前
    mohno
    mohno 2024/01/08
    「C#は20年前のコードがそのまま動く」「変化が早いのに動かなくなることがないから情報が更新されない」/ぶっちゃけ10年前でも便利だったしね(←オイ)「なんと、公式のマニュアルのチュートリアルもダメです」
  • F# 8 のリリースで F# が最強の言語になってしまった件 - Qiita

    おはようございます. 遅ればせながら,11/14/2023 の .NET 8 のリリースの内容を確認し,コードジェネレータの新しい最適化機構(PGO)のデフォルト有効化や AI/LLM のアプリケーションへの統合,各フレームワークのアップデートや,C# の方ではコレクション記法の統合など様々なトピックがある中で,付随してリリースされた F# 8 についても新機能をチェックしてみました. ヤバすぎました. 私は涙しました.これまであらゆる F#er が望んでも得られなかったものがそこにはありました.F# という言語がこれまでの不満点を一気に払拭し,至高の領域に到達しようというヤバみを感じるリリースだったので,今回は以下のブログポストに記載されている新機能から個人的に凄いと思ったものを抜粋して解説します. 11/24/2023 一部サンプルコードのミスを修正しました. F# および F# 8

    F# 8 のリリースで F# が最強の言語になってしまった件 - Qiita
    mohno
    mohno 2023/11/25
    なにげに地道なファンがいるF#。まあ、使わないんだけど、Visual Basicは進歩しなくなっているのにな(←しなくていい)
  • 次期「.NET 8」プレビューリリース初公開。ネイティブコンパイラ改善で生成バイナリが約半分に、「Blazor United」登場など

    次期「.NET 8」プレビューリリース初公開。ネイティブコンパイラ改善で生成バイナリが約半分に、「Blazor United」登場など マイクロソフトは同社のアプリケーションフレームワーク「.NET」の次期メジャーバージョンアップとなる「.NET 8」の最初のプレビューリリースとなる「.NET 8 Preview Release 1」を公開しました。 マイクロソフトは毎年11月に.NETのメジャーバージョンアップを行っており、そのうち偶数バージョンがLTS(Long Term Support:長期サポート)版となります。そのため「.NET 8」は次のLTS版として11月に正式リリース予定です。 Announcing .NET 8 Preview 1 ... including big improvements to products, libraries, runtime, and too

    次期「.NET 8」プレビューリリース初公開。ネイティブコンパイラ改善で生成バイナリが約半分に、「Blazor United」登場など
    mohno
    mohno 2023/02/24
    むしろ「.NET 7で登場した新機能のネイティブコンパイラ」が洗練されていなかった、ということか。ってか「Hello, World」で“MB”単位なんだもんな。半分になってもデケェ。
  • C# 11の新機能を理解しよう──オブジェクトの初期化とジェネリック型数値演算を解説

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    C# 11の新機能を理解しよう──オブジェクトの初期化とジェネリック型数値演算を解説
    mohno
    mohno 2023/02/12
    使わない間に、どんどん遠い世界に行ってるなあ。
  • マイクロソフト、「C#は進化させ続ける」「Visual Basicに新しい構文の導入はしない」。.NETのプログラミング言語に関する最新の戦略を明らかに

    マイクロソフト、「C#は進化させ続ける」「Visual Basicに新しい構文の導入はしない」。.NETのプログラミング言語に関する最新の戦略を明らかに マイクロソフトは、.NETでサポートする3つのプログラミング言語「C#」「F#」「Visual Basic」の今後に関する戦略を、最新版にアップデートしたことを明らかにしました。 下記はマイクロソフトで.NETのプリンシパルプログラムマネージャを務めるKathleen Dollard氏のツイート。 We've updated our .NET Language Strategy. You can read more and get the links here: https://t.co/SsmZJBSEUA — Kathleen Dollard (@KathleenDollard) February 6, 2023 最新版の戦略はこれま

    マイクロソフト、「C#は進化させ続ける」「Visual Basicに新しい構文の導入はしない」。.NETのプログラミング言語に関する最新の戦略を明らかに
    mohno
    mohno 2023/02/08
    Visual Basicを言語として進化させないという表明は3年前にしてるけどね→ https://devblogs.microsoft.com/vbteam/visual-basic-support-planned-for-net-5-0/ "we do not plan to evolve Visual Basic as a language" /CやC++もそれでいいと思うんだが(←オイ)
  • (C#) async/await を理解する - ネコのために鐘は鳴る

    この記事は Qiita C# Advent Calendar 2021 の5日目の記事です。 はじめに C# で async/await が登場してからずいぶんと時間がたち、モダンな C# においてはほぼ必須となりました。Unity でも UniTask などのライブラリもあり、簡単に非同期処理が書けます。この記事では C# での非同期処理の歴史にも触れつつ async/await の動作原理について書きます。 Unity C# の話を書いた方が需要が高そうなので Unity および UniTask を前提にした説明とコードが多く出てきますが、async/await は C# の言語機能であるため、動作原理自体は .NET でも同じです。非 Unity の文脈では適宜読み替えてください。 また、詳細を完璧に説明するよりもわかりやすさを重視したため、一部正確さを欠いた説明をしています。ご了承

    (C#) async/await を理解する - ネコのために鐘は鳴る
    mohno
    mohno 2021/12/05
    「C# で async/await が登場してからずいぶんと時間がたち、モダンな C# においてはほぼ必須となりました」「 C# での非同期処理の歴史にも触れつつ async/await の動作原理について書きます」
  • neue cc - .NET 6とAngleSharpによるC#でのスクレイピング技法

    C# Advent Calendar 2021の参加記事となっています。去年は2個エントリーしたあげく、1個すっぽかした(!)という有様だったので、今年は反省してちゃんと書きます。 スクレイピングに関しては10年前にC#でスクレイピング:HTMLパース(Linq to Html)のためのSGMLReader利用法という記事でSGMLReaderを使ったやり方を紹介していたのですが、10年前ですよ、10年前!さすがにもう古臭くて、現在ではもっとずっと効率的に簡単にできるようになってます。 今回メインで使うのはAngleSharpというライブラリです。AngleSharp自体は2015年ぐらいからもう既に定番ライブラリとして、日でも紹介記事が幾つかあります。が、いまいち踏み込んで書かれているものがない気がするので、今回はもう少しがっつりと紹介していきたいと思っています。それと直近Visual

    mohno
    mohno 2021/12/05
    「今回メインで使うのはAngleSharpというライブラリ」「2015年ぐらいからもう既に定番ライブラリ」←へぇぇ。/20年前にあったら便利だっただろうなあ(←オイ)
  • Visual Basic support planned for .NET 5.0

    We’ve heard your feedback that you want Visual Basic on .NET Core. Earlier versions of .NET Core supported Class Library and Console applications types. Starting with .NET 5 Visual Basic will support: Class Library Console Windows Forms WPF Worker Service ASP.NET Core Web API We are supporting these application types to provide a good path forward for the existing VB customer who want to migrate t

    Visual Basic support planned for .NET 5.0
    mohno
    mohno 2020/10/14
    "Going forward, we do not plan to evolve Visual Basic as a language. "←なるほど。そう言い切ってもらえると良い面もあることはあるけれど。/"Future features of .NET Core that require language changes may not be supported in Visual Basic."
  • 新機能 - Visual Basic

    このブラウザーはサポートされなくなりました。 Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。 このトピックでは、Visual Basic の各バージョンの主要機能の名前と、言語の最新バージョンでの新機能および拡張機能の詳しい説明を一覧表示します。 現在のバージョン Visual Basic 16.9 / Visual Studio 2019 バージョン 16.9 新機能については、「Visual Basic 16.9」を参照してください。 最新の .NET SDK は .NET のダウンロード ページでダウンロードできます。 以前のバージョン Visual Basic 16.0 / Visual Studio 2019 バージョン 16.0 新機能については、「Visual Basic 16.0」を参

    mohno
    mohno 2020/10/14
    そういえば、派手に拡張されているC#に対応するVisual Basicはどうなっているんだろうと思ったが……けっこう地味だな。というか、足りなくないか?
  • 「.NET Core 3.0」正式版が登場。Windowsデスクトップアプリ開発可能、exeファイルを生成、マイクロサービス対応など

    マイクロソフトはオープンソースで開発している.NETフレームワークの最新版「.NET Core 3.0」正式版のリリースを、オンラインイベント「.NET Conf 2019」で発表しました。 マイクロソフトが提供するおもなフレームワークには、Windows向けの「.NET Framework」、当初はおもにサーバアプリケーション向けとして登場したオープンソースの「.NET Core」、そしてモバイル向けの「Xamarin」の3つに大別できます。 今回リリースされた「.NET Core 3.0」では、これまで可能だったLinuxWindows Serverのサーバーアプリケーションの開発に加えて、Windowsデスクトップアプリケーションの開発が可能になったことが最大の特徴です。 以下、.NET Conf 2019で紹介された.NET Core 3.0の特徴を中心に紹介しましょう。 .NE

    「.NET Core 3.0」正式版が登場。Windowsデスクトップアプリ開発可能、exeファイルを生成、マイクロサービス対応など
    mohno
    mohno 2019/09/24
    「.NET 5では、現在分かれている.NET Core、.NET Framework、Xamarinをすべて統合することが予定されています」/あ、WPFまで統合されるわけじゃないのか。よかった。
  • C# 7 の新機能

    C# 6からはC#コンパイラーがオープンソース化されたわけですが、 C# 6の言語仕様自体はオープン化前から大筋が決まっていました。 C# 7は、仕様を決めるかなり早い段階からすべてがオープンとなる初めてのバージョンになります。 C# 7以降のC#の大きなテーマとしては以下のようなものがあります。 データ中心の設計 パフォーマンスや信頼性の向上 C# 7にはその最初の一歩となる機能がいろいろと追加されています。 また、この大きなテーマ以外にも、こまごまとして改善が何点かあります。 データ中心の設計 伝統的なオブジェクト指向的な発想は多くの場面で有用ですが、別の発想を持つ方が好ましい場面もあります。 オブジェクト指向では、具体的なデータは隠蔽し、メソッド越しにデータを操作します。 振る舞い中心(behavior-centric)な設計になります。 一方で、関数型言語では、純粋なデータ(C#で

    C# 7 の新機能
    mohno
    mohno 2016/10/30
    便利な機能はすぐ使いたくなるけれど、必ずしも新しいバージョンを使えるところばかりじゃないのがなあ。
  • ピックアップRoslyn 8/27: What’s New in C# 7.0

    ブログ: What’s New in C# 7.0 Roslynリポジトリ内の話じゃないんですけど、Preview 4でのC# 7の動きについて、Madsがブログ書いてました。 What’s New in C# 7.0 そういや、この文章だと「C# 7.0」。 昔ちょっとブログ書きましたけど、最近って小数点以下のバージョン付けないんですけど。 C# 7はずっと「7」ばっかりみてたけど、久々に「7.0」表記。 この辺り、最近、C#チーム内でも統一してないなぁ… C# 7.0の内容 このブログの内容的には、 先日僕もブログで書いたのとそんなに差がないんで詳細は省略。 Visual Studio "15" Preview 4 差分というか、僕が書いた方で漏れてるのは、以下の内容: out varのwildcard out varと一緒に、*、要するに、受け取る必要のない out 引数を無視するた

    ピックアップRoslyn 8/27: What’s New in C# 7.0
    mohno
    mohno 2016/08/27
    「機能を足せるけど、絶対に消せない」「あらゆる機能はマイナス100ポイントから始めろ」「何パターンかあり得そうな未来について、取り組む余地を確実に残せるよう、投機的な設計にどれだけ時間をついやしている…」
  • オープンソースのC#/Roslynプロジェクトで見たこと、感じた教訓

    を代表する「C#(でぐぐれ)」の人、岩永信之氏によるコラムが遂に登場。今回はオープンソースで開発が行われているC#と開発者の関わり方について。 連載 INDEX 次回 → 日はRoslynについての話をしていきたい。Roslynは、オープンソースで開発されている新しいC#とVisual Basicのコンパイラーである。“Roslyn”という名称はコードネームで、最終的な製品名は.NET Compiler Platformとなった。 製品名が決まった一方で、GitHubのリポジトリ名はRoslynのままとなっている。これが、稿のタイトルに「Roslyn」という言葉を残した理由である。つまり、日の主題はオープンソース化され、GitHub上で公開されている「Roslynプロジェクト」自体の話である。 Roslynプロジェクトがオープンソース公開されたのが2014年の4月ごろで、1年半ほ

    mohno
    mohno 2015/11/02
    この連載は期待。「こんな悪夢のような悪用コードも、発見されるまでに結構な時間がかかっている」←Andersが「新機能の導入に保守的なのは、いったん導入すると不都合があってもやめられないから」って言ってたなあ。
  • Parse<T>

    今日、twitter経由で悩んでる方いらっしゃったから書いたけども、なんか結構な頻度でこんなコード書いてるなーというもの。 http://ideone.com/YYKRj ジェネリック メソッド内で、ジェネリック型引数に対して、 void Method<T>(string s) { var x = T.Parse(s); } 的なことがしたいけどもできない(ジェネリックでは静的メソッドの解決ができない)のがめんどくさいなぁということで、 void Method<T>(string s) { var x = Parser.Parse<T>(s); } 的なメソッドを用意したいというもの。(実際にはParse処理で例外を出したくないので、TryParseとParseOrNullを用意。) 一応、リフレクションを使ってできるものの、TryParseを呼ぶたびにリフレクションはしたくないので、静的

    Parse<T>
    mohno
    mohno 2012/08/17
    なるほどー。C++ なら簡単なんだけどな:-)
  • 1