About Tim Gerchmez


I'd like to start by saying THANKS, DAVE!!, for including me in such distinguished company. I was really surprised and happy to find out that you wanted to include a page on me here at the home of the Basic Gurus. I've never thought of myself as a guru before (I'm not even sure what one is) but it SOUNDS important (grin)... There are some truly talented long-timers with pages here, and I'm honored to be included as one of them.

Anyway, let me tell a little about myself. I was born in 1964 and have been programming in BASIC as part vocation/ part avocation since early 1984, when I got my first computer, a Commodore 64. For the first week or so I didn't have ANY storage devices with this machine (not even a cassette recorder to store programs on!) so about all I could do with it was experiment with the built-in version of Microsoft BASIC (which was actually very primitive next to today's implementations of the language). Right away I was hooked. I think the first "cool" program I typed in was a simple for-next loop that incremented the foreground/background screen colors. It was an incredible thrill to have this kind of control over a machine. I remember I could barely tear myself away from the computer to go to work, and I think I freaked everyone around me out with the amount of time I spent in front of this new magic box. The first few months I had this computer were absolutely intoxicating, I remember that clearly. I had found "it," that special interest/talent that some of us are lucky enough to discover at some point or another in life.

Eventually I did get a cassette recorder for my C-64, and soon after that a real live disk drive. I essentially taught myself BASIC by typing in other people's programs out of magazines (in those days, many computer magazines included program listings to type in). I soon found that I had a knack for BASIC programming, and started submitting my own programs (I've always seemed to take naturally to writing utilities... boring for some, but I just don't have much interest/knack for game programming and suchlike). I also taught myself 6502 assembly language programming during this time.

I believe the 3rd or 4th program I ever submitted got accepted for publication. It was a utility written entirely in 6502 assembly language that added more than 50 keywords to the BASIC language built into the Commodore 64. Strangely, the program and an accompanying article were accepted for publication and I was paid around $750, but neither were ever published. I followed up this success with several other programs (these DID actually get published). I will say honestly that the programs I'm most proud of in that time period were the pure assembly language ones. I used assembly language a lot though to add to BASIC's capabilities, and I still today have an appreciation for hybrid programming. The technique really lets you emphasize the strengths of each language you're using, while minimizing weaknesses.

Eventually a meeting between myself and a PC compatible became inevitable. Around 1987 I got my first PC, a 10 MHz 286 system. A few years later, I graduated to a 386SX-20 with 4 megabytes of RAM. During this time I began to experiment with the various BASICs available for the PC platform. I started out by purchasing a copy of QuickBASIC, and ran into Borland's Turbo BASIC somewhere along the way too. I liked Turbo Basic, but QuickBASIC had the better IDE by far at that time, so that's what I stuck with. Eventually I was to encounter PowerBASIC (which was the language Turbo Basic had mutated into) and begin releasing shareware for that (outstanding) compiler.

Around 1991-1992, I started teaching myself 80x86 assembly language, and began writing shareware programmer's libraries for PowerBASIC (hereafter referred to as PB) on the PC platform. My shareware products have included Menusys (a text-mode GUI/menuing library for PB), PBASMLIB (an all assembly-language library for PB), and POW!, a soundblaster library for PB written in assembly language. Menusys has been by far my most popular product, and I've gotten many registrations from people all over the world. Most of my PowerBASIC products are still available, and can be downloaded from my shareware page (alternate location). I must admit that I haven't updated my PowerBASIC libraries for some time, as around 1993 I discovered Windows and the next phase of my BASIC programming avocation (well, part vocation/part avocation) began.

Hmm.. Windows... the Operating System/Environment we all love to hate. I was a tough sell on Windows... it took me a long time to get used to a GUI environment, let alone to like it (hard core text mode/command line all the way!)... eventually, though, I succumbed to the Microsoft line as many have, and started using Windows regularly. Thankfully, Microsoft didn't let me down completely, and Visual Basic began to grow in popularity as did the Windows platform. Despite brief flirtations with OS/2 and FreeBSD, Windows remains my operating platform of choice today (specifically Windows 95, and most likely NT on my next series of machines). In 1994 I took a class in Visual Basic programming, and was astounded to find out how easy it was (all the talk of event driven this and that had me running scared for awhile). At the end of the class, there was a contest to see who could design the "best" Visual Basic program, with the contestants giving presentations and the entire class voting for the winner. I won the contest by a narrow margin, and was presented with a copy of Visual Basic 4.0 professional edition (the instructor was a MS employee and could get Microsoft programs dirt cheap, so it was offered as a prize). Since then, VB4 has been the language I've been using, although the required .dll's and .ocx files are disgustingly bulky and numerous. At least modems have gotten a good bit faster in the past few years(grin).

Anyway, we're now approaching the present time in this little (and probably poorly-done) narrative, and at the moment I have several shareware and freeware products available that are written in Visual Basic 3.0 (16-bit) and VB5 (32-bit), as well as some stuff for PowerBASIC. These programs are available from my shareware mirror sites here and here. One of my interests of late has been the MIDI format and MIDI players, and I have written a couple different players for the Win16 and Win32 platforms. I also have some other odds and ends available that I've written in Visual Basic, much of it freeware. Check out my shareware/freeware pages if you have the time.

So, why do I still program in BASIC, you ask? Why haven't I gone on to a "better" language like C/C++ or Java? Well, frankly, I don't think there's any language that's "better" than BASIC, especially when it's supplemented with a lower-level language (remember, the right tool for the job, and one language complementing the strengths in the other/vice versa). BASIC is tried and true and has been around for decades, and thousands of programs have been designed and sold that are written in BASIC. Despite its detractors, BASIC has been and continues to be a great success in all areas of computing.


Code Samples and Misc.

Here is an example program for Visual Basic 4 or 5 that demonstrates an elegant way to catalog the contents of an entire disk, using VB's built-in controls. Much faster than commonly used recursive techniques.

One of the first BASIC programs of any size that I wrote on the PC (post-Commodore) was an "artificial intelligence" program similar to the famous "Eliza." This program lets you "converse" with your computer in complete English sentences. Click here to download the MS-DOS executable in PKZIP format. This program is compiled, I think with Turbo BASIC. Sadly, I lost the source code - it might have been fun to look at.


Still curious? Check out my main home page on the Web, or Email me at .