<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Is programming easy to learn?</title><link>http://blogs.msdn.com/alfredth/archive/2006/12/11/is-programming-easy-to-learn.aspx</link><description>The second part of an interview with Bjarne Stroustrup showed up last week. (I talked about part one earlier .) One of the questions he was asked was if we should be " simplifying the process of coding so that more individuals are able to participate</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>re: Is programming easy to learn?</title><link>http://blogs.msdn.com/alfredth/archive/2006/12/11/is-programming-easy-to-learn.aspx#1257223</link><pubDate>Mon, 11 Dec 2006 11:05:28 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1257223</guid><dc:creator>JohnC</dc:creator><description>&lt;p&gt;I've always been a firm believer that the 'Coder Mindset' cannot be taught. It can be refined and honed by teaching and experience but all of the best programmers I've worked with were naturals.&lt;/p&gt;
&lt;p&gt;On the flip side I've seen the utter devastation a department staffed with re-trained sports graduates (I kid you not) can cause.&lt;/p&gt;
</description></item><item><title>re: Is programming easy to learn?</title><link>http://blogs.msdn.com/alfredth/archive/2006/12/11/is-programming-easy-to-learn.aspx#1260415</link><pubDate>Mon, 11 Dec 2006 21:16:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1260415</guid><dc:creator>Dennis E. Hamilton</dc:creator><description>&lt;p&gt;I don't want to believe that there isn't anything about programming and developing software that can't be learned. &amp;nbsp;There may be no motivation to do so, there may be unwillingness to go through all the steps and to work from fundamentals (just like learning to play an instrument), and there may be self-defeating points-of-view (&amp;quot;I can't do math,&amp;quot; etc.), but I believe the content can be made accessible to those with a motivation and interest in doing the work and engaging in the subject.&lt;/p&gt;
&lt;p&gt;Attitude may be the biggest difficulty. &amp;nbsp;There may be some cognitive issues too, perhaps related to attitude or world-view that get in the way.&lt;/p&gt;
&lt;p&gt;Donald Knuth speaks of this matter in an interesting way, around the need to deal with abstractions and how abstractions must be managed by software developers. &amp;nbsp;He finds that there are people who find working with abstraction in an explicit way (self-consciously or not) extremely difficult. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;I recall finding people who just don't get the difference between the character '5' and the number 5, (and ASCII code 0x35) for example, and certain things about programming make them very crazy. &amp;nbsp;Eventually the light bulb lights or else the people flee computing because they can't deal with what seems insane to them and has them be incompetent. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;Which is a long-winded way to suggest that it is about programming thinking and how to lead people to where the essential ahahs can be experienced. &amp;nbsp;There is probably no right way to do this, leaving a wonderful rewarding challenge for the inspired teacher.&lt;/p&gt;
</description></item><item><title>re: Is programming easy to learn?</title><link>http://blogs.msdn.com/alfredth/archive/2006/12/11/is-programming-easy-to-learn.aspx#1264230</link><pubDate>Tue, 12 Dec 2006 07:44:59 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1264230</guid><dc:creator>Alfred Thompson</dc:creator><description>&lt;p&gt;I agree with you Dennis. I want to beieve that everything can be taught. I have to beieve that people can be taught to sove problems. We need more problem solvers. Oh sure some people are just going to be better at it than others but really people need to think more critically. If we teach programming correctly more critical thinking will be a natural byproduct.&lt;/p&gt;
</description></item><item><title>Interesting Finds: December 11, 2006</title><link>http://blogs.msdn.com/alfredth/archive/2006/12/11/is-programming-easy-to-learn.aspx#1264345</link><pubDate>Tue, 12 Dec 2006 08:17:35 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1264345</guid><dc:creator>Jason Haley</dc:creator><description /></item><item><title>re: Is programming easy to learn?</title><link>http://blogs.msdn.com/alfredth/archive/2006/12/11/is-programming-easy-to-learn.aspx#1264917</link><pubDate>Tue, 12 Dec 2006 11:21:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1264917</guid><dc:creator>John C</dc:creator><description>&lt;p&gt;I wonder if student age and background enters in to this in a big way. I must admit to a level of 'geekness', I learned z80 assembler at 8 years of age on a Sinclair Spectrum, so I've always been able to program a computer. My family has a history of engineering, so from age 0 I was always taking stuff apart to see how it worked. For me problem solving and 'seeing' solutions was a natural thing. This has meant I've always considered programming as easy, fun and an intellectual challenge to find the most creative and elligant solution to any given problem.&lt;/p&gt;
&lt;p&gt;Conversly most people I've encountered professionally didn't start programming until their late teans/early twenties at univercity. Amongst these the engineers tended to be the naturals. Again, they could just 'see' what was going on, the study was just to refine and formalise what they could already do. The non-engineers found it much harder going... Whilst they could be taught the Science of programming, the Art of programming was much harder to grasp. They never gained the ability to go from something seen before and extrapolate it into something new, which to me is the mark of a programmer.&lt;/p&gt;
</description></item><item><title>re: Is programming easy to learn?</title><link>http://blogs.msdn.com/alfredth/archive/2006/12/11/is-programming-easy-to-learn.aspx#1266386</link><pubDate>Tue, 12 Dec 2006 17:59:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1266386</guid><dc:creator>Gregg Irwin</dc:creator><description>&lt;p&gt;I think it's *very* important to have tools that allow people to tinker, experiment, and build things for themselves. That may mean setting up filtering and routing rules for email, sending a chunk of data from app A to app B, or building complete custom solutions from the ground up.&lt;/p&gt;
&lt;p&gt;Now, programming and problem solving are two different things; you can do the latter without the former, but not the other way around. No matter how &amp;quot;simple&amp;quot; you make the programming, there are problems to be solved and compromises to be made. Problem solving is far more important, and this is where I think we're missing the boat when we teach programming.&lt;/p&gt;
&lt;p&gt;Language syntax may not be that hard, but what's the right language to teach with? C#/Java, C/C++, Python, Ruby, VB? I don't think so. Those are tools for programmers. Logo has probably been the best choice historically (IMO), though there are always initiatives and new developments (isn't MS doing something even now?). &lt;/p&gt;
&lt;p&gt;&amp;quot;The hard part of programming is not programming languages but programming thinking.&amp;quot;&lt;/p&gt;
&lt;p&gt;YES!&lt;/p&gt;
&lt;p&gt;&amp;quot;We may use other tools to avoid the more involved syntax of most programming languages at the beginning but there is real power in them so eventually people have to learn them.&amp;quot;&lt;/p&gt;
&lt;p&gt;Syntax isn't the main issue, though it's important; involved syntax is nothing compared to involved semantics, and the fact that both the syntax and semantics have nothing to do with problem solving in any real world domain--except programming. :) And there is no reason why a &amp;quot;simplified&amp;quot; language need by any less powerful than any other language; it's focus may be different but, if anything, it can be much *more* powerful. People should never have to learn more than they need to, in order to solve their problems--as far as languages go--so we can, forever, disassociate the term &amp;quot;real programmers&amp;quot; from language and tool choice. &lt;/p&gt;
&lt;p&gt;I don't have a solution in hand for this problem, but I have an idea. As the Logo turtle helped teach problem solving with visual feedback, in a very specific domain, what if we provide tools and languages for other contexts? If you want to teach city planning, how far off would something like SimCity be? If you want to teach economics, what would a language look like, that let you &amp;quot;think&amp;quot; in that domain, plug in variables, and watch for trends or long term effects? Should you learn Java if you want to do graphics, and figure out how to render fur or landscapes, better or more efficiently; or if you want to do advanced mathematics? &lt;/p&gt;
&lt;p&gt;If you need to step outside the bounds of the language, for whatever reason, having an escape hatch to a parent language that has much in common with what you know...that's icing on the cake. &lt;/p&gt;
&lt;p&gt;So, I'm not worried about people learning to program, but I do want them to learn to solve problems using computers.&lt;/p&gt;
</description></item><item><title>re: Is programming easy to learn?</title><link>http://blogs.msdn.com/alfredth/archive/2006/12/11/is-programming-easy-to-learn.aspx#1266445</link><pubDate>Tue, 12 Dec 2006 18:12:18 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1266445</guid><dc:creator>Alfred Thompson</dc:creator><description>&lt;p&gt;Microsoft has a number of things going on to help beginners and learners. Not all of them are far enough along to talk about yet. But there is deep interest in the problem at the highest levels of the company. The idea is to help people solve problems using computers. That has pretty much been the Microsoft goal since the early days.&lt;/p&gt;
</description></item><item><title>re: Is programming easy to learn?</title><link>http://blogs.msdn.com/alfredth/archive/2006/12/11/is-programming-easy-to-learn.aspx#1339029</link><pubDate>Thu, 21 Dec 2006 10:46:48 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1339029</guid><dc:creator>Glenn Block</dc:creator><description>&lt;p&gt;I'll answer this question with another question, &amp;quot;Is programming an Art?? A person can learn language syntax, structure, etc. But can they learn creativity? Can they learn how to take the tools at their disposal and put them together to solve solutions. Similar to an artist or a craftsman &lt;/p&gt;
&lt;p&gt;IMHO there has to be some innate ability. Now a person who is not been a developer may have that ability and not know it, but can a person who does not have the ability develop it? In the same way can a person who has no predisposition toward art become an artist, or a crafstman?&lt;/p&gt;
</description></item></channel></rss>