16 comments

[ 1.7 ms ] story [ 44.2 ms ] thread
Basic is a really interesting language for education. Nowadays, apart from Scratch that is a visual environment, mainly two languages are used for education: Python and JavaScript (for the Hour of Code etc.). But when you start, when the kid is 6-years old, Python's indentation doesn't help, and JS is not ideal either. With BASIC, you just start coding.

A while ago I participated in a workshop by http://www.my-hexagon.com ; a Duinomite from Olimex was used there. It was a refreshing experience to see how immediate the response is from the sensors and how quickly you can control the hardware with a simple BASIC interpreter actually running on the board - a huge difference from Arduino when the kid is asking, "Dad, why does it take so long to upload the sketch?" Heck, even with Mindstorms you have this delay. Duinomite is a joy to use, the only drawback being its limited VGA output that is not great on modern high-resolution screens.

What I love most about BASIC, and makes me nostalgic for my old TRS-80, is visible in the article.

All the games show graphics. Because writing graphics and taking unbuffered input, is simple and easy in BASIC.

It took me a week, with nothing but an idea and a language manual, to write a primitive Pacman.

Today, I'm not sure if I could write such an easy graphical program without diving into some sort of graphics framework, struggle to find the right language bindings, and get frustrated with the framework not matching patterns common to the language.

There are few languages today that make it so easy to unleash creativity.

"We wanted the syntax of the language to consist of common words, and to have those words have a more-or-less obvious meaning,” says Kurtz.

Whether you love or hate BASIC, two ideas in the language still stand the test of time: friendly, readable syntax to make the language more amenable to users (subjective I know) and a small set of commands to reduce the complexity of programming.

Can those ideas still survive in programming languages today? Some modern languages possess one of these features, but rarely both.

My first experience with the programming was on a Commodore Vic-20. I vividly remember the users manual, which explained how to use the computer through simple BASIC programs. I still find amazing that in those times computer manuals also were programming manuals! When I moved to IBM PCs, I turned to Turbo Pascal and to a more structured way of programming. But the simplicity of Commodore Basic still holds a special place in my hearth.
Beginners Allpurpose Symbolic Instruction Code

Never been bettered for a beginner. Particularly when embedded on the machine.

I'd argue that Pascal is better for a beginner, especially because Pascal is something you can progress with. Modern Object Pascal is nice to work with.
Old Object Pascal was already nice to work with on Apple Pascal and Turbo Pascal 6.0 for MS-DOS (first set of features were on 5.5).
Something like Cerberus X would be the continuation of BASIC on modern systems, mainly because it is. It is fully object oriented.
I guess today, the closest equivalent programming language would probably be Processing. Because like in Basic, it's very easy to learn, and you get stuff happening easily with plenty of examples around and a sane standard lib.
Processing has many interesting features, and it appeals to many non-tech adults, too. The difference is huge, though: you don't have every computer sold today equipped with it. You not only need to install it, you also need to know it exists and it fits your needs.
At the dawn of the "home computer" phenomenon, there was a great deal of optimism computer literacy for the public would include a much richer understanding programming. It's too bad that didn't work out. It doesn't seem fair to blame any specific language or environment because they're all still readily available. It's just that there's so much you need to know, now, to do significant work. I wonder if there's any way to improve this situation. A lot of effort was already expended in this direction.
There's never been anything quite like Basic in the 1980s. It was everywhere and built in. For most users, it was programming.

I wrote my first program on our family's Atari 800 computer. It was a budget machine with a mediocre, slow Basic, but it worked. Millennials are often surprised to learn that there were many Basic magazines with entire game programs printed in them. As a kid I would beg my mom to buy these magazines for me (much cheaper than buying real games), then meticulously type in the program. Inevitably, it would error out because of some typo, at which point I would have to pore over the code and find the problem. Learning how to debug at 9 or 10 years old! When I finally got the program running, I'd play it for maybe 5-10 minutes—the games themselves weren't usually very good or complex—then set about figuring out how I could cheat by changing the source code.

When my family later bought a 386, I mostly played store-bought games on it and left Basic behind. But my high school was progressive and during my freshman year I took a yearlong Basic class, using QBasic. Suddenly the 386 I had in my room (after the family upgraded to a 486) became a Basic machine again!

Basic set me down the path of a lifelong love of programming. First with Basic, then C++, and so on. The only thing I asked for for my 10th birthday was Borland C++. I was a weird kid.

These days macOS comes with Ruby and Python interpreters built in, and learning resources are better than ever. But it's just not the same. The world has changed, and there are more idle distractions than anyone could experience in a lifetime. Programming is hard and the payoff is delayed and not guaranteed. How can it compete with YouTube or modern video games?

Such nostalgia!

I was 10 years old, and on the bus to summer camp every morning I'd read this dog-eared book:

https://imgur.com/a/kmBfx7Y

In between singalongs I learned to program. And loved it.

I was such a nerd. The counselors didn't know what to make of me. Dad complained I should spend more time outside.

Then I grew up, published my first commercial software title and turned that geeky addiction into a career. Thanks mom and dad for buying me that beat up old TRS-80! And thanks Mr. Kemeny and Kurtz for bestowing this beautifully approachable language onto the world, even if your original vision was shamefully bastardized by the time I stumbled upon it.

ps. You can read it, too: http://www.colorcomputerarchive.com/coco/Documents/Manuals/H...

Fifty years ago I tried to figure out how to write a program. I found a IBM026 keypunch machine in my high school and used it to punch what I hoped would be my first program: A Fortran implementation of the simplex method for solving linear programming problems. I turned the deck over to someone to take over to the school district main building that housed the district's one computer, and a couple of days later I learned that my program didn't even compile.

Undeterred, I found a book on BASIC in a public library. The language was so simple and so straightforward that I was able to learn to program by just reading the the book. I had no access to a system running BASIC, but that book enabled me to go back to Fortran and write my first successful program (this time a less ambitious one) that simply printed a one page table of trig function values. Sadly, I've lost that first program's listing. I used to keep it folded up inside of my CRC Handbook of Standard Mathematical Tables, but it's no longer there.

Thanks to BASIC, I've had a long, interesting, and successful career.