Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

Donetconf2016: The Future of C#

691 visualizaciones

Publicado el

In this presentation I discuss the directions of the .NET Framework and the C# language moving forward from mid-2016.

Publicado en: Tecnología
  • Sé el primero en comentar

Donetconf2016: The Future of C#

  1. 1. The Future ofC# Jon Limjap Microsoft MVP forVisual Studio and DevelopmentTechnologies Philippine .NET Users Group Lead
  2. 2. About Me  Microsoft MVP forVisual Studio and DevelopmentTechnologies  CTO & Co-Founder, NomadTravlr Inc.  Lead, Philippine .NET Users Group  http://jonlimjap.net  @lattex | jonlimjap@gmail.com
  3. 3. Philippine .NETUsers Group (PHINUG) facebook.com/groups/phinug
  4. 4. Where is Microsoft today? Free or paid? Cheap or expensive? Open source or proprietary? Good or evil?
  5. 5. Exciting times ahead for .NET
  6. 6. .NET FRAMEWORK .NET CORE XAMARIN APP MODELS BASE LIBRARIES * .NET today—app models and libraries
  7. 7. .NET FRAMEWORK .NET CORE XAMARIN APP MODELS BASE LIBRARIES .NET today—reusing code
  8. 8. .NET today—challenges
  9. 9. .NET tomorrow .NET FRAMEWORK .NET CORE XAMARIN *
  10. 10. .NET tomorrow—reusing code .NET FRAMEWORK .NET CORE XAMARIN
  11. 11. .NET standard libraries—advantages
  12. 12. .NET future innovation .NET FRAMEWORK .NET CORE XAMARIN * TOOLS
  13. 13. Developed in the open http://dotnet.github.io
  14. 14.  http://stackoverflow.com/research/developer-survey-2016#technology-most-popular-technologies Most popular technologies
  15. 15.  http://stackoverflow.com/research/developer-survey-2016#technology-most-loved-dreaded-and-wanted Most loved technologies
  16. 16.  http://stackoverflow.com/research/developer-survey-2016#technology-most-loved-dreaded-and-wanted Most dreaded technologies
  17. 17. Microsoft’s changing tune… Run onWindows .NET as system component Run onVM (CLR) Black box compilers Edit inVisual Studio Proprietary Run everywhere Deploy with app Compile to native Open compiler APIs Use your favorite editor Open source
  18. 18. C# 7 It’s getting funkier every version!
  19. 19. Digit separators int bin = 0b1001_1010_0001_0100; int hex = 0x1b_a0_44_fe; int dec = 33_554_432; int weird = 10000_000; double real = 1_000.111_1e-1_000;
  20. 20. Binary Literals int nineteen = 0b10011;
  21. 21. Ref returns and Ref Locals string[] myArray = { "one", "two", "three" }; WriteLine($"The first element of the array is {myArray[0]}"); ref string n = ref FirstElement(myArray); n = "other"; //myArray[0] now equals "other" WriteLine($"The first element of the array has become {myArray[0]}");
  22. 22. Local Functions class Program { static void Main(string[] args) { void testingLocalFunctions() { Console.WriteLine("Hello World!"); } testingLocalFunctions(); } }
  23. 23. C# 7 features that are still… wonky
  24. 24. Tuples public (int x, int y) Compute(){} // Call the method var (x,y) = Compute(); public (int sum, int count) Tally(IEnumerable<int> values) { sum = 0; count = 0; foreach (var value in values) { sum += value; count++; } return (sum,count); }
  25. 25. Pattern Matching int? age = 5; if (age is int newVal) { Console.WriteLine($"Your age is {newVal}"); }
  26. 26. RecordTypes //Instead of: public class Cube { public int Width { get; set; } public int Height { get; set; } public int Depth { get; set; } } //We write this: public class Cube(int Width, int Height, int Depth)
  27. 27. Philippine .NETUsers Group (PHINUG) facebook.com/groups/phinug

×