Wpis z mikrobloga

Programiści, mirki; początkujący adepci programowania mają przed sobą bardzo trudne zadanie - od czego zacząć swą przygodę z programowaniem? Jaki język wybrać? I jak w ogóle się do tego zabrać?

Ustalmy zatem raz na zawsze dobre i najbardziej efektywne metody nauki programowania dla początkujących. Na forach programistycznych, yt, blogach czy na mirko każdy forsuje własny schemat, każdy udziela innych wskazówek, a ja chciałbym zebrać tutaj najlepsze metody nauki z perspektywy zwłaszcza doświadczonych programistów #programista15k gdybyście mogli cofnąć się w czasie to co zrobilibyście inaczej? Od czego zaczęlibyście naukę - wykorzystując jakie metody?

Stwórzmy krótki poradnik - drogowskaz dla początkujących. Chciałbym, aby kompilacja naszych wniosków przerodziła się w czytelny dokument pdf / infografikę, które zostaną udostępnione na zasadach open source.

Powiedzmy w 10 najważniejszych punktach? Załóżmy, że adresujemy przekaz do zupełnego amatora bez doświadczenia:

1. Lektura książki - jakiej? Czy zaczynanie od książki to dobry pomysł?
2. Kurs online - codecademy?
3. Tutorial www
4. Tutorial wideo / yt? A może tutoriale wideo powinny być jako drugie? Liczę na wasze opinie
5. Wykłady stacjonarne / studbaza
6. Stacjonarne warsztaty z programowania / kurs programowania np. coderlabs (jeśli kogoś stać) czy warto? A może najłatwiej będzie zacząć właśnie od kursu/warsztatów?
7. Udział w projekcie - np. freecode camp, Odin Project? na jakim etapie dołączyć do takiego projektu? Czy rzucać się od razu na głęboką wodę?
8. Instalacja IDE i ogólny chaos z pomocą google - "wygooglaj sobie" znacie to?
9. Kopiowanie kodu innych i jego analiza - przepisywanie do zeszytu przykładów? Czy ręczne przepisywanie kodu, przykładów z książki jest efektywną metodą nauki? A może właśnie od tego warto zacząć?
10. Wspólna nauka ze znajomym programistą / mentorem?

#naukaprogramowania #pytanie

od czego najlepiej zacząć naukę programowania? Pierwszy krok na ścieżce programisty twoim zdaniem?

  • Lektura książki - jakiej? 15.6% (33)
  • Kurs online 24.6% (52)
  • Tutorial na yt - jaki, uzasadnij 19.9% (42)
  • Kurs stacjonarny 8.1% (17)
  • Free Code Camp / Odin Project 8.5% (18)
  • Tutorial www danego języka np /ruby/) 14.2% (30)
  • Inna - podaj w komentarzu, uzasadnij 9.0% (19)

Oddanych głosów: 211

  • 43
  • Odpowiedz
@unknown_stranger: Do każdego trafia inny sposób nauki, jednemu wystarczy lektorka, inny potrzebuje kursu online.
Najważniejsze jest pisać..pisać...pisać, płodzić programy jak Petru lapsusy.

Logarytmika owszem, trzeba przyswoić, ale na starcie może to zabić wenę.
  • Odpowiedz
@Afropolon: Jasne, ale co to znaczy "pisać, pisać, pisać" jak nie znasz składni, ani nie masz pojęcia od czego zacząć? Od czego zacząć, aby być w stanie napisać coś poza "Hello mirko"?
Stwórz proszę schemat w kilku punktach - swoje know how dla nooba. :>
  • Odpowiedz
@Prism2772: ta, to najwyżej zostaniesz wykładowcą na uczelni xD
@unknown_stranger: ze mnie jest noob, ale ja bym polecił po prostu pisanie co nam do głowy przyjdzie i nie przejmowanie się "ja nie umiem" - masz google; poradzisz sobie z większością problemów, a jak nie to stackoverflow i pytasz.
Warto poznawać wiele języków (ale to może jak już się w jednym swobodnie poruszamy) - wtedy łatwiej jest dobrać język do narzędzia.
Nie uczyć się programowania na pamięć, po to są dokumentacje żeby nie musieć tego wszystkie pamiętać.
Starać się wszystko napisać DOBRZE od początku, wiadomo nie zawsze się da, albo ewentualne wady rozwiązania wychodzą w praniu, ale warto nad tym myśleć zanim cokolwiek się napisze.
IMO książki przy podstawach to marnowanie pieniędzy, wszystko jest dostępne za darmo w internecie. Może warto się zainteresować lekturą, gdy chcemy zgłębić
  • Odpowiedz
@sokytsinolop: Mówię na początek, a nie w ogóle.
Ogarniesz algorytmikę i masz łatwiejszą drogę do jakiegokolwiek języka. A przy samym poznawaniu algorytmiki możesz ogarnąć w jakim zakresie byś chciał programować
  • Odpowiedz
@unknown_stranger: Jak to o d czego, od "Hello world" potem już górki.
pierwszy, drugi własny pomysł na aplikację i jej realizacja. Napotykasz problem - znajdujesz rozwiązanie.
Na naukę wzorców projektowych przyjdzie czas. Po dwóch, trzech aplikacjach - prostych , na miarę nowicjusza - kalkulator, gra w kości, Aplikacja zmieniająca nazwy plików wedle wzorca - pomysłów jest tysiąc.
Dlaczego zaczynać od tego? To proste aplikacje które można wygooglować i znaleźć rozwiązanie
  • Odpowiedz
@unknown_stranger: ja w gimnazjum robiłem totalne pierdoły
była gierka, w której hodowałes pokemony (ktoś klikał na twój link i dostawałeś kolejny level, co x leveli nowy pokemon).
Nie bylo nawet kont, po prostu link i w bazie danych liczba wejść. Później z tych danych wyświetlałem liczbę pokemonów.
Pokazałem to ludziom; no i dostałem feedback.
-dało się oszukiwać (zliczało kliknięcia z tego samego IP)
  • Odpowiedz
@sokytsinolop: Przepraszam bardzo, ale Ty nie jesteś noobem. Noob nie wie czym jest string, ani tym bardziej SQL injection :D

Oczywiście w czasie pracy nad własną projektem można się sporo nauczyć, ale nie wydaje mi się, aby był najlepszy pomysł na "pierwszy krok". Ja jednak doceniłbym wartość książki papierowej; możesz sobie spokojnie poczytać z dala od komputera, wyciszyć się, skupić na tekście i tym samym poznać trochę teorii - bez
  • Odpowiedz
dobre i najbardziej efektywne metody nauki programowania dla początkujących


@unknown_stranger: Tradycyjnie odpowiem - to zależy. A zmiennych jest wiele. Zacznijmy:
1) Ile lat ma dana osoba?
2) Jaki jest jej poziom angielskiego?
3) Dlaczego chce zacząć programować (hobby/przyszła
  • Odpowiedz
@nihil_novi: Przyjmijmy, że chodzi o przeciętnego humanistę bez żadnego doświadczenia programistycznego przed 30, który próbuje zmienić branżę. :)
Jak wspomniałem wyżej - miał to być drogowskaz dla zupełnego amatora, który nie odróżnia pętli od stringu, bez sprzętu o dużej mocy obliczeniowej, osoby, która jest gotowa na codzienną - systematyczna naukę, lecz bez możliwości finansowych, które pozwoliłby na sfinansowanie kursu za 9 k.
  • Odpowiedz
@unknown_stranger: ( ͡° ͜ʖ ͡°)
To jeszcze do wcześniejszych pytań dodałbym:
14) Jakie jest doświadczenie zawodowe danej osoby? Czy pracuje, jeżeli tak to gdzie i na jakim stanowisku? Jakie prace wykonywała w przeszłości? Jeżeli jeszcze nie pracowała, to czy była na stażu/praktyce?
  • Odpowiedz
@unknown_stranger: pracuję w firmie szkoleniowej, która skutecznie wykształciła kilkuset programistów (webdev) od zera do pierwszej pracy/stażu. Dać długą, rzetelną wypowiedź wynikającą z doświadczenia (bez mylenia logarytmiki z algorytmami) czy potraktujesz to jako spam?
  • Odpowiedz