Soapbox time!<p>Basic has a bad rep almost everywhere in the industry because it is interpreted (yes there are compiled variants), case-insensitive, optional brackets and doesn't lend itself to structured programming very well. But ask any talented developer in his 30-40:s (yes we were almost all men!) how he got started? Basic! QBasic, Commodore Basic, Amiga Basic (and Amos) etc.<p>Here is how you put a white pixel on the center of the screen in qbasic:<p><pre><code> SCREEN 13h
PUTPIXEL 160, 100, 15
</code></pre>
That's how easy it was and what got me hooked and I still remember it by heart over 20 years later. I feel sorry for the kids starting out today with Java, C# even Python and Ruby requires more knowledge to get stuff done than what qbasic did. And you have to know about them and their packages, while qbasic came with everything you needed preinstalled with the computer. Computer programming is unquestionably much less beginner friendly today than it was two decades ago.<p>And no, Javascript isn't the answer.
>BASIC was first successfully used to run programs on the school’s General Electric computer system 50 years ago this week–at 4 a.m. on May 1, 1964, to be precise.<p>Sounds like the project deadline was May 1st. Glad software engineering hasn't changed much in 50 years.
My favourite language. Started with a ZX Spectrum, then did GW BASIC at school. My first job (1990) was maintaining Thoroughbred BASIC apps. Now using Visual Basic for the biggest project I've ever worked on (<a href="https://www.wittenburg.co.uk/Entry.aspx?id=0a505400-5bf6-4a6d-b107-6b4b797f33ae" rel="nofollow">https://www.wittenburg.co.uk/Entry.aspx?id=0a505400-5bf6-4a6...</a> ). In the years this project has been going I've written over 500 KLOC of VB.NET code. The current desktop app (third re-write, only about halfway done) clocks in at 40 KLOC of VB.NET code. No libraries. Just Visual Basic and the .NET framework.
REPLs are great way to teach kids about coding. For me:<p>Applesoft BASIC (Apple ][e) -> Level I BASIC on TRS-80 -> FutureBASIC (Mac 68k)<p>Those are the BASICs I learned before moving on to Java, C#, then JavaScript.<p>FutureBASIC was really ahead of its time. You could drop into assembly, make direct system calls, didn't need line numbers, it supported proper functions, and it was event-based and somewhat asynchronous. For ~$300 it was a pretty big deal for Mac users at the time. I think MPW was still several thousand dollars and open source compilers were largely unavailable.
On a slight side tangent a discussion of related old fads in IT might be interesting. Some eternally reoccur like a wheel, some haven't returned... yet.<p>Whats changed since then, is more than just the syntax of if/then statements.<p>GOTO<p>automatic / implicit strong typing of variables (and believe it or not, a FORTRAN "feature" to change how the automatic name based typing operated resulting in eternal confusion from that day onward)<p>Intermediate code (tokenized basic, pascal P-system, JVM). And unlike the p-system or JVM, virtually every tokenized basic was incompatible with every other tokenized basic.<p>Line oriented program editing and its companion, the line number. I think the concept of a line number might freak out modern noobs more than the concept of line oriented editing, hard to say.<p>To some extent, backward compatibility is seen less and less as a feature as time goes on.<p>Your computer powers up and boots in less than a second to a REPL for BASIC.<p>Numeric / non-humane usernames<p>Direct access to hardware with no "OS" in the way
Learned to program in Dartmouth Basic on a teletype in 1974 in school. Teletype = clanky uppercase only terminal that printed on paper at 110 baud and saved to paper tape. The world sure has changed since then.
One of the best things about BASIC in the 80s was the immediate and interesting results.<p>Just a couple of lines and I could get colourful graphics, and interesting sounds. It grabbed my attention very easily as a kid.<p>If I had to jump through all the hoops you have to today, there's a good chance I wouldn't have got into programming.
I'm still using BASIC. I use it to teach my 6 year old son (and his 3 year old brother) to use computers. We have many, many solid quality hours as a team, huddled around my still-working old 8-bit machine, typing in programs, playing existing games, and so on.<p>The old 8-bit machine is the only system in the house that I can reliably leave my two boys with, knowing they won't get up to any mischief (no Internet!) and which they can fully control, themselves.<p>I'm constantly having the thought that its sort of a travesty that 8-bit, low-power machines like this are out of style - they're still highly useful machines. And I'm pretty sure my kids will know how to push pixels before most of the other kids in their social group even get their first XBox ..
I've mentioned it a few times before but here's a project where a simple computer (using VGA and a PC keyboard) runs BASIC.<p><a href="http://geoffg.net/maximite.html" rel="nofollow">http://geoffg.net/maximite.html</a><p>> The Colour Maximite is a small and versatile single chip computer running a full featured BASIC interpreter with 128K of working memory and eight colours on a VGA monitor.
It will work with a standard PC keyboard and because the Maximite has its own built in SD memory card and BASIC language you need nothing more to start writing and running BASIC programs.
BASIC was my own personal intro to programming. First on an HP3000 mainframe while in high school in the seventies, and later GWBASIC on a Columbia luggable in the 80's. Someone... I think it may have been David Brin, wrote a great article a few years back about the lack of an ubiquitous, easy to access interpreted language that any kid with a computer could discover and begin using. I think it's a valid complaint, but probably not addressable given all the platform and library dependencies these days. Python comes close.