Comment

Comment by djriley

I think Pascal, as in it's modern dialect Object Pascal used in Delphi and FPC/Lazarus is a sort of "hidden language". You won't see many big Open Source projects using it and there's only a handful of big commercial packages using it, but behind the scenes for domain-specific/in-house software it is used quite a bit. It allows small teams or individuals to very quickly put together software that is used by the business departments or engineering/technical with modern GUIs and good performance. It's exactly what it says on the package, "Rapid Application Development". Stuff like Rust and Go are great, but having to code out the entire UI by hand basically doubles the maintenance/development burden and requires a lot of knowledge about the widgetsets and their libs. QT Creator, Glade/Cambalanche, wxFormBuilder are nice, but there's a decoupling there that adds complexity and they all require C/C++ if you want native code. WinForms/WPF on .NET in Visual Studio probably come the closest to what you get, but it's mostly Windows specific and I wasn't able to pick it up easy like I was Delphi.

FPC and Lazarus are really amazing tools. FPC itself is quite a competent compiler with many available platforms including legacy platforms, Java VM, WASM. Very fast compilation, run time perf is not quite C++ especially with strings, but fast enough. Even Lazarus LCL programs are quite lean and efficient for what they are. The RTL/FCL are comprehensive with tons of functionality, things like string handling, containers, math, all there and everything you expect.

The killer app with Lazarus is it's cross platform GUI capabilities. The last release is still stuck on Gtk2, but trunk Gtk3 is default on Linux with QT5 and QT6 available, Cocoa, and Win32 and for the most part it just works. You build for GTK or Qt, you switch to Win32 and compile a native windows app. The RTL abstracts most of the OS stuff like file handling and threads, and the LCL handles the widgetsets. There's nothing else even close when it comes to cross platform development of desktop apps.

parent djriley 13 days ago

No comments yet

Be the first to share your thoughts.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton