Co jest wspólne dla języków programowania?

Nie musisz się uczyć wszystkich języków programowania.

Kilka dni temu padła mi strona. Na Halloween. Przez zwykłą ciekawość kliknąłem nie to, co trzeba. Nazajutrz był 1 listopada, nie działała pomoc techniczna, którą mógłbym poprosić o pomoc w postawieniu strony na nowo. Spędziłem kilka godzin na poszukiwaniu odpowiedzi, zbieraniu informacji, aby potem próbować przywrócić stronę. Problem występował w bazie danych, chwilę pomyślałem, uspokoiłem się, pogniotłem moją piłeczkę antystresową. Do roboty.

 

Naturalny scrum

Jedną z zalet podejścia scrumowego jest nauka z błędów. I tu zadziałała ta metodologia. Wiem już, aby nie pchać się tam, gdzie nie powinienem, ale jest coś jeszcze. Starając się postawić stronę musiałem poznać podstawy baz danych i zorientować się trochę w języku PHP. Strona wróciła na swoje miejsce, odetchnąłem z ulgą.
Na koniec dnia, podczas treningu głowa zaczęła analizować chwile spędzone przy komputerze. Pojawiła się myśl: przecież ja rozumiałem większość w PHP?! Bazowałem na znajomości JavaScript oraz pewnym stopniu orientacji w C#. Te języki mają coś wspólnego: nie jest ważne, jakiego języka się uczysz, bo logika rozwiązania problemu jest zwykle ta sama.
Brzmi śmiesznie, ale sam o tym czasem zapominam, gdy uczę się nowego języka lub rozwiązuję zadania testowe. Mam wrażenie, że moi koledzy z podyplomówki oraz osoby z wyzwania #100DaysOfCode też nie pamiętają, że funkcje w jednym języku mogą być podobnie rozwiązane także w innym.
Gdy opanujesz jeden język, nie powinno być trudno nauczyć się innego. Wyzwaniem będzie raczej framework. Można zaryzykować twierdzenie, że znajomość jednego języka pomaga w oswojeniu kilku innych, podobnych.
Być może problemem będzie zapamiętanie formatowania w czasie nauki nowego języka, jednak kilka dni praktyki wystarczy, aby przywyknąć do składni, na przykład w Pythonie, nie tracąc umiejętności pracy w JS. Podstawy są podobne. Dopiero framework stawia przed Tobą prawdziwe zadanie.

 

Ogarnij logikę, będziesz się uczyć szybciej.

Dopóki rozumiesz logikę, masz ułatwiony start do nauki wielu języków programowania. Z biegiem czasu udaje się zapamiętać coraz więcej, a praktyka, upór i konsekwencja czynią mistrza.
I żeby nie być gołosłownym przytoczę kilka stwierdzeń z artykułu Survey of Programming Languages
  1. Zmienne (na przykład var a=100)
  2. Operatory (+, -, *…)
  3. Instrukcje warunkowe typu: IF ELSE, CASE
  4. Porównania (Operatory relacyjne): (=, <, >, <=, =>)
  5. Pętle na przykład: DO WHILE, FOR, REPEAT/UNTIL
  6. Sekwencje (kod wykonania)
  7. Funkcje
  8. Hello World 😊
  9. Error
  10. Angielski
Oczywiście to nie jest wszystko, może to być jednak podpowiedź czym się zająć najpierw i co potrenować na początku. Aspekty się powtarzają, a nie przywiązujemy się do jednego języka na zawsze, zawsze może zaistnieć potrzeba nauczenia się czegoś innego, aby realizować projekt. Jeśli wypracujemy dobre podstawy, to z pewnością będzie łatwiej odnaleźć się w innym rodzaju języków programowania. Może to po prostu dobra ściągawka i warto przećwiczyć te aspekty języków programowania już na samym początku?