2016-07-10

W czym pisać kod na początku?

W czym pisać kod na początku? IDE/Edytor tekstu? PyCharm? Sublime?

Gdy pomyślę sobie o moich pierwszych dniach nauki programowania, jedną z wielu rzeczy, które ciągle mieszały mi w głowie i przyniosły sporo kłopotu w ich rozstrzygnięciu, był wybór środowiska, w którym będę pisał swoje pierwsze programy.

Nie ma co się tu jednak co dziwić - teraz praktycznie do każdego języka istnieje co najmniej kilka darmowych IDE, do tego jeszcze dochodzą płatne, mamy jeszcze edytory tekstu i tak dalej. Łatwo można się zagubić. Ja tak przynajmniej zrobiłem i kilka dni, zamiast się uczyć programowania, siedziałem i zastanawiałem się nad wyborem środowiska.

Teraz jednak troszkę orientuję się już w temacie, dlatego chciałbym opisać swoje doświadczenia i być może pomóc niektórym, podobnym mnie, adeptom sztuki mistrzów picia kawy, czy tam programowania, jak zwał tak zwał, w wyborze swego narzędzia.

IDE? Edytor tekstu?

No to jak to w końcu jest? IDE czy edytor tekstu? A czym w ogóle jest IDE? Tego dowiedz się sam - jako informatyk twoim podstawowym zadaniem jest przetwarzanie informacji. Wyszukaj sobie zatem w Internecie znaczenie tego skrótu, guglnij różnice między IDE a edytorem tekstu. Nie podam ci tego na tacy, bo umiejętność szukania informacji jest kluczową cechą, która składa się na dobrego informatyka/programistę, którą trzeba ćwiczyć na początku.

Co zatem wybrać? Odpowiedź może cię zadziwić - brzmi ona: bez większego znaczenia.

Dlaczego? Już tłumaczę.

To, czy wybierzesz CodeBlocks, VisualStudio czy Atom'a, nie ma, moim zdaniem, większego znaczenia, gdyż to są tylko narzędzia. Narzędzia w rękach programisty i to od niego zależy, jak dobrze zostaną te narzędzia wykorzystane. Nic ci nie da nawet najlepsze IDE, skoro nie będziesz umieć go obsłużyć. Z drugiej strony, jeśli dobrze opanujesz obsługę pozornie prehistorycznych jak na dzisiejsze standardy programów jak np. Vim czy Emacs, możesz zdziałać cuda. Dlatego też zalecam, by nie przywiązywać zbytniej uwagi do tego, jakie środowisko się wybierze, bo praktycznie każde można przystosować i sprawić, by pracowało się w nim wyśmienicie.

Mimo tego można jednak chyba nakreślić jedną ze ścieżek, które można obrać i która według mnie jest dość rozsądna. Mianowicie.

Podstawy

Niezależnie od tego, czy korzystamy z IDE, czy jakiegoś edytora tekstu dobrze jest wiedzieć, jak to tam wszystko działa za sceną. Żeby nie było tak, iż ktoś bez swojego IDE nie jest w stanie skompilować kawałka kodu C++ czy odpalić skryptu Pythona z poziomu konsoli. Takie podstawowe rzeczy należy poznać, bo pozwalają one lepiej zrozumieć jak tworzy się programy i jak to wszystko działa, są zwyczajnie w niektórych sytuacjach niezbędne.

Poza tym, na początku auto complete powinno być wyłączone. Przepisując nazwy instrukcji, metod czy klas szybciej się ich nauczymy. Ja przynajmniej tak miałem. Korzystając z auto uzupełniania, często wystarczyło, żebym wpisał dwie trzy litery i pyk - gotowe. Problem pojawiał się, gdy auto uzupełniania zabrakło, bo np. musiałem napisać coś na szybko w zwykłym edytorze tekstu/skorzystać z nie swojego komputera. Wtedy nagle wszystko z głowy mi wyleciało i zapomniałem połowy poleceń, które podobno tak dobrze znałem. Dlatego też na samym początku jednak zrezygnowałem z automatycznego uzupełniania na rzecz ręcznego pisania. Później, kiedy już zapamiętałem dostatecznie słowa kluczowe, instrukcje, ponownie do niego wróciłem. Na sam początek jednak odradzałbym auto uzupełnianie.

Jak to u mnie wyglądało.

Jakie środowisko ja wybrałem?

Powiem szczerze, że wiele różnych wypróbowałem, idąc mniej więcej taką ścieżką podczas nauki Pythona:

Na początku pisałem w przeglądarce, robiąc kurs na jednej z interaktywnych akademii programowania - nie potrzeba mi było żadnego programu ściągać, Jednak później, gdy już chciałem zacząć pisać coś swojego na dysku, to zajrzałem w neta i znalazłem różne wątki, gdzie zazwyczaj polecano PyCharma i kilka innych popularnych IDE. Ściągnąłem je zatem. Na krótko jednak. Były one dla mnie zbyt przytłaczające - ogrom opcji, złożoność. Poza tym mój leciwy laptop słabo radził sobie z wymaganiami sprzętowymi takich IDE. Praca w nich była w sumie niezbyt możliwa. Przerzuciłem zatem się na SublimeTexta, gdzie zagościłem na troszkę dłużej, powoli oswajając się z konsolą i tym, że niektóre rzeczy muszę zrobić sam. Po pewnej chwili zaczęło mi czegoś w Sulimie brakować więc znów zacząłem poszukiwania - trafiłem na gvim'a i z niego dalej korzystam.

Wspaniałe narzędzie. Szwajcarski scyzoryk - wszystko z nim można zrobić. Może być to lekki edytor tekstowy albo rozbudowane IDE w zasadzie, przy odpowiedniej ilości plug-inów. Przypadł mi on do gustu możliwością konfiguracji, magią, którą można w nim wyczyniać. Na początku było trudno, ale potem się już troszkę przyzwyczaiłem i teraz nawet nie śnię o zmianie na coś innego. Niemniej jednak gvim'a raczej odradzam jako pierwszy edytor tekstowy, jest on mimo wszystko troszkę inny w obsłudze niż standardowe programy.

Czy ty też tak musisz? W żadnym wypadku - sam obierz swoją ścieżkę.

Podsumowanie

Domyślnie możesz jednak spróbować skorzystać z takich edytorów tekstu jak SublimeText czy Notepad++ z wyłączonym podpowiadaniem kodu, poznać działanie i proces tworzenia od podszewki, a później dopiero przerzucić się na coś większego - jakieś popularne IDE z większą ilością ficzerów, na które najprawdopodobniej natrafisz w pracy lub może coś kapkę trudniejszego jak np. vim. I taka by była moja finalna porada dla osób, które dopiero co zaczęły - wybierz cokolwiek (albo coś z tego, co podałem wyżej) i przez chwilę po prostu w tymi pisz, nie zmieniając swego środowiska, żeby je poznać. Nie skacz z kwiatka na kwiatek.