After getting shot down on SO, I'll try this here:
I'm sure you'll all know of Apple's recent announcement to deprecate Java on OS X (such as discussed here).
I've recently come back to programming in the last year or so since I originally learnt on ye olde BASIC many years ago. I have a Mac at home and a PC at work and whilst I have got Windows and Ubuntu installed on my Mac as VMs, I chose to focus my "relearning" on VB first (as it was closest to BASIC) and then rapidly moved to Java as it was cross platform (with minimal effort) and so it was easiest to work on code from both OSes.
So my question, if the winds of change on Mac are blowing away from Java and in this post-Sun era, what would be the best language to focus my new efforts on?
Please note, this isn't a general "which language is better?" thread and or an opportunity for the associated flame-war. There's plenty of those and it's not the point. I realise that in the long term one shouldn't be allegiant to an individual language so, taking this as an excuse, the question is specifically which is going to be the most quick to be productive on given the background whilst bearing in mind minimum portability rewrites (aspiration rather then requirement) and with a long term value of usage.
To that I see the main options as:
C# - Closest in "style" to Java but M$ dependent (unless you consider Mono of course)
C++ - Hugely complex but if even slightly conquered, then a win? Is it worth the climb up the learning curve?
VB.Net - Already have background so easiest to go back to but who uses VB for .Net these days? Surely if using a CLI language I should use C#...
Python - Cross-platform but what about UI for the end-user?
EDIT: As a usage priority, I envision desktop application programming. Though the ability to branch in the future is always desirable. I guess graphics are the next direction once basics are in place.