Ugrás a fő tartalomra

Bejegyzések

Python kezdőknek

Itt a nyár és mivel lehetne ezt a legjobban megünnepelni, mint egy kígyóról elnevezett programozási nyelv bemutatásával. Következőkben tehát a Python programozási nyelvről lesz szó és annak lehetséges alkalmazásairól.

Miért tartsunk otthon Python-t? Python pályafutása 1991-ben kezdődött el egy Guido van Rossum nevű fejlesztőnek hála, aki egy olyan általános programozási nyelvet akart készíteni, amit nagyon könnyen el lehet sajátítani és használni. Az elmúlt év tizedek alatt a Python nyelv az egyik legjobb és legnépszerűbb általános programozási nyelvé nőtte ki magát, amit bizonyít, hogy számos operációs rendszeren(linux, mac os) alapból megtalálható a nyelv. De nézzük meg, hogy mitől ilyen népszerű: Egyszerűség: A nyelvnek az egyik legnagyobb előnye, hogy nagyon egyszerű és ezért például nagyon sok egyetemen a kezdő programozó legényeket Python segítségével vezetik be a programozás világába.Dinamikus: Mint minden dinamikus nyelvnek úgy Python-nak is van egy beépített REPL-je, ami nagyo…
Legutóbbi bejegyzések

Objektum orientált programozás hiba volt

Egy szakmának a tanulás és tanulmányozása általában elég sok időbe és energiába telik, mivel általánosan elmondható róluk, hogy nagyon nagy és változatos tudás bázisra épülnek, ami folyamatosan fejlődik és bővül. Pontosan emiatt nehéz róluk általánosan beszélni, de ebben a bejegyzésben mégis meg próbálom ezt megtenni.

Alapok megrepedése   Majdnem minden mostani népszerű programozási nyelvnek az alapját az imperatív paradigma adja, ami nem meglepő hiszen annak idején nagyon fontos volt a gép közeli nyelvek használata annak érdekében, hogy minél jobb erőforrás kihasználást lehessen elérni. Viszont változnak az idők és ami régen jó megoldás volt az mára veszélyesé változott.
  Imperatív volt a legelső paradigma, amit megkérdőjeleztem, mivel van egy bizonyos tulajdonsága, ami egy olyan kétélű fegyver, ami jobban szeret minket megszúrni, mint magát a problémát. Itt side effect(vagyis mellék hatás)-ként ismert tulajdonságról beszélek. Mellék hatások abból a szempontból fontosak, hogy minden…

The walled city in your code

Walled cities have a really long history thanks to the fact that we love to kill each other for whatever reason. So city walls were a necessity from a very early history to modern times thanks to this fact. Of course a walled city also needs gates and guards who guard these gates and walls, so we feel a lot more safer. Nowadays we usual have fences, gates and security guards for the very same reason.
In this little post we will talk about when can our code feel a little bit safer.


An important lesson from Haskell You can learn a lot from a pure functional programming language like Haskell, because it makes us view and solve problems in a different way. For example Haskell considers every IO action dangerous, because it causes side effects and side effects can cause unforeseen errors. It’s also one of the most important from Haskell is to be wary of any IO action.


The outside world The outside world is dangerous, because you can caught a cold or get hit by a bus. The “digital” outsid…

Programozók nem tudnak bizonyitani

Ebben a kis bejegyzésben bizonyításról és annak szerepéről az informatikában lesz a téma.

Bizonyítás
  A bizonyítás nem más mint egy állítás helyességének az igazolása. Bizonyításokat a jó öreg ókori görög matematikusok találták ki és közülük is kiemelkedik Euclid munkája(Elemek).
Bizonyítások érdekessége, hogy készítésük során használhatunk bármilyen már bizonyított állítást, hiszen azoknak a helyességét már bizonyítottuk. Ezáltal a bizonyított állításokból még összetettbe állításokat tudunk megfogalmazni és bizonyítani.
  Bizonyítások szépsége, hogy megad egy biztos alapot, amire az ember építkezhet.

Félelem
  Eddigi tanulmányaim során mindig imádkoztam, hogy a matekos tárgyaknál ne legyen elvárás, hogy tudjam a bizonyításokat. Ami nem meglepő, mivel elég hosszúak voltak(tételhez képest), nehezen érthetőek és nem is értettem, hogy hogyan is csinálták őket. Nem is beszélve, hogy ha a bizonyítás nagyon informális volt, akkor a bizonyítás leírásából hiányozhatott néhány lépés, mert azok …

Funkcionális kirándulás

Az elmúlt hónapban végre rávettem magam, hogy belevessem magam a funkcionális programozás világába.
Úgy mondhatnám, hogy még az út elején vagyok, mert 1 hónap nem túl sokra ha csak néhány nap tanulgatja az ember, de arra bőven elég, hogy beszámoljak az élményeimről.

Persze jöhet a kérdés minek a tanulni funkcionális paradigmát, ha majdnem mindenhol objektum orientált paradigma a meghatározó. Erre a válasz pedig a fejlődés, ami programozás világában a legfontosabb tulajdonság. Eddigi tapasztalataim alapján 4 nagy mérföld kő van, amivel jó ha találkozik az ember fejlesztőként:

Első Hello World program futtatása.Valamilyen OOP nyelv elsajátítsa.Nagyobb projekt fejlesztése vagy/és egy könyvtár megírása.FP nyelv megtanulása. Belegondolva ezek a lépések számomra egymás következményei voltak. Ezt a 4. mérföldkövet azért tartom fontosnak, mert kirángat a megszokott közegből és rákényszerít, hogy új dolgokat tanuljak és a megszokott dolgokra is új szemmel nézzek.
Ezelőtt is voltak kísérleteim F…

Mi a vektor Viktor?

Újabb hosszú idő után eljött az idő, hogy újabb "tanulságos" blog bejegyzést írjak játék fejlesztés téma körében. Ahogy talán a címből kiderül vektorokról fogok mesélni, hogy micsoda és hogy mire lehet használni őket.
  Gondolom hozzám hasonlóan sokan vannak úgy, hogy amit az ember az iskola alatt tanul annak a nagy részét soha nem fogja tudni használni. Ez alól kivétel a vektor,  ha az ember játékfejlesztéssel foglalkozik. Játékfejlesztés egyik szépsége, hogy nagyon sok mindenre megtanít és megmutatja, hogy mire lehet a megtanult dolgokat használni.

Mi a vektor?
  Elég a szócséplésből és inkább térjünk rá a lényegre. A vektort gyakorlatilag 2 dolog alkotja: irány és mennyiség. Vektort gyakorlatban nyíllal szoktuk jelölni, ami egy kezdőpontból egy végpontba mutat és a menyisége pedig a nyílnak a hossza.

Na de mire jó ez a mi esetünkben?
  A játékok általánosságban akkor izgalmasak, hogyha mozognak benne a dolgok és ahogy fizikából megtanultuk, ahol mozgás van ott vektornak i…

Streameljük az állapotokat

Ezt a bejegyzést már jó ideje megakartam már írni,de valahogy sosem vett rá a lélek.
Ebben a bejegyzésben bemutatom az állapotgépemet, amit csináltam még anno a játék motoromhoz, mert elég érdekesen csináltam meg, mivel Stream-et használtam hozzá. Előbb viszont tisztázok néhány fogalmat.


ÁllapotgépAz állapotgép, ahogy a nevéből is kiderül egy olyan gép, aminek állapotai vannak. Ezek az állapotok között klasszikus értelemben van kezdő, aktuális és végállapot. Az állapotgép feladata, hogy események hatására egyik állapotból átmenjen egy másikba. A gép célja, hogy a kezdőállapotból eljusson a végállapotba.

Ez egy egyszerű kapcsolónak a diagramja.
Jól látszik az ábrából, hogy 2 állapot van, amikbe lehetünk. Kezdő állapot és végállapot nincs, de egy igazi rendszernél biztos a kikapcsolt állapot lenne a kezdő állapot. Események itt a kapcsoló használata, ami előidézi, hogy állapot váltás menjen végbe.
Aha, de mi köze van a játékfejlesztéshez? Játékokat általánosságban elég jól elkülöníthető á…