16 ms·
QuickBASIC Lives on with QB64
- randomerr 9y agoI've used the QB64 for a few projects that extended old stuff I had done. But I've had some stability issues with the interface and applications. That was a few sub-versions so that may have been fixed. I've had really good luck with FreeBasic. It supports classic QBasic as well as a lot more new commands, libraies, and is more modernized. You can also compile Windows, DOS, and Linux binaries. The drawback is that it doesn't have it's own GUI and is a bit harder to set up. https://www.freebasic.net/ https://www.freebasic.net/
- _sdegutis 9y agoMy experience with FreeBasic was about 15 years ago so things may have changed, but it had Allegro or SDL built in and was very easy to use to make little video games.
- versteegen 9y agoAs a heavy FreeBASIC user for 13 years, I like to describe it as a subset of C++98 with BASIC syntax and decent builtin strings. Unlike C++ it compiles very quickly, and if you want faster code, it can emit C code and compile via gcc. the very nice fbfrog tool automatically translates C headers to FB headers, so you can use almost any C-compatible library and do almost anything you can do in C. Using it like C is not necessary a good idea. Compared to all other BASIC dialects I've tried (which doesn't include VB), it seems better engineered. Compared to C, the main drawback is the immaturity of the compiler, and error messages are often poor.
- dvfjsdhgfv 9y agoBASIC is a rediscovery of last months to me. As "most programmers" I classified it as a language completely unfit for any serious work. It turns out there are quite a few successful and popular projects using BASIC for specific applications, such as micro-controller or mobile programming. I had to deal with some internal barrier to give these projects a try.
- reaperducer 9y agoFor the last few months I've been looking back at old computer magazines from the 70's and early 80's, and it surprised me how much heavy lifting was done in BASIC. Today, BASIC is looked upon as a children's language. But back then, it was widely used for serious work. I can think of a few reasons why: - It was available on pretty much every platform - It was usually built-in to the computer, so there was no extra cost - If the program you wanted wasn't directly cross-platform, the syntax was close enough that you could figure out the differences and adjust it to work on your machine - Most consumer and small business computers didn't have the horsepower to compile FORTRAN or Pascal or COBOL. There are probably others, but from what I've been reading in the old mags, those seem to be the big selling points.
- aidenn0 9y agoThe first 2 or 3 Ultima games were written in basic as well.
- cr0sh 9y agoThere's still a ton of BASIC code being used and maintained today. Most of it by businesses. Back in the day (70s and 80s) the class of code was known as "Business BASIC"; tons of compilers and interpreters geared for business use were available on all computing platforms (IIRC, there's a version of BASIC for the Cray supercomputers of the day). One very popular variant that's still sold and used today is/was known as the PICK system. It's based around a "multi-value" relational database structure (which is pretty cool all on its own - data is stored in "cubes" - rows, columns, then within each "cell" can be further dimensional data). It's main "claim to fame" was a certain level of interpreter compatibility - code from one vendor could be run on other vendor's products. PICK Basic compiled down to a bytecode which was run by an intermediate "interpreter", which was a kind of virtual machine. The bytecode looked a bit like assembler (and could be coded in directly if you really knew what you were doing). There were even a few companies that made hardware CPUs that could run the bytecode directly (instead of thru an interpreter VM). Think of it as Java before Java was a thing. There also was (is?) one of the major industrial robot arm manufacturers who sold a version of BASIC geared toward programming their robot arms; I imagine that some of that is still out there running in the "wild".
- ssharp 9y agoThe first "useful" program I ever wrote was in QBasic. In 5th or 6th grade (can't recall which), for spelling assignments, we'd be given a list of words and we'd have to write them 10 times each. I asked the teacher if we'd be allowed to type the list and print them out and she agreed to it. I hacked together a little program where I'd type in a word and then it would automatically print out 10 copies of it to my dot matrix printer. When I first started, I really had no idea what QBasic even was. I think I was just poking around the DOS file system one day looking for EXE files and found it.
- laumars 9y agoI love it when the effort put into being lazy is greater than the effort required to do the job in the first place. For what it's worth, I've fallen into the same trap many times myself. Related XKCD: https://xkcd.com/974/ https://xkcd.com/974/
- ssharp 9y agoI think with programming there is so much value to just trying out different things because you're constantly learning that this effort isn't necessarily wasted. Some people probably learn by working on meaningful projects, others (like me, apparently) are just trying to get out of doing something they don't want to do. Or maybe I'm just justifying being lazy!
- Jtsummers 9y ago"We will encourage you to develop the three great virtues of a programmer: laziness, impatience, and hubris." -- Larry Wall Myself and many others I've met who took up programming independent of their college degree seemed to have started because of laziness and impatience. We wanted something done, but we didn't want to do it manually (or all the work manually). My first real programs in high school were solving data analysis problems for my science classes and automating a survey that I was using for a science fair experiment.
- laumars 9y ago
- cat199 9y agoI could write simple code and compile it into an .exe, Any one care to explain how this was done?? I remember trolling BBS's as a youth attempting to learn how to do the same thing, to no avail...
- zincwar 9y agoYou paid money for the commercial version of QuickBASIC and you clicked the compile button. The free version of QBASIC that comes with DOS didn't have a compiler.
- pidg 9y agoThere was a 'Compile' option in the File menu. You might be thinking of QBASIC (which came bundled with DOS), which wasn't the same as QuickBASIC (a commercial program). When a friend first gave me a floppy with QB45 on it and I discovered I could now compile my QBASIC programs it was indeed a magical day.
- evanpw 9y agoQBasic was the free version included with DOS and was only an interpreter. QuickBASIC was the full commercial version which included a compiler.
- psyc 9y agoI don’t remember the details, but QB was an IDE with compiler, like any IDE/compiler suite. Building an exe was a menu command, I think.
- blattimwind 9y agoYou could generate a stand-alone exe, which contained a copy of a VM, or an exe which required BRUN45.EXE to be present, which was the VM. The advantage of the latter option is that you save a lot of disk space (iirc like 40 kB) for multiple programs, since you only need to have a single copy of BRUN45.
- psyc 9y ago
- pidg 9y agoFor anyone who remembers the magic of compiling QuickBASIC programs but never experienced Visual Basic for DOS at the time, I highly recommend tracking down a copy and having a play! It's really special - visually editing forms/controls in text mode is great fun.
- 0xFFFF0000 9y agoThis is neat - remember using QuickBasic back in the day. Fun times. I really wish Visual Basic would be open sourced from Microsoft, so the community would revive it. I still have fond memories programming with VB and the productivity it allowed - it had it's issues (oh, man...) but also made programming accessible.
- snuxoll 9y agoQBasic got me interested in programming, I owe a lot to it even if by modern standards it's a pretty terrible language. VB6 is dead though, everyone wants COM to die so even if MS open sourced it there's no real reason to continue putting effort into it. There are alternative that work reasonably well though, like Gambas (open source).
- cr0sh 9y agoActually, it's debatable on whether VB6 is "dead". Certainly not sold any longer, but Microsoft keeps including the runtime DLLs in Windows; they still exist in Windows 10. The main reason is the sheer amount of software out there that businesses rely on to run their business, which they might not even have the source code to. Those that do have the code do hire people to maintain and extend the applications (shades of COBOL there). It wouldn't surprise me to find out that new VB6 applications are being created - lots of people love it and loved using it (though I personally preferred VB5, because the compiler was separate from the rest of the system and could be used at the command line). VB.NET was widely viewed as a travesty to the language; some moved to C#. What is strange is how few of these programmers seem to be aware of Gambas (and similar "VB-like" languages). I moved away from Windows at home in 1995 and move on to Linux; over time I became aware of other BASIC programming languages, but I moved away from BASIC as well, though it will always hold a place in my heart, since that's what I started out with.
- pjmlp 9y agoVB.NET is widely used in life sciences labs, where most of the systems are Windows machines connected to devices like this one. https://www.biotek.com/products/imaging-microscopy-cell-imaging-multi-mode-readers/cytation-5-cell-imaging-multi-mode-reader/ https://www.biotek.com/products/imaging-microscopy-cell-imag... So researchers already used to VBA, usually get IT to install VB.NET and go from there. However I have started to see a trend of them moving into R.
- ubermonkey 9y agoWow, I had totally forgotten about QuickBASIC. It came slightly late for me -- I cut my teeth on line-numbered BASIC in ROM on TRS-80s, and by the time of QB I was firmly absorbed into the Borland world (mostly Turbo Pascal and Turbo C) -- but folks who came slightly later to programming that I knew loved it. I'm glad it lives on!
- peterclary 9y agoHappy memories. I wrote a MUD engine in QuickBASIC 4.5 (back in 1988 or 1989 I think) which ran on a Compaq 486. I wrote the engine, while my friends did the world building. It was hosted at a system in the UK called IOWA. They had a really neat multiplexer “front-end” with lots of serial ports. Each host spoke to it using a custom protocol over a 19,200 baud serial connection. Other serial ports were connected either to modems (they had 10 phone lines IIRC) or to internal terminals. I progressed to C and C++ pretty quickly afterwards, but writing (and re-writing and re-writing) this MUD engine in QB45 was a formative experience in my teens.
- rlopezcc 9y agoQBasic was my first programming experience. Back in 2008 I bought a computer for 50 uruguayan pesos (around 2 dollars), Pentium MMX and 32MB of ram. It didn't boot W98 because the hard drive was corrupted. It did load MsDOS and I found Qbasic using the help command. I didn't have internet so I used to go to the internet cafe with a floppy disk and download tons of tutorials in plain text to read with EDIT.EXE Now I've been working as a software developer for almost five years and love it, all thanks to QBasic and that old cheap computer.
- taneq 9y agoLikewise, my jump from the HP calculators' built in language was QBasic. And then, when it wasn't able to plot a Mandelbrot set fast enough (on a 486DX-33), I tried FastBASIC which was about 10x quicker - and that's how I learned the difference between compiled and interpreted languages.
- andrewcarter 9y agoMe too! I love QBasic so much - totally wouldn't be where I am today without it. I met a kid at summer camp when I was in middle school who told me he made his own games and fake computer viruses to scare his parents in Quick Basic. He mailed me a floppy disk with Quick Basic on it once we were home and I've been in love with programming ever since. It's was the perfect first language. It's so easy to play little sounds or draw graphics, and the environment is basically non-existent so setup is easy. So much fun!
- merolish 9y agoVery much agreed on the ease of graphics and sound, and its influence on me as a student -- I wrote a version of Pong in about 250 lines back in the 90s. A single line of music was as simple as PLAY and a string language to specify duration and pitch. SCREEN followed by LINE/CIRCLE/PAINT and you had graphics. GET and PUT gave you sprites. Some of the fine people on Prodigy provided their amateur games and tutorials. If there's a modern equivalent I'd be interested to know.
- 9y ago
- donatj 9y agoI've had a lot of fun reminiscing with QB64, it plays most of the games and demo's and junk I wrote as a kid perfectly except the ones that have music.
- jamesgeck0 9y agoUsing QBasic with the RadioHands tutorials was one of my first times programming, and also my first exposure to assembly. http://www.petesqbsite.com/sections/tutorials/tuts/vicstuts/ http://www.petesqbsite.com/sections/tutorials/tuts/vicstuts/
- hateful 9y agoMy first programming experience was on my Atari XE. It would run 2600 games, but if you didn't put a game in it would come up with BASIC. I didn't have the optional floppy drive, nor did it have a hard drive of any kind, so when the computer shut off, my program was gone. I used to LIST and write the programs into a notebook and give hell to my mom when she would turn off the machine while I was at school (I was 9). Years later I got an old IBM PC JR with a Cartridge version of BASICA. That had a floppy drive (the 5.25 ones that were actually floppy) and I was able to save my programs. I wrote a few simple games. At this time, the Pentium had already come out, I had just been playing with older machine. My next machine was a Pentium 75 Mhz with 16 MB of ram (which I eventually upped to the max 128 MB). I got my hands on a floppy drive and brought all my code over and opened it up with quickbasic. Unfortunately I had been relying on the CPU timing and all my programs were way too fast (e.g. the pong paddle would move instantly to the other side of the screen). And it wasn't until about a month in that I had realized (being self-taught, sometimes you miss things) that the line numbers were optional. I could create functions! The rest was history.
- cmrdporcupine 9y agoXE did not run 2600 games.
- aidenn0 9y agoBut it did run 400/800 games, which is probably what the gp post is thinking of.
- hateful 9y agoYeah, that's right it ran those other games. But the name Atari 400/800 doesn't sound familiar for some reason. Maybe there was another name for it at the time. I was 9 at the time, so I don't remember exactly. I do remember playing Bug Hunt, Dig Dug, Missile Command (built in), Arkon, Lode Runner. I was never able land in Flight Simulator II. I should go find an emulator and try now.
- 9y ago
- pjmlp 9y agoQuickBasic was nice, but I was more fond of Turbo Basic, but Borland ended up killing it. Ironically Microsoft did the opposite, they killed Quick Pascal.
- interfixus 9y agoActually, they sold it off, and eventually it became PowerBASIC. That was my starting point too, after some dabbling with Oric, C64, and GW-BASIC/BASICA. Nice little environment, though I wasn't all that impressed with the size of of the output executables - over 30Kb for a raw Hello World program.
- pjmlp 9y agoAh, thanks for the clarification. I lost track of it.
- jlebrech 9y agomaybe we should have something like basic for lambda, but i guess lua fulfills that criteria.
- jupiter90000 9y agoLike alot of others are saying I first programmed in basic. My dad had gotten a Tandy 1000 that we all played games like King's Quest III on. I wanted to learn to make my own games and he showed me how to do some simple things in basic. I can't remember if QBasic was included or I later obtained it somehow but ended up using that down the road. As time went on I moved on to C programming with DJGPP and Allegro to work on games with my brother (I think that was in the 90s). But QBasic will always hold a special place for me because I learned beginner programming principles by just playing around with it. What are kids today using to do this kind of 'make my own tinkered games' stuff -- do they go straight to Unity, or still something like QBasic?
- Momquist 9y ago> What are kids today using to do this kind of 'make my own tinkered games' stuff -- do they go straight to Unity, or still something like QBasic? Python, with pygame, is the modern equivalent I think. It's relatively easy and straightforward for beginners, free, and very popular (lots of resources, tutorials, etc...). https://www.pygame.org/news https://www.pygame.org/news For something more advanced but still python-ish, there's also Godot, which is a real engine and adds a visual IDE to game creation. Quite easy to install/setup too (everything comes in 1 file). Overall a very cool project. https://godotengine.org/ https://godotengine.org/
- nickpsecurity 9y agoI also started with BASIC. Easy to learn/read/write, compiled ultra-fast, ran fast, crashed less than C, and had p-code for portability. Great stuff for beginner. Anyone wanting an open-source solution for that should check out FreeBASIC which was simple to setup and use last time I tried it: http://freebasic.net http://freebasic.net GAMBAS is another for Linux that reminds me of VB6 a bit: https://en.wikipedia.org/wiki/Gambas https://en.wikipedia.org/wiki/Gambas Wikipedia also has a list of BASIC dialects which shows possibly full range of what was tried in BASIC variants on what platforms: https://en.wikipedia.org/wiki/List_of_BASIC_dialects https://en.wikipedia.org/wiki/List_of_BASIC_dialects There's a number of proprietary, cross-platform BASIC's still being sold and updated that illustrate a demand for its advantages. Main one being it's close to pseudocode in readability. BASIC also got some attention for game development with dialects developed specifically for making that easier. Only one I can remember looking at was DarkBASIC. It's FOSS now under MIT license.
- IWeldMelons 9y agoIn my part of the world GW BASIC was more popular.
- Yhippa 9y agoInteresting comment in the article about how VB is still being used in some organizations. One company I worked for ran some critical business processes in Excel + VBA. I hope they've moved on from that. I imagine there's a lot of that lurking in Fortune 500 companies.
- astrodust 9y agoKeep hoping and hope harder.
- BeetleB 9y agoIn engineering companies, Excel + VBA will never go away. Most engineers who are not CompE or CS folks really do not want to program. Excel is powerful for nonprogrammers, and the allure of automating some of it with VBA is almost impossible to resist. Excel gives you a platform where you can feed in numbers, do some calculations with a click of a button, and produce charts - all in one file. And it's trivial to tweak if you need to change something. An engineer with little programming knowledge can be "operational" quickly, and the "tool" is safe to pass around to customers. I had to live with this for a few years and hated it. Fortunately, the Ipython notebook (now Jupyter) and Pandas came along, and to some extent I managed to stop using Excel.
- raverbashing 9y agoImportant question, does it run edit: gorilla.bas? QBasic was a good upgrade from BASIC from 8-bit machines. Still, it is limited. VB then brough its power to Windows, it might have had a lot of quirks, but it was a good prototyping and RAD tool
- crtasm 9y agoAre you thinking of gorilla.bas ? I was reminiscing about gorillas, qbasic and nibbles.bas just a few days ago. edit: yes! QB64 comes with Gor64.bas: https://en.wikipedia.org/wiki/Gorillas_(video_game) https://en.wikipedia.org/wiki/Gorillas_(video_game)
- jamiek88 9y agoRejigging the gorilla.bas code is what got me from BBC Basic to Quickbasic and into PC's. There was one PC in our school, it was just when CD-ROM's came out. Encarta of course, but we figured that we could get it to play audio CD's too - until we got one stuck and got in trouble.
- rekado 9y agoHere's the QBasic code for one of the first complete games I wrote in the 90s: https://git.elephly.net/?p=software/windelprise.git;a=summary https://git.elephly.net/?p=software/windelprise.git;a=summar... I remember spending many days as a kid at my IBM PC to finish it. By the time it was ready everyone else in the family already knew all the solutions to the puzzles, of course. (I haven't tried running it in QB64 yet.)
- ErikAugust 9y agoA QBASIC/DOS inspired Bootstrap theme - https://github.com/kristopolous/BOOTSTRA.386 https://github.com/kristopolous/BOOTSTRA.386 We modified this for our project ETHDenver hackathon last weekend - a Drugwars-inspired cryptocurrency trading game: https://www.cachethegame.com https://www.cachethegame.com
- TallGuyShort 9y agoI found a book on BASIC in the school library when I was 8, and my brothers showed me how to use QBasic to run the examples. Then I got one of my friends into it. We made a bunch of programs and games - even got one of the younger classes at our school to use a math game we made. Now we both have really successful, fulfilling software careers that started very early. Years later my school library had a sale to purge outdated books, so I went back to see if I could grab that first BASIC book I brought home: it now sits on my bookshelf to remind me what a big difference it'll make if I teach my kids cool stuff outside of school.
- deleted 9y ago[deleted]
- yters 9y agoGave me my first exposure to software piracy. I wrote a skateboarding game in QBasic, sold it to a kid at school for 10 pence, and soon after all the computers were running it.
- cr0sh 9y agoFor those that want a great "period" archive of BASIC code (not just QB!) - check out the ABC Packet archives: http://www.phatcode.net/downloads.php?id=204 http://www.phatcode.net/downloads.php?id=204 I have a few pieces of code in the archives (and scattered on the net - funny to see my name from back then); there's a ton of stuff in there, that can really show off what was possible back then.
- ender672 9y agoYou can run the original QBasic on your browser at archive.org: https://archive.org/details/msdos_qbasic_megapack https://archive.org/details/msdos_qbasic_megapack It comes with a large collection of games & demos, including the gorilla game.
- mgeorgoulo 9y agoWhen I was little, my dad had a DOS PC in his office. I remember writing a quadratic equation solver in QBasic. It was so unbelievably fast compared to struggling with pen and paper. Truly magical!
- deleted 9y ago[deleted]
- cabaalis 9y agoAs my profile says, qbasic has a special place in my heart. I spent many, many middle school hours and late nights in it before learning c++ in high school.
- jadbox 9y agoI recently was able to recovery a floppy that had almost 100 programs I wrote in QBasic when I was a kid. There was something magical being able to command a computer so easily that's hard to appreciate today. Often the simple magic of programming is cluttered with so much independant tooling that lack a simple cohesive experience, although there are benefits to use small small tools over one monolithic toolchain of course. Just yesterday I spent an hour trying to hunt down a JavaScript webpack build issue that has nothing to do with the actual code. It's a fact of life now, but there's a part of me that misses the one-in-one integrated experience. However, I don't miss Basic as a language... so very limiting and often forces you to not follow DRY principles.
- ConcernedCoder 9y agoPeople will laugh, but I used QuickBASIC and 486's to build and launch an auto auction in Las Vegas in the early 90's... Built a file-based system ( a database really ) to hold car data and allow searching ( index files... ), printing of invoices... you name it... it really was a full featured, easy to use "language" and much more.
- thom 9y agoDespite the enormous welling up of sentimental joy I feel whenever QBasic is mentioned, on a more professional note I still find it incredible when I meet a programmer that goes through their days without breakpoints, or an interactive debugger, or a REPL/immediate window to try stuff out, or the ability to jump to the definition or docs (in hypertext!) of a function. Heck, I know some R programmers that don't even know they're allowed to write their own functions.
- grafelic 9y agoAn Argentinian wrote a MMORPG in QBasic/QB64. http://www.indiedb.com/games/guerreros-qb http://www.indiedb.com/games/guerreros-qb In itself a daunting task, considering the choice of language it is really impressive.
- adaven_xt 9y agoAs a kid, someone gave me a subscription to "3-2-1 Contact", a children's science magazine. Towards the back there'd be 1 or 2 pages of source code for a "game" written in BASIC. The one that still sticks in my mind was a a text-only downhill derby where you selected from a couple options for hill steepness, axle lubrication, and maybe car shape, and it would return how fast your car completed the race. There might have been fewer than 50 lines. I didn't even have a computer at the time, but I was hooked. The magazine format changed a couple years later, and they stopped including programs. But when we started using computers at school, I remembered the instructions for accessing BASIC on our Apple II's, and thus me and my friends were introduced to programming.
- anta40 9y agoOK, I just gave QB64 a try. Compiling a single line of: print "Hello world" took more than 1 minute, the result is a 1.4 MB exe which launched its on window and displayed "Hello world". The very same code, compiled with FreeBasic: much faster, much smaller, and a real command line app. Hmmm....
- Falkon1313 9y agoWhat strikes me is that back then we largely did the same things that we do now (run businesses, play games, manage personal data like calendars, notes, and contacts) with a fraction of the capabilities that modern hardware and software provide. And it was much simpler and easier to get into. You could really only count on someone having an 80x25 text display (usually 16 color but might be monochrome), a keyboard for input, and a floppy drive for storage. Once you learned to do 4 simple things - position a cursor, print text, read keyboard input, and read and write to the drive, you could do almost anything that any professional software could do. There might be a parallel port with a printer or a serial port with a modem, so learning to read and write those ports gave you more options, but again that was simple. None of that required frameworks on top of libraries on top of dependency managers on top of package managers. You didn't need to memorize a 7000 class object inheritance hierarchy. Just a few simple statements and concepts that all easily fit in your brain at once with plenty of room left for working on the actual program. Of course, you couldn't watch streaming videos while chatting with people online in another window. We've added a lot of complexity for the sake of GUIs, multitasking, media, and networking, and in the process killed the ability to learn or do anything simply.
- jonplackett 9y agoThis was my first language too. I remember sitting there all night when I was about 8 years old writing my first game - Dancing Dobbins (a horse racing and betting game). I had to manually draw each horse line by line and the refresh rate was appalling as they flickered across the screen. It got gradually more elaborate and foolish as I added features like horses going mad and attacking each other. I so wish I had the original code but it died along side the cutting edge 80meg hard drive.
- exikyut 9y agoDo you still have the HDD? Define "died". The platter(s) might still be okay.
- deleted 9y ago[deleted]
- opensourcenews 9y agoI got my start with programming in QBasic. Now I work at a Prominent North American Enterprise Linux Vendor. FWIW I don't write much code that gets merged into anything important, but I wouldn't be working in the tech industry at all if it weren't for the curiosity QBasic sparked in me twenty years ago.
- MichaelMoser123 9y agoTIL that Qbasic has structure types (user defined types) https://en.wikibooks.org/wiki/QBasic/Arrays_and_Types#User-defined_type https://en.wikibooks.org/wiki/QBasic/Arrays_and_Types#User-d... If it had functions as values then it would have had object based programming. i think the good part about basic was that it supports both unstructured programming with goto/gosub (gets you going quickly) and structured programming (if you don't use goto/gosub and write functions). Maybe we lost this multi paradigm aspect with later (more powerful) languages. That may have been because of Dijkstra and his 'goto considered harmful' rant : authors of programming languages do not like to support the unstructured paradigm out of fear that they will be taken as a not-so-serious-programming language. Somehow they did not take notice that unstructured programming is quite good as a teaching method and that one can choose not to use goto when it is available. I really don't think that it is such a strong habit that is impossible to unlearn. It is far easier not to learn how to program at all...