I loved Delphi. It was amazing. But then they ate their own future by going to the stratosphere with enterprisey tool acquisitions nobody remembers the names of any more; then they fell back down to earth, and flirted with Kylix -- Delphi for linux -- but at a time of great upheaval in the linux desktop world, and it never really took off either.
Meanwhile, the former creator of Delphi had left for MS and created C# that at the time was already beating Delphi at its own game.
By the mid 2000s Delphi was already dead in the water: poor unicode support, no 64-bit compiler, and a language that hadn't innovated much since the 90s.
It's a shame, really. Delphi in the 90s was on its way to rule the world. Only then suddenly it wasn't.
> flirted with Kylix -- Delphi for linux -- but at a time of great upheaval in the linux desktop world, and it never really took off either.
It's worth noting that Kylix's failure to take off had a lot more to do with Borland's variously stupid, obnoxious and immoral business decisions than it had to do with the upheaval in the Linux desktop world. It was a strong enough concept for a product, and the base technology was implemented well enough, that all they had to do was not screw it up... and guess what they did?
All these years later I remember saying "fuck it" when Borland decided to wrap up some important bug fixes into the (full price) upgrade for Kylix, rather than just giving them to existing users. The smug uselessness of the one or two Borland employees who liaised with the community online has kind of stuck in my memory as well. The technology deserved to survive but the company sure didn't.
In the bubble they definitely thought they could not die; they were shooting up people who were aware of Linux made a lot of money from their shares at that time (if they sold in time as they never recovered). The CEO at the time acted like it would last forever and I guess he took the employees with him on a smugness ride. Such a shame as they could've gotten far as you say.
I had the same experience and I often wonder about the tendency to "go enterprise" - it seems more like sabotage than idiocy after enough coffee. Probably just the consequence of excessive profiteering /shrug.
Sadly i have to use that piece of shit called firebird.
It has all the downsides of service based DB without all the advantages of file based DB.
And the documentation is way below average, backwards compatibility is a joke.
Not to mention the 3rd party software had to design their own(horribly bad) way to handle geometry in firebird... and they keep transactions open forever - and bloody firebird prior to 2.5 had no way to drop the dead connections.
I vaguely remember that Interbase was a proper client/server thing at first. I'm pretty sure we were using Paradox databases with all their quirks in 1998-2000, including support people fixing broken db files for customers.
Heh, good memories of hitting ^Z in the Interbase command line client app to suspend it, and it pausing the entire server until the client was unpaused or killed. I'm not even sure how that could possibly happen (unless there was some blocking heartbeat thing), but it was 100% reproducible.
I used to love Delphi in the late 90s, and if someone could do a late-90s-Delphi-like experience for programming UI-heavy software today, and do it right, and in a way that properly integrates with the anno 2020 tech landscape, then I would love to use such a thing.
In a bout of late 90s nostalgia, I convinced my then-employer in 2011 to buy a license for the professional version of Delphi for a software project I was doing, and I was just absolutely shocked about how far it had fallen behind the curve. It seemed that attempting to support a modern tech ecosystem while maintaining some semblance of backwards-compatibility was giving it the worst of both worlds. Add to that enterprise bloat.
I don't know what it's like today, but I sincerely hope that someone will get it back on the right track (or has already done so, as I haven't retried since my experience in 2011).
> I sincerely hope that someone will get it back on the right track (or has already done so ...
2020 Delphi supports five platforms, has 64-bit compilers everywhere, has modern language features, interoperates with C++ through C++Builder, and more. In the past few years especially, we've* seen both a lot of work on it, and increasing interest in using it.
It's modern, and used more widely than one might realise.
* "We've": This is a personal HN account but I work on Delphi and C++Builder.
...although language features, 64bit, and integration with C++ were never really where my quarrels were.
The next thing that immediately jumps out at me is that the form designer is still using pixel-based positioning, instead of layout managers and units of length that we know from html, like em (fontsize-based), or vh/vw (percent of view-height/view-width), etc.
I was trying to research these things more extensively just now, but giving you my name, street address, company, phone number, and then "Error: Field required: Yes, I would like to receive marketing communications" for downloading the COMMUNITY edition? Come on! Enterprise bloat: Check.
Sorry to hear it crashed. And no idea re the installer. Just out of interest, did you file a bug report? Because I've been using the grid layout recently and have not seen an error.
> Oh gosh. Form designer still using pixel-based layouts.
If you build a desktop app, you'll get pixel-based layouts, because that's how Windows works. It is fully high DPI enabled and scalable, so it's not accurate really to call the units pixels. Call them design units or similar.
As you noted there are various layout tools, from containers with various flow behaviours, through to anchors and padding.
We use Delphi for some of our older applications (everything new is migrating to either C++17 or Go). I remember upgrading the IDE (forget which version, but it was about 3 years ago) and after loading my project, I hit F1 to bring up the help menu. The whole IDE crashed... Between little surprises like that and the insane licensing price, I'm glad we're moving off of it. I don't have any objections to the language itself, but the tooling just isn't where it needs to be.
Hi there! I’m working on Retool (https://retool.com), which is “Delphi in the cloud”. The goal, as you said, is to make it easier and faster to build “UI-heavy software”. If anybody has any comments or suggestions on how we could market something like this, please let me know! In david@. Thanks!
Not sure exactly where your product lands in a continuum between where Delphi was in the late 90s and where Microsoft Access was in the late 90s with its ability to create forms on top of databases, or maybe Oracle Forms. Delphi was the more heavy-duty option for cases that involved a more substantial investment in coding-up actual logic.
Now when I think "substantial investment" and then look at your website, what comes to mind is "lock-in nightmare". Sorry, not trying to be cruel, just wanting to give you an honest opinion.
I mean: Picture a development team pouring real efforts into development work, then training end-users to use the final product. That represents a real investment. And that investment is then locked into a vendor, where it's unclear what will happen to that investment if the vendor should decide to change the pricing model or go out of business.
I guess the original Delphi did have that problem, but the world was just a different one in the late 90s. You bought your copy of Delphi on a CD with a perpetual license, and an organization that had lock-in to Windows NT software would see it as a perfectly viable path, to keep those Windows NT systems running for the next 20 years to recoup any investment in software. Plus Microsoft was actually pretty good (and continues to be good) at establishing backwards-compatibility.
No, it is less than mediocre. It has not kept up at any sufficient pace to other languages and environments. Just a small excerpt because I don't have the nerve to write an exhaustive critique: bignum, first-class functions, generators, lazy lists, lexical scope, macros, namespaces. Single window in Lazarus requires recompilation that errors out in CheckLst.pas instead of being a preference somewhere in a menu.
What are the advantages / pros of this vs. the free Delphi Community Edition? Seriously asking, as I've been out of the "Delphi sphere" too long and not really familiar with the latest developments but looking to get back into it.
"The compile works on must every CPU and platform"
Not just the compiler. If the board has enough juice one can run the entire IDE itself on it, therefore developing on the same iron.
I've tried Lazarus on old H3 based NanoPIs and slowness aside (microSD, years old board, 1G RAM) it was perfectly usable to write, compile and run code on the same board. Not an ideal condition, still speaks a lot on why Open Source is great.
I wish the IDE supported more languages and compilers though, and even a basic port of the LCL and debugger to them would be a huge achievement.
I always found the even versions (D4,D6) buggy while D5 and D7 were very reliable.
D4 had bugs in its COM code. In 2000 I worked at a Dotcom (homedirectory.com) and we used a D4 COM search component running in SQL Server 6.5. It used to crash when the CPU load went above 5%. I guessed it was D4, recompiled under D5 and that fixed it.
Microsoft as part of its settlement to Borland over the employee poaching (including AH) provided technical info that let D5 generate reliable COM code.
Delphi was pretty notorious for having some sort of tick/tock quality problem, for unclear reasons. Presumably some kind of botched project management inside Borland.
Delphi 1 was a mess. Delphi 2 was rock solid. Delphi 3 was a buggy mess. Delphi 4 kind of recovered things but was never as good as Delphi 2. By this point we'd figured out the pattern and skipped Delphi 5, if I recall correctly.
We give it away now too :) There is a Community edition, where the license terms are basically that you should buy it only if you make significant revenue. Students, hobbyists, early stage startups etc - free.
It is quite simple.
I mean that if you install the software N times; perhaps because you often switch and rebuild machines; and you do not have a current subscription; Dennis in tech support will not reset your license registration limit; and you will never be able to install the software again.
If that happened, it is an error. I believe the flow these days is to go through Sales, but you do not have to buy or have a current subscription to install.
I'll repeat that: You can install a hundred times if you need. You do not have to buy or have a current subscription to install.
The license server counts installations and flags for verification after a certain number because it's quite common for people to install far more times (ie, for more people) than they actually bought. All that is required after you install a one-person license enough times to trigger the server asking questions is to contact us and let us know you really are using it legally. Then you're good to go.
I'm not sure that $5000 would count as significant revenue (I'd prefer an extra zero on that) but I suppose it's reasonable that if you earn enough from Delphi to pay for it, you should.
I can't find the new pricing on the website (everything is free trial / request a quote) but I remember the last time I saw pricing it was so much that I opted to kill the one Delphi-made product I had rather than upgrade. I'm using Xojo instead for my cross-platform RAD development now.
A while ago I got to do some consulting/auditing for a couple of companies in the medical field, and looking under the hood of their infrastructure, I was surprised to see that two of their most important apps for daily use (one a scheduling/filing/CRM behemoth, one a 3D analysis program) are developed in Delphi. You couldn't tell it from the GUI but in one program directory I saw a VERY familiar ico on an exe and my interest was piqued). I went so far as to put one through a decompiler (IDR) to find out which version of Delphi had been used.
So, it seems that Delphi is alive, kicking serious butt and making some companies loads of money, developing beautiful modern enterprise apps.
I, like many others, got my start in programming with early Delphi versions in school - Delphi 3 truly was my first love and I recognize the splash screens that are currently on display at https://delphi.embarcadero.com up until Delphi 2007, but 6 and 7 give me a warm, fuzzy feeling. We parted ways in the mid-2000s but I can honestly say, I never got back that feeling of joy and love for a language and a programming environment that I had for Pascal and Delphi (then again, I never had to deal with any messy legacy projects and component issues back then which surely drove some developers nuts).
Anyway... seeing that Delphi is still alive and watching a few YouTube videos about the new features it got over the last 10 years, including the stunning cross-platform development options for Android, iOS, web and PC (and apparently you can integrate with Sencha ExtJS, although I'm still unclear on how), I downloaded the free Delphi Community Edition - which is GREAT - and knocked out a beautiful little client-server app for a PoC over a weekend. Could hardly fathom the adrenaline rush I got from that...
I'm seriously considering putting in a purchase request for the Architect edition now... buying that at full price used to be a dream of teenage me and I think it's not even as expensive as I remember :-) Can't really justify it but then again, it's a chicken-egg problem and you've got to start somewhere.
You probably can't say that out loud, it being heresy and whatnot, but I could imagine that even now, schools could get more students to develop a love for programming on a wider and more versatile scale with Delphi Community Edition rather than Java or Python... There I said it, pls don't kill.
> I downloaded the free Delphi Community Edition - which is GREAT - and knocked out a beautiful little client-server app for a PoC over a weekend. Could hardly fathom the adrenaline rush I got from that...
I'm one of the product managers who works on Delphi today (together with Marco Cantù. I actually work on C++Builder, Delphi's sister product.) I am really happy to hear that.
Your question about Sencha: we recommend using Sencha for web front-ends, and we have a server product written with Delphi for creating REST services or converting your desktop apps to REST-based backends, called RAD Server.
> I could imagine that even now, schools could get more students to develop a love for programming on a wider and more versatile scale with Delphi Community Edition rather than Java or Python... There I said it, pls don't kill.
It's widely used in non-English-speaking countries for education today. I too expect it would be much better than Java for learning.
Ah, C++ Builder... Borland wasn't afraid to patch the language (hello closures!) to get the features they needed. I loved that IDE, it made me a decent amount of money back in the day and it was ridiculously easy to get a full featured desktop application up and running, sprinkled with some Paradox on top it could do a lot! I will have to give it another look today, if nothing else then just to check who's aged better - the tool or the programmer
> I'm seriously considering putting in a purchase request for the Architect edition now...
Go ahead, make Embarcadero sales department happy. Delphi has not evolved substantially in years. They pretty much keep the product on life support, milking whatever they can from support contracts. I don't see a reason to invest your money and time in Delphi unless you have a legacy application to support.
Delphi was great for developing custom solutions for middle class companies. Not end-user stuff, but no enterprise either. That kind of software vanishing coincides with that whole business sector getting smaller.
From a technical perspective, it was my favorite attempt to tame a often horrible mess of half-baked database design and ad-hoc solutions -- you can do spaghetti code in every language, but the Delphi apps I saw were usually a bit better than their FoxPro/Access/FileMaker/VB equivalents.
I don't see your point. Skype was done in Delphi, and it was pretty much end-user and very successful. There are many other apps: Skype, Nero Burning Rom, WinRAR, Partition Magic, Panda Titanium Antivirus, TuneUp Utilities, Aida64, BeyondCompare, Total Commander, CloneDVD, Ultra ISO, KMplayer, Gold Wave, Sound editor. And I am sure there are many others.
I meant that software for mid-sized companies isn't end-user programming, but not enterprise development either and that Delphi was pretty great for that. Often single developer, often embedded database.
Didn't want to imply that Delphi wasn't/wouldn't be great for the other ends of the spectrum, too.
Siege of Avalon was a pretty great RPG written in Delphi, now open-sourced (no work done on it since ages). I remember liking that it was somewhat "mundane", i.e. upgrading your armor didn't mean that you start out with knightly full plate and it goes all out fantastic after that.
Do you guys think that closed source general-purpose programming languages have any future? In the late 90s and early 2000s both Java and C# were closed source. Still, they became highly successful. Today many people wouldn't even touch a language or a framework to build a business on unless it's Open Source. It's surprising how the programming landscape has changed in the past 20 years.
.NET only became open very recently, it's been quite successful. The entire iOS/Apple developer ecosystem is closed source of course. Maybe Swift isn't but nobody uses it outside the Apple platform.
You could argue Microsoft is an exception and them opening .NET shows the end of that era though.
The "open source or nothing" mentality might change in future. It means there's not much market for developer tools, so everything gets hacked together out of random "frameworks" found on GitHub that are here today, gone tomorrow when the bored developer at Netflix or Google gets their desired promo and moves on. There's no real planning or design, just whatever random stuff tech firms throw in the mix as a side effect of other projects, which is why HTML has virtual reality support but no table or spreadsheet view worth a damn.
Hmmm. Agreeing with the sentiment of your argument while looking at the flip side of the coin, the fruit borne of the ad-hoc lack of coordination you describe is sadly easily overwhelmed by domain domination exerted from committees and bureaucracies with vested interests in specific fields.
Which kind of information-leaks that either VR is hype noone really cares about, or that none of said committees (with attendant lumbering bureaucracy) have really noticed it yet. Wait, I just described the same thing two different ways.
But yeah, no, it would not do to have The Web℠ Platformᴳ, errrrr, "excel". :P
Yes, there's a certain robustness that comes from an evolutionary approach. And some of the web's competitors died because they couldn't (in my view) correctly analyse and match the web's strengths, because those strengths were never planned or written down anywhere. Figuring out why the web is strong is sort of like trying to figure out how our own bodies work. Sure, we can see the component parts. How they come together to make the whole a success is often less clear.
Mozilla added relatively little to the web given the resources invested into Firefox; virtually all their energy went into trying to fix their own architectural mis-fires. Then WebKit came along and very briefly Apple was in charge. That era didn't last long until Google came along and took the crown, which they've had ever since. Unlike Apple and Mozilla, Google actually have added a lot of stuff to the web platform but it reflects a consumer driven agenda. Hence WebVR, WebRTC etc.
To the extent the other players exerted any influence on the Chrome team during this time it's - in my view - been mostly negative. Mozilla lost to Chrome because their technical choices just weren't that good, but they've continued to exercise outsized influence on decision making despite dwindling market share.
Additionally the lack of any real support for libraries or dependencies in the web platform means many of the new APIs added to HTML can't be challenged by competitors. WebAudio sucks but nobody can make a better one because of the sandbox.
In the end the web isn't really the result of ad-hoc coordination so much as a dysfunctional lurching tug-of-war between different groups of engineers who all work down the road from each other at different firms in California (with a detour through Seattle).
C, C++, Ada, Pascal, Basic, Oberon compilers for embedded market, in many cases, certificed compilers.
Commercial UNIX, mainframe and Windows compilers (VS Community doesn't cover everything) are still a separate product.
Sony, Nintendo, MS SDKs for their game consoles.
HPC compilers, yeah you can try with clang and gcc, but if you are doing top research, then IBM, Intel, CodePlay, PGI compilers is what you want to be using on that hardware, and they cost pennies versus the total hardware cost.
And even in what concerns Apple, I would consider that XCode is somehow included in Apple^s hardware price.
I think the standard approach is to not add extra constraints.
Are you writing general purpose, portable code code? You'd rather not be locked in to a specific vendor's compiler.
Are you working in embedded systems? Your code is probably hardware-specific, at least to some degree. You probably aren't going to switch CPUs very often. You probably are never going to switch CPU families. You also probably are never going to upgrade the compiler, still less switch to a different vendor's compiler. So if you aren't going to do that anyway, you don't worry much about a one-vendor-only compiler or language.
I think it's a similar story in HPC. You're constrained by your hardware. You get the best compiler for that setup. That means it's hard to change compilers? It's even harder to change your hardware, so you didn't add much of a constraint.
Wow, 25 years. Wasn't onboard right from the start but something like Delphi 4 or 5 when I was in school. Ended that "career" with some cracked version of Delphi 7 Enterprise (obviously one needed the biggest version as a 16 year old!). I have good memories of Delphi, was my start into programming. Nice to see it's still around.
I've basically learned programming and database design in Delphi 7, using a couple of thick textbooks + Win32 API reference (.chm; no internet back then for us). The smoothest developer experience (build, GUI design, debug) I've ever had. Despite I had a rather mediocre PC at that time, it was snappier than anything modern, save for not-quite-IDEs like VS Code.
They also have a significantly lower barrier to entry. Just by scanning the Delphi page, I'm guessing the free one doesn't include the Linux version as advertised for the big for-pay editions. And the download is hidden behind a registration form. blah.
I made my first substantial, steady paycheck with Delphi. It was pretty great for its time, and it really lowered the barrier for entry into programming, and especially GUI-based programming. I wasn't a huge fan of Pascal, so I ended up continuing to work in C++ Builder, but this stuff was _such_ a breath of fresh air back when Microsoft tooling sucked real bad, and Visual Studio was not "visual" at all. There were entire sites chock full of reusable Delphi/C++ Builder components that you could just download and easily integrate into your code. Then Borland lost Anders Hejlsberg, and Microsoft gained Anders Hejlsberg, and within a few years we saw C# (clearly inspired by Object Pascal) and Windows Forms (clearly inspired by VCL).
OK but I've used vb6, vb.net, Delphi (and Lazarus) and they are all pretty much identical in terms of dropping in controls onto a form, writing event handler code and setting properties. So to claim that delphi's vcl is clearly the inspiration for this in .net is a bit of a stretch.
They are very similar architecturally and in terms of language features, to the point where someone with Object Pascal background would feel right at home. Also it was the first Microsoft visual UI design framework backed by a _real_ programming language.
At work our main product is all Delphi, some 300kLOC not counting the components and libraries (DevExpress, SecureBlackBox etc).
There's been more and more talk about moving to something else, but a complete rewrite would likely be a death sentence so...
Still, for whipping up some quick GUI that does file IO and/or DB stuff there's not much that beats it. Though having to consume REST APIs or similar newfangled things is not such a pleasurable experience.
The built-in REST library is verbose and tedious, and it doesn't do HTTP pipelining which means any non-trival API over HTTPS will be slow as a dodo (though maybe they fixed this recently, haven't checked latest version).
In addition, the built-in JSON stuff is also tedious to use, I found SecureBlackBox's variant with some class helper to provide basic XPath-like access to be quite a lot more ergonomic to use. But JSON still feels like an impedance mismatch.
When I started in college in 1989 our school had an IBM mainframe with terminals where you would type in your Pascal code and submit a compile job and if there were bugs you would get a green bar paper printout that you had to go across campus to get. Through a friend I was able to get a official IBM file upload utility (he was in IBM’s summer sales rep program) and figured out that Turbo Pascal also compiles the (UCSD?) flavor of Pascal that the mainframe ran. While everyone else was doing the compile-print-walk loop (there were no terminals in the building with the big mainframe chain printer) I was interactively debugging my code in Turbo Pascal on my Tandy 1000 in my dorm room and then uploading it over dialup. It was awesome.
From a developer viewpoint i can name three things that have stopped Delphi from competing with languages such as C# and JAVA.
1. No Garbage Collector. While some understanding of object lifetime is required, the constant need to manage allocation and de-allocation of objects takes a lot of energy away from the writing code.
2. Naming variables in a separate Var block. This is really cumbersome and detracts from the development experience. This was somewhat fixed in Delphi 10.3 which was released in 2018 or rather 23 years after the first Delphi version.
3. The unrealistic pricing of Delphi. The high cost of licensing has throughout the times meant that other programming languages have been chosen on this fact alone.
If (1) and (3) could be fixed then Delphi might stand a chance to gain significant market share.
I've probably spent a similar amount of time tracking down memory leaks in C# as I have with Delphi. Garbage collector or not - desktop gui app, with lots of event handlers can cause things to hold on to memory a lot longer than they should. Having a garbage collector in these cases just seems to give a false sense of security.
And while 2 can be mildly annoying, there's a reason Borland compilers are so fast, and that's the somewhat restricted syntax of the language.
4. Irrelevant features: every release needed some cool sounding feature, that inevitably turned out to be no use.
> 1. No Garbage Collector
I somewhat disagree. Strings are refcounted which removes 90% of the potential pain. Interfaces could be used to ensure objects were freed at end of function scope. Full GC would have ruined Delphi IMHO (if you wanted GC you used VB, or Java which had downsides related to it’s GC. Delphi Apps worked great on low resource machines).
Ah, sweet Delphi ... To this day, it remains the best visual development environment that I have experienced over 25+ years. Powerful - yet intuitive and simple - UI, blazingly fast compilation speed, rich sets of built-in and third-party visual component libraries. I have started with Turbo Pascal, which was certainly the breakthrough at the time, and have also worked with C++ Builder and a bit with Interbase & Firebird, but spent most of my Borland ecosystem time with Delphi. Recently, looking for potential better (Delphi-like) alternatives to modern convoluted world of Web development, I have explored Lazarus and several related projects, but none of them seems to provide the same comprehensive-yet-intuitive solution (backed by a solid company) that Delphi has done in the desktop development world. Perhaps, some good relevant projects will emerge in the future, but, until then, I will focus on mastering one of the "standard" modern Web development stacks (e.g., TypeScript + Vue) as well as exploring quite promising Blazor and, generally, WebAssembly technologies.
I learnt Pascal at Uni in the late 1970s and programmed in Turbo Pascal from 1986 on and then Delphi D2 since 1997. Slightly off-topic but two of my applications written in Turbo Pascal:Warlord and Quest, in the period 1988-1990 are still in use today. Both are postal games now run on the internet by kjcgames.com.
I'm currently maintaining and extending a major proptech application with 1.3 million loc of Delphi (XE7). Not so long ago the firm bought another firm with its own a 1.3 million loc of D7 code! There's still a lot of Delphi code about.
I basically learned how to program using Delphi 2, as a 16 year old who somehow ended up writing the LOB software for a small business owned by a family friend. Lots of good memories of that. My career would probably be farther behind if Delphi didn't provide all the pieces to write a reasonable client-server application out of the box.
I programmed a lot 20 years ago as a hobby. I started at 13 with TP7 and some pascal books borrowed from my older brother. Later I "got" Delphi 1 and 3. Crated some smallish programs for myself, like a magic card db program when I started to play mtg.
I learned object pascal (Delphi) in school in high school (now 18 years ago) and it was love at first sight. Coming from ansi c and ansi c ++, the lack of the garbage collector has never been a problem. But then the license costs stopped me as well as the fact that I am a supporter of the open source world. A few years later I discovered lazarus and the free pascal and I must say that since then I have never abandoned them (now 12 years in which I program for linux / windows and for a few years also for mac os and raspberry all for free). If the delphi had lowered the licensing costs and made the product open source in its time it would have killed the market, but it was not so.
One small language feature I liked about Delphi was class properties.
I used Delphi at my first job, while studying in the university, where we were taught Java (and C and other languages), what I really disliked were Java's getters and setters, which seemed like a clunky and pointless verbosity, compared to the properties in Delphi.
Python has the @property decorator, I wish other languages had something like that. Qt also has foo() and setFoo(), instead of getFoo(), which makes sense, and reduces verbosity and visual clutter.
This is exactly what I like too about Delpi (and Pascal if I remember correctly) compared to C++ and Java. Julia, which I use now, has a similar feature but properties are less extensively used there (except for interoperability with Python). But it is a great feature to reduce the clutter in your code.
On my current work the main enterprise system client is written with Delphi and still in active use. I worked for years to gradually replace it with web system with Java, but there's still a lot to do. While I hate it with passion, because it was written by a few generations of developers with very poor practices, the mere fact that it exists and works is a testament to Delphi former glory.
Another component is Oracle 9i running on Itanium HPUX. At least it works fine.
Delphi is great; just ensure you always stay subscribed.
Their tech support team regard properly managing their own strict license system as 'a courtesy' and will prevent you from installing the licensed software that you purchased.
For that reason alone; I am out.
> will prevent you from installing the licensed software that you purchased
Could you elaborate on that? I'm actually interested in procuring Delphi commercially after getting to know the free Community edition recently and I'd like to avoid any licensing pitfalls if possible. I can't really imagine how they would stop you from installing a properly licensed and purchased software but if they do, I'd be curious to know how to avoid running into that situation. Thanks.
Firstly: I liked Delphi a lot; learned it a long time ago.
Straight risk avoidance advice:-
You need to install the Delphi software on a completely dedicated system that you never plan to reset; and image back it up; and hopefully that will work.
And install the software on a Virtual Machine and back that up.
And/Or always renew the subscription if the new features make any sense to you or not.
Do these things and you will be Ok.
My experience was:
I am programming as a hobby; even so - I don't like to commit a huge amount of my personal evening and weekend time to software with a toy license that restricts what I can do with it.
In 2017; Delphi started to look good again; I got the starter edition; really liked it; found it useful; thought why not support the developers; and upgraded to the commercial version at 10.1; also purchased a number of really nice plugins; (used Delphi in my spare time project for a year or so); very happy with the results.
Stopped using it for a while; because my project was finished.
I also messed around with Delphi on a couple of my systems while playing with mobile apps and Macs; found it much less useful there.
My main focus is windows desktop not mobile; I was playing around with new pre-release versions of Windows; I had to reset those systems when they got out of hand.
I ended up unable to reinstall 10.2
(my third party components need that.)
So I contacted support; and was knocked back; with a cold email.
I guess the licensing methodology may be legal (not a lawyer); but it does not seem fair or reasonable to me.
I have written a lot of Delphi in projects I can not rebuild; I own several third party components that are now useless to me.
The current version is I think 10.3; I was subscribed up until 10.2.
I think Delphi is good for Windows desktop programming; especially for GUIs that connect to data bases; nothing like as exceptional for Mac or Mobile.
With respect to those databases you used to need the Enterprise version to use MySQL etc; as the lower license agreement did forbid the use of database services; only allowing local data.
I ended up spending many enjoyable hours learning or re-remembering how the database connections worked in Delphi; and figuring out how my third party components all worked; then enjoyed gluing them all together in my programs.
Where I am now:
I could purchase the latest Delphi and update all my components; for no real benefit to my project; or I can learn to like .NET core and get translating. The third party components I used; are also available for .NET; and there are thousands of open source packages for .NET as well. Not so sure about the GUI.
How do they stop you?:
To be completely clear; because that company likes to be fuzzy about it; I have a valid license; serial number; invoice; and online account (which I really need to delete); I am blocked because I re-installed the software too many times.
Where too many; was not very many; and was not even concurrent.
The GUI builder was great, the build times were great, the debugger was great.
What was not great was Pascal, especially their version of it. It didn't even have a published formal grammar (as of Delphi 5), as I found out when trying to write some simple tooling for our codebase.
For those missing Delphi, have you considered VS/C#/Winforms? I gonna tell you than its binaries as portable as Delphi/Kylix(e.g. major platforms covered).
The language is much less annoying (oh how i hated Type and Var sections in the times).
The gui programming style can be similar or can be modernized.
The designer and component library is vastly improved. Third party components are cheap compared to today's "cloud" prices.
There are libs for everything.
Can be compiled to native binaries(not sure this will leave 'experimental').
Feels like a direct replacement to me.
I actually did some scant research on this recently and found out that they have a free Delphi Community edition which seems almost identical to the Professional Edition, has full cross-plattform capability incl. iOS and Android, and you can even use it commercially until you made a profit of $5000 off of your apps (if I'm not mistaken).
That'll probably allow 99.99% of students and hobby programmers and a good chunk of small businesses to use it free forever without ever hitting this mark and seems to me like one of the fairest schemes to use expensive software out there. It's what we always wanted 15, 20 years ago.
Imagine Microsoft or SAP or whoever offered you to use their Windows Server Datacenter or ERP or even Office suite for free until you made a $5000 profit off of using their programs...
Like 1600 and you get 1 year of support. After that you pay the yearly subscription fee to stay on support (about 400 or so). If you skip a year, you are back to the "never have been a paying customer" status.
It is not cheap.
Not all bad though, I do like Delphi itself, but the customer hostile attitude of the company does leave a bad aftertaste and make me want to ditch it.
A lots of industrial/medical/lab instruments still use Delphi for user interface and some high level control. Delphi is still quite popular, but more and more niche, in Germany, Austria and countries with manufacturing/development ties to those countries.
This template project has a REST back end (sounds like you already have that) and demos connecting to it from native clients and from AngularJS. You don't have to do anything special to hit Windows/OSX/Linux with it. The one project will compile to all 3.
At the time of the Delphi 8 release I went to a Delphi conference to get to know the community better. This was 2003 or so? I was evaluating whether or not to get more licenses for our company so we could put extra effort into developing Delphi for .NET.
Let's just say that I found the people there to be rude and insulting. Not just the people at the conference there but also by some of Borland staff there as well. A joke was played on me which I won't get into here but I didn't - and don't - appreciate being bullied.
Let's just say that the next day I abandoned Delphi and moved our entire company to Visual Studio and never looked back.
No offense, but that'd be like if you stopped eating your favourite vegetables because you once met an offensive vegan :-)
Why would you move your ENTIRE company to a different language/development system because someone was rude at a conference?
FWIW I felt out of place at conferences before, many are just an exercise in peacocking and showing off (and still, I have learnt some interesting things from some incredibly irritating people in my time). But I would never change something that I like and that works for me because other people that just so happen to use it too, are rude.
I've met arrogant and frankly insulting people at both Linux and Microsoft events, for example (Linux famously has people who can be wonderfully insulting on mailing lists and dare I say often deservedly so) but it would never occur to me to switch my entire company to, say, Windows Server, because Linus (heaven forbid) said something rude to me :-)
I can't even actually rule out that I might have behaved in a way that might have been interpreted as rude at conferences myself, especially after several days of travel, talks and general exhaustion. So I'd actually be curious to hear how you felt you were insulted or bullied or made a joke of so that I might keep an eye out for such behaviour myself.
FWIW, you may find that Borland is no longer around or involved with Delphi (and hasn't been for a decade now, I think), so the people might be different, too. I've certainly found Delphi worth a second look recently and hope the forums and communities of old have been or will be revived in some way.
I had an acquaintance who bought the most recent Delphi release (he’s a long term customer), but had some troubles so he installed the free community edition as a stop gap solution. They phoned him and bolloxed him and demanded he buy another copy, extremely rudely and extremely forcefully (almost as if the person calling had KPI’s for upsells).
Unless I had a burning reason to use Delphi, I would avoid it, since I don’t like dealing with stupid businesses if I can avoid it... Don’t burn your loyal customers...
OK I guess I did feel a bit butt hurt, but I was at that conference to genuinely get information about the latest features (MIDAS, ASP.NET integration, etc...) and my questions fell on deaf ears. It was being ignored and pranked upon combined with a general sense of directionlessness that turned me off of Delphi.