Live data from Hacker News

I miss Delphi

news.ycombinator.com

121–130 of 194 posts

Re: I miss Delphi

#121
post #30

I work with Delphi professionally. And we maintain a code base of about 150,000 lines of Pascal and about 300,000 lines of T-SQL (written to work in both Sybase and Microsoft SQL). Delphi may be easy, but it's not simple. Once you get into the meat of things, Delphi's ecosystem truly becomes a limitation. Delphi's main drawback is its lack of library availability. If you are in the marked for modern technology, using…

That was always my biggest disappointment with Delphi. Things that were simple, free, and of very high quality in other languages would lead you into a thicket of shady, low quality nagware VCL components that had a tangle restrictions on use and usually a magic DLL blob you were then forced to distribute along with your app. It was a constant infuriating disappointment. Delphi should have been so much more.

I find that just the default component library of Delphi vastly exceeds what you get these days, for instance in Android or IOS, or (shudder) on the web.

Hell, I miss it. Very much.

Re: I miss Delphi

#122

Simple is subjective. I find the React way of making web UIs, where you just write a `render` function, way simpler than manually mutating existing UI widgets to match the data every time it changes. Or some weird manual data binding via model wrappers. Maybe it's a tiny bit more code in the very beginning, but it becomes worth it very soon (as soon as you get past hello world pretty much). That being said, we could…

Your talking about the difference between immediate mode vs retained mode, immediate mode being the "self contained render" method. This is nice and clean up to a point in complexity, and then the advantages of retained mode (or "manually mutating existing UI widgets to match the data every time it changes") outweigh the disadvantages, namely the management of the UI/data interface.

What are the advantages of retained mode UI (genuinely curious)?

Assuming you have good enough primitives to work with (i.e. you write your render function in terms of HTML elements and other React components - or something similar, not raw lines and rectangles), then I just don't see any.

Re: I miss Delphi

#123
post #40
post #32

Earlier quoted context omitted.

>I strongly suspect the generation after this will rediscover the power of desktop apps and some of the dev tools that were around at that time. The biggest thing desktop apps are missing was the delivery mechanism. With web apps: * a new user is just a hyperlink away * pushing app updates is a page reload * server-side state eliminates all of the migration headaches for client-based state People are fickle and they…

webassembly + full page canvas. games already work like that. hopefully sanity is just around the corner.

I personally suspect that actually, Henry Spencer's famous prediction is more likely what's looming around the corner.

You just wait - there will be a terminal emulator written with webassembly+Canvas eventually. Perhaps powered by the already existing Emscripten port of Linux.

Re: I miss Delphi

#124

I did professional development in Delphi for 13 years, writing and maintaining a sprawling 700k line reservation system. I don't miss it much. It was a great learning experience to have to fill in all the gaps in the standard libraries by twisting and turning Pascals rigid rules into something semi-useful; writing foreign function interfaces to WinSock to get around the limitations in the provided toy socket implemen…

(I'm moderator on http://clubdelphi.com)

You experience is more a reflex on the nose-dive that management than what the tool/language is; including the Interbase engine, that was open-sourced then become closed fast.

Bad code is normal across enterprise applications, but even taking into account the RAD biased approach of the Delphi IDE is easy to do good coding. What is not easy is to have badly-trained developers doing massive amounts of code.

I know, because as moderator in Club Delphi, we answer A LOT of question about VERY BASIC stuff. Is amazing the amount of people that use Delphi (or JS, or .NET or PHP... we have sections for that too!) without read even a basic book or some decent basic entry-level tutorials/documentation.

I have thousands of answers that are mostly, "Please read http://www.delphibasics.co.uk/ (or similar)".

And about databases? Dammit, I don't know who is the bastard to blame in turn one of the easiest thing to learn and convince everyone "Nah! how wanna spend 20 minute of basic SQL/Relational fundamentals? Just write sql dammit!".

The other bulk of questions I help is about SQL...

Re: I miss Delphi

#125
post #30

I work with Delphi professionally. And we maintain a code base of about 150,000 lines of Pascal and about 300,000 lines of T-SQL (written to work in both Sybase and Microsoft SQL). Delphi may be easy, but it's not simple. Once you get into the meat of things, Delphi's ecosystem truly becomes a limitation. Delphi's main drawback is its lack of library availability. If you are in the marked for modern technology, using…

Dynamic languages have the edge for web development. Web is nasty, badly/poorly "designed", or more exactly, patched to barely work for app development.

BTW, Synapse is better (IMHO) than Indy. One of the biggest damages of MS (yes I blame MS first) is that turn anything in a monster of complexity, I don't know if trying to mimic Java or as side-effect that a big company like MS can't understand how do lean app development.

Then the management idiots at borland follow MS (like everyone else) and the rest follow both. That is how you get something like Indy and other libraries.

Was WAY LATER with the arrival of python/ruby that that become more popular the idea of simple/good design on libraries.

Some of it is returning back to Delphi, however, because management price Delphi out of the equation of many of his own customers not exist a good ecosystem to rely on.

--- P.D: Still do good web development in languages with static types is a bit harder (even F# struggle with it); and I'm unsure what language of this family show a great experience here.

Re: I miss Delphi

#126

I did professional development in Delphi for 13 years, writing and maintaining a sprawling 700k line reservation system. I don't miss it much. It was a great learning experience to have to fill in all the gaps in the standard libraries by twisting and turning Pascals rigid rules into something semi-useful; writing foreign function interfaces to WinSock to get around the limitations in the provided toy socket implemen…

> it would give you an error saying 'Error at BLR offset 283729' or similar, offset being the offset in the compiled code where the error supposedly happened Wow, I didn't realise it was possible to have error messages worse than Oracle's.

Kinda like Winsock Error 10107, "A system call that should never fail has failed." I recall running into that one at my first job out of high school - once we'd looked up the error code, we had a good chuckle about how unhelpful it was.

(It was actually our bug - we were doing a Winsock layered service provider, and the error code indicated that we'd failed to return SUCCESS and hadn't set any additional error info. At the time, though, Microsoft's documentation gave only the one sentence above as a description.)

Re: I miss Delphi

#127
I started developing in Delphi after Delphi 1 came out, have worked in Java and C++ along the way, but I've been largely a LAMP stack web developer for the last ten years. I've looked at the code output from various Delphi web builders; it's not pretty, not inherently responsive, not accessibility compliant.

I still use Object Pascal in Lazarus for writing widgets and utilities. It cross-compiles to Linux, MacOS and Windows and lets me do things that would be difficult or impossible with a web app. But these get about 1% of my attention.

Re: I miss Delphi

#128

Earlier quoted context omitted.

> most of us can't wait to jump to C# Why?

Little historical fact, Microsoft nicked Andreas Hejlsberg, the creator of the Borland flavor of Pascal (starting from the Turbo Pascal days), and had him architect C#. So if you trust microsoft, or you're doing boring bussiness software where you don't care about anything but the paycheck, C# may be an improvement.

I'd happily write anything C# for a paycheck over anything .js.

Re: I miss Delphi

#129
There is an inherent "HOLY SH*T" moment that happens to all desktop developers when they transition to Web. You are used to one type of interaction when doing native that is pretty simple and straight forward.

The real killer is the move to asynchronous development for everything. In Delphi (and C# desktop), most calls can be made synchronously be default, and simply. No so in the web (yes, you can do synchronous web calls...but you shouldn't). And that is ignoring the whole statically-type-and-compiled language to JavaScript issue. And then dealing with a huge array of libraries, patterns, and best practices that are completely unknown.

Then comes out "why can't this be simple like what I was used to?" Actually, what you were doing wasn't simple at all, you were just used to it. You understood the complexity, so it seems simple. Web development also becomes simple once you understand it. But first you have to be willing to learn again.

Re: I miss Delphi

#130
post #25

If anyone using Delphi to build big apps in early 90s was told that to do the same function in 25 years time they would need HTML, CSS, JS, Ruby or PHP or similar, some SQL, some Rust or Go and probably a few DSLs - it would take months longer to build - require multiple servers - and would need more test code than app code to get it 98% as stable - you wouldn't have believed a word of it. Every single time I have to…

Same with when we developed oracle forms apps in late 90s or to a lesser extend VB. So much slower and more complicated to produce something simple which works for 90% of cases for business apps.
Post reply on HN