Thumb lukasz 5 mitów o nauce kodowania

Przez:, Z dnia:

Dla wyjawienia, pisałem trochę HTML zanim zdecydowałem by mieć dziewczynę, wtedy jeszcze używano tabel by stworzyc układ strony. Innymi słowy, pierwszy kontakt z "kodem" miałem około 1998r. Kodowałem przez pare miesięcy, do momentu aż koledzy wykpili kolor, który wybrałem na swojej stronie (#E4AB93).

Tak naprawdę nie zagłębiałem się w technologii pomimo sympatii do komputerów. Ani nie studiowałem informatyki, ani nie spędziłem młodości zamknięty na strychu i włamujący się do Pentagonu. Zupełnie przeciwnie. Zawsze myślałem, że programowanie to nudna rzecz dla nudnych ludzi.

Przeskoczmy do 2012, zacząłem na poważnie uczyć się kodować. Nie będę wchodził w szczegóły dlaczego, ale ogólny rozrachunek był taki: Musiałem to zrobić.

Teraz, jakie jest moje doświadczenie? Więc, okazało się, że pisanie kodu było bardziej jak faktyczne pisanie zamiast matematyki i fizyki. Oczywiście nie buduję kompilatorów i oprogramowania do kompresji wideo, ale bądźmy uczciwi, większość aplikacji zbudowanych obecnie obraca się wokół zarządzania nieskomplikowanymi informacjami. Pisanie tych aplikacji nie jest tak trudne jak wszyscy myślimy.

Lubię mówić do ludzi: Jeżeli możesz coś wyrazić słowami, jeśli możesz zapisać to na piśmie, wtedy to może być łatwo zbudowane przy pomocy kodu. Funkcję odgrywa Twój czas i wysiłek.

Porozmawiajmy o najbardziej powszechnych mitach powiązanych z programowaniem:

top 5 myths about learning to code

Musisz być geniuszem

Wcale nie.

Nic dalszego od prawdy. Mój osobisty domysł jest taki, że większość z nas jest onieśmielona przez ludzi, którzy spędzili ostatnie 15 lat programując, a potem rozwinęli zabawne pogląd, że faktycznie są mądrzejsi od innych ludzi.

To nie jest ani fajne, ani prawdziwe.

Właściwie, większa część "inżynierii oprogramowania" to całkiem prosty proces. Więcej zależy od organizacji pracy i "konceptualizaji" co oprogramowanie ma robić. Cała ta "translacja" z języka ludzkiego na komputerowy to też dość proste zadanie. Często widzę jak ludzie, którzy myślą, że są super mądrzy, wykazują tendencje do rozważeń nad częścią "translacji" i kompletnie zapominają o dobrym zrozumieniu biznesu i rzeczywistej funkcjonalności. To prowadzi do super zwięzłego, zbyt złożonego oprogramowania, z którym, oprócz tych super-ludzi, nikt nie może pracować.

Dzisiaj, kiedy potrzebujemy modyfikować kod stale by pozostać sprawnym. Prostota i czytelność kodu są ważniejszcze niż cokolwiek innego. Nie tylko czyni to nasz kod łatwiejszym do aktualizacji, ale także znajdowania błędów, problemów bezpieczeństwa oraz ich naprawiania, nie wspominając o możliwości pracy w zespole.

Prosty kod jest lepszy niż "kod geniuszy", nawet kosztem osiągów.

Kod jest trudny do zrozumienia i czytania

Na przestrzeni lat miałem wiele prób nauki programowania, próbowałem Objective-C, C++, Pascal, a nawet JavaScript. Z każdym językiem miałem ten sam problem, trudna semantyka i składnia mnie zniechęcały. Jeżeli nie możesz przeczytać kodu, którego napsałeś - jak możesz się uczyć? Wtedy znalazłem Ruby on Rails. Ruby on Rails łączy prostą i czytelną składnie Ruby z bardzo obszernym modelem, który radykalnie wyrównuje ostry zakręt w nauczaniu.

Więc tak, i nie. Kod może być trudny do przeczytania, ale nie musi. Plusem jest to, że jak tylko znasz coś tak łatwego do czytania jak Ruby, możesz rozwijać się i próbować borykać się z bardziej złożoną sładnią innych języków.

Musisz zacząć kiedy masz 12 lat

Nie.

Właściwie, wielu świetnych developerów nie zaczęło przed swją dwudziestką. Szczerze, kiedy zaczynasz się uczyć, wiek powinien być najmniejszą z Twoich trosk. Ponieważ programowanie to tłumaczenie komputerowi jak ma radzić sobie z informacją (stąd IT znaczy Technologia Informacyjna), Twoja specjalistyczna umiejętność może być ważniejsza niż umiejętność kodowania. Nauka tego ostatniego kroku może być wspaniałym sposobem by wykorzystać Twoją wiedzę bez pośrednich developerów. Kolejnym powodem, dla którego to może być dobre dla Ciebie, jest to, że nic nie zostaje zgubione podczas translacji pomiędzy Tobą i innym programistą, który nie ma pojęcia o Twojej domenie.

I jak zapewne wszyscy wiemy, mijają lata zanim osiągniemy specjalistyczną wiedzę. My także żyjemy dłużej - wszystko wskazuje na to, że masz bardzo dużo czasu by nauczyć się kodować.

Musisz mieć stopień informatyczny

Nie mówię, że nie powinieneś mieć sopnia informatycznego, zwłaszcze kiedy wciąż jesteś młody i decydujesz się na edukację i ewentualną drogę kariery. Wprost przeciwnie, zalecam. Jeżeli już przeszedłeś przez ten okres w swoim życiu i podejmowałeś inne decyzje, nie przejmuj się, sprawa wygląda tak, że większa część inżynierii oprogramowania ma mało wspólnego z rzeczywistą nauką. Jeżeli planujesz być naukowcem - zdobądź stopień, potem zrób doktora i zbuduj nową, rewelacyjną technologię, której my, zwykli ludzie, będziemy mogli później używać.

Potrzebujemy naukowców, wizjonerów i geniuszy, ponieważ oni budują systemy operacyjne serwera, języki programowania, infrastrukturę chmurek oraz oni posówają rzeczy naprzód. Jednakże, aplikacje takie jak Facebook rozpoczęły z niczym, dlatego to było bardzo naukowe (może poza całą psychologią tłumu), ale, mimo to wpłynęło na życie setek milionów ludzi na sposoby, które były trudne do przewidzenia.

Zajmie Ci to wiele lat zanim będziesz mógł coś zbudować

To zajmuje 3-4 lata by dostać licencjat. To dużo czasu. Z doświadczenia mogę powiedzieć, że to zajmuje około 2-4 pełnych tygodni by osiągnąć z czymś sukces jeśli tylko zaczniesz się uczyć. Oczywiście, nie będzie to supernowoczesny kod i mogę zapewnić, że nie będziesz z niego dumny kiedy będziesz go czytał po kilku miesiącach, ale wiesz co? Nic się nie stanie, nikt o to nie dba. Chodzi o to, że możesz zacząć odnosić z tym sukcesy. Rusz z tym, dowiedź pojęcia albo nie, posuwaj się z tym na przód.

Jak tylko dbasz o coś wystarczająco poważnie, możesz nauczyć się realizować.

Nauka pisania kodu jest bardzo podobna do nauki pisania w ludzkim języku. Z kilkoma różnicami:

  • mniej słów, które musisz znać
  • NIE MA nieregularności lub wyjątków
  • gramatyka o wiele łatwiejsza
  • możesz nauczyć się całkowicie samodzielnie

Pomyśl o tym przez chwilę. Jeżeli kiedykolwiek uczyłeś się języka obcego, jak długo zajęło Ci opanowanie go biegle? 5, 6, 15 lat? Długo uczyłem się języka angielskiego, i nawet teraz daleko mi do poziomu "rodzimego". Z drugiej strony, natomiast, jeżeli spędziłeś 5 lat ucząc się języka komputerów, nie tylko zwróci się to po drodzie, ale także osiągniesz znacznie wyższy poziom niż po takim samym czasie nauki ludzkiego języka mówionego.

Daj sobie szanse i naucz się jak pisać kod.

Musisz się zalogować by móc ocenić ten post post




Komentarze

  • Z dnia: Dale Lotts napisał:

    Great article! "Simple code is better than "genius code", even at the expense of performance." I couldn't agree more.

Dodaj komentarz

Możesz się zalogować by skomentować