Joe White’s Blog

Life, .NET, and Cats


Kinda wishing I could keep using Delphi

I’ve been reading the recent debate about a “Delphi Community Edition”. Most of it seems pretty abstract: “I think it would help the Delphi community if…”

That’s all well and good, but I thought I’d share something less theoretical: something that directly affects me, a longtime Delphi geek.

I’ve been using Delphi since its first release in 1995. I still have one of the original brochures somewhere, with the quote saying “It’s going to change our lives, you know.” That quote still sticks in my head, all these years later.

Delphi has been a pretty good tool to work with. Sure, the IDE freezes for half a minute at a time when you type an open paren, Ctrl+click doesn’t work half the time, and the IDE still can’t pull off a cross-unit rename refactoring (and, and, and…). But damn it, Delphi lets you write programs that work and work well. Good God, just try to find a decent unbound grid in .NET. Or a WinForms control — any WinForms control — that even begins to approach the quality of Toolbar2000 or VirtualTree.

My company got acquired, and is moving to .NET. On the one hand, I honestly can’t say I mind too much; .NET has some sweet libraries — way fewer cool GUI controls than Delphi, but more cool everything else. I love not having to write one set of code to deal with an array and a different set of code to deal with a list. The unified type system rocks for unit testing (no need to write a CheckEquals overload for every enum we’ve ever defined). And, of course, Delphi doesn’t have ReSharper. ‘Nuff said.

But I cut my Windows-programming teeth on Delphi (after banging my head against VB). Asked my comp sci department for a copy of Delphi instead of a cash scholarship, way back in ‘95. Used it for my senior honors project. Knew it inside and out. Took at least one Delphi aptitude test where I was correcting the questions. Somehow I became one of the first Delphi conference bloggers. And Delphi has gotten me more than one job, and it got me where I am, working with a terrific team.

I’d really like to keep a copy of Delphi around, just to play around with for hobby projects. It’d be great to play with the new stuff in Delphi 2010. And to play with Prism. And, hell, just to show my appreciation for the product, by paying for a license now that my company won’t need to anymore.

But if it’s just for me, I can’t justify the price they want me to pay.

If it was $200, I’d find the money; Delphi is totally worth that. I might even be able to stretch to $300, especially if it included both Win32 and Prism. But $400, for an upgrade that’ll just need upgrading again in another year, and for just one platform? My wife really needs a new computer, and it wouldn’t be fair of me to ask her to wait another half a year for nothing better than that.

At $400, I walk away. With regret.

The last version of Delphi that I own is Delphi 4 — after that, I was always able to convince my employer to buy it for me (or they already had it). So after December, when the “upgrade from any prior version” offer expires and even the painful $400 price-point goes through the roof, I’m probably going to be out of the Delphi business permanently.

And so we come to (presumably) unintended consequences. By setting their prices so high, the Delphi sales team is ensuring that, once I’m no longer paid to use Delphi, I’ll no longer be able to use Delphi. And so I won’t be able to stay current, and a couple years from now, I probably wouldn’t be able to get another Delphi job even if I could find one.

I suppose they need to run their business as they see fit. They have every right to set prices high enough to drive away their longtime customers, if that’s what they feel they need to do.

But I’m becoming painfully aware of what a lot of people have been saying for years: Delphi’s pricing is downright hostile to the hobbyist. They’re aiming strictly at the enterprise, and screw anyone else.

And that’s sad, because it’s the Inprise attitude, and the ALM attitude, all over again. They’ve got this “if we raise the price tag, we’ll get more money, and the money’s all that matters” mentality. It apparently never occurred to them that sometimes, lowering the price tag can multiply your income (and your customer base). Would that hold for Delphi? A lot of community members have been pretty vocal in thinking it will, and I’m becoming a believer.

But the sales department, so far, has stuck its fingers in its ears and pretended not to hear. And the dev team either can’t, or won’t, pressure them to change their minds.

I totally admire what the dev team has been doing lately. They’ve been making Delphi, well, Delphi again. They’ve been doing some serious moving and shaking. D2010 sounds sweet, and I’d love to play around with it.

But unless they fire the Borland/Inprise sales team, and hire some CodeGear folks, my Delphi days are numbered.

I’ve always hated change. Life will go on, of course. But still, I’ll miss Delphi.

39 Responses to “Kinda wishing I could keep using Delphi”

  1. Paul A Norman Says:

    I am afraid that I think you are right Joe.

    You have directly crystallized what i have been starting to think.

    All this talk about cut down community versions of Delphi etc begs the question of on going pricing and back up.

    The “owners” may be calculating how to earn back their investment (purchase price) by set high price for known enterprise market – ignoring the realities of what you are saying about a bigger code base.

    Perhaps we could learn something here from general Asian and especially Chinese concepts of marketing. Get the price way way down and increase the turnover.

    Paul

  2. David Champion Says:

    Hi Jo,
    this reads like a lament. The prophet Jeremiah comes to mind. Where writes about the decline of Judah and the impending destruction of the temple. :(

    No Level-entry Delphi product => no growth in community => slow decline

    No crossplatform Delphi => no growth in community => slow decline

  3. Michael Says:

    Hi Joe,

    I totally agree with you!

    I’ve started to get my own personally copy of a Delphi version ever when buying Turbo Delphi Pro. Before, I luckily could use the versions of my company (they stopped upgrading at Delphi 7, btw. and now use MS Visual Studio) but I started to so some spare time programming at home and ordered my personal copy of Turbo Delphi.

    Last year I even upgraded to Delphi 2009, simply because of Unicode! And this year, maybe a great Codegear wish, I should upgrade again to Delphi 2010 (there are no new feature which do interest me at all which I couldn’t get by using some tools like GExperts or CNPack). And next year I should upgrade to 2011!?!

    I wish Codegear’s primary software tool, would be more consistent. I don’t mean that there shouldn’t be any feature release (in new versions) but I wish bug fixes for a long term period for current products and not only for one year.

    IMO it doesn’t make any sense for an end-user to release a new version every year. Of course it makes sense to get new, fresh money, for Codegear. However, this is certainly not the best user-friendly strategy.

    I personally want bug fixes for a longer period – nothing more!

    cu,
    Michael

  4. Karol Woitila Says:

    I perfectly agree with you!

    Yes, me too I’ve always upgraded from D1 to D7, but after that I’ve decided to stick with D7 and do not further upgrade.

    Delphi has changed my life (as a programmer), but the correct tag price for each new version should be between 200 and 300 USD, period.

    It seems that the marketing team at Embarcadero did not take into account that we have to live in this times of global financial crisis. And this is sad: the marvelous job done by the tech people at Embarcadero will be voided by a completely wrong marketing strategy.

    The only “sane” strategy that Embarcadero could embrace is a real price war against Microsoft.

  5. Tom van der Vlugt Says:

    I completely agree with you!
    I have purchased licenses of:
    Delphi 4 Pro
    Delphi / C++ Builder 2009 Pro
    because the Standard/Personal edition didn’t suffice for me, because I’m a database geek.

    I’ve also purchased the following:
    Kylix 1 Pro (full)
    Kylix 2 Pro (upgrade)
    Kylix 3 Pro (upgrade)

    Unfortunately Kylix and also CLX (Platform neutral VCL) have been abandoned. This is very sad. Okay, the quality of Kylix 1 was somewhat poor due to some libraries Kylix needed, but since Kylix 2 the quality was great! Now all the money WE (all Kylix users who purchased at least 1 license of Kylix Pro or Enterprise) have spent to Kylix is gone. I’m very sorry. I had been better of to buy a license of Delphi 7 Professional instead of Kylix for Linux.

    Nowadays From Delphi 8 and up, Borland/Codegear/Embarcadero has stopped the Standard/Personal edition, with the exception of the Turbos (derived from Delphi 2006).

    The practical problems I’ve met with Turbo are:
    Only one language can be installed on a (virtual) machine.
    The help system doesn’t perform well. If .NET 2 and up gets installed using Automatic Updates the Turbo helpsystem stops working.
    The IDE needs a lot of memory due to the .NET 1.1 bytes.
    Interbase 7.5 doesn’t work well due to licensing issues on XP.

    Although it isn’t possible to install downloaded or own written components into the IDE of Turbo Explorer, it is possible to create components at runtime. This is by design and this has never been a problem for me. The amount of stock components is pretty large and the product theoretically is very usable.

    Therefore a free or low-cost version of Delphi, C++ Builder and/or Prism is very welcome.
    Also I find that Kylix (sadly abandoned) users who have PAID for the license should get compensated.

  6. Ken Knopfli Says:

    Your experience mirrors mine almost exactly.

    My company moved to .NET/C# some years ago.

    So I am also reduced to using Delphi on a hobbyist/interest level.

    I agree that Delphi’s GUI domain is deeper and more mature than .NET and have made a small (Delphi7) .dll for our .NET project for something that wasn’t doable in C#.

    And I agree that the .NET library is great, incorporates the best of breed of other object models, plus adds innovations of its own.

    Therefore I also welcome some kind of Delphi Basic version in future that I can reasonably afford with my personal income.

    And the reason is that I am in a position to argue for Delphi, and I intend to do so once I feel I can recommend it with a clear conscience – something I cannot do if I cannot afford to use it at home anymore.

  7. Giel Says:

    Of course I agree that Delphi pricing isn’t attractive to hobbyists, but I have my doubts about your Delphi 4 to D2010 upgrade example. I mean, if you don’t want to spend $40 per year on your hobby….

  8. Joe Says:

    Giel: Fair point. And if I’d known that my employer would be leaving the Delphi business, and I’d need to save up $40 a year to upgrade to D2010, then there would be no problem. (grin)

    But if I started now, $40 a year would get me a full Pro SKU in, let’s see… a little over 22 years. Assuming the price stays constant forever.

    Even the $200 I’m willing to spend — assuming I’d be willing to spend that much every single year — would require over four years of savings to buy one copy. After four years of not being able to use Delphi, I doubt I’ll still be interested anymore.

  9. Shane Says:

    Same boat here.

    Our company still uses Delphi 7. We own two licenses of Delphi 2006 & 2007 each, but never used them (CRAP!). We decided to upgrade this year to Delphi 2010 because of the new language and RTTI features, Unicode, and DBX4, and drivers for Firebird and MySQL….and because they were offering the BOGO (Buy one get one free) deal. Here is a message we received from the Product Sales Manager :

    “The BOGO promo seemed to create more questions than opportunities. The plan was to give developers a second tool to use to get to know some of the Embarcadero products. Unfortunately the name would lead you to think you could buy one RAD Studio and get a second one for free.”

    When we realized we couldn’t get the second one free, we dropped out of the deal and cancelled our purchase order. Embarcadero has no clue on what they just lossed. My company had been purchasing products from them for ever (Delphi, Interbase, etc). We were a licensed vendor (partner) for sales of Interbase to our Clients.

    My company has been talking about moving away from Delphi for about three years now. The only two Delphi developers left in our company (Myself and another coworker) have convinced they to continue to use it for the past three years. Im afraid, those days have come to an end.

    Remember the day when everything was Delphi (IT WAS THE BOMB). There were a couple books published each year, Lost of Delphi Magazines published, User Groups in every large city, and very active component download pages (Delphi Super Page, Torry’s, ect).

    Its all gone away…….and soon, before you know it, it will be completely gone.

    Its either time for us to move on, or Embarcadero better pull a rabbit out of its hat!

  10. Michael Says:

    I too would spend $200 for upgrading to the next Delphi version, but certainly not $400 and more for some IDE enhancements, some new (mostly initially buggy) language features and bug fixed for previous Delphi releases which didn’t find their way into any patch because the developers were forced to work on the next release.

  11. PiotrL Says:

    They have to be more open on market and be more competive, otherwise Delphi will die as the last Win32-only solution:
    - 64 bits
    - correct incremental Unicode support (UTF-8 in “string” type, UTF-16 in “WideString”)
    - SIMD support
    - maybe Free Pascal (compiler replacement) support? For portability.

    Now, I don’t see any reason to buy 2010 (for any price) with the latest list of enhancements.

    Delphi is good solution for SMB sector but price is not affected by this fact.
    Large enterprise solutions are built in COBOL, J2EE and .NET
    Somebody forgot about it.

  12. Rich Says:

    If you can’t afford to spend $400 to have Delphi you need to find a new employer!

  13. Joe Says:

    No, I just need to go back in time and not get so deep in debt.

    Besides, it’s not just whether I can afford it; it’s whether it’s worth that much to me.

  14. Clay Shannon Says:

    I was a “Delphi diehard” for years (from Delphi [1] up until last year).

    For a long time I felt that if there were only two Delphi developers left in the world, I’d be one of them.

    Alas (as Pournelle would write), for the last year I’ve been using VS (a little asp.net, but mostly WPF (C#)).

    Zappa feared nostalgia and paperwork most ; I still have a soft spot for Delphi, but have “moved on”/”the train has left the station.”

  15. Mike Says:

    It’s funny how a lot of the Delphi users have nearly the same story. I too am still using Delphi 7. Newer projects are done in C#. I’ve worked on several projects in VS, but find that it really slows me down. I can usually do the same thing in Delphi in about a third of the time. A lot of this has to do with the naming. If you know how something was done in Delphi, something similar will usually be in .net. What you find might have extra security, be bloated with XML, or otherwise hard to figure out.

    As things are now, I don’t see Delphi ever being as big as it once was. The new pricing will not entice new users to try it and will scare away business that was on the fence. Sad to say, but as Delphi gets better, it will be used by even fewer programmers.

  16. Xepol Says:

    This is part of why I wish Microsoft had been the winning buyer instead of explicitly excluded from the process.

    At the very least, they could have afforded to make it dirt cheap.

    And don’t give me that whole “crush the competition” nonsense. Microsoft’s first concern is that you develop for THEIR os – Delphi would have been kept health and viable for a long, long time just to ensure exactly that.

    Still, Embarcadero has done a number of good things for Delphi, we can always try to keep lobbying the company now that Borland itself is long, long gone.

  17. Andy Gibson Says:

    Another “me too” here. Last version I paid for out of my own pocket was Delphi 2006 (version 10) and it was around $400 and complete waste. The help system was broken, it was bloated with .net, it would freeze, hang and just generally slow me down. In addition of course, all the libraries I used at the time needed upgrading to the Delphi 2006 version from the Delphi 6 version (Dev Express, RemObjects etc). Since I had the source, I just muddled together my own upgrade.

    Since then I moved over to Java full time and don’t miss it much. Using Eclipse or Netbeans is light years ahead of the Delphi IDE and free to boot. I’m not getting nickle and dimed endlessly to pay thousands for an enterprise version just to connect to a remote database! It’s the professional version, who isn’t going to be connecting to a database! I’ll just go use Firebird and their components. Moving to java from Delphi was like a caveman coming out from under a rock and into the 20th Century. Refactoring, decent auto completion, code helpers, generics, Unicode and a rich ecosystem of free third party libraries.

    That said, I have been using Delphi since it first came out in 1995, and I still have copies of my old versions as well as Kylix 2, but like you, I don’t use it at work anymore (well, except for the macro recorder, that comes in real handy sometimes for repetitive changes to text). It is still the best way to develop native Windows applications and I think Xepol is right, Microsoft values developing for Windows more than anything else, and so far, .net hasn’t really filled that space. Unfortunately, it seems, neither has Delphi.

    I don’t think I’ll ever be purchasing another upgrade if they expire the upgrade from any version in December, especially if it is still $400. I think since they came up with the subscription model, Borland (and now the new owners) have done nothing but take advantage of the loyal Delphi developers by gouging them, especially since most of the revenues went not to Delphi, but to other products.

  18. Fred Weller Says:

    Well, I’ve been at this a bit longer than you – I started with TurboPascal 3.02a and have kept up with every version since then, including the much-lamented Kylix (all three versions, alas). I, too, would point out to the Embarcadero folks that the biggest reason that TurboPascal made it as big as it did is that back in the day, when M$ was selling Fortran, C++, Cobol and Pascal as “compilers”, they charged around $700.00 for each one. TurboPascal came out at…$49.99. The colleges scooped it up because it fit within a students budget, was *designed* as a teaching language and there just wasn’t too much you couldn’t do with it. With the $3,000.00 plus price tag now, I can’t justify it to a student trying to learn their first language and get a taste of what software engineering is like.
    I agree with the above, what I would do is set a basic Delphi out there at today’s equivalent to $49.99, whatever that is. I’d make it able to talk to FireBird for a database and leave it at that. The professional version should attach to all the databases out there. The Enterprise version should include Prism (*way* cool product!) and they should all be down there BELOW $1,000.00 so that us hobby types can still keep a finger in. Since the world seems to have gone “Big Blue shop” syndrome all over again only now it’s “Microsoft shop”, Embarcadero will have a *tough* time ever getting back to the level that Borland once had. It can be done, but it needs to be at the grass roots level like Turbo was. Finally, if you really need to have one, the Architect version of Delphi can be sold at seven or eight thousand dollars or more (’ll NEVER buy it, I can’t afford that), include all the UML goodies, the database tools, etc. that Enterprise shops all love (and can afford). What I am saying is that instead of having a linear slope of price increases depending on version, scale the first three to be at the bottom of the curve and Architect at the top. THAT might help sales a good bit. I mean, even I, one of their most loyal fans, is having trouble with the notion of paying the $839.00 maintenance (SA) cost every year when M$ offers their professional version of VS for $499.00 a year and they have programs like the “Spark” program that gets me all their tools, for THREE years, for a total of $100.00 (yep, that’s not a misprint – one hundred dollars – beat THAT Embarcadero!). Unlikely as it seems, it seems that Microsoft, not Embarcadero, actually “gets it”. How ironic, how sad. One can only hope that Embarcadero wakes up, remembers Borlands early roots and “gets it” again.

  19. Chris Says:

    The original post here’s sound, but some of the comments are.. well, not so sound -

    @PiotrL: so, one the one hand, you want Embarcadero to re-do the unicode switch (and with a horrible hack to boot – Google if you don’t know what I’m talking about) in a vain attempt to improve backwards compatibiity, but on the other, you want them to dump DCC and adopt the FreePascal compiler, breaking any code that uses modern constructs (e.g., Delphi generics FP generics) and introducing a multitude of subtle behavioural differences to boot.

    @Michael: if there weren’t an annual Delphi release, the existing SA system would fall into disarray, as people wouldn’t be getting anything for their money every other year otr whatever it would be.

    @Fred: so for Embarcadero to ‘get it’, they need to effectively give Delphi away? Are you serious? That said, I don’t agree with your freetard reading of the WebsiteSpark programme – that $100 concerns an *introductory* offer, paid after the first three years; if you wish to use all the software after that, then you will need to pony up $999 per annum.

  20. Mason Wheeler Says:

    Chris: Yes, for Embarcadero to ‘get it’, they need to effectively give Delphi away. Dead serious. It’s a simple matter of market dynamics. There’s a free version of Visual Studio. There’s a free Eclipse. The entire GCC is free. Without a free version of its own, Delphi is not competitive, and without being able to compete on price, its ability to attract new developers is crippled. It’s as simple as that.

  21. PiotrL Says:

    Maybe people, istead of crying what you miss in Delphi you just try to use Lazarus?
    I have problems in finding a reason why I should not use it for hobby projects.
    It could be even used for two-days utility production-ready projects.
    - wide range of supported databases (see also AnyDAC)
    - plot component included (PlotPanel)
    - advanced UI controls, WPF-like: VGScene
    - 64 bits
    - multi-platform
    I didn’t try it in real-life application, but it’s UI mirrors Delphi IDE so it shouln’t be hard.

  22. Mason Wheeler Says:

    Lazarus isn’t a viable Delphi replacement. It appears to be one at first, but it’s missing support for some very basic functionality, such as frames and packages, which makes it unsuitable for porting over Delphi apps.

  23. PiotrL Says:

    I’ve never used frames. Forms on panels are much better for me.
    I hated only one thing in Delphi IDE (D1-D7) – package management…

  24. Chris Miller Says:

    The current Delphi pricing strategy pretty excludes the hobbyist programmer. That’s a shame because the market for Delphi continues to shrink and they need all the market share that they can get. I’ve been using Delphi since the 1.0 days, but I don’t know anyone has picked it up within the last few years. That’s a shame. It’s a great tool, and still the best one for pure Win32 development.

    My job allows me to program in Delphi 2010 and Visual Studio 2008 in roughly equal proportions, so I get to keep current with my Embarcadero SA. But I’m doing more and more C# than Delphi, any new project that I take on will be in C# unless there is a compelling reason for doing it in Win32. All things considered equal, I can write a new desktop application in Delphi in less time than it takes to do it in .NET, but that gap shrinks the more I use .NET. When we look at hiring programmers, it’s much, much easier to find a C# programmer than it is to find a Delphi programmer. The available talent pool does affect our development plans.

    I agree with you, the VCL controls that comes with Delphi are more robust than the WinForms or WPF controls that come with VS. On the other hand, the .NET Framework has everything but the kitchen sink and the newer technologies (LINQ, WPF, ect) are pretty cool to work with. And I would to have CodeRush and Refactor Pro for the Delphi IDE, they are great in VS.

  25. Astute Says:

    Lazarus would be a viable platform if instead of lamenting Delphi and the multiple idiotic iterations it has gone through if there is more use of and contribution to it.

    LOL – not using it for a lack of crappy package management and a non-used item?

    What garbage!

    You have the chance to make Lazarus into the IDE you want and you waste all your time whining. Go to .net, you’ll fit in well there.

  26. ferrisoxide Says:

    Ah Delphi…

    I cry a little every time I hear its name… like many here the years successfully programming in Delphi (while colleagues were struggling getting Java or C++ to do anything remotely useful) are looked back upon fondly, without regret. But also like many here, I’ve moved on.

    Thank you Delphi.. a kiss goodbye..

  27. pebecker Says:

    I too stopped upgrading at D7. Now I’m all excited about D2010 and can’t afford to upgrade.
    I can still write killer apps in D7, but sure would like to have the newer tools too.

  28. Greg Says:

    It is sad. Even Crystal have ceased to support later versions of Delphi.

    Thet do give (bad) instructions on how to modify the Crystal 11 VCL to work with Crystal 2008 but make a point od the fact that they do not support it infavour of “more main stream languages like C# and Java”

  29. Robert Says:

    I also started out with the first version of Delphi and held on until version 7. It was perfect for Win32 (still is) but I have moved on to Linux. Kylix was a mess but so was Desktop Linux at the time. I would love a modern cross platform RAD development environment alá Delphi. For that I would find $400 or even more. I don’t se my self jumping on the Java or .NET band wagon. So here I am, stuck with a text editor, C, Python, GTK+ and PyGTK. Love C for simplicity, performance and portability. Love Python for syntax, structure, and “standard library”. Love GTK+ for the same reasons as C, architecture and design. Love PyGTK for making GTK+ transparent and accessible from Python. Hate the text editor! It’s just as bad as before I first got my hands on Delphi…

  30. Philip Says:

    I have been using Delphi and before that Turbo C and Turbo Pascal since at least 1995. My experience mirrors the experience of others who have commented – the last version of Delphi that I purchased was Delphi 2006 pro edition.

    The fact that Delphi pricing is thoroughly screwed up has been made clear to Borland/Inprise/Codegear/Embarcadero for years. They just don’t get it.

    They need to wake up to a few simple realities

    a) Their friends aren’t in the “enterprise”. The “Enterprise” is currently on .NET and J2EE – they have their own IDEs from IBM, Sun, MS, Oracle etc.

    b) They are NOT interested in investing in a product line which has very few developers – just count the number of people on Monster who are listing Delphi as their primary skill. They don’t want to have to put out ads for weeks before they find a single good developer. EVERY company that I know of who was making Delphi products have transitioned to .NET – EVERY company. They have either laid of their Delphi workforce or trained them to work on .NET.

    c) Delphi developers are fast moving out of Delphi into other languages. I moved out into C++, .NET and now Java. That has been the same story with almost all of my former colleagues who were in Delphi. If you need to find a Delphi job, it is very difficult right now because of (b).

    d) I am very sorry but the truth is that most companies can develop pretty much any “enteprise” solution right now using free IDes. Eclipse is very, very popular. Intellij Idea isn’t very expensive. The libraries are all available free and so also the app servers. If you need the commercial libraries, they can be purchased without one having to change the IDE.

    Delphi should have been made into a cross-platform tool which would have allowed development of DB apps for platforms from the desktop to the mainframe. Their current tool support for this has come in too late – the enterprise already has good products for this and they don’t need one more. Kylix was ok, but it wasn’t sufficient. Also your prices were too expensive.

    I run a software development company now. I am NOT going to invest in Delphi when you consider that NONE of my clients would want me to develop their solution in a language/platform which looks like it is going to die out. If I suggest Delphi as the language for their solution, they will walk out on me and go to a company down the road willing to develop in .NET, J2EE etc.

    The only hope that Embarcadero has is to:

    a) Increase the number of programmers available who have Delphi skills. They can only do this if they make the product available very cheap (sorry – no “enterprise” pricing). The barrier of entry should be kept really low. If not, just forget it.

    b) Have a single base IDE with “enterprise” functionality as additional modules which can be purchased. This would lower the barrier of entry and also provide companies and hobbyists the option of getting additional functionality when they require it. Have a better marketplace for Delphi plugins and components and additional functionality.

    c) Encourage businesses seeking to develop software solutions to use Delphi. Again,this must be priced really low – huge discounts should be given for licenses and even greater discount for volume licenses, incentives for developing solutions and a market place for the same.

    Win back your friends and please do remember – your friends aren’t in the “enterprise”.

  31. JB Says:

    I’ve been using Delphi from D2 to D2009/2010. Even though I can afford to upgrade Delphi annually (at least the Professional edition – not sure about the Enterprise edition), I do not do so because Embarcadero (or Inprise/CodeGear etc) do not fix the bugs which affect me most. I’ve already cancelled by D2010 order because of unfixed bugs. Mostly I am not interested in their new features (Unicode excepted) because they are not sufficiently polished or debugged, so they become just marketing captions to catch the unwary.

    I disagree strongly with the lazy “fix only the most complained about bugs” attitude of Embarcadero. Many of the outstanding IDE and language bugs could easily be fixed and would make a big difference to me. The guy who sorts through the bug reports in QualityCentral seems to me to be an obstacle to improving the product. By now, the IDE could and should be polished to perfection. They could take pride in a close-to-zero bug product. I’ve tried teaching my 7-10 year old kids how to program in Delphi (as well as VB.Net) and though they cope well with the language syntax, sadly I often have to dig them out of IDE issues or “Find Declaration” not working etc etc – bugs that could have been fixed years ago. (Regular users work around these problems, perhaps unconsciously, but they show up with beginners).

    For all these problems, Delphi does have some unique and important qualities.

    1) Delphi code runs fast. Really fast. I’ve written a huge suite of medical simulation software in Delphi and any attempts to port it to C++ (when Delphi looked like it was dying) have resulted in slower code. VS C++ does some crazy things such as creating unnecessary local structures for the return value of a function, then copying each element across, rather than using the return value pointer directly. Even using “inline”, the C++ was version slower than the Delphi equivalent, in our tests. C++ has a reputation for being fast. Delphi deserves at least an equal reputation. VB.Net and C#.Net applications are very very slow by comparison (unless they are mostly calling native code/libraries).

    2) Delphi compiles fast. Really fast. For small or stable projects this doesn’t matter much. But I write huge applications, or suites of applications, and I wish to fix all problems wherever they occur, right now, not write lists of them. In C++, C# or VB.Net this means I spend literally half by day watching the compiler (or using the exercise bike next to the computer). With Delphi, I don’t get a moments peace. It works me hard, and I get a lot of work done. Single specification + single implementation applications are always horrible for the end user. Iterating the specification and implementation phases is the key to great software, and no language allows this more than Delphi (though unlike VB.Net, Delphi does not allow “Edit and Continue” which can be useful for putting the final polish to applications).

    3) The Delphi (Object Pascal) syntax is absolutely brilliant! Neatness is crucial when working on huge projects single handed. For programming snails that crawl across the code reading one word at a time, this is not important. But with the right sort of brain (perhaps visual rather than auditory?), you can “speed read” a page of neatly laid out Delphi code in literally just 1 to 5 seconds. Comments – which by virtue of the fact that they are not checked by the compiler or run are invariably inaccurate or out of date – are almost never necessary because the code reads so well (provided good identifier names are used). Better still, you can spot bugs and anomalies at 10 paces – they just jump out at you. I programmed C++ for years, and was once right at the head of all the latest C++ language developments, and I never got to the point of reading C++ anything like as quickly as I can read Delphi. I believe that programming should not be about syntax and coding; it should be about problem solving. Delphi gets very close to that. C#, by contrast, is almost as messy and visually inefficient as C++.

    4) They provide the VCL library source code. This was a very clever and sensible move. I do not believe that I would have switched to it if they had not done this. Thanks to this, I’ve found modifying control behaviour very much quicker and with better results than trying to achieve the same with VB.Net or C# where the library source code is not provided.

    I need Delphi to live on. For the sort of work I do, Delphi is the best language/IDE available.

    Rather than charge so much for Delphi upgrades, Embarcadero should take steps to both save money and improve their product:

    a) Strip out all their weaker programming and other staff.
    b) Disband their (completely unnecessary) international infrastructure.
    c) Concentrate on polishing their product with a small but capable team. It really can’t be that difficult (unless they’ve allowed their source code to get into a mess).
    d) Eliminate most of their support services, because with a bug free product programmers will be able to get enough help from others on the internet.
    e) Eliminate the entire Delphi help system. It used to be good, but it doesn’t work anymore. It takes so long to start and is rarely of any use.
    f) Replace the “guard” that monitors CodeCentral bug reports with a senior programmer trying their best to perfect their product by getting as many bugs fixed as possible. Let’s face it, VS 2008 VB/C# are well polished, and Delphi must at least match that.

    Delphi should be targeted more towards high level developers. It deserves a lot more respect than it has. In many ways C++ is a complete mess compared with Delphi. But Delphi has been tainted by too much of the short sighted “One click ActiveX control” type nonsense. That sort of marketing attracts people who will never really get very far with programming and ultimately gives the product a bad name. Similarly, the early days of Delphi were tainted with an obsession with overly simplistic database programs. All that should go, because those tasks can be done very easily and well with VB.Net (which thanks to cross fertilization from C# has matured into a very good language). Instead Delphi should play to it’s strengths. With Delphi a very small team (even one person) can write huge, polished, high performance applications, that can readily compete with software from much larger teams. Embarcadero should improve the product to help existing Delphi programmers do this, and encourage new programmers to do likewise.

  32. mart Says:

    I agree that Delphi is expensive, but i think the more important question is what you get for the money. It’s just too little. We have Delphi 2007 and decided not to update it for another 1.5 years. I can’t justify to my boss spending 3(licenses) x 1000+ EUR-s for just bugfixes (that we should have got free at the first place) and some IDE improvments. We can live without Unicode (extended ascii is enough for our native language), new delphi language features are nice to play with, but they’re something that you can live without (there are actually very few cases when you need them).
    Imo for this money Embarcadero should at least offer warranty for the software: for example ALL the bugs (even the minor ones) found during first 6 months should be fixed. I understand that there might be some cases where the question is if it’s a bug fix or a feature request, but most of the time it’s not a problem. I hate the current system where you have to buy a new version (every year!) for non-critical bug fixes. Ohh and let’s not forget – every new version of Delphi introduces a new set of bugs, so that you get some old ones fixed and have to buy a new version to get this version’s bugs fixed.

    That all being said, i don’t think we’ll move to C# or Java. We have talked about it actually, but there’s still some advantages in using Delphi and no actual reason why we shouldn’t continue using D2007.

  33. links for 2009-09-30 « pabloidz Says:

    [...] Kinda wishing I could keep using Delphi Joe White’s Blog (tags: delphi) [...]

  34. Another Michael Says:

    Hi!

    Running 2 technolgies in parallel is hard. Especially targeting the same environment – Windows Desktop … – we will see how long it will last WPF is at least an invention – fairly makes sense. Maybe looking at Freepascal and Lazarus can help to retain the memories. Visual Studio does not lack a lot and resharper is excellent.

    The argements for selling a product are different to the real technolgical underlying. The VCL for Windows native development is still leading. Rewriting Software is expensive. Delphi is in maintenance imo accompanied by

    a) movement of existing code to the .net technology – they are the only that try
    b) providing integration solutions for existing software

    Maybe a new kind of “Powerbuilder”. .net and VS are very architecture centric. Still the C++ 90s mindset, this is why those guys feel at home in C# and .net, and it works. Sometimes the .net classes do not provide the functionallity at the moment than the regualr C APIs, the majority wont need.

    Enterprise Solutions: Maintenance costs have to be cut … competitors bring Development Environments, especially in combination with AJAX technologies where the “IDE” is fully integrated into the web based development envirionment … in order to compete existing, extensible products. Several Stacks do already exist, a lot more to come (beside the clouds). Here the Windows + Native approach is not the answer, imo, in a near future. The answer is quick architecture orieneted development … or something ready to use and extensible like SAP which is available on 2 technology stacks mainly focusing on the Java Stack. A web based application in the meanwhile runs on Apple, Linux, Windows,…. and can simply be brought to any other device … in this area a discussion about VS vs. Delphi funny but not accurate. ASP.net and Intranet still fit.

    @PiotrL Says –> I see it very simlar. Lazarus … There are few things not possible, maybe somehow you came to same conclusion. The problem is not the IDE nor the language. I also like the GLxxx stuff solving problems on totally different level… a new approach… fits perfect. I personally see the developer of the 90s here.

    Mike

  35. Andreas Dorn Says:

    Interesting that you mention the quality of VirtualTree. I tested that component once, and had to remove it because of serious quality problems.

    The internal worker-Thread of the Component caused problems when Destroying the Form that contains
    and this could randomly crash the Application.

    Research revealed that there have been threading issues with the component for ages. And the comments on the buglist didn’t convince me that anyone there really has a clue about multithreading. (The author was talking about using flags here and there to make the problem less likely…)

    -> I removed the component immediately from my code.

  36. jg Says:

    I’m donating a little of my time into the teaching sector, and the Delphi conundrum
    is a challenge.

    There is some great resource out there, representing years of experience,
    and highly accessible.

    My favorite example is http://www.delphiforfun.org/default.html

    You USED to be able to get free, personal Delphi editions with magazines.
    However, you cannot move this to another hard drive, and there is no web-archive
    So that resource has to decay over time, rather like radioactive half life …

    There was Turbo Delphi, but that too was recently yanked :(
    TD has a nice ide, but rather a fat install, and no chance of running on a flash drive…
    There were also cripple-ware aspects, waiting to trap the unwary…

    All of Which has left a bigger hole, not made a smaller one..

    Indeed, it has now made it VERY hard to generate teaching material, which has to have
    a long and stable lifetime, and by very system-portable.
    (ie work across a wide range of installed class PCs )

    So, we start looking around for alternatives…

    Lazarus has been ticking away quietly in the background, so we check that again, and
    I started porting some of these nice examples http://www.delphiforfun.org/Programs/index.htm

    Some rough edges, and a few ‘rules to follow’, but no real brick walls.

    Now, after a few weeks, I have ported ~25 of DFF examples (Delphi6/7) to Lazarus.

    First pass Yields are ~80% on the simpler programs, falling away as they get more complex.
    Conversion rates improve, as I learn more about Lazarus (& Delphi)

    By default, Lazarus removes uses Windows, and mostly that is OK, but on ~20%, that needs
    to be added-back, to avoid actually re-writing code.

    One project even now runs in Lazarus, (& D7) but fails to run in Turbo Delphi (wry smile here… !)

    A couple of others, Turbo Delphi stutters on, (gives errors, but works)
    but I think that is the cripple-ware kicking in ?

    These projects include (simple) Graphics, some quite complex algorithms, and some do sound.
    All of them use programming to solve, or do, something, so are great for teaching.

    So I reported some of the rough edges into Lazarus, and one is already fixed.

    Lazarus does fire some windows type events just a little differently, which can cause some
    head scratching, but usually a Delphi-compatible common ground solution can be found.

    Perhaps most important, in NONE of the porting cases, did I need to rewrite actual code structures.

    Some needed additional tests, or an Init order changed/improved, or a type-cleanup,
    but the puzzle algorithms did not need to be touched.

    So far, is it looking viable. Lazarus can be snapshot stored anytime, has a relatively small
    download footprint, is very OS agnostic.

    It is looking reasonably student friendly, especially if starting with a working project.

    Lazarus might not have the ‘twinkies’ and gloss of Delphi, but it is quite usable, and indeed, a good
    complement to Delphi.

    A teaching lab can run both and show students the details of porting, testing, and how to create a common
    code base. They can leave with a knowledge of (at least) both and choose in future employment.

    The education prices of Delphi are reachable for many (but not all) at ~$100, but again with
    Lazarus, you can make Delphi go further :)

    Students can freely take Lazarus home, and a single-Delphi copy/license in-class allows test/contrast.
    Lazarus allows the faculties to keep within the Delphi education license, if they need to release
    working software (as in student projects)

    Importantly, with Lazarus as a common denominator, there are no ‘drop dead’ teaching situations.

    “it is an ill wind that blows no good”

  37. Joe Says:

    @jg, I’d love to hear more about your experiences learning Lazarus. Are you blogging this anywhere? I tried playing around with Lazarus a bit, but was turned off by its lack of features that Delphi has had for ages. I’d be very interested to read the experiences of someone who’s had a positive experience with it, and hear how you’re working with the learning curve.

  38. jg Says:

    @Joe : I’ve asked the Lazarus team if they can create a DelphiForFun area.
    I suggested under packages, right alongside ‘Ported from Delphi’
    - because there are a good many DelphiForFun examples, I think they need their own forum area.

    Then, I would enter threads in there covering ‘work in progress’ and reports,
    and Gary will be setting up a Lazarus download area on his site, and that
    will also include porting comments.

    It is an incremental thing….

    In the last couple of evenings, I have reached 100% yield on the 25 I chose.

    This is my framework structure at present:
    * I have a common “Rules” .TXT file I add to as I go along..
    * Each project has a pathway report .TXT file
    * Each project has a \Delphi_Start master sub-directory
    * Each project has a WebZip typ batch file, that grabs all this into a zip file.

    All this is designed to be clone-able, so users can copy/rename to adapt to any new project.

    In theory (ie hopefully) on unzip, you should be able to
    a) Load/Compile/Run the Lazarus project
    and, for the keener student…
    b) follow the rules, and pathway notes, and so reproduce the same port yourself.

    Once the setup is done right, (with the good yield ones) it take 3 clicks.

  39. jg Says:

    If anyone wants a good example, the two ZIP files uploaded with a Lazarus bug report here

    http://bugs.freepascal.org/view.php?id=15089

    are complete web-images, with the starting Delphi, output Lazarus, and conversion path notes.

    This is a good example, of a variation that initially looks serious, but does have common
    ground, and code can be written to run in Both Lazarus and Delphi.

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>


Joe White's Blog copyright © 2004-2008. Portions of the site layout use Yahoo! YUI Reset, Fonts, and Grids.
Proudly powered by WordPress. Entries (RSS) and Comments (RSS).