Re: Dev Platform
In response to JASR's post, I have worked on 4D for 11 years now, primarily on Windows and while I agree with the deployment aspects (really easy) and it is great to have an integrated db engine; however I feel as though I should pass on the other side of my experience with 4D. It's terrible.
As a company we waste so much time trying to track down and work around bugs in 4D, the performance is awful (it's essentially single-threaded, all of your code runs in 1 thread although the db engine can now use extra threads, which makes little difference), they don't have any degree of object-oriented code, their development environment is a nightmare to use and there is basically no practical source control tools that work properly.
It may meet your requirements but the only reason we are still using it is inertia. It would take a monumental effort to port onto another platform, although when you look at the time we waste due to 4D's inadequacies, I wonder how long it would take to make that time back. We are still thinking of moving away
I have used .net based languages and c++ in visual studio quite a bit on my own projects and feel they are just 10-20 years ahead of where 4D are (I'm not exagerating) and advancing faster. It's always amazing when I suddenly find that tapping the tab key will automatically do something that would require me to write 50-100 lines of code in 4D to achieve.
If I were looking at a new platform I would certainly start my search with c#, it's just fantastic. MS do seem to be trying to shift platforms a lot at the moment, silverlight being ended and WinRT coming in for example but most of these platforms are actually based on the same technology (.net / XAML) and moving between them wouldn't be that hard. They're more like variants of the same platform.
Hope this helps.