Nie ma jednej i prostej odpowiedzi na to pytanie, nie mniej, są pewne reguły, których można się trzymać aby nauczyć się i rozwijać swoje umiejętności w programowaniu. Nie jest sztuką nauczyć się pisać w C++, który jest tylko językiem, narzędziem, dużo ważniejsza jest umiejętność wykorzystania języka w sposób praktyczny i efektywny aby uzyskać zamierzony efekt. C++ dzisiaj znacznie już rozbudowany w porównaniu ze swoim pierwowzorem z 1970 roku przynosi nie tylko większe możliwości ale potrafi przysporzyć również większych problemów. Autor C++ Bjarne Stroustrup określił to kiedyś zdaniem „Używając C można się niechcący postrzelić w stopę. Pisząc w C++ jest o to trudniej, ale gdy już się to stanie to odstrzelimy sobie całą nogę.”. Ważne jest aby pisząc w C++ nie popaść w sztukę pisania dla samego pisania. W pisaniu programów najważniejsze jest osiągnięcie efektu w sposób praktyczny niż rozważania na temat konstrukcji i elegancji. Takie rzeczy przyjdą same z czasem. Nie należy się rozwodzić też nad projektowaniem programu, gdy nie mamy doświadczenia w jego pisaniu. Mija się z celem, projektowanie gier nawet typu arcanoid, jeśli nigdy takiej gry nie pisaliśmy i nie wiemy co będzie potrzebne ani jak zrobione. Dlatego pierwszą i najważniejszą zasadą w nauce programowania jest pisać, pisać i jeszcze raz pisać używając jak najprostszych konstrukcji. Nie musimy też na siłę przebudowywać programu. Zamiast tego lepiej będzie się skupić na tworzeniu od nowa, kolejnej wersji. W Microsofcie istnieje reguła 3 wersji. Oznacza ona, że podczas tworzenia czegoś nowego, dwie wersje są jedynie wprawkami do napisania trzeciej wersji, która będzie wystarczająco dobra aby uznać za skończoną. Pisanie dużych ilości różnorodnego kodu, jest potrzebne zwłaszcza przy pisaniu gier, gdzie konstrukcje i schematy zmieniają się wraz z gatunkiem gry oraz muszą wciąż nadążać za rozwojem technologii. Dlatego też bardzo dobrym sposobem nauki programowania gier, jest pisanie dużej ilości niewielkich programów. Mogą to być przeglądarki jakiegoś formatu pliku, konwertery, czy proste gry w stylu Tetris, Snake, Puzzle itd. Nie jest istotne czy program zostanie ukończony. Ważne jest, żeby poznawać wiele różnych problemów i rozwiązań. W przypadku rozwiązań nawet nie trzeba ich samemu rozwiązywać na siłę. Uczenie się od innych oraz umiejętność analizy jest dobrym nawykiem, który warto nabyć, gdyż przyda się gdy zaczniemy współtworzyć projekty w których trzeba współpracować z innymi osobami. Może tutaj również pomóc analizowanie źródeł różnych projektów OpenSource czy też uczestniczenie w takich projektach. Umiejętność używania gotowych bibliotek, również jest dość przydatna przy pisaniu większych projektów i nawet jeśli nie są zbyt doskonałe, warto ich używać aby się uczyć tworzyć i adaptować różne interface’y. Inną ważna rzeczą jest też otwartość na nowe technologie i pomysły. Nie należy się ograniczać do jednego rozwiązania tylko dlatego, że jesteśmy do niego przywiązani lub uważamy je za idealne. Uparte trzymanie się gotowych rozwiązań typu STL, wxWidgets, SDL, MFC, rozwiązań, które powstały naście lat temu może tylko źle świadczyć o programiście, który w ten sposób pokazuje, że nie chce się rozwijać. Złe jest zakładanie, że nikt już niczego lepszego nie wymyśli. Postęp bierze się z ludzkiego lenistwa i jeśli powstaje coś co nam ułatwi choć trochę życie, to warto z takiego rozwiązania skorzystać, zanim się okaże, że jesteśmy jedynymi, którzy nie dostosowali się do zmian. Wiąże się to też umiejętnością porzucania swoich dotychczasowych przyzwyczajeń oraz przekonań. Łatwość adaptacji do zmieniającej się technologii czy zmian w podejściu w programowaniu jest istotna jeśli chce się konkurować z całą rzeszą innych programistów.

Jak nauczyć się dobrze programować
0 votes, 0.00 avg. rating (0% score)