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


Groups > comp.misc > #4661

Re: Why Johnny can?t code

From Ben Bacarisse <ben.usenet@bsb.me.uk>
Newsgroups comp.misc
Subject Re: Why Johnny can?t code
Date 2014-09-02 20:50 +0100
Organization A noiseless patient Spider
Message-ID <87d2bd3ip7.fsf@bsb.me.uk> (permalink)
References <jCWo060GWCUx8svQg454q6sz@dont-email.me> <020920141223320871%timstreater@greenbee.net> <lu4bto$o3j$2@dont-email.me> <87d2be3zow.fsf@bsb.me.uk> <lu538b$gtg$1@dont-email.me>

Show all headers | View raw


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.

Back to comp.misc | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

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

csiph-web