ProgramList MystikShadowsOctober 9 2007 at 3:43 AM
|MystikShadows (Login MystikShadows)|
A BIT OF BACKGROUND INFORMATION:
Back in 1975, I was 7 at the time (well almost 8 since it was in January and by birthday was in April)). I went to the local library for what I thought was getting some comic books. Not sure what was happening back then I remember there being a lot of people grouped together (not a common thing for a small village like where I was) so I had to go around them, through the book isles, but I never made it to the comic books. I saw computers for the time as pictured on some programming books and got bit by the programming bug ever since.
I didn't have a computer back then of course but it didn't stop mme from taking those books, bringing them home and learning. I was happy to find I was learning this stuff rather quickly (for a 7 year old). I was always good in math and the first program I ever made was a home budget system that would take two incomes (say my mom's and my dad's) total them up and create proportional payments for the bills. like if my dada made 400 and my mom made 200 that week, the payments would say that my dad had to give 100$ and my mom only 50$ (proportional to their % of the total revenues).
From then on, I learned a whole bunch of languages, I had this thirst for knowledge that, like a vampire without a victim, could seemingly never be quenched. I wanted to learn everything I could, within about 8 months I had read every computer programming book a tthat library (luckily we moved so ther was a new library to invade). I didn't have a computer so I would grab some pen and paper and write up synopsis of what I learned and doubled checked them against the book to see how well I did. Pretty much the only way I had to learn at the time. About a year later, computers came the school I went to. So I tried to see how much time I could spend on them before and after school when people were there. Small villages helped me be able to just go in and have fun with the computers. :-). The school pretty much followed the commodore series, first we had PET 2016s, then 4032s, then 8096s and finally they got a Super PET (with 8 languages), finally a decent computer I remember saying lol.
The first computer I had at home was Commodore Vic-20 (maybe it was the price ;-). But I grew tired of the 3.5 KB of available RAM very fast. lack of all these programming languages I learned, I hated BASIC 2.0 but it was a computer, William Shatner said so on that Vic 20 Commercial ;-). So when the commodore 64 got announced, I started being a nice little boy to make sure I got one on my next birthday ;-) the strategy worked. Now I was playing with power. Though the 64 was sold as a gaming machine mostly, it just never was my interest to create a game back then. I wrote business programs (well as business as I could make them at the time lol). SO I asked around and people would tell me what they'd like to do with a computer I'd take notes as inspiration went home and basically saw what I could do with that idea.
By the time I was 10, I was getting pretty good at BASIC, Pascal USCD, Logo (turtle graphics), and some primitive databases that existed at the time. When I learned Pascal, I started wondering why BASIC needed line numbers to execute itself properly. But I didn't pay too much attention to it and just continued reading computer books. I moved every now and then and had the chance to always have libraries with books I didn't read yet so I wasn't complaining about all the moving I did. SO I read, and learned everything I could everywhere I went. I also learned about a language called MIRA which was quite unique in it's time. It created the first 3D Computer animation I ever saw that was called "Dream Flight" and definitely got me even more hooked on learning to program so I could make one of those myself.
WHERE DOES QBASIC/QUICKBASIC FIT IN:
10 years (count them, 10 years) had passed since my first computer book, I was programming many things back then, I did a stock market simulator (at the age of 16) and always used that to add features and functionalities. Back in 1985, the long awaited release of MS-DOS 5.0 was forthcoming and I couldn't wait to finally get a new OS to play with. Every computer magazine were talking about the arrival of a BASIC language that finally didn't need line numbers (I remember that today, but back then, I didn't really care about the feature, until I had a chance to experience it first hand. First thing I did was take my stock market program I did in GW-BASIC and load it into QBasic. Then I hit F6 and was glad to see it start. Backwards compatibility, what a joy indeed. Then I when through the painstaking experience to go line by line and remove the line numbers and tried to run it again. Needless to say, all my gotos and gosubs went right out the window. So I sat down and looked at the online help file. and learned about Subs and functions. So I took my Gosubs put everything into a Sub, went back and did it again for all the gosubs I had (even back then I wasn't too keep on using GOTO, GOSUB was the messiest I wanted to get in my recipe for spaghetti a la BASIC. That was a good thing when I changed my program to using subs instead of GOSUBs. When I was done, I hit that now classic F5 button to execute it and to my surprised it worked.
My first non financial Game I played was called outpost, you had a grid, and you had enemies coming at your from every angle and you had to choose the right kind of weapon for the right kind of enemy. I liked that game quite a lot and so I decided to create one of my own so that I could add a few ideas of my own. It took a while, but I learned all of my QBasic programming from making that game alone. I enjoyed every single minute of it and right then and there decided that QBasic was going to be my language of choice for my personal projects. So I started getting ideas for new projects (games and others). By the way, I'm sure you've noticed by now that I always liked to play with numbers. It's a bit because when I started learning programming, the books I read didn't really talk about games, the talked about business development. And I liked what programming could do for numbers.
AND THEN THERE WAS THE COMPILER:
When I started in QBasic, I loved the language right away. But of course, I also knew C++ and Pascal and liked the fact that those languages could create EXEs so I didn't have to give the sources away every time I wanted someone to play a game I made. Shortly after I learned QBasic, I found out about the existence of a QBasic compiler. Imagine my joy when I new there was a way to create EXE out of my QBasic programs. $299.95 was the price to get my bas files into exe forms. Ouch no? A big price to pay. But I really wanted it. So I saved up (for half a year) and finally managed to get QuickBasic 4.5. Once I got used to the little discrepancies of QBasic to QuickBasic (even back then I didn't get why they didn't keep the language exactly the same, it didn't make sense to me that you had to change the language in order to make it compilable). But after about a month, I was used to those differences and started producing exe left and right at will.
I started making tools and utilities that I started to distribute to local small companies. I did a cash register program (when I was 19) that the convenience store liked and decided to use permanently. In not so many words, this was my first taste of contractual QuickBasic development and I liked it. This guy at the convenience store was a friend of the family so I didn't charge him anything for it. Who knows, maybe he's still using it today. While we lived there, every time he needed something added, he'd call me and I'd start getting busy throwing in what he wanted added. It was fun to do this kind of thing and so I wasn't planning on stopping this for nothing.
THE PDS AND VB-DOS IT WAS ABOUT TIME:
As I continued to add things to this cash register, no need to say that the program got bigger and bigger and reached a point where I couldn't add anything without getting the dreaded "Insufficient memory" error. I broke the cash register into programs that I wanted to chain together. but when I executed that the first time, it was so slow that I almost thought about rewriting it in Pascal or something. The PDS came out however and they bragged about it being able to make bigger programs with the use of overlays. For the sake of the cash register program, I decided that I would get the PDS because it was the quickest solution to my current problem. After about 3 weeks of moving modules around and deciding which part of the program should go in overlays. I finally made all the changes that the convenience store wanted and went there to install everything and make sure it worked as expected.
The PDS was a great tool to use. You really could make bigger applications or games with it and you could see, back then, bigger applications emerging all over the place. To me, that meant that horizons would broaden dramatically and very different types of games and application could see the light of day because of this. I wanted to make a TUI back then, one that would resemble somewhat Borland's Turbovision library that existed at the time. However, the PDS had beaten me to it, it already had a set of libraries to create windows and menues and dialogs so I wanted to learn how do use that in my programs. Well time went by and I always kept putting that off. Not too long after that, I was hearing sayings and rumors about VB-DOS. I got a copy of it from a friend and got a glimpse of how to create forms with it. I found it so easy that I said to myself, instead of learning how to do things in the PDS, I would just use VB-DOS instead and buy my legal copy if I should decide to sell anything I make out of it. So I was programming sophisticated applications with VB-DOS's TUI designers and forms and always had fun doing that ever since. Still today, I find myself opening VB-DOS and just having fun with using it.
Since then, I've done a lot in many BASIC flavors. I've also done a lot in Pascal/Delphi and C+++ more than any other language. I always thought ALGOL had something different but good to it. So when I learned that Ada was inspired by ALGOL and was a superset of Pascal, not too long ago, I started learning it. Well, that language is unique and very good for software engineers as it incorporates many software engineering practices and strong points right in the language's syntax and design elements. This is when the idea came to make a site about the language. you can see that at http://www.adaworld.com no matter what language I learn though, no matter how good I think these other languages are, it seems I always have a reason to get back to BASIC for one reason or another.