Jestem początkującym programistą. Uczę się języków takich jak C, C ++, Python i Java (głównie koncentrując się na C ++). Jestem tym, co nazwałbyś „młodym i niedoświadczonym” i przyznaję, że nie mogę twierdzić inaczej.
Jako student mam wiele innych problemów oprócz programowania. Ćwiczę programowanie tak często, jak potrafię, a zwłaszcza dlatego, że mój nauczyciel daje mi o wiele więcej ćwiczeń niż reszta klasy (jest to bardzo niski poziom), więc często spędzam tygodnie, robiąc coś innego, na przykład projekty szkolne lub sportowe, lub podróżowanie, wszystko oprócz programowania.
Nie zrozumcie mnie źle, uwielbiam programować. Uwielbiam budować funkcjonalny kod, oglądać, jak program ożywa za naciśnięciem jednego przycisku, i uczyć się jak najwięcej. Chodzi o to, że po prostu nie mam na to dużo czasu.
Od razu do pytania: czy Twoja wiedza programistyczna maleje w miarę upływu czasu, a ty nie ćwiczysz? Możesz zapytać „ile masz na myśli?”. Nie mam na myśli konkretnej ilości czasu, ale dla odniesienia możesz wziąć przykład dwa miesiące, a nawet rok.
Przez wiedzę rozumiem wszystko, od składni po funkcjonalność językową.
Odpowiedzi:
Oczywiście programowanie jest czymś, czego się uczysz, a nie zbiorem faktów lub informacji. To powiedziawszy, to bardziej jak jazda na rowerze lub mówienie w języku. Są też teorie, ale bardziej chodzi o ich przećwiczenie.
Mimo to, jak wszystko, jeśli go nie użyjesz, twój mózg zacznie upuszczać informacje. W ten sposób twój mózg jest jak mięsień. Po pewnym czasie najprawdopodobniej zapamiętasz ogólne pojęcia, ale nie szczegóły dotyczące składni i rzadziej używanych funkcji. Na przykład, może chcesz zrobić
for
pętlę lub iteracyjne nad listą i wiem, że jest coś takiego jakwhile List.hasNext()
lubfor item in list
czyfor index, item of list
jednak nie pisać go bardzo pewnie.Dobrą rzeczą jest to, że będziesz wiedział, co chcesz robić. Musisz tylko to sprawdzić. Więc nie martwiłbym się tym zbytnio. Wróci do ciebie. Ważne jest, aby nauczyć się rozwiązywać problemy z programami. Wszystkie języki programowania są zwykle w stanie robić te same rzeczy, ale przez większość czasu na różne sposoby. Możesz zapomnieć, że Ruby lub Python mają rozumienie i
for
zamiast tego napisać zbyt wiele pętli, ale wykonasz zadanie.Jeśli chodzi o to, ile zapomnisz lub zapamiętasz, myślę, że to zależy od tego, jak aktywny jest twój umysł i ile masz lat. Chyba nie rozwinąłem w pełni funkcjonalnego mózgu, dopóki nie skończyłem 19 lat. W tym momencie zapamiętanie czegokolwiek było dla mnie kłopotem. Każdy jest inny.
Podsumowując: szczegóły zawsze zanikają, szybkość zanikania zależy od Ciebie, wszystkie języki starają się ułatwić rozwiązywanie tych samych problemów, więc może ważniejsze jest nauczenie się rozwiązywania problemów. :)
źródło
Wszystko, co nie zostanie użyte, ostatecznie zaniknie.
źródło
Jestem właścicielem małej firmy, co oznacza, że jestem facetem. Więc kiedy strona wymaga aktualizacji, muszę być guru Zend / MVC. Kiedy muszę wyciąć dane lub poprawić strony internetowe, stwierdzam, że muszę użyć php. Kiedy walczę z Quickbookami, mogę znaleźć się w kwerendach faux-QB, Visual Basic, php, mysql, linux i windows w miazmie technologicznej zupy. No tak, i pracuję w CAD, gdy sprzedawca potrzebuje rysunków, co oznacza, że muszę być inżynierem mechanikiem / projektantem i wymyślić formaty plików oraz to, czego potrzeba, aby ludzie mieli wyraźną wiedzę w mojej głowie. Właśnie skończyły się katalogi, więc kupiłem Adobe CS5, wziąłem plik InDesign dla starego katalogu i poprawiłem go dla nowego katalogu. Jestem także elektrykiem i pracownikiem sieci, który w razie potrzeby buduje kable.
Biorąc pod uwagę całe to doświadczenie w ciągu ostatnich 10 lat, odkryłem, że zapomniałem o rzeczach w ciągu około miesiąca. ALE, gdy ponownie się w nią zanurzę, mózg rozbudzi wspomnienia, które wysyłają mnie na php.net lub przeglądam stary / starszy / starożytny kod, który napisałem. To samo dotyczy pracy CAD; jest ogromny projekt, w który byłem i nie pracowałem od ponad roku. Po włączeniu tego komputera wszystkie aktualizacje muszą zostać ukończone, a licencje uporządkowane, a następnie dwa do pięciu dni, aby dotrzeć do miejsca, w którym się znajdowałem, kiedy skończyłem.
Za każdym razem najtrudniej jest odebrać programowanie qodbc w Quickbooks. : P Przez lata robiłem MySql i PostgreSQL z włączonymi i wyłączonymi plikami, a dzięki moim plikom tekstowym oszukiwającym , w których zapisuję szczególnie przydatne zapytania, mogę bardzo szybko to znaleźć.
Podsumowanie: zachowaj całą swoją pracę na zawsze, baw się nią co 6-12 miesięcy, kiedy musisz ponownie odwiedzić ten kod, prawdopodobnie nie za bardzo się cofniesz, i spodziewaj się, że wrócisz do pełnej prędkości w ciągu tygodnia.
źródło
Ogólna wiedza programistyczna lub umiejętności programistycznego rozwiązywania problemów tak naprawdę się nie starzeje, ale wiedza specyficzna dla języka lub struktury po pewnym czasie staje się przestarzała.
źródło
Metodologie i polubienia nie zmniejszają się, jeśli nie ćwiczysz, ale pamiętaj o prawidłowej składni i bibliotekach.
Używam głównie Java, C ++ i C #. Ale przez ostatnie dwa lata używałem Javy tylko sporadycznie (jeśli błąd wymaga naprawy w starszym systemie). Często więc mam trudności z zapamiętaniem, jaka jest poprawna składnia lub jakiej biblioteki potrzebuję teraz.
źródło
Wiedza, nie (przynajmniej nie koncepcje Big Picture). Umiejętności, tak.
źródło
Wiedza nieco się zmniejsza, może się zdarzyć, że zapomnisz o składni lub bardziej złożonych aspektach określonego języka. Na początku struktura kodu może być trudna, jeśli nie ćwiczysz, ale po pewnym czasie wróci.
źródło
Nauka programowania to nauka rozwiązywania problemów bardziej niż cokolwiek innego. Byłem w sytuacji, w której nie programowałem przez ponad 10 lat. Tak, szczegóły składni, które miałem i muszę regularnie sprawdzać, ale umiejętność rozwiązywania problemów wciąż istniała.
źródło
Podobnie jak w przypadku wszystkich czynności mózgu, wiedza zaczyna zanikać po dosłownie sekundach. Trwa to przez sekundy i minuty (krótkoterminowe). Część jest przenoszona przez hipokamp do pamięci długoterminowej, gdzie proces zanikania jest znacznie wolniejszy.
Analogią, którą lubię bardziej niż mięsień, jest „gąbka”. Uczenie się i używanie jest jak dodawanie wody, dzięki czemu gąbka jest ładna, pulchna i „ciężka”. Przestań dodawać wodę, a zacznie wysychać i schudnąć. Neurolodzy mogą polubić tę analogię;)
Niektóre rzeczy, które można przeciwdziałać, to:
Powtórzenie. Wykonaj dowolne zadanie wystarczająco dużo razy, a go zapamiętasz.
Nemoniki. Czy to wizualne, słuchowe, czy cokolwiek innego, mogą być naprawdę pomocne.
Elastyczność. Zdolność do podejmowania nowych zadań jest kluczowa, a nie sama wiedza, ponieważ często wykonuje się zupełnie nowe czynności.
Ćwiczenie. Dobrze znany z pomocy mózgu i pamięci.
Robić notatki. Nie (tak bardzo) do wykorzystania w przyszłości, ale dlatego, że faktyczny proces ich tworzenia pomaga zamknąć wiedzę w jednym umyśle.
źródło