QBASIC Programming for Dummies
I've read countless books and online tutorials on QBASIC, C++, PHP, and other various languages. I'm sure all you wise programmers can tell me the first sample program that comes to mind with any language, can't you? The classic 'Hello, world!' example. This easy app starts off would-be programmers with a level of confidence and understanding. To my surprise, Douglas Hergert decided not to use the ever-popular example program. So, you might be wondering, what did he use in it's place? A four-page-long currency converter.
This was Mistake #1.
The book started off making me feel stupider than I actually am. This oftentimes discourages readers from pursuing, and the book takes to the shelf, perhaps never to be picked up again. I've noticed that the best way to capture a reader's attention (and explain the most) is to start off with PRINT, INPUT, IF...THEN and GOTO. Then move on to loops, and get technical from there. It best prepares the reader for everything in store, rather than making them feel like idiots. The book didn't do this at all. It started off making in such a way that anyone without experience would be completely lost. IF...THEN doesn't even come in until the eleventh chapter, despite being one of the most important tools in the language!
So, what good can I say about the book? Not much, except that it came with some practical applications. This brings up another grievance I have with it, that being the lack of an accompanying disc. I feel every book on programming with long examples ought to come with a disc containing all example programs, so that the reader can tweak and observe them as he sees fit, without typing in five pages of code. The best way to learn is often by example, and discouraging lazy people doesn't help the learning process along.
Alas, the book does contain some humour, as it's other brothers and sisters from IDG often do. With chapter titles such as Text, Lies, and Videotape and How to Manage Arguments and Influence People, a book can't be completely bad.
Although I suggest beginners steer clear of this book, it can be useful to experienced programmers (supposing they don't think QBASIC a waste of time). It goes deeply into data structures, arrays, and databases. There are many helpful features, but it's definitely not a book to learn from.
You can purchase the QBASIC Programming for Dummies from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.
Isn't "QBASIC Programming for Dummies" a bit redundant?
"I can not bring myself to believe that if knowledge presents danger, the solution is ignorance" - Isaac Asimov
Chapter 1: That game where the snake eats the numbers.
Chapter 2: That game where the monkeys throw bananas at each other.
Chapter 3: That game..
Slashdotter are stupid and biased.
Why, I mean, why ?
if it's in a corporate world, flee while it's time
else, why not use python as a first language ? or, Java ?
I mean, you could learn something simple, like, LISP ?
You bought the book so im starting to wonder who realy is the dummy?
Actualy I have read several of those books, the one on linux was a decent read for a noobie.
Go ahead and laugh, but I work for a company that still writes/maintains qbasic software and sells it to unsuspecting clients for $50,000 bucks a pop. I think we need a "software purchasing for dummies" book.
Skiers and Riders -- http://www.snowjournal.com
A review for MS-DOS 5.0? QBasic hasn't been included with Microsoft operating systems since they stopped selling DOS if I am not mistaken.
'Same speed C but faster'
I can't even count how many educational institutions use QBASIC to teach programming. With QBASIC, you can learn the fundamentals very easily, and that is why it is still used. Granted, these fundamentals are being taught in junior high and sometimes at high school. If he is reading about QBASIC he probably isnt a skilled programmer and he is just starting out, and that is what he needs to do, start with QBASIC.
I would feel pretty stupid actually reading a QBASIC book in 2003. Modern programming languages are easier to learn than QBASIC.
In short:
10 PRINT "QBASIC SUCKS"
20 GOTO 10
Want a *good* book on QBasic?
5 56 153406/qid=1055522032/sr=1-3/ref=sr_1_3/002-837483 1-7720813?v=glance&s=books
http://www.amazon.com/exec/obidos/tg/detail/-/1
there ya go.
Running MS-DOS: QBasic by MS Press.
I'm *NOT* a fan of Microsoft, but this IS a well-written book that covers the QBasic language well.
I used this many years ago when I wanted to modify the source code to VirtualBBS 6.12 (Remember that mess?)
"Making your own Apple I keyboard in 21 days"
"Changing Vacuum Tubes in your ENIAC for Dummies"
"4004 Assembly Made Easy"
You know, I've seen many a troll in the comments, but never before have I seen one actually posted as an article.
Real Daleks don't climb stairs - they level the building.
For all those folks ranting at WHY someone would want to learn QBasic, I like to consider myself a QBasic "success story."
WAY back when when I got my first computer, DOS was this wierd arcane alter-world from Windows 3.1, I found QBasic. It CAME with my computer. I didn't have the internet, so free, downloadadable compilers were not an option. For me, QBasic was my only link to the programming world.
I never had a book, btw, so all I had to learn BASIC was a vague memory of LET and PRINT commands, and the help file. The help file was awesome. It is, to date, the only good docs I have ever seen from MS. After 6 years, I could do stuff in BASIC that my friends who started out in Pascal and C++ could not dream of doing. Why? Because their learning curve made it impossible.
Before I found QBasic, I wanted to be a writer or a chef or something silly like that. QBasic introduced me into the programming world in which I can now call myself a professional.
So, I'm going to do something right now that, as a Linux user, I thought I would never do...
Thanks, Microsoft.
In my experience, a far better book for beginners than Qbasic for Dummies is The Idiot's Guide to Qbasic. It is very straight forward and much easier for an absolute beginner to understand.
Setting the Wayback machine a bit further, Perhaps the best "beginner's basic" book that I have ever seen was How to program the Commodore 64 (If you have never programmed a computer before). Although very system specific, it explained concepts like arrays in language a beginner might actually understand.
...when there is PowerBASIC. (www.powerbasic.com)
16-bit 100% compatible DOS compiler...
32-bit Console Compiler and GUI Compiler for Windows. Full GUI programs in less than 2k. VERY fast compiled code, very small, no RTL, compile to EXE or DLL. PowerBASIC is really cool. I use their compilers all the time.
AND they are coming out with a Linux compiler! w00t.
"Close this book and burn it. Go buy O'Reilly's elephant book, and learn PERL instead." :P
Seriously, I learned QBASIC, and it had me so brain damaged for so long that it took me forever to grasp PERL, and I've still never quite gotten Java, even though I took a college course on the subject.
Stay faaaaaar away from anything with the word 'BASIC' in it. You've been warned.
Karma: Chameleon (mostly due to the fact that you come and go).
"This brings up another grievance I have with it, that being the lack of an accompanying disc. I feel every book on programming with long examples out to come with a disc containing all example programs, so that the reader can tweak and observe them as he sees fit, without typing in five pages of code. The best way to learn is often by example, and discouraging lazy people doesn't help the learning process along." Not having a disk forces you to type the programs in. Even in autotype drool mood, you pick up alot more than copying and pasting code and running it. Lazy people wont learn programming by copying and pasting code. They are the type that will read individual words without comprehending their meaning and 'finish' the book, and say they 'know' programming while absorbing mebbe 1% of the material. At least if they have to sit there and type the code, they might pick up something, and when they inevitably make mistakes in copying it, have to figure out how to fix it, which is a forced interactive process that gets the wheels spinning. In a more advanced type book, like a data structures or design pattern type book you can get away with code on a disc, but in a beginner book I do not think it is appropriate.
From SICP:
It is practically impossible to teach good programming style to students that have had prior exposure to BASIC : as potential programmers they are mentally mutilated beyond hope of regeneration. [E.W. Dijkstra]
I'm new to the world of programming...
and the review (also written by HeavyJay) says:
I've read countless books and online tutorials on QBASIC, C++, PHP, and other various languages.
So WTF... you've read countless books on QBASIC, yet you claim to be new to the world of programming and therefore need to read "QBASIC for Dummies"? Something doesn't make sense here...
To within half a percent, pi seconds is a nanocentury. -- Tom Duff
Ummm...I've been involved with more than a few folks spending great chunks of money on software and can't recall any of them ever asking what language was used. Or, frankly, needing to ask. What they need to know is the vendor's track record, financial status, support record, etc. Companies care that problems will be fixed per their schedule, not the language used to code the stuff in the first place. Buying a $50,000 QBasic program is just fine as long as the vendor can provide QBasic coders.
-- Slashdot: When Public Access TV Says "No"
The reason why the did away with line numbers is that they became irrelavant. With QBasic sharing its interface with the DOS Editor, it was just much more logical to assume that the lines were already in proper order rather than have to rely on numbers to sort them. (GWBasic lacked any way to move up and down between lines.)
From there, the only lines that actually still needed their numbers were the lines that were called by name in a GOSUB or GOTO line, and there was no reason to limit the "line number" to numerics so the Line Label of any text you wanted was created instead. QBasic still supported numbered lines for nice legacy compatibility.
Hmmm, although I started out on QBasic, I'm not sure it's the best language to start on today. If you're looking to start with a programming language, I think the easiest semi-modern language would be ASP (not ASP.NET) if you already know HTML or Visual Basic *6* if you don't. Some would argue that VB teaches you the wrong way to program, but I think the basic concepts are the same. Avoid .NET. Although I think its a decent platform, it can introduce some unnecessarily confusing concepts that a newbie probably doesn't care about. If I were you, I would seriously consider a beginner book on Classic ASP. You don't need to know advanced HTML to play with ASP output (in fact, most of the books will tell you all the HTML you need, and ASP doesn't HAVE to output HTML, just text), and you will sort of be killing two birds with one stone (HTML + scripting). Plus, some would argue the web is the platform of the future anyway.
Personally, I would go with delphi or with Java as a first language. (Delphi has all the structure of Pascal, but you can actually use it to do stuff... IMHO Java is not as good a language as delphi for learning, but is *almost* as good, and better paid.)
I would leave anything with Basic in the title, C, C++, or Perl to later. i would leave Visual Basic to never (I'm using it at the moment, and i'm looking for another job, Just to get awat from VB6).
"As a writer / novelist you might want to spellcheck your sig.
Tip: don't cook the macaroni in beer, but use the beer in the cheese and dairy mixture. Just heat it up in a saucepan (you can do this in the hot saucepan you just cooked the pasta in) and you have an excellent beer-cheese sauce. Reduce the amount of other liquid, of course, or your creation will be runny.
Stronger beers work better. Pretend pilseners like Bud will not be so good.
Remember: don't play with cheese sauce powder near an open flame. Unless you know what you are doing. And like setting things on fire. And second-degree burns. But only then.
-- clvrmnky
Stay faaaaaar away from anything with the word 'BASIC' in it. You've been warned.
Where were you when I was 10 years old in my hobby shop buying my first Dungeons and Dragons set?
"Accept that some days you are the pigeon, and some days you are the statue." - David Brent, Wernham Hogg
The author claimed that it wasn't a QBasic application, but the error messages when it crashes tell a different story.
The QBasic integrated editor was a real joy, and it's hard to find a good, lightweight equal. Python is too big, C++ lacks the "fun" factor...
Lua with the SciTE editor comes close, if only it had builtin help.
I only stopped using QBasic after repeatedly running into the 32K memory barrier. I moved to Euphoria, a nice interpreted language. I missed the QBasic editor that I ended up writing a clone for Euphoria.
Heck, QBasic left such a mark that I ended up writing a Basic interpreter of my own.
You italicized grok because it is a Martian word?
There are no trails. There are no trees out here.
Don't mess around with any variety or descendent of BASIC as a learning language. You've got one thing right: it teaches you the wrong things to do in a lot of ways. It will only add confusion when a programmer goes on to more complex (perhaps the wrong word here) languages.
:-)
So, I suggest C++. That may sound appauling at first to some, but here's why.
Programmers absolutely have to know how to work with memory. It's a fact and it's one I think will never change, no matter how abstracted or garbage-collected languages become. You might suggest using C, but I think that's a bad idea for two reasons. The first I'll describe here: it's a little too hard. You want programmers to learn the hard stuff, but not too fast. new and delete are clearly not as powerful as malloc and free, but they do basically the same thing: allocation and deallocation of memory. The former two are easier to use at first and more intuitive to the programmer, especially when dealing with objects. The second reason for not starting on C comes in my next point.
We live in a world of objected oriented abstraction. It's essential for the development of a lot of modern software, particularly anything that exhibits a sophisticated user interface. Classes are not particularly difficult to learn with C++ and C lacks object oriented programming altogether (well, for the most part). Once you know C++, the object oriented programming skills obtained can be passed on to a number of other languages, including Java with very little relearning.
C++ is more relevant by far than *BASIC. Aside from skills developed while learning it, the language is self is widely used and has a relatively small learning curve. *BASIC may or may not be much easier to learn, but that's irrelevant because it is very rarely used. You wouldn't bother learning *BASIC for the same reasons you don't really bother learning COBOL or Pascal these days. I'm not saying they're lousy languages, just not particularly useful. (You could argue that VisualBASIC is used a lot. May be true, but usually only for RAD throw-away applications or application prototyping. It's piss-poor for anything serious.)
Of course, you could also argue that CS should be taught the same way as CE: learn why the tiny pieces work, then learn how to use the tiny pieces, then learn how to use complex pieces made of tiny pieces, and so on. In that case, everyone needs to learn Assembly first then move to higher level languages one at a time. That is another discussion altogether, but it contradicts learning *BASIC first.
Join Tor today!
If you get QuickBasic 4.5, it comes with a reference book. This book kicks mucho ass. Any other book on QBasic or QuickBasic is simply redundant, because that reference book had anything and everything you ever needed or wanted to know about the language.
..was so much closer to the metal.
And it's a good read. I remember a track meet I went to in elementary school, where I spent at least half the time reading that book..
Incidentally, QuickBasic 4.5 has amazing online documentation. Anything and everything about the language is documented in there. Very useful.
If I were you, I'd go looking around for a used copy of QuickBasic 4.5, and make sure you get the ref manual with it. It's definitely a worthwhile investment, for someone who's just learning, and for anyone who wants to actually do something with QuickBasic.
For those of you who are wondering "why the heck would he choose qbasic," let me just say this in qbasic's defense. It really is still the best language out there for the average beginning programmer. QBasic's included with all the early Microsoft OSes, so it's on all the old hand-me-downs from yesterday. And it's fun.
I'll always have a soft spot in my heart for QB. I've used Borland Pascal, which was amazing, but flawed in it's graphics. (BGI was a pain in the ass; everybody wrote their own graphics lib instead.) By comparison, QB's elegant..
SCREEN 13
CIRCLE 100, 100, 50, 3
Ah, QB.. *sigh*... You were the perfect language, at the time..
It most certainly is not redundant.
One line.........
10 OPEN "COM1:" as #1
explains it all. For RS232 work, QBASIC is gold standard for me.... For exerything else.. Forth baby!!!!
Excuse the Unicode crap in my posts. That's an apostrophe, and slashdot is busted.
QBASIC was my very first introduction into programming. So long ago, I was on my 286 with MSDOS 5. Couldn't do a whole lot with my computer, it was purchased like so many computers with the intent by my parents to type homework for school, and a hidden agenda to play games for myself.
.exe files, wondering what the hell all that garbage meant. For the longest time I thought that there was some actual logic to t he garbage I could interprete and use. After a few weeks though, I learned about source code, compiling, etc. I started playing with QBASIC, but the bundled one with MSDOS 5 would only run the applications, not compile them to native bytecode. Wasn't long, I nabbed a copy of QuickBasic from a friend, and I was compiling little role playing games and other applications.
Of course, I wasn't playing a whole lot of cool games on my 286 with a 10 meg harddrive, and 1 meg of RAM. So I just played around with MSDOS, tried to figure out how it worked, how programs worked. I started just editing
I took a Pascal class in 9th grade, and quickly found my calling. Not 2 weeks into the class I was learning how to write x86 assembly using the asm { } calls in Pascal, and inline() code as well. I had cool text fading effects and smooth scrolling, etc. And no, I wasn't learning it from the teacher, they were still on println, I was learning a good bit on my own. Turbo Pascal 7 had a pretty decent help system. I used Pascal quite a bit, especially in the BBS scene, as it was the programming language of choice for BBS software and doors, Telegard, Renegade, Iniquity, Oblivion/2, TriBBS, all written in Pascal. By this time I had moved from MSDOS 5 to OS/2 Warp 3. I was running a telnet BBS software using some of dink's software to create the TCPIP->Fossil emulation. Those were fun times, before the dot coms were stealing money from investors and before we had big government enacting foolish laws.
I then came across Linux. It was a 1.x version, one of the early Red Hat distributions. Just like today, it was crap. I quickly picked up the SAMs (or maybe QUE) Slackware book that had a CD of the distro on it. I found myself a platform I could start learning C on. Once I got into Linux, a whole new world opened. C, shell scripting, Perl, eventually PHP, I started into Java, and so on and so forth. And the learning never stops. Good times, good times.. Now I have to worry if something I program will be used by terrorists and I'm going to end up in jail for "aiding" terrorists, facilitating the spread of MP3s, or other Copyrighted programs. I miss those days.
..There's a-dooin's a-transpirin'
QBASIC, Programming for Dummies
When I first started learning to program QBASIC, I too had the Dummies book and found it nearly worthless. I actually ended up accidentally leaving it on a plane and didn't even care :). Afterward a friend recommended the "Absolute Beginner's Guide to QBASIC" which is now out of print and hard to find, but if you locate it it's an awesome tool for learning the language.
Rock over London, Rock on Chicago. Wheaties: Breakfast of Champions.
But BASIC is really awkward if you want to write structured, maintainable large programs. The largest Qbasic program I have ever written during the one or two years was about 5kB in source code.
Then I learned Pascal at school, and got hold of a copy of Turbo Pascal 5.5. In a month I switch to Pascal exclusively. Anyway, the programs look cleaner (well, clean for a kid's code, still much uglier than most OSS code or Borland's examples) and doing pretty graphics is just as easy. What's more, it is a compiled language, so it is a ton faster than Qbasic, and the Turbo Pascal compiler really lives up to its name, about 500-1000 lines/second even on a 386DX/40. I wrote quite a few 20kB+ (in source) programs doing various actually useful things. The biggest one is a complex RPG-like game, which is about 70kB in source code.
C was a hard language to learn by oneself, and although I spent quite a lot of time trying, I couldn't quite grasp it until it was taught in college (about 1999). Also, in DOS it is pretty easy to lock up the machine by using pointers incorrectly, which is scary, while in Pascal pointers are only occasionally necessary and there is range checking and stack checking, so bad things don't happen that often. However, comparing to C, Pascal's syntax looks awkward and verbose. In fact, C is also quite verbose, but the verbosity is about telling the machine the details about what to do, while Pascal's verbosity such as BEGIN and END doesn't mean anything. Also, when using complex data structures points should be used anyway, and Pascal's syntax IS awkward (type PFoo = ^TFoo...). So, since 1999, when I finally grokked C, has MSVC on Windows 95 and GCC on Linux, I dropped Pascal almost entirely.
In the last four years most of my programming are done in C, and most of the code is quite clean. I learned C++ too, but I didn't use it much because OOP was never really necessary for me, and I like Java better anyway (C++ has so many pitfalls, hides low-level details and makes debugging of pointer errors difficult, and there's too many ways to do something). I have tried Smalltalk, Ocaml, Lisp, Perl, Python too, but mostly just for small programs. For a long-time C programmer, It is hard to find a compelling reason to use something other than C (and Java) for a medium-sized project.