<story><title>High school programming taught in Haskell in Argentina</title><url>http://sawafaso.blogspot.com.ar/2013/07/why-haskell-at-school-matters.html?m=1</url></story><parent_chain><item><author>robomartin</author><text>My first reaction to this was negative.  I immediately objected to choosing Haskell. I&amp;#x27;ve been teaching my own 14 year old son.  I started him with C, then on to Forth, Java and now about to move into Python.&lt;p&gt;Then I stopped to remember the process.  It has been ridiculously hard.  It has required a ton of engagement on my part.  Without me being a constant cheerleader it would go absolutely nowhere.  My kid likes programming but, let&amp;#x27;s face it, today there are tons of distractions and you are in competition with all of it.&lt;p&gt;I would imagine it is really hard to teach a random group of 14~16 year olds.  I would really like to learn more about this from others with experience in this area.</text></item></parent_chain><comment><author>chongli</author><text>The key to really &lt;i&gt;getting&lt;/i&gt; Haskell is learning to build a dialogue with the compiler. Sure, the type errors are intimidating at first -- they pack a lot of information and use precise technical terms -- but once you figure one or two of them out you quickly begin to recognize the patterns. After that, you begin to feel comfortable correcting the type errors and subsequently feel confident about your program when it passes the type checker.&lt;p&gt;After a certain point in your progression, you realize that you can make certain type errors &lt;i&gt;deliberately&lt;/i&gt; so that the type checker will tell you what types it&amp;#x27;s expecting. This is when it all clicks! The type checker is a tool that lets you query for information about your program. It&amp;#x27;s an immense aid to reasoning and a powerful sanity check against your assumptions. This is a capability that less strictly&amp;#x2F;statically typed languages lack and it can lead to a lot of surprises and guesswork.</text></comment>
<story><title>High school programming taught in Haskell in Argentina</title><url>http://sawafaso.blogspot.com.ar/2013/07/why-haskell-at-school-matters.html?m=1</url></story><parent_chain><item><author>robomartin</author><text>My first reaction to this was negative.  I immediately objected to choosing Haskell. I&amp;#x27;ve been teaching my own 14 year old son.  I started him with C, then on to Forth, Java and now about to move into Python.&lt;p&gt;Then I stopped to remember the process.  It has been ridiculously hard.  It has required a ton of engagement on my part.  Without me being a constant cheerleader it would go absolutely nowhere.  My kid likes programming but, let&amp;#x27;s face it, today there are tons of distractions and you are in competition with all of it.&lt;p&gt;I would imagine it is really hard to teach a random group of 14~16 year olds.  I would really like to learn more about this from others with experience in this area.</text></item></parent_chain><comment><author>SomeRandomUser</author><text>It may be frowned upon around here... but when my friends asked me to point them in the right direction to learn programming I just gave them a copy of &amp;quot;Beggining Visual Basic&amp;quot;, showed them some simple code and how to make a simple app with VS.&lt;p&gt;It may not be the best language around, but it&amp;#x27;s simple and you can make something that works in Windows ridiculously easy. If they show continuous interest, then they will hear about some &lt;i&gt;other&lt;/i&gt; languages but most people just want to see something working with buttons and text boxes and then after a few weeks they lose interest.&lt;p&gt;It&amp;#x27;s like going to the gym, some of us love it but it&amp;#x27;s not for everybody. And if it&amp;#x27;s your first time, don&amp;#x27;t spend time with a complex routine... just run on the treadmill until you feel tired. If you like how it feels, then you will keep coming back, and if you don&amp;#x27;t, you didn&amp;#x27;t waste time doing the advanced exercises that are useless without continuous workouts.&lt;p&gt;Disclaimer: I told them that programming serious applications takes a lot of time, hard work and lots of reading and practicing. They just wanted to make toy applications. They were instructed to never deal with secure applications or production critical applications until reaching programming enlightement.</text></comment>