BASIC considered harmless & usefull ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ by Alain Brobecker (aka baah/Arm's Tech) (abrobecker@yahoo.com or rte de Dardagny; 01630 CHALLEX; FRANCE) BASIC has a nasty reputation, it is said to be unstructured, due in part to the unrestricted GOTO statement and ability to create variables whenever you want in the program. Amongst the harsh critics against BASIC, here's a very nice one by Edsgar Dijkstra ("How do we tell truths that might hurt?", 1975): "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 the hope of regenerations." From this point, I bet the ones who wanted to become 'serious' programmers never dared claim they knew or used BASIC: I've heard computer science teachers laugh when one said so. So this language became a taboo in computer-science studies, then in computer-science and I think it's a mistake for the following reasons... 1. The language isn't responsible for unstructured/unclear code, the programmer is... Assembly language is highly unstructured (yeah! GOTOs everywhere =), but experienced asm-programmer are obliged to keep ideas clear about the structure of their code if they don't want to go nuts! Another example: C is a big fashion nowadays... Have you ever heard about the international obfuscated C code competition (IOCCC)? Guess C can be as much unstructured as any other language, even Pascal! 2. BASIC has greatly evolved, at least the BBC BASIC for the Acorn Archimedes computers... Functions & Procedures accepting arrays as parameters (not possible with older versions of Pascal), all standard structures such as FOR/NEXT, REPEAT/UNTIL, WHILE/ENDWHILE, CASE/OF... It is very rare to see a GOTO in a program, but it is sometimes unavoidable (if you want to keep fast I mean =) such as in a Mandelbrot-fractal plotter. 3. BASIC is easy and efficient for small projects. For people who don't make a living out of programming, BASIC is a friendly tool to perform fast prototyping (before switching to 100% assembly =) or small applications. As an example suppose I need a file with all consecutive bytes from 0 to 255.. DIMa% 256:FORc%=0TO255:a%?c%=c%:NEXTc% ..only 4 instructions+saving, compare with C or Pascal. I have handfulls of usefull tools written in BASIC, such as a 6502 assembler. All would have needed much more work with another language. No, I don't claim BASIC is the language to use for every program, but it is very convenient and I would like to see a freeware (or GNUware) and portable version of it, such as what SUN did to C with Java (an excellent thing IMHO). I know there exists 'ANSI' versions of basic and the 'TrueBASIC' version (by Thomas E. KURTZ, author of the original basic with John G. KEMENY), but you must pay for their specifications/program and this I don't like. My dream would be to see each sold computer provided with a handfull of portable languages, BASIC, Java (=C?), Pascal, Lisp, Forth... And let the user choose which ones they will use, he is the one knowing his needs after all.