[aklug] Re: tip for learning a new language

From: Arthur Corliss <acorliss@nevaeh-linux.org>
Date: Tue Nov 06 2012 - 14:36:47 AKST

On Sun, 4 Nov 2012, Christopher Howard wrote:

> On 11/03/2012 11:05 PM, bryanm@acsalaska.net wrote:
>> This student has a suggestion for learning a new language:
>> reimplement unix utilities.
>>
>> http://www.rodrigoalvesvieira.com/copy-unix/
>>
>> Sounds like a good idea to me. Anyone agree/disagree?
>>
>> --
>> Bryan Medsker
>> bryanm@acsalaska.net
>>
>> ---------
>> To unsubscribe, send email to <aklug-request@aklug.org>
>> with 'unsubscribe' in the message body.
>>
>
> The ideal has some appeal. Yet, I think it would be more ideal for
> enthusiastic student programmers to be spending time on creating new,
> cool stuff we can use. For example, I've seen that some pretty fancy
> games have come out of people trying to pick up pygames, or trying out
> Haskell skills recently learned in class.
>
> In the example given by the above link, the programmer implements the
> the "cat" program by reading from files and then outputting to stdio.
> Isn't that the sort of thing you would eventually be forced to learn
> about when making just about any kind of program?

I not only think that reimplementing UNIX utilities is a great idea, I've
actually done exactly that when trying to help others learn programming.

The best reason I have for advocating for this approach is because of the
UNIX philosophy. Most shell utilities do one thing, and do them well.
Which means your problem domain for the programmer to solve is small and
well defined. Which subsequently raises the chances of success for that
programmer.

I've seen many budding would-be programmers get too ambitious out of the
gate, bite off more than they can chew, and then abandon the dream out of
frustration. This approach removes most of that risk.

         --Arthur Corliss
           Live Free or Die
---------
To unsubscribe, send email to <aklug-request@aklug.org>
with 'unsubscribe' in the message body.
Received on Tue Nov 6 14:37:00 2012

This archive was generated by hypermail 2.1.8 : Tue Nov 06 2012 - 14:37:00 AKST