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.

Expertise: 11 years PHP programming

I'd like to get into simple Windows programming for a kiosk project. What language should I choose?

My criteria:

  • easy to learn, "higher"-level language (e.g. not C++, I don't have a year to learn this)
  • quick to get up-and-running (that's what I loved about PHP)
  • well-documented & lots of community resources
  • easy GUI creation
  • client wants windows machines so Linux is not an option

What I've gathered from other Stackexchange answers and Google, but have no experience using:

  1. QT + Python (wish PHP-Qt was more mature -- it doesn't seem to have much of a community)

  2. C# (seems like overkill for a simple kiosk)

  3. Firefox + kiosk extension + AMP for GUI, and macro software to manipulate windows, files, lower-level stuff.

share|improve this question
    
Is there a reason not to use iexplore -k? Kiosk mode in IE will take care of that part and just write it in PHP and host in IIS. –  Travis Oct 1 '11 at 6:43
    
Hi Costa, "What language should I learn?" is off-topic here. Check out Why is “what language should I learn” considered off-topic? for more information. –  user8 Oct 1 '11 at 9:15
    
@MarkTrapp I read through your links, but I my view is that my question is specific enough to avoid being categorized as off-topic. –  Costa Oct 1 '11 at 21:15
    
@MarkTrapp I intentionally listed specific criteria: easy to learn and get running for a novice windows programmer / well-documented / easy GUI creation / Windows / kiosk application. This is not the same as the open-ended "Which Windows language should I learn next?" mentioned in the FAQ. Would it be less of an issue if I asked "What are your top 3 suggestions for a language that meets this criteria: .... " –  Costa Oct 1 '11 at 21:25
add comment

closed as off topic by Mark Trapp Oct 1 '11 at 9:14

Questions on Programmers Stack Exchange are expected to relate to software development within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here.If this question can be reworded to fit the rules in the help center, please edit the question.

3 Answers

up vote 7 down vote accepted

I love Python and QT's pretty awesome as well..

But...

As you're dealing with a Windows machine, I'd go with what's native to it: C#. I'd venture to say that the C# community is just as large as Python's (so there isn't any lack of assistance) and MSDN's documentation isn't bad.

The last time I tried to get Python/Qt up and running on multiple Windows machines, I spent more time dealing with issues pertaining to compatibility than I did actually writing the application (well, seemingly anyway ;)). Based on my experiences, unless you and whoever will be running your application are advanced Windows users and can handle Python compiles (if all else fails) to get your application running, I'd stick with C#. You'll most likely save yourself some headaches in the long run.

share|improve this answer
    
Agree, choose a native, well-supported language. –  user1249 Oct 1 '11 at 7:32
    
Thanks, compatibility problems and compile complexity go against my "quick to get up-and-running" criterion, so I won't bother testing Python -- thanks for saving me the time. –  Costa Oct 1 '11 at 21:28
add comment

C#/VB with Windows Forms or WPF is not going to be too hard for your project.

WPF is more difficult to learn and has less resources than Windows Forms, however, if you want to use animation and manipulate graphics and have advanced visual effects, it would probably serve you better.

3rd party software can make the application look much better than standard controls shipped with VS for both Windows Forms and WPF.

Some free GUI tools for Windows Forms like http://www.componentfactory.com/product?id=3 could make your GUI look good without too much effort (a free version exists).

Update It would be a good approach if you were able to sketch your GUI, and determine the interface requirements and determine if the existing controls in either environments will support it.

In all cases, "easy" is a relative term and lots of effort is always required no matter which way you head.

share|improve this answer
    
Thanks for the reply, but as you mentioned, C# and WPF are difficult to learn and complex for a simple kiosk project. –  Costa Oct 1 '11 at 22:36
    
C#/VB.NET Windows Forms is not difficult to learn given that you already have good programming background. Learning WPF may take extra effort though. –  Emmad Kareem Oct 2 '11 at 8:06
add comment

SmallBasic might be just what you are looking for.

Microsoft Small Basic puts the fun back into computer programming. With a friendly development environment that is very easy to master, it eases students of all ages into the world of programming.

share|improve this answer
add comment

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