"Software development" is a really broad category. Is there something specific you have in mind? If not, you might look on job listings and see what companies are looking for, and if any of those jobs appeal to you. You should figure out what you want to do before you worry about which language to learn; the first decision informs the second. If you don't care about job opportunities, maybe dabble in a few languages and see what jumps out at you, but you should get a sense of what people are writing stuff in. Browsers are generally written in C++, but there are all sorts of things they deal with (rendering engine/js engine, ui) that aren't necessarily C++. If that's the direction you want to go, you might start there. A browser is actually pretty heavy duty for a "screwing around" project; at this point browsers are for all intents and purposes operating systems sitting on top of operating systems. Anyway, if you're particularly interested in browsers you will likely be write that in C/C++, but I don't know enough about it to tell you where to begin apart from picking up the language. If you aren't specifically worried about finding a job, you might want to check out Go; all the kids love it. Before investing time and effort in that you might look what opportunities that is going to give you, though, if that matters. C++ is probably a pretty safe bet in that respect. C# can be written on mac, linux, or windows just by using an IDE that supports it. Monodevelop, or something like it. http://www.monodevelop.com/ Until you have a better idea of what you want to do, I don't know that anyone will be able to help you too much. Look around on the interwebs and see what jumps out at you.