views:

73

answers:

4

I am hired by my local company here which makes small accounting/billing/payroll softwares to manage its clients' companies. Most of them use windows platform and the softwares themselves will not be too complex ones. I want to ask which language should i opt for? Python, C#, VB.net or something else which will make the GUI programming task easier. thanks in advance.

A: 

My personal preference is WPF/C#.
I say go with the latest technology (whichever YOU find easiest), it will be good for your career.

Vivek
Careerwise, either new of very old will do ;)
Wrikken
+1  A: 

For programming on Windows you want to go with .NET and probably WPF for the presentation layer if you can wrap your head around MVVM as it gives you much more scope for delivering flexible UIs than forms.

For cross platform utility - probably python, but I'm not sure I'd want it to be my principal development tool (if I'm focusing on Windows applications).

Murph
Which one will be easier to work in? Most of the stuff i am working with is very basic and i dont need fancy GUI presentation. Which one you recommend in that case?
Tejinder
Hmm, what do you know *now*
Murph
If you don't know WPF and don't have alot of time reading about routed events and data bindings and MVVM (a pattern) then don't use WPF. I'd go with Windows Forms instead, since as you said, you don't need anything fancy.
Paw Baltzersen
@Murphy: I have done programming in C and python, nothing big though, but i am familiar with both. If you have to choose between python and c#, in terms of fun and ease, not discounting the fact i am dealing at very basic level of softwares here, which one would you choose? Thanks
Tejinder
@Paw Blatzersen: Yes i think windows forms would be sufficient enough, but choice between C# and python is still confounding.
Tejinder
@Tejinder: I'm a python n00b so can't help you there :)
Paw Baltzersen
A: 

If you decide on using Python, you probably want to look at pywinauto and the win32gui stuff from the brilliant Mark Hammond which comes with the Python Windows installation.

http://code.google.com/p/pywinauto/

reckoner
+2  A: 

The advice to build upon what you already know is very good advice.

As you are thinking of Python, I feel i should warn you off Iron Python. I found it very very slow and WPF confused the heck out of me. The designer is nice. The error messages you get when importing the wrong namespaces are cryptic and comfusing (Example - "Error: expected X got X").

Qt, PyQt and Python appears to be acceptably quick (Python is no speed demon), well documented and stable. It will adopt the local styling, so it looks native XP or Win 7 with no changes.

Fair warning about Python. It boasts of being "batteries included". This is great until you find there are 4 different modules that might do what you want, and no decent documentation for any of them, to help you choose the most suitable.

Ian
Does c# has good libraries and documentation? Is it difficult to use c#?
Tejinder