Live data from Hacker News

Why I Choose Delphi

csvelocity.wordpress.com

231–240 of 307 posts

Re: Why I Choose Delphi

#231

Why do people do this to themselves? You can't code in a vacuum. It's about community strength and modernity. If you don't have both you are wasting you time. It's like talking to a island cast away.

I guess we should all use Node.js then. Yes, i will use it, and enjoy having to download 1000 ten-lines-of-code NPM packages every time i need to deploy the server. Yes, i can feel the community strength.

(Note: I do use node.js.)

Re: Why I Choose Delphi

#232
I used Delphi for a project in 2004 or 2003 and i recall LOVING it. It "just worked". Nice times...

Pascal itself is a nice elegant language, although a bit verbose.

Re: Why I Choose Delphi

#233

I still compile a old project in Delphi 7 once every 3 months just to add 5 lines of code, and they pay me monthly for it. It's cheaper than porting the whole system to any other language. It is a project that I've built 8 years ago. Delphi was already a "strange think" on that time, it was declining fast. I think Java killed Delphi - "One codebase for all platforms, even your freezer will have Java!" - this was the…

Also started Delphi at 14, now 37. Always had a soft spot for it, but Borland managed it into the ground, and the later owners never figured out a way to make it successful again, even though to this day it has a lot of unrealized market potential.

I often think nostalgically back to my NT4 system. A full office suite, photoshop, and delphi IDE running side by side in 128 MB of RAM, with room to spare, and very zippy. I see some functional improvements in modern day software, but nothing that warrants the incredible bloat.

I notice that the software industry as a whole still lives in the assumption that hardware can fix slow software. However, that doesn't seem to be the case. If you look at single-threaded performance the improvements are much less than they used to be. We may reach a point where CPUs stop getting faster at all. At what point should we go back to micro-optimizing our code?

Re: Why I Choose Delphi

#234

I've always hated the Delphi ecosystem, awesome IDE, good-enough language, but everything else sucked, specially if you are a young programmer with limited money, you couldn't learn it unless you pirated it, even .NET had a free version. Everything there had a price-tag, from the IDE to the third-party libraries. So yeah, everyone moved on from Delphi, it's currently on palliative care, probably won't die any time so…

When was that? I remember Delphi being great because it was the one GUI builder you easily could get a free license for (6/7/2005, and before that you could get cheap licenses of Delphi 3 somehow)

Re: Why I Choose Delphi

#235
post #80

The IDE is just so far behind the competition. Crashing all the time an slow. Theming support ist very limited (to date). Delphi Code Insight ("Intellisense") is slow and sometimes just refuses to work and is generally not on par with other offerings. Error Insight (the wiggly red lines thing) is even worse. Delphi still uses a single pass compiler which makes for great compilation speed but seriously limits the lang…

Now imagine being used to Delphi and C++ Builder, trying to search for similar tooling on UNIX, back in the mid-90's. The only options available were a few 4GLs that cost more than even Delphi licenses are worth nowadays.

I came to Unix at that time with Delphi fresh in my mind (Delphi 1/2 IIRC ) and the only thing that showed anywhere near similar promise was Qt, though it took a long time for it to get similar features in both the object model (properties etc) and the UI builder.

One of the many things I loved about Delphi compared to other RAD tools of the time was that it was the only one that supported and encouraged modular separation of logic and UI. In most others (VB!), the IDE did nothing to help you, and most people ended up with all their logic mixed into the UI code, simply because the UI code was the focus of the whole IDE.

Re: Why I Choose Delphi

#236

Earlier quoted context omitted.

"But I still miss the old days of drag-N-drop GUI of Delphi, really easy." How many years later and the web still does not catch up.

In order to do a Delphi-like product for the web, you need to solve these problems: 1) JS isn't discoverable from the perspective of the IDE. There's no static typing and no way for the IDE to hook up code to UI elements, and vice-versa. You need a statically-typed language that can transpile to JS without too much "impedance mismatch". 2) HTML layout functionality isn't really geared for the type of layouts that are…

Your IDE looks cool especially for Object Pascal die-hards but your way wrong with JS. One doesn't need static typing to discover patterned functions. You need a convention and a parser that can recognize that convention.

Re: Why I Choose Delphi

#237

As someone who maintains an unknown but very large(several MLOC) free Pascal code base, I must say that I can't see much reason in the Pascal hate. Sure, I would love to rewrite the whole thing in Lisp (which is the language that lets me keep my soul), but we are all in all still very happy with the current code base. A complete recompile is less than 20 minutes, and then about half that time is spent in guile for ma…

> Sure, I would love to rewrite the whole thing in Lisp (which is the language that lets me keep my soul) A kind salute to you, fellow Lisper!! However i've used Delphi in the past and found it a remarkably good language, i wouldn't think to port something from Delphi to Lisp.

I would love to try, but I am only seeing oportunities atm. When I think reasonably about it I know that it is a bad idea.

OTOH: We are now at a position where I am pretty sure we are a perfect fit for Greenspun's tenth rule.

The amount of time we spent to make a large part of our code stateless is mind-boggling. We now have the luxury of being able to copy the state of almost 100% of the user-facing stuff and send it back home for us to test. That would have been so much easier with something like Allegro CL.

I have actually implemented a pretty neat macro system in guile scheme that I am in the process of cleaning up for an open source release. We write parethesised, prefix pascal for our macros that gets expanded to regular pascal (easy for most algol-like languages). Having a proper macro system made it possible to remove _a lot_ of boilerplate, even though we primarily use it to generate code that the compiler can optimize easier.

Re: Why I Choose Delphi

#238

Earlier quoted context omitted.

Yes. Both fast and AOT compiled languages with great compilers and probably not the best IDE support unless you count a bunch of plugins. Both have small and tight knit communities and have evolved fast. Neither are the best from a library perspective, but Nim can use C or C++ libraries easily. Doc isn't terrible. Nim has jokingly been called "New Improved Modula-3", so it has some things in common with Pascal, altho…

thanks!

Np...I'll add that Nim has an awesome book out "Nim in Action" and D has a free book on their site. Nim has several different backends (C, C++, Objective C, JavaScript) that it can transpile to that leverage the insane optimizations that things like GCC and Clang can offer. Nim has multiple garbage collectors depending on the level of performance you desire.

Re: Why I Choose Delphi

#239

Earlier quoted context omitted.

"But I still miss the old days of drag-N-drop GUI of Delphi, really easy." How many years later and the web still does not catch up.

In order to do a Delphi-like product for the web, you need to solve these problems: 1) JS isn't discoverable from the perspective of the IDE. There's no static typing and no way for the IDE to hook up code to UI elements, and vice-versa. You need a statically-typed language that can transpile to JS without too much "impedance mismatch". 2) HTML layout functionality isn't really geared for the type of layouts that are…

Smalltalk was able to do #1 in the 70s without static types.

Re: Why I Choose Delphi

#240
post #204

Earlier quoted context omitted.

What is about community strength? If he's creating applications and enjoys doing it, why does it matter who else is using the same language? Worst case scenario, he can translate libraries from other languages into Object Pascal, but realistically it has a decent-sized community. I don't see the modernity point, either. Object Pascal has modern features.

Re modernity: is is true that Delphi/Object Pascal has no automatic memory management support, and it is up to the programmer to add lots of "try" blocks and manually code up destructors to release the resources? For example, this tutorial (from 2017) recommends doing "try .. finally: f.Release" block. https://www.thoughtco.com/communicating-between-forms-409254... This tutorial, which is also from 2017, says that th…

Correct. It compiles to binaries without any runtime environment, so you have to manage memory. Apple did something with objective-c (forgot what it was called) that automatically frees your memory based on your code, but it actually inserts the free memory calls. That's the only language that does that AFAIK. Very clever though, memory management can be a pain if you aren't used to it.

The good thing about managing your memory is you don't have memory bloat and you don't have jitters when the GC decides to fire.

Post reply on HN