Join us!
Want to join the team?

We would love to get to know you

Are you looking for an employer who cares about you as a person and where you feel involved in everything that concerns you? Welcome to JellyHive!
Who are we? We are a successful IT consultant company and our philosophy is that the company is our employees.
Who are you? You are a system developer (fullstack, frontend, backend), and/or maybe also a scrum master, test lead, devops etc.
What we offer you Participation in developing the company with generous benefits.


Upload your cv Supported filetypes are: .pdf, .doc and .docx
Hide

Build 2014: Glimtar av framtidens C#

Vi hade personligen blivit tipsade av Mads Torgersen (program manager för C#) att hans och Dustin Campbells session “The future of C#” skulle vara en av konferensens “mest bokade”. Lätt att förstå baserat på dess innehåll och väldigt underhållande och kompetenta speakers. Dustin inledde sessionen med en genomgång av “Roslyn” den nya kompilatorn för C# och Visual Basic och hur man kan styra och programmera denna för att enkelt kunna förändra beteendet hos språken. Dustin visade även hur enkelt man kan styra Visual Studio genom den nya kompilatorplattformen, mer om detta i senare inlägg.

Mads påvisade i sin session hur Microsoft fokuserar på att göra språket C# mer kortfattat samt en ännu mer funktionell programstil och features såsom:

  • Primary Constructors
  • Readonly auto properties
  • Static type using statements
  • Property Expressions (property lambdas)
  • Method expressions
  • Params for enumerables
  • Monadic null checking
  • Constructor type parameter inference
using System; using System.Text;
using System.Threading.Task; // import types into namespace using System.Math;

// primary constructor
public class Point(int x, int y) {
// readonly property
public int X { get; } = x;
public int Y { get; } = y;

// property expressions
public double Dist => Sqrt( X X, Y Y );

// method expressions
public Point Move(int dx, int dy) => new Point(X + dx, Y + dy);

// parameter arrays for IEnumerable
public static Point Avg(params IEnumerable<Point> points) {
// monadic null checking
if (points?.FirstOrDefault()?.X ?? -1 )
}

public void GetCoordinates(out int x, out int y) { x = X; y = Y; }
}

Mina personliga favoriter här är tilldelning av “readonly auto properties” och “monadic null checking”. Autoproperties har gjort livet surt för immutable-klasser något som nu förenklas. Många kommer säkert beklaga sig över lite krånglig syntax i “monadic null checking” men vinsten är stor i minskad kodmassa för denna typ av kontroll och därmed minskad risk för null reference exceptions.

En mycket glädjande nyhet som ligger utanför ovanstående områden är att framtida C# kommer ha möjligheten till await innanför ett catch block. Detta lär underlätta mycket hantering av exempelvis asynkrona loggingsanrop.

Comments