[HN Gopher] Delphi Is 30
___________________________________________________________________
Delphi Is 30
Author : andsoitis
Score : 111 points
Date : 2025-02-14 18:41 UTC (4 hours ago)
(HTM) web link (blog.marcocantu.com)
(TXT) w3m dump (blog.marcocantu.com)
| dvh wrote:
| While the page is down, behold, the Delphi 1.0 installer screen:
| https://www.gladir.com/SOFTWARE/DELPHI1/delphi1-install5.png
| rbanffy wrote:
| HN's deadly embrace...
| wongarsu wrote:
| It's back, but just in case: https://web.archive.org/web/2025
| 0214191003/https://www.gladi...
| wruza wrote:
| Now that was intense.
| cpach wrote:
| Hug of death (^_^) Mirrored here:
| https://web.archive.org/web/20250214185534/https://blog.marc...
| yapyap wrote:
| congrats Delphi!
|
| (page is back up, btw)
| cwbrandsma wrote:
| The language that could have been. I did a bunch of Delphi around
| the Delphi 5 and 6 era. It was a nice middle ground between VB6
| and C++.
|
| Unfortunately it made my startup more difficult to sell.
| Eventually Microsoft bought it, but there were a lot of rounds.
| kwanbix wrote:
| I started with version 1.0. Such an incredibly elegant
| language. I choose it not to feed the Microsoft Monopoly, but
| in the end, and after the most incredible f*ck ups by Borland,
| VB won. I used D7 for many years. Now I use it only as a hoby
| language.
|
| What do you mean Microsoft bought it? IT was never bought by
| MS.
| earthtograndma wrote:
| I think "it" is the startup, not Delphi.
| pavlov wrote:
| I think he means that Microsoft bought his own startup whose
| product was written in Delphi.
| r00fus wrote:
| Microsoft did snipe some of the key people at Borland who
| created Delphi to get from VB4 to VB6.
| wongarsu wrote:
| Delphi is still reasonably popular in some niches. It has a
| powerful but easy WYSIWYG GUI builder and is close to the
| hardware without being C++, making it decently popular for
| tooling for industrial hardware.
|
| Though their website makes me suspect they have given up trying
| to find new customers and are just building new features for
| the customers they have
| sedatk wrote:
| Microsoft also bought Skype which was also written with Delphi.
| petepete wrote:
| I learnt to program with Delphi and it still holds a special
| place in my heart, despite not having used it for more than
| twenty years.
| _zoltan_ wrote:
| by accident I got Marco Cantu's Delphi 5(?) book when I was in
| elementary school, around 11. it had a huge influence on me and
| on my professional life later on.
|
| thank you Delhi and thank you Marco!
| bontoJR wrote:
| Delphi was far superior than all other languages of the time, it
| had all the necessary bullet points to become what is Java now.
|
| Borland really failed on the marketing and sales side, while
| providing the best tech, they completely missed the importance of
| having a strong sales team capable of scaling the language inside
| corporates, which were the driving force back in the days.
|
| I have a lot of good memories of Borland Delphi 4.0 and 5.0 on
| Windows 95 and later 98/2000.
| caspper69 wrote:
| I was never a Borland guy because I didn't know pascal or c++
| when they were big. But I (believe) I've heard stories that
| Microsoft was especially aggressive about poaching their
| talent. Things like pulling up in a limo with not-insignificant
| amounts of actual cash to lure them away. At least I think it
| was Borland. All's fair in love & war I suppose, but it does
| feel dirty, lol.
|
| Anyway, it's hard to execute when your best and brightest keep
| jumping ship to the competition.
|
| Please let me know if it was not Borland, because this is a
| good anecdote.
| selectnull wrote:
| It was Borland management's incompetence that sent all the
| best talent to Microsoft.
| gramie wrote:
| Well, the $1 million signing bonus they gave Anders (back
| in 1996 when that meant something, slightly over $2 million
| today) probably didn't hurt.
| sedatk wrote:
| My Delphi era between 1997-2004 was probably my most productive
| time. I can't even count the number of apps I wrote with it. The
| compilation speed, VCL, IDE, compiled code performance, they all
| contributed to its success I believe. I even wrote three
| different half-finished Norton Commander clones using Delphi. I
| also wrote the most popular Turkish social platform with it too.
|
| The things that slowed Delphi down was getting distracted by
| hype: Kylix (Delphi for Linux) and Delphi.NET both contributed to
| its decline along with the rise of C#. Ironically, I had cheered
| for both when they came out, but they basically lacked Delphi's
| magic: fast iteration and native performance. Also, cross-
| platform dev apparently didn't have big enough market at the
| time.
|
| Basically, Delphi was Golang of early 2000's: self-contained
| native binaries with native performance in a language high-level
| enough. Unfortunately, they got lost on the way.
| throwup238 wrote:
| Which is especially sad because their IDE was the best WYSIWYG
| GUI editor in existence, then and now. The only alternative
| that got even close was VB6. If they had made the transition to
| large screens and responsive design I think they could have
| dominated mobile app development when it rolled around.
|
| They didn't just get lost, they got sucked into Pan's
| labyrinth.
| AlienRobot wrote:
| The weird thing is I love Lazarus for the GUI but I'm too
| used to VS Code to deal with their source code editor.
| Coupled with the non-C-based language, I kind of feel like I
| couldn't write a complex program in it if I tried.
|
| For example, if I wanted to display a .webp in a desktop GUI,
| I'm confident I could manage it in Python, Zig, C++, C#, and
| even Java although I don't have a lot of experience with it.
| With Pascal, I won't have my Python libraries, nor my out-of-
| the-box C interoperability. In fact, I don't think I've even
| learned how to use a library with Pascal.
|
| I don't know if in Delphi the editor is better, or the
| documentation is more accessible. It feels like it has a lot
| of potential but barriers for entry make it not as
| interesting as just programming something in Python with Qt.
| jksmith wrote:
| For Lazarus, use the BGRAImage package for webp.
| jksmith wrote:
| Yeah, Delphi (and for me now, Lazarus) still provides a
| substantially richer desktop experience than the web
| framework of the day. After having written some beautiful,
| rich apps with this tool, tweaking css makes me want to puke.
| wruza wrote:
| Even thinking of css makes me want to puke. It's just
| unbelieveable how far the DX has fallen, and everyone is
| okay with it! Imagine starting your project from
| _implementing_ poor man's TForm and TDBEdit. And all new
| devs actually believe that it's completely normal.
| klaussilveira wrote:
| Yes! My first "job" was a bunch of freelancing gigs I got on
| rentacoder.com. Mostly Delphi and Visual Basic applications.
| The productivity was insane.
| janci wrote:
| I did not do many things in Delphi but I have studied the
| language and VCL architecture for the very purpose of
| determining why it is so aproachable and productive (as
| compared to C, Java, JS, Python and the tooling around them).
|
| In my opinion, it is the result of following qualities:
|
| 1. The language direcly supports concepts needed for live
| WYSIWYG editing (i.e. properties and events) while other
| languages only simulate it by convention (i.e. Java Bean
| specification)
|
| 2. The language syntax is simple enough for the IDE to
| understand and modify programatically, but powerful. The
| properties files that define the forms are even simpler,
| support crucial features (i.e. references and hierarchy) but do
| not bring unecessary complexity as general-purpose formats do
| (XML files or JSON)
|
| 3. Batteries included - you can do very powerful stuff with the
| included components (gui, i/o, ipc, sql, tcp/ip, graphics - all
| the practical stuff) without hunting for libraries
|
| 4. Discoverability - the visual component paradigm with
| Property editor lets you see all your possibilities without
| reading the documentation.
|
| 5. Extensibility - you can build your own components that fully
| integrate with the IDE. This is my litmus test for low-code and
| RAD tools: For any built-in feature, can I recreate the same
| using the provided tools? Many tools fail this, and the built-
| in components can do things that are inaccessible to user-
| defined components.
|
| 6. Speed - both compilation and runtime, thanks to one-pass
| compilation and native code. Leads to fast iteration times.
|
| 7. The VCL component architecture is a piece of art. The base
| classes implement all the common functionality: They
| automatically manage memory, can store and load persistent
| state, have properties for visual placement (position, size)
| etc. The language features really help here (I remebmer
| something about interface delegation) but there is no magical
| runtime that does this from the outside, it's an actual
| implementation of the component that can be extended or
| overriden.
|
| But of couse there are the ugly things as well: alien syntax,
| forward declarations, strict compiler blocking the Form
| Designer on any error preventing you to fix the very error and
| most of all: while there is very good abstraction for the
| components, there is none for data and state. There is no good
| tooling for data modelling and working with the data models.
| That leads to poor practices as having state in the visual
| components or in global variables.
| askvictor wrote:
| I've often compared Anvil (it's web-IDE for web-apps in
| Python https://anvil.works) to Delphi. I'm curious how you'd
| rate it on those qualities (off the bat it ticks a lot of
| those boxes
| atombender wrote:
| The downfall of Borland started long before Kylix.
|
| Around 1996-1997 is when you had early signs of things going
| awry, when Borland tried to rebrand as an "enterprise
| middleware" company focused on what they called a three-tier
| architecture, with COM/CORBA clients talking to server
| middleware and databases. They bought a CORBA company called
| Visigenic at a time when CORBA was arguably already old hat,
| while also betting on COM and Microsoft Transaction Server.
| They were trying to get into the same enterprise space as
| Microsoft and Oracle, but then the web arrived and everything
| started moving away from desktop apps. I don't think they had
| the enterprise DNA as an organization, and renaming Borland to
| Inprise couldn't magically fix that.
|
| It arguably started long before then. Borland had a messy
| history of spreading themselves too thin, trying to do too
| much, constantly betting on the wrong horse, and ultimately
| never really finding their feet. Buying Ashton-Taste to buy the
| already-antique dBASE strained the company, and they went off
| on weird wild goose chases like Borland Office when WordPerfect
| was already dying, and they missed the web revolution with the
| whole Inprise thing. They might have survived if they shed some
| weight and laser-focused on development tools like Delphi, but
| a lot of the company seemed to have been pulling in multiple
| directions.
| andrewstuart wrote:
| I was thinking the other day how people _really_ don 't want to
| pay to buy a programming language - this was the doom of Delphi
| because it was super popular and alot of people liked it but
| _people really hate paying for programming languages_.
|
| On the other hand, people seem OK with paying for IDEs - witness
| Jetbrains with maybe $1BUSD revenue versus Embarcadero at
| $100MUSD (extrapolated from 2021 numbers). The numbers are a
| guess but the point remains.
|
| So perhaps Delphi might have had a different future if it
| explicitly made all its language free and sold its IDE. People
| might have been pretty happy with that, because as I recall the
| Delphi IDE was really nice.
|
| Anyhow that's all history.
| kylecazar wrote:
| Interesting take. Although, back then people did pay for some
| other languages right (via paying for the de facto IDE license,
| ala Visual Studio/.NET).
|
| I think Delphi 7 was very successful, and then 8 and 2005 were
| just horrible products. It didn't help that around this time
| native OS apps were replaced with web apps. Paying to write
| Delphi for the web is insane since it's just transpilation at
| that point.
| ein0p wrote:
| It died well before the era where most people began to use free
| free tools and compilers. Microsoft killed it by hiring
| Hejlsberg and then doing a decent job with C# and WinForms.
| abdulhaq wrote:
| I paid for Delphi 1, 2 and 3. I also paid for Borland Turbo
| C++, and MS VC++ 1.0 and VC++ 2.0. I don't remember any good,
| free languages at that time.
| jonnypotty wrote:
| The IDE is much nicer these days
| andrewstuart wrote:
| The strategy still might work.
| mikewarot wrote:
| I loved Turbo Pascal, then Delphi. It was the most productive
| I've ever been as a programmer. I kept upgrading and was a very
| happy camper, right up to the point where they went insane with
| their pricing and I couldn't afford to keep going with it.
| Lazarus is pretty good at filling that gap, _except_ for the
| horrid documentation.
|
| The knife twist in the back was when Microsoft hired away Anders
| Hejlsberg and pushed him into the evil that is/was C#. The whole
| .NET thing was, and will always be, evil and bloat.
| IAmNotACellist wrote:
| As a childhood user of QB45, VB, and then VC++, the whole .NET
| branding to me was confusing and abysmally explained, and I
| swear my gut reaction when I see it is that I still don't
| understand it. At the time it felt like a completely out-of-
| touch attempt to get in on the dot com craze, and the name
| itself made no fucking sense.
| wruza wrote:
| QB45 had that function-list feature (F2) that I wish all
| editors had since. It was so clean to see only the current
| function in "the buffer" rather than a scroll of them in a
| single file.
| agumonkey wrote:
| when your 80s IDE fits in a 2020 favicon :)
| Lammy wrote:
| Is Delphi's name any sort of reference to triumphing over the
| Python language? Delphi is where Apollo slew the Python:
| https://www2.classics.upenn.edu/myth/php/hymns/index.php?pag...
|
| "The story of Apollo at Delphi begins with the god's conquest of
| the Python. According to some ancient accounts, the Python
| protected the oracle of Gaia, the mother of the gods and first
| inhabitant of the site. As described in the Homeric Hymn to
| Apollo, Apollo slew the serpent and then spent eight years on
| leave, in order to cleanse himself. Zeus also played a role in
| Delphi's mythological construction. Wanting to find the center of
| the Earth, Zeus sent out two eagles at opposite ends of the
| Earth. They collided at Delphi, and Zeus concluded Delphi was the
| "omphalos," or navel of the world."
|
| According to Guido's timeline, Python began development in 1989,
| had its first release to `alt.sources` in 1991, and had its
| 1-point-0 release in 1994, so it's possible that people at
| Borland could have been aware of it by 1995: https://python-
| history.blogspot.com/2009/01/brief-timeline-o...
|
| Wikipedia suggests not however: "Delphi was originally one of
| many codenames of a pre-release development tool project at
| Borland. Borland developer Danny Thorpe suggested the Delphi
| codename in reference to the Oracle at Delphi. One of the design
| goals of the product was to provide database connectivity to
| programmers as a key feature and a popular database package at
| the time was Oracle database; hence, "If you want to talk to
| [the] Oracle, go to Delphi"."
|
| Cool coincidence at least :)
| bitwize wrote:
| Python wasn't on anybody's radar when Delphi first came out.
| The reference to Oracle is the more likely origin.
|
| The Cassandra DB might've been named with a similar
| inspiration: Cassandra was an oracle nobody believed even
| though she was right.
| rsynnott wrote:
| Yeah, Cassandra was a joke on eventual consistency. So was
| Voldemort (LinkedIn's dynamo paper DB).
| efficax wrote:
| Widespread adoption of python did not really take place before
| 1.4/1.6 in the late 90s or really 2.0 in 2000.
| tombert wrote:
| I've never used Delphi, but I had a manager who had worked with
| it in a previous job, and he utterly hated it. It was kind of
| funny, because just mentioning it could get him started
| complaining about it for a good three minutes. It never looked
| that bad to me, but of course a quick glance on the Wikipedia
| page isn't equivalent to maintaining a large codebase.
|
| This manager was also a big advocate for the ColdFusion language,
| so take that for what it is, but I think his ranting about it has
| made it so I never tried it (or any of its derivatives).
| praptak wrote:
| I hated maintaining a mid-sized Delphi code base too. Although
| this one might have to do with the fact that the main product
| code base was basically "a separate repository per each
| customer, copy-pasted from the least messy one when the
| development started".
|
| I also remember it was very easy to slap a simple CRUD GUI on
| top of an existing DB. The trouble started when you had to
| evolve this. Putting some non-trivial reusable business logic
| between the UI and the DB was non-trivial.
| zabzonk wrote:
| I loved Delphi (used it from 1.0 to 4.0), and wrote some quite
| major stuff in it. The ease of writing components that you could
| drag and drop into an app (not just visual ones) was phenomenal.
| It could have been a VB killer, except that it was based on
| Pascal, possibly my least favourite programming language ever,
| not that VB is my favourite.
| mdtancsa wrote:
| Happy memories. I discovered it around Delphi 2.0 when I was
| using Visual Objects in school. As soon as I starting playing
| with Delphi, it was an immediate realization, "Oh, this is what
| VO aspired to be"... It was such a great IDE and tool for
| developing small "event driven" apps back in the day.
| mtrovo wrote:
| I don't know if it's the rose tinted glasses of looking into the
| past as I'm getting old but I really feel we missed something
| along the way on the transition between desktop to web and now
| mobile.
|
| I remember how approachable Delphi and VB6 were for me as a
| 12-year-old who loved computers, everything was set up so you
| could just get things done. You didn't have to choose a UI
| library, a database layer, a build system with transpiling
| chains, or a particular language stack. You could focus solely on
| writing the code that solved your specific problem.
|
| Now, when I try to teach my child how to code, I struggle to keep
| him interested because we spend so much time dealing with
| dependencies problems, boilerplate or having too many choices,
| none of which have anything to do with the actual goal of what
| we're trying to do.
|
| I don't know, maybe Javascript or Python might take this place
| one day?
| 486sx33 wrote:
| Something is definitely lost, I'd unpopularly argue with FLASH
| too. You could just start templateing with VB6 and Delphi, etc,
| and then start writing specific code or script blobs as needed.
|
| Tools today seem like a hot mess, perhaps more powerful, but
| much less... human
| poulpy123 wrote:
| I don't know if they can replace Delphi and VB6 for your use
| case but gambas and I think Pharo both come with a RAD tool
| lasagnarok wrote:
| Back in 1999 I was 19 years old and started my first job at
| Ericsson. I liked tinkering with stuff, both hardware and
| software so that's what I did.
|
| After a while they gave me the title "software developer" and put
| me with this senior guy who became my mentor.
|
| He taught me a lot of stuff and he loved to use Delphi for
| everything.
| deepsun wrote:
| JavaFX is still alive though, supported, with various (third-
| party) WISYWIG editors, compilable to a binary.
|
| Not on the news radar of course, because most products don't
| focus on desktop anymore, hence Electron for JavaScript etc.
| bdamm wrote:
| Java should have just stuck with AWT. Java on Desktop has been
| a mess ever since Swing.
| codr7 wrote:
| Or focused on improving Swing as opposed to inventing yet
| another half baked idea to be abandoned, it wasn't a bad
| start. I couldn't even get JavaFX to run, too weird.
| FpUser wrote:
| Congrats Marco.
|
| I have desktop product which I've developed using Delphi and
| still maintain. Has 10th of thousands of customers. Gets me some
| cache every month ;)
|
| I do use many languages but Turbo Pascal and than Delphi have
| special places in my museum. Too bad Borland fucked it up so
| grossly and lost market.
|
| I think as a tool for generic applications with extensive UI it
| is still unmatched by anything else.
| kristianp wrote:
| What does the app do, out of curiosity?
| whartung wrote:
| One reason Delphi was productive was that it was a "real
| language" with a decent object model (more so than VB).
|
| You had a simpler display environment of drag and drop "stuck"
| components vs dealing with layout managers, plus most of the
| screens were at best 1024x768. So, you just put buttons and
| controls where you like. You didn't have the complexities of the
| portable, cross platform web.
|
| While Object Oriented, for many it was more a component toolkit
| ala VB. The underlying power was there, but mostly unnecessary.
| Drag, drop, and wire it up.
|
| The DB model was simpler. Tables instead of raw SQL. VB and MS
| Access has similar models. The data bound controls connected to a
| cursor on the back end. There was no ORM to fight. It uplifted
| the dBase world view of the time on to a RDBMS server.
|
| It was single layer (well, client/server). You had the app, and a
| SQL connection. No app servers, no transaction managers, no four
| different layers to get the data through. At best you were using
| stored procedures on the database. Folks didn't have a data
| layer. There was no data model. The forms and database table
| connection was the data model.
|
| And it was just plain fast to use. Fast to build, fast to run,
| fast to debug. I don't remember waiting for hardly anything back
| then with Delphi.
|
| Most interesting is that something like Java did not go the
| Delphi way. It was not "Delphi with a JVM". No doubt some Java
| product tried to adopt the data model of Delphi, with the data
| bound controls, and such. But none of that stuck, really. You
| could a cursor and record set from JDBC, but if you wanted to
| wire it to the Swing components, well, that's what the hammer and
| chisel in the corner are for.
|
| Naturally, the web completely blew that model out of the water.
| markus_zhang wrote:
| An interview at 1995 with Anders Hejlaberg about Delphi-1.
|
| https://web.archive.org/web/20200213131815/https://www.theop...
| codr7 wrote:
| Borland had a bad habit of launching MVPs and moving on to the
| next shiny thing.
|
| Like, leading everyone down the BDE rabbit hole and leaving them
| there; QuickReport, the list goes on and on.
|
| From here it looks like that tradition is still going strong, not
| that I care anymore.
| hermitcrab wrote:
| IIRC Borland C++ was well ahead of Microsoft C++ at one point.
| But Borland seemed to have a habit of snatching defeat from the
| jaws of victory.
___________________________________________________________________
(page generated 2025-02-14 23:01 UTC)