Nauka programowania

Chciałbym nauczyć się programować, od czego zacząć i w ogóle, chciałbym kiedyś podjąć pracę jako programista, fakt szkoła i studia na ten kierunek są istotne, ale wydaje mi się że poza szkoła wypadałoby się tego uczyć także w domu. Jak oglądałem poradniki na youtube dotyczące programowania to nie rozumiem za bardzo co dany programista mi tłumaczy.

Zacznij od poznania algorytmów i tego czym są struktury danych. Polecam Pythona na początek do nauki programowania. Jest sporo współczesnych kursów, także w formie apek np. na Androida.

Przejrzyj te tematy bo szkoda pisać Nty raz to samo:


@Fizyda Czyli mam rozumieć, że najpierw powinienem oglądać jakieś kursy programowania? Np ten.https://www.youtube.com/watch?v=ErOzmh3BiXU&list=PLOYHgt8dIdoxx0Y5wzs7CFpmBzb40PaDo
Potem algorytmy i struktury danych- ale co mam po prostu sprawdzić na Wikipedii co to jest?
Gdzie się dowiem jak działają poszczególne aplikacje (webowe, desktopowe, mobilne)
Ogólnie to dałem link z C++, ale czy tylko ten język mi wystarczy czy jakiegoś PHP będę musiał się uczyć czy Javy?

Zależy co chcesz robić, przy nauce programowanie język odgrywa drugorzędne znaczenie. Najpierw trzeba nauczyć się myśleć “programistycznie”, potem trzeba poznać algorytmy i struktury danych (są kursy które tego uczą w sieci za darmo, uczą tego też na stronach, są też dobre książki na ten temat). Potem można poznawać konkretne technologie jakie Cię interesują, czy to webowe, czy desktopowe czy mobilne. W tedy uczysz się konkretnego języka, konkretnych bibliotek, frameworków które są używane w danych środowiskach.

Jeśli miałbym coś zasugerować to jak masz się uczyć programowania to w jakimś języku co ma składnię C bo takich języków jest najwięcej i są najbardziej uniwersalne. Przesiąść się potem na coś z egzotyczną składnią jest łatwiej - według moich obserwacji. Takimi językami są między innymi: C++, Java, C#, PHP (kolejność przypadkowa).

Znajdź dobry kurs programowania w jednym z powyższych języków i będzie dobrze, może PHP bym sobie jednak darował i zostawił go na drugi ogień, ale jak kurs byłby dobry to czemu nie.

Planuje w przyszłości zostać programistą czyli mieć taki zawód i najlepiej na jakimś wysokim poziomie znać się na tym.
A gdzie nauczę się

Dałem link już możliwe, że go widziałeś tam w niektórych odcinkach z kursu pojawiają się nazwy odcinków ze słowami “struktura danych” “algorytmy”. Nie wiem czy dałem link z playlistą filmów, ale jeśli nie to mogę dać. Tutaj te odcinki, które posiadają te nazwy: https://www.youtube.com/watch?v=_V7a1Gwuj5k&list=PLOYHgt8dIdoxx0Y5wzs7CFpmBzb40PaDo&index=17
https://www.youtube.com/watch?v=LKiaoV86iJo&list=PLOYHgt8dIdoxx0Y5wzs7CFpmBzb40PaDo&index=15
Czyli najlepiej jakbym obejrzał od pierwszego do ostatniego odcinka z tej playlisty filmy? Czy może najpierw zacząć od czegoś innego a potem dopiero oglądać filmy od tego Pana?

Ten kurs jest cały i porusza może 1/4 podstawowego materiału - dla mnie jest niekompletny. Chcesz dobry kurs uczący programowania i do tego w języku C++ to polecam:

Ewentualnie książki: Symfonia i Pasja C++ Jerzego Grębosza, lub najnowsza tego samego autora Opus Magnum C++11. Pierwsze dwie to jakby komplet i można je wyhaczyć na olx/allegro bo normalnie w sprzedaży nie są już dostępne.

Dobrych i darmowych źródeł uczących programowania jest mało, w sumie znam jedno i podałem Ci je wyżej. Problem z nim jest taki, że uczy ono programowania w C++, który nie jest dla każdego i do tego jest wykorzystywany w dość specyficznych dziedzinach (telekomunikacja, embedded, automatyka, automotive, IoT, Inteligentne domy, blockchain - to wszystko to niestety niewielki fragment tortu jakim jest rynek IT). Dla niektórych C++ to zło i język nie do nauczenia, ja tam go lubię i ciesze się, że od niego zacząłem się uczyć, ale inni na mnie z tego powodu patrzą dziwnie, jakbym spadł z kosmosu.

Zresztą już gdzieś pisałem, znajomość samego języka to nawet nie jest może 5% potrzebnej wiedzy jaką musi posiadać programista.

Programista to też bardzo ogólne pojęcie, to tak jakbyś powiedział, że chcesz zostać lekarzem, albo pracownikiem biurowym. Lekarze mają masę specjalizacji, niektórzy to się specjalizują nawet tylko w jednym konkretnym narządzie. Pracownik biurowy to zarówno może być sekretera jak i menadżer. Więc jak mówisz, że chcesz być programistą to właściwie nie wiadomo kim dokładnie chcesz być.

Myśleć jak programista nauczysz się ucząc się programowania oraz podczas samego programowania.

Ja mówię o tym, że w przyszłości chciałbym pisać programy czyli mieć taki zawód. Z tego co zrozumiałem to najlepiej się pouczyć, poczytać a następnie próbować coś napisać powolutku od podstaw i coraz bardziej ku zostania profesjonalistą. Jaki mógłbyś mi polecić program do pisania tych programów/ samej nauki przekładania wiedzy na praktykę?

Zastanów się czy chcesz takiej przyszłości dla siebie. Bo bycie programistom to coś więcej niż klepanie kodu i obżeranie się pączkami w pracy.

Długo się nad tym zastanawiałem i podjąłem taką decyzję- zawsze interesowałem się komputerami. Ogólnie to przez ten artykuł mam teraz trochę inny pogląd na ten zawód, myślałem że programiści piszą godzinami i nie mają ani chwili czasu na przerwy, poza tym normalnością jest pisanie także w domu, żeby skończyć projekt etc. Spytam Was jeszcze o jedno (ogólnie to pytanie do @Fizyda na górze nadal aktualne) czy to prawda, że programista musi dobrze znać język Angielski?

Język angielski w IT jest praktycznie niezbędny. W każdej dziedzinie IT.

Dokumentacje z której będziesz się uczył nowych rzeczy masz po angielsku, jeśli będziesz pisał w większej firmie to opis/dokumentacja programu którą będziesz musiał stworzyć będzie po angielsku bo później mogą na tym pracować nie tylko osoby z Polski itp. Więc dobra znajomość angielskiego to mus.

Żaden, to zależy od osobistych preferencji oraz języka w jakim piszesz. Ja używam Sublime Text, ale nie polecam bo to początkowo jest tylko edytor tekstu i bez wiedzy co Ci jest potrzebne nie zbudujesz z niego IDE.
Jak chcesz pisać w C# to bierze Visual Studio, jak Java to są eclipse i netbeans, C++ - CodeBlocks albo Qt Creator i tak można wymieniać bez końca. Praktycznie każdy język ma swoje jedno lub więcej IDE.

Bez Angielskiego ani rusz, jak go nie znasz to nie rozwiniesz skrzydeł na tym polu i nie masz dostępu do 90% wiedzy. Większość książek jest kiepsko tłumaczona przez co ciężko zrozumieć zagadnienie, a niektóre naprawdę dobre są nieprzetłumaczone. Dodatkowo dokumentacje są zawsze po Angielsku i czasami częściowo tylko przetłumaczone przez wolontariuszy na inne języki. To samo dotyczy tutoriali, poradników i artykułów.

Umiem Angielski, lecz nie jakoś mega dobrze, że jak coś czytam to rozumiem słowo w słowo, ale często jak już nie wiem co znaczy jakieś słowo to domyślam się o co chodzi w danym zdaniu. @Fizyda Ten link co dałeś to mam po prostu wejść w każdy link z każdego Chaptera i tam poczytać? https://www.learncpp.com/ i tak dla pewności, że dobrze zrozumiem mogę użyć w Chrome przetłumaczenia strony?

To jest taka jakby książka, na początku masz spis treści i wchodzisz po kolei w rozdziały.

Nie wiem skąd taki wniosek i pomysł. Jak chcesz użyj, ale jak to będzie wyglądało z jakością tłumaczonego tekstu to Ci nie powiem bo nie sprawdzałem. Nie wiem czy tak przetłumaczone artykuły dalej będą miały ten sam sens i czy będą łatwe i zrozumiałe.

1 polubienie

@Fizyda
Ja czytałem na tej stronie link z zakładki 0.1 parę zdań i rozumiem o co chodzi, ale tak tylko spytałem. Ogólnie jak przeczytam tą całą E-“książkę” to co dalej pobrać jakiś program czy coś i spróbować swoich sił?

W rozdziale 0 opisane są chyba IDE, za chwile sobie pobierzesz jakieś i będziesz robił zadania z poszczególnych tematów.

Nauka programowania to nie czytanie książek, a programowanie.

No tak, ale wiedzę potrzebną do programowania muszę gdzieś zdobyć.

Podstawy będziesz miał po tygodniu nauki, a całej reszty będziesz się uczył latami. Ogarnięcie zmienny, pętli, wyrażeń warunkowych i funkcji to jest naprawdę tydzień czas poświęcając 2 godzinki dziennie.

Ale to dobrze, że się już tego uczę na ten moment? Nie jestem jeszcze na studiach a planuję tam iść

Oczywiście studia jakieś właśnie pod programowanie. I ogólnie dużo słyszałem, że programowanie jest dla ludzi którzy naprawdę bardzo dobrze się uczą tzn. dostają w szkole przeważnie 4-5 a żaden taki słabszy uczeń nie ma nawet po co próbować- czy to prawda Ty się znasz to pewnie wiesz czy tak jest.