Adam Barr mentioned recently in his blog that Edsger Dijkstra said, “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 have some personal history relevant to this. I started programming in Microsoft Basic in 1979 (I think) when I bought an Apple II Plus. During the next few years I found myself teaching various courses in theoretical computer science at CWRU and in the process learned about many of the early ideas called structured programming. (This was before object-oriented programming came along.) One main point was that you could do everything with assignment statements, if-then-else and while.
My experience was that once I absorbed these ideas and had done some programming in Algol and Pascal I found that I had achieved more clarity and efficiency in programming in Basic on my home computer. What I was doing was implementing the if-then-else and while structures using Basic’s IF and GOTO. Doing this achieved some modularity by separating out the subroutines as separate blocks of code and avoiding GOTOing to the middle of a subroutine.
For what it is worth, this is evidence that Basic didn’t necessarily permanently ruin people. But I have to say that I had programmed in Basic for only two or three years before I started being Structured, so maybe it takes longer to ruin people.
Send to Kindle