Jak długo zajmuje nauka programowania?

0

Zupełne podstawy programowania znam, przetoczyłem się przez jakieś projekty z podstaw programowania na studiach nieinformatycznych, ale nie miałem informatyki w szkole i czuję, że nie ograniam wielu rzeczy, na które zdążyłem się natknąć, a zrobiłem spisując coś bez zrozumienia, co tak naprawdę się dzieje "za sceną". (na przykad przecieki pamięci, UNIX) Więc... jak długo zajmuje osiągnięcie płynności w programowaniu? Jak to wygląda w Waszym doświadczeniu?

4

never ending story

0

U każdego jest to indywidualne. Niektórzy nigdy się nie nauczą, niektórzy ogarną podstawy w trzy miesiące, inni w rok, inni po prostu nie umieją się uczyć i ich "rok uczenia się" to godzina tygodniowo, co drugi tydzień, z fejsbuniem na drugim ekranie. To pytanie nie ma absolutnie żadnego sensu.

0

To okej. Godzinowo. Częstotliwość * obiektywny czas. Oczywiście zakładająć rozsądny poziom zaangażowania.

Szacując to z góry i z dołu.

5

Jak długo zajmuje nauka programowania?

zależy od kursu, jeden trwa tydzień, inny miesiąc

1

To zależy co rozumiesz poprzez definicję "programowanie" - może to być znajomość składni języka + dodatkowo pracy komputera od "wewnątrz" tj. zarządzanie pamięcią, zasobami, operacje na plikach, wątki itp. Do tego dochodzą paradygmaty programowania w zależności od języka i technologii które wybrałeś - np. dla języków obiektowych może to być: SOLID, KISS, BDD, TDD, DDD itd. (w sieci jest tego dużo).

Jest takie powiedzenie, że żeby być w czymś dobrym trzeba poświecić na to co najmniej 10 tysięcy godzin. W programowaniu nigdy nie osiągniesz poziomu "mistrza wszechwiedzącego" - to jest wielka zaleta (jeżeli to lubisz) ale z drugiej strony musisz cały czas dokonywać wyborów czego się warto uczyć a co odpuścić.

Nie ma granicy pt. "już wiem jak programować". Albo to robisz albo nie, albo to lubisz albo nie.

Zakładając, że zaczynasz dzisiaj to za 10 lat będziesz dowiadywał się nadal nowych rzeczy z którymi nie spotkałeś się przez te 10 lat - to mówię z własnego doświadczenia. Pojderzewam, że po 20, 30 itd. letniej praktyce wygląda to podobnie.

1

Myślę, że intencją takich pytań jest jak długo trzeba się uczyć żeby mieć umiejętności by przekonały pracodawce.

Niedawno spotkałem kolegę, który się przebranżował, kilka języków znał tylko na poziomie składni, dostał pracę w znanym korpo, robi w lispie i c, mówił że na rozmowie pytali tylko o algorytmy i logikę, dopiero w pracy lepiej poznał język.

0

Może ujmę to tak... jak długo zajmuje nauczenie się tego na tyle, żeby się w tym płynnie poruszać i wiedzieć czego gdzie szukać. Więc nauczyć się podstaw. Ale nie mówię o używaniu pętli, czy konkretnym języku, tylko może bardziej o informatyce, z czym się to wszystko je... No nie wiem. Np. nauka angielskiego poszła mi jak po grudzie, a następne języki łatwiej. Tu pewnie jest analogicznie.

Przekonać pracodawcę to przekonać, ale żeby nie zawalać roboty... W tej chwili mam wrażanie, że jestem całkiem niekompetentny :) Niby umiem napisać coś, co coś robi, coś z sensem, a jednak przeraża mnie, jakie niedoróbki produkuję i jak bardzo nie wiem, co robię np. z pamięcią. No... pewnie umiem zawartość jakiegoś tygodniowego czy miesięcznego kursu, czy nawet kilkumiesięcznego. Ale są jakieś rzeczy, które moi znajomi uważają za oczywiste, a dla mnie wcale takie nie są.

Moje pytanie wynika z ciekawości, czy jestem w tym kompletną nogą, będę nogą, i powinienem dać sobie spokój, czy może jednak kiedyś przebiję tą ścianę. Chciałbym też sobie jakoś zaplanować czas.

1

U mnie nauka trwa już ponad dwa lata.

1

koduj po prostu koduj, ja programowałem 2,5 roku, żeby zarobić pierwsze pieniądze, i to tak wiesz, te 80h miesięcznie minimum kodowałem pomimo, że na głowie miałem technikum i mature.

0

Tego nie da się tak łatwo określić.
Po pierwsze, to zależy od pewnych innych cech takich jak zdolność do koncetracji, samozaparcia, pamięci i kreatywności. Ktoś kto wcześniej jest fizykiem pewno łatwiej nauczy sie programować niż kasjer z Tesco.
Po drugie są różne poziomy, obstawiam ze to co dla mnie jest dobre, to dla dużej części osób może być zaawansowane

0

To okej. Godzinowo. Częstotliwość * obiektywny czas. Oczywiście zakładająć rozsądny poziom zaangażowania.

Szacując to z góry i z dołu.

Odpowiedź jest prosta, w informatyce jest nawet specjalna nazwa na taką liczbę, o którą pytasz.
https://pl.wikipedia.org/wiki/NaN

NaN albo nie-liczba (ang. not a number) – wartość numerycznego typu danych oznaczająca niezdefiniowaną lub niereprezentowalną wielkość,

Pytasz o rzeczy niemożliwe do obliczenia. To zależy od wielu czynników.

jak długo zajmuje osiągnięcie płynności w programowaniu?

Jak definiujesz płynność w programowaniu? Jeśli chodzi o oszukaną płynność, to pewnie kilka tygodni, pod warunkiem

  • korzystania ze StackOverflow
  • programowania na zasadzie kopiuj-wklej (potężna technika pozwalająca na bardzo płynne kodowane)
  • robienia wszystkiego na ifach (też bardzo potężna instrukcja, bo pozwala na wczepienie dowolnego warunku w dowolny punkt programu - więc w zasadzie całe duże programy można robić na ifach).

Tylko, że w ten sposób będziesz płynnie robił spaghetti kod, może na freelancera się wtedy będziesz nadawał, bo będziesz robił szybko projekty, a nikt nie będzie wiedział, jaki syf masz w kodzie (poza innymi freelancerami, którzy będą musieli potem rozwijać dalej te projekty i będą na ciebie kląć).

Z drugiej strony jest inny rodzaj płynności i przez płynność można mieć na myśli pewnego rodzaju intuicję, coś, że nie zastanawiasz się w jaki sposób zrobić prostą rzecz, bo robiłeś ją setki razy i ją robisz. Programujesz odruchowo, ale ma to ręce i nogi, a jeśli nie ma to, to poprawisz to i tak poprawić tak, żeby miało. Panujesz nad kodem, a nie on nad tobą. Ale to raczej kwestia lat nauki i zbierania praktycznego doświadczenia w rozwiązywaniu różnych problemów.

0

Rety. Długo. Chociaż w zeszłym roku też kodowałem cały rok po okolo 80h miesięcznie. Wtedy praktycznie zacząłem. Męczyłem się, ale miałem z tego frajdę. W tym roku trudno mi powiedzieć ile, bo programuję zrywami, ale pi razy drzwi podobnie. Więc mogę być blisko przebicia ściany. Czasami ten moment tuż przed przebiciem ściany jest najbardziej frustrujący.

Trochę ze mnie scatterbrain i myślę, że mnie to zdecydowanie spowalnia, chociaż z drugiej strony jestem na ścisłych studiach.

Obliczyć się nie da, oszacować, przybliżyć, da się. Oczywiście, że chcę, żeby mój kod miał ręce i nogi. "Panujesz nad kodem, a nie on nad tobą" - no właśnie.

0
czysteskarpety napisał(a):

Jak długo zajmuje nauka programowania?

zależy od kursu, jeden trwa tydzień, inny miesiąc

Typowy kurs krótki trwa 4 weekendy, typowy kurs długi 6 weekendów.

0

Wbrew pozorom programowanie nie jest zero jedynkowe, fizycznie jest, ale w mózgach to idee panują.

Takie ocenianie należy do błędów poznawczych i innych schorzeń.

Teoretycznie znając podstawy dowolnego języka i umiejąc kombinować możesz zrobić wszystko, ale cały czas tym kombinowaniem i czytaniem uczysz się.

A, że cały binarny świat wymyślili ludzie, to musisz się uczyć pojęć abstrakcyjnych albo ich nieświadomie się nauczysz, ale zwykle na nowo koło odkrywasz, którego nie znasz, bo to ktoś inny wymyślił już dawno temu, albo niedawno.

0

Nie wiem ile zajmuję nauka programowania ale im wcześniej zaczniesz tym lepszym programistom będziesz w przyszłości.

1

w zeszłym roku też kodowałem cały rok po okolo 80h miesięcznie. Wtedy praktycznie zacząłem. Męczyłem się, ale miałem z tego frajdę. W tym roku trudno mi powiedzieć ile,
bo programuję zrywami, ale pi razy drzwi podobnie. Więc mogę być blisko przebicia ściany. Czasami ten moment tuż przed przebiciem ściany jest najbardziej frustrujący.

zgadza się. Fajnie jest to wytłumaczone tutaj (od 37:05 )

0

Z ZX Spectrum - 15 minut. Tyle wystarczy żeby zrozumieć wszystkie tryby wprowadzania znaków i wklepać pierwszy program.
Z PC / Python pewnie podobnie.

Ilości nauki nie da się zmierzyć godzinami, bo są dni że jesteś zmęczony lub znudzony programowaniem i nie robisz nic, a są dni że odchodzisz od kompa tylko w celach fizjologicznych (picie, spanie itd).
Ważne żeby tych drugich trochę było, przy czym nie wiem czy 80h to mało czy dużo.
Zależy co robisz. Jak miałbyś wczytywać oprogramowanie po 30 minut z taśmy magnetofonowej to mogłoby być mało.
Jak masz SSD PCIe i i7 to może wystarczy. To w zasadzie zależy od osoby która się uczy. Jedni łapią w lot, inni muszą wkuwać.

LukeJL napisał(a):

Jak definiujesz płynność w programowaniu? Jeśli chodzi o oszukaną płynność, to pewnie kilka tygodni, pod warunkiem

  • korzystania ze StackOverflow
  • programowania na zasadzie kopiuj-wklej (potężna technika pozwalająca na bardzo płynne kodowane)
  • robienia wszystkiego na ifach (też bardzo potężna instrukcja, bo pozwala na wczepienie dowolnego warunku w dowolny punkt programu - więc w zasadzie całe duże programy można robić na ifach).

Jest jeszcze potężniejsza instrukcja, operator warunkowy.

char a;
while(isdigit(a = getchar())?a>'1':a>'b') {
  printf("%c", a);
}

http://ideone.com/N9bEQv

0

Konieczne jest w tym temacie różnienie między poznaniem składni języka, poznaniem ekosystemu języka, poznaniem algorytmów, poznaniem wzorców projektowych i sposobów działania oraz - tak naprawdę na samym początku- umiejętnością logicznego myślenia.
Poznanie samej składni to rzecz, którą można zamknąć w parę dni lub tygodni - większość języków na rynku dzieli ze sobą podobne koncepcje, ale inaczej je zapisuje (try / catch w C/C++/Javie/C# czy try/rescue/raise w Rubim itp.). Dłużej zajmie ogarnięcie ekosystemu języka (ważna prawda: znajomość samej składni absolutnie nic nie daje - to jak chcieć napisać książkę, bo się zna alfabet, ale nigdy żadnej nie czytało) - poznanie najważniejszych dodatkowych bibliotek, sposób postępowania, najczęstszych problemów, bebechów maszyny wirtualnej / środowiska, na jakim twój język stoi. Niby ta ostatnia część niepotrzebna, ale gdy przyjdzie co do czego to chcesz coś zrobić, dlatego że wiesz co robisz, a nie dlatego, że robią tak inni.
Na samym końcu - lub początku - jest umiejętność logicznego myślenia. Tego człowiek nie nauczy się nigdy, jeżeli już tego nie umie. Nie pomogą ani gry logiczne ani tutoriale. Niektórzy nie przeskoczą pewnego poziomu abstrakcji, nie będą umieć się skupić na tym, co istotne i wygaszeniu swojej uwagi wobec nieistotnych detali. Wszak nie musisz umieć wszystkiego i znać wszystkich szczegółów, żeby twoje rozwiązanie było wydajne, efektywne i piękne. Niektórzy jednak zatrzymają się na poziomie poprawek na gotowych templatkach (nie chcę nikogo urazić).

W skrócie: programowanie to zdolność zapisania logicznego ciągu myślowego w kod źródłowy. Bez myślenia ani rusz, składnia czy framework nie pomogą.

0

jak znasz już podstawy c++ ze wskaźnikami i obiektówką to podstawy następnego języka poznasz w tydzień jak nie szybciej. Tu nie ma nic skomplikowanego.

1 użytkowników online, w tym zalogowanych: 0, gości: 1