Eternal debate of which language to learn

Ok, so I want to learn an more powerfull language that I use.

I like it but I just want to be able to use my apps in Linux and Max OS X.

Java just doesn't interest me.

So I want to know if it's worth (future wise) to learn C# (.NET) instead of C++ ( I will learn C if I choose C++, of course.)

It seems that .Net apps are a lot simpler to write and works well with Mono.

Or maybe I should learn both ? I don't know if C++ is like C#

(If I learn C++, I'll learn QT too for portability)

Can someone guide me there ? The whole choice of languages is confusing me.

#474476

Holy crap! Spelling errors in Thread title fixed.

#474490

Wow, just re-read the title I originally submited oO

Seems that I really need to sleep.

Thanks for the correction anyway !

#474497

C# isn't all bad, really. (Took me lots of choke until I can admit this, though)

If you want cross platform, quick results (quick as in VS2005) are nowhere near round the corner.

Also, The mono implementation is stuck halfway between 1.1 and 2.0, runtime-wise.

C++ is too cumbersome to be really x-plat. Have a look at wxWidgets.

I'd rather recommend GTK+ coding over QT, very successful x-plat apps like gaim/pidgin,

bittorrent mainline (until it went closed source), transmission (gtk), firefox/thunderbird all go more-or-less this route.

One thing that really delivers in terms of 'code less get more done' is python plus pygtk (quodlibet etc.) Python has a 20+ MB runtime like .Net too but it feels orders of magnitude faster than .Net, IMO.

Java has become a real alternative these days because the entire tool chain is available open-source.

hth,

herd

#474592

+1 for GTK+

its very portable and With GLADE+GTK+ you can build applications very easily.

And If you like C# I don't see any reason why you should not like Java, they are almost the same. While Java provides you true cross platform applications. Just my opinion ;)

#474732