What language should I seek to learn if I would like to develop for Windows? Not command-line stuff (obviously, I guess) but with Windows Forms and such? I've used C before (when working with Rockbox), but that's it. Up until now, I've used Autoit (for basic, simple stuff), but I'm looking for something that has more flexibility and is popular inside of the PC software industry. Plus, I didn't like how easy it was to crack Autoit programs. I'm also a web developer/designer, just to throw that out there.

Thanks in advance!


3 Answers 3



I recommend C# as the language to learn.

  • The syntax is C-like, which will help you get started.
  • The language is object-oriented, and it's good to learn that way of thinking.
  • Visual Studio Express is a free download, so it doesn't cost much to start.
  • There are lots of open source projects in C# to look at and learn from.
  • It's applicable to web-sites or standalone applications.
  • If you want to get funky, there are lots of nice features to the language, like lambdas to bend your mind.
  • Lamdas aren't really complicated, although they are ugly in my opinion in C# just because its not functional. That is, you have an expression-based lambda and then one with a return statement that looks really ugly because you have to place braces. Commented Apr 9, 2011 at 21:42
  • @alternative finally! There is too much factual information on this website and I came here looking for opinion. +1...
    – Gusdor
    Commented Sep 22, 2014 at 14:57

Both C# and Java are great. Syntax is similar to C and they are widely used by large community.

C# has advantage is that it has more modern features like lambdas also you will enjoy LINQ in the .Net framework and you will feel productive.

If you use Java you have the advantage to choose between many free IDEs, many free and open source frameworks. You can carefully choose what you need to develop an application for free.


Python with PySide (Qt4), great language, great API and the best of all it's cross-platform. So when you (hopefully) give up on windows, your program will run on any other platform supported by python/qt4 without changing any code (unless you used windows-specific lowlevel APIs).

  • I'm curious as to why you're recommending PySide and not PyQt. Does PySide have better Windows support?
    – user16764
    Commented Jan 12, 2012 at 7:23

Not the answer you're looking for? Browse other questions tagged or ask your own question.