Peršokti į turinį

inactive

Elementarūs patarimai besidomintiems programavimu

Recommended Posts

Kelios pastabos:

  • nesu profesionalas (toli gražu);
  • pagrindinis temos tikslas - suteikti žmonėms, kurie domisi programavimu, elementarias žinias apie patį konceptą ir jo keliamus reikalavimus;
  • viskas pagrįsta sava patirtimi (kuri yra ganėtinai siaura (nes vis dar nesu pabaigęs mokyklos), tad šią informaciją vertėtų vertinti kritiškai/objektyviai).

 

Na, turbūt pagrindinis reikalavimas - motyvacija: šito dalykėlio man vis dar dažnai pritrūksta, nes mano dėmesį labai lengvai patraukia įvairūs šūdai: 1.6, yt, twitch, fb, imageboards, etc. Prie to pačio galima pritraukti ir patarimą, jog nevalia daryti ilgų pertraukų (mėnesis jau per ilgai, maksimaliai savaitė), nes, kad ir kaip keista bebūtų, informacija mėgsta greit išgaruot iš smegenų. Jeigu kalbant iš asmeninės patirties, tai 6 mėnesių (jeigu nedaugiau) pertraukų intervalai tikrai nepagelbėjo mano situacijai.

Anyway, moving on - mathematics. Priklausomai nuo specifinės šakos, kurią pasirinksit, matematikos galbūt jums išvis neprireiks (tarkim kokių nors sistemų kūrimas). Tačiau tokie atvejai ganėtinai reti ir matematika tikrai bus pravarti ir reikalinga. Ypač jeigu ketinat sieti ateitį su žaidimų industrija (ko nepatariu, nes ji yra ganėtinai rizikinga (ypatingai jeigu ketinat patys įkurti savo žaidimų 'kompaniją')). Kitos sritys, stipriai besiremiančios matematika: dirbtinis intelektas, kompiuterių apsauga/grafika/architektūra, algoritmai ir duomenų struktūros, etc. (daugiau rasit čia).

Fizika irgi dar vienas įdomus subjektas. Niekas ant liežuvio galo nesisuka, bet žaidimų industrijoj ji irgi nepaprastai pravarti.

Bloga praktika. Mmm, klasika. Daugelis susidaro iliuzijų, kad programavimo išmoks iš yt ar kokių nors tutorial'ų tinklalapiuose. Ne, kaip tik, iš tokių vietų galima išmokti tik blogų praktikų ir įgyti neišsamų suvokimą. Aišku, yra keletas gerų video, bet juos galima vos ne ant dviejų rankų suskaičiuoti. Pagrindinis jūsų informacijos šaltinis turėtų būti knygos arba kursai, prieinami net'e (aišku, jeigu studijuosit, to neprireiks (nebent norėsit gilintis papildomai)).

Logika. Dar vienas svarbus aspektas, kurio ne visi (kažkodėl) siekia. Logika padeda pamatyti sprendimą dar nematytai problemai (o problemų iškils nepaprastai daug) bei atpažinti analogijas. Šis dalykas yra nepaprastai sunkus įvaldyti (pats dar tik paviršių krapštau). Vienas mokslas, kuris ugdo logiką - matematika (na, aišku kalbu ne apie mokyklinį kursą, nes švietimo ministerijos pateikiamas kelias yra tiesinis, nesikėrojantis į teoremų pagrindimus, etc.): užsisakykit uždavinyną ir sprendinėkit, eikit pas mokytoją/profesorių ir prašykit papildomų uždavinių, kurie reikalauja kūrybos, konsultuokitės, domėkitės.

Kalba. Dar vienas dažnas klausimas: kurią kalbą mokytis? C++, Java, C, Python, PHP, Haskell, Go, ar kokią nors kitą? Į šį klausimą nelabai turiu atsakymo, nes pats esu praėjęs gana nemažą jų kiekį ir vis dar nesu galutinai apsisprendęs, bet šiuo metu esu labiausiai susifokusavęs į C++, nes ji tiesiog man įdomi. Kiek žinau, tai (turbūt informacija netiksli) C++ naudojama ten, kur prioritetas - efektyvumas (tarkim žaidimai), C - compiler'ių kūrimas, procesorių programavimas, Java, PHP - kiek obsolete jau. Dėl kitų nelabai turėsiu ką pasakyti. Verčiau pasidomėkit patys.

Pagrindinis kelias. Daugmaž viską susakiau, tad beliko nurodyti konkretų kelią, kuriuo (šiuo metu) aš einu (ar bent stengiuosi eiti). Na, tai nelabai kelias, o mišinys tarp mokymosi trajektorijos bei šiokių tokių patarimų (tarkim tl;dr).

  1. Pasirinkit konkrečią kalbą ir fokusuokitės būtent į ją iki studijų (ar ko nors kito), nesimėtykit;
  2. Nesimokykit iš yt ar tutorial site'ų, nes jie dažnai pateikia blogą praktiką ar neišsamią informaciją;
  3. Nedarykit ilgų pertraukų, nes greit dings motyvacija ir užsimirš didžioji dalis informacijos, kurią sukaupėt;
  4. Kelias (asmeninis):
    1. Sėdėt ties matematika. Šiuo metu dirbu ties praeitų metų uždavinynu, nes noriu įtvirtint pagrindinius konceptus. Vėliau planuoju pereiti prie kito (11-os klasės) uždavinyno, kurį ne per seniausiai užsisakiau. Taip pat dirbu papildomai ties loginiais uždaviniais;
    2. Gilintis į fiziką, kiek leidžia laikas. Spręsti uždavinius iš uždavinyno, stengtis pilnai suvokti konceptus, dėstomus pamokų metu;
    3. Pratęsti knygą: "C++ Primer (5th Edition)", tada žvalgytis į tolimesnes knygas, pateiktas čia;
    4. Sprendinėt algoritminius uždavinius iš LeetCode, Project Euler, LMIO, Rosetta Code.

 

P.S. Mod'ai, perkelkit į https://www.supergames.lt/forum/298-programavimas/, jeigu galit.

Redaguota , nario hugegoofus
  • Teigiamai 5

Dalintis šį pranešimą


Nuoroda iki šio pranešimo
Dalintis per kitą puslapį





prieš 9 valandas(-ų), Javier'M parašė:

Ačiū, tikrai pravers.

Beje, pridėk dar Codingame prie sprendimų - čia reikia programuot žaidimukuose, kad nugalėtum bosą ir kilti divizijose(yra įvairių).

Kitame forume jau teko vienam atsakyti, kad jeigu ne paviršutiniškai, o rimtai žiūri į programavimą, nesilankyk tokiuose dalykuose, nes čia tik aprodo įvairius konceptus, bet į juos nesigilina. Į šitą tinklalapį gali užeit, jeigu dar nesi pradėjęs normaliai domėtis programavimu ir nori sužinoti ar išvis vertėtų pradėti. Kitu atveju, siūlyčiau jį praleisti pro akis ir eiti prie knygų, nes jos yra parašytos ir įvertintos profesionalų, kurių patirtis tikrai nėra vienametė.

prieš 7 valandas(-ų), sanchezz parašė:

Vaizdo rezultatas pagal užklausÄ âspiderman memeâ

um, irony? jeigu taip, tai aš niekur neužsiminiau apie konkretų subjektą, o tiesiog daviau bendrus patarimus (pabrėždamas, jog juos vertėtų vertinti kritiškai), kurie yra visuotinai priimtini.

  • Teigiamai 1

Dalintis šį pranešimą


Nuoroda iki šio pranešimo
Dalintis per kitą puslapį


Komentuoti gali tik prisijungę nariai

Jeigu turite paskyrą, prisijunkite

Sukurti paskyrą

Sukurkite paskyrą mūsų forume

Registruotis

Prisijungti

Turite paskyrą? Prisijunkite

Prisijungti dabar

  • Narių peržiūri šį forumą:   0 nariai

    Nėra registruotų narių peržiūrinčių šį forumą.

  • eneba
  • eneba
  • eneba


  • SuperGames programele
  • SuperGames programele


×