<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="/stylesheets/rss.css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>Talk Like A Duck: How Did You Get Started in Programming</title>
    <link>http://talklikeaduck.denhaven2.com/articles/2008/06/07/how-did-you-get-started-in-programming</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description>In Ruby, it's not the dog, it's the tricks!</description>
    <item>
      <title>How Did You Get Started in Programming</title>
      <description>&lt;p&gt;Joe O&amp;#8217;Brien wrote an article about &lt;a href="http://objo.com/2008/6/7/how-did-you-get-started-in-programming"&gt;How he got started in programming.&lt;/a&gt;According to Joe, this is a meme started by &lt;a href="http://michaeleatonconsulting.com/blog/"&gt;Michael Eaton,&lt;/a&gt; and &lt;a href="http://www.codinggeekette.com/2008/06/sarahs-steps-into-software-development.aspx"&gt;Sarah Dutkiewicz.&lt;/a&gt; It seemed like fun, so here&amp;#8217;s my story, in the same form used by Michael and Sarah.&lt;/p&gt;
&lt;h2&gt;How old were you when you started programming?&lt;/h2&gt;
&lt;p&gt;I would have been 18 or 19.  It was my freshman year in college (1970/71), but I can&amp;#8217;t recall whether it was first or second semester, and my birthday is in December.&lt;/p&gt;
&lt;h2&gt;How did you get started in programming?&lt;/h2&gt;
&lt;p&gt;Let me go back just a little bit. When I was in high school, I was very interested in music.  I&amp;#8217;d played in various rock and blues bands since junior high.  My high school in Connecticut was part of a program which taught electronic music.  This was a time when synthesizers were just coming to the fore.  Walter (now Wendy) Carlos&amp;#8217; album &amp;#8220;Switched on Bach&amp;#8221; had come out in 1968 when I was a high-school sophomore.&lt;/p&gt;
&lt;p&gt;So I started at the University of Connecticut in the fall of 1970 and enrolled in the Electrical Engineering School, with the sole intention of becoming the next Robert Moog.  All I really wanted to learn was how to design voltage-controlled oscilators and amplifiers.&lt;/p&gt;
&lt;p&gt;One of the courses which all freshman engineers at UConn had to take was a 100 level CE course which consisted of one-half semester of &amp;#8220;Engineering Graphics&amp;#8221; i.e drafting on a board with a T-Square, Triangles and French-curves, and one-half semester of Fortran I programming on an &lt;span class="caps"&gt;IBM 1620&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;That course got me hooked on programming, and my musical career ended in a hurry.&lt;/p&gt;
&lt;h2&gt;What was your first language?&lt;/h2&gt;
&lt;p&gt;As I mentioned it was Fortran I, but I quickly became one of those guys who wanted to dabble with every programming language I could get my hands on.&lt;/p&gt;
&lt;h2&gt;What was the first real program you wrote?&lt;/h2&gt;
&lt;p&gt;It&amp;#8217;s been so long that I can&amp;#8217;t really remember.  One of the things I remember from school was writing a compiler as a class project.  I also remember a computer architecture (hardware) course, taught by grad student with a recent math MS, who I baffled by designing a computer for the term project which had a very simple hardware design, because it was micro-programmed so the main part of the design was actually firmware.  The poor guy didn&amp;#8217;t really know what to make of it.&lt;/p&gt;
&lt;h2&gt;What languages have you used since you started programming?&lt;/h2&gt;
&lt;p&gt;This is probably not a complete list but:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;PL/I&lt;/li&gt;&lt;li&gt;Snobol&lt;/li&gt;&lt;li&gt;Lisp 1.5&lt;/li&gt;&lt;li&gt;Formac&lt;/li&gt;&lt;li&gt;1620 Assembler Language&lt;/li&gt;&lt;li&gt;&lt;span class="caps"&gt;PDP 8&lt;/span&gt;/5 Assembler Language&lt;/li&gt;&lt;li&gt;&lt;span class="caps"&gt;IBM&lt;/span&gt; System/360/370 Assembler Language&lt;/li&gt;&lt;li&gt;&lt;span class="caps"&gt;APL&lt;/span&gt;&lt;/li&gt;&lt;li&gt;PL/S &amp;#8211; an &lt;span class="caps"&gt;IBM&lt;/span&gt; internal mid-level language akin to C but with a PL/I like syntax, and a later variant PL/AS&lt;/li&gt;&lt;li&gt;Basic &amp;#8211; on the &lt;span class="caps"&gt;APPLE&lt;/span&gt; ][&lt;/li&gt;&lt;li&gt;&lt;span class="caps"&gt;UCSD&lt;/span&gt; Pascal&lt;/li&gt;&lt;li&gt;C&lt;/li&gt;&lt;li&gt;Class-C, an object oriented C variant similar to Objective-C which I invented for use within &lt;span class="caps"&gt;IBM&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Object Pascal (using MacApp)&lt;/li&gt;&lt;li&gt;C++ (as little as possible)&lt;/li&gt;&lt;li&gt;Smalltalk &amp;#8211; my first real love&lt;/li&gt;&lt;li&gt;Java &amp;#8211; mostly because I had no choice&lt;/li&gt;&lt;li&gt;Ruby &amp;#8211; my current love&lt;/li&gt;&lt;li&gt;JavaScript &amp;#8211; which I&amp;#8217;ve decided is my language of the year for 2008.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;If you knew then what you know now, would you have started programming?&lt;/h2&gt;
&lt;p&gt;Only because I can&amp;#8217;t figure out how to become a real Rock Star.&lt;/p&gt;
&lt;h2&gt;If there is one thing you learned along the way that you would tell new developers, what would it be?&lt;/h2&gt;
&lt;p&gt;Try to get a broad a picture as possible of programming, try to use your knowledge of other languages enhance your learning of new ones instead of inhibiting yourself by misunderstanding how the languages differ from the ones you&amp;#8217;ve already used,&lt;/p&gt;
&lt;h2&gt;What&amp;#8217;s the most fun you&amp;#8217;ve ever had &amp;#8230; programming?&lt;/h2&gt;
&lt;p&gt;The most enjoyable aspects of programming are the social ones.  I was doing pair programming before anyone had coined the term.  I remember sessions where two or three guys were working on something, one working the keyboard, one the mouse, and maybe a third kibitzing.  Beyond that it&amp;#8217;s great to hang out with other programmers whether at local groups or at a conference like &lt;span class="caps"&gt;OOPSLA&lt;/span&gt; or RubyConf and talk about the craft of programming, maybe over a beer or two.&lt;/p&gt;</description>
      <pubDate>Sat, 07 Jun 2008 23:14:00 -0400</pubDate>
      <guid isPermaLink="false">urn:uuid:3bc15a36-f91e-4fa5-b630-6fb171d7f249</guid>
      <author>Rick DeNatale</author>
      <link>http://talklikeaduck.denhaven2.com/articles/2008/06/07/how-did-you-get-started-in-programming</link>
      <category>war_stories</category>
      <trackback:ping>http://talklikeaduck.denhaven2.com/articles/trackback/502</trackback:ping>
    </item>
  </channel>
</rss>
