Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

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!

share|improve this question

3 Answers 3

up vote 18 down vote accepted

C#

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.
share|improve this answer
    
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. –  alternative Apr 9 '11 at 21:42
    
@alternative finally! There is too much factual information on this website and I came here looking for opinion. +1... –  Gusdor Sep 22 at 14:57

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).

share|improve this answer
    
I'm curious as to why you're recommending PySide and not PyQt. Does PySide have better Windows support? –  user16764 Jan 12 '12 at 7:23

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.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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