This isn't necessarily just linked to game development, I have a number of thoughts about the product as it stands and particularly the pricing model currently employed by Embarcadero.

Firstly, my minor gripes:-


  • Auto-increment build number - This is a common complaint from what I can see... it disappeared in XE2 and quite frankly what's replaced it stinks. It is so common to have Major.Minor.Release.Build with an ever increasing build number and now that's not an option without using thirdparty tools. I can't speak for others, but this has the potential to cause me an administrative overhead... our ISO processes specify how these fields are used, now they've changed and I have to think about having processes changed to suit the new compiler. This will sound basic and super picky to a lot of people, but I've been using the version numbers as described above for years, and now they've gone. Why? Was it an important change? Was there a good reason for it?
  • Cross platform - Make it easy for people to make truly cross-platform apps (this is what Sascha was saying). The only true cross platform graphics library is OpenGL and yet FM uses DirectX on Windows. This actually makes it difficult for people like me who aren't as competent at OpenGL as say Sascha to do the basics... I'm still struggling to get an OpenGL rendering context working in a Firemonkey app which is the only way you can get to target Windows, MacOS and iOS. This was one of the reasons I bought XE2 in the first place, so I could start writing the next version of my game targetting iOS, MacOSX and Windows from one codebase with no hassles, but alas you have to have one for Windows and MacOSx and another for iOS... I can't say about XE4 but if this could be sorted out so there are no differences that I as the dev have to worry about (other than the obvious ones such as screen size etc.), just another build target it would be great.
  • Access to OpenGL - Again, this is in-line with what Sascha was saying about access to API's like OpenGL. Why not include something like Sascha's headers and provide a template app that creates a window, generates the rendering context etc. that is supported on Windows, MacOSX and iOS (Android too when the compiler is there). You could say this is an extension of the cross platform gripe.


Now my major gripes:-


  • Pricing - It's too dammed expensive. I currently have RAD Studio XE2 and I'm looking at upgrading to XE4. To avoid the continued cost, I'd like to buy maintenance but I object to paying for the compiler AND maintenance... I should get 12 months with the compiler, then at the end of those 12 months, allow me to buy maintenance. I'd probably buy Delphi XE4 Enterprise (so I can get the mobile development tools rather than have to pay extra) if I could buy it now and then renew my maintenance in 12 months time. I hate to use the word despicable, but this is a despicable practice. I have tons of software development tools and pretty much all of them don't require you to pay maintenance until your 12 months is up.
  • Environment Stability - My favourite environment was Delphi 5, it was supremely stable (unless you were doing silly things like implementing 5 or 6 levels of form inheritance). Delphi 7 was good, BDS 2006 not so much, RAD Studio 2009, the stability returned with a vengeance. I own XE2, but unfortunately I upgraded to version 4 and that screwed my compiler stability, I could downgrade to version 3 by reinstalling everything, but at the moment I do most of my work in 2009 so it's not worth the hassles. I manage a team of 4 devs at work, 3 of them are working with XE2 on a daily basis and they have all had to downgrade to version 3 but even then they complain on nearly a daily basis. Adding all the new cross platform stuff is great, but only if there are no detrimental affects... at the moment, there appear to be detrimental affects with overall stability of the platform. Has this improved with XE4?


Now my positives:-


  • Pricing - If you compare what you get out of the box with what you get in say Visual Studio... I bought VS2010 and was truly shocked at just how bare my tool bar was in terms of form components etc. Delphi is amazing value for money in that respect. There is already a comment in this thread about things like advanced database support only being available in Enterprise... so buy a library... in my experience the third party libraries for such tasks are better than the Delphi offering anyway (sorry guys, but I've done quite a bit of testing in this area and found there are some serious performance advantages to using third party elements).
  • Ease of use - Having tried to get Lazarus and FPC going, I'm not impressed, I've always found it a real bind. Speed wise I think it's one of the fastest IDEs, certainly it outstrips Visual Studio in almost every way in the performance department. It's layout is quite clean and well, to use the phrase I normally use when talking about Apple products, it just works.


And now some comments about earlier comments:-


  • Complaints about having to use Windows - Let's be clear about this one, having to compile on one platform whilst targetting another is an everyday occurrence. I can't be 100% sure, but I doubt very much you can compile your Android apps on an Android device. You can't build iOS apps on iOS, and for things like embedded devices and games consoles, building on another platform is a way of life. Windows may not be your ideal platform, but the variability in Linux platforms can make it very difficult to target complex tools like Delphi for them. Maybe when they get the cross platform compilers 100% they'll build a MacOSx version. As for Linux, I can only hope they have a better crack at it than Kylix (nice attempt, just a shame about the performanceof the IDE - and yes I did use it to build a piece of critical infrastructure software that is still running to this day). It should also be remembered that whilst many of us on here can appreciate alternative platforms, in the wider commercial world, Windows is still the number one operating system. We may not like that fact, but that's how it is, and so logically, you're going to target your biggest audience (I'm planning on targetting Windows and MacOSx - Why? Because they are the most popular OS's for gamers at the moment - based on a Steam survey in May), Embarcadero are only really doing the same. To do otherwise just doesn't make commercial sense.
  • Profiling - I use ProDelphi for this, it's a great product, doesn't cost the earth, is easy to use and it's been developed specifically for profiling. Don't waste time and money putting such features into the IDE. 99% of the time they aren't needed. I bought ProDelphi and have used it a handful of times (probably totalling 40 man hours in about 10 years) and that was 10 years ago when I was fine tuning my web server software.
  • IDE Programmer Stupidity Detectors - Don't waste time and money adding things that aim to prevent us making mistakes. I turn off all the automatic tools that are designed to make our lives as devs easier. I bought CodeRush back in the day because it claimed to enhance productivity... trash.. the only thing I used from it on a regular basis was bracket highlighting (IDE now has), it's advanced templates (IDE now has) and it's statistics. Including tools in the IDE that will detect, I think the example was misplaced { } for block commenting, why? How does the IDE know you didn't mean to do it? I'd rather the devs spent time on fixing things that are broken in their product, not things that are clearly my fault. We've all made that sort of silly mistake. The IDE already tries to help me out and much of it gets in the way.
  • IDE Enhancements - Other examples given are visualisation tools such as flowcharting etc. Buy ModelMaker it integrates with the IDE and it is designed for designing. There have already been attempts to include such functionality (and I think the more expensive versions include them to this day)... they were poor compared to third party tools, so again, don't waste time trying to make the IDE all things to all people. It does a great job already, having tried numerous design tools (Enterprise Architect, ModelMaker to name two) I still find myself drawn to the classic analogue Pencil and Paper.


Over the years sitting on these boards reading various posts about Delphi vs. Free Pascal etc. the overriding theme seems to have been cross platform support and price. The cross platform support is coming and this is nice to see. Price wise, yes it's expensive, but overall I think it's still reasonably good value if you're serious about development. I'm looking to go the XE4 route, possibly just Pro with maintenance at this time... target Windows and MacOSx only for the first release of my next game project and then see how the finances pan out... if I'm making money, buy the mobile stuff and port to iOS and Android. Jim has already mentioned Unity... I did consider this at one point and then coughed at the price. Visual Studio is expensive. xCode is free but the platform is expensive, but again, if you're serious about this stuff, serious tools cost serious money (i.e. amounts you have to think about).

But what about comparing this to something else... how many of you are serious musicians (by that I mean you take it seriously, not necessarily that you make money from it)? I suspect quite a few... how many of you have expensive guitars, keyboards, synths, software? They are just things that you use in your hobby (if you're not making money from it, it's a hobby), just like my software development is when I'm not at work... I'm not making any money from it so at the moment, it's a hobby. Do you complain about paying say £1000 for a Gibson guitar? Or say £500 for the latest DAW? What about £500 for say an XV-5080? I've spent more money on my musical interests and my personal study in the last 4 years than I've spent on Delphi in the last 10. And yet here I am quibbling about price... just to bring some perspective to the pricing issue. I know I'm contradicting myself to some extent about pricing, but my biggest gripe is maintenance and the up front cost of buying the product AND maintenance.

Overall, I'm fairly happy with the current product offering. I'm not happy about price, I'm not happy about the fact I have to buy maintenance up front and I'm not happy that as a Pro user, I now have to buy the mobile add on. That sucks, but I can appreciate the commercial drivers for making that choice. I have no intention of moving away from Delphi, it has for many years been my go to tool and I have no reason to think that will change any time soon (besides... AthenaOfC# or AthenaOfPHP just don't have the same ring to them )

These are all my own personal views as a long time (since version 1) user.