Live data from Hacker News

I come here not to bury Delphi, but to praise it (2019)

accu.org

71–80 of 113 posts

Re: I come here not to bury Delphi, but to praise it (2019)

#71

Perhaps unknown to the HN community is that C# periodically gets Delphi features reintroduced in it in one way or another. More recently, C# 9 and 10 have returned the concept of `records` (preferably immutable objects) along with the `with` keyword for making copies with some of the properties changed from the source to the dest object. It has been an interesting decade watching HN metaphorically (and sometimes lite…

When he adds metaclasses and Virtual Class Functions to C#, I'll say his migration of Delphi features is finally complete.

Re: I come here not to bury Delphi, but to praise it (2019)

#72
post #69

I know he's talking about Delphi here, but FreePascal+Lazarus is still one of my secret weapons. It has some sort of supernatural force field which causes people to ignore it and unfairly denigrate it; meanwhile I whip up desktop applications in hours that would normally take days.

The one negative I've found with Lazarus... And this is purely if you were someone coming from a Delphi background, or were planning on Lazarus being your "get out of jail free" card if [Embarcadero/(whoever owns it now)] decides to stop updating Delphi (and even then you could probably manage it's lack of updates for years, hell I stayed on Delphi 2007 for a good 8 or 9 years after XE, XE1, XE2 et al had been out)..…

> It's fine, it feels dated, going back to the original Delphi / VB style of RAD tool with form designer/code editor as floating windows etc.

Note that if you install the "anchordockingdsgn" and the "dockedformeditor" packages you will get a UI that uses a single toplevel window with all the previously floating windows being docked inside it (you can still un-dock them) and a form editor that is inside the window (without the "dockedformeditor" you can still get the single window for the IDE but form editing will happen in floating forms).

Personally i prefer the floating windows UI as i overlap windows a lot (and i'm used to it - also i have a dedicated virtual desktop for coding which helps), but there are enough people who prefer a single window UI that this should work without issues these days (it used to be somewhat very unpolished at the past, like installing the package and having a shotgun blast in the IDE panels :-P so you'd spend a few minutes moving and resizing the panels in sane places).

Re: I come here not to bury Delphi, but to praise it (2019)

#73
post #36

The no-circular-dependencies rule was a huge pain though. It allowed the compiler to be very fast (along with it basically not optimizing), but no other language has copied this because combined with weak to non-existent refactoring tools it was just a constant pain to be hitting this limitation whilst developing. Sure, if you're an architecture god who plans out all their internal interfaces in advance on paper it w…

> The no-circular-dependencies rule was a huge pain though. It allowed the compiler to be very fast (along with it basically not optimizing), but no other language has copied this C++20 Modules, .NET Assemblies, D modules, Ada packages, and plenty of other othes. Also, Turbo Pascal did indeed allow for circular dependencies between units, as long as the related uses statements were written in the implementation secti…

Yeah, this... You can have circular dependencies, as long as it is in the implementation only. Takes some thought on interface definitions to avoid these things. Sometimes it's a real pain.

There's also the issue that when you split out units, and then you have a user who wants to consume say, a library you've written, you then have to document "Ok, to use this you have to use X, Y, and Z units for type definitions"

A better approach is to have a single "entry point" unit if you will, that simply re-declares all of the types from the X,Y,Z units, so that when you go to use the code you've written, you only have to import W, and get all the type defs already. (Hard to explain what I'm talking about I guess)

Re: I come here not to bury Delphi, but to praise it (2019)

#74
post #2

BEGIN Delphi was what I had to use in my first apprenticeship/job, over 7 years ago now. Came home after the first day and my dad told me that's what he made his first Windows programs with, too - but 25+ years ago! After learning other languages, I still have to say it's great for quickly putting together GUIs and filling them with life. The community is rather thin these days though. END

One of the OGs of 4GL GUI app development (see also PowerBuilder and the first Visual Basics). Strangely performant on 100 Mhz 486s and the like, I look back at things like Datawindows in Powerbuilder and look at how slow HTML tables are and wonder how the eff they did that with 1/100th the computing power.

Now that I'm an old coder, it really seems like pointless churn as GUI toolkits are constantly built and rebuilt, often with little to show for performance improvement. I do think CSS was a legitimate boon because it provides such a deep means for specifying appearance preferences and is known by so many people, but ultimately the toolkits are repackaging buttons/text entry/radios in mostly the same way the old 4GLs did, often with worse UI construction tools and much more complicated code.

Powerbuilder and Delphi definitely seemed to have GUI dev figured out, but each language transition needed its own (often worse) GUI toolkit and the GUI builder tools never really came. How long until NetBeans included a somewhat-decent GUI builder? Java had been around like 15 years.

NeXT had a great GUI designer too way back in 1990, although you had to write ObjectiveC for the handlers.

Re: I come here not to bury Delphi, but to praise it (2019)

#75
post #69

Earlier quoted context omitted.

The one negative I've found with Lazarus... And this is purely if you were someone coming from a Delphi background, or were planning on Lazarus being your "get out of jail free" card if [Embarcadero/(whoever owns it now)] decides to stop updating Delphi (and even then you could probably manage it's lack of updates for years, hell I stayed on Delphi 2007 for a good 8 or 9 years after XE, XE1, XE2 et al had been out)..…

> It's fine, it feels dated, going back to the original Delphi / VB style of RAD tool with form designer/code editor as floating windows etc. Note that if you install the "anchordockingdsgn" and the "dockedformeditor" packages you will get a UI that uses a single toplevel window with all the previously floating windows being docked inside it (you can still un-dock them) and a form editor that is inside the window (wi…

Thanks for the info, anchordockingdsgn/dockedformeditor, sounds like it will solve my aesthetic gripe with Lazarus.

Re: I come here not to bury Delphi, but to praise it (2019)

#76
post #42

I know he's talking about Delphi here, but FreePascal+Lazarus is still one of my secret weapons. It has some sort of supernatural force field which causes people to ignore it and unfairly denigrate it; meanwhile I whip up desktop applications in hours that would normally take days.

Last time I looked at this I couldn't really find an easy standard way to make HTTPS API calls and parse JSON, but only spent an hour or two playing with it. Can you point me at the canonical way to do this? What's the Requests of FreePascal?

For Delphi it is a combo of the Indy project (IdHttp), and superobject (probably other json parsers too but superobject is quick and fairly solid).

However, given I've yet to find Delphi code that straight up compiles in Lazarus/FreePascal, you probably have your work cut out for you, but if you google for [superobject/indy] for Lazarus, others have started those hikes, and you may find there are working versions of one, or possibly both of them. I've never looked.

Re: I come here not to bury Delphi, but to praise it (2019)

#77
post #17

I started with Turbo Pascal 3, Moved to 4, 4.5, 5, 6 then Delphi. Somewhere in there moved to "C" and then "C++". Couple of observations: - Using C (Borland or Microsoft) required two floppy disks - one for the compiler, one for the linker. With most of the Pascal versions you end up just needing one floppy disk, later it didn't matter as we moved to HDD. - First "terrible" experience (by a friend) - he moved from Pa…

And Turbo Pascal was CHEAP, I think in terms of what you got for your $50? I can't remember the original retail price, you couldn't beat it. Hell, if you kept your eye out you could get copies of Delphi, / Delphi 3 for the cost of a "introduction to Delphi" book which almost always came with a standard license of Delphi.

Hobbyist Borland was the best Borland. A really amazing company that fully embraced those original tinkerers... Enterprise , full vomit, but hey, that's where they got to charge many thousands per seat, so you can't really blame them.

Re: I come here not to bury Delphi, but to praise it (2019)

#78
post #67

In the early days of Delphi I considered it to be a huge competitive advantage in terms of productivity and speed against everything out there. As time went on, though, it slowly died, and it became increasingly difficult to find and integrate 3rd party libraries, or find developers to work in the system. The user interface aspects of it also became dated and difficult to make modern. Too bad, as I really liked it, e…

> or find developers to work in the system

It's an interesting issue, personally I wouldn't look at someones employment history, and working with legacy tools/environments, as a black mark, but it could be indicative of someone who simply refuses to move to new technology.

I've also hired some younger people who were actually interested in picking it up because they were keen to learn anything they could, and you can learn plenty from Delphi despite it's warts.

Over time I've described myself as suffering a kind Stockholm Syndrome w/ Delphi now, and some of the guys on my team have flat out refused to learn it for maintaining some of our systems.

Re: I come here not to bury Delphi, but to praise it (2019)

#79

I know he's talking about Delphi here, but FreePascal+Lazarus is still one of my secret weapons. It has some sort of supernatural force field which causes people to ignore it and unfairly denigrate it; meanwhile I whip up desktop applications in hours that would normally take days.

Hi everyone I operate an irc channel to assist pascal/Delphi programmers with developing projects. https://libera.chat/guides/ IRC.LIBERA.CHAT Ports [6667 plaintext ] or [6697 secure] channels #fpc #pascal. It is not necessary to create an account to participate.

Re: I come here not to bury Delphi, but to praise it (2019)

#80
post #17

I started with Turbo Pascal 3, Moved to 4, 4.5, 5, 6 then Delphi. Somewhere in there moved to "C" and then "C++". Couple of observations: - Using C (Borland or Microsoft) required two floppy disks - one for the compiler, one for the linker. With most of the Pascal versions you end up just needing one floppy disk, later it didn't matter as we moved to HDD. - First "terrible" experience (by a friend) - he moved from Pa…

> Release - "Returns the heap to a given state".

I can't imagine this would be at all sound today, if a heap was shared between multiple threads, or if you marked and released the heap across an arbitrary function pointer callback which allocates memory and expects it to remain valid to access until explicitly freed.

Post reply on HN