Jak pewnie wszyscy wiedzą niedawno skończyła się konferencja BUILD, na której zaprezentowano przede wszystkim najnowszego Windows’a 8. Jednak nie tylko. W kilku nadchodzących postach postaram się pokazać filmy warte obejrzenia.  Dziś na pierwszy ogień:

Future directions for C# and Visual Basic

Anders Hejlsberg prezentuje, co czeka nas w przyszłości w C# i VB. Nazwisko, którego nie trzeba przedstawiać nikomu – twórca języka.

Pierwsza część prezentacji skupia się na przedstawieniu async (znanego od jakiegoś już czasu), potem pojawiają się nowości. Hejlsberg używa tego nowego słowa kluczowego w aplikacji pobierającej informacje z NetFlix’a. Trzeba przyznać, że async oraz await dość znacznie poprawią czytelność kodu. Gdyby ktoś chciał już w chwili obecnej pobawić się tą technologią to jest ona dostępna.

Kolejną zaprezentowaną nowością będą CallerInfo attributes. Umożliwią one pobranie w runtime’ie informacji o kodzie, który wywołuje naszą metodę. Coś jak makra z C++.

Zostaną wprowadzone trzy nowe atrybuty [CallerFilePath], [CallerLineNumber] oraz [CallerMemberName], które możemy nadać dla parametrów metody. Jeśli metoda taka zostanie wywołana bez któregoś z parametrów oznaczonego nowymi atrybutami, zostanie on automatycznie wypełniony odpowiednią informacją.

Kolejną zaprezentowaną nowością jest Roslyn – “upublicznienie” kompilatora C#. Kompilator jako usługa – jak to jest reklamowane. Kompilator nie będzie już czarną skrzynką a zestawem API, który będziemy mogli wykorzystać do jego rozszerzania. Konwersja kodu z VB do C# w Visual Studio? Będzie to możliwe już niedługo za pomocą “skryptu”, który sami sobie napiszemy. Interaktywna konsola w VisualStudio z podpowiadaniem i wprowadzaniem zmian na bieżąco? Proszę bardzo.

Struktura kompilatora w Roslyn

Zobaczymy co z tego wyjdzie, bo pierwsze CTP ma być za około 4 tygodnie. Zapowiada się ciekawie.

Sesja zdecydowanie warta obejrzenia dla wszystkich programistów .NET, choć jeśli ktoś ma dość dobre obycie z async może przewinąć film do mniej więcej 35 minuty.

Miłego poznawania nadchodzących nowości.