One could ask why not invest in https://www.lazarus-ide.org/ instead of commercial Delphi though?
Agreed completely!
Not only that, but an argument could be made that the TIME that a given body of source code takes to compile -- can have a huge impact (positive or negative) on programmer productivity...
Case in point: The Linux Kernel (written in C)...
You make a change, even a small one, and you're probably going to wait for HOURS for it to compile...
HOURS...
Before you can run it, to know what your change accomplished (or didn't accomplish!)...
HOURS...
If the Linux Kernel was written in Delphi, compilation would take no more than a few MINUTES, even on a modest machine, and possibly a lot less, possibly seconds, depending on the dependencies of the code that was modified...
That's the technological beauty of a single-pass compiler that caches precompiled source and its associated symbol tables (and only recompiles what's needed, only when it's needed)...
Which change-compile-test-feedback loop do you think would make a programmer more productive?
?
Hint: Even a non-programmer could easily know the difference...
Yes, there are languages which are more popular, more attuned to web development, more Lambda-esque in nature, and these things are virtuous, to be sure -- but in terms of raw compilation/run/test/change/iterate speed (aka productivity), Delphi smokes all of them...
For a programming job in the U.S., with many employers using differing technologies, it may be a loss, but for education, for the ability to learn how to think (as a programmer) and subsequently grow into other tools/technologies, it's a big WIN.
> You make a change, even a small one, and you're probably going to wait for HOURS for it to compile...
I've done this before. For a small change in a .c file, it takes less than a couple of minutes in a not-so-fast computer. It only has to recompile that .c file, do a partial link of the subsystem, do a final link of the whole kernel, and a few other auxiliary processing steps. It takes more time to reboot the machine or VM with the new kernel.
Even compiling the kernel from scratch is fast. Looking at a Phoronix benchmark (https://openbenchmarking.org/showdown/pts/build-linux-kernel), it takes less than 15 minutes on all systems tested. Some systems can compile the whole kernel from scratch in less than half a minute.
(note that i'm using Windows and mainly with my own projects and components and i only use the components that come with Lazarus)
Then why is it being used as a teaching language in many US schools?
https://www.apple.com/education/docs/everyone-can-code-curri...
A bit more relevant and marketable than Delphi. And with Swift playgrounds, students can even practice using an iPad.
- Because you still need to bill your customers even when the net is down or slow,
- It works faster and more reliable on old, low on memory PC that you probably have. Also can work with old printers, barcode readers and pretty much anything out there,
- Power of habit (a big deal),
- Don't want to keep your accounting details on a remote server. This is probably of less importance for restaurants, but very important point for various trading companies, as it's not uncommon for someone to bribe accounting firms to leak info on competition.
I was an early web developer who transitioned into a modern one as time passed but I've moved back to desktop application development as of late because that's what was hiring in my area at the time I was looking for a job and I simply am not married to a particular technology.
I'm not asking about why people are willing to do what their boss asks for or their customers offer to pay for.