back

by thunderbong·7y ago·view on hn ↗
First time I'm hearing of TinyBasicPlus[0]. And this works on Arduino!

My first program was in Basic. I'm just wondering - won't this be great to get kids started on?

Not too much worrying about concepts or syntax? Just get your hands dirty and get the thrill of seeing hardware change when you write some software?

[0] https://github.com/BleuLlama/TinyBasicPlus

3 comments
Not according to the late Dijkstra:

  > whereas the teaching of BASIC should be rated as a 
  > criminal offence: it mutilates the mind beyond recovery.
http://www.cs.utexas.edu/users/EWD/transcriptions/EWD08xx/EW...
The world is full of excellent programmers who learned BASIC as a first language.

I've met a few that believe Dijkstra but consider themselves the rare exception.

It's worth noting that this was probably a quip and not a serious statement and Dijkstra probably took less stock in it than those who repeated the news as gospel.

My first programming language was BASIC (C64) and I don't feel too damaged, but I exposed my children to Scratch.
It’s important to remember that Dijkstra was basically a forum troll before we really knew what forum trolls were. He was also fond of saying that computers cheapened computer science.
I wrote a simple BASIC interpreter in golang, and added a simple HTTP-server to allow you to write a program that would draw graphs/images:

* https://blog.steve.fi/a_visual_basic_server.html

* https://github.com/skx/gobasic/

Pretty fun learning experience, but even with the browser-based input I'm not sure it's hands-on enough. Might be worth buying an old home computer and hooking it up to the TV!

Supporting only explicit line numbers and no labels (or named subroutines) seems bit too retro to my taste. Also peek and poke are unimplemented which is a shame.
I'm of a similar opinion. Peek and Poke would be the most trivial things to add.

Converting from line numbers to labels a bit trickier. I'm not sure if I attempted it I would get annoyed and write my own.

I kind of want to make a language from AVR assembly to have the full make it from scratch experience (and to be able to build and run it inside a browser with the emulator and assembler I made http://fingswotidun.com/avr/AvrAsm/Testbed/ )

I’ve done it before (converting BASIC from explicit line numbers to labels). It took about an hour.
Line numbers have one benefit as basically the program is explicit about the program counter, at least conceptually, in a way.