Everything I Needed to Know About Programming I Learned from BASIC

Good post Jeff my man!

Except that I did learn to compile Pascal on my Apple //c, but not before dabbing with both “The Woz”'s Integer Basic and a bit later Microsofts (yes really) AppleSoft basic (of wich I believe your Apple //e screenshot to be a fine example).

Nowadays its pretty much all c# but I sure didnt suffer any from starting with several dialects of the good old beginners all purpose symbolic instruction code.

Regards, Kris

There’s a difference between playing around with BASIC, and writing full-scale applications with it. One is good for you, the other teaches you bad, bad things that are hard to unlearn later on.

I started programming with QBasic. I know it’s not as old, as “cool,” or as respectable as the older BASICs, but thanks to QBasic I ended up with the developer career I have now.

I started making games with QBasic in grade school and shared them with friends. Eventually I had other things to do besides make games, but then later in life a situation presented itself where I had to learn ASP. I didn’t know ASP. At that point in time, had you asked, I would have said, “I don’t know any programming.”

As I started to read about ASP, I realized the stuff I learned during my QBasic days would be a huge help. I dug out my old QBasic notes and programs and with that confidence and understanding I learned the ASP, which then lead to PHP, which eventually ended up landing me a full-time job right out of college.

Now thinking about it, QBasic probably played a more important role in my life that I’d probably admit. Go figure.

Heh … Commodore 64 programming… This always sticks in my head…

10 For X = 1 to 255
20 Poke 53280,X
30 Poke 53281,X
40 Goto 10

:slight_smile:

I am quite certain that there were compilers before the PC area, since I am quite certain I still have PASCAL and C compilers for the C64. I never used them much though, they were quite a pain compared to the standard BASIC and even when compare to direct assembly - especially if you had one of those extension cartridges, assembler programming could be quite comfortable.

My programming experience has a similar beginning to Mattkins’. It started in Algebra I class with a TI-81. I automated the steps required for a lot of our problems with BASIC. When I graduated to my TI-85, I actually wrote an ASCII based RPG, with battles, magic, and everything. Heck, my first PC-based programming experience was VB 6.0. A friend bought me the Sams Teach Yourself in 24 Hours book that came with a debug-only version of VB Studio; I actually used it to write nice front-end to manage a Microsoft Access database for a final project in high school. Most of it was already automated by the ActiveX controls, but so what? I was learning!

Now I use C++ and, looking back, coding in VB seems sort of like poking myself in the eye with sharp things, but I wouldn’t take it back for the world. It’s just like Jeff said…it made me who I am today.

Great post Jeff! Me too started with ‘Basic’ on an X386 at school. Initially with reluctance but later got hooked to it and realized what my ‘vocation’ was. Am thankful to Basic for giving the initial playground for launching me into this career path… It was then I realized that I could ‘learn something and apply it’…

I learned BASIC for the Sinclair ZX Spectrum when I was six, and I also knew quite a bit of BBC BASIC (school had them), but the only remotely useful BASIC I encountered was Mallard BASIC, a commercial flavour of it that shipped with Amstrad PCWs.

It was reasonably close to BBC BASIC with the distinction that it included a set of tools for interacting with the file system, disk drives, peripheral interfaces and the like out-of-the-box, called JETSAM, which made it considerably more, uh, pythonic:-) I mean, with Mallard you could hop from “hello world” to actually pulling real data off the 3" drive, interacting with the operating system, and sending stuff to printers, serial ports and the like.

I wrote an application to wrap the CP/M command line in something less 'orrible for managing files, but my dad wouldn’t use it. (He had more sense, and used the file manager functions in PROTEXT.)

I started with BASIC, sure, who in the same demographic cannot say the same.

But my first real code was in Turbo Pascal, and later Turbo C/Assembler.

What I cannot understand is people, who to this day, still like BASIC.

I like it in the sense that I am nostalgic for those simple days, but I much prefer, well, any other programming language really.

I grew up learning Basic and Visual Basic, but my first real taste of
real programming was with ‘Learn to Program Basic’ from InterPlay nearly
11 years ago which I soon moved to QBasic and finally Visual Basic.

After programming for over 10 years now I agree that if you plan on
writing a large program that you should do it in a curly-bracket language
like C#, C or C++ simple because, from my personal experience, they are
a hell of a lot easier to read and maintenance but never the less BASIC
is a great introductory language, particularly to children.

You can still get LtPB on Amazon and eBay, I’d suggest everyone look at it
as its a lot of fun, sort of like edutainment:
http://www.amazon.com/Learn-Program-Basic-Windows-Macintosh/dp/B000N3W2L4

It’s true that if you wanted to do anything remotely cutting-edge
with those old 8-bit Apple, Commodore and Atari home computers, you
had to pretty much learn assembly language.

I learnt BASIC on the Dick Smith TZ300 (a rebadged Radio Shack number I imagine) and then with Visual Basic on the PC and AMOS on the Amiga.

AMOS did allow you to do some pretty cutting edge stuff including providing an interface to the blitter chip and an animation language so again BASIC was a pathway for many of us growing up in the 80’s.

Basic is a good way to contrast the way programmers did things back before they knew any better.

The point is that programmers already knew better, but BASIC was available for almost all micros and early PC’s (Thanks to a small company called Microsoft who wrote most of them)

Microsoft evolved Basic into a fully featured programming language that is now VB.NET but it considered by many including Dijkstra that they started with the wrong language … C# is based on C and Pascal/Delphi … Perhaps if they had started with C or Pascal we would have more “good” programmers today …?

My first programming was QBasic. Loved it! Who remembers Gorillas? Then I went to Fourth Forth, which is a bit like programming in Haiku if you follow common good style.

I resisted HLL for a long time after that. I spent about three years writing Win32 API programs in x86 assembler, including some DirectX! There’s something amazing about writing a Hello World COM executable in (about) 26 bytes.

One day I rediscovered my old Forth code and wrote an interpreter in… wait for it… Perl!

Hahaha I crack me up.

Nothing like perpetuating outdated stereotypes.

VB wasn’t the Basic Dijkstra was talking about. I consider Hejlsberg one of the most destructive individuals in computing.

Most programmers eschewed VB either out of hatred for Microsoft or to hide their own poor coding among the curly braces - or both. But VB’s been dead for many years now. Can’t you people come up with another whipping boy to excuse your failures?

My first programming was in commodore pet basic, but the first computer the family owned was a Timex Sinclair. No RAM to speak of, makes you choose your commands wisely. Then we moved on to a Vic-20 with basic and Forth! So exciting, then the C-64 which eventually someone had a Basic Compiler for so you can just get your basic programs to run faster – not quite a fast as assembly, but well worth the ease of programming in basic, even though much of it was PEEK this and POKE that…

Let me introduce you to the Sapir-Whorf hypothesis:
http://en.wikipedia.org/wiki/Sapir-Whorf_hypothesis

It’s relevance to programming languages is left as an exercise for the reader.

For long time I’ve thought of VB as a culprit why so many mediocres and idiots decided to do programming for a living. Before VB came to scene, C and C++ were too hard for them to learn so they stayed away from programming career. 95% of VB-VBSCript people I knew produced horrible, unmaintainable coding horror.
It took me some time to realize it wasn’t their fault but it was failure of management to weed out such types by enforcing good policies like quality control, code reviews, conventions etc.
Feel free to visit my site and read some stories from the programming trenches, VB rants etc.

Bojan Markovic, Croatia

I totally agree with Hejlsberg. “Original” Basic IS retarded!
Like many others I have started programming in Basic on ZX Spectrum. I did pretty cool things for that time but I always wanted more and had that feeling that I am being limited by the language.
Only years later when I got introduced into Borland C++ for DOS, then I got that feeing of unlimited possibilities, and truly in command of hardware. So C++ effectively started my carrier, not Basic. And I thank all gods frequently for that fact.

Great post Jeff.

Learned BASIC in 1976. First language; 110-baud hard copy terminal in high school Math Lab, dialed into the mainframe at the Board of Education.

I remember programming WUMPUS, BASKET, etc. from Ahl’s books… and being blown away by the sheer scope of a friend’s project to type in all of STARTREK.

I was also blown away in 1980 by introduction to the Structured Program Theorem. Here was everything, in 3 basic building blocks! This was elegance, and programming would thereafter be elevated from merely fun to thrilling.

Years later I came to understand the broader truth about programming languages: while they all permit programming elegance, brevity and clarity, not all directly *support( and encourage it. BASIC doesn’t prevent programming elegance, but it certainly never showed anyone the way.

Guess what?
I started out with Fortran, Applesoft BASIC, 6502 assembler, Pascal, Ada, C, C++, 60000 and 808XX assemblers, Lisp, C#…

A now what do I program in professionally, Visual Basic.

A the wheel keeps turning…

Oh by the way, if all you have is a hammer, … I think you get where I’m coming from.