Recommended
PDF
F#によるFunctional Programming入門
PDF
PDF
PDF
PPTX
解説?FSharp.Quotations.Compiler
PDF
PDF
PPTX
PDF
PPTX
PPTX
PDF
Template Meta Programming入門から応用まで
PDF
Define and expansion of cpp macro
PDF
PPT
PDF
PPT
PPT
PPTX
C#や.NET Frameworkがやっていること
PPTX
PPTX
PDF
PDF
PDF
PPTX
PDF
PDF
PPTX
Trema day#4 Pio盛り ~Tremaのパケットパーサ~
PDF
PPTX
C#4.0 と Visual Studio 2010/.NET Framework 4.0~ここが Cool! いけてる機能10連発!~
More Related Content
PDF
F#によるFunctional Programming入門
PDF
PDF
PDF
PPTX
解説?FSharp.Quotations.Compiler
PDF
PDF
PPTX
What's hot
PDF
PPTX
PPTX
PDF
Template Meta Programming入門から応用まで
PDF
Define and expansion of cpp macro
PDF
PPT
PDF
PPT
PPT
PPTX
C#や.NET Frameworkがやっていること
PPTX
PPTX
PDF
PDF
PDF
PPTX
PDF
PDF
PPTX
Trema day#4 Pio盛り ~Tremaのパケットパーサ~
Viewers also liked
PDF
PPTX
C#4.0 と Visual Studio 2010/.NET Framework 4.0~ここが Cool! いけてる機能10連発!~
PDF
PDF
PPTX
PDF
Similar to .NET系開発者から見たJava
PDF
PPTX
PPTX
PPTX
PPTX
Visual Studio 2008による 開発環境・プログラミングの進化
PDF
Unity2015_No10_~UGUI&Audio~
PDF
PPTX
PDF
【Unite Tokyo 2019】Understanding C# Struct All Things
PPTX
Visual Studio による開発環境・プログラミングの進化
PPTX
Xamarin.iOS/android+F#で作る関数型アプリ
PDF
この辺でXamarin導入による 効果と限界をしっかり把握してみよう MVP Community Camp 2015
PDF
KEY
PPTX
PDF
PDF
C# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッション
PDF
PDF
C#の新機能勉強会 ~ C#7、8の新機能を活用して速く安全なプログラムを書こう~
PDF
C#でのクロスプラットフォーム モバイル開発環境 Xamarin のご紹介
More from bleis tift
PDF
PDF
PDF
PDF
PDF
PDF
PDF
PDF
yield and return (poor English ver)
PDF
PDF
PDF
ラムダでウィザード 滅せよ手続き、とチャーチは言った (※言ってません)
PDF
PDF
VBAを書きたくない話(Excel-DNAの紹介)
PDF
PDF
PDF
PDF
PDF
PPTX
PDF
Recently uploaded
PDF
ニューラルプロセッサによるAI処理の高速化と、未知の可能性を切り拓く未来の人工知能
PDF
SIG-AUDIO 2025 Vol.04 インタラクティブミュージック勉強会 インタラクティブミュージックの書き方
PDF
SIG-AUDIO 2025 Vol.04 インタラクティブミュージック勉強会 ダレカレの音ができるまで
PDF
Multiple Object Tracking as ID Prediction
PDF
[2025 Rakuten Technology Conference] Daybreak for AI Agents
PDF
TransitReID: Transit OD Data Collection with Occlusion-Resistant Dynamic Pass...
PDF
【ツールテクノ】会社説明会資料2026年度版.pdf/月10時間までの学習を勤務時間として計上可能!
PDF
膨大なデータ時代を制する鍵、セグメンテーションAIが切り拓く解析精度と効率の革新
PDF
AI開発の最前線を変えるニューラルネットワークプロセッサと、未来社会における応用可能性
PDF
Data Scaling Laws for End-to-End Autonomous Driving
PDF
Mixture-of-Personas Language Models for Population Simulation
.NET系開発者から見たJava 1. 2. 3. 4. わたしとJava
今すぐダウンロード
2002 年~2003 年Java を始める(1.3~1.4)
2003 年~ デザインパターン厨
2007 年Sun Tech Days 2007 in Tokyo
2009 年第一回名古屋Scala 勉強会
5. 6. 7. 8. 9. 10. 11. 12. ダイアモンド構文のだささ
.
Java のダイアモンド構文
.
.List<String> strs = new ArrayList<>();
.
C#のvar .
.var strs = new List<string>();
ださい
13. ダイアモンド構文の利点
.
C#のvar? .
public class SomeClass
{
.
// コンパイルエラー・・・
var strs = new List<string>();
}
C#のvar はフィールドに使えない
.
Java のダイアモンド構文
.
public class SomeClass {
.
// OK!
List<String> strs = new ArrayList<>();
}
まぁ、F#のlet はフィールドにも使えるんですけ
どね!
14. 15. 16. プリミティブ型がオブジェクトとして扱えない
のはJavaの怠慢
.
Java ではないコード
.
int x = 42;
.
String s = x.toString();
.
こういうコードと等価とみなす
.
int x = 42;
.
String s = Integer.toString(x);
まぁ、拡張メソッドですね
17. enum
列挙型
null が入る以外は、C#のenum より素敵
まぁでも判別共用体の前では・・・
Java のenum もC#のenum も、ケースごとの値
が持てない
18. 19. 20. 21. use 束縛
.
F#の例
.
let f path =
.
use x = new StreamReader(path)
// x を使って何か素敵なことをする
// スコープを抜けるとx.Dispose が自動で呼び出される!
.
更に素敵な例
.
let f path =
.
// スコープは割と自由自在
let body =
use x = new StreamReader(path)
x.ReadToEnd()
// body を使って何か素敵なことをする
22. 23. ラムダ式とジェネリック
.
F#の例
.
let f () =
.
// これができる
let id = fun x -> x
let a = id 42
let b = id "hoge"
()
24. 25. Value Types
ユーザ定義できる値型
それなんてstruct
ただ、use cases を見ると・・・
Algebraic data: optional(no box), choice-of,
unit(no bits)
Tuples: multiple-value return!(requires specialized
machinery also)
26. Specialization
Value Types とかプリミティブ型もジェネリク
スの型引数として渡したい
.NET では普通にできている
既存ライブラリとの互換性を考えると問
題も・・・
Map.get() など、null を返すメソッドどうする
よの?
Conditional Methods を強力にすれば解決できそ
うな気もするがはたして
27.