initial commit - Mateusz Łukaszczyk

Initial commit – postanowienie

Początek

Moja przygoda z programowaniem na poważnie zaczęła się tak naprawdę od niedawna. Można powiedzieć od listopada 2020 roku.

Mimo rozszerzonej informatyki w technikum, gdzie były jakieś podstawy C++ to jakoś specjalnie nie interesowałem się tą drogą.

To skąd nagle taka zmiana?

Właściwie zasługuje tutaj na szczególne uznanie mój wykładowca z logiki. Jednak zanim do tego przejdę opiszę trochę moją naukę na studiach.

Studia wybrałem humanistyczne, gdzie uczyłem się głównie poprawności językowej, argumentacji, jak rozważać problemy etyczne czy antropologii. Więc tak naprawdę był szeroki wachlarz przedmiotów związanych z człowiekiem i jego rozumieniem. Nic nie wiązało się z wiedzą techniczną czy IT. Mimo tego, zawsze gdy ktoś potrzebował pomocy związanej z „komputerami” to kierował się do mnie. 

Byłem tym typowym studentem, który naprawia rzutnik – tak naprawia, nie włącza – mając zawsze przy sobie kabel HDMI-VGA. 

Wtem przyszedł czas na egzamin z logiki. Był dość prosty, co mnie dość zaskoczyło. należało zaznaczyć czy zdanie posiada wieloznaczność leksykalną czy składniową.

Wieloznaczność leksykalna to odnoszenie do konkretnie jednego słowa, które może mieć wiele znaczeń np.:

Górale robią kierpce z własnej skóry

Potocznie rozumie się to zdanie jako tworzenie kierpców ze skory owiec. Ktoś to, jednak nie rozumie kontekstu może zrozumieć, jako górale przygotowują kierpce ze skóry człowieka. Konkretniej własnej.

Wieloznaczność składniowa to całe zdanie, które może mieć wiele znaczeń np.:

Mądrzy przed podróżą ubezpieczają się w PZU

Można rozróżnić dwa warianty tego zdania:

  1. Mądrzy ludzie, którzy są mądrzy przed podróżą, ubezpieczają się W PZU.
  2. Ci co ubezpieczają się w PZU są mądrzy już przed podróżą.

To co nie widać na pierwszy rzut oka, może okazać się dość istotne.

I co z tym egzaminem?

Zadanie wydawało mi się zbyt proste, więc zapytałem wykładowcy czy to wszystko? Oburzenie na twarzach moich kolegów z sali było współmierne do tego pytania.

Specjalnie dla mnie zrobił jeszcze jedno zadanie. Uznał, że jeśli je rozwiąże, to wpisze mi na koniec z ćwiczeń 5. Zadanie było o tyle ciekawe, że było skonstruowane matematycznie. 

Jakie było jego zdziwienie, gdy rozwiązałem to zadanie. 

Po czym zadał mi specyficzne pytanie:

„Czy nie chciałbyś powrotu króla?”

Nie rozumiałem tego zdania. Zaproponował, abym udał się do niego do gabinetu.

I tam objaśnił, że chodzi o programowanie.

Czas start

Programowałem dość dobrze na PLCkach w technikum. Miałem dobrą znajomość bramek logicznych i właściwie tyle. Klasa? Obiekt? Zmienna? Coś tam niby było, ale nie za bardzo pamiętałem.

Wtedy zacząłem coś tam szukać, jednak z drugiej strony chciałem się rozwijać w kierunku humanistycznym. Szkolenia, wystąpienia publiczne, stypendium.

Tak więc kupiłem kurs PHP, bo chciałem zająć się stronami internetowymi. Nie przerobiłem nawet połowy kursu na Udemy… 

Później spróbowałem Pythona. Super, zrozumiałem podstawy, jednak nie za bardzo rozumiałem czym jest klasa i po co w ogóle ona istnieje. Programowanie obiektowe to czarna magia.

Napisałem pierwszy prosty projekt. Kalkulator, losowe liczby, kółko i krzyżyk, oczko.

W wakacje napisałem i… tyle. Znowu pustka.

Bootcamp

„idź na Bootcamp na pewno Ci pomoże”

I stąd nagle pojawiła się Java. Dobrze wytłumaczone podstawy doprowadziły mnie do punktu, gdzie rozumiałem, co się z czym łączy.

Pomyślałem, że po zakończeniu Bootcampu bez problemu znajdę staż lub pracę.

Jak bardzo byłem w błędzie. Magiczne parę miesięcy programowania. Weekendy, w których patrzę się na kod, który w pół rozumiem. Po czym zrobić prostą aplikację Quizową w parach. Wtedy coś zrozumiałem. Każde zadanie, które pada, każda linijka kodu, która istnieje to nie tylko napisany tekst. To coś, co należy dogłębnie zrozumieć.

Zrozumiałem to, jak była za późno. O wiele za późno.

Teraźniejszość

Napisałem pracę licencjacką z wyróżnieniem. Dostałem kolejne stypendium. Wtedy zapadła moja decyzja. Brakuje mi programowania, to jest coś, co chcę robić. 

Sprawia mi to tyle frajdy! Te układanki, problemy do rozwiązania, składnie. Nie jestem pewien dlaczego, ale lubię siedzieć nad kodem i rozmyślać, jak można to rozwiązać.

Postanowiłem. Od teraz uczę się wszystkiego od nowa. Od podstaw, ponownie wszystko muszę zrozumieć. Sam. Jeśli czegoś nie potrafię wyjaśnić, to znaczy, że tego nie rozumiem.

Tak o to zacząłem się uczyć na nowo czym są klasy, zmienne, jak działają instrukcje warunkowe, pętle, hermetyzacja, przekazywanie obiektów, przeciążanie metod.

I zauważyłem… że cały czas wiem za mało. Im więcej wiem, to czuje się, jakbym wiedział mniej.

Wiem, że to uczucie nigdy nie zniknie, a samo jego odczuwanie dodaje mi pewnej pewności. Pewności, że nadal się rozwijam i chcę to robić.

Chciałem to napisać, aby to wyrzucić z siebie. Moja przygoda tak naprawdę dopiero się zaczyna. 

Dopiero się rozkręcam.
El psy congroo.

Przeczytaj również inne artykuły dotyczące programowania