Thursday, March 10, 2005

BASIC is Special

Of course BASIC is special!

I don't know how many times I've run into programmers who smugly stick their noses up in the air at the mention of BASIC. I know I've done the same thing when I hear the name Perl. :-p But in fact, pretty much all programming languages are particularly good for one or more kinds of programming tasks. They're all special!

Okay, but what makes BASIC special? Like most programming languages, BASIC can be used to create many kinds of software. But, BASIC is especially great for small games and utilities. If you need to write a tool or if you're playing around, and if you need to get something (anything?)working right now, BASIC is probably just what the doctor ordered. If you've just gotta write that "mega does it all" killer app in BASIC because you love BASIC? Don't let me stop you (especially if you're using my software to do it)! ;)

I know that people who love BASIC often want to make it good for everything. They add this and that until it has all the features of other languages. They mean well, I think. At a certain point this violates the KISS (keep it simple stupid) philosophy that makes BASIC so great at making computers accessible. After all, sledgehammers are great but they sure are heavy. SledgeBASIC anyone?

So let's keep BASIC special. I know I will!


David den Haring said...
This comment has been removed by a blog administrator.
David den Haring said...

Times have changed since the early versions of Basic. Liberty Basic has changed with them somewhat. Here is evidence from the LB 4.01 help file:

The OPEN command opens communication with a device, which can be a disk file, a window, a dynamic link library or a serial communications port.

OPEN and CLOSE do more than they did on my Commodore VIC-20. It would be nice to see these same classic commands used to open and close sockets as well.

OPEN a socket. INPUT from the socket. PRINT to the socket. CLOSE the socket. Same commands, different device. New world opened up to the classic Basic programmer.

Carl Gundel said...

Hi David,

I have overloaded the OPEN and CLOSE commands in Liberty BASIC. I think it makes sense to treat some things similarly instead of adding a new command for every idea. Sometimes this can't be accomplished.

I agree with you that OPEN and CLOSE would make sense for socket programming. You will definitely see this in a future LB release.