views:

437

answers:

9

I have never done any Windows coding and I would like to give it a try. To create a simple application e.g. a window that displays a plain "Hello World" message.

What IDE (open source?) would I need to start of with and what language is used for the native Windows applications?

This is not for professional use, just for an amateur.

+12  A: 

I'd recommend going for Visual Studio Express, you can use c#, Visual Basic (VB.NET) or c++, it's free and easy. It also makes the step to the larger Visual Studio simple if you're ever going to do that.

check out Microsoft Visual Studio Express

edit: added VB.NET

Since i'm editing anyway, how about some additions; If you prefer opensource you could also look into SharpDevelop (c# and boo) and/or monodevelop (c#, but better for linux/multiplatform, not so great for just windows imho but yout mileage may vary)

Kris
Pedantically, "VB.NET" rather than "VB".
ChrisW
visual studio is free (of charge) but not open source.
hasen j
Thanks. Great link. Downloading now Visual Studio Express. Just to get it right, do all of the 3 options (c#, c++, and vb) provide the same look'n'feel of the native windows apps?I actually installed monodevelop months ago after reading a review on the Fedora site. Would those applications run "as good" as one coded under Windows?
mr-euro
@ChrisW, pedantically, VB.NET is now VB, and VB is VB6.
Matt Olenik
Already built my first simple GUI app with VS Express. Thanks.
mr-euro
@mr-euro: If you're new to it all please please please go for C#, it has pretty much all the feature's you'll ever need from c++. VB.NET might sound easier, but in reality it is the same (almost) albeit more verbose and clunky. You really only need c++ if you are going to do hardcore on the metal development. They all provide the typical windows look'n feel.
Kris
+1  A: 

There are a lot of IDEs out there, if you want to develop for windows I'd recommend .net and the free "express" series of Microsoft tools.

Nir
A: 

You don't have to use an IDE to create a Hello World gui application.

Libraries like Qt, wxWidgets, GTK+, etc, allow you to write such programs, and their tutorials usually have some sample "hello word" programs.

UPDATE

I believe most GUI libraries (try to) maintain platform native look and feel; or at least that's what the docs say.

hasen j
I would not recommend the examples you give to someone new at coding.
Thies
Thanks. The applications based on those libraries, don't they have a certain "linux" look when run under Windows? The first to come to my mind is Gaim (Pidgin). It looked awful on Windows.
mr-euro
+1  A: 

notepad + .NET Framework + cmd

type:

using System.Windows.Forms;
public class HelloWorld
{
     public static void Main()
     {
        MessageBox.Show("Hello, World!");
      }
}

save as %WINDIR%\Microsoft.NET\Framework\vX.X.XXXXX\hello.cs

open command line

cd %WINDIR%\Microsoft.NET\Framework\vX.X.XXXXX %homedrive%

compile:

csc /target:winexe hello.cs

run:

hello

If you're looking for open source IDE I recommend Eclipse with plugins or MonoDevelop (wikipedia).

Vanuan
Thanks.Is .NET the same as VB.NET? I use Eclipse on Linux for web development. What plugins would I need to code native Windows applications with Eclipse?
mr-euro
.NET Framework is a platform ("framework"). VB.NET is one of the languages implenenred on this platform. The example I've posted is written in C# (csharp) - another language from Microsoft. The csharp compiler is shipped with .NET Framework which can be downloaded from Microsoft website. You need Emonic and nant (see details http://www.ibm.com/developerworks/library/os-eclipse-migratenetvs/index.html)
Vanuan
Notepad is HORRIBLE for editing code. It doesn't auto-indent. Try notepad++
hasen j
A: 

You could look into VBScript, using notepad to edit the code. It is quite simple to program with, and there are a lot of examples.

Hello World would be done by placing the following into a file called HelloWorld.vbs and double clicking it from an explorer window.

MsgBox("Hello World")

A message box with hello world will then display.

Thies
A: 

There is wxDev-Cpp IDE (google for it). It's great for small apps. It's based on wxWidgets, so you also get portability for free.

niteria
Thanks. Never header of it, will give it a shot. http://wxdsgn.sourceforge.net/
mr-euro
Mmiissppelled *heard*
mr-euro
A: 

If you're looking for Open Source and cross platform compatibility I would look at Eclipse. However if you simply want "free" I would also look at IntelliJ IDE which is designed for JAVA development and is also cross platform but not Open Source. They offer some free licensed versions.

A: 

If you're new to gui programming, Shoes is a fun way to pick up some of the concepts as well as learn some ruby along the way. It's primarily a learning tool however, so you'll need to eventually pick up Visual Studio (or something similar) when you're ready to develop a functional windows app.


Edit: I see you've done some programming in linux from one of your comments, so this might be a bit too rudimentary for you. For anyone new to programming and wanting to try their hand at a windows program, Shoes is worth looking at. The free version of Visual Studio is definitely what you'll want to check out, or alternatively you could continue to work in Eclipse on windows, as you're already familiar with it.

Bayard Randel
Thanks. I do programming but only web applications with (Fedora) Eclipse, so even though it is simple Shoes still seems interesting for a newbie in GUI programming like me.
mr-euro
A: 

Try either AutoIt or AutoHotkey. I personally recommend AutoHotkey.

For LOTS of sample (and useful!) scripts, visit this page: http://www.donationcoder.com/Software/Skrommel/

QAD
Thanks, good stuff!
mr-euro