C# niezupełnie od podstaw

Podobno nauka każdego nowego języka programowania jest prostsza niż wcześniejszych. Pocieszam się tym, bo postanowiłem popróbować się z językiem C#. Po co mi nauka nowego języka? Po pierwsze dlatego, że C# systematycznie zdobywa popularność. Po drugie - jest zasadniczo dość podobny do Javy, z którą mam do czynienia już od kilkunastu lat. Po trzecie umożliwia łatwiejsze prezentowanie programów innym użytkownikom, bo zazwyczaj pakiety .NET są zainstalowane w systemie (zwłaszcza w Windows 10) i nie trzeba nikogo stresować koniecznością pobierania javowego środowiska uruchomieniowego JRE. No i jeśli korzystać z Visual Studio, to można nawet sobie interfejs użytkownika po prostu "wyklikać", zamiast pracowicie pisać w kodzie.

Początki

Po przeczytaniu kilku poradników na temat "jak zacząć", postanowiłem posłuchać głosów większości i zainstalować Visual Studio w wersji Community (czyli darmowej). Na wszelki wypadek od razu też zainstalowałem środowisko od firmy JetBrains, czyli Rider. Instalacja wymagała przypomnienia sobie hasła do konta Microsoftu, pobrania 18GB kodu (!) i przeczekania prawie godziny, aż wszystko znajdzie się na swoim miejscu. Do tego, oczywiście, nie pomyślałem w ogóle o tym, że Visual Studio może sprawdzać lokalizację, więc mocno zdziwiłem się widząc interfejs użytkownika po polsku. Co z kolei opóźniło zabawę o kolejny kwadrans, bo musiałem dociągnąć sobie 420MB pakiet anglojęzyczny (wierzcie mi, po kilkunastu latach programowania zawodowego niechętnie patrzy się na zlokalizowane nazwy).

Pierwszy projekt

Standardowo należałoby napisać na początku aplikację "Hello world", czyli prosty program, wyświetlający taki właśnie napis na konsoli lub w okienku. Postanowiłem jednak, że trzeba sobie od razu podnieść poprzeczkę. Nie, żeby jakoś wysoko - ot, klasyczny "program na początek", czyli prosty edytorek tekstu, pozwalający wczytać i zapisać cośkolwiek.

Po utworzeniu nowego projektu WPF od razu miałem przed sobą prosty program z pustym okienkiem. Sięgnąłem pamięcią 15-20 lat wstecz, kiedy używałem Visual Studio czy Delphi i raz dwa "skleciłem" GUI, składające się z menu oraz pola tekstowego. Chwili zastanowienia wymagało oprogramowanie pozycji menu, bo nie chciałem ordynarnie podpinać pod nie akcji "na klik", tylko wykorzystać coś w rodzaju "swingowych" akcji w Javie.

Okazało się, że oczywiście C# także coś podobnego umożliwia, a co więcej, banalną sprawą jest ustawienie skrótów klawiaturowych dla takich akcji (tu zwanych "komendami"). Podpięcie tych komend do odpowiednich pozycji menu było kwestią minuty i całość zaczęła działać. Ot, tak.

Visual Studio a JetBrains

Nie da się ukryć, że programiści mają swoje przyzwyczajenia - ja nade wszystko ubóstwiam oprogramowanie JetBrains, a IntelliJ jest moim podstawowym narzędziem pracy. Na tym tle Visual Studio Community prezentuje się całkiem miło, chociaż ma ciągle w sobie "coś", co niegdyś mnie odrzucało. Nie wiem, jak to dokładnie określić, ale chodzi o pewną "nerwowość". Wszystko się przełącza/włącza zbyt szybko. To oczywiście czysto subiektywne odczucie, związane z wieloletnim przyzwyczajeniem do IDE od JetBrains, więc nie przejmuję się tym za bardzo.

Niestety, nie wszystko jest pięknie. Edytory właściwości (np. edytor menu) mimo ładnego wyglądu sprawiają wrażenie narzędzi sprzed dekady. Otwierają się jako okienka modalne, a na dodatek przypisywanie wspomnianych wyżej komend do pozycji menu wymaga wpisania "z pamięci" nazw tychże komend (nie ma żadnej listy do wyboru). Średnio to wygodne, tak samo jak dziwnie pogrupowane nieraz właściwości (w głównym oknie musiałem w końcu włączyć wyświetlanie alfabetyczne, bo niczego nie mogłem znaleźć).

Mimo wszystko, środowisko robi korzystne wrażenie i bardzo fajnie, że jest dostępne za darmo, bo już wersje komercyjne są drogie (4.000zł za Pro) i bardzo drogie (13.000zł za Enterprise)

Z ciekawości otworzyłem jednak już gotowy projekt w Riderze i zadziałało to bez żadnego problemu. Nic się nie posypało, nic nie pokazało błędów, także przy uruchomieniu i budowaniu (notabene został utworzony plik exe o identycznym rozmiarze, co w przypadku Visual Studio, co w sumie nie powinno dziwić, to zapewne w obu przypadkach działa ten sam kompilator). Tak czy owak, w razie czego mogę projektować GUI w Visual Studio, zaś samym programowaniem zająć się już w Riderze.

No i co teraz?

Ano nic takiego. Po prostu w momencie, gdy będę miał do napisania jakiś prosty program, który zrobi coś tam z czymś tam, użyję w pierwszej kolejności C#. Wydaje mi się, że jestem się w stanie przekonać do tego języka programowania. Czy także do Visual Studio? Zobaczymy.

Komentarze