Myslím, že je dobré posuzovat prostředí tím, jestli se někde skutečně používá.
Lazarus/free pasal se kupodivu používá, třeba u Double Commanderu (https://doublecmd.sourceforge.io/). Nyní se k němu znova vracím a koukám se jestli je to použitelné a jaké jsou tam chyby. Zatím jsem s Double Commanderem spokojen.
Ano, skutečně se používá a stále dost často, viz. např. odkaz přímo na jejich wiki:
https://wiki.freepascal.org/Projects_using_Free_Pascal
nebo tady:
https://awesomeopensource.com/projects/lazarus
Osobně používám Lazpaint, GHTopo, Skychart, Virtual Moon Atlas, Castle Game Engine a k zahození není ani Python4Lazarus. Existuje i účetní program Gestinux, který právě testuji (i když GUI vypadá slušně řečeno odpudivě). Zajímavě vypadá i embedeed prostředí pro RPi Ultibo Core.
Uvidíme, kam se bude další vývoj ubírat, autoři stále umožňují běh pod Win2000/XP, což je přinejmenším podivuhodné. Stále vychází aktuální Blaize Pascal magazín a oficiální fórum je velmi živé, takže přes veškeré problémy projekt stále žije a nevypadá, že by tomu v dohledné době mělo být jinak.
Mimochodem, tady jsou hezky popsané jednotlivé verze Free Pascalu i s jejich novými vlastnostmi:
https://www.duhoctrungquoc.vn/wiki/en/Free_Pascal
a pokud někdo stále čeká na nejnovější verzi nebo rád ty vývojové (v mém Archu je stále starší 2.0.12), je zde klikací možnost fpcupdeluxe.
Řetězec max. 255 (ne 256 pokud si dobře pamatuju) znaků je ještě z Turbo Pascalu, tj. 30 let stará věc. Už první Delphi mělo "dlouhé řetězce". Zase naopak, situace, kdy pro zjištění délky řetězce musím iterovat přes všechny znaky, až (možná) dojdu k nule, je taky nic moc. (tedy obě řešení na houby :-)
Inc() a Dec() je na hlavu, to zase jo.
Jasně, všechno má pro a proti, já jsem nechtěl vyloženě Pascal pomlouvat. Mně tam dost věcí nesedí, ale beru to i jako osobní preferenci - někdo má rád kávu a někdo čaj a je to i zvyk. Já jsem od (Turbo) Pascalu přešel k C, chvíli jsem byl z lecčehos otrávený, ale zvykl jsem si a něco mi přišlo lepší. Na druhou stranu ++i a i++ je v něčem taky peklo. V tom kódu Double Commanderu je explicitně zapnuté {$H+}, což by mělo znamenat, že to jsou AnsiStringy, tedy normální UTF-8 řetězec, jaký používáme běžně v "moderních" jazycích.
TC není celý v Lazarovi. 32-bit verze je stále v Delphi. 64-bitová verze je v Layarovi. Budu citovat pana Ghislera (autora TC):
"I didn't migrate to Lazarus, I'm still using Delphi for TC 32-bit. I'm using Lazarus for TC 64-bit because there was no 64-bit Delphi at the time when I needed to create a 64-bit version.
Lazarus works well, but the created EXE files are quite a bit larger. If you can afford Delphi, I recommend that you stay with it. Lazarus is a bit slower, but it's still fast enough to not slow down my workflow."