Read other letters about this article
"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." -- Dijkstra (famous computer scientist who invented some important algorithms. He also wrote an article called "GoTo considered harmful".)
I taught myself to program in BASIC as a child in the 80s, but I'm not particularly proud of that fact. It took me a long time to unlearn use of goto and gosub when I taught myself Pascal. Eventually I caught on, and found that I could code faster and read my code more easily. Dijkstra was right.
Note that most high-level languages, including Pascal, C, C++, and Perl, have vestigial labels and goto. Which means that you can emulate BASIC's line numbering if you want to. But please, don't.
Note also that BASIC is not a particularly low-level language. It's typically interpreted, which actually takes it farther from the machine than, say, C or C++. But BASIC is a crippled high-level language, because of the GOTO thing. Meanwhile, with some compilers, including the free GNU gcc compiler suite, you can actually get the compiler to produce the assembler equivalent of your high-level code, so you can actually see exactly what the machine is up to. That's a lot closer to the machine than BASIC. If you do want a high-level language, Perl is great; it's at least as expressive as BASIC.
-- Morty Abzug