No to zacznijmy od tego, że tej cechy:
dodam, że jestem niecierpliwy i od razu chciałbym o wszystko umieć... albo po prostu wymyślam i nie mogę się porządnie wziąć za to.
Musisz się pozbyć jak najszybciej. Sam uczę się programowania i to nie jest łatwa działka. Właściwie tak naprawdę to programowania jako ogółu nie da się nauczyć - możesz się nauczyć zamieniać myśli na działający kod i tego uczysz się poprzez pisanie projektów, ale bez podstaw nauczyć się tego po prostu nie da. Co to znaczy? To znaczy, że jeśli zaczynasz od zera to musisz nauczyć się podstawowych instrukcji, takich jak instrukcje warunkowe, pętle, typy zmiennych (jeśli język jest silnie typowany), konstrukcję funkcji. Dopiero kiedy nauczysz się jak działają te składowe danego języka programowania możesz zacząć pisać jakiś prostszy projekt opierając się o książkę lub o dokumentację języka programowania, w którym ten projekt wykonujesz.
Więc podsumowując to działa tak:
Jeśli zaczynasz z programowaniem to naucz się podstawowych instrukcji pisząc bardzo małe programy - nie rzucaj się z motyką na słońce. Kiedy uznasz, że potrafisz już co nieco sam napisać bez zerkania na kod, który napisał ktoś inny, wtedy możesz brać się za większe projekty. Pisanie większych projektów jest rzeczywiście najlepszą formą nauki. Co do tego z czego się uczyć to
ja osobiście polecam na początek książkę, ale nie czytać jej od deski do deski. Najlepiej wyszukiwać sobie w niej informacje, które w danej chwili są Ci potrzebne, żeby rozwiązać dany problem w projekcie.