Nauka programowania - co i jak?

0

Czesc. Chcialbym isc na studia informatyczne, bo chce w przyszlosci pracowac w tym kierunku. Ale niestety jestem na mozliwie najnizszym poziomie jesli chodzi o programowanie. Zaczynam od javy, gdyz taki jest plan studiow. w miedzyczasie chcialbym uczyc sie pythona na wlasna reke. Moje pytania brzmią:

  1. jak powinieniem zabrac sie za nauke programowania? czy w ksiazkach typu ,,Java w 21 dni" albo ,,Java. Podstawy wydanie XI" znajde mnostwo informacji i wiadomosci, ktore beda szeroko rozwiniete (w przystepnym jezyku, nie encyklopedycznym), a nie opisane ,,po łebkach''?
  2. Czy darmowe kursy typu ,,Kurs Java od podstaw 1024KB'' i ,,java start'' są rzetelne i warto z nich korzystać?
  3. malo ogarniam tematow z algorytmow. znajomi pisza jakies programy i skomplikowane kody w roznych srodowiskach programistycznych, no generalnie sa juz na zaawansowanym poziomie, podczas gdy ja dopiero podstawy podstaw ogarniam. Polecacie jakies ksiazki ogolem o programowaniu, algorytmach, generalnie o wszystkim, co powinieniem wiedzec siadajac do kompa jako poczatkujacy programista?

Wiem, ze to moze dla duzej czesci z was sa glupie pytania, ale ja dopiero zaczynam :/ Myslicie, ze gdyby sie przylozyc do nauki i troche przysiąść do programowania, to cos z tego bedzie? Nie ukrywam, ze wszystko, co do tej pory sie nauczylem tj. petle, instrukcje if, if else, tablice, zmienne - to wszystko dobrze rozumiem. Wiem, ze moze nieduzo tego, ba, nawet bardzo malo, ale zaczalem tydzien temu. Bardzo was prosze, doradzcie mi jak się powinienem do tego wszystkiego zabrać. Dziękuję

0

Nie ukrywam, ze wszystko, co do tej pory sie nauczylem tj. petle, instrukcje if, if else, tablice, zmienne - to wszystko dobrze rozumiem

No to kolejnym etapem powinno być tworzenie faktycznych projektów, programów, które robią coś konkretnego. Czyli zastosowanie tej wiedzy w praktyce. Programowanie to rzemiosło, więc wymaga praktyki. Dobrze jest rozumieć "petle, instrukcje if, if else, tablice, zmienne", ale dopóki nie będziesz umiał zastosować tej wiedzy rozwiązując realne programistyczne problemy, to tak jakbyś tego nie znał do końca.

0
stn617 napisał(a):

Chcialbym isc na studia informatyczne, Ale niestety jestem na mozliwie najnizszym poziomie jesli chodzi o programowanie.

Tego programowania na studiach to nie ma Bóg wie ile. Raczej nie ma czego się bać tym bardziej, że piszesz iż podstawy masz jakieś tam.

Zaczynam od javy, gdyz taki jest plan studiow.

Też miałem Jave w programie teoretycznie. W praktyce mam póki co C# i coś tam z matlaba po łebkach. Javy ani widu ani słychu.

,,Java. Podstawy wydanie XI"

To jest spoko.

  1. Czy darmowe kursy typu ,,java start'' są rzetelne i warto z nich korzystać?

Ja korzystałem z Java start jak wchodziłem w ten świat od zera. W sumie spoko, ale jak już coś tam potrafisz to raczej bardziej zaawansowanych rzeczy tam nie ma. Niektóre rzeczy robią się też już nieaktualne.

  1. malo ogarniam tematow z algorytmow. znajomi pisza jakies programy i skomplikowane kody w roznych srodowiskach programistycznych,

A to nie mogą pomóc trochę?

Polecacie jakies ksiazki ogolem o programowaniu, algorytmach, generalnie o wszystkim, co powinieniem wiedzec siadajac do kompa jako poczatkujacy programista?

W jednym miejscu to wszystkiego na bank nie ma. Klika źródeł musi być.

Wiem, ze to moze dla duzej czesci z was sa glupie pytania,

To nie są głupie pytania, ale pojawiają się tak często i było tyle odpowiedzi w tylu wymiarach, że może temat w koszu wylądować.

1
stn617 napisał(a):

Chcialbym isc na studia informatyczne, bo chce w przyszlosci pracowac w tym kierunku. Ale niestety jestem na mozliwie najnizszym poziomie jesli chodzi o programowanie.

Nie przejmuj się tym. Na początkowym etapie będziesz mieć z pięć różnych matematyk na których się wylatuje i tylko jeden przedmiot programowania na którym się na początku studiów wylatuje.
Dlatego na pierwszym roku jest przykładowo 6 grup dziekańskich a na 2, 3, 4 tylko 4. Tak skalkulowane są "moce przerobowe" wydziału.

0

Znajomi może i by mogli pomoc, ale boje sie ze jak spytam ich o cos, co dla nich jest drobnostka, to mnie wyśmieją, że tego nie ogarniam

Nie dopisalem jednej rzeczy - te podstawy, które ogarniam, to ogarniam zarówno teorie z nich jak i praktykę, póki co moj stan wiedzy nie pozwala na pisanie zaawansowanych programów, ale uzywam tych pętli, if itd i eksperymentuje.

TheLearner napisał(a):

W jednym miejscu to wszystkiego na bank nie ma. Klika źródeł musi być.

Może ktoś podrzuci takie źródła?

0

Jaka to teoria kryje sie za ifami, zmiennymi i petlami?

Tzn. od strony architektury komputera troche ciekawych rzeczy jest. Ale tak programujac w Javie to chyba czysta praktyka?

0
stn617 napisał(a):

Znajomi może i by mogli pomoc, ale boje sie ze jak spytam ich o cos, co dla nich jest drobnostka, to mnie wyśmieją, że tego nie ogarniam

No to Cię wyśmieją. Wielkie mi rzeczy, nie możesz na takie pierdoły w życiu uwagi zwracać. Pośmieją się, a następnego dnia nikt tego pamiętać nie będzie. Ty natomiast zyskasz jakąś wiedze.

Może ktoś podrzuci takie źródła?

Bardziej doświadczeni ode mnie polecają zazwyczaj Wstęp do algorytmów autorstwa Clifford Stein, Ron Rivest i Thomas H. Cormen. Na początku książka jest koszmarna imo. Ja się ratowałem lekcjami od różnych hindusów na youtube ;) Linków obecnie nie mam. Źródeł masz multum, na tym forum również są działy polecające książki itd.

1

co powinieniem wiedzec siadajac do kompa jako poczatkujacy programista?

Przede wszystkim trzeba wiedzieć... jak szukać samodzielnie informacji, jest tego multum. Usiąść, przenalizować, zdecydować czego się uczyć. Jak najmniej spędzać na "a może to lub tamto"

Obierz sobie cel jakiego rodzaju oprogramowanie Cie interesuje, czy web, mikrokontrolery, OS, whatever. Czy po prostu "dla kasy"

0

Chciałbym isc w kierunku programowania gier, taka specjalnosc jest na mojej uczelni. Wiadomo, że wymagania do pracy w tym kierunku mogą sie różnić od programu studiów, ale i jedno i drugie trzeba umieć. Czy na tym etapie powinien cos w kierunku gier się uczyć czy najpierw dobrze ogarnąć programowanie w javie i innych językach (jakich np?)?

A teoria za ifami itd to miałem na myśli ze wiem jak to działa, jak sie to wbija w netbeansy, na czym polega. Ćwiczę te rzeczy, które juz umiem, poprzez pisanie ultra prostych programów, które np obliczają mase człowieka na różnych planetach, zamieniają jednostki. Może i banalnie, ale na początek chyba nie jest źle?

Tez mam wrażenie ze niektóre programy sa strasznie prostym sposobem napisane, ze zaawansowany programista nie pochwaliłby tego zapisu, ale to pewnie wynika z tego ze jeszcze nie znan wszystkich możliwości javy i nie potrafię pisać zaawansowanych kodów.

1

mogę zaproponować mój kurs, nie dedykowany żadnemu językowi, a raczej najważniejszym pojęciom w programowaniu. Łatwo, wygodnie i interaktywnie w przeglądarce: http://it.wiedz.net.pl/elementarz/wstep.html

0

no dobra a jakies fajne ksiazki o algorytmach polecacie?

edit: jeszcze jedno pytanko - jest gdzies jakis specjalny watek albo czat gdzie mozna sie podpytac innych co np robie zle w kodzie albo czego uzyc itd?

0

Jedyna słuszna książka do algorytmów to https://ksiegarnia.pwn.pl/Wprowadzenie-do-algorytmow,68706413,p.html ;p

Polską wersje da sie czytac a kosztuje tak 2-4 razy taniej niż w angielskiej wersji.

0

Dziękuję za każdą pomoc. Na pewno jest wiele takich osób jak ja, ktorych caly ten świat komputerowy kreci, ale jest taki natlok informacji ze nie wiadomo w co rece włożyć,czego zaczac sie uczyc, dlatego przepraszam jesli pojawily sie tu jakies głupie albo powielone pytania.

Gdzieś tam wczesniej został poruszony temat programowania gier. Czym powinien sie charakteryzować dobry programista gier komputerowych i co powinien umieć? Pytam jako totalny swiezak ktory bedzie próbował brnąć w te branże, nawet za granica jesli bedzie trzeba

0

Po pierwsze primo, to programowanie gier ma raczej słabą opinię, ze względu na raczej nieżyciowe warunki pracy. Poczytaj sobie o crunchach, o wiecznych problemach, poczytaj książkę "krew, pot i piskele", pooglądaj playlistę "Wha Happun". Jest wielu idealistów marzących o tym tworzeniu gier, którzy zderzają się ze ścianą, mordując się po godzinach za liche (w stosunku do innych branż) pensje ze znikomym wpływem na całościowy rezultat. Chyba lepiej jednak spróbować się dostać do normalnej pracy, a po godzinach dłubać sobie jakieś indie dla frajdy.

W każdym razie ciężko odpowiedzieć co się nauczyć, bo programowanie gier to szeroki temat. Jakich gier? 2D, 3D, mobilnych, desktopowych, sieciowych, VR, konsolowych? Chcesz składać z gotowych klocków w gotowym silniku, czy właśnie interesują cie bebechy, rendering czasu rzeczywistego, architektury i tym podobne?

W każdym razie prawdopodobnie co będzie potrzebne:

0

Przepraszam niejasno się wyrazilem. Mówiąc programowanie gier miałem na myśli duże gry pokroju Cyberpunk, The Last of Us (part 1 i 2), Detroit:Become Human (pierwsze tytuły które mi na myśl przyszły :p). Jak wyglada praca programisty przy tak dużych grach? Czy może lepiej wyszkolić sie w innym kierunku (oczywiście nie na siłę) i dołączyć do ekipy robiacej gry jako ktos nie od programowania, a czegoś innego?

0

W dużych grach jest rozstrzał na dużo ról - o ile w małym indie projekcie programista jest od wszystkiego, o tyle duże zespoły mogą sobie pozwolić na wyspecjalizowanie. Zatrudnia się więc osobno programistów silników (do renderingu grafiki, pisania shaderów, optymalizacji i tym podobnych), narzędzi (dla designerów, developerów), AI (wiadomo) i gameplayu. Pytanie zatem w co byś chciał celować. W każdym razie jesteś wtedy jeszcze bardziej trybikiem w maszynie (dużą grę robi jakieś 200 osób przez 3-4 lata) niż w małym projekcie indie.

W każdym razie wszystkie wymienione tytuły to AAA, więc są pisane w C++ (tzn, nie sprawdziłem, czy na pewno, ale zdziwiłbym się jakby było inaczej), więc ten język musisz znać wyśmienicie. A zatem ścieżka C++, długa, żmudna i bolesna. Listę lektur masz wyżej. Ale i tak najpierw musisz zacząć od elementarza czyli zrozumienia pętli czy rekurencji.

A to czy nie lepiej zostać człowiekiem od czegoś innego w takim projekcie to znów zależy tylko od ciebie i tego, co lubisz/umieć robić. Można robić modele w 3D, można być animatorem i wprawiać te modele w ruch, można komponować muzykę, można zająć się pisaniem scenariuszy. Do każdego zagadnienia jest sporo kursów, książek, materiałów. Ja na ten przykład jestem koderem, scenariusz i mechanikę też mogę opracować, od biedy zmontuję jakąś prymitywną low-poly grafikę w Blenderze, ale animacje wychodzą mi pokraczne, a komponować muzyki nie umiem wcale i wolę nawet nie próbować.

0
Spearhead napisał(a):

Zatrudnia się więc osobno programistów silników (do renderingu grafiki, pisania shaderów, optymalizacji i tym podobnych), narzędzi (dla designerów, developerów), AI (wiadomo) i gameplayu.

Można robić modele w 3D, można być animatorem i wprawiać te modele w ruch

Czy do AI, modeli 3D lub animatora przyda się jakoś specjalność Programowanie Gier Komputerowych czy może jednak Grafika Aplikacji Webowych i Hybrydowych? Takie specjalności (oczywiście są też inne ale nie za bardzo mnie interesują) są na uczelni, na którą chciałbym się wybrac. Czy moze jednak mam studia traktowac jako papierek otwierajacy czesc drzwi do pracy w IT, a uczyc sie samemu tego, co chcialbym w przyszlosci robic?

0

Ale po co ci studia do robienia modeli i animacji? To są artyści, oni nie potrzebują papierka (chyba że z jakiegoś ASP czy innej architektury) tylko solidnego portfolio żeby się móc sprzedać. Na przykład, wziąłem pierwszą lepszą grę co wymieniłeś (Detroit), wyszukałem autorów (https://www.igdb.com/games/detroit-become-human--1/credits) i wyszukałem losowego gościa z listy artystów (Pierre Bertin) - proszę, https://www.artstation.com/pierrebertin, prezentuje jakąś swoją twórczość. W tworzeniu modeli, muzyki, scenariuszy programowanie się nie pojawia.

Grafika Aplikacji Webowych to zupełnie inny kosmos, to jest projektowanie ładnych stronek, JavaScript, CSS i tym podobne, nie w twoich zainteresowaniach, chyba że byś chciał robić gry na stronkach, bo i to można.

Czy moze jednak mam studia traktowac jako papierek otwierajacy czesc drzwi do pracy w IT, a uczyc sie samemu tego, co chcialbym w przyszlosci robic?

Tak, niezależnie od tego jakie studia robisz i jaką karierę planujesz, czy to w grach, czy to w zwykłych apkach czy czymkolwiek innym. To akruat się nie zmienia.

0

Dziekuje za pomoc, poki co chyba wiem wszystko co chcialbym wiedziec o branzy gier, przeczytam ksiazke o ktorej wczesniej pisales, poprzegladam te materialy i wyciagne wnioski. W trakcie nauki Javy przyszło mi do głowy pytanie, w sumie zwiazane ogolem z programowaniem: skad mam wiedziec, ze kod, ktory napisalem, jest czytelny i nie ma w nim zbednych ,,rzeczy''? ostatnio wielokrotnie piszac cos mialem wrazenie ze robie to bardzo prosto, że możnaby ten kod ulepszyć, zrobić bardziej profesjonalnie, może nawet skrócić stosując inne instrukcje, a nie ma nade mną doswiadczonego programisty, ktory moglby doradzić co robię nie tak, co mógłbym poprawić.

0

@stn617: Ja od siebie mogę polecić żebyś zaczął od przejścia na C# np. https://www.tutorialspoint.com/csharp/index.htm jak opanujesz/opanowałeś część basic to już możesz spokojnie zacząć tworzyć coś w Unity i uczyć się poprzez robienie jakiejś prostej gry typu pong. Satysfakcja gwarantowana. Jakością kodu się nie przejmuj tylko czytaj od czasu do czasu o tym na co zwracać uwagę i próbuj stosować to co przeczytałeś. Na początku najważniejsze jest, żeby działał.

Jak chcesz code review albo zadać jakieś pytanie, na które nie możesz znaleźć odpowiedzi w google to polecam discorda. Mogę wysłać zaproszenie na nieoficjalny serwer społeczności unity jeżeli pójdziesz w tę stronę.

2

@TheRottenCookie: Dziękuję, ale póki co muszę ogarnąć jave, gdyż to właśnie z niej bedzie egzamin na studiach, a znajomy mówił ze wykladowca dosc wymagający. Ale jak tylko w to wejdę (o ile wejdę) to sie wtedy do ciebie zwrócę

Polecacie moze jakas stronkę z zadaniami z javy? Żeby można sobie było ćwiczyć, najlepiej z przykładowymi odpowiedziami.

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