[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)