I've been unhappy for years with the state of computer development. Visual Studio with C# is nice, but it's still Microsoft technology and using it on alternate operating systems (OSX, Linux) really isn't an option. I've also been undecided on taking up tablet/phone development since the original iPhone came was released.
But ... the past few weeks I've been working in a with a new development tool chain and haven't been this happy in years.
I am writing desktop applications in object pascal with Lazarus and mobile phone development (for Android) in Eclipse. I've built the FPC compiler and Lazarus IDE from sources, configured the IDE to use a single window.
I have written a simple, yet complete, cross platform pascal library for handling xml, sockets, ssl+cryptography, image manipulation, and some custom components and designers to make work even easier. Now I can work effectively and compile desktop/console applications for Win32, Win64, Linux, and Darwin (OSX). I can compile to all those platforms from Linux.
I also wrote a component to allow for easy storage of different control layouts for different operating systems, such that if I compile a desktop application for Ubuntu, I can open the original project on Windows and change the layout to look better on Windows without effecting the Linux layout. It's all very satisfying.
And with Android development, well I am just using Eclipse which already run equally well on all desktop platforms. Then the Android SDK lets me test out my java Android applications on a variety of devices.
Anyways, I am just posting this information to encourage the rest of you who might be feeling a bit down by the current state of your development options. Thanks for listening.