Firstly it depends on the type of software you want to develop, if you are developing traditional desktop applications then the current suite of languages and environments works well. But if you foresee that in the future you want to develop for other platforms and devices what options do you have. Here is a list of possible options all most likely require developing the business logic in a web service, depending on what software is being written.
- Develop the apps in native code for each type of device, for example xCode for iOS.
- HTML5, produce the app like a web site.
- Embarcadero Delphi XE4, allows you to develop for both and deploy natively.
The ultimate software development solution in my mine would be to combine the advantages of both, and develop in the same IDE, but deploy to multiple devices natively. Embarcadero's Delphi XE4 from what I have seen so far seems to be getting close to this. I have seen demos of developing iOS Apps on a Mac in a Windows environment, which can then be built and run on the Mac and deployed to an iOS device. This also means you can develop standard Windows software and web services in the same IDE, so all the code is done in the same development environment.
One issue with Delphi is that there are not many developers using it, but this is not that much of a problem seeing as it is very similar to C#, and I manage to switch between the 2 fine. So anyone who is competent in C# or another similar OO language should pick it up fairly quickly.
One downside of Delphi is the price, it is more expensive than other options, but taking into account cost savings of time and resources it most likely will recoupe this cost fairly quickly.
I have not yet started using Delphi XE4, so cannot give a full review of it, but at this moment it looks like a very exciting product that shows where software development needs to go. I will keep this blog up to date with more news of Delphi XE4.