Witam,
Wiem, że było już sporo tematów odnośnie tego zagadnienia, ale jednak zdecydowana większość tych tematów dotyczyła całkiem początkujących programistów, poza tym zamierzam poruszyć parę kwestii, które raczej się tutaj nie pojawiały.
Zacznę od tego, że mam pewne doświadczenie z programowaniem i nie jestem żółtodziobem. Trzy lata temu rozpocząłem studia informatyczne, które niestety przerwałem na drugim semestrze. Teraz chcę ponownie podjąć te studia i nie ukrywam, że przez ostatnie 2 lata do czynienia z programowaniem nie miałem wiele wspólnego, bo zajmowałem się czymś innym. Pamiętam jednak sporo z tych studiów.
To, co umiem, to:
-
podstawy Turbo Pascala (to jeszcze z liceum, ale wiem, że kompletnie nieprzydatne)
-
podstawy C/C++ i Assemblera (to ze studiów)
-
podstawowy poziom PHP/MYSQL i paru innych technologii webowych (tyle że orientuję się co jest do czego wykorzystywane, mam sporą wiedzę ogólną i sporo doświadczenia w administrowaniu CMSami typu phpBB, Wordpress, vBulletin itd.)
Interesuje mnie to i bardzo chciałbym ponownie zacząć się dynamicznie rozwijać w kierunku programistycznym, jednakże mój “problem” polega na tym, że co prawda nie jestem początkującym, ale jedyną moją zaletą jest bardzo rozległa wiedza ogólna w rozmaitych tematach - niestety jest to raczej wiedza podstawowa, a nie specjalistyczna. Rozumiem istotę programowania, jak to wszystko działa, mam też pewne pojęcie o architekturze komputerów. Mimo wszystko wydaje mi się, że daje mi to dobry start do rozpoczęcia czegoś poważniejszego.
Od pewnego czasu biję się z myślami, w jakim kierunku zmierzać. Kusi mnie wiele języków i technologii, które wydają mi się ciekawe i atrakcyjne i chyba właśnie ta różnorodność jest dla mnie problemem, bo nie wiem na co się zdecydować. Nawet jak coś zacznę, to po krótkim czasie zmieniam i zaczynam się bawić czymś innym. W konsekwencji nie jestem w niczym naprawdę dobry.
Nurtuje mnie również kolejność uczenia się danych języków i technologii. Przykładowo - chciałbym zacząć programować w jakimś “normalnym” języku programowania, który jest pożądany na rynku pracy i który daje możliwości (Java, C#, Python), a z drugiej strony chciałbym też wyspecjalizować się w PHP+MYSQL, aby móc swobodnie rozwijać i modyfikować CMSa dla pewnej organizacji pozarządowej, której nie stać tymczasowo na zatrudnienie programisty. W związku z tym chciałbym zadać pytanie nr 1 - czy rozpoczęcie przygody i wyspecjalizowanie się w PHP nie zaszkodzi przyszłemu rozwojowi w innych językach programowania? WIadomo, PHP wybacza wiele, może nauczyć i utrwalić wiele złych nawyków, nie wykształcić odpowiednich metod postępowania, nie wymuszać odpowiedniego zrozumienia zagadnień programistycznych, co przełoży się na niższą efektywność w przypadku programowania w czymś innym.
Pytanie 2 - czy rozpoczęcie nauki od języków wysokiego poziomu (typu Java, C#) jest dobrym pomysłem? Czy jeśli teoretycznie chciałbym potem zejść do języków niższego poziomu (C++, C, Assembler), nie byłoby problemem? Czy nie byłoby sytuacji, w której de facto musiałbym zacząć uczyć się wszystkiego na nowo? Czy nie rozsądniej i lepiej jest zacząć rozwój w programowaniu na poważnie od jakiegoś języka bardziej niskopoziomowego, bo potem przejście na cokolwiek wyżej będzie zdecydowanie prostsze i mniej bolesne, aniżeli w drugą stronę?
Pytanie 3 - co sądzicie o równoległej nauce języków? Czy równoległa nauka paru, często bardzo od siebie różniących języków programowania, jest korzystna? Czy można na tym sporo zyskać (np. elastyczność, doświadczenie, umiejętność przełączania się między technologiami, znajomość różnic między różnymi technikami programowania), czy też stracić - bo wszystko zacznie się mieszać i w konsekwencji będziemy umieli wszystko i nic?
Oczywiście chciałbym o tym wszystkim sensownie zdecydować również uwzględniając potrzeby rynku pracy. Nie chciałbym spędzić wielu tygodni i miesięcy na naukę czegoś tylko i wyłącznie “dla sportu” - nawet jakby to było fascynujące i ciekawe, ale jednak czas to pieniądz i lepiej przeznaczyć go na coś w miarę produktywnego
Z góry dzięki za wszelkie opinie i odpowiedzi.