Live data from Hacker News

Why I Choose Delphi

csvelocity.wordpress.com

291–300 of 307 posts

Re: Why I Choose Delphi

#291

Earlier quoted context omitted.

I meant web apps. Modern web apps offer a lot of freedom in constructing the precise experience we want the user to get. This is unlike traditional desktop applications with the cookie cutter controls that behave the same way from app to app.

That's not been my observation when it comes to SPAs, responsive apps, etc. They tend to use fairly straightforward components, layout schemes, etc. For instance, if you look at the components/layout capabilities that come baked into the latest version of Bootstrap, you'll find a lot of bases covered. Regardless, there's nothing that precludes you from wrapping any control you desire into an interface that makes it d…

https://www.strikingly.com https://www.squarespace.com/ https://www.wix.com/ http://www.layoutit.com/

You can already create simple websites with tools like above. But non-trivial SPA's can't usually be constrained by tools like that because they don't allow for enough flexibility.

It's not that the web hasn't caught up to GUI editor paradigm that has been around for decades. In fact WYSWYG web editors were common when the web was in its infancy.

Re: Why I Choose Delphi

#292
post #277

Earlier quoted context omitted.

I don't really know anything on low level. But I've never seen any layout render engine with the same feature set as modern HTML/CSS engines.

I imagine you never used Qt, Gtk, Motif, NeXTStep, XAML, iOS or Android layout managers, for citing a few possible examples.

True, iOS and Android have fairly decent native render engines.

Other technologies cited are very limited, not even close to what current web technologies offer.

Re: Why I Choose Delphi

#293

Earlier quoted context omitted.

That's not been my observation when it comes to SPAs, responsive apps, etc. They tend to use fairly straightforward components, layout schemes, etc. For instance, if you look at the components/layout capabilities that come baked into the latest version of Bootstrap, you'll find a lot of bases covered. Regardless, there's nothing that precludes you from wrapping any control you desire into an interface that makes it d…

https://www.strikingly.com https://www.squarespace.com/ https://www.wix.com/ http://www.layoutit.com/ You can already create simple websites with tools like above. But non-trivial SPA's can't usually be constrained by tools like that because they don't allow for enough flexibility. It's not that the web hasn't caught up to GUI editor paradigm that has been around for decades. In fact WYSWYG web editors were common wh…

>non-trivial SPA's can't usually be constrained by tools like that because they don't allow for enough flexibility.

Yeah, you've kind of repeated variations of that vague statement, to which I've replied with specific capabilities/features that SPAs and modern webapps tend to use. I've suggested that they represent very common features/layouts that can readily be constructed with the aid of a GUI tool.

But, here, you've now responded with a few website builders that are not intended to be used for the kinds of SPAs/modern webapps we're discussing. That doesn't make a point, except to say that "other things exist".

Do you have specific examples of SPA/webapp functionality that cannot be readily built with the aid of a GUI tool?

Re: Why I Choose Delphi

#294
post #277

Earlier quoted context omitted.

I imagine you never used Qt, Gtk, Motif, NeXTStep, XAML, iOS or Android layout managers, for citing a few possible examples.

True, iOS and Android have fairly decent native render engines. Other technologies cited are very limited, not even close to what current web technologies offer.

Given my experience in both worlds, I fail to see in what aspect web can beat those native layout engines.

Because until recently even basic stuff like centering text or grid layouts were an exercise in frustration.

Not to mention the magical incantation dance with CSS transforms to try to force a browser to use hardware acceleration.

Or nonsense like Shadom DOM to be able to define some sort of components, which are only properly supported on Chrome.

Re: Why I Choose Delphi

#296

We also use Object Pascal extensively. We do high-level stuff (Win32, Android, iOS) but also really hardcore low-level embedded stuff. We use - Delphi 7 - Delphi 10.2 - CrossKylix ( http://crosskylix.untergrund.net ) - CrossFPC ( http://www.crossfpc.com ) And are able to compile native code to a gigantic amount of platforms, all from within a single IDE. Web stuff we also do, with ExtJS as a front-end. If anyone is l…

I'm not looking for an ObjectPascal job (because I have zero experience with it and I'm quite happy in my current position). But I'm still curious about what you do. How do you build for iOS, for example? I thought you had to use Xcode. How do you convince clients that ObjectPascal is the right solution? That is, are client concerned that you're not using Java/ C#/ C++? I've always thought Germany was fairly conserva…

Most of the time, clients, and I mean directly the clients, don't even know what a programming language is.

Re: Why I Choose Delphi

#297
post #287

Earlier quoted context omitted.

You should play around with Pharo if you have some free time. It's a completely different way of doing things (and a lot of fun). Indeed, what you've described of Delphi is not happening in a Smalltalk: there's no difference between the thing you are programming inside of and the end product (at least not right away). It's easier to think of a Smalltalk image as a live system that you are configuring (using Smalltalk…

Thanks again for the detailed reply. I will definitely try Pharo and see how it all works. I've read a bit here and there about Smalltalk over the years, and the whole environment seems really cool. I'm especially interested in the whole "not requiring static types", because that may give some ideas on how to do a JS IDE without losing the functionality that we wish to maintain. The "liveness" of the Smalltalk enviro…

I just read scroot's comment (the grandparent comment to mine, and parent to yours). I found it somewhat uncannily similar to a sub-thread involving HN user mikelevins (a long-time Lisp developer) in another HN thread a while ago (about Lisp). He commented on something (it was a thread about a Show HN about Full Stack Lisp, a book), I asked a question, he replied in more depth. His description of some advanced features of Lisp was fairly similar to what scroot wrote above (but with more points added). So you might be interested to check it out:

https://news.ycombinator.com/item?id=11834887

That is the top comment by him in that sub-thread. My question to him is 2nd reply below, then he replied at even greater length. Some pretty deep stuff..

(In another of his comments - this one, in a different thread: https://news.ycombinator.com/item?id=14677396 - he also mentioned that Lisp and Smalltalk are two of only a few languages that share some of the features he talks about.)

Re: Why I Choose Delphi

#298

Earlier quoted context omitted.

> A GUI web site generator is trivial and many already exist. > older desktop based technologies like WinForms are more geared towards purely functional experiences. The web can go above and beyond providing merely functional experiences. Not talking about web sites here, but web apps, which in the modern sense are much more aligned with desktop apps than websites of old.

I meant web apps. Modern web apps offer a lot of freedom in constructing the precise experience we want the user to get. This is unlike traditional desktop applications with the cookie cutter controls that behave the same way from app to app.

>This is unlike traditional desktop applications with the cookie cutter controls that behave the same way from app to app.

Controls in desktop apps are not just "cookie-cutter" (if I understand correctly what you mean by that). They can be subclassed in C / C++ / Delphi etc. code, to add to, or override, the functionality as well as the appearance of the superclass control. (And individual desktop app developers can, did, and still do this. It is not necessary to buy or downloads such custom controls, anyone can write them - like you say for the web.) This was being done way back in Windows (from as early as Windows 3.x [1]) and probably in Unix too (X-Windows). In fact, X-Windows may be the source, or one of the early examples, of the famous saying "provide mechanism, not policy" [2], which is related to this topic. (What that saying implies is that policy - which often involved look-and-feel - could be, and was, provided by higher layers, than the lowest layer, Xlib, which provided the mechanism (for X's style of client-server GUI programming.) I've not checked their implementation details, but probably both GNOME and KDE (which both look and behave rather differently from each other, though both are fundamentally Unix desktop environments), are built on top of X-Windows (in its newer avatar of XFree86 or whatever it is called these days).

[1] I just did this Google search for the term "paul dilascia windows programming book", and the first search result is:

http://www.amazon.in/Windows-Writing-Reusable-Schulman-Progr...

which is a book by him called "Windows ++: Writing Reusable Windows Code in C++ (The Andrew Schulman Programming Series)" - which was considered an influential book at the time (see Wikipedia page link below). I had read it, years ago, out of interest, even though I was not doing much GUI programming at the time. It showed (with code) how to use C++ to wrap the procedural (WndProc), event-driven Win 32 GUI API in C++ classes, not only for more reusable code (as the book title says), but also how to subclass existing Windows controls and add more functionality to them, or change their appearance, etc. In fact, IIRC, his Windows++ framework completely hid (from the developer) the traditional, error-prone, manually coded WndProc window procedure style of programming, that was the staple of raw Win32 GUI programming. I was quite junior as a programmer at the time when I read the book, but remember thinking even then, that it was something significant that he was writing about, and the book helped me to understand some of those deeper topics to some extent. To describe it another way, the book basically contained the full C++ code for something like a smaller version of MS's MFC or Borland's Delphi or other OO Windows GUI frameworks that wrapped the lower-level raw Win32 GUI API, which involved writing a lot of low-level procedural boilerplate code (with a hand-coded event loop for each app you wrote). That was some general background and history, but more relevant to your point, it shows that customizing controls is very much possible and done in desktop apps too (not just in web apps). And you do not need to write your own GUI framework in order to customize controls, either. You can just take classes from an existing GUI framework that you use, and subclass those classes, and add or override functionality, including both look-and-feel and behavior. The second search result is Paul Dilascia's Wikipedia page - https://en.wikipedia.org/wiki/Paul_Dilascia .

[2]:

http://wiki.c2.com/?PolicyAndMechanism

https://en.wikipedia.org/wiki/X_Window_System_protocols_and_...

Re: Why I Choose Delphi

#299
post #298

Earlier quoted context omitted.

I meant web apps. Modern web apps offer a lot of freedom in constructing the precise experience we want the user to get. This is unlike traditional desktop applications with the cookie cutter controls that behave the same way from app to app.

>This is unlike traditional desktop applications with the cookie cutter controls that behave the same way from app to app. Controls in desktop apps are not just "cookie-cutter" (if I understand correctly what you mean by that). They can be subclassed in C / C++ / Delphi etc. code, to add to, or override, the functionality as well as the appearance of the superclass control. (And individual desktop app developers can,…

Also, related, google for the term "windows owner-drawn controls". I just did, and here are a couple of relevant links:

https://msdn.microsoft.com/en-us/library/windows/desktop/bb7...

(above page's subtitle: "Creating Owner-Drawn Controls")

Using Visual Styles with Custom and Owner-Drawn Controls:

https://msdn.microsoft.com/en-us/library/windows/desktop/dd3...

Re: Why I Choose Delphi

#300
post #297

Earlier quoted context omitted.

Thanks again for the detailed reply. I will definitely try Pharo and see how it all works. I've read a bit here and there about Smalltalk over the years, and the whole environment seems really cool. I'm especially interested in the whole "not requiring static types", because that may give some ideas on how to do a JS IDE without losing the functionality that we wish to maintain. The "liveness" of the Smalltalk enviro…

I just read scroot's comment (the grandparent comment to mine, and parent to yours). I found it somewhat uncannily similar to a sub-thread involving HN user mikelevins (a long-time Lisp developer) in another HN thread a while ago (about Lisp). He commented on something (it was a thread about a Show HN about Full Stack Lisp, a book), I asked a question, he replied in more depth. His description of some advanced featur…

Thanks, I'll check those out. For a sub-thread that involved my original post getting down-voted, this is turning out to be very informative. ;-)
Post reply on HN