Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.misc > #4638 > unrolled thread

Why Johnny can?t code

Started byRich <rich@example.invalid>
First post2014-09-02 10:02 +0000
Last post2014-09-04 15:01 +0000
Articles 20 on this page of 49 — 17 participants

Back to article view | Back to comp.misc


Contents

  Why Johnny can?t code Rich <rich@example.invalid> - 2014-09-02 10:02 +0000
    Re: Why Johnny can?t code Tim Streater <timstreater@greenbee.net> - 2014-09-02 12:23 +0100
      Re: Why Johnny can?t code Ben Bacarisse <ben.usenet@bsb.me.uk> - 2014-09-02 14:43 +0100
        Re: Why Johnny can?t code Paul Sture <nospam@sture.ch> - 2014-09-02 16:40 +0200
          Re: Why Johnny can?t code Sylvia Else <sylvia@not.at.this.address> - 2014-09-03 12:43 +1000
        Re: Why Johnny can?t code scott@alfter.diespammersdie.us (Scott Alfter) - 2014-09-02 15:17 +0000
          Re: Why Johnny can?t code RS Wood <rsw@therandymon.com> - 2014-09-02 18:24 +0000
            Re: Why Johnny can?t code Rich <rich@example.invalid> - 2014-09-02 21:01 +0000
            Re: Why Johnny can?t code greymaus <greymausg@mail.com> - 2014-09-03 14:55 +0000
              Re: Why Johnny can?t code Tim Streater <timstreater@greenbee.net> - 2014-09-03 18:04 +0100
              Re: Why Johnny can?t code Michael Black <et472@ncf.ca> - 2014-09-03 14:38 -0400
                Re: Why Johnny can?t code Rich <rich@example.invalid> - 2014-09-03 19:55 +0000
                  Re: Why Johnny can?t code Michael Black <et472@ncf.ca> - 2014-09-03 17:33 -0400
                    Re: Why Johnny can?t code Rich <rich@example.invalid> - 2014-09-03 21:35 +0000
                    Re: Why Johnny can?t code scott@alfter.diespammersdie.us (Scott Alfter) - 2014-09-04 15:24 +0000
                      Re: Why Johnny can?t code Rich <rich@example.invalid> - 2014-09-04 20:17 +0000
          Re: Why Johnny can?t code Rich <rich@example.invalid> - 2014-09-02 18:56 +0000
          Re: Why Johnny can?t code Paul Sture <nospam@sture.ch> - 2014-09-03 20:59 +0200
        Re: Why Johnny can?t code Rich <rich@example.invalid> - 2014-09-02 18:45 +0000
          Re: Why Johnny can?t code Ben Bacarisse <ben.usenet@bsb.me.uk> - 2014-09-02 20:50 +0100
            Re: Why Johnny can?t code Paul Sture <nospam@sture.ch> - 2014-09-03 21:05 +0200
      Re: Why Johnny can?t code Paul Sture <nospam@sture.ch> - 2014-09-02 16:56 +0200
        Re: Why Johnny can?t code Tim Streater <timstreater@greenbee.net> - 2014-09-02 16:09 +0100
      Re: Why Johnny can?t code Huge <Huge@nowhere.much.invalid> - 2014-09-04 14:57 +0000
        Re: Why Johnny can?t code Gordon Henderson <gordon+usenet@drogon.net> - 2014-09-04 15:24 +0000
          Re: Why Johnny can't code Mike Spencer <mds@bogus.nodomain.nowhere> - 2014-09-05 02:33 -0300
    Re: Why Johnny can?t code Will Honea <whonea@whonea.net> - 2014-09-02 14:08 -0600
      Re: Why Johnny can?t code Rich <rich@example.invalid> - 2014-09-02 20:55 +0000
      Re: Why Johnny can?t code Bob Eager <news0002@eager.cx> - 2014-09-02 21:02 +0000
        Re: Why Johnny can?t code Will Honea <whonea@whonea.net> - 2014-09-02 23:07 -0600
          Re: Why Johnny can?t code Bob Eager <news0002@eager.cx> - 2014-09-04 10:58 +0000
            Re: Why Johnny can?t code Rich <rich@example.invalid> - 2014-09-04 11:09 +0000
              Re: Why Johnny can?t code Bob Eager <news0002@eager.cx> - 2014-09-04 11:17 +0000
                Re: Why Johnny can?t code Will Honea <whonea@whonea.net> - 2014-09-04 22:58 -0600
                  Re: Why Johnny can?t code Bob Eager <news0002@eager.cx> - 2014-09-05 11:38 +0000
                    Re: Why Johnny can?t code Will Honea <whonea@whonea.net> - 2014-09-05 13:55 -0600
                      Re: Why Johnny can?t code Bob Eager <news0002@eager.cx> - 2014-09-05 20:02 +0000
            Re: Why Johnny can?t code Marko Rauhamaa <marko@pacujo.net> - 2014-09-04 14:28 +0300
            Re: Why Johnny can?t code RJH <patchmoney@gmx.com> - 2014-09-04 20:27 +0100
              Re: Why Johnny can?t code Bob Eager <news0002@eager.cx> - 2014-09-04 19:55 +0000
                Re: Why Johnny can?t code Will Honea <whonea@whonea.net> - 2014-09-04 22:50 -0600
                  Re: Why Johnny can?t code Bob Eager <news0002@eager.cx> - 2014-09-05 11:37 +0000
                    Re: Why Johnny can?t code Tim Streater <timstreater@greenbee.net> - 2014-09-05 13:05 +0100
                      Re: Why Johnny can?t code Bob Eager <news0002@eager.cx> - 2014-09-05 15:22 +0000
                        Re: Why Johnny can?t code Will Honea <whonea@whonea.net> - 2014-09-05 13:48 -0600
                          Re: Why Johnny can?t code Bob Eager <news0002@eager.cx> - 2014-09-05 20:09 +0000
    Re: Why Johnny can?t code Sylvia Else <sylvia@not.at.this.address> - 2014-09-03 12:26 +1000
    Re: Why Johnny can?t code Bruce Horrocks <07.013@scorecrow.com> - 2014-09-04 00:34 +0100
    Re: Why Johnny can?t code Huge <Huge@nowhere.much.invalid> - 2014-09-04 15:01 +0000

Page 1 of 3  [1] 2 3  Next page →


#4638 — Why Johnny can?t code

FromRich <rich@example.invalid>
Date2014-09-02 10:02 +0000
SubjectWhy Johnny can?t code
Message-ID<jCWo060GWCUx8svQg454q6sz@dont-email.me>
http://www.salon.com/2006/09/14/basic_2/

   For three years - ever since my son Ben was in fifth grade - he and I
   have engaged in a quixotic but determined quest: We've searched for a
   simple and straightforward way to get the introductory programming
   language BASIC to run on either my Mac or my PC.

   Why on Earth would we want to do that, in an era of glossy
   animation-rendering engines, game-design ogres and sophisticated avatar
   worlds? Because if you want to give young students a grounding in how
   computers actually work, there's still nothing better than a little
   experience at line-by-line programming.

   Only, quietly and without fanfare, or even any comment or notice by
   software pundits, we have drifted into a situation where almost none of
   the millions of personal computers in America offers a line-programming
   language simple enough for kids to pick up fast. Not even the one that
   was a software lingua franca on nearly all machines, only a decade or so
   ago. And that is not only a problem for Ben and me; it is a problem for
   our nation and civilization.

   ...

[toc] | [next] | [standalone]


#4640

FromTim Streater <timstreater@greenbee.net>
Date2014-09-02 12:23 +0100
Message-ID<020920141223320871%timstreater@greenbee.net>
In reply to#4638
In article <jCWo060GWCUx8svQg454q6sz@dont-email.me>, Rich
<rich@example.invalid> wrote:

> http://www.salon.com/2006/09/14/basic_2/
> 
>    For three years - ever since my son Ben was in fifth grade - he and I
>    have engaged in a quixotic but determined quest: We've searched for a
>    simple and straightforward way to get the introductory programming
>    language BASIC to run on either my Mac or my PC.

Open a Terminal window on your Mac and type:

  PHP -a

at the prompt. You can then enter PHP statements, a good way to get
started as PHP is a simple enough language.

BASIC is rubbish: AVOID.

-- 
"If you're not able to ask questions and deal with the answers without feeling 
that someone has called your intelligence or competence into question, don't 
ask questions on Usenet where the answers won't be carefully tailored to avoid
tripping your hair-trigger insecurities."                  - D M Procida, UCSM

[toc] | [prev] | [next] | [standalone]


#4645

FromBen Bacarisse <ben.usenet@bsb.me.uk>
Date2014-09-02 14:43 +0100
Message-ID<87d2be3zow.fsf@bsb.me.uk>
In reply to#4640
Rich <rich@example.invalid> writes:

> Tim Streater <timstreater@greenbee.net> wrote:
>> In article <jCWo060GWCUx8svQg454q6sz@dont-email.me>, Rich
>> <rich@example.invalid> wrote:
>
>> > http://www.salon.com/2006/09/14/basic_2/
>> > 
>> >    For three years - ever since my son Ben was in fifth grade - he and I
>> >    have engaged in a quixotic but determined quest: We've searched for a
>> >    simple and straightforward way to get the introductory programming
>> >    language BASIC to run on either my Mac or my PC.
>
>> Open a Terminal window on your Mac and type:
>
>>   PHP -a
>
>> at the prompt. You can then enter PHP statements, a good way to get
>> started as PHP is a simple enough language.
>
>> BASIC is rubbish: AVOID.
>
> Some of us classify PHP into that rubbish bin as well.

It's a big bin, but I'd rather all "that's rubbish too" remarks be
accompanied with a "I think it should be X".  I've seen lots of possible
Xs mentioned, but I have no experience of them.  Maybe this thread will
point to a front-runner?

When I was teaching introductory programming (not, I confess, to
children or even young adults, but to postgraduate students) I used a
simple graphics library that I'd written.  The students could then get
programs that did interesting things very quickly while learning about
functions, variables, loops and so on.  Trouble is, the system was not
interactive since the mandated language was C++.

Graphics was key to BASIC's success, and I think would be key to any
successful teaching system.  Everyone likes graphics.  It shows
programming to be the creative experience it is, and yet it gives you
instant and dramatic feedback when you get things wrong.

-- 
Ben.

[toc] | [prev] | [next] | [standalone]


#4648

FromPaul Sture <nospam@sture.ch>
Date2014-09-02 16:40 +0200
Message-ID<9g1hdb-ob32.ln1@news.chingola.ch>
In reply to#4645
On 2014-09-02, Ben Bacarisse <ben.usenet@bsb.me.uk> wrote:
> Rich <rich@example.invalid> writes:
>
>> Tim Streater <timstreater@greenbee.net> wrote:
>>> In article <jCWo060GWCUx8svQg454q6sz@dont-email.me>, Rich
>>> <rich@example.invalid> wrote:
>>
>>> > http://www.salon.com/2006/09/14/basic_2/
>>> > 
>>> >    For three years - ever since my son Ben was in fifth grade - he and I
>>> >    have engaged in a quixotic but determined quest: We've searched for a
>>> >    simple and straightforward way to get the introductory programming
>>> >    language BASIC to run on either my Mac or my PC.
>>
>>> Open a Terminal window on your Mac and type:
>>
>>>   PHP -a
>>
>>> at the prompt. You can then enter PHP statements, a good way to get
>>> started as PHP is a simple enough language.
>>
>>> BASIC is rubbish: AVOID.
>>
>> Some of us classify PHP into that rubbish bin as well.
>
> It's a big bin, but I'd rather all "that's rubbish too" remarks be
> accompanied with a "I think it should be X".  I've seen lots of possible
> Xs mentioned, but I have no experience of them.  Maybe this thread will
> point to a front-runner?
>
> When I was teaching introductory programming (not, I confess, to
> children or even young adults, but to postgraduate students) I used a
> simple graphics library that I'd written.  The students could then get
> programs that did interesting things very quickly while learning about
> functions, variables, loops and so on.  Trouble is, the system was not
> interactive since the mandated language was C++.

Python?  It's certainly interactive and there are a large number of
libraries out there already.

Python also doesn't have GOTO (though someone did write one as an April
Fool, along with a COME FROM statement IIRC).

> Graphics was key to BASIC's success, and I think would be key to any
> successful teaching system.  Everyone likes graphics.  It shows
> programming to be the creative experience it is, and yet it gives you
> instant and dramatic feedback when you get things wrong.

Agreed.


-- 
If your only tool is a hammer, every problem looks like a nail
If you own a jackhammer, every problem looks like hours of fun

[toc] | [prev] | [next] | [standalone]


#4678

FromSylvia Else <sylvia@not.at.this.address>
Date2014-09-03 12:43 +1000
Message-ID<c6ndiqF4mo4U2@mid.individual.net>
In reply to#4648
On 3/09/2014 12:40 AM, Paul Sture wrote:

> Python also doesn't have GOTO (though someone did write one as an April
> Fool, along with a COME FROM statement IIRC).

A while back, a group of us proposed a WHENEVER statement, as in

WHENEVER x = 3 SET x = 4

Sylvia.

[toc] | [prev] | [next] | [standalone]


#4651

Fromscott@alfter.diespammersdie.us (Scott Alfter)
Date2014-09-02 15:17 +0000
Message-ID<lu4n2l$isp$1@dont-email.me>
In reply to#4645
In article <87d2be3zow.fsf@bsb.me.uk>,
Ben Bacarisse  <ben.usenet@bsb.me.uk> wrote:
>Rich <rich@example.invalid> writes:
>> Tim Streater <timstreater@greenbee.net> wrote:
>>> BASIC is rubbish: AVOID.
>>
>> Some of us classify PHP into that rubbish bin as well.
>
>It's a big bin, but I'd rather all "that's rubbish too" remarks be
>accompanied with a "I think it should be X".  I've seen lots of possible
>Xs mentioned, but I have no experience of them.  Maybe this thread will
>point to a front-runner?
>
>When I was teaching introductory programming (not, I confess, to
>children or even young adults, but to postgraduate students) I used a
>simple graphics library that I'd written.  The students could then get
>programs that did interesting things very quickly while learning about
>functions, variables, loops and so on.  Trouble is, the system was not
>interactive since the mandated language was C++.
>
>Graphics was key to BASIC's success, and I think would be key to any
>successful teaching system.  Everyone likes graphics.  It shows
>programming to be the creative experience it is, and yet it gives you
>instant and dramatic feedback when you get things wrong.

It seems the usual approach with most languages these days is to provide
only minimal functionality with the language itself and put most of the
interesting stuff (graphics, etc.) in libraries that must first be invoked
before you can use them.  There are plenty of good reasons for this kind of
separation, but it makes things more difficult for someone who's just
getting started.

Maybe one approach would be to have kids start out with computers the way
you started out with computers: pick your favorite 8-bit platform, find an
emulator for it, and let your kids have at it.  It might still end up being
the fastest way to deliver an experience where they can type in something
like this:

HGR:FOR I=0 TO 1 STEP 0:HCOLOR=RND(1)*8:HPLOT RND(1)*280,RND(1)*160 TO 
RND(1)*280,RND(1)*160:NEXT I

and get something right away.  The only other possibly interactive
programming language with graphics capability that comes to mind is
PostScript, but that's about all that it does.

  _/_
 / v \ Scott Alfter (remove the obvious to send mail)
(IIGS( http://alfter.us/            Top-posting!
 \_^_/                              >What's the most annoying thing on Usenet?

[toc] | [prev] | [next] | [standalone]


#4656

FromRS Wood <rsw@therandymon.com>
Date2014-09-02 18:24 +0000
Message-ID<c6mgbcFrso0U3@mid.individual.net>
In reply to#4651
On 2014-09-02, Scott Alfter <scott@alfter.diespammersdie.us> wrote:
> HGR:FOR I=0 TO 1 STEP 0:HCOLOR=RND(1)*8:HPLOT RND(1)*280,RND(1)*160 TO 
> RND(1)*280,RND(1)*160:NEXT I
>
> and get something right away.  The only other possibly interactive
> programming language with graphics capability that comes to mind is
> PostScript, but that's about all that it does.

If you tried to teach kids postscript they'd change disciplines and go
study anthropology or gender studies or something, or maybe slit their
wrists.  Postscript isn't fun.  TeX isn't either.

I learned Pascal and FORTRAN-77 back in the day.  Why can't those be
taught?  Pascal was pretty darned simple.

[toc] | [prev] | [next] | [standalone]


#4670

FromRich <rich@example.invalid>
Date2014-09-02 21:01 +0000
Message-ID<lu5b80$iio$3@dont-email.me>
In reply to#4656
RS Wood <rsw@therandymon.com> wrote:
> On 2014-09-02, Scott Alfter <scott@alfter.diespammersdie.us> wrote:
> > HGR:FOR I=0 TO 1 STEP 0:HCOLOR=RND(1)*8:HPLOT RND(1)*280,RND(1)*160 TO 
> > RND(1)*280,RND(1)*160:NEXT I
> >
> > and get something right away.  The only other possibly interactive
> > programming language with graphics capability that comes to mind is
> > PostScript, but that's about all that it does.

> If you tried to teach kids postscript they'd change disciplines and
> go study anthropology or gender studies or something, or maybe slit
> their wrists.  Postscript isn't fun.  TeX isn't either.

Are you so sure?  Kids, provided they have some knack/aptitude for the
task you are trying to get them to "learn", can be surprisingly
adaptable.  While you may see postscript as awful (not, per. se. my
opinion, I've written some postscript along the way when I needed
something printed "just so"), young children may not have the same yuck
reaction.  Their minds are by far more adaptable at that age than how
we remember our own self now.

[toc] | [prev] | [next] | [standalone]


#4684

Fromgreymaus <greymausg@mail.com>
Date2014-09-03 14:55 +0000
Message-ID<slrnm0e9ci.3uo.greymausg@dmaus.org>
In reply to#4656
On 2014-09-02, RS Wood <rsw@therandymon.com> wrote:
> On 2014-09-02, Scott Alfter <scott@alfter.diespammersdie.us> wrote:
>> HGR:FOR I=0 TO 1 STEP 0:HCOLOR=RND(1)*8:HPLOT RND(1)*280,RND(1)*160 TO 
>> RND(1)*280,RND(1)*160:NEXT I
>>
>> and get something right away.  The only other possibly interactive
>> programming language with graphics capability that comes to mind is
>> PostScript, but that's about all that it does.
>
> If you tried to teach kids postscript they'd change disciplines and go
> study anthropology or gender studies or something, or maybe slit their
> wrists.  Postscript isn't fun.  TeX isn't either.
>
> I learned Pascal and FORTRAN-77 back in the day.  Why can't those be
> taught?  Pascal was pretty darned simple.

Postscript is not fun, its not supposd to be,You have utilites for that.
Amending a `raw' Postscript file is work for idiots.

'C'.


-- 
Maus
 .
  .
 ...

[toc] | [prev] | [next] | [standalone]


#4685

FromTim Streater <timstreater@greenbee.net>
Date2014-09-03 18:04 +0100
Message-ID<030920141804483519%timstreater@greenbee.net>
In reply to#4684
In article <slrnm0e9ci.3uo.greymausg@dmaus.org>, greymaus
<greymausg@mail.com> wrote:

> On 2014-09-02, RS Wood <rsw@therandymon.com> wrote:
> > On 2014-09-02, Scott Alfter <scott@alfter.diespammersdie.us> wrote:
> >> HGR:FOR I=0 TO 1 STEP 0:HCOLOR=RND(1)*8:HPLOT RND(1)*280,RND(1)*160 TO 
> >> RND(1)*280,RND(1)*160:NEXT I
> >>
> >> and get something right away.  The only other possibly interactive
> >> programming language with graphics capability that comes to mind is
> >> PostScript, but that's about all that it does.
> >
> > If you tried to teach kids postscript they'd change disciplines and go
> > study anthropology or gender studies or something, or maybe slit their
> > wrists.  Postscript isn't fun.  TeX isn't either.
> >
> > I learned Pascal and FORTRAN-77 back in the day.  Why can't those be
> > taught?  Pascal was pretty darned simple.
> 
> Postscript is not fun, its not supposd to be,You have utilites for that.
> Amending a `raw' Postscript file is work for idiots.
> 
> 'C'.

Or rather PHP because you don't have to bother about memory allocation
or string handling or types. And the syntax is very similar.

-- 
"That which can be asserted without evidence, can be dismissed without 
evidence."
-- Christopher Hitchens

[toc] | [prev] | [next] | [standalone]


#4686

FromMichael Black <et472@ncf.ca>
Date2014-09-03 14:38 -0400
Message-ID<alpine.LNX.2.02.1409031436440.11910@darkstar.example.org>
In reply to#4684
On Wed, 3 Sep 2014, greymaus wrote:

> On 2014-09-02, RS Wood <rsw@therandymon.com> wrote:
>> On 2014-09-02, Scott Alfter <scott@alfter.diespammersdie.us> wrote:
>>> HGR:FOR I=0 TO 1 STEP 0:HCOLOR=RND(1)*8:HPLOT RND(1)*280,RND(1)*160 TO
>>> RND(1)*280,RND(1)*160:NEXT I
>>>
>>> and get something right away.  The only other possibly interactive
>>> programming language with graphics capability that comes to mind is
>>> PostScript, but that's about all that it does.
>>
>> If you tried to teach kids postscript they'd change disciplines and go
>> study anthropology or gender studies or something, or maybe slit their
>> wrists.  Postscript isn't fun.  TeX isn't either.
>>
>> I learned Pascal and FORTRAN-77 back in the day.  Why can't those be
>> taught?  Pascal was pretty darned simple.
>
> Postscript is not fun, its not supposd to be,You have utilites for that.
> Amending a `raw' Postscript file is work for idiots.
>
I thought the only proponent of Postscript as a general programming 
language was Don Lancaster. But then, he had an Apple laserprinter that 
had a more powerful CPU than the original Macintosh, more memory, and 
eventually he had a model that had a hard drive built in.  And he had it 
hooked up to an Apple II.  No wonder he thought that Postscript was a good 
language, he had way more power in the laserprinter than in his computer.

   Michael

[toc] | [prev] | [next] | [standalone]


#4689

FromRich <rich@example.invalid>
Date2014-09-03 19:55 +0000
Message-ID<lu7ro5$9qh$1@dont-email.me>
In reply to#4686
Michael Black <et472@ncf.ca> wrote:
> On Wed, 3 Sep 2014, greymaus wrote:

> > On 2014-09-02, RS Wood <rsw@therandymon.com> wrote:
> >> On 2014-09-02, Scott Alfter <scott@alfter.diespammersdie.us> wrote:
> >>> HGR:FOR I=0 TO 1 STEP 0:HCOLOR=RND(1)*8:HPLOT
> >>> RND(1)*280,RND(1)*160 TO RND(1)*280,RND(1)*160:NEXT I
> >>>
> >>> and get something right away.  The only other possibly
> >>> interactive programming language with graphics capability that
> >>> comes to mind is PostScript, but that's about all that it does.
> >>
> >> If you tried to teach kids postscript they'd change disciplines
> >> and go study anthropology or gender studies or something, or maybe
> >> slit their wrists.  Postscript isn't fun.  TeX isn't either.
> >>
> >> I learned Pascal and FORTRAN-77 back in the day.  Why can't those
> >> be taught?  Pascal was pretty darned simple.
> >
> > Postscript is not fun, its not supposd to be,You have utilites for
> > that. Amending a `raw' Postscript file is work for idiots.
> >
> I thought the only proponent of Postscript as a general programming
> language was Don Lancaster. But then, he had an Apple laserprinter
> that had a more powerful CPU than the original Macintosh, more
> memory, and eventually he had a model that had a hard drive built in. 
> And he had it hooked up to an Apple II.  No wonder he thought that
> Postscript was a good language, he had way more power in the
> laserprinter than in his computer.

Ah, now that brings back memories of Don Lancaster's columns in
computer shopper from eon's ago.  Yes, it always was a huge irony, that
even after he got a Mac, that his printer was a significantly faster
computer than his actual computer itself.

Postscript's not so bad, provided you write the whole doc. yourself
from the beginning.

But trying to grok the output from any postscript generating program
will quickly lead to madness.

[toc] | [prev] | [next] | [standalone]


#4690

FromMichael Black <et472@ncf.ca>
Date2014-09-03 17:33 -0400
Message-ID<alpine.LNX.2.02.1409031731570.2647@darkstar.example.org>
In reply to#4689
On Wed, 3 Sep 2014, Rich wrote:

> Michael Black <et472@ncf.ca> wrote:
>> On Wed, 3 Sep 2014, greymaus wrote:
>
>>> On 2014-09-02, RS Wood <rsw@therandymon.com> wrote:
>>>> On 2014-09-02, Scott Alfter <scott@alfter.diespammersdie.us> wrote:
>>>>> HGR:FOR I=0 TO 1 STEP 0:HCOLOR=RND(1)*8:HPLOT
>>>>> RND(1)*280,RND(1)*160 TO RND(1)*280,RND(1)*160:NEXT I
>>>>>
>>>>> and get something right away.  The only other possibly
>>>>> interactive programming language with graphics capability that
>>>>> comes to mind is PostScript, but that's about all that it does.
>>>>
>>>> If you tried to teach kids postscript they'd change disciplines
>>>> and go study anthropology or gender studies or something, or maybe
>>>> slit their wrists.  Postscript isn't fun.  TeX isn't either.
>>>>
>>>> I learned Pascal and FORTRAN-77 back in the day.  Why can't those
>>>> be taught?  Pascal was pretty darned simple.
>>>
>>> Postscript is not fun, its not supposd to be,You have utilites for
>>> that. Amending a `raw' Postscript file is work for idiots.
>>>
>> I thought the only proponent of Postscript as a general programming
>> language was Don Lancaster. But then, he had an Apple laserprinter
>> that had a more powerful CPU than the original Macintosh, more
>> memory, and eventually he had a model that had a hard drive built in.
>> And he had it hooked up to an Apple II.  No wonder he thought that
>> Postscript was a good language, he had way more power in the
>> laserprinter than in his computer.
>
> Ah, now that brings back memories of Don Lancaster's columns in
> computer shopper from eon's ago.  Yes, it always was a huge irony, that
> even after he got a Mac, that his printer was a significantly faster
> computer than his actual computer itself.
>
> Postscript's not so bad, provided you write the whole doc. yourself
> from the beginning.
>
> But trying to grok the output from any postscript generating program
> will quickly lead to madness.
>
>
Isn't it supposed to be kind of like FORTH?

The closest I've come is to patch a postscript file so it prints multiple 
copies, right at the beginning there's a line about that, easy to find 
once you know what to look for.

   Michael

[toc] | [prev] | [next] | [standalone]


#4691

FromRich <rich@example.invalid>
Date2014-09-03 21:35 +0000
Message-ID<lu81ju$m56$1@dont-email.me>
In reply to#4690
Michael Black <et472@ncf.ca> wrote:
> On Wed, 3 Sep 2014, Rich wrote:

> > Michael Black <et472@ncf.ca> wrote:
> >> On Wed, 3 Sep 2014, greymaus wrote:
> >
> >>> On 2014-09-02, RS Wood <rsw@therandymon.com> wrote:
> >>>> On 2014-09-02, Scott Alfter <scott@alfter.diespammersdie.us> wrote:
> >>>>> HGR:FOR I=0 TO 1 STEP 0:HCOLOR=RND(1)*8:HPLOT
> >>>>> RND(1)*280,RND(1)*160 TO RND(1)*280,RND(1)*160:NEXT I
> >>>>>
> >>>>> and get something right away.  The only other possibly
> >>>>> interactive programming language with graphics capability that
> >>>>> comes to mind is PostScript, but that's about all that it does.
> >>>>
> >>>> If you tried to teach kids postscript they'd change disciplines
> >>>> and go study anthropology or gender studies or something, or maybe
> >>>> slit their wrists.  Postscript isn't fun.  TeX isn't either.
> >>>>
> >>>> I learned Pascal and FORTRAN-77 back in the day.  Why can't those
> >>>> be taught?  Pascal was pretty darned simple.
> >>>
> >>> Postscript is not fun, its not supposd to be,You have utilites for
> >>> that. Amending a `raw' Postscript file is work for idiots.
> >>>
> >> I thought the only proponent of Postscript as a general programming
> >> language was Don Lancaster. But then, he had an Apple laserprinter
> >> that had a more powerful CPU than the original Macintosh, more
> >> memory, and eventually he had a model that had a hard drive built in.
> >> And he had it hooked up to an Apple II.  No wonder he thought that
> >> Postscript was a good language, he had way more power in the
> >> laserprinter than in his computer.
> >
> > Ah, now that brings back memories of Don Lancaster's columns in
> > computer shopper from eon's ago.  Yes, it always was a huge irony, that
> > even after he got a Mac, that his printer was a significantly faster
> > computer than his actual computer itself.
> >
> > Postscript's not so bad, provided you write the whole doc. yourself
> > from the beginning.
> >
> > But trying to grok the output from any postscript generating program
> > will quickly lead to madness.
> >
> >
> Isn't it supposed to be kind of like FORTH?

It is very much like FORTH.  RPN stack based.

If you've got linux, you likely have ghostscript installed (and if not
it should be in your distro's repo), in which case you could experiment
without consuming loads of paper and toner like Don L. had to do back
in the 80's with his LaserWriter.

[toc] | [prev] | [next] | [standalone]


#4702

Fromscott@alfter.diespammersdie.us (Scott Alfter)
Date2014-09-04 15:24 +0000
Message-ID<lua07f$r89$1@dont-email.me>
In reply to#4690
In article <alpine.LNX.2.02.1409031731570.2647@darkstar.example.org>,
Michael Black  <et472@ncf.ca> wrote:
>Isn't it supposed to be kind of like FORTH?

It is a stack-based language.  Consider this example:

/Times-Roman findfont 72 scalefont setfont
1 72 mul 9.5 72 mul moveto
(Hello, world) show
showpage

Values get pushed onto the stack.  Operators (findfont, mul, etc.) pull them
off and (optionally) push return values back on.  Fans of HP calculators
would appreciate how PostScript handles math.

>The closest I've come is to patch a postscript file so it prints multiple 
>copies, right at the beginning there's a line about that, easy to find 
>once you know what to look for.

I've mostly used it to do manual duplexing on printers that don't support it
in the driver, or occasionally to do n-up printing...been a while since I've
needed it for that, as there's almost always an option nowadays to do that. 
Probably the fanciest I've gotten with it is this Bitcoin note generator:

https://github.com/salfter/btcnotes

  _/_
 / v \ Scott Alfter (remove the obvious to send mail)
(IIGS( http://alfter.us/            Top-posting!
 \_^_/                              >What's the most annoying thing on Usenet?

[toc] | [prev] | [next] | [standalone]


#4705

FromRich <rich@example.invalid>
Date2014-09-04 20:17 +0000
Message-ID<luahda$2vf$1@dont-email.me>
In reply to#4702
Scott Alfter <scott@alfter.diespammersdie.us> wrote:
> In article <alpine.LNX.2.02.1409031731570.2647@darkstar.example.org>,
> Michael Black  <et472@ncf.ca> wrote:
> >Isn't it supposed to be kind of like FORTH?

> It is a stack-based language.  Consider this example:

> /Times-Roman findfont 72 scalefont setfont
> 1 72 mul 9.5 72 mul moveto
> (Hello, world) show
> showpage

And, if you wanted to create a "function" to abstract out the explicit inch to
points conversion above you do this:


/inch { 72 mul } def

/Times-Roman findfont 72 scalefont setfont
1 inch 9.5 inch moveto
(Hello, world) show
showpage

[toc] | [prev] | [next] | [standalone]


#4659

FromRich <rich@example.invalid>
Date2014-09-02 18:56 +0000
Message-ID<lu53sr$r7g$1@dont-email.me>
In reply to#4651
Scott Alfter <scott@alfter.diespammersdie.us> wrote:
> In article <87d2be3zow.fsf@bsb.me.uk>,
> Ben Bacarisse  <ben.usenet@bsb.me.uk> wrote:
> >Rich <rich@example.invalid> writes:
> >> Tim Streater <timstreater@greenbee.net> wrote:
> >>> BASIC is rubbish: AVOID.
> >>
> >> Some of us classify PHP into that rubbish bin as well.
> >
> >It's a big bin, but I'd rather all "that's rubbish too" remarks be
> >accompanied with a "I think it should be X".  I've seen lots of possible
> >Xs mentioned, but I have no experience of them.  Maybe this thread will
> >point to a front-runner?
> >

> ...

> Maybe one approach would be to have kids start out with computers the
> way you started out with computers: pick your favorite 8-bit
> platform, find an emulator for it, and let your kids have at it.  It
> might still end up being the fastest way to deliver an experience
> where they can type in something like this:

> HGR:FOR I=0 TO 1 STEP 0:HCOLOR=RND(1)*8:HPLOT RND(1)*280,RND(1)*160 TO 
> RND(1)*280,RND(1)*160:NEXT I

> and get something right away.  The only other possibly interactive
> programming language with graphics capability that comes to mind is
> PostScript, but that's about all that it does.

Providing I'm interpreting "HPLOT" correctly as "plot a line from x1,y1
to x2,y2" one can do the above in Tcl/Tk like so (leaving out the
"color" randomization):

$ wish
% canvas .c -width 1024 -height 768 
% pack .c
% for {set i 0} {$i < 10} {incr i} {
  .c create line [expr {int(rand()*280)}] [expr {int(rand()*160)}] [expr {int(rand()*280)}] [expr {int(rand()*160)}]
}
% 

Or, if you do want the random color selection:

$ wish
% canvas .c -width 1024 -height 768 
% pack .c
% for {set i 0} {$i < 10} {incr i} {
  .c create line [expr {int(rand()*280)}] [expr {int(rand()*160)}] [expr {int(rand()*280)}] [expr {int(rand()*160)}] -fill [format "#%06x" [expr {int(rand()*0xffffff)}]]
}
%

[toc] | [prev] | [next] | [standalone]


#4687

FromPaul Sture <nospam@sture.ch>
Date2014-09-03 20:59 +0200
Message-ID<a25kdb-78r1.ln1@news.chingola.ch>
In reply to#4651
On 2014-09-02, Scott Alfter <scott@alfter.diespammersdie.us> wrote:
> In article <87d2be3zow.fsf@bsb.me.uk>,
> Ben Bacarisse  <ben.usenet@bsb.me.uk> wrote:
>>Rich <rich@example.invalid> writes:
>>> Tim Streater <timstreater@greenbee.net> wrote:
>>>> BASIC is rubbish: AVOID.
>>>
>>> Some of us classify PHP into that rubbish bin as well.
>>
>>It's a big bin, but I'd rather all "that's rubbish too" remarks be
>>accompanied with a "I think it should be X".  I've seen lots of possible
>>Xs mentioned, but I have no experience of them.  Maybe this thread will
>>point to a front-runner?
>>
>>When I was teaching introductory programming (not, I confess, to
>>children or even young adults, but to postgraduate students) I used a
>>simple graphics library that I'd written.  The students could then get
>>programs that did interesting things very quickly while learning about
>>functions, variables, loops and so on.  Trouble is, the system was not
>>interactive since the mandated language was C++.
>>
>>Graphics was key to BASIC's success, and I think would be key to any
>>successful teaching system.  Everyone likes graphics.  It shows
>>programming to be the creative experience it is, and yet it gives you
>>instant and dramatic feedback when you get things wrong.
>
> It seems the usual approach with most languages these days is to provide
> only minimal functionality with the language itself and put most of the
> interesting stuff (graphics, etc.) in libraries that must first be invoked
> before you can use them.  There are plenty of good reasons for this kind of
> separation, but it makes things more difficult for someone who's just
> getting started.
>
> Maybe one approach would be to have kids start out with computers the way
> you started out with computers: pick your favorite 8-bit platform, find an
> emulator for it, and let your kids have at it.  It might still end up being
> the fastest way to deliver an experience where they can type in something
> like this:
>
> HGR:FOR I=0 TO 1 STEP 0:HCOLOR=RND(1)*8:HPLOT RND(1)*280,RND(1)*160 TO 
> RND(1)*280,RND(1)*160:NEXT I
>
> and get something right away.  The only other possibly interactive
> programming language with graphics capability that comes to mind is
> PostScript, but that's about all that it does.

Something like the course below?  This course is for adults, but has me
thinking that it could be adapted for a younger age group.

<https://www.coursera.org/course/interactivepython>

"An Introduction to Interactive Programming in Python
This course is designed to be a fun introduction to the basics of
programming in Python. Our main focus will be on building simple
interactive games such as Pong, Blackjack and Asteroids.

-- 
If your only tool is a hammer, every problem looks like a nail
If you own a jackhammer, every problem looks like hours of fun

[toc] | [prev] | [next] | [standalone]


#4657

FromRich <rich@example.invalid>
Date2014-09-02 18:45 +0000
Message-ID<lu538b$gtg$1@dont-email.me>
In reply to#4645
Ben Bacarisse <ben.usenet@bsb.me.uk> wrote:
> Rich <rich@example.invalid> writes:

> > Tim Streater <timstreater@greenbee.net> wrote:
> >> In article <jCWo060GWCUx8svQg454q6sz@dont-email.me>, Rich
> >> <rich@example.invalid> wrote:
> >
> >> > http://www.salon.com/2006/09/14/basic_2/
> >> > 
> >> >    For three years - ever since my son Ben was in fifth grade - he and I
> >> >    have engaged in a quixotic but determined quest: We've searched for a
> >> >    simple and straightforward way to get the introductory programming
> >> >    language BASIC to run on either my Mac or my PC.
> >
> >> Open a Terminal window on your Mac and type:
> >
> >>   PHP -a
> >
> >> at the prompt. You can then enter PHP statements, a good way to get
> >> started as PHP is a simple enough language.
> >
> >> BASIC is rubbish: AVOID.
> >
> > Some of us classify PHP into that rubbish bin as well.

> It's a big bin, but I'd rather all "that's rubbish too" remarks be
> accompanied with a "I think it should be X".  I've seen lots of possible
> Xs mentioned, but I have no experience of them.  Maybe this thread will
> point to a front-runner?

I'd suggest Tcl for kids just starting out.

> When I was teaching introductory programming (not, I confess, to
> children or even young adults, but to postgraduate students) I used a
> simple graphics library that I'd written.  The students could then get
> programs that did interesting things very quickly while learning about
> functions, variables, loops and so on.  Trouble is, the system was not
> interactive since the mandated language was C++.

This is why I'd suggest Tcl/Tk.  If one has it installed, one can do
this from a terminal to get "something" graphical with very little
effort:

$ wish
% button .b -text "Push Me" -background yellow -command [ list .b configure -background green ]
% pack .b

And one gets a yellow GUI button, with the words "Push Me", that when
clicked with the mouse, turns itself green.

Nothing fancy from our perspectives.  But from a 5yr old's perspective,
seeing a "push button" like on the "big boy programs" appear an his/her
behest, that does "something" would likely be quite engaging.

The Tcl REPL is largely reminiscent of the old BASIC "READY" prompts of
the 8-bits of yore, but you don't need real working 8-bit hardware or
an emulator to get it to run.

> Graphics was key to BASIC's success, and I think would be key to any
> successful teaching system.  Everyone likes graphics.  It shows
> programming to be the creative experience it is, and yet it gives you
> instant and dramatic feedback when you get things wrong.

Tcl's TK library has a very nice canvas widget, with which the little
tykes could be plotting circles, rectangles, lines, etc.  As they grow
in knowledge, then can even learn to make the circles, rectangles,
lines, etc. react to the mouse with only a few additional lines of
code.

And in any sense, "learning to program" and "learning to think like a
programmer" is much more important at that age than the actual language
in use.  They can pick up a second language easily enough once they've
learned the hard thought processes first.

[toc] | [prev] | [next] | [standalone]


#4661

FromBen Bacarisse <ben.usenet@bsb.me.uk>
Date2014-09-02 20:50 +0100
Message-ID<87d2bd3ip7.fsf@bsb.me.uk>
In reply to#4657
Rich <rich@example.invalid> writes:
<snip>
> And in any sense, "learning to program" and "learning to think like a
> programmer" is much more important at that age than the actual language
> in use.  They can pick up a second language easily enough once they've
> learned the hard thought processes first.

I don't think it's that simple.  You can get stuck in thinking in one
way based on the language you learned to express your programs in.
Obviously (despite some people's exaggerated claims) this is not for
life, but it can take a while to undo.

It's important that the most important things be simple to do.  I think
that functional abstraction is the most important concept in programming
so it should be easy (trivial?) to work with functions.  Loops and so on
are easy to understand in comparison and can, in any case, be subsumed
into functions if you have a mind to (I would not do that with
beginners).

In the course I mentioned, drawing a square was the first program.  The
second drew four squares at the corners of the screen.  The third did it
properly by calling a square-drawing function four times.  The trouble
with most of the interactive languages that have been mentioned here
(Python, Tcl and so on but there's a vast list) is that to define
functions and then edit these definitions you pretty much have to get
out of the REPL interface and into an editor.  Yes, there are way to
make that relatively simple, but the process is not seamless as I would
like it to be for a child's programming system.

Smalltalk was pretty damn good at this, but I doubt it would look right
these days -- to many little floating windows!

If I were designing this for real, I think I'd go for a browser-based
interface.  "Programs" would be on stored on the server with all the
components previous written immediately available in some way (i.e. no
"program in files" concept).  Part of the screen would be an edit window
with real-time syntax checking, with the output displayed in another
part as soon as the "program" generates any.  ("Program" in quotes
because I don't know exactly what I mean by that in the context.)

-- 
Ben.

[toc] | [prev] | [next] | [standalone]


Page 1 of 3  [1] 2 3  Next page →

Back to top | Article view | comp.misc


csiph-web