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

Czy nauka programowania to tylko nauka języków?

VPS Starter Arubacloud
+1 głos
438 wizyt
pytanie zadane 18 sierpnia 2018 w Rozwój zawodowy, nauka, praca przez Deriquest Użytkownik (550 p.)
Jak zaczynałem się uczyć programowania to niestety nie znalazłem dobrego poradnika czego tak właściwie się uczyć. Uczę się więc polecanego języka dla początkujących - Pythona i chyba idzie mi całkiem nieźle. Ale czy nauka programowania polega tylko na nauce języków? pomijając sprawy takie jak logiczne myślenie czy rozwiązanie problemów te zdają się przychodzić z czasem chociażby podczas pisania jakiejś większej aplikacji (przynajmniej dla mnie) czy rozwiązując zadania na SPOJu

3 odpowiedzi

+2 głosów
odpowiedź 18 sierpnia 2018 przez Ehlert Ekspert (212,630 p.)
wybrane 18 sierpnia 2018 przez Deriquest
 
Najlepsza

Nauka programowania:

  • Język
  • Algorytmika i logika
  • Wzorce projektowe i architektoniczne
  • Narzędzia: edytory, ide i dużo innych
  • Środowiska: http, cli, desktop, mobile, embeded
  • Biblioteki frameworki
  • Technologie np sync vs async
  • Doświadczenie z problemami
  • Doświadczenie z doborem technologii do problemu 
  • Zwnetrzne usługi np firebase, Google, Amazon itp.

Zapomniałem o:

  • Paradygmaty obiektowe, funkcyjne itp
  • Testy
  • Umiejętność rozwiązywania problemów wydajnościowych 
  • Debugowanie

Krótko mówiąc... Podnóże góry lodowej devil

+1 głos
odpowiedź 18 sierpnia 2018 przez criss Mędrzec (172,590 p.)
Nie, język jest tylko narzędziem. Jako programista masz przedstawić rozwiązanie, a wybór języka będzie zależny od założeń. Przede wszystkim masz znać możliwości i umieć je wykorzystać. Masz wiedzieć co na jakiej platformie będzie działać lepiej (definicja "lepiej" jest zależna od założeń), dopiero do tego dobrać język w którym będzie najwydajniej coś takiego napisać i ostatecznie skorzystać ze znajomości wybranego języka, żeby odpowiednio wykorzystać oferowane przez niego "ficzery". Masz się orientować co się dzieje dużo niżej niż przedstawia to kod; wiedzieć jakie instrukcje/zachowania są (nie)korzystne dla maszyn które będą kod wykonywać; wiedzieć co i kiedy jest w jakiej pamięci i umieć jak najbardziej skrócić czas dostępu. Sam język to niewielki czubek góry lodowej.

To tak bardziej z perspektywy programisty low-levelowego. Na hi-levelu sam język odgrywa większą rolę (tzn. po prostu musisz umieć znacznie mniej - ze względu na dużą abstrakcje od sprzętu), ale pojawiają się nieco inne problemy tylko zamiast myśleć o maszynie wykonującej kod myślisz o interpreterze/maszynie wirtualnej.
0 głosów
odpowiedź 18 sierpnia 2018 przez marcin99b Szeryf (81,480 p.)

To nauka różnego rodzaju wzorców (wzorce projektowe, architektury, gotowe sposoby na popularne problemy) i elementów języków programowania (typy generyczne, refleksje, wielowątkowość, asynchroniczność)

Traktuj języki tak jak montażyści traktują programy do montowania
Każdy jest troche inny, ale mają mase wspólnych cech 
Najbardziej wartościowa jest osoba znająca jeden dobrze + podstawy innych 

try to learn something about everything and everything about something 

Wielu początkujących o tym zapomina i skupiają się na jednym języku, bez spojrzenia na inne, "bo na forum powiedzieli że ważna jest specjalizacja" 

To prawda, ważna jest specjalizacja, ale ważny jest też podstawowy szeroki pogląd, warto wiedzieć jak to wygląda "u innych", a często można przy takim badaniu innych możliwości, sporo się nauczyć
Ja jestem przykładem osoby która przez pierwszy rok nauki programowania dała sobie za cel dobrze zbadać różne dziedziny, żeby później wiedzieć że to co robie, jest tym co rzeczywiście chcę robić, a nie skupiam się na czymś, bo nie znam innych opcji

Przykładowo - zaczynając, przez pierwsze miesiące byłem "programistą html" i nie wyobrażałem sobie robienia backendu, teraz skupiam się głównie na robieniu backendu

No i też takie przeskoki potrafią troche nauczyć, bo poradniki do każdego z języków skupiają się na czymś innym, troche inne priorytety będzie miał poradnik do pythona, inne do frameworka php (np symfony), a inne do androida w javie
Ja byłbym za przerobieniem poradników w podstawowym zakresie do każdej z dziedzin, które cie interesują, np od aplikacji internetowych, przez gamedev, aż po desktop, mobilne i inne, jakie ci przyjdą na myśl, że mogą być fajne
Będziesz później mógł świadomie zdecydować co chcesz robić, bez "a ciekawe jak to jest z inną... technologią" (technologie to nie dziewczyny, tu akurat możesz przetestować dużo bez konsekwencji i wybrać tą najlepszą)

komentarz 18 sierpnia 2018 przez marcin99b Szeryf (81,480 p.)
dorzuce tylko, żebyś się nie zagłębiał a jedynie badał jak to jest

nie warto poświęcać roku na sprawdzenie czy ci się spodoba, celowałbym w okolice miesiąca, góra dwa

jeśli na start wiesz że ci sie nie podoba - odrzucaj na start i nie męcz się tym

zależy też ile masz czasu, bo inaczej sytuacja wygląda u 15 latka bez problemów finansowych, a inaczej u 30 latka który chce szybko znaleźć pracę w programowaniu
komentarz 20 marca 2021 przez Blichar2021 Nowicjusz (140 p.)
A jak to wygląda w przypadku 30-latka? Chcę nauczyć się programowania, ponieważ poważnie myślę o znalezieniu pracy w branży IT.
komentarz 22 marca 2021 przez marcin99b Szeryf (81,480 p.)

A jak to wygląda w przypadku 30-latka?

Tak jak napisałem wyżej 

 

zależy też ile masz czasu, bo inaczej sytuacja wygląda u 15 latka bez problemów finansowych, a inaczej u 30 latka który chce szybko znaleźć pracę w programowaniu

Jak chodzisz do szkoły zazwyczaj kończysz o 13 lub 14 godzinie, masz dużo czasu wolnego (a w czasie pandemii jeszcze więcej), nie masz zobowiązań, umów itd 
Przeznaczenie 2 godzin dziennie na nauke programowania nie powinno być żadnym problemem

W przypadku bycia dorosłym gdzie kończysz prace o 16, ale na tym się nie kończą twoje obowiązki bo masz jeszcze X rzeczy do zrobienia, znalezienie tych 2 godzin dziennie może być wyzwaniem, szczególnie jeśli ktoś ma już dzieci 

 

Co do samego tempa nauki, przyjęło sie że osoby starsze potrzebują troche więcej czasu... ale moim zdaniem to zależy bardziej od tego czym ktoś się wcześniej zajmował 
Jak spojrzysz na osoby którym udaje się zmienić branżę na programowanie w wieku ponad 30 lat, zazwyczaj są to osoby z w jakimś stopniu powiązanych branż, a przynajmniej wśród osób które znam jest bardzo dużo byłych elektroników, automatyków, technologów, ludzi z wiedzą "inżynieryjną"
Bardzo rzadko zdarza się żeby udało się to komuś z takich branż jak nauczyciel czy magazynier -> oczywiście też są tacy którym się udaje, ale jak ktoś powie że wcześniej projektował roboty a teraz programuje, dla wszystkich jest to już w pełni naturalne, jeśli ktoś powie że wcześniej był nauczycielem polskiego w szkole, nagle wszyscy są zaskoczeni (znam taki przypadek)

W poprzedniej pracy mieliśmy osobę która po 50 roku życia nauczyła się uczenia maszynowego, co moim zdaniem jest duużo trudniejsze od programowania
Co prawda był to jeden z głównych architektów oprogramowania, ale nie zmienia to faktu że dotychczasowa wiedza pomogła mu jedynie w szybszym zrozumieniu podstaw, całej reszty musiał się uczyć tak jak ludzie zaczynający od zera

 

W razie pytań trudniejszych niż pierwsza odpowiedź w google, zapraszam na discorda
Zaproszenie -> https://discord.gg/vR5mJjV2rb

 

komentarz 22 marca 2021 przez Blichar2021 Nowicjusz (140 p.)
Czy kursy Pana Mirka(mam na myśli te na YouTube)uczą tylko podstaw? Nie  bardzo wiem co można zaliczyć do wiedzy podstawowej, a co do średnio- zaawansowanej. Może jakieś testy są dostępne z różnym poziomem zaawansowania?
komentarz 22 marca 2021 przez marcin99b Szeryf (81,480 p.)
Są bardzo dobrej jakości, ale uczą nie dość że podstaw, to jeszcze złych praktyk
Bo są robione z myślą o zdaniu egzaminu a nie o rzeczywistych projektach

Troche jak z nauką na egzamin z prawa jazdy, po której nagle okazuje się że tak na prawde prawie nic nie umiesz i w tym czasie dałoby się nabyć dużo więcej umiejętności, ale zamiast tego ćwiczyłeś jazde po słabo oznakowanych skrzyżowaniach i parkowanie

I tak jak podczas nauki jazdy + podczas egzaminu uczysz się jazdy po rzeczywistych drogach, tak w przypadku kursów pana Mirka i egzaminu, masz wiele rzeczy których nie dość że się nie używa, to jeszcze odradza się używać

Ogólnie wśród polskojęzycznych treści polski youtube jest bardzo słaby, lepiej szukać materiałów po angielsku

Ale jeśli już musi być coś po polsku, z takich materiałów których kiedyś szukałem dla jednej osoby moge polecić to https://youtu.be/udxqsJXJM5Q
Osobiście w JS nie piszę, ale znam na tyle dobrze, że moge powiedzieć że treść jest dobrej jakości
+oglądałem tylko ten film na tym kanale, możliwe że tylko ten ma dobrą jakość a reszta jest słaba

Podobne pytania

0 głosów
6 odpowiedzi 551 wizyt
–2 głosów
0 odpowiedzi 192 wizyt
pytanie zadane 15 stycznia 2022 w JavaScript przez Frix4200 Nowicjusz (120 p.)
0 głosów
2 odpowiedzi 357 wizyt
pytanie zadane 21 lipca 2017 w Inne języki przez Cepepe Początkujący (260 p.)

92,454 zapytań

141,263 odpowiedzi

319,099 komentarzy

61,854 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

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 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!

...