IS Department


Programming In Windows – Getting Started

Posted in Uncategorized by Brian Russell on March 26, 2007

(I have been trying to get this post written for a week or two now, but things keep getting in the way.  It wasn’t until Ben from DevelopmentNow wrote his latest post that I was re-inspired to finish this post.) 

I recently noticed just how easy it is to get everything you need set up to start development in the Windows world.  This post is aimed at helping others who are looking to get into development on the Windows platform, but just don’t know where to start.  Development itself is hard enough, but if you don’t know where to start, it makes it that much tougher.  Plus, I will show you how to do it without buying any software.  It is all free.

There are 3 things you are likely to need in order to develop software.  First is the application in which you write your code.  Second is some kind of database engine.  Third is source control.

The IDE

Lets start with number 1, the application you will use to write your code (commonly referred to as IDE or Integrated Development Environment).  There are many different IDE’s out there, but I am only going to show you one popular one to keep this easy and focused.  Microsoft offers ‘lite’ versions of their larger IDE free of charge.  Calling these versions ‘lite’ might be downplaying their functionality quite a bit, because these versions offer a lot of functionality.  What is missing are some high end tools that, frankly, I rarely use as a professional developer.  These versions are called the ‘Express Editions‘ from Microsoft.  When you get to that page, you will find a series of options to pick from.  I am going to assume you want to start out developing Windows applications, but you could pick Web Development just the same.

So it isn’t enough that we had to pick which type of applications we are planning to build, now we need to pick the language we are going to write our code in.  Since this article is aimed at new developers, I will help you decide.  VB or C#, you can eliminate C++ right away unless you know you need it.  So now we are down to two.  VB tends to be less cryptic looking to new developers, and has a good support structure on the web.  Pick VB unless you have your own specific reason not to.

So now you should have narrowed down the IDE to download and install (Visual Basic 2005 Express Edition).

The Database

There are many good free databases out there, but I am going to make it simple for you.  Since you are doing Windows development with the Express Editions of Visual Studio, you will want to use SQL Express for development.  SQL Express is a slimmed down version of SQL Server.  It is just like the above IDEs that I mentioned, very functional but missing the very high end features that most developers don’t need.

Luckily, there is only one version of SQL Express, no language choice needed.  There are two different packages you can download though, and I recommend the package that includes the Advanced Services.  It is a much larger download, but you get some important tools with it:

  • SQL Server Management Studio Express, a graphical management tool based on SQL Server Management Studio that makes it easy to manage and administer SQL Server Express databases.
  • Reporting Services, an integrated report creation and design environment to create reports.
  • Full-Text Search, a powerful search engine for searching text-intensive data.

Source Control
It is funny just how rare it is that anyone tells a new developer about source control.  Maybe there is a reason, just too much other stuff to learn.  Well, I don’t want to pass over this necessity of development.  If you have never used it, you will never think you need it, but trust me, you do.  Luckily it is very easy to do.

Source Control is a way of checking in and out your files and maintaining a history of those files for future reference.  Imagine you write some great code, you then find something wrong with it (we call them bugs) and you have to go in and start trying to figure it out.  Maybe you re-write a bunch of that great code just to find the bug.  You find and fix the bug eventually, now you run your application and realized that you changed a lot more code than you thought because something else is broken, but at this point, you don’t remember every change you made so you don’t know where to start looking.  Source control will help you out in this area.  First, because you should be saving your work into source control often, you will have full history of each change you made.  Second, source control allows you to quickly take an old version of a file and compare it to the file you have currently been working with.  You will easily be able to see the differences and find what you need.

Another benefit of source control is that you are free to experiment with your code, and if it doesn’t work out, you can revert back to the last version you checked in and start over from that point in time.  It is taking snapshots every time you commit your changes, and you can roll back to those any time.

Enough soapboxing, let me show you how to get started.  I am going to recommend SVN (or Subversion) for your source control software.  Even better than that,  I am going to recommend a site I recently started using called Unfuddle.  Unfuddle gives a small free account that includes source control with SVN, plus it gives you project management features as well.  Since you probably have some application in mind you want to build (why else would you want to learn this stuff), you will probably want to manage that application as it is being built.  Unfuddle allows you to create tickets for yourself (I call them reminders or tasks of what I have left to do).

In order to use their hosted Subversion repository, you will need a client application to download and upload your source code.  For that I recommend Tortoise SVN.

Source control is needed, but maybe not right away.  You don’t need it for running through tutorials, but once you start a real project, start using it immediately.

Learning (and finishing this long post up)

OK, all the tools are laid out.  I will recap (you should download):

Now, after you get setup with the above, you will need to learn what to do.  I recommend these sites to get started:

Learn Windows Development

Learn SQL Server Express

Learn TortoiseSVN

Learn Subversion

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


%d bloggers like this: