( TCH | 2022. 05. 21., szo – 20:28 )

csak nem értem a motivációt mögötte

Próbáld ki, majd megérted. Megírod a programodat és utána lefordítod oda, ahova akarod (már, ha támogatva van az az OS/CPU). Nem kell portolni, csak simán fordul (ritka kivételektől eltekintve). macOS, Linux, BSD-k, Solaris, mindenféle egzotikus platform és persze windows is.
A kapott kód sebessége nagyságrendekkel jobb, mint a manapság divatos nyelvekben írtaké, nem sokkal marad el a C++-ban írt kódoktól, sőt, adott esetben előzi is őket. (A C-nél már nagyobb az olló.) A függőségek integrálása miatt kapott bináris ugyan eleinte nagynak tűnhet az alaphangon 2 MB-tal, úgy, hogy még "nincs benne semmi", de amikor már egy elég komplex alkalmazást írtál meg benne és még mindig 4 MB alatt vagy, akkor már egyértelmű, hogy távolról sem egy bloatware-generátorról van szó...és mivel a függőségek nagy része be van építve a binárisba, ezért tkp. a GUI toolkit kivételével nem függ kb. semmitől. Maga a FreePascal is olyan binárisokat forgat, ami elfut egy csupasz kernelen, nem kell neki sem libc, sem semmi.
Apropó GUI toolkit: megírod az alkalmazásodat és egy mozdulattal forgatod le GTK1, GTK2, GTK3, Qt4, Qt5, Carbon, Cocoa, MUI és még a jóég tudja miféle bindinggel, nem kell neked megcsinálni a különféle bindingeket, mint C/C++ alatt, hanem egyszerűen oda fordítja az LCL hívásokat, ahova kéred. (Sajnos XForms, Motif, GNUStep és Qt3/TQt támogatás nincs még.)
Még GUI: Lazarusban pillanatok alatt lehet összekattingatni a legkomplexebb GUI-kat is, nem kell kínlódni a layoutokkal, minden összerakható, mozgatható, beállítható és felprogramozható vele. (Na, hát majdnem minden.) Pár éve a Qt5 GUI szerkesztőfelülete még sokkal gyengébb volt, mint a Lazarusé.
És a fordítási sebesség is nagyon jó: az én tíz éves gépemen egy komplexebb alkalmazás 2-3 másodperc alatt lefordul vele; ugyanez a hasonló volumenű C/C++ programoknál perceket jelent.

Nos, ez a motiváció mögötte. Egy nagyon jól kitalált és nagyon jól megvalósított nyelv, fordító és ökoszisztéma, amiben élvezet fejleszteni és élvezet használni a végeredményt is.

Amikben gyengébb, mint a C/C++, az az abszolút kódsebesség, a bináris mérete (bár C/C++ esetén a külső a függőségek miatt ez csalóka) és hát en-bloc a hordozhatóság, hiszen C/C++ mindenre van, még kenyérpirítóra és öngyújtóra is, Pascal meg nincs. Valamint az, hogy több nagyságrenddel kevesebb ember használja. Ez persze már nem magának a nyelvnek/ökoszisztémának a hibája, csak ha bajod van, akkor kevesebb eséllyel találsz rá megoldást a neten és ha van egy Pascalos rendszered, akkor kevesebb eséllyel találsz rá embert is.
Viszont cserébe a Pascalosok centralizáltabb közösséget alkotnak; míg a többi nyelvnek nincs defacto fóruma, addig a FreePascal/Lazarusnak van, ott tömörül a Pascal userek többsége és ott a legtöbbször tudnak rajtad segíteni, ha bajod van, bár sajnos nem mindig. (A másik ilyen centrum az Embarcadero fóruma, azzal még nincs tapasztalatom, ott a Borland Pascal/Delphi userek tömörülnek, bár egyébként az átfedés viszonylag nagy, mind a felhasználók, mind a két nyelv/ökoszisztéma között, de nem 100%.)