Live data from Hacker News

I miss Delphi

news.ycombinator.com

101–110 of 194 posts

Re: I miss Delphi

#101
post #51

Earlier quoted context omitted.

> I've written a web server - and maintain a web server - in Delphi Are you using a framework for that or is it your own implementation? I've found mORMot to be useful: https://synopse.info/fossil/wiki?name=SQLite3+Framework

To truly understand and appreciate a language, I believe one must write these features first without a framework (that at least let's someone appreciate the point of a framework more). However, in this case, this is our own implementation. And unfortunately, this is due to a large number of corner cases we need to handle (such as Sybase support, own SQL driver support, because of multiple result sets, etc.), I don't…

> To truly understand and appreciate a language

Personally I just want to Get Stuff Done.

> I don't believe a framework could replace our implementation.

It's pretty easy to use as much or as little of mORMot as you like. I use it for its webserver and websocket implementation but I don't, for example, use its database layer (using FireDAC in preference).

Re: I miss Delphi

#102
post #31

We're maybe 50-100 Delphi developers and most of us can't wait to jump to C#. To each his own :)

> 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.

Re: I miss Delphi

#103

Earlier quoted context omitted.

I just tried the demo "MyCorp" anvil app: https://secure-portal.anvilapp.net/ It definitely feels bloated -- slow loading, tons of JS, overly engineered. Perhaps the demo should do something more substantial.

Thanks - yeah, there's a lot of optimisation still to do on load times. (We need some JS to let you write client-side code in Python, but we know we can load it a lot faster.) I'm intrigued what smelt "overly engineered" to you, though. We're trying quite hard to keep the programming interface simple, so if something there offended you, that's good to know. (Or if it was another comment about load time, then...yeah.…

I mean the demo feels over-engineered. Create an account, activate account by email, and login... just to download a 1-page pdf. I understand that the point of the demo was to show the ability to create a working web-app, but a better demo would showcase something with more meat than a single file download. Perhaps a simple twitter clone with file attachments or something along those lines instead of a file download app that has no other functionality.

Thanks for the reply!

Re: I miss Delphi

#104

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…

My one brush with Borland C++'s GUI builder was that the developers were doing things like setting the colour of a UI component based on some state (like the background colour of a text box for example), and then elsewhere in the program, checking the colour of that component to make some decision... I don't blame this on Borland. Nonetheless.. I ran.

When used well Borland C++ builder was one of the most productive tools for application development on windows.

One day someone will make something like it for the web and make a few billion.

Re: I miss Delphi

#105
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…

You're still using Rust / Go ? I've been using Luna on the Rocket stack, with Huston for distribution and Apollo for stack management, and it fixes mostly all the problems you've mentioned.

> I've been using Luna on the Rocket stack, with Huston for distribution and Apollo for stack management

That's so 2016, you really should get with the times.

Re: I miss Delphi

#106
post #87

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…

What language did you move to?

That early experience gradually got me motivated enough to learn more powerful tools. These days, Common Lisp (https://github.com/codr4life/cl4l) is my preferred tool for most problems; but I'm gradually learning to like Forth as an embedded DSL (https://github.com/codr4life/lifoo) and might be convinced to write C (https://github.com/codr4life/libc4life) under the right circumstances. I swore early on to never, ever settle for crumbles from the design table again. Then I kept on learning the same lesson over and over again through most languages in common use, until I finally accepted that nothing but simple, powerful, general purpose and free was going to work for me. Mysterious ways, indeed :)

Re: I miss Delphi

#107
post #68

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…

You may be surprised to learn that React's paradigm is basically how Windows GUI apps have been written from 1.0 up through at least Windows 7: https://bitquabit.com/post/the-more-things-change/

Maybe there's a similarity in how it worked under the hood, but the users of those APIs most definitely could not write UIs in that style.

In Win32 code, you still have persistent windows with child "windows" (UI controls/widgets) on them, that have UI-specific internal state (such as text, position, links to their own child windows, etc.) that is different and separate from your application's state (variables, data structures).

Then you have to manually mutate (SetWindowText, ListView_InsertItem, CreateWindowEx, DestroyWindow etc.) the UI when something in your application's data changes.

Unless you don't use any native UI controls and just draw everything manually I guess, but people generally didn't do that.

Re: I miss Delphi

#108

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…

My one brush with Borland C++'s GUI builder was that the developers were doing things like setting the colour of a UI component based on some state (like the background colour of a text box for example), and then elsewhere in the program, checking the colour of that component to make some decision... I don't blame this on Borland. Nonetheless.. I ran.

I see jQuery-Jockey code like that all the time. It's indicative of a novice programmer. I can't blame Borland for that. Just teaching someone that the view should never be the source of truth, can go a long way.

Re: I miss Delphi

#109

There's this http://www.unigui.com make all your web apps in Delphi :-), they've been in beta for a long time but seems to work.

that's impressive. we need sometime like, for polymer one day?

Will polymer ever get done?

At every Google IO they presented it, and yet the overall native support of all required features without any kind of polyfills is still missing across all browsers.

Re: I miss Delphi

#110
post #2

- empty form will have 24+16 lines of code in 2 files - you will have to pay 3000 per seat per 6 months to make a website - it only works on windows - hello world have full access to all user's data - you paid 3000 and it still cannot reliably add main icon to your app (XE6) - you cannot increment build number from command line - no job posting in last 12 months - nobody is using it

1) I assume that you're talking about code that is generated by the IDE.

2) Agreed, the pricing needs some changes, it's still way too expensive for what they're including in the Professional version:

https://www.embarcadero.com/app-development-tools-store/delp...

For hobbyists and those on a budget, there's always Lazarus/Free Pascal.

3) Not true, unless you're talking about the IDE. However, there are all sorts of Object Pascal IDEs such as Lazarus (cross-platform IDE) and Oxygene (uses Visual Studio) that can use the same/similar Object Pascal code.

4) I'm not even sure what you're talking about here. Privileges under Windows, etc. has nothing to do with Delphi specifically.

5) Also not sure what you're describing here. You can add an icon to your application pretty easily via the Project Options dialog. One of our best-selling products is developed in XE6, and we don't have any issues with the application icon.

6) This is a build system issue. Most build systems handle version info/manifest generation without issue.

7) Zero ? I think that's pretty easy to disprove.

8) Definitely not true. If what you say is true, then we wouldn't be in business. There are still a lot of companies making a lot of money using Delphi, primarily because they didn't spend a better part of the 00's trying to rewrite their flagship application(s) in C#, just for kicks.

Having said all that, yes Delphi is definitely not in the same position it was in the early 00's, but it didn't all of a sudden get a crappier compiler or component library. If you invested in Delphi then for your business, then your applications could still be compiled today on Windows 10 without major issues or re-writes. It's hard to quantify that kind of value, but it's still important. It's the same reason why so many businesses stick with Windows - there's a lot of value in being able to run applications that are a decade old on newer versions of the OS.

The fact of the matter is that there are only two major options for writing LOB Windows applications fast today: Delphi and C#. Anything else isn't going to be anywhere near as productive. And, if you're writing applications that need to be distributed to a lot of seats and work on every version of Windows from the past decade, then using .NET is going to be somewhat problematic.

Post reply on HN