Od pewnej grupy czytelników dostaję wiadomości z pytaniem: "Jakie kolejne kroki powinienem podjąć?" - w kontekście dalszej nauki języka C# bądź też całej platformy .NET.

Odpowiedź na to pytanie nie jest taka prosta jak się wydaję. Wpis ten podzielę na dwie części. W pierwszej omówimy same podstawy języka C# a tutaj skupimy się na rzeczach bardziej skomplikowanych. Oraz całej platformie .NET.

W pierwszej kolejności polecam artykuły z serii: Język C# dla zaawawnsowanych, gdzie poruszane są nieco bardziej wymagające tematy, tj. atybuty, delegaty, kolekcje czy typy generyczne. Oczywiście jest to, swojego rodzaju wprowadzenie, ale warto przejść przez te lekcje.

Warto również przejrzeć i zainteresować się spisem dostępnej literatury dotyczącej programowania. W tej cześci skupiamy się tylko na naszym głównym języku, tj. C#. Mogę z czystym sumieniem polecić kilka książek, które zresztą są najcześciej wspominane na różnych forach programistycznych:

  • W książce poruszane są m.in. zagadanienia takie jak elementy programowania obiektowego, obsługa wyjątków, operacje na plikach czy praca na wielu wątkach. Na blogu możesz przeczytać wprowadzenie do tych elementów a wiedzę rozszerzyć na kolejnych przykładach. Dodatkowo dowiesz się jak przygotować interfejs użytkownika oraz do czego służy język LINQ. Książka jest napisana z poziomu osób początkujących, w bardzo prosty i przejrzysty sposób.
  • Zanim jednak sięgniecie do lektury warto zapoznać się z artykułem, który w skrócie pokaże Wam nowości, które pojawiały się w tej wersji języka: Co nowego w C# 6.0?
  • Jeżeli nie chcecie zrazić się do programowania (jako osoby totalnie początkujące), nie sięgajcie do tej i poprzedniej książki. Zostały one napisane dla osób, które poznały zasady programowania obiektowego, znają różne typy projektów oferowane przez framework. Sprawdź proszę artykuł: Co nowego w C# 7.0? a następnie zdecyduj czy chcesz poszerzać swoją wiedzę o kolejne funkcjonalności wprowadzone do języka.

Możecie zapytać czemu jedna ksiązka jest z C#, inna z C# 6.0 a kolejna z C# 7.0? Pamiętajcie, że język ciągle ewoluuje, pojawiają się kolejne wersje, które wprowadzają funkcjonalności wcześniej niedostępne, np. Operator warunkowy Null w C# 6.0, zmienia się cała platforma: .NET Core, itd. Warto być na bieżąco z tymi zmianami, żeby sukcesywanie wprowadzać je do swoich projektów. Czasem jest to, z pozoru zwykła zmiana formatowana tekstu (która dla mnie jest niesamowicie czytelna), a z drugiej całkowicie nowy sposób rzucania wyjątków.

Praca programisty nie polega jedynie na pisaniu aplikacji w najnowszych wersjach platformy czy języka. Z jednej strony codziennie mam styczność z WebAPI przygotowywanym na platformie .NET Core (celowo nie podaję cyferek, gdyż wersja ciągle się zmienia), z drugiej strony czasem trzeba zaimplementować jakąś nową funkcjonalność w projekcie ASP.NET Web Forms utworzonym we frameworku .NET 3.5. Niczym zaskakującym nie jest przepisywanie aplikacji napisanej w .NET Compact Framework 3.5 na aplikację desktopową napisaną w technologii WPF (Windows Presentation Foundation) czy UWP (Universal Windows Platform). Na bardziej szczegółowej analizie skupimy się w kolejnej części artykułu. W tej części chciałem zwrócić tylko uwagę na fakt jak ważna i cenna jest wiedza dotycząca różnych wersji czy możliwości całej plaftormy.

Czy jest coś lepszego nie praktyka pisania kodu? Wydaje mi się, że nie! Zadanie, pomysł do rozwiązania czy projekt aplikacji - nigdzie nie nauczysz się więcej. Jeżeli sam staniesz przed jakimś problemem do rozwiązania, zaczniesz szukać podpowiedzi, przeglądać posty różnych programistów - to niesamowicie pomaga.

W poniższej książce:

macie różne zadania do samodzielnej implementacji. Możecie oczywiście skorzystać z przykładowych rozwiązań ale w pierwszej kolejności warto samemu szukać odpowiedzi. Takie podejście pozwala też dowiedzieć co kryje sie "pod spodem". Chcąc rozwiązać pewien problem możecie natrafić na masę różnych wskazówek dotyczących np. poprawy bezpieczeństwa Waszej aplikacji czy bardziej bezpiecznego szyfrowania danych.

Powyżej macie zbiór książek w języku polskim. Bloga napisałem w naszym rodzimym języku bo brakowało mi podobnych artykułów, a niestety...większość dobrego materiału jest po angielsku. Sam jestem wielkim fanem platformy Microsoft Virtual Academy. Przeszedłem przez wiele szkoleń (można również znaleźć po polsku) i osobiście uważam, że jest to nieocenione źródło wiedzy. Jeżeli checie przebyć swój pierwszy kurs na tej platformie, mogę z czystym sumieniem polecić: Microsoft Virtual Academy: C# dla początkujących
Warto mieć na uwadzę, że materiały są ciągle aktualizowane. Patrząc na "postęp mojej nauki" przeszedłem przez wcześniejszą wersję tego szkolenia. Cały materiał został zaktualizowany:

Zastanawia Was czym jest wspomniane wcześniej WebAPI? Zapraszam do 5-tej lekcji kursu o ASP.NET Core

Na sam początek wystarczy. Niektórzy mogą czuć się nieco przytłoczeni ilością informacji, książek czy kursów. Warto jednak mieć świadomość gdzie szukać informacji i sposobów na poszerzanie swojej wiedzy. W kolejnej części tego wpisu skupimy się na platformie .NET, której C#, jako język programowania, jest składową, ale nie jedyną... (czytaj dalej)