• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
C#'ın geleceğine bir bakış webiner
 

C#'ın geleceğine bir bakış webiner

on

  • 1,384 views

Nedirtv.com çatısı altında gerçekleştirdiğim ve c#'ın ilerleyen sürümlerinde bizleri bekleyen yenilikleri paylaştığım webiner sunumu

Nedirtv.com çatısı altında gerçekleştirdiğim ve c#'ın ilerleyen sürümlerinde bizleri bekleyen yenilikleri paylaştığım webiner sunumu

Statistics

Views

Total Views
1,384
Views on SlideShare
945
Embed Views
439

Actions

Likes
0
Downloads
0
Comments
0

2 Embeds 439

http://www.egulcu.net 436
http://www.linkedin.com 3

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    C#'ın geleceğine bir bakış webiner C#'ın geleceğine bir bakış webiner Presentation Transcript

    • http://fatihboy.comhttp://enterprisecoding.com
    • BildirimselEşzamanlılık Dinamik
    • 2005 - C# 2.0 Generics2002 - C# 1.0 Managed Kod
    • public static IEnumerable<int> To(this int ilk, int son) { for (var l = ilk; l <= son; l++) { yield return l; }}foreach (int i in 5.To(15)) { j = i*i;}
    • 2007 - C# 3.0 LINQ 2005 - C# 2.0 Generics2002 - C# 1.0 Managed Kod
    • List<int> ogrenciIdleri = new List<int>();foreach (Ogrenci ogrenci in ogrenciler) { if (ogrenci.BolumID == 1) { ogrenciIdleri.Add(ogrenci.ID); }}var ogrenciIdleri = ogrenciler .Where(ogrenci => ogrenci.BolumID == 1) .Select(ogrenci => ogrenci.ID);var ogrenciIdleri = from ogrenci in ogrenciler where ogrenci.BolumID == 1 select ogrenci.ID;
    • 2010 - C# 4.0 Dinamik programlama 2007 - C# 3.0 LINQ 2005 - C# 2.0 Generics2002 - C# 1.0 Managed Kod
    • object hesapMakinesi = HesapMakinesiniGetir();Type hesapMakinesiTuru = hesapMakinesi.GetType();object sonuc = hesapMakinesiTuru.InvokeMember("Ekle",BindingFlags.InvokeMethod, null, hesapMakinesi, new object[] { 1, 2});int toplam = Convert.ToInt32(sonuc);dynamic hesapMakinesi = HesapMakinesiniGetir();int toplam = hesapMakinesi.Ekle(1, 2);
    • Bildirimsel C# 3.0 DinamikEşzamanlılık C# 4
    • ... - C# v.Next Asenkron Programlama 2010 - C# 4.0 Dinamik programlama 2007 - C# 3.0 LINQ 2005 - C# 2.0 Generics2002 - C# 1.0 Managed Kod
    • var veri = VeriyiIndir(...);VeriyiIsle(veri);VeriyiIndirAsync(... , veri => { VeriyiIsle(veri);});
    • async void DoWorkAsync() { var t1 = ProcessFeedAsync("enterprisecoding.com/feed"); var t2 = ProcessFeedAsync("enterprisecoding.tv/feed"); await Task.WhenAll(t1, t2); DisplayMessage("Done");} async Task ProcessFeedAsync(string url) { var text = await DownloadFeedAsync(url); var doc = ParseFeedIntoDoc(text); await SaveDocAsync(doc); ProcessLog.WriteEntry(url); }
    • async void DoWorkAsync() { var t1 = ProcessFeedAsync("enterprisecoding.com/feed"); var t2 = ProcessFeedAsync("enterprisecoding.tv/feed"); await Task.WhenAll(t1, t2); DisplayMessage("Done");} async Task ProcessFeedAsync(string url) { var text = await DownloadFeedAsync(url); var doc = ParseFeedIntoDoc(text); await SaveDocAsync(doc); ProcessLog.WriteEntry(url); }
    • async void DoWorkAsync() { var t1 = ProcessFeedAsync("enterprisecoding.com/feed"); var t2 = ProcessFeedAsync("enterprisecoding.tv/feed"); await Task.WhenAll(t1, t2); DisplayMessage("Done");} async Task ProcessFeedAsync(string url) { var text = await DownloadFeedAsync(url); var doc = ParseFeedIntoDoc(text); await SaveDocAsync(doc); ProcessLog.WriteEntry(url); }
    • async void DoWorkAsync() { var t1 = ProcessFeedAsync("enterprisecoding.com/feed"); var t2 = ProcessFeedAsync("enterprisecoding.tv/feed"); await Task.WhenAll(t1, t2); DisplayMessage("Done");} async Task ProcessFeedAsync(string url) { var text = await DownloadFeedAsync(url); var doc = ParseFeedIntoDoc(text); await SaveDocAsync(doc); ProcessLog.WriteEntry(url); }
    • async void DoWorkAsync() { var t1 = ProcessFeedAsync("enterprisecoding.com/feed"); var t2 = ProcessFeedAsync("enterprisecoding.tv/feed"); await Task.WhenAll(t1, t2); DisplayMessage("Done");} async Task ProcessFeedAsync(string url) { var text = await DownloadFeedAsync(url); var doc = ParseFeedIntoDoc(text); await SaveDocAsync(doc); ProcessLog.WriteEntry(url); } 
    • async void DoWorkAsync() { var t1 = ProcessFeedAsync("enterprisecoding.com/feed"); var t2 = ProcessFeedAsync("enterprisecoding.tv/feed"); await Task.WhenAll(t1, t2); DisplayMessage("Done");} async Task ProcessFeedAsync(string url) { var text = await DownloadFeedAsync(url); var doc = ParseFeedIntoDoc(text); await SaveDocAsync(doc); ProcessLog.WriteEntry(url); }  
    • async void DoWorkAsync() { var t1 = ProcessFeedAsync("enterprisecoding.com/feed"); var t2 = ProcessFeedAsync("enterprisecoding.tv/feed"); await Task.WhenAll(t1, t2); DisplayMessage("Done");} async Task ProcessFeedAsync(string url) { var text = await DownloadFeedAsync(url); var doc = ParseFeedIntoDoc(text); await SaveDocAsync(doc); ProcessLog.WriteEntry(url); }       
    • ... - C# v.Next Next CaaS ... - C# v.Next Asenkron Programlama 2010 - C# 4.0 Dinamik programlama 2007 - C# 3.0 LINQ 2005 - C# 2.0 Generics2002 - C# 1.0 Managed Kod
    • SınıfMeta-programlama Read-Eval-Print public Foo Loop Dil Nesne Modeli alan (REPL) private X string .NET Kaynak Kodu .NET Kaynak Kodu Assembly Kaynak Kodu Derleyici .NET Assembly Assembly
    • DERLEYICI API’SI DERLEYICI PIPELINE Yayınlayıcı SembollerAyrıştırıcı Bağlayıcı IL Meta-Veri ithali
    • • Visual Studio Async CTP http://msdn.com/async• Visual Studio «Roslyn» CTP http://msdn.com/roslyn• Enterprisecoding http://fth.by/roslynmakaleleri http://fth.by/asyncmakaleler
    • http://fatihboy.comhttp://enterprisecoding.com