Don't think I'll ever go back to this though. Never could figure out the 3D stuff back then, but had fun drawing lines, text, occasional bitmaps and playing sound samples.
Don't think I'll ever go back to this though. Never could figure out the 3D stuff back then, but had fun drawing lines, text, occasional bitmaps and playing sound samples.
I really dislike that quote: "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration". I'm not sure how serious he was being but I cannot see how a potentially good programmer would refuse to learn new concepts like they would need to do when first moving to OO, functional, procedural etc. languages. BASIC is obviously less relevant now but it was nice in that it was easy and quick to get started in whereas more complex languages might scared complete beginners away.
Don't use most of your language's features.
Write a lengthy main loop. Use a lot of statically-sized arrays. Use plain old data instead of classes. Use primitive types and some indirection instead of a high-powered metaprogramming solution.
If you need the fancy stuff, it's all there (unless you're working with Go) -- but YAGNI really does apply.
A few years ago I tried to write something in "real" BASIC again. GOSUB has no stack and no arguments!? WHAT??? I had forgotten how basic BASIC was.
Go to any high school computer club and all the kids are probably using Unity3D and C# and the stuff they are able to create in a day or 2 blows my mind.
Or watch some kids hack on JavaScript. Access to way more APIs then I ever had back in 8bit BASIC and instant sharing.
Can they press F1 and get instant access to the relevant documentation for those APIs? People who write IDEs for BASIC have always put more care and passion in them - press one button for documentation, press one button to compile and deploy, no messing with XML configuration files, copying boilerplate code, or "manifests".
How would someone like that ever become a good programmer? Programming involves continual learning and keeping your skillset up-to-date.
I wonder how much is known about early bad habits in any area sticking with us as we learn other things.
See http://programmingisterrible.com/post/40132515169/dijkstra-b...
And today's versions of BASICs, like FreeBASIC are just as powerful as even C++ and come with pointers and OOP. BASIC programmers are more likely to understand pointers than programmers using today's popular languages because they were exposed to functions like PEEK, POKE and QBASIC's DEF SEG (remember when we had to DEF SEG to &HA000 to get direct memory access to the video memory buffer because the drawing functions were too slow?).
BASIC continues to be relevant today. Some people have reported being able to compile FreeBASIC programs for ARM, but GAMBAS already runs on the Raspberry PI. See: http://gambaswiki.org/wiki/install/raspbian
For the Android platform you can get RFO BASIC and program on the device itself. See: http://laughton.com/basic/
And QB64 also compiles for Android. See http://www.qb64.net/wiki/index.php/Android_Project
For the JVM it seems B4J is the preferred dialect these days, because JABACO is in development limbo. See https://www.b4x.com/b4j.html
There are also other versions of BASIC that compile to microcontrollers like AVR and PIC. See http://gcbasic.sourceforge.net/download.html
For HTML5 people can use BrowserBASIC (http://pewtersoftware.com/browserbasic/) or Monkey(http://www.monkey-x.com)
Source code for interpreters, transpilers and compilers written in BASIC can easily be found on the web so it's likely the language will be kept alive no matter what. And BASIC programmers always learn new tricks: we've dealt with speed limitations, memory allocation issues, even managed to write assembly when it was necessary. And FreeBASIc programmers are the most prepared to move to C++ because the structure is the same.