<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" version="2.0">
  <channel>
    <title>deepdark.net - James Green's Blog - Learn To Code</title>
    <link>http://deepdark.net/</link>
    <description>.NET, SQL Server and *.*</description>
    <image>
      <url>http://deepdark.net/files/deepdark.jpg</url>
      <title>deepdark.net - James Green's Blog - Learn To Code</title>
      <link>http://deepdark.net/</link>
    </image>
    <language>en-us</language>
    <copyright>James Green</copyright>
    <lastBuildDate>Tue, 14 Aug 2007 04:14:01 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 2.3.9074.18820</generator>
    <managingEditor>James.Green@deepdark.net</managingEditor>
    <webMaster>James.Green@deepdark.net</webMaster>
    <item>
      <trackback:ping>http://deepdark.net/Trackback.aspx?guid=86ea6595-dbf0-4b19-9e98-5ba36203ad2b</trackback:ping>
      <pingback:server>http://deepdark.net/pingback.aspx</pingback:server>
      <pingback:target>http://deepdark.net/PermaLink,guid,86ea6595-dbf0-4b19-9e98-5ba36203ad2b.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://deepdark.net/CommentView,guid,86ea6595-dbf0-4b19-9e98-5ba36203ad2b.aspx</wfw:comment>
      <wfw:commentRss>http://deepdark.net/SyndicationService.asmx/GetEntryCommentsRss?guid=86ea6595-dbf0-4b19-9e98-5ba36203ad2b</wfw:commentRss>
      <slash:comments>3</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">This is Part 2 of a series answering the
question:  <a href="http://deepdark.net/CategoryView,category,Learn%2BTo%2BCode.aspx">Where
do I start as a programmer:</a><br /><br /><font color="#a52a2a"><i>16/08/2007 update - Fixed links</i></font><br /><br /><a href="http://en.wikipedia.org/wiki/Hello_world">Historically</a>, programming languages
are often introduced with their Hello World example. It is completely trivial but
also quite an informative place to start.<br /><br />
A Hello World may look like this, for a .NET Console application:<br /><br />
...in C#<br /><p></p><p><span style="color: Black; background-color: transparent; font-family: Courier New; font-size: 11px;"><span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;">class</span> Program<br />
{<br />
   <span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;">static</span><span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;">void</span> Main(<span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;">string</span>[]
args)<br />
   {<br />
      Console.WriteLine(<span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;">"Hello
World"</span>);<br />
      Console.ReadLine(); <span style="color: Green; background-color: transparent; font-family: Courier New; font-size: 11px;">//
press Enter to close</span><br />
   }<br />
}<br /></span></p>
...in VB.NET<br /><br /><p><span style="color: Black; background-color: transparent; font-family: Courier New; font-size: 11px;"><span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;">Sub</span> Main()<br />
   Console.WriteLine(<font color="#ff0000"><span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;">"Hello
world!"</span></font>)<br />
   Console.ReadLine() <span style="color: Green; background-color: transparent; font-family: Courier New; font-size: 11px;">'press
Enter to close</span><br /><span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;">End</span><span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;">Sub</span><br /></span></p>
I won’t go into the exact details of this sample, but I will mention that the purpose
of this trivial example is to illustrate that you are scripting a conversation between
the computer and a program.  Magic does not live here.  Computers are just
following instructions.<br /><br />
The value of starting a project on a rich framework like the Microsoft.NET framework
is that plenty of the elemental pieces required to construct these scripts are supplied
for you and arranged in a discoverable fashion.  
<br /><br />
An exhaustive list of the pieces that are supplied in the framework is documented
in the MSDN Library that you can install with the Express Editions <a href="http://msdn2.microsoft.com/en-us/library/ms644560.aspx">and
also online</a>. 
<br /><br /><b>Follow the white rabbit, neo… </b><br /><br />
Start with some good quality learning guidance focused on Visual Studio:<br /><ul><li><a href="http://msdn.microsoft.com/vstudio/express/beginner/">Beginner Developer Learning
Centre</a></li><li><a href="http://msdn2.microsoft.com/en-us/library/aa388622.aspx">.NET Framework Quick
Starts and Samples</a><br /></li></ul>
…and don’t forget the web is littered with good and not so good programming tutorials.<br /><br /><b>Read other people's source code<br /><br /></b>The problem with tutorials is that they often leave off some important details
in order to keep the example simple, thus you can only go so far reading tutorials.<br /><br />
Reading other people's source code can be very helpful in understaning how a technology
is used in practice.  Some sources:<br /><b></b><ul><li>
SharpDevelop is <a href="http://www.icsharpcode.net/OpenSource/SD/Download/">available
as source code</a></li><li>
CodePlex has many great projects available with source code.  Highlights include
the <a href="http://www.codeplex.com/AtlasControlToolkit">AJAX Control Toolkit</a>!<br /></li><li>
Patterns and Practices Enterprise Library is <a href="http://www.microsoft.com/downloads/details.aspx?familyid=4c557c63-708f-4280-8f0c-637481c31718&amp;displaylang=en">available
for download with source code</a>.</li><li>
Filter SourceForge by programming language:  <a href="http://sourceforge.net/softwaremap/trove_list.php?form_cat=589">ASP.NET</a>, <a href="http://sourceforge.net/softwaremap/trove_list.php?form_cat=453">VB.NET</a> and <a href="http://sourceforge.net/softwaremap/trove_list.php?form_cat=271">C#</a>.<br /></li></ul><b>Start a project</b><br /><br />
Lots of people (ok, me – but probably plenty of others too) need a project to really
get the programming juices flowing.  I need a problem to solve; otherwise I’ll
just stare at the <font face="Courier New">File -&gt; New</font> dialogue for hours.<br /><br />
What does this mean for beginner programmers?  Don’t think you have to look for
problems that are new to science and have never been solved before.  Download.com 
probably has hundreds of “note taking” applications, and “home movie database” applications. 
The benefit of  starting a project at this stage of your career is not to solve
a new problem – it’s what you pick up along the way.<br /><br />
Be generous with the constraints of your project.  Learning works best when it’s
fun.  The last thing you need when starting programming is the stress of project
constraints!<br /><br /><b>Start a blog</b><br /><br />
Grab an account at <a href="https://www.blogger.com/start">Blogger</a> or one of the
other blogging platforms and record your experiences.<br /><br />
Even if it is just <i>“this is what I learned today” </i>and <i>“this is what I don’t
understand today”</i> posts there is still value in blogging:<br /><ol><li>
Blogging forces you to stream your thoughts down into words.  The cathartic effect
this can have on your thoughts while learning a technology can hardly be understated.  
</li><li>
Blogging is a great way to open a conversation with other people who are doing the
same thing</li></ol><br />
For blogging on the train?  Try <a href="http://get.live.com/betas/writer_betas">Windows
Live Writer</a>, but I often just use Word then copy-and-paste when I get connected
again.<br /><br /><b>Be aware of support:</b><br /><br />
Of course, the blogosphere has a wealth of information ;-)<br /><br />
Some others:<br /><ul><li>
If there is a topic in the .NET ecosystem, then <a href="http://www.dotnetrocks.com/archives.aspx">DotNetRocks
has probabbly done a show on it</a>, and don't forget that PDF transcripts are available.</li><li><a temp_href="http://msdn.microsoft.com/vstudio/express/beginner/ " href="http://msdn.microsoft.com/vstudio/express/beginner/%20">Beginner
Developer Learner Center at MSDN</a></li><li><a href="http://blogs.msdn.com/coding4fun/">Coding4Fun @ MSDN</a></li><li>
Community Sites, like <a href="http://www.csharpzealot.com/">C# Zealot</a>.</li><li>
Your local .NET User Group like <a href="http://www.sdnug.org/">SDNUG in Sydney</a></li><li>
MSDN <a href="http://msdn.microsoft.com/newsgroups/default.aspx">Newsgroups</a> and <a temp_href="http://forums.microsoft.com/msdn/default.aspx?siteid=1 " href="http://forums.microsoft.com/msdn/default.aspx?siteid=1%20">Forums</a>,
including the <a href="http://forums.microsoft.com/MSDN/default.aspx?ForumGroupID=35&amp;SiteID=1">forums
for Visual Studio Express Editions</a></li></ul>
...and there are literally hunderds more sites on the web of various quality and reputation...<br /><br /><b>What Else?</b>  I'd love to hear from anyone via comments here on this topic. 
What other bits should people go and get for programming on day one.<br /><br /><font color="#808080"><b>Listening To</b>:  DAT323 Inside T-SQL (with Itzik Ben-Gan)
from Tech.Ed '07.</font><br /></body>
      <title>Learning to program, part 2 - The soft stuff</title>
      <guid isPermaLink="false">http://deepdark.net/PermaLink,guid,86ea6595-dbf0-4b19-9e98-5ba36203ad2b.aspx</guid>
      <link>http://deepdark.net/PermaLink,guid,86ea6595-dbf0-4b19-9e98-5ba36203ad2b.aspx</link>
      <pubDate>Tue, 14 Aug 2007 04:14:01 GMT</pubDate>
      <description>This is Part 2 of a series answering the question:&amp;nbsp; &lt;a href="http://deepdark.net/CategoryView,category,Learn%2BTo%2BCode.aspx"&gt;Where
do I start as a programmer:&lt;/a&gt;
&lt;br&gt;
&lt;br&gt;
&lt;font color="#a52a2a"&gt;&lt;i&gt;16/08/2007 update - Fixed links&lt;/i&gt;&lt;/font&gt;
&lt;br&gt;
&lt;br&gt;
&lt;a href="http://en.wikipedia.org/wiki/Hello_world"&gt;Historically&lt;/a&gt;, programming languages
are often introduced with their Hello World example. It is completely trivial but
also quite an informative place to start.&lt;br&gt;
&lt;br&gt;
A Hello World may look like this, for a .NET Console application:&lt;br&gt;
&lt;br&gt;
...in C#&lt;br&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;span style="color: Black; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;&lt;span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;class&lt;/span&gt; Program&lt;br&gt;
{&lt;br&gt;
&amp;nbsp;&amp;nbsp; &lt;span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;static&lt;/span&gt; &lt;span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;void&lt;/span&gt; Main(&lt;span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;string&lt;/span&gt;[]
args)&lt;br&gt;
&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.WriteLine(&lt;span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;"&gt;"Hello
World"&lt;/span&gt;);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.ReadLine(); &lt;span style="color: Green; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;//
press Enter to close&lt;/span&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp; }&lt;br&gt;
}&lt;br&gt;
&lt;/span&gt;
&lt;/p&gt;
...in VB.NET&lt;br&gt;
&lt;br&gt;
&lt;p&gt;
&lt;span style="color: Black; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;&lt;span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;Sub&lt;/span&gt; Main()&lt;br&gt;
&amp;nbsp;&amp;nbsp; Console.WriteLine(&lt;font color="#ff0000"&gt;&lt;span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;"&gt;"Hello
world!"&lt;/span&gt;&lt;/font&gt;)&lt;br&gt;
&amp;nbsp;&amp;nbsp; Console.ReadLine() &lt;span style="color: Green; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;'press
Enter to close&lt;/span&gt;
&lt;br&gt;
&lt;span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;End&lt;/span&gt; &lt;span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;Sub&lt;/span&gt;
&lt;br&gt;
&lt;/span&gt;
&lt;/p&gt;
I won’t go into the exact details of this sample, but I will mention that the purpose
of this trivial example is to illustrate that you are scripting a conversation between
the computer and a program.&amp;nbsp; Magic does not live here.&amp;nbsp; Computers are just
following instructions.&lt;br&gt;
&lt;br&gt;
The value of starting a project on a rich framework like the Microsoft.NET framework
is that plenty of the elemental pieces required to construct these scripts are supplied
for you and arranged in a discoverable fashion.&amp;nbsp; 
&lt;br&gt;
&lt;br&gt;
An exhaustive list of the pieces that are supplied in the framework is documented
in the MSDN Library that you can install with the Express Editions &lt;a href="http://msdn2.microsoft.com/en-us/library/ms644560.aspx"&gt;and
also online&lt;/a&gt;. 
&lt;br&gt;
&lt;br&gt;
&lt;b&gt;Follow the white rabbit, neo… &lt;/b&gt;
&lt;br&gt;
&lt;br&gt;
Start with some good quality learning guidance focused on Visual Studio:&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href="http://msdn.microsoft.com/vstudio/express/beginner/"&gt;Beginner Developer Learning
Centre&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://msdn2.microsoft.com/en-us/library/aa388622.aspx"&gt;.NET Framework Quick
Starts and Samples&lt;/a&gt;
&lt;br&gt;
&lt;/li&gt;
&lt;/ul&gt;
…and don’t forget the web is littered with good and not so good programming tutorials.&lt;br&gt;
&lt;br&gt;
&lt;b&gt;Read other people's source code&lt;br&gt;
&lt;br&gt;
&lt;/b&gt;The problem with tutorials is that they often leave off some important details
in order to keep the example simple, thus you can only go so far reading tutorials.&lt;br&gt;
&lt;br&gt;
Reading other people's source code can be very helpful in understaning how a technology
is used in practice.&amp;nbsp; Some sources:&lt;br&gt;
&lt;b&gt;&lt;/b&gt;
&lt;ul&gt;
&lt;li&gt;
SharpDevelop is &lt;a href="http://www.icsharpcode.net/OpenSource/SD/Download/"&gt;available
as source code&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
CodePlex has many great projects available with source code.&amp;nbsp; Highlights include
the &lt;a href="http://www.codeplex.com/AtlasControlToolkit"&gt;AJAX Control Toolkit&lt;/a&gt;!&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;
Patterns and Practices Enterprise Library is &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=4c557c63-708f-4280-8f0c-637481c31718&amp;amp;displaylang=en"&gt;available
for download with source code&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;
Filter SourceForge by programming language:&amp;nbsp; &lt;a href="http://sourceforge.net/softwaremap/trove_list.php?form_cat=589"&gt;ASP.NET&lt;/a&gt;, &lt;a href="http://sourceforge.net/softwaremap/trove_list.php?form_cat=453"&gt;VB.NET&lt;/a&gt; and &lt;a href="http://sourceforge.net/softwaremap/trove_list.php?form_cat=271"&gt;C#&lt;/a&gt;.&lt;br&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;b&gt;Start a project&lt;/b&gt;
&lt;br&gt;
&lt;br&gt;
Lots of people (ok, me – but probably plenty of others too) need a project to really
get the programming juices flowing.&amp;nbsp; I need a problem to solve; otherwise I’ll
just stare at the &lt;font face="Courier New"&gt;File -&amp;gt; New&lt;/font&gt; dialogue for hours.&lt;br&gt;
&lt;br&gt;
What does this mean for beginner programmers?&amp;nbsp; Don’t think you have to look for
problems that are new to science and have never been solved before.&amp;nbsp; Download.com&amp;nbsp;
probably has hundreds of “note taking” applications, and “home movie database” applications.&amp;nbsp;
The benefit of&amp;nbsp; starting a project at this stage of your career is not to solve
a new problem – it’s what you pick up along the way.&lt;br&gt;
&lt;br&gt;
Be generous with the constraints of your project.&amp;nbsp; Learning works best when it’s
fun.&amp;nbsp; The last thing you need when starting programming is the stress of project
constraints!&lt;br&gt;
&lt;br&gt;
&lt;b&gt;Start a blog&lt;/b&gt;
&lt;br&gt;
&lt;br&gt;
Grab an account at &lt;a href="https://www.blogger.com/start"&gt;Blogger&lt;/a&gt; or one of the
other blogging platforms and record your experiences.&lt;br&gt;
&lt;br&gt;
Even if it is just &lt;i&gt;“this is what I learned today” &lt;/i&gt;and &lt;i&gt;“this is what I don’t
understand today”&lt;/i&gt; posts there is still value in blogging:&lt;br&gt;
&lt;ol&gt;
&lt;li&gt;
Blogging forces you to stream your thoughts down into words.&amp;nbsp; The cathartic effect
this can have on your thoughts while learning a technology can hardly be understated.&amp;nbsp; 
&lt;/li&gt;
&lt;li&gt;
Blogging is a great way to open a conversation with other people who are doing the
same thing&lt;/li&gt;
&lt;/ol&gt;
&lt;br&gt;
For blogging on the train?&amp;nbsp; Try &lt;a href="http://get.live.com/betas/writer_betas"&gt;Windows
Live Writer&lt;/a&gt;, but I often just use Word then copy-and-paste when I get connected
again.&lt;br&gt;
&lt;br&gt;
&lt;b&gt;Be aware of support:&lt;/b&gt;
&lt;br&gt;
&lt;br&gt;
Of course, the blogosphere has a wealth of information ;-)&lt;br&gt;
&lt;br&gt;
Some others:&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;
If there is a topic in the .NET ecosystem, then &lt;a href="http://www.dotnetrocks.com/archives.aspx"&gt;DotNetRocks
has probabbly done a show on it&lt;/a&gt;, and don't forget that PDF transcripts are available.&lt;/li&gt;
&lt;li&gt;
&lt;a temp_href="http://msdn.microsoft.com/vstudio/express/beginner/ " href="http://msdn.microsoft.com/vstudio/express/beginner/%20"&gt;Beginner
Developer Learner Center at MSDN&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://blogs.msdn.com/coding4fun/"&gt;Coding4Fun @ MSDN&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
Community Sites, like &lt;a href="http://www.csharpzealot.com/"&gt;C# Zealot&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;
Your local .NET User Group like &lt;a href="http://www.sdnug.org/"&gt;SDNUG in Sydney&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
MSDN &lt;a href="http://msdn.microsoft.com/newsgroups/default.aspx"&gt;Newsgroups&lt;/a&gt; and &lt;a temp_href="http://forums.microsoft.com/msdn/default.aspx?siteid=1 " href="http://forums.microsoft.com/msdn/default.aspx?siteid=1%20"&gt;Forums&lt;/a&gt;,
including the &lt;a href="http://forums.microsoft.com/MSDN/default.aspx?ForumGroupID=35&amp;amp;SiteID=1"&gt;forums
for Visual Studio Express Editions&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
...and there are literally hunderds more sites on the web of various quality and reputation...&lt;br&gt;
&lt;br&gt;
&lt;b&gt;What Else?&lt;/b&gt;&amp;nbsp; I'd love to hear from anyone via comments here on this topic.&amp;nbsp;
What other bits should people go and get for programming on day one.&lt;br&gt;
&lt;br&gt;
&lt;font color="#808080"&gt;&lt;b&gt;Listening To&lt;/b&gt;:&amp;nbsp; DAT323 Inside T-SQL (with Itzik Ben-Gan)
from Tech.Ed '07.&lt;/font&gt;
&lt;br&gt;</description>
      <comments>http://deepdark.net/CommentView,guid,86ea6595-dbf0-4b19-9e98-5ba36203ad2b.aspx</comments>
      <category>Learn To Code</category>
    </item>
    <item>
      <trackback:ping>http://deepdark.net/Trackback.aspx?guid=f9eee99a-9c7c-4417-8940-48c539cb8004</trackback:ping>
      <pingback:server>http://deepdark.net/pingback.aspx</pingback:server>
      <pingback:target>http://deepdark.net/PermaLink,guid,f9eee99a-9c7c-4417-8940-48c539cb8004.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://deepdark.net/CommentView,guid,f9eee99a-9c7c-4417-8940-48c539cb8004.aspx</wfw:comment>
      <wfw:commentRss>http://deepdark.net/SyndicationService.asmx/GetEntryCommentsRss?guid=f9eee99a-9c7c-4417-8940-48c539cb8004</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">A friend of mine dropped me an email that
asked the following:<br /><br /><font color="#0000ff"><i>So, I’ve been thinking more and more lately that I should
make some better use of my spare brain cycles and train time by learning some coding.
Do you have any recommendations for where a total coding newbie with no money and
no copy of VS should start?</i></font><br /><br />
So I thought I would answer in a series of blog posts.  <b>This is part 1</b>.<br /><br /><b>The first thing is no money does not mean that you can’t have a copy of Visual
Studio</b><br /><br />
The first thing to do is grab a copy of <a href="http://msdn2.microsoft.com/en-us/express/aa974184.aspx">Visual
Studio Express Edition</a>.  These are supprisingly capable cut down versions
of the real Visual Studio 2005.<br /><br />
Go for Visual Basic or C# - don’t think C++ or J# are particularly good places to
start learning code.  Either is fine.  Really.  
<br /><br />
Also, Visual Studio 2008 Express Edition is available in Beta 2 at the time of writing. 
Visual Studio 2008 is awesome, but again not the best place to start imho.<br /><br />
Then grab <a href="http://msdn2.microsoft.com/en-us/express/aa975050.aspx">Visual
Web Developer Express and SQL Server Express</a><br /><br />
Also, if you think MCP Certification is on the cards, each <a href="http://www.dymocks.com.au/ProductDetails/ProductDetail.aspx?R=9780735622777">MS
Press training kit comes with a 90-day copy of Visual Studio Professional</a>.<br /><br /><font color="#ff0000"><b>UPDATE</b></font>:  There are some additional downloads
to consider:<br /><ul><li><a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=7B0B0339-613A-46E6-AB4D-080D4D4A8C4E&amp;displaylang=en">Visual
Studio 2005 Express Editions Service Pack 1</a></li><li><a href="http://www.microsoft.com/downloads/details.aspx?familyid=90e2942d-3ad1-4873-a2ee-4acc0aace5b6&amp;displaylang=en">Visual
Studio 2005 Update for Windows Vista</a></li><li><a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=BE6A2C5D-00DF-4220-B133-29C1E0B6585F&amp;displaylang=en">SQL
Server Books Online Update (May 2007).</a>  <b>NB: </b>These are updated a couple
of times a year.<br /></li></ul><br /><b>The second thing is no Visual Studio does not mean no .NET programming</b><br /><br /><a href="http://www.icsharpcode.net/OpenSource/SD/">#develop, or SharpDevelop is a
free, open source development tool</a> for C#, VB.NET and Boo.<br /><br />
It has a couple of limitations, but can be had for a tiny 8.2Mb download and dosen't
carry some of the weight of Visual Studio while still keeping some of the look and
feel.<br /><br /><b>Still have some spare bandwidth?</b><br /><br /><a href="http://www.microsoft.com/downloads/details.aspx?familyid=C2B1E300-F358-4523-B479-F53D234CDCCF&amp;displaylang=en">Grab
the Windows SDK</a>.  It's probabbly a bit above the beginner level but it represents
an execllent reference to what is happening under the hood when you come to need to
know.<br /><br /><a href="http://www.gotdotnet.com/Team/FxCop/">Grab FxCop</a> (NB: you may have grabbed
this as part of the Windows SDK).  FxCop is a tool that looks at your programs
and compares them to a set of rules for programming on the .NET framework.  This
is a little bit of an advanced topic, but also is a really valuable learning tool
for avoiding bad coding habits.<br /><br />
FxCop 101:  <i>The default is to check your code against all the rules. 
As a beginner you probabbly don't want this.</i><br /><br /><b>Source code control is an important practice.  Even for a single guy on a
train.</b><br /><br />
For source code control I would <a href="http://sourcegear.com/vault/index.html">recommend
going with SourceGear Vault</a> which is <a href="http://sourcegear.com/faq.html">free
for a single named concurrent user</a>.  It's really easy to install and get
going.<br /><br />
Unlike SourceSafe, Vault is backed with a SQL Server database for better performance
and backup support, and also runs over SSL and can run over the internet.  Additionally
it supports an <i>Edit-Merge-Commit</i> usage pattern in addition to SourceSafe’s <i>Checkout-Change-Commit</i> usage
pattern – but that is a bit of an advanced topic so don’t get too distracted. 
Just know that it’s there for later.<br /><br /><b>What Else?</b>  I'd love to hear from anyone via comments here on this topic. 
What other bits should people go and get for programming on day one.<br /><br /><font color="#808080"><b>Listening To</b>:  DAT318 Applied ADO.NET Entities from
Tech.Ed '07.</font><br /><p></p></body>
      <title>Learning to program, part 1 - What you can use</title>
      <guid isPermaLink="false">http://deepdark.net/PermaLink,guid,f9eee99a-9c7c-4417-8940-48c539cb8004.aspx</guid>
      <link>http://deepdark.net/PermaLink,guid,f9eee99a-9c7c-4417-8940-48c539cb8004.aspx</link>
      <pubDate>Tue, 14 Aug 2007 03:26:16 GMT</pubDate>
      <description>A friend of mine dropped me an email that asked the following:&lt;br&gt;
&lt;br&gt;
&lt;font color="#0000ff"&gt;&lt;i&gt;So, I’ve been thinking more and more lately that I should
make some better use of my spare brain cycles and train time by learning some coding.
Do you have any recommendations for where a total coding newbie with no money and
no copy of VS should start?&lt;/i&gt;&lt;/font&gt;
&lt;br&gt;
&lt;br&gt;
So I thought I would answer in a series of blog posts.&amp;nbsp; &lt;b&gt;This is part 1&lt;/b&gt;.&lt;br&gt;
&lt;br&gt;
&lt;b&gt;The first thing is no money does not mean that you can’t have a copy of Visual
Studio&lt;/b&gt;
&lt;br&gt;
&lt;br&gt;
The first thing to do is grab a copy of &lt;a href="http://msdn2.microsoft.com/en-us/express/aa974184.aspx"&gt;Visual
Studio Express Edition&lt;/a&gt;.&amp;nbsp; These are supprisingly capable cut down versions
of the real Visual Studio 2005.&lt;br&gt;
&lt;br&gt;
Go for Visual Basic or C# - don’t think C++ or J# are particularly good places to
start learning code.&amp;nbsp; Either is fine.&amp;nbsp; Really.&amp;nbsp; 
&lt;br&gt;
&lt;br&gt;
Also, Visual Studio 2008 Express Edition is available in Beta 2 at the time of writing.&amp;nbsp;
Visual Studio 2008 is awesome, but again not the best place to start imho.&lt;br&gt;
&lt;br&gt;
Then grab &lt;a href="http://msdn2.microsoft.com/en-us/express/aa975050.aspx"&gt;Visual
Web Developer Express and SQL Server Express&lt;/a&gt;
&lt;br&gt;
&lt;br&gt;
Also, if you think MCP Certification is on the cards, each &lt;a href="http://www.dymocks.com.au/ProductDetails/ProductDetail.aspx?R=9780735622777"&gt;MS
Press training kit comes with a 90-day copy of Visual Studio Professional&lt;/a&gt;.&lt;br&gt;
&lt;br&gt;
&lt;font color="#ff0000"&gt;&lt;b&gt;UPDATE&lt;/b&gt;&lt;/font&gt;:&amp;nbsp; There are some additional downloads
to consider:&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=7B0B0339-613A-46E6-AB4D-080D4D4A8C4E&amp;amp;displaylang=en"&gt;Visual
Studio 2005 Express Editions Service Pack 1&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=90e2942d-3ad1-4873-a2ee-4acc0aace5b6&amp;amp;displaylang=en"&gt;Visual
Studio 2005 Update for Windows Vista&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=BE6A2C5D-00DF-4220-B133-29C1E0B6585F&amp;amp;displaylang=en"&gt;SQL
Server Books Online Update (May 2007).&lt;/a&gt;&amp;nbsp; &lt;b&gt;NB: &lt;/b&gt;These are updated a couple
of times a year.&lt;br&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;br&gt;
&lt;b&gt;The second thing is no Visual Studio does not mean no .NET programming&lt;/b&gt;
&lt;br&gt;
&lt;br&gt;
&lt;a href="http://www.icsharpcode.net/OpenSource/SD/"&gt;#develop, or SharpDevelop is a
free, open source development tool&lt;/a&gt; for C#, VB.NET and Boo.&lt;br&gt;
&lt;br&gt;
It has a couple of limitations, but can be had for a tiny 8.2Mb download and dosen't
carry some of the weight of Visual Studio while still keeping some of the look and
feel.&lt;br&gt;
&lt;br&gt;
&lt;b&gt;Still have some spare bandwidth?&lt;/b&gt;
&lt;br&gt;
&lt;br&gt;
&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=C2B1E300-F358-4523-B479-F53D234CDCCF&amp;amp;displaylang=en"&gt;Grab
the Windows SDK&lt;/a&gt;.&amp;nbsp; It's probabbly a bit above the beginner level but it represents
an execllent reference to what is happening under the hood when you come to need to
know.&lt;br&gt;
&lt;br&gt;
&lt;a href="http://www.gotdotnet.com/Team/FxCop/"&gt;Grab FxCop&lt;/a&gt; (NB: you may have grabbed
this as part of the Windows SDK).&amp;nbsp; FxCop is a tool that looks at your programs
and compares them to a set of rules for programming on the .NET framework.&amp;nbsp; This
is a little bit of an advanced topic, but also is a really valuable learning tool
for avoiding bad coding habits.&lt;br&gt;
&lt;br&gt;
FxCop 101:&amp;nbsp; &lt;i&gt;The default is to check your code against all the rules.&amp;nbsp;
As a beginner you probabbly don't want this.&lt;/i&gt;
&lt;br&gt;
&lt;br&gt;
&lt;b&gt;Source code control is an important practice.&amp;nbsp; Even for a single guy on a
train.&lt;/b&gt;
&lt;br&gt;
&lt;br&gt;
For source code control I would &lt;a href="http://sourcegear.com/vault/index.html"&gt;recommend
going with SourceGear Vault&lt;/a&gt; which is &lt;a href="http://sourcegear.com/faq.html"&gt;free
for a single named concurrent user&lt;/a&gt;.&amp;nbsp; It's really easy to install and get
going.&lt;br&gt;
&lt;br&gt;
Unlike SourceSafe, Vault is backed with a SQL Server database for better performance
and backup support, and also runs over SSL and can run over the internet.&amp;nbsp; Additionally
it supports an &lt;i&gt;Edit-Merge-Commit&lt;/i&gt; usage pattern in addition to SourceSafe’s &lt;i&gt;Checkout-Change-Commit&lt;/i&gt; usage
pattern – but that is a bit of an advanced topic so don’t get too distracted.&amp;nbsp;
Just know that it’s there for later.&lt;br&gt;
&lt;br&gt;
&lt;b&gt;What Else?&lt;/b&gt;&amp;nbsp; I'd love to hear from anyone via comments here on this topic.&amp;nbsp;
What other bits should people go and get for programming on day one.&lt;br&gt;
&lt;br&gt;
&lt;font color="#808080"&gt;&lt;b&gt;Listening To&lt;/b&gt;:&amp;nbsp; DAT318 Applied ADO.NET Entities from
Tech.Ed '07.&lt;/font&gt;
&lt;br&gt;
&lt;p&gt;
&lt;/p&gt;</description>
      <comments>http://deepdark.net/CommentView,guid,f9eee99a-9c7c-4417-8940-48c539cb8004.aspx</comments>
      <category>Geeking Out!</category>
      <category>Learn To Code</category>
    </item>
  </channel>
</rss>