[HN Gopher] Delphi Timewarp - 1995 and Delphi's Mythical Origins
       ___________________________________________________________________
        
       Delphi Timewarp - 1995 and Delphi's Mythical Origins
        
       Author : zxspectrum1982
       Score  : 57 points
       Date   : 2022-02-10 10:52 UTC (2 days ago)
        
 (HTM) web link (blogs.embarcadero.com)
 (TXT) w3m dump (blogs.embarcadero.com)
        
       | xor42 wrote:
       | My first experience with Delphi is quite recent actually. I've
       | done quite a lot of C/C++ programming & reverse engineering (the
       | latter as a hobby) and recently had to scratch the itch to take a
       | closer look into the ecosystem of a popular alarm systems
       | manufacturer. Their hardware is well designed but the quality of
       | their software is unfortunately not quite what you'd expect to
       | see in this field. As such, I wanted to see what could be
       | learnt/exploited by exploring their binaries.
       | 
       | As it turns out, their software suite is written in Delphi, which
       | required me to read quite a lot about it, and use/write some
       | custom tools to help me analyze the binaries in Ghidra.
       | 
       | An existing tool I have relied on is called IDR[0]. It relies on
       | "knowledge bases" which are binary files generated by another
       | project[1] from the same author to store information about all
       | the types and classes provided by each version of Delphi. The
       | source code of these two projects is pretty "funky" from a
       | software engineering point of view, but quite enlightening from a
       | research standpoint to understand how Delphi binaries are
       | generated.
       | 
       | I can see from this thread that a lot of people are nostalgic
       | about how easy/enjoyable it was to use. I now find the low-level
       | analysis of this technology just as fun and interesting.
       | 
       | As a side note and to loop back to the reason of this whole
       | endeavor, after many hours spent reversing the software of this
       | manufacturer, I can attest that the rumors about the code quality
       | are not just rumors :)
       | 
       | [0] https://github.com/crypto2011/IDR [1]
       | https://github.com/crypto2011/KBBUILDER
        
       | Yuioup wrote:
       | Delphi is dead. Nothing to see here. Move along.
        
         | dang wrote:
         | Please don't post unsubstantive comments or shallow dismissals
         | here.
         | 
         | https://news.ycombinator.com/newsguidelines.html
        
         | clouddrover wrote:
         | Seems like it's going pretty well. Native development on
         | multiple platforms sounds good to me:
         | 
         | https://www.embarcadero.com/products/delphi
        
       | greatgib wrote:
       | Now only the name remains as a ghost...
       | 
       | I loved so much Delphi when it was still like Delphi 5.
       | 
       | In my opinion, GUI dev was so great and easy at that time. So
       | much easier than today for desktop or web. For exemple, just
       | having a reactive web app today is such a pain in the ass, when
       | it was so easy then with component anchors and such.
        
         | pjmlp wrote:
         | I live that experience still within Java and .NET ecosystems.
        
           | tluyben2 wrote:
           | How? What UI toolkits?
        
             | pjmlp wrote:
             | Windows Forms for example?
        
               | tluyben2 wrote:
               | Yes, fair enough. Unfortunately that is not accepted a
               | lot anymore; I make custom tools for embedded hardware
               | with win forms and it's great but projects where UI
               | designers get in... nope.
        
               | pjmlp wrote:
               | Then WPF with Blend.
        
       | zxspectrum1982 wrote:
       | 1995 is a very important year in the history of Delphi. On
       | February 14 of that year the first version of Delphi was released
       | for 16-bit Windows 3.1 as a Rapid Application Development (RAD)
       | tool.
       | 
       | Delphi came as a departure from its predecessor, Borland's Turbo
       | Pascal for Windows. Turbo Pascal combined an editor, debugger,
       | compiler, linker, and libraries, and evolved into Object Pascal
       | after support for objects was added. Delphi / Object Pascal
       | created a foundation for app development that still inspires and
       | supports application developers today.
        
         | smitty1e wrote:
         | And is apparently still available
         | https://www.embarcadero.com/products/delphi
        
       | ochrist wrote:
       | This brings back memories. Back in the late eighties I used
       | various programming languages for fun (TI59, 6502 assembler, BBC
       | Basic), but when I switched to Pascal, a lot of things changed
       | for me. At that time the schools used the predecessor of Turbo
       | Pascal, called PolyPascal - but some time later they switched to
       | Turbo Pascal. I have used Delphi almost from the beginning and
       | have used various versions through time.
       | 
       | I don't always remember the system for good tings. The article
       | mentions Oracle, and I do remember we had a hard time getting
       | Delphi to connect properly to Oracle databases in the late
       | nineties. This was mostly done through BDE. The official
       | definition of that abbreviation is Borlands Database Engine, but
       | a lot of people called it Borlands Database Error.
       | 
       | A few years ago I got back to Delphi and what a please it is to
       | use. The latest version of Delphi allows you to produce native
       | code to several different platforms, and it's certainly still
       | Rapid Application Development.
       | 
       | But unfortunately it's not available to everybody due to the
       | prices.
        
         | mobilio wrote:
         | If you remember IDAPI?
        
       | ipunchghosts wrote:
       | I miss delphi.
        
       | stevecat wrote:
       | Delphi was my first introduction to programming with Borland
       | Delphi 3 on a magazine coverdisc before we had the internet. At
       | 12 years old and just getting into computers, I considered .exe
       | applications with their lovely grey components to be so
       | professional and unattainable that the ability to build my own
       | was mind-blowing. A few years later, I had some of my freeware
       | that I'd built in Delphi featured on that same magazine's
       | coverdisc!
       | 
       | I eventually went down the web development route but I've
       | recently, via Arduino, learnt C/C++, and am enjoying desktop
       | development again. Compiling is exciting!
        
         | salmo wrote:
         | Same experience here! It was such a great first intro for me.
         | Learned basic programming concepts but could quickly put
         | together something "real" feeling. It was a nice middle ground.
         | The Pascal aspect was pretty ergonomic for a neophyte, and the
         | GUI design really was unparalleled.
         | 
         | Dabbled in UIs after: GTK, .NET, etc. All disappointing and
         | awkward. Do web dev for internal tooling when I have to, but I
         | don't enjoy it. I do backends but mostly stick to lower-level
         | systems stuff after falling in love with K&R and Unix early in
         | college. Well, and firefighting prod performance problems.
        
       | ezconnect wrote:
       | Delphi gave me lots of money doing freelance stuff during the
       | 2000s because it was so fast to build custom apps on it.
        
       | ksec wrote:
       | Reading this is a strange roller coaster of emotions. Happy to
       | read about good old times, angry about the turn of event, and
       | sadden about the current state.
       | 
       | At the time I thought Delphi was ( and may be still is ) the
       | Best-in-class and a target to beat for all other RAD and IDE. The
       | future is going to be _so much_ better for Desktop App
       | development. Instead we have descended to Desktop Apps with
       | Electron.
        
         | speed_spread wrote:
         | I'm a Delphi guy at heart that mostly sneers at all the web UI
         | degeneracy from the last two decades. I do however recognize
         | some important enhancements brought by the HTML + CSS model:
         | enabling Internationalization, Accessibility and Display
         | independence. I'm not sure how modern GUI frameworks do it
         | (Qt/QML?) but these are necessities for modern first class UIs
         | that require a lot of work to get right.
        
           | pjmlp wrote:
           | All of those web features exist since Motif days and layout
           | managers.
        
             | jchw wrote:
             | Personally, DPI independence and screen reader support is
             | definitely not something I associate with the "Motif days."
        
               | pjmlp wrote:
               | Well, it was there, regardless.
        
         | R0b0t1 wrote:
         | Delphi is still wildly popular especially outside of the
         | English speaking software development world. It's a bit strange
         | to see. The English speaking developers outside of the US are
         | likely to be following US industry trends, but Delphi and other
         | languages are quite entrenched in industrial programming and
         | custom ORM designs in South America, Africa, and Eastern
         | Europe.
         | 
         | Something really nice about Delphi is it compiles quickly. Very
         | underrated. Modern Delphi has rough feature parity with Java
         | with anonymous classes and functions, making it quite usable.
         | Unfortunately those feature have not made it into FreePascal
         | dialects yet.
         | 
         | The guy who created Delphi went on to make C#. We might see
         | MS's open source push give us something Delphi like yet.
        
           | branko_d wrote:
           | Anders Hejlsberg is a world treasure as far as I'm concerned.
           | 
           | After basically single-handedly creating Torbo Pascal, he was
           | the architect of Delphi, C# and now TypeScript. I don't think
           | that anybody touched the lives of so many programmers quite
           | like he did.
        
           | pjmlp wrote:
           | Indeed, here in Germany there is at least one Delphi
           | conference, and additionally it tends to share some slots in
           | .NET conferences.
        
             | chadcmulligan wrote:
             | Where would you find Delphi jobs in Europe? I'm in
             | australia but still do delphi.
        
           | mobilio wrote:
           | In Eastern Europe Delphi was very popular.
        
           | brnt wrote:
           | How "far" behind it Freepascal you think?
           | 
           | I tried to get into it a few years back and in terms of
           | language features it felt like things had stagnated for a
           | decade or more.
        
         | pjmlp wrote:
         | Not only that, the state of Web app tooling as well, juggling
         | raw HTML/CSS/JS to fake a desktop like UI.
         | 
         | There are low code tools for Web, but they tend to be only for
         | enterprise pockets.
        
           | abraxas wrote:
           | Not only that but they are mostly a lipstick on the
           | HTML/CSS/JS complexity pig and thus do little to really
           | simplify the job. As the thin veneer peels off one is usually
           | forced to deal with the underlying complexity anyway.
        
         | ghosty141 wrote:
         | As much as people like to shit on electron, I rather have an
         | electron app than no app when it comes to cross-platform
         | compatibility and features.
         | 
         | The reason why Electron is so successful is because the other
         | UI frameworks simply don't solve the problems people have as
         | elegantly. Doing "custom" UI elements is super easy with CSS
         | and there are many many developers for that, while doing so
         | with WPF or QT requires far more skill and is a lot more
         | quirky.
        
           | tluyben2 wrote:
           | People don't shit on electron in general, some tech people
           | do. We know what our computers can do when optimally
           | programmed and there they are wasting cycles on rendering
           | badly built web apps. I believe we should be shitting on
           | badly written apps: we can see how a really well written very
           | complex electron app like vscode behaves: then we install
           | some simple crappy app that is not even in the same universe
           | complexity wise as vscode which someone burns 100x more
           | memory and cpu. That we should shit on imho.
        
             | jcelerier wrote:
             | > we can see how a really well written very complex
             | electron app like vscode behaves
             | 
             | yes, very much worse than the average Qt app in my
             | experience in terms of responsivity, load time and general
             | UI performance
        
           | blablabla123 wrote:
           | But it's also a self-sustaining cycle. Actually developing
           | Applications with GTK is relatively straight-forward. I think
           | UI development but esp. cross platform UI development also
           | suffered a lot from fragmentation with both frameworks and
           | languages. So chances finding good documentation for a chosen
           | combination are low.
           | 
           | (And yes, using WPF or QT is ridiculously difficult despite
           | having full-featured IDEs)
        
       | thought_alarm wrote:
       | Borland's VCL was a great achievement that brought some much
       | needed cohesiveness and sanity to Win32 development in a way that
       | Microsoft was never able to do. I've always found it interesting
       | that OpenStep/Cocoa and VCL were released at about the same time
       | in the mid-90s, as they're both so similar.
       | 
       | Even though I was a complete C++ snob at the time, I had to admit
       | that working with Delphi/Pascal projects was surprisingly
       | painless. The compile times were insanely fast.
       | 
       | But I preferred to use the VCL with C++. Well into the 2000s when
       | .NET has completely taken over, I still felt that native VCL/C++
       | was the best solution for most Windows apps.
        
         | jchw wrote:
         | I wish I had been exposed to Delphi or at least the VCL
         | earlier. After the fact, it made me feel envious compared to
         | using MFC and whatever else shipped with Visual C++ all the
         | time.
        
       | pjmlp wrote:
       | And 20 years later .NET is finally catching up with Delphi on AOT
       | support, as NGEN was only meant to improve startup times, while
       | other toochains were dropped along the way (Singularity, Midori,
       | .NET Native).
       | 
       | Happy birthday Delphi!
        
       | Lammy wrote:
       | > The accepted story is that the Delphi name was originally
       | suggested by then Borland developer Danny Thorpe as a reference
       | to the Greek fortune-telling temple of the same name. One of the
       | goals behind Delphi was to provide database connectivity to
       | developers, and because Oracle was one of the more popular
       | database products of the time, the reasoning was that "if you
       | want to talk to the Oracle, you have to go to Delphi".
       | 
       | Even if it's an unintentional coincidence, Delphi is also where
       | Apollo killed Python (which hit 1.0 in 1994) :)
       | 
       | https://en.wikipedia.org/wiki/Python_(mythology)
       | 
       | https://en.wikipedia.org/wiki/History_of_Python#Version_1
        
       | nikolay wrote:
       | It's too bad that Embarcadero killed all super-popular Borland
       | IDEs.
        
       ___________________________________________________________________
       (page generated 2022-02-12 23:01 UTC)