50 HÉT, 50 NYELV
Rengeteg kiváló és csodálatos nyelv létezik a programozás világában. Mindegyiknek megvan a maga erőssége, gyengesége, és egyedi felhasználási területe. A legtöbbjüket soha nem fogom használni a munkámban, de ez nem jelenti azt, hogy ne lenne érdemes megismerni őket. A világ gyorsabban változik, minthogy megengedhetném magamnak a szoftveres "csőlátást". Kitaláltam hát egy izgalmas tervet: 2026-ban minden egyes héten előveszek egy számomra teljesen új, vagy ritkán használt programozási nyelvet, és készítek benne valami kézzelfogható dolgot. Nem csak elméletben barátkozom velük, hanem élesben, a billentyűzetet koptatva. Nézd meg, hogyan sikerült ezt megugranom, milyen appok születtek a kezeim alatt, és mi az a tanulság, amit levontam ebből a mentális maratonból.
A kódokat megtaláljátok a Duckydev Github oldalán.
A futtatható állományokat pedig eléritek a Letöltések oldalon.
A kódokat megtaláljátok a Duckydev Github oldalán.
A futtatható állományokat pedig eléritek a Letöltések oldalon.
8. hét: SQL - EVA és JSON unpivot kódok
Az SQL (vagy másképpen SeQueL) nem egy szokásos programozási nyelv, a nevének jelentése: Structured Query Language, tehát ez egy ún. lekérdező nyelv. Ezzel beszélgetünk az adatokkal teli óriási táblázatokkal.
A SQL segítségével létrehozhatunk adatbázisokat, táblákat, és természetesen lekérdezhetjük, módosíthatjuk vagy törölhetjük az adatokat. Az SQL szabványosított nyelv, de különböző adatbázis-kezelő rendszerek (pl. MySQL, PostgreSQL, Microsoft SQL Server) saját kiterjesztéseket is hozzáadhatnak.
A heti kód a kezdők számára lehet érdekes: kulcs-érték párokból képzünk táblát, dinamikusan, futás közben. Ez akkor hasznos, ha pl.: JSON adatokat kell feldolgozni, és nem tudjuk előre, hogy milyen mezők lesznek benne.
A SQL segítségével létrehozhatunk adatbázisokat, táblákat, és természetesen lekérdezhetjük, módosíthatjuk vagy törölhetjük az adatokat. Az SQL szabványosított nyelv, de különböző adatbázis-kezelő rendszerek (pl. MySQL, PostgreSQL, Microsoft SQL Server) saját kiterjesztéseket is hozzáadhatnak.
A heti kód a kezdők számára lehet érdekes: kulcs-érték párokból képzünk táblát, dinamikusan, futás közben. Ez akkor hasznos, ha pl.: JSON adatokat kell feldolgozni, és nem tudjuk előre, hogy milyen mezők lesznek benne.
7. hét: VBA - Smart DMS dokumentumkezelő
A héten csalok egy picit: eredetileg a VB.NET lett volna terítéken, de korábban már foglalkoztam a C#-al, ami hasonló, de modernebb eszközöket kínál, így úgy döntöttem, hogy inkább a VBA-t veszem elő. A Visual Basic for Applications a Microsoft Office alkalmazások beépített programozási nyelve, amely lehetővé teszi az automatizálást és a testreszabást. Bár a VB-hez hasonló szintaxissal rendelkezik, a VBA kifejezetten az Office környezetére van optimalizálva.
Annak ellenére, hogy egy elég régi, és korlátolt nyelvről van szó, még mindig nagyon hasznos lehet, különösen azok számára, akik gyakran dolgoznak Excel, Word vagy Access dokumentumokkal. A VBA segítségével automatizálhatjuk a monoton feladatokat, létrehozhatunk egyedi funkciókat és makrókat, amelyek növelik a hatékonyságot.
Azt akartam megmutatni, hogy egy egyszerű dokumentumkezelő rendszert is össze lehet dobni vele, ami képes kezelni a fájlokat, kategóriákba sorolni őket, és keresni közöttük. Ez különösen hasznos lehet kisebb vállalkozások vagy egyéni vállalkozók számára, akik nem akarnak bonyolult szoftvereket használni a dokumentumaik kezelésére.
Annak ellenére, hogy egy elég régi, és korlátolt nyelvről van szó, még mindig nagyon hasznos lehet, különösen azok számára, akik gyakran dolgoznak Excel, Word vagy Access dokumentumokkal. A VBA segítségével automatizálhatjuk a monoton feladatokat, létrehozhatunk egyedi funkciókat és makrókat, amelyek növelik a hatékonyságot.
Azt akartam megmutatni, hogy egy egyszerű dokumentumkezelő rendszert is össze lehet dobni vele, ami képes kezelni a fájlokat, kategóriákba sorolni őket, és keresni közöttük. Ez különösen hasznos lehet kisebb vállalkozások vagy egyéni vállalkozók számára, akik nem akarnak bonyolult szoftvereket használni a dokumentumaik kezelésére.
6. hét: JavaScript - ClutterKiller
A JavaScript a modern web lelke, szinte minden weboldal használja. Nem véletlenül, hiszen remekül alkalmas a site manipulására. Kliens oldali nyelv, ami a böngészőben fut, tehát a fejlesztéshez nem kell telepíteni semmit, és azonnal láthatóak az eredmények.
A Node.js segítségével akár szerver oldalon is futhat a kód, így elérhetővé válnak olyan műveletek, amiket a klienseken biztonsági okokból nem engedélyeznek, mint pl.: fileműveletek (másolás, törlés, létrehozás, módosítás). Az Electron keretrendszerrel pedig asztali alkalmazásokat is készíthetünk.
Sokszor láttam már, hogy a felhasználó megnyitja a különféle táblázatokat, dokumentumokat, prezentációkat, egyszerre akár 10-15 ablakot is. Arra gondoltam, biztos hasznos lenne egy olyan app, ami figyelmeztet, hogy "xy" process már régóta fut, mégsem dolgoztunk vele az elmúlt 1 órában (ez szabadon beállítható).
A Node.js segítségével akár szerver oldalon is futhat a kód, így elérhetővé válnak olyan műveletek, amiket a klienseken biztonsági okokból nem engedélyeznek, mint pl.: fileműveletek (másolás, törlés, létrehozás, módosítás). Az Electron keretrendszerrel pedig asztali alkalmazásokat is készíthetünk.
Sokszor láttam már, hogy a felhasználó megnyitja a különféle táblázatokat, dokumentumokat, prezentációkat, egyszerre akár 10-15 ablakot is. Arra gondoltam, biztos hasznos lenne egy olyan app, ami figyelmeztet, hogy "xy" process már régóta fut, mégsem dolgoztunk vele az elmúlt 1 órában (ez szabadon beállítható).
5. hét: C# - BOM építő app
A C# lett a Microsoft válasza a Java-ra, és sokáig a "Windows-os nyelvnek" csúfolták. Egyfajta hibrid, mert egyesíti a C++ erejét a Java egyszerűségével. Ráadásul ott van mögötte a .NET keretrendszer: mindenre van benne kész megoldás, legyen szó adatbáziskezelésről, titkosításról, vagy akár webes kommunikációról.
Készíthetünk vele modern vállalati alkalmazásokat is, WPF (vagy régebbi rendszerek esetében WinForms) technológiával. Az ASP.NET az egyik leggyorsabb megoldás API-k és weboldalak kiszolgálására. Ráadásul, mivel Microsoft termék, így az Azure felhőben mindent "első kézből" támogat.
Most egy BOM építő alkalmazást készítettem vele, a UI-t a WPF adja. Azoknak lehet ez jó, akik elemekből építenek fel termékeket, vagy szolgáltatásokat. Könnyen látható az egész fa struktúra, és mellette a költségeket is remekül kezeli.
Készíthetünk vele modern vállalati alkalmazásokat is, WPF (vagy régebbi rendszerek esetében WinForms) technológiával. Az ASP.NET az egyik leggyorsabb megoldás API-k és weboldalak kiszolgálására. Ráadásul, mivel Microsoft termék, így az Azure felhőben mindent "első kézből" támogat.
Most egy BOM építő alkalmazást készítettem vele, a UI-t a WPF adja. Azoknak lehet ez jó, akik elemekből építenek fel termékeket, vagy szolgáltatásokat. Könnyen látható az egész fa struktúra, és mellette a költségeket is remekül kezeli.
4. hét: Java - Kölcsönző alkalmazás
A Java mottója: "Írd meg egyszer, futtasd bárhol". A platformfüggetlenség sokak kedvencévé tette a nyelvet, hiszen a kód változtatás nélkül futtatható más gépeken és operációs rendszereken is, hála a JVM-nek, azaz a Java Virtual Machine-nek.
Rengeteg vállalati szoftver készül Java-ban, hiszen egyidejűleg akár több ezer tranzakciót is képes kezelni. A Google mára a Kotlint preferálja, de az Android alapjai és a Play Áruházban lévő alkalmazások jelentős része Java-ban készült (vagy Java alapú).
Én egy pici kölcsönző rendszert készítettem vele, ahol lehetőségünk van az eszközök, ügyfelek és természetesen a kölcsönzések rögzítésére. Azoknak lehet hasznos, akik nagyobb értékű gépeket, berendezéseket adnak bérbe.
Rengeteg vállalati szoftver készül Java-ban, hiszen egyidejűleg akár több ezer tranzakciót is képes kezelni. A Google mára a Kotlint preferálja, de az Android alapjai és a Play Áruházban lévő alkalmazások jelentős része Java-ban készült (vagy Java alapú).
Én egy pici kölcsönző rendszert készítettem vele, ahol lehetőségünk van az eszközök, ügyfelek és természetesen a kölcsönzések rögzítésére. Azoknak lehet hasznos, akik nagyobb értékű gépeket, berendezéseket adnak bérbe.
3. hét: C++ - Snake játék
A C++ elhozta azt, ami a legtöbb modern nyelv alapját képzi: az objektumokat. Olyan, mint egy versenyautó, amire robotkarokat és gépágyúkat szereltek. Bár nem a legkönnyebb nyelvek közé tartozik, mégis megéri foglalkozni vele. Az objektumok megfelelő használata elképesztően hasznos az üzleti életben, a folyamatok szervezésénél is.
Sebességének és a hardverközeli kontrollnak köszönhetően máig népszerű maradt. A közvetlen memóriakezelés és GPU/CPU optimalizálás lehetővé tette, hogy az egyik legnépszerűbb játékmotor, az Unreal Engine is C++-ban készült.
A snake nevű játékot szinte mindenki ismeri, a legtöbben talán a Nokia telefonoknak köszönhetően. Gondoltam jó buli lesz egy ilyet elkészíteni, még ha nem is használom ki feltétlen a C++ összes előnyét. A készítés során jól szórakoztam, élvezetes látni, ahogy blokkról blokkra épül fel a program.
Sebességének és a hardverközeli kontrollnak köszönhetően máig népszerű maradt. A közvetlen memóriakezelés és GPU/CPU optimalizálás lehetővé tette, hogy az egyik legnépszerűbb játékmotor, az Unreal Engine is C++-ban készült.
A snake nevű játékot szinte mindenki ismeri, a legtöbben talán a Nokia telefonoknak köszönhetően. Gondoltam jó buli lesz egy ilyet elkészíteni, még ha nem is használom ki feltétlen a C++ összes előnyét. A készítés során jól szórakoztam, élvezetes látni, ahogy blokkról blokkra épül fel a program.
2. hét: C - XOR titkosítás
A TIOBE index szerint még mindig a C a 2. legnépszerűbb nyelv a világon, annak ellenére, hogy a szintaxisa jóval szigorúbb, mint a Pythoné. Nincsenek kényelmes megoldások, ellenben sokkal többet megtudhatunk a memóriakezelésről, az erőforrásokkal való gazdálkodásról.
A C olyan helyeken szükséges, ahol a teljesítmény kritikus, mert kevés a rendelkezésre álló erőforrás, pl.: beágyazott rendszerek vagy a játékmotorok.
A XOR titkosítás nem túl bonyolult, de kellően hatékony lehet. A feladat egyszerű: a 0-kat 1-re, az 1-ket 0-ra cseréljük a titkosítókulcs segítségével.
A C olyan helyeken szükséges, ahol a teljesítmény kritikus, mert kevés a rendelkezésre álló erőforrás, pl.: beágyazott rendszerek vagy a játékmotorok.
A XOR titkosítás nem túl bonyolult, de kellően hatékony lehet. A feladat egyszerű: a 0-kat 1-re, az 1-ket 0-ra cseréljük a titkosítókulcs segítségével.
1. hét: Python - Sentiment Analysis
A Python kiváló kezdés mindenki számára, aki a programozás világával imserkedik. Egyszerű szintaxisa és széles körű alkalmazási területe miatt ideális választás volt az első hétre. Ebben a projektben egy Sentiment Analysis appot készítettem, amely képes megmondani egy szövegről, hogy az pozitív, negatív vagy semleges hangvételű-e.
Ismerem a nyelvet, oktatom is, de eddig inkább az adatfeldolgozás és gépi tanulás területén használtam. Azt kell, hogy mondjam, most sem csalódtam benne, a csomagok teleptésekor sem volt semmi gond, és a felhasznált textblob is éppolyan jól használható, mint más könyvtárak.
Hogy mire jó ez? Ahol pusztán csak a szöveges értékelés áll rendlkezésre, és nincs számszerűsített értékelés, szerintem ez a legjobb megoldás az elemzésre. Ugyanakkor a számok és csillagok mellé, kiegészítésként is remekül funkcionálhat. A Sentiment Analysis alkalmazások széles körben használatosak az üzleti életben és a közösségi médiában. Segíthetnek a vállalatoknak megérteni ügyfeleik véleményét, javítani a termékeket és szolgáltatásokat, valamint hatékonyabb marketingstratégiákat kidolgozni.
Ismerem a nyelvet, oktatom is, de eddig inkább az adatfeldolgozás és gépi tanulás területén használtam. Azt kell, hogy mondjam, most sem csalódtam benne, a csomagok teleptésekor sem volt semmi gond, és a felhasznált textblob is éppolyan jól használható, mint más könyvtárak.
Hogy mire jó ez? Ahol pusztán csak a szöveges értékelés áll rendlkezésre, és nincs számszerűsített értékelés, szerintem ez a legjobb megoldás az elemzésre. Ugyanakkor a számok és csillagok mellé, kiegészítésként is remekül funkcionálhat. A Sentiment Analysis alkalmazások széles körben használatosak az üzleti életben és a közösségi médiában. Segíthetnek a vállalatoknak megérteni ügyfeleik véleményét, javítani a termékeket és szolgáltatásokat, valamint hatékonyabb marketingstratégiákat kidolgozni.