Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
| 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> |
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
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