I've used Basic since I was about 16 - about 40 years. Loved the observation in the main article:
With "GOTO line-number" being one of the principal ways of flowing logic....The result was dreadful spaghetti code and, for many novices, a completely invalid idea of how programming was done. This aspect was succinctly captured, not without some hyperbole, by Edgar Dijkstra's famous observation:
"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 certainly found that when I tried another language - I forget which - later. And the later incarnations of BASIC have much better structures and I taught myself to avoid GOTOs. I'm still using it in the PICAXEs, and still loving it, though I do see its limitations for more professional stuff than I do. And much as I find it easy, I wouldn't recommend it to any new students - yougsters seem to pick up C in the same time it took me to learn BASIC, and that'll be much more use to them.
Yes indeed, long live Basic. I think the article is offbase, in that it doesn't acknowledge that QuickBasic is considered by most people to be the natural evolution of Basic. When people mention "Basic" today, aside from historical contexts, it's QuickBasic they're referring to. The days of line numbers, dependency on GOTO statements, and one letter and one-numeral variable names, are multiple decades in the past. (Last time I worried about that was in the mid 1970s! With an HP 9830A, which btw, was very much a small desktop computer. Even the time-shared Basic of those days was past these constraints.)
My view is, Basic has stood the test of time, where many others have come and gone. For instance, Fortran, Cobol, Ada, Pascal, APL, PL-1, where have thay all gone?
I think most QuickBasic code should run as is, in VB, no? I don't use VB, but from the manuals I've read, that seems to be the case. And there are current variants of QuickBasic that go beyond where Microsoft left off, with their version 7.1.
Long live Basic! I've got QB64 in my PC. works great.
@Bert, I'd agree that Quickbasic (in which I once wrote a successful terminal emulation program) and the other BASICs that are still around should be lumped with the earlier, clunkier versions when considering if it, as a language, is dead or not. (Did you know you can still download GWBASIC?) I've never used VB much so can't comment there. But when the author says
>" It is confined to the products of several small companies that keep the tradition alive but who are unlikely to do more than ride the language until it dies out entirely."
I'd reluctantly have to agree.... apart from a few PC products and PICAXE and BASCOM in the embedded world, and some fairly fanatical adherents, you don't find it much. I wouldn't say it's on the verge of death but I think it will fade away in time.
@David: It amazing how much Basic I have used and I cannot agree that it stopped me from developing a good structured style of writing code.
The frist time I programmed was using a remote terminal at London Undergounds Research Laboratory to process lamp test results, it was connected by a dismally slow modem to the IBM mainframe and it took me a month of 1 hour slots of self learning to get my first Basic programme to run.
Then there was the PDP11 all assembler. That was easier as I sat next to the cabinet which in winter kept me warm and very hot in summer.
Never did much with the PC when the first desk tops came out, but when Amstrad produced their PC nock off I started to use them, They were no bad machines and of course had basic on the boot disk. Did not like this flavour of Basic and got Borland Pascal almost immediatly, what a lovely compiler that was.
For the home use
The Ohio Scientific single board computer (UK101) Basic in rom only goto's, still have the ROMS
The Apple IIe basic built in Goto's, still cherish my one and it has Pascal on disk and a structured basic.
BBC Basic on the Acorn machines were well advanced with procedures and functions and both my children became professional software writers after using these machines at home and at school. Yes mine is still running with Basic, Pascal, and a host of other rom Languages
Whilst tidying up my components box I came across a 40 pin chip marked up ZILOG Z861 BASIC/DBG, now this was sold for embedding, I shall reinstate it very soon and do a blog, Max please take note.
As for Bascom as an embeded compiler it hardly looks like Basic and it is certainly structured, and produces compact assembler.
All code can be badly written and the worst offence is not to comment what is happening line by line, it's one of the things I hate about so much C code that is published. No comments and the special C shorthand key strokes that for a beginner are almost unintelligable. No wonder the Arduino wrapper was used to get beginners started in C.
Long live any method that gets people started in code and hardware.
Microsoft revived Basic in the form of Visual Basic. I liked using it because I could use a language I knew, yet add the nice GUIs that windoed provided. I wrote an article where I used VB in Test & Measurement World. (If you really want to read it, let me know because I have to scan the print version.)
In the 1990s, I published numberous articles about VB for T&M.
There were also T&M extentsion for VB. Measurement Computing had developed Softwire, which added graphical programming to VB.
What are the engineering and design challenges in creating successful IoT devices? These devices are usually small, resource-constrained electronics designed to sense, collect, send, and/or interpret data. Some of the devices need to be smart enough to act upon data in real time, 24/7. Are the design challenges the same as with embedded systems, but with a little developer- and IT-skills added in? What do engineers need to know? Rick Merritt talks with two experts about the tools and best options for designing IoT devices in 2016. Specifically the guests will discuss sensors, security, and lessons from IoT deployments.