4 ms·
"About the use of language: it is impossible to sharpen a pencil with a blunt axe. It is equally vain to try to do it with ten blunt axes instead." -- Edsger W.
by progman32 7y ago
"About the use of language: it is impossible to sharpen a pencil with a blunt axe. It is equally vain to try to do it with ten blunt axes instead." -- Edsger W. Dijkstra
Of course, all this is to be taken with a grain of salt :) I got started in QBASIC and, for all the damage it may have caused, I'm doing pretty OK today. I tried to grasp C back then but I wasn't able to yet. BASIC let me play along with the adults while I developed other necessary skills.
- ghaff 7y agoThere's a pretty good argument that picking BASIC (especially old BASIC with line numbers and lots of GOTOs) today for an intro programming class would fall into the not-good-idea category. But the best alternative was probably FORTRAN (which is indeed what my programming class at university used) and that wasn't really intended for general purpose use or for teaching. Pascal might have worked as it was designed for the purpose although I'm not sure it ever became quite mainstream. C wouldn't have made much sense.
- ky3 7y agoI understand Dijkstra's anti-BASIC quote as a reference to his observation that the values underlying such a procedural/imperative language predispose a programmer to think exclusively operationally. https://www.cs.utexas.edu/users/EWD/transcriptions/EWD10xx/EWD1012.html https://www.cs.utexas.edu/users/EWD/transcriptions/EWD10xx/E... Another well-known Dijkstra epigram has it that "Progress is possible only if we train ourselves to think about programs without thinking of them as pieces of executable code." BASIC programs don't lend themselves to being treated as anything other than pieces of executable code.
- badsectoracula 7y ago> I got started in QBASIC and, for all the damage it may have caused, I'm doing pretty OK today Dijkstra wrote that quote about a very different flavor of BASIC: only line numbers, flow control was only possible with GOTO and a limited version of FOR/NEXT, IF was limited to a single line of code (which 99% was just a GOTO or GOSUB), subroutines were made using GOSUB/RETURN, etc, essentially it was a glorified assembler with an expression generator. What he was championing instead (at the time) was structured programming in the style of Algol and QBASIC, with its subroutines, control structures, functions, lack of line numbers (well, they were optional for backwards compatibility with GW-BASIC, but i do not think it got much use) etc, is way closer to the style of programming used in Algol than to the style used in the BASIC that he was talking about.