Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!feeder.erje.net!eu.feeder.erje.net!newsfeed.xs4all.nl!newsfeed3.news.xs4all.nl!xs4all!newsgate.cistron.nl!newsgate.news.xs4all.nl!post.news.xs4all.nl!not-for-mail Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: OK 0.000 X-Spam-Evidence: '*H*': 1.00; '*S*': 0.00; 'scripts': 0.03; 'programmer': 0.03; 'languages,': 0.04; 'python)': 0.05; 'subject:Python': 0.06; 'familiarity': 0.07; 'modify': 0.07; 'lawrence': 0.09; 'mastery': 0.09; 'proficient': 0.09; 'rewrite': 0.09; 'since.': 0.09; 'subject:language': 0.09; 'weekend,': 0.09; 'cc:addr:python-list': 0.11; 'language,': 0.12; 'language.': 0.14; 'changes': 0.15; '"python': 0.16; '>>': 0.16; 'morning,': 0.16; 'reasonably': 0.16; 'semantics': 0.16; 'subject:programming': 0.16; 'think.': 0.16; 'time).': 0.16; 'two,': 0.16; 'two.': 0.16; 'wait.': 0.16; 'language': 0.16; 'wrote:': 0.18; 'else,': 0.19; 'finished': 0.19; 'possible,': 0.19; 'thu,': 0.19; 'programming': 0.22; 'email addr:gmail.com>': 0.22; 'saying': 0.22; 'cc:addr:python.org': 0.22; 'stick': 0.24; 'tend': 0.24; 'fairly': 0.24; 'cc:2**0': 0.24; "i've": 0.25; '>': 0.26; 'least': 0.26; 'subject:/': 0.26; 'header:In-Reply-To:1': 0.27; 'point': 0.28; 'chris': 0.29; '[1]': 0.29; 'am,': 0.29; 'room': 0.29; 'dec': 0.30; 'strongly': 0.30; 'message-id:@mail.gmail.com': 0.30; 'along': 0.30; 'went': 0.31; 'code': 0.31; 'getting': 0.31; 'moderate': 0.31; 'styles': 0.31; 'anyone': 0.31; 'languages': 0.32; 'another': 0.32; '(e.g.': 0.33; 'ago': 0.33; "i'd": 0.34; 'could': 0.34; 'december': 0.35; 'except': 0.35; 'knows': 0.35; 'something': 0.35; 'monday': 0.35; 'but': 0.35; 'received:google.com': 0.35; 'there': 0.35; 'next': 0.36; 'useful': 0.36; 'similar': 0.36; 'should': 0.36; 'too': 0.37; 'list': 0.37; 'project': 0.37; 'level': 0.37; 'being': 0.38; 'skip:& 10': 0.38; 'weekend': 0.38; 'whatever': 0.38; '12,': 0.39; 'morning': 0.39; 'enough': 0.39; 'read': 0.60; 'most': 0.60; 'back': 0.62; "you've": 0.63; 'high': 0.63; 'day.': 0.63; 'pick': 0.64; 'week,': 0.64; 'more': 0.64; 'different': 0.65; 'to:addr:gmail.com': 0.65; 'believe': 0.68; 'day': 0.76; 'power': 0.76; 'absolutely.': 0.84; 'diary': 0.84; 'julia': 0.84; 'pike': 0.84; 'sixth': 0.84; 'dozen': 0.91; 'forgotten': 0.91; '2013': 0.98 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=NkPQMp6YaYai2I29yehLF0aTief28OrlmzYyWVDcmwg=; b=IbpoiK7RVufPGZ3P0Tq76txfDOJyq8ocz4Dx24M5NkRO3A82ulq2edW9vtp4HDQrh0 j59yztfpiGNOzEifWEcSU1oDfaoWY2KePAAI9kLFUHuvrLCfSHLxYTccGZhPVtSJ20t3 7wnPLTJTaFd0MoyJH+z/VKHZJCdU0GKYwIyn4s89KXYI4Q0N3XIbSl1d1LePoOB9CkVB YmVMRY6cCR6GB3WGN9nmgjskwBE3MetnwtyWeB5N8LuhpVHzZ0UF9kG3Dnz0m5tD2Gf2 cEHV5Iy013N6JiV8vv4O8A8jdnWNm5K6pwfHg11uiIC68KxezzMR72U5qhWV9FWva6gD FdPA== MIME-Version: 1.0 X-Received: by 10.182.158.71 with SMTP id ws7mr2728373obb.6.1386792785899; Wed, 11 Dec 2013 12:13:05 -0800 (PST) In-Reply-To: References: <201312090824.25211.gheskett@wdtv.com> <52A78F6F.3060507@stoneleaf.us> <05fc5a48-576d-4eb9-a714-96df39f0ef1f@googlegroups.com> Date: Thu, 12 Dec 2013 07:13:05 +1100 Subject: Re: Experiences/guidance on teaching Python as a first programming language From: Tim Delaney To: Chris Angelico Content-Type: multipart/alternative; boundary=089e01494a1661787304ed47db66 Cc: "python-list@python.org" X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: General discussion list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Newsgroups: comp.lang.python Message-ID: Lines: 126 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1386792788 news.xs4all.nl 2963 [2001:888:2000:d::a6]:48233 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python:61616 --089e01494a1661787304ed47db66 Content-Type: text/plain; charset=UTF-8 On 12 December 2013 03:25, Chris Angelico wrote: > On Thu, Dec 12, 2013 at 3:18 AM, Mark Lawrence > wrote: > > On 11/12/2013 16:04, Chris Angelico wrote: > >> > >> I strongly believe that a career > >> programmer should learn as many languages and styles as possible, but > >> most of them can wait. > > > > > > I chuckle every time I read this one. Five years per language, ten > > languages, that's 50 years I think. Or do I rewrite my diary for next > week, > > so I learn Smalltalk Monday morning, Ruby Monday afternoon, Julia Tuesday > > morning ... > > Well, I went exploring the Wikipedia list of languages [1] one day, > and found I had at least broad familiarity with about one in five. I'd > like to get that up to one in four, if only because four's a power of > two. > > More seriously: Once you've learned five of very different styles, it > won't take you five years to learn a sixth language. I picked up Pike > in about a weekend by realizing that it was "Python semantics meets C > syntax", and then went on to spend the next few years getting to know > its own idioms. I'd say anyone who knows a dozen languages should be > able to pick up any non-esoteric language in a weekend, at least to a > level of broad familiarity of being able to read and comprehend code > and make moderate changes to it. > Absolutely. 10 years ago I was saying I'd forgotten at least 20 languages, and there have been many more since. Once you know enough programming languages you (and by "you" I mean "me") get to the point where if you don't know a specific language you can pick up enough to be useful in a day or two, reasonably proficient in a week, and have a fairly high level of mastery by the time you've finished whatever project you picked it up for. And then you don't use it for a while, forget it to make room for something else, and pick it up again when you need it (much faster this time). Except Prolog. Never could get my head around it - I should go back and have another try one of these days. Some languages stick with you (e.g. Python) and I don't tend to learn languages that are too similar to what I already know unless it's for a specific project. So I've never learned Ruby ... but I have had to modify a few Ruby scripts along the way, and been able to achieve what I wanted the same day. TimD elaney --089e01494a1661787304ed47db66 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
On 1= 2 December 2013 03:25, Chris Angelico <rosuav@gmail.com> wrot= e:
On Thu, Dec 12, 2013 at 3:18 AM, Mark Lawrence <breamoreboy@yahoo.co.uk> wrote:=
> On 11/12/2013 16:04, Chris Angelico wrote:
>>
>> I strongly believe that a career
>> programmer should learn as many languages and styles as possible, = but
>> most of them can wait.
>
>
> I chuckle every time I read this one. =C2=A0Five years per language, t= en
> languages, that's 50 years I think. =C2=A0Or do I rewrite my diary= for next week,
> so I learn Smalltalk Monday morning, Ruby Monday afternoon, Julia Tues= day
> morning ...

Well, I went exploring the Wikipedia list of languages [1] one day, and found I had at least broad familiarity with about one in five. I'd<= br> like to get that up to one in four, if only because four's a power of two.

More seriously: Once you've learned five of very different styles, it won't take you five years to learn a sixth language. I picked up Pike in about a weekend by realizing that it was "Python semantics meets C<= br> syntax", and then went on to spend the next few years getting to know<= br> its own idioms. I'd say anyone who knows a dozen languages should be able to pick up any non-esoteric language in a weekend, at least to a
level of broad familiarity of being able to read and comprehend code
and make moderate changes to it.

Absolu= tely. 10 years ago I was saying I'd forgotten at least 20 languages, an= d there have been many more since.

Once you know e= nough programming languages you (and by "you" I mean "me&quo= t;) get to the point where if you don't know a specific language you ca= n pick up enough to be useful in a day or two, reasonably proficient in a w= eek, and have a fairly high level of mastery by the time you've finishe= d whatever project you picked it up for. And then you don't use it for = a while, forget it to make room for something else, and pick it up again wh= en you need it (much faster this time).

Except Prolog. Never could get my head around it -= I should go back and have another try one of these days.
<= br>
Some languages stick with you (e.g. Python) and I don't t= end to learn languages that are too similar to what I already know unless i= t's for a specific project. So I've never learned Ruby ... but I ha= ve had to modify a few Ruby scripts along the way, and been able to achieve= what I wanted the same day.

TimD elaney=C2=A0
--089e01494a1661787304ed47db66--