• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Czy programista musi umieć, znać i pamiętać wszyskie rozwiązania?

Object Storage Arubacloud
0 głosów
1,797 wizyt
pytanie zadane 26 października 2017 w C i C++ przez Jakub 0 Pasjonat (23,120 p.)

Witam, już dość długo koduje w c++. Ostatnio skończyłem kurs MZ zabrałem się za programowanie obiektowe, książkę Język C++ SP oraz bibliotekę sfml. Mimo że powoli w swoim tempie idę do przodu to stwierdziłem że sprawdzę jak z tą moją wiedzą o algorytmach : sortowania (uczyłem się około 5 rodzajów - poświęciłem na to parę tygodni), algorytmem ONP i w ogóle moimi starymi projektami. Trochę się przeraziłem bo  zapomniałem sposobu działania i implementacji wielu rozwiązań (musiałem się wzorować na moich notatkach). Czy to naturalne? Zastanawiam się czy mam dalej kontynuować naukę czy wracać do tych starszych rzeczy... Jak to jest u doświadczonych programistów? Czy oni pamiętają wszystkie rzeczy jakie się kiedyś nauczyli? Pytanie może banalne ale trochę się zmartwiłemindecision. Dziękuje za wszelkie odpowiedzi i pozdrawiam :)

komentarz 26 października 2017 przez Jakub 0 Pasjonat (23,120 p.)
Algorytmikę cały czas ćwiczę na SPOJ'u

3 odpowiedzi

+4 głosów
odpowiedź 26 października 2017 przez adas94 Nałogowiec (29,200 p.)
wybrane 27 października 2017 przez Jakub 0
 
Najlepsza

Nie musisz absolutnie niczego znać na pamięć. I nie masz się czym zamartwiać. Ważne, że w jakimś momencie nauki przerobiłeś te algorytmy i tyle wystarczy. I teraz najistotniejsza sprawa. 

Ktoś kto tego nigdy się nie uczył, a będzie musiał to wykorzystać w praktyce musi : 

  • wygooglować
  • dokładnie się wczytać o co chodzi w danym algorytmie
  • rozpisać na kartce poszczególne kroki, żeby ogarnąć jak on działa
  • zaimplementować
  • jeszcze raz ogarnąć kod "jak to tam po kolei idzie"
  • dopiero tutaj jest w stanie się tego NAUCZYĆ

Czas poświęcony na ogarnięcie od podstaw tego bym ocenił na 10j 

Natomiast co musisz zrobić Ty :

  • wygooglować
  • PRZYPOMNIEĆ
  • zaimplementować

I tutaj czas bym ocenił na 1j, a więc 10 razy szybciej. 

W dużym skrócie mówiąc Twoja nauka absolutnie nie poszła w las i nie masz się co przejmować tym, że już zapomniałeś. Bo nie musisz się tego nauczyć, a tylko przypomnieć

komentarz 27 października 2017 przez Jakub 0 Pasjonat (23,120 p.)
Dzięki, pokrzepiło mnie to :)
+5 głosów
odpowiedź 26 października 2017 przez 10kw10 Pasjonat (22,880 p.)
Nigdy, niczego (przynajmniej w programowaniu) nie ucz sie na pamiec, raczej staraj sie zrozumieć. Idz dalej, tworz swoje aplikacje, uzywaj roznych algorytmow az wkoncu ci sie utrwala.
komentarz 26 października 2017 przez Jakub 0 Pasjonat (23,120 p.)
dzięki, ale ja się ich nie uczyłem na pamięć... po prostu je zrozumiałem a teraz  prawie nic z nich nie pamiętam i muszę o nich czytać od nowa (znaczy tam bubblesort czy quicksort pamiętam ale np z merge sort już gorzej)
3
komentarz 26 października 2017 przez Tomek Sochacki Ekspert (227,510 p.)

znaczy tam bubblesort czy quicksort pamiętam ale np z merge sort już gorzej

Najważniejsze nie żebyś pamiętał jak dokładnie to zrobić, ale żebyś wiedział, gdzie to szybko znaleźć :) Google dzisiaj jest potężnym ułatwieniem dla programistów (w łączności z SO, dokumentacjami itp.) ale jest jeden mały problem - trzeba wiedzieć czego dokładnie szukamy i tutaj właśnie uwidacznia się doświadczenie i umiejętność rozwiązywania problemów.

+3 głosów
odpowiedź 27 października 2017 przez obl Maniak (51,280 p.)
Jasne, że nie musisz, ale warto żebyś umiał szybko znaleźć rozwiązanie i je zaimplementoać. Najczęściej też dużym wsparciem jest wujek Google, którego bez przerwy o coś dopytuję. Dużo wiedzy z czasem umyka i np. trzeba przypomnieć sobie (w razie potrzeby) np. nazwę jakieś dawno nie używanej funkcji systemowej.

A co do algorytmów sortujących to one już są zaimplementowane w C++, więc ich nauka ma na celu uświadomienie sobie o ich wydajności i przydatności.
komentarz 27 października 2017 przez Jakub 0 Pasjonat (23,120 p.)
Dzięki, w sumie nauka różnych algorytmów ma na celu rozwinięcie swoich umiejętności i logicznego myślenia :). Doszedłem też do wniosku że ważniejsze od znajomości wielu rozwiązań jest umiejętność pisania własnych algorytmów i projektów.
1
komentarz 27 października 2017 przez obl Maniak (51,280 p.)
Tak, to też, ale jeżeli chodzi o sortowanie to dobrze jest wiedzieć jak dany typ sortowania działa.
komentarz 27 października 2017 przez Jakub 0 Pasjonat (23,120 p.)
To ogólnie pamiętam, nie które tylko jakich bardzo nie lubię np mergesort tylko przelotnie

Podobne pytania

0 głosów
3 odpowiedzi 919 wizyt
pytanie zadane 11 listopada 2017 w C i C++ przez Jakub 0 Pasjonat (23,120 p.)
0 głosów
3 odpowiedzi 633 wizyt
pytanie zadane 23 lipca 2019 w C i C++ przez KosaTV Obywatel (1,260 p.)
0 głosów
0 odpowiedzi 366 wizyt

92,556 zapytań

141,404 odpowiedzi

319,561 komentarzy

61,942 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...