Sunday, October 21, 2007

BASIC

BASIC stands for Beginner's All-purpose Symbolic Instruction Code and was the first programming language that I learnt. As I mentioned, before I got my first PC, I used to borrow books from the library to read about computers, and back then, some of those books would contain program code in BASIC. So before I even had a computer, I was learning to read programming code.

So once I got my first PC, of course I couldn't wait to try out some of those programs that I have read about. Imagine my surprise when my PC didn't boot up to BASIC like I was told it should. Eventually, I found out that only IBM PCs booted up to BASIC. Compatibles don't.

So I went to get a copy of BASIC that would run on DOS. And came upon BASICA. But it didn't really run. And now I know why. It still requires the BASIC code found in the ROM of IBM PCs, and compatibles didn't have that ROM.

Eventually, I got a copy of MS-DOS, and it had GW-BASIC included with it. And guess what? It ran! So I finally got a working copy of BASIC that can run on my PC. I happily proceeded to enter in those programs... only to find that they don't run, at least not 100% of the time. Why? Because BASIC comes in many dialects, and the programs that I read about in books were written for the BBC Micro, Apple IIe, and other older PCs. But I managed to find books with program code for the IBM PCs, and also learnt enough about BASIC to be able to convert some of the code into usable code that works on GW-BASIC.


Later, I came across QuickBASIC, which was different from the BASIC that I know, because now, line numbers are optional, and it is easier to create subroutines. Programming graphics was so much easier now, that my friends and I started experimenting with QuickBASIC code, creating our own screen savers and screen effects, such as text that slowly appears and then fades away.


Now, QuickBASIC has been discontinued, but there is an open source effort going on to create a free implementation of QuickBASIC, known as FreeBASIC. All I need is to find time to get back my BASIC skills...

No comments: