Hacker News new | ask | show | jobs
by latte 2247 days ago
This has been discussed in the responses to the tweets, but still couldn't find a definitive answer - why Basic?

I started with Basic too when I was a kid, but if I were to teach my child programming now in 2020, I would choose Python as a first language. It has many graphic tools, and it looks even more beginner-friendly than Basic.

5 comments

Basic is great because it has lower level primatives.

I think it's very easy for an existing programmer to forget that even the simplest high level concepts like looping and functions are not familiar to a child. These things are just not optional in python. If you want to make a loop, is has to be a high level one.

I would much rather teach a child "if" and "goto" for them to make their own control flow constructs. Later on after they realise that they are making these things manually all the time then they will learn to value of a function or a for loop and how it simplifies their life.

I think it really helps internalise these concepts.

Literally all the best programmers I know started with basic.

Especially the python turtle module, imo the best of all beginner teaching options I looked at
Logo on the C64 was one of the foundational tools in my programming journey. It was part of a computing class in primary school, I think when we were 9 years old. For many in the class, this was a first opportunity to mess around with a computer (almost no one had any kind of computer at home back then).

Getting that little triangular turtle to draw the shape of my house, simply by telling it how far to move and which way to turn, ended up being a life altering moment.

I don't know if it's possible to enthrall children with it these days. The graphics must seem absolutely bland and boring compared to many things children these days get to tinker with.

I don't know yet (my child is still far too young for logo) that said I grew up in an era spanning from frogger and handheld lcd tennis to all the BBC games to lemmings and Super Mario, any of which had better graphics than I could make in logo, but they lacked the thrill of creating things for myself that I got from the latter.
We got started with logo (on DOS PCs) at the same age in my school. It took me a long time to even realize it had anything to do with programming, just seemed like a wierd and cumbersome drawing program (compared to PC Paintbrush for example).

A couple years later I started messing around with QBasic & that really pulled me in even tho it took me a long while to learn even the basics.

Computer classes in school (until high school at least) seemed to have been generally be taught by teachers slightly less computer-literate than more advanced pupils in their class.

When I was testing a Logo implementation that had been released, I called my much younger cousin to look at it since he had been so good at Logo back in school that they had made him the "class monitor" the following year.

I quickly typed in code to draw a recursive tree and ran it. His reaction was "What?!?! You mean Logo is a programming language like the Pascal I learned at the university?"

Very sad.

Honestly what can be expected when the teachers aren't programmers and learned it just before the pupils themselves? Which I guess may be sorta forgivable in the early 90s when there were few programmers (especially in the global periphery) and even fewer that were both programmers & teachers.
Python is more complex than necessary or useful.

The real shame is that there's not a good Beginner's Lisp yet, but when lacking one of those, BASIC is pretty easy to learn, and more importantly is pretty easy to teach.

I prefer python professionally. But I have been trying to teach my kids programming via code breaking with the Gravity Falls tv show. Trying to add numbers to letters is very confusing for younger kids.
Almost everyone who's tried with kids has found Scratch to be best by far, up through age 9 or 10