( bzt | 2024. 04. 09., k – 18:39 )

Szerkesztve: 2024. 04. 09., k – 18:41

EREDMÉNYHIRDETÉS

Először is hadd köszönjem meg mindenkinek, aki vette a fáradságot és küldött be megoldást! Sokkal több érkezett be, mint vártam, és az külön örömömre szolgál, hogy nem HUP-os kollégáktól is érkeztek megoldások.

A teljes lista nyelvekre lebontva, ábécé sorrendben (zárójelben a beadott megoldások darabszáma):
- Assembly (1, referencia)
- C (3)
- C# (1)
- Go (1)
- Haskell (2)
- Nim (1)
- Pascal (1)
- Rust (2)
- Swift (1)
- Zig (1)

Meg kell, hogy mondjam, eléggé impozáns a lista, ezért a repót archiváltam és eltettem az utókornak, mert egy ilyen remek mintatár nem igazán van még. Ha nem felejtem el (majd emlékeztessetek), akkor egy év múlva szeretném újra elővenni, és megnézni, hogy az akkori legfrissebb fordítókkal mely források fordulnak majd le módosítás nélkül.

És akkor az eredményhirdetés: a kiírás szerinti feltételek alapján a nyertes a Pascal lenne, de sajnos diszkvalifikálnunk kell, mert róla már konkrétan tudjuk, hogy nem volt képes leváltani a C-t. Így a második befutóé az érdem.

Ez pedig nem más, mint Zig. Kis bináris, szép olvasható kód, tömör leírás (75 sor egyetlen fájlban), egyetlen speciális kulcsszó csupán (callconv(.C)), egyébként csak natív nyelvkészlet lett felhasználva a megoldáshoz. Ha valaha is elévül a C, akkor - a kiírás feltételei és a beérkezett megoldások alapján - ez a leváltására legesélyesebb nyelv (*) (**).

(*) - fontosnak tartottam kiemelni, hogy a kiírás feltételei alapján, mivel minden szempont nem lett figyelembevéve, nem is lehetett volna, hiszen eléggé eltérőek a nyelvek. Szerény véleményem szerint a valóságban mégsem lesz a Zig befutó, de olyan okok miatt, amelyeket ez a verseny nem tudott már vizsgálni (memóriakezelés vagy architektúralefedettség például).
(**) - nem volt érkezésem Zig fordítót telepíteni és letesztelni, ezért ha esetleg kiderülne róla, hogy áprilisi tréfa volt csupán, mivel április 1.-én lett beadva, akkor a nyertes automatikusan a Nim (szintén szép olvasható kód, de eggyel több speciális kulcsszó (cdecl., .exportc) és a kigenerált bináris is kevésbé optimális, 994 bájt vs. 14704 bájt).

Mégegyszer nagyon köszönöm az összes résztvevőnek a megoldásaikat! Roppant tanulságos repó született, ami remélem hasznára válik majd pár embernek a jövőben!