Kezdőoldal » Számítástechnika » Programozás » Hol lehet a legjobban megtanul...

Hol lehet a legjobban megtanulni a programozás alapjait?

Figyelt kérdés
Programozó szeretnék lenni,de azt hallottam hogy a programozás alapjait otthon kell megtanulni,tudnátok segíteni? (Egyedül a C# alapjait tudom csak)

2016. júl. 24. 21:10
 1/10 |Orfeusz| ***** válasza:
100%

Könyvből elég jól lehet tanulni. E-book formában praktikus, van egy csomó ingyenes könyv is. Nem kell a legjobbat megtalálnod, elég egy jó könyvet elkezdened. A jövőben még úgyis sokat olvasol, hallasz a témáról, most csak az a lényeg, hogy kezdd el!

Én Pythont kezdtem, szerintem kezdésnek jó, mert könnyű vele programot írni, van vele sikerélmény :) És van hozzá nagyon jó támogatás a neten, elég csak rákeresni a problémára.

2016. júl. 24. 21:17
Hasznos számodra ez a válasz?
 2/10 A kérdező kommentje:
Köszi ment a zöldpacsi esetleg nem tudsz ilyesmi könyv címeket?
2016. júl. 24. 21:20
 3/10 anonim ***** válasza:

Legjobban felsőfokú intézetben, de ott is csak tényleg az alapokat.

Ehhez tudod bővíteni a tudásod, és lehetsz egy jó Junior fejesztő a tanfolyam végére.

2016. júl. 24. 21:20
Hasznos számodra ez a válasz?
 4/10 Hominida ***** válasza:
Ha a C# alapjait tudod, akkor már a programozás alapjait is tudod. A többi már csak további építkezés, meg rutin megszerzése.
2016. júl. 24. 21:26
Hasznos számodra ez a válasz?
 5/10 A kérdező kommentje:
Illetve kapizsgálom, nem tudom
2016. júl. 24. 21:42
 6/10 Hominida ***** válasza:
:-) Ha már írtál bármilyen egyszerű, működő programot, akkor a lényeget már ismered. A mindenkori cél a feladat felbontása kisebb részfeladatok sorozatára, azok tovább bontása végső soron olyan kis lépésekre, amelyek mindegyikét meg tudod oldani egy-egy utasítással. Ehhez ismerni kell a változók és tömbök kezelésének lényegét, az elágazás és ciklus értelmét. A mostani divatos nyelvek többségénél szükséges annak a megértése is, hogy változók helyett 'objektumok' és azokon végzett műveletek használatára hogyan lehet a feladatot lebontani; ez a "Visual" nyelvekben jobban adódik. El kell tudni képzelni, hogy a felhasználó hogyan fogja a program szolgáltatásait használni, ennek csúcspontja lesz, amikor eléred, hogy a felhasználó már ne tudjon olyan melléütést vagy eltévedt kombinációt kiagyalni, amire a programod nincs felkészítve. A többi már csak gyakorlás.
2016. júl. 24. 23:55
Hasznos számodra ez a válasz?
 7/10 A kérdező kommentje:
Valaki egy jó pdf-et nem tud? Köszi mindenkinek
2016. júl. 25. 18:33
 8/10 anonim ***** válasza:

Ha már belekezdtél, akkor csak ajánlani tudom, hogy folytasd ezt a nyelvet. :)


Személyes tapasztalatom, hogy valóban nem a suliban fogsz igazán megtanulni programozni, sőt, nem is feltétlenül a könyvek juttatnak haladóbb, vagy expert szintre.


Az én történetem olyan, hogy saját fejjel futottam neki. Bár a középsuliban 4.-ben ezt a nyelvet tanultuk, ott vajnyi kevés dolog ragadt rám. Viszont mindig volt egy nagyobb célom, mégpedig az, hogy én játékfejlesztő szeretnék lenni, és úgy láttam, hogy a C# nyelv áll legközelebb hozzám. Nem célszerű rólam példát venni, de nálam pont az hozott érdemleges haladást az önszorgalmi tanulás folyamán, hogy egyből nagy dolgokat akartam véghezvinni. Ez abban nyilvánult meg, hogy a konzolos aplikációkat alapból hagytam, és egyből WinForms meg XNA volt, ami érdekelt (utóbbi már MonoGame, és egy játékfejlesztő lib C#-hoz). Mivel vizuális típus vagyok, nekem egyből látható és kézzel fogható eredményekre volt szükség, hogy meghozza a kedvem a tanuláshoz. Csak a legvégén jutottam el oda, hogy bájt szinten is tudjam kezelni a változókat, és akkor jöttem rá, hogy valójában a nehezebbjéről jutottam el végül a legalapvetőbbig. :D


Ezektől eltekintve mindeképp fontosnak találom, hogy el tudd dönteni, melyik az az irány, amit képezni szeretnél leginkább az alapok mellett. Mert ez lehet adatbázisok, komoly matematikai vagy fizikai számítást igénylő programok, hangvezérlés, egyszerűbb irodai program, vagy akár játék is (utóbbiban az a jó, hogy több mindenhez értened kell). Tehát fontos, hogy valós célod legyen a programozással, mielőtt nekiállsz. Lesznek pontok, ahol úgy érzed, hogy számodra ez lehetetlen, és nem tudod megérteni akár a kész megoldásokat sem. Nálam pl. leginkább az éppen adott probléma hozta mindig leghatékonyabban és leggyorsabban a vele járó megoldást. Én célszerűbbnek tartom azt, ha saját fejeddel vágsz bele egy adott probléma megoldásának, vagyis megpróbálod a legalapvetőbb műveletekkel megírni azt a függvényt, amire szükséged van. Utána tudod lassan csiszolni, egyszerűbbé vagy hatékonyabbá tenni. Majd később összetettebb algoritmusoknál figyelni kell a RAM és a CPU használatát is a Feladatkezelőben, mert megesik, hogy bár egy egyszerű kis program, ami kb. az 1x1-et számolja, valójában marha nagy memóriát eszik, vagy fullon pörgeti a processzort. Itt rögtön meg kell állni, és megnézni, hogy mi okozza ezt, és javítani a fölösleges számításokat, ha csak van rá lehetőség. Azt kell mondjam, hogy elég sok idő ez. Lesznek olyan kódok, amiket egész egyszerűen nem fogsz érteni egy adott fázisban, majd ami pl. nálam történik sokszor, hogy ilyenkor ezt a bonyolult problémát félreteszem, és csinálok valami mást, ami jobban megy. Később, akár fél-egy évre rá újra előveszem a nehezebbet, és lám, már értem, hisz az agyam képes volt időközben fejleszteni önmagát, úgy, hogy nem is tudtam mikor. Mindenképp fontos, hogy legyenek kisebb-nagyobb sikerélményeid. Bár szégyen amit most írni fogok, nekem a legnagyobb problémát a példányosítás, pontosabban az adott osztály példány sokszorosítása, majd azok lekezelése megfelelően egy for vagy foreach ciklusban. Egy for ciklus mint később kiderült a maga módján banálisan egyszerű, de amíg nem tudják az oktatásban ezt kellőképpen elmagyarázni, nem tudod vizuálisan magad előtt elképzelni, hogy mégis mi a ráknak az az 'i' nevű index, miért kell valahányszor lefusson ugyanaz a művelet benne, addig nem sok értelme van a programozásnak. Legjobb, ha megpróbálsz saját fejeddel rájönni, mert az bár hosszadalmasabb és kínkeservesebb út, de sokkal nagyobb, mélyebb nyomot hagy az elmédben, hidd el, ez tapasztalat. Na ezt jól elhúztam. A C# alapvetően egy nagyon barátságos nyelv, sok mindent a az ember feneke alá tesz, főleg akkor, ha pl. matekos számításokhoz kell valami képlet (bár utóbbiak nem az én erősségeim), vagy ha kirajzolást kell végrehajtani, esetleg hangot, zenét megszólaltatni, vagy egyszerűen a grafikus gyorsítóra is szükséged van, mint az OpenGL vagy a DirectX (utóbbira mondom jó a MonoGame, ami régen XNA volt, ezzel bár 3D-t nehezebben, de 2D-s játékot már egészen egyszerű írni vele). Akkor ott van még a hálózati része a szakmának. Mondanom sem kell, nekem eddig ez a legösszetettebb része, pedig ebben a nyelvben még pont hogy sok mindennel nem kell foglalkozni. De mit ér manapság egy program, ha csak offline képes működni? Egyből jobb érzés magadnak is, ha tudod, hogy a hálózat segítségével bármilyen nyers adatot át tudsz juttatni egyik helyről a másikra, majd a program logikai részében, kliens oldalon te úgy értelmezel minden kusza számot, ahogy akarsz. Pl. hogy itt is példával éljek, a hálózatokban minden csupán nyers adat, a gépek kliens programja értelmezi úgy, ahogy akarja. Tehát egy szám, pl. 1 jelentheti simán az egyes számot is szó szerint, de jelentheti azt is, hogy 'A', vagy megszólaltat egy kész hangot a programban, vagy pedig egy játékban annak a jelzése, hogy hajtson végre egy olyan műveletet, hogy meghalt az adott játékos. Így elolvasva talán értelmetlen az egész, de aki egyszer megérzi a lényeget, annak később nagyon egyszerűen tűnhet a dolog.


Viszont a program logikai felépítése a lényeg, és ez a leglényegesebb része a programozásnak, ez egy olyan dolog, ami nyelvtől független, és mindenhol neked kell megírni. Én úgy kezdtem, hogy először csak létrehoztam statikusan szám, szöveg változókat, majd egy csomó feltételvizsgálatot végeztem (if, else, else if). Már csak ez a lépés magában sok mindent hordoz, hogy többet láss. Mondhatni, hogy a feltételvizsgálat a lelke mindennek, de ugyanígy a for ciklus is. Amikor nem több 100 meg 1000 sorban ellenőrzöd le kóddal ugyanazt a feltételt a különböző változóknál, hanem egycsapásra megoldod, egy ciklus végig megy automatikusan a műveleten, csak éppen mindig másik változót ellenőriz a memóriában. Ezek leginkább azok a pontok, amik elengedhetetlenek. Vagyis a feltételvizsgálat, a ciklusok, a tömbökbe, listákba való eltárolás, hogy aztán hivatkozni tudj rájuk, valamint egy osztály példányosítása, hogy mondhatni klónozni tudj egy adott akármit, csak különböző paraméterekkel. Húh ez elég kusza lett, csak most próbáltam mindent összeszedni, ami eszembe jutott így hirtelen. Én netes tutorialokból tanulok, a C# szerencsére bőségesen dokumentált, bár nem árt, ha alapszinten értesz valamennyire angolul, bár a kód sokszor többet mond minden szónál.


Remélem tudtam adni egy kis motivációs löketet. :)

2016. júl. 27. 03:10
Hasznos számodra ez a válasz?
 9/10 A kérdező kommentje:
Köszi sikerült :D Melyik videós csinál jó C#-os videókat? M1. hogy angol vagy magyar, alap szinten tudok angolul.
2016. júl. 27. 14:10
 10/10 anonim ***** válasza:
YouTube-on keress rá ozkari93 -ra, majd ott a lejátszási listában megtalálod. Hirtelen nem tudok mást, aki magyarul készítené, illetve volt egy, de annak a videói már nem elérhetőek a neten. Annyi, hogy tekints el a videóban látott fejlesztői környezettől, ennél már jóval újabb verziót illik feltelepíteni a Visual Studio -ból.
2016. júl. 27. 21:09
Hasznos számodra ez a válasz?

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!