Pierwsza edycja języka C# 1.0 pojawiła się 2002 roku. Obecnie więc C# ma 12 lat. (2014)
W roku 2005 pojawiła się wersja 2.0 a wraz z nią typy generyczne (List<t>). Teraz trudno sobie wyobrazić programowanie bez nich.
W roku 2007 do C# 3.0 został dodany LINQ czyli wyrażenia lambda, zapytania, które filtrują po kolekcjach obiektów oraz po kolekcjach ORM, które zostały dopiero pobrane. Nie jestem w stanie wyobrazić sobie programowania bez LINQ.
W roku 2010 do C# 4.0 został dodane słowo kluczowe “dynamic” . Programowanie dynamicznie nie jest czymś, co możesz robić każdego dnia. Ja na przykład nie używałem tego mechanizmu wcale. Jednakże ten dynamiczny mechanizm pozwala w statycznym typowanym języku, jakim jest C# na ciekawe użycia innych bibliotek, napisanych choćby w Pythonie. Coś jest statycznie deklarowane, że będzie dynamicznie. Tak to działa.
W 2012 roku do C# 5.0 zostały dodane słowa kluczowe “async” i “await”. Pozwalają one na łatwiejsze pisanie i wywoływanie asynchronicznych funkcji, choćby wezwań do usługi WCF.
Wiem, że ma się pojawić się wersja 6.0. Co nowego ta wersja przyniesie?