Hi guys. > I think Kyley is spot on. Unless there are some new stories > of companies starting new Delphi projects, from what I can tell > Delphi has been on the decline for a long time.
<RANT> Personally, I think this is all somewhat cyclical and more about underlying development 'fashion trends' than Delphi per se. Where I think Delphi has always been strongest is Win32 desktop application development, particularly for mass-market applications that are happy to run on pre-existing Windows PC e.g. Win9x on through to WinXP. C# and .NET are only viable for niche market desktop applications. Requiring 'ordinary mortals' running XP or earlier to download the entire .NET runtime(s) plus patches just so they can run your 250K demo application is a non-starter. So it's fine if you're writing an in-house app where the IT team can just mandate that everyone have the .NET runtime installed or you're writing an application targeted at developers or technically literate users (such as SourceGear Vault or Plastic SCM for example) who are already like to have .NET (or Mono) installed. Aside from all that, I think the underlying trend is that fewer new mass-market desktop applications are being written right now. Currently, desktop applications are out of favour in that space. Web applications and SaaS (or what I call 'software pretending to be a service') are flavour of the month. So we are making the pendulum swing back from unified application and information standards back to having islands of incompatible application user interfaces and data all running 'in the cloud' i.e. the centralised server centric or mainframe era all over again. Yes, sure it's all HTML/XML/CSS/AJAX/REST/rubberchickens/etc. but every web application has a different UI, different data schemas, different backup rules. Using some frankenstein-esque modern mashup to base your entire IT infrastructure on is hardly good risk management. Inherent complexity gets you every time. But the next development silver bullet is lined up in the chamber to supposedly slay the werewolf of complexity. Fred Brooks had it right in 'The Mythical Man Month'. It was the frustration with trying to integrate wildly (or worse, subtlely) incompatible centralised 'line of business' applications with disparate user interfaces and data formats that lead to the desktop 'productivity application' boom in the first place. There is a continuing pendulum swing back and forth between centralised and de-centralised applications. The latest centralised fad is supposedly going to save us all from complexity and entropy. Take CRM for example - the only application category predicated on the fact that most line of business apps have such horrible UIs (since they're sold at management level based on reporting - who cares about the users) that the coal face support and sales people refuse to use them. It's a bug! Albeit, a useability one but useability matters. And since sales people have clout, they commissioned whole separate applications that duplicate the sales side of the business apps inside a friendly Outlook-esque UI but then have you tied up in knots trying to reliably bidirectionally replicate all that back into the various line of business applications. A radical solution might be to design line of business applications based on the crazy idea that the user and their experience actually matters. The tool should serve the user, not the user babysit the tool. Anyway, my point is that desktop applications will come back. They always have. People are just like that. They like to have a sense of control over their destiny (illusory thought it may be). Having all their data and their life being 'in the cloud' where you 'don't need to worry' is just plain psychologically unsatisfying and unsettling. TNSTAAFL. </RANT> What can I say, it's almost Friday.. Cheers, Paul. _______________________________________________ NZ Borland Developers Group - Delphi mailing list Post: [email protected] Admin: http://delphi.org.nz/mailman/listinfo/delphi Unsubscribe: send an email to [email protected] with Subject: unsubscribe
