5 Ways You can Learn Programming Faster
Learning to program isn’t something you can do in an afternoon, but it doesn’t have to be a life’s work, either. Jest wiele rzeczy, które możesz zrobić, aby ułatwić sobie naukę programowania. Wiesz już o 5 najczęstszych problemach, z którymi borykają się nowi programiści, i o tym, jak możesz je rozwiązać. Teraz dowiedz się, jak w pełni wykorzystać swój czas nauki.
Jednym wspólnym tematem wielu z tych porad jest: iedy uczyłem C, zawsze było kilku studentów, którzy przychodzili na zajęcia, wiedząc już co nieco o programowaniu. Nieuchronnie, niektórzy z tych studentów świetnie sobie radzili w pierwszych tygodniach, a potem zostawali coraz bardziej w tyle, gdy kurs trwał dalej. Dlaczego? Za szybko przeszli przez wstępną część kursu, myśląc, że wiedzą już wszystko – ale rzadko tak było. Wiedzieli, niektóre z nich materiałów, ale nie na tyle, aby mieć silne uchwycenie podstaw.
W tym samym czasie nie wolno przestać robić postępów – można iść za wolno, jak i za szybko. Nie unikaj tematu, gdy już opanowałeś wszystko, co do niego prowadzi. Stawiając czoła bardziej wymagającym pomysłom, pomożesz sobie utrwalić podstawy.
Patrz na przykładowy kod
Czytanie jest zazwyczaj związane ze słowami na stronie, ale nauka programowania jest związana z kodem. Kiedy po raz pierwszy uczysz się programować, powinieneś upewnić się, że patrzysz na każdy przykład i starasz się go zrozumieć. Kiedy po raz pierwszy uczyłem się programować, czasami czytałem przykłady kodu przed tekstem i próbowałem się domyślić, co one robią. Nie zawsze się to udaje, ale zmuszało mnie to do uważnego oglądania przykładów i często pomagało uczynić je bardziej zrozumiałymi.
Jeśli chcesz zobaczyć, jak wygląda przykładowy kod, możesz przeczytać samouczek wprowadzający do programowania na tej stronie. Samouczek ten poświęca dużo czasu na omówienie przykładowego kodu, aby pomóc ci dokładnie zrozumieć jego działanie.
Nie czytaj tylko przykładowego kodu – uruchom go
Gdy czytasz samouczek programowania (lub książkę), łatwo jest spojrzeć na przykładowy kod i powiedzieć „Rozumiem, rozumiem, to ma sens”. Oczywiście, możesz to zrozumieć, ale możesz tego nie zrozumieć i po prostu tego nie wiesz. Jest tylko jeden sposób, aby się dowiedzieć – zrób coś z tym kodem.
Jeśli jeszcze tego nie zrobiłeś, zainstaluj kompilator, taki jak Code::Blocks.
Następnie wpisz przykładowy kod do kompilatora – jeśli go wpiszesz, zamiast kopiować i wklejać, naprawdę zmusisz się do przejrzenia wszystkiego, co tam jest. Wpisanie kodu zmusi cię do zwrócenia uwagi na szczegóły składni języka – takie rzeczy jak te śmieszne średniki, które wydają się iść po każdej linii.
Następnie skompiluj go i uruchom. Upewnij się, że robi to, co myślisz, że robi.
A potem zmień go. Oprogramowanie jest najłatwiejszą do zmiany maszynerią na planecie. Możesz łatwo eksperymentować, próbować nowych rzeczy, sprawdzać, co się stanie; zmiany nastąpią niemal natychmiast i nie ma ryzyka śmierci lub chaosu. Najłatwiejszym sposobem na nauczenie się nowych funkcji języka jest wzięcie kodu, który działa w jeden sposób i zmienienie go.
Pisz swój własny kod tak szybko jak to możliwe
Jak już zrozumiesz coś o języku – lub nawet jeśli dopiero zaczynasz się w nim orientować – zacznij pisać przykładowe programy, które go używają. Czasami trudno jest znaleźć dobre pomysły na programy, które można napisać. To nic nie szkodzi, nie musisz od razu wpadać na każdy pomysł.
Na tej stronie znajdziesz kilka programistycznych wyzwań.
Możesz też ponownie zaimplementować przykłady z książki lub samouczka, który czytasz. Spróbuj to zrobić bez zaglądania do przykładowego kodu; nie będzie to takie łatwe, jak się wydaje. Ta technika może zadziałać szczególnie dobrze, jeśli zmodyfikujesz przykładowy kod.
Jeśli nie przychodzi Ci do głowy mały program do napisania, ale masz na myśli większy program, który chcesz zaimplementować, na przykład grę, możesz zacząć budować małe elementy, które później wykorzystasz w grze. Czy użyjesz ich później czy nie, zdobędziesz to samo użyteczne doświadczenie.
Learn to Use a Debugger
Mówiłem już o znaczeniu debugowania w The 5 MostCommon Problems New Programmers Face–And How You Can Solve Them. Ale warto to powtórzyć; im szybciej nauczysz się dobrych technik debugowania, tym łatwiej będzie ci nauczyć się programować.
Pierwszym krokiem w tym kierunku jest nauczenie się, jak korzystać z narzędzia zwanego debuggerem, który pozwala na przejście przez kod.
Debugger pozwala na przejście linia po linii przez fragment kodu. Pozwoli Ci zobaczyć wartości zmiennych i czy kod wewnątrz instrukcji if jest wykonywany. ebugger może pomóc Ci szybko odpowiedzieć na pytania dotyczące tego, co robi Twój kod.
int main(){ int x; int y; if( x > 4 ) // <-- what is the value of x here? { y = 5; // <-- did this line of code execute? }}
Ostatnie słowo o debuggerach: za pierwszym razem, gdy nauczysz się o debuggerze, naprawa problemów z Twoim kodem zajmie Ci więcej czasu. Po dziesiątym lub sobug, to naprawdę zacznie się opłacać. I uwierz mi, będziesz miał o wiele więcej niż dziesięć błędów w swojej karierze programistycznej.
Często widywałem studentów niechętnych do używania debuggera. Ci studenci naprawdę utrudniali sobie życie, poświęcając całe wieki na znalezienie bardzo prostych błędów. Im szybciej nauczysz się korzystać z debuggera, tym szybciej ci się to opłaci.
Szukaj więcej źródeł
Jeśli czegoś nie rozumiesz, istnieje duże prawdopodobieństwo, że sposób, w jaki zostało to wytłumaczone, po prostu nie pasował.
Po pierwsze, poszukaj alternatywnych wyjaśnień. Internet jest pełen informacji o programowaniu, a niektóre wyjaśnienia działają lepiej dla różnych ludzi; ty możesz potrzebować obrazków, ktoś inny może nie. Jest też wiele dobrych książek ze szczegółowymi wyjaśnieniami.
Jeśli jednak to nie zadziała, najłatwiejszym sposobem, aby dowiedzieć się, gdzie leży twoje niezrozumienie, jest zapytanie kogoś innego. Ale postaraj się wyjść poza mówienie: „Nie rozumiem. Proszę, wyjaśnij.” Prawdopodobnie otrzymasz link z powrotem do tego samego tekstu, którego nie zrozumiałeś. Zamiast tego, przeformułuj swoje rozumienie tekstu w swoje słowa. Programiści czasami mają reputację zrzędliwych, jeśli chodzi o odpowiadanie na pytania, ale myślę, że powodem jest to, że chcą osiągnąć postęp w rozmowie, a to wymaga wysiłku obu stron. Jeśli zadasz mądre, szczegółowe pytanie, które pokaże, że myślisz, na ogół uzyskasz dobre wyniki.
Jest wiele miejsc, w których możesz zadawać pytania. Zawsze możesz napisać do mnie e-mail, opublikować post na naszej tablicy ogłoszeń lub zapytać eksperta.
W najbliższych dniach napiszę więcej o tym, jak nauczyć się programować skutecznie. Bądź na bieżąco, subskrybując nasz kanał RSS, zapisując się do powiadomień e-mail lub śledząc @alexallain na twitterze.
Tajemnica uczenia się wszystkiego
5 najczęstszych problemów, z którymi borykają się nowi programiści, i jak można je rozwiązać
Powszechne błędy programistyczne i jak je rozwiązać
Jak uniknąć zagubienia przy pisaniu programów, czyli potęga rozwoju przyrostowego
Jak myśleć o programowaniu, przewodnik dla początkujących