Egy olyan embernek, aki még nem programozott ajánljátok egyből a c++-t?
" de ezt használják a legtöbbet is."
Nemigaz.
Isten őrizzen C++-szal kezdeni. Az életkedve is elmegy az egésztől az embernek. Mások azt mondják, hogy tanulj Pythont. Amit én is ajánlanék abból a szempontból, hogy megtanít téged a kód indentálására, vagyis rákényszerít arra, hogy átlátható kódot írj. Amiért én mégsem ajánlom a Pythont, az az, hogy dinamikus a típuskezelése. Ez annyit jelent, hogy egy változódban akármilyen típusú adatot eltárolhatsz, mondjuk így:
a = 5
a = "szöveg"
Emiatt később rossz lesz átállni egy olyan nyelvre, ami megköveteli a típusosságot:
int a = 5;
a = "szöveg"; - ilyet nem lehet
Én azt mondom, hogy inkább tanulj egy típusos nyelvet, pl. a Java vagy C#. Viszont, ha a cél mindenképpen a C++, akkor kezd egy sima C-vel. Csak a kódod tagolására figyelj majd oda.
Meg poénból bemásolom már 850. alkalommal is egy korábbi válaszomat:
Szépen sorjában így lenne illő haladnod:
- 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
- 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
- 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á).
Kezdhetsz C++ is, ha ár az elején elmegy a kedved az egésztől, akkor bármelyik másik nyelv esetén is elmenne.
A C valóban nehéz, de ettől jó tanuló nyelv mert ad egy hardver közeli szemléletet. A C++ ettől kicsit nehezebb mert pluszban multiparadigmás nyelv, így rengetegféleképpen lehet használni ami megtévesztő lehet. A Python nagyon jó tanuló nyelv mert dinamikus, a gond az, hogy ha ezt megszokod nehezen állsz majd rá a natív nyelvekre, hiányozni fog a dinamizmus. De eleinte, kezdő szinten nem sok különbség van, ha valaki tanulni akar. Haladó szinten fontos a jó választás.
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!