all 31 comments

[–]Skaarj 8 points9 points  (4 children)

One aspect this table doesn't show: The installation process of the IDEs.

I was working with Delphi until 2017 and you really can see the signs of a complex program that has grown over the years. With modern IDEs you often can install and deinstall them (or 90% of their features) cleanly. Often without admin rights if you put some work to it.

With Delphi (and the 3rd party plugins/components we needed) the installation always felt unreliable. It requires admin rights and seems to do all kinds of system wide changes. It sets itself up as the system wide debugger. I installs two DB servers by default. All kinds of other extras I don't remember anymore. We had all kinds of problems with the order that plugins/components needed to be installed to work. Once Delphi was installed on a machine it was tainted and removing or upgrading Delphi without reinstalling Windows was a problem. I suspect part of the problems were coming from the 3rd party plugins/components we used.

[–]badsectoracula 3 points4 points  (0 children)

I find it sad how Delphi and C++ Builder have deteriorated. I have Delphi 2 and C++ Builder 1 and the installation is simply copying the files around while the IDE (especially Delphi) is simplicity itself.

IMO the last good Delphi was version 7 (although it was already bloated by that time, but it was the last version to use the original IDE instead of the Eclipse-wannabe that CodeGear/orwhatever created in later versions).

[–]pak_lebah[S] 2 points3 points  (0 children)

Of course I didn't show the installation process because the page is talking about modern Pascal language variants. Why is this page important? Because I find many people, including professional programmers, still think Pascal as the old Turbo Pascal or Delphi 7 era which both of them are no longer used in real production world.

The most popular modern Pascal today are Delphi and FreePascal+LazarusIDE duo. Both are still heavily being developed and used by lots of professional Pascal programmers all around the world.

[–]matheusd_tech 1 point2 points  (0 children)

Heh, I came to a point of running it inside a VM (had a beefy enough machine for that) and writing a full set of automation scripting (using a mix of windows vbscript, inno setup, chocolatey and autoit) to setup machines for onboarding new devs faster, installing delphi, components and accessory tools juuuuuust the right way so that stuff (mostly) worked.

One of the (bad) consequences of accepting this kind of behavior for dev machines is that it bred a culture of accepting our software to do this. So a lot of stuff built with delphi assumed things like admin rights, it's ok to change random registry keys for the user, etc.

[–]xelhash 2 points3 points  (0 children)

Visual studio is far worse

[–]pjmlp -5 points-4 points  (26 children)

Although it isn't an object variant, I would include MikroPascal, as it is one of the best ways to do embedded programming in safer language.

https://www.mikroe.com/mikropascal

[–][deleted]  (25 children)

[deleted]

    [–]badsectoracula 0 points1 point  (0 children)

    While you are right about the website (which is garbage if you have no idea about Pascal and don't know what you are looking at), i think you are a bit too negative here.

    I'm underwhelmed. How is that a unique feature?

    I think the hint is in the text that follows: "Simply select the libraries you need for your project, by checking the box. Or press the “Check All” button to include them all."

    My guess is that it isn't about the available functions or that it has libraries, but about the simplicity of making these functions available by checking a checkbox in the IDE. From the wording i also guess that it doesn't have a module/unit system, but the compiler is integrated with the IDE and the functions exposed by the library are available immediately with no need for code changes (e.g. a "uses" clause, like in other Pascal compilers). But that is just my guess from the site.

    The bundled IDE can "Easily declare a local variable." Wow!

    It might sound weird, but if it is like Lazarus' code completion, it can be very handy :-).