Live data from Hacker News

Why kids don't program

johnlawrenceaspden.blogspot.com

21–30 of 96 posts

Re: Why kids don't program

#21
post #7

In reality, I'd wager there's a _lot lot_ more kids programming today than 30 years ago. How many people had a computing device at home back then? This anecdote makes the point that a very specific kind of thinking was better suited by the tools of the late 70s, and maybe - I've never been much inclined towards it, so I dunno. And what we consider 'programming' is blurrier than it used to be. Is HTML programming? Wha…

And I disagree with you here. Writing declarative HTML and writing a simple interactive computer game are two activities that could not be more different. Like it or not, the act of programming has become much more difficult than it once was. 1988 I could reboot my Apple IIgs, hold down a couple of keys, and I could start writing a BASIC program immediately.

I don't see that it is that much harder now. Boot your mac, open a terminal, type python, and start programming. Does it take one more step? Maybe, but it is a joke to say that is somehow more difficult.

Re: Why kids don't program

#22
post #20
post #4

Teach children to draw on a canvas in javascript. You can easily make a page with a javascript editor and immediate evaluation if you wish, and simplified api.

> Teach children to draw on a canvas in javascript. I've thought a few times that this is the modern equivalent of the immediate feedback "plot via BASIC". It's even better, given the fact that JS is a decent language and the results are more easily shareable with your friends.

Are there decent tools to debug and check JS for you, so that you don't have to rely on the browser built-in support (which is incredibly forgiving but also doesn't tell you what is going on)?

A massive advantage of BASIC was that it would tell you it was wrong as soon as you typed something with a syntax error in it, and it put a big flashing "?" (or similar) right there until you fixed it. Can JS be made to do that?

Re: Why kids don't program

#24
I remember growing up I was playing on the Internet and found a 10 chapter book online for QBASIC. I printed it out and had it scattered all over the floor, and in no time at all I was writing code that actually did things. I had never written code before and I was in elementary school (9 or 10?).

Eventually this led to html, javascript, php, VB, C#, etc. Dad wasn't real thrilled when he realized I used all of the printer ink to do this, but I'd say it was a pretty good return on his investment.

EDIT: I'd like to play with BASIC again, anyone know of a way to do that on OSX? VM?

Re: Why kids don't program

#25
post #20

Earlier quoted context omitted.

> Teach children to draw on a canvas in javascript. I've thought a few times that this is the modern equivalent of the immediate feedback "plot via BASIC". It's even better, given the fact that JS is a decent language and the results are more easily shareable with your friends.

Are there decent tools to debug and check JS for you, so that you don't have to rely on the browser built-in support (which is incredibly forgiving but also doesn't tell you what is going on)? A massive advantage of BASIC was that it would tell you it was wrong as soon as you typed something with a syntax error in it, and it put a big flashing "?" (or similar) right there until you fixed it. Can JS be made to do that…

There's JSLint, you can surely build it in.

And it would have syntax colouring which basic lagged in.

Re: Why kids don't program

#27
When I was a kid I did not know any adult programmers and thus assumed programming looked like the strange special characters you would get through alt + shift combos. This didn't scare me - it just upset me that I didn't know how to utilize it. If someone had shown me APL I would have been amped hahaah!

Re: Why kids don't program

#28

It's actually fairly easy to do what he wants today. ipython -pylab [...boilerplate...] In [1]: n = arange(255) In [2]: plot(n, 88+80*sin(n*pi/128)) http://imgur.com/oSd62.png As for the "imaginary diffusion equation" (I assume he means the Schrodinger equation), here is a simple program which solves it on the torus: from pylab import * from numpy.fft import * def freeSchrodingerSolver(input, dx, dt): np = input.shap…

No boilerplate, no installation of Python, no installation of pylab. I think it was a lot easier on the ZX Spectrum.

Re: Why kids don't program

#29
post #7

In reality, I'd wager there's a _lot lot_ more kids programming today than 30 years ago. How many people had a computing device at home back then? This anecdote makes the point that a very specific kind of thinking was better suited by the tools of the late 70s, and maybe - I've never been much inclined towards it, so I dunno. And what we consider 'programming' is blurrier than it used to be. Is HTML programming? Wha…

If you boot up an Apple II without a disk in the drive (or something incredibly simple like that), it drops into AppleSoft Basic. That's how I learned that one could program a computer. For sample code I could turn to a number of magazines about my computer, or the manual that came with it. No questions or outside research dependent on anyone else (including the Internet) were required. This was when I was of single-digit age. The barrier to entry was tiny (type "10 print hello world" at the command prompt). Nothing like that exists for a curious child at this point unless their parents take the initiative, or the child waits until they're older.

Re: Why kids don't program

#30

It's actually fairly easy to do what he wants today. ipython -pylab [...boilerplate...] In [1]: n = arange(255) In [2]: plot(n, 88+80*sin(n*pi/128)) http://imgur.com/oSd62.png As for the "imaginary diffusion equation" (I assume he means the Schrodinger equation), here is a simple program which solves it on the torus: from pylab import * from numpy.fft import * def freeSchrodingerSolver(input, dx, dt): np = input.shap…

I disagree, it was much easier back then.

In my case: I started on basic in dos 5 or dos 6 when I was 10 or so, and every function I had to my disposal was listed in the help file. Alphabetically and by sorted by category. Sooner or later you find the SETPIXEL function, then discover screen 13, then discover how to draw lines and so on. You can discover that "one more thing" pretty easily, and at no point can you get stuck because dependencies are missing or you have the wrong version of libgd. Basic was installed on the family PC, and I had gorillas and snake as example programs to study. Many people I know started in a similar way.

Compare this with python today. First you have to download and install it. You don't just discover it by accident. Then you have to learn the whole edit program, save program, run in python steps. BASIC had a primitive IDE, Python doesn't. Then you have to understand packages and package management, learn how to install pylab, and so on. Python also isn't a very forgiving language.

Programming sound on BASIC was trivial too. The moment you discover SOUND and PLAY you can make primitive melodies. Want to delay? Add a few SLEEPs in between. Exploratory programing at its best, and no internet connection required.

Post reply on HN