Programozni szeretnék. Hogyan kezdjem?
14 éves vagyok. Szeretném a jövőmet a gépeknek szentelni.Értek is hozzá. Szeretnék megtanulni programozni. Hallottam ,hogy erre a célra nagyon jó OS lenne az Ubuntu. Hogy kezdjem és mivel ?
UI. A programozási nyelv lehet c, c++ stb.
Ha 14 éves vagy, akkor elég sok lehetőséged van, lévén még elég fiatal az agyad, és a középiskola kiválasztása is valószínűleg még előtted áll (hacsak nem egy ilyen egybeszutyok suliba jársz).
Lehetőleg matematika tagozatos gimnáziumba, vagy műszaki középiskolába jelentkezz, ahol van programozás fakultáció, vagy ilyen irányú szakképzés.
A főiskola/egyetem még elég messze van (bár ki tudja), de érdemes az ELTE IT felé kacsingatni már most.
Netről pedig addig is beszedheted az alapot, vagy legalább megismerkedhetsz a programozás alapjaival. Tutorial rengeteg van, csak keresni kell, a gugli meg ugye a haverunk...
Nézd el nekem, hogy játékfejlesztés fejé hajlik a dolog, de itt mindenki Crysis 26-ot akar írni.
Szépen sorjában így lenne illő haladnod:
- Fogadd el a gondolatot, hogy vannak keresők (pl. Google, Bing) a világban, tanuld meg használni (mert még megtaláltad volna ezt a válaszomat is, mert már vagy 500. alkalommal másolom be)
- Tanulj angolul, mert a dokumentációk is angolul lesznek
- Mi az a programozás, mire jó, miért jöttek létre a számítógépek?
- Tanulsz egy kis algoritmizálást, hogy pszeudokódban hogyan lehet megírni egyszerűbb programokat, megtanulsz egy-két vezérlési szerkezetet (ez ahhoz kell, hogy segítse a programozói gondolkodás kialakulását)
- Elsajátítod az egyszerűbb adatszerkezetek elvi működését (tömb, láncolt lista, verem, sor, hash tábla stb.)
- Választasz egy programozási nyelvet, mondjuk kezdésnek a Pythont szokták ajánlani a leggyakrabban. No, én azért ajánlom ezt a nyelvet neked, mert rákényszerít, hogy olvasható, jól tagolt kódot írj.
- Hello World
- Kifejezések, utasítások
- Változók
- Egyszerű beolvasás konzolról
- Vezérlési szerkezetek
- Előre megírt függvények használata
Most tartunk ott, hogy meg tudsz írni egy "gondoltam egy számot, találd ki" játékot
- Függvények, eljárások írása
- Karakter/stringkezelés
- Fájlkezelés (szöveges és bináris)
Már meg tudsz írni egy Legyen Ön is Milliomost konzolosan
- Új programnyelv választása, ha olyat választottál először, ami nem tud OOP-t. Itt már erősen ajánlom a C#-pot, mert kezdők könnyen tudnak vele ablakos progikat készíteni mindenféle segédeszköz (pl. Qt) nélkül. [Java téren a Swing-et próbáltam eddig, és hát meg is van a véleményem róla...]
- OOP alapelvek megismerése
- Eseményvezérelt programozás, egyszerű ablakos szoftverek készítése
- XML, JSON állományok létrehozása és feldolgozása
- Egy RDBMS rendszer megismerése (pl. MySQL, Microsoft SQL Server, Oracle...)
- Több szálon futó programok, párhuzamosítás
- Hálózati alapismeretek elsajátítása, főleg TCP és UDP
- Hálózaton kommunikáló programok írása
Már mehet a felhasználóbarát ablakos kvízjáték hálózaton multiplayerben
- Matematikai ismeretek elsajátítása, vektorok, mátrixok, koordinátageometria, koordinátatranszformációk mátrixokkal
- Számítógépi grafikai ismeretek, hogyan rajzol ki a gép egy pontot, vonalat, görbét, Window to Viewport transzformáció, 3D-s objektum leképezése 2D síkra, stb.
- DirectX vagy OpenGL közül választasz egyet
- Megpróbálod alkalmazni a grafikai ismereteidet
- Felhasználói interakció kezelése
- Textúrázás
És, már mehet a már immáron grafikus kártyát kihasználó multiplayer Pong vagy valami platformjáték
- Egyszerűbb 3D-s objektumok rajzolása, animálása
- Összetettebb 3D-s világ létrehozása
- Megpróbálsz megírni egy egyszerűbb grafikus motort (hogy lásd a lelki világát mondjuk a CryEngine-nek)
És már meg tudsz írni elméletben egy WoW-ot (csak épp egyedül kevés vagy hozzá).
Ha a játékban ellenséget is akarsz magadnak, akkor ismerkedj meg a mesterséges intelligencia alapjaival, hogy hogyan írunk le egy problémát (állapottér-reprezentáció), hogy milyen algoritmusok segítségével lehet utat találni a kezdetektől a célállapotig (erre jók a megoldáskeresők, pl. próba-hiba, hegymászó algoritmus, backtrack algoritmusok, ág és korlát, A, stb.), és ismerkedj meg a lépésajánló algoritmusokkal (minimax, negamax), amik egy adott állapotra meghatározzák a létező legjobb lépést.
Üdv, egy harmadéves programtervező infós hallgató.
#5-ös, ez a válaszod annyira lényeg-kimerítő volt, hogy egy kérdést engedj meg nekem: melyik egyetemen tanulod mindezeket? Mert oda én is mennék! :)
Elnézést kérek az off-ért :)
A Debreceni Egyetemen. Nézz szét ezen az oldalon, itt gyűjtjük a jegyzeteket, ZH-kat és vizsgákat, szóval kapsz egy képet arról, hogy mi folyik nálunk:
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!