Pete's QBASIC / QuickBasic Site
petesqbsite.com
petesqbsite.com
I struggle to conceptualise a modern form of it - something that's perhaps a cross of Hypercard, Visual Basic, and Unity.
I remember a version of MS C in the late 80s coming with 5,500 pages of printed documentation! And it was easy to find what you needed
Sadly today with (internet) online documentation things are still not as good - even if often there is more information, it is scattered all over the place, often repeating (parts of) itself and slow to find and access. The main reason why i prefer to have a WIN32.HLP file from (i think) some Borland product whenever i need some Win32 function than search Google for it for MS Docs (the test is 99.9% of the cases the same anyway). Also why i have Zeal[0] installed with the docs of a few things i use and i download offline copies of whatever specs and documentation i can find for other things.
But in terms of help systems, i think CHM was the peak (in terms of functionality - the HTML-based content is a bit of unnecessary overhead and something like HLP's hypertext should have been good enough, but Microsoft wanted to shove IE4 everywhere so they can claim it was an integral part of Windows 98 back then).
GW-BASIC (no built-in help, incompatible with most library books, no real editor: hard for a kid to teach themselves from nothing)
-> QBasic (Help! Graphics programs that crashed didn't leave you in graphics mode! Proper editor!)
-> QuickBasic (bigger programs, compile to .exe)
-> Turbo Pascal (help, compile-time errors, programs ran fast in comparison, proper modular code, good editor (great in 6.0), advanced graphics (for the time) totally within reach, and that's where a lot of high-school lunch hours went).
Once Windows started to catch on, Visual Basic and Delphi (both had integrated help), then C++ (though I'd done some of that in DOS too, with Turbo C++).
Integrated help systems were almost essential before the internet, and Microsoft and Borland did them well.
I do agree that a lack of both, however, is crazy to think about. Yet I hired a developer not long ago who did basically that while shopping JCL Cobol for a student loans company.
Can also be a ward against the insecurity of unknown unknowns - where there's a lot of moving parts and the problem isn't well isolated (we'd all like it to be, but maybe previous developers didn't design the system like that) or the OS or one of your libraries is betraying you.
I think there's a kind of reverse Amdahl's law at work here. Situations where there is a nice clean crash into the debugger that tells you what's going on are easy - so they don't take up much time. Situations where that doesn't work take much longer - maybe the problem doesn't replicate when you're using the debugger. And there have been situations where simply doing the data-gathering to establish that a bug was real consumes weeks. My own personal one of those was missed touchscreen events; because they were so infrequent we eventually had to set up a robot to press the screen 10,000 times, resulting in 9,999 touch events, and record a huge amount of data up and down the stack in order to work out what had happened.
And I don't think it's heresy to say that many people just don't like the current crop of debuggers out there, especially when you write in dynamic (and weakly typed) languages. Which is another bunch of bananas, but sometimes we don't get to pick what code we write in, especially in my industry.
What I'm trying to say is, sometimes you need all the help you can get. And even an awful debugger is better than doing it in your head.
For third party libs I work with the vendor to unshit their shit. Or I switch, yes.
I write code that has to run out in BFE for 5-10 years. I can’t be sloppy about it.
I still reach for p5.js when I need to throw up a quick visual demo of something.
Meh. BASIC-like languages are "clear and relatively foolproof", but not because of their syntax. The genuinely "clear" elements that they do have, such as the use of numeric labels, turn out to be poorly scalable, and the syntax itself also accretes all sorts of warts as it's extended beyond trivial functionality. Mostly, they are just simple enough that it is feasible to grok and fully internalize the functioning of the system as a whole, even for novices.
"Getting graphics onscreen quickly" came with the territory on MS-DOS systems. The basic hardware functionality was standardized and there was no multi-processing to step on your toes, so just set the graphics mode you want, call some pre-made drawing routines, and you're set.
The author of AMOS / STOS is bringing back and he did an interview here.
https://www.youtube.com/watch?v=Hs-QOu8EAWY
He seems to have gone the browser route which I am not keen on though.
There needs to be something that is simple like QBasic where you can just start programming and have a crack at doing something fun.
On home computers throughout the 1980s, BASIC WAS the OS.
I also found it bizarre, how you can't even use modern computers costing hundreds of dollars as a simple calculator if the OS can't boot up.
I wish Apple would bundle something like iOS Swift Playgrounds with macOS, considering they already include Script Editor, Automator, Pages, Numbers, GarageBand etc.
The C=64, Atari ST, etc. all had decent BASICs and large communities.
In the early 90s, I worked on a bond trading floor in London, and we used QBasic for production systems. It was quite fun to work with, and pretty powerful with the right libraries.
This was all in Dos as it was before Windows 3 was released, and getting everything to work in 640k was fun (I recall there was a system to page in and out different parts of the app, but my memory may be faulty on this part)
There were numerous vertical market applications developed in QB/ PDS; things we'd call CRM today all the way to "estimate how many passes this scraper will take to build an earth dam of this size and shape" tools.
Microsoft forsaking that toolchain in favor of Windows / Visual Basic put a lot of those shops out of business.
I recovered it on some old hard drives a few years ago and backed it up here: https://github.com/vesche/snippets/tree/master/qbasic
Loved these forums as a young kid with nothing more than a windows 95 computer and a QBASIC interpreter.
The suite itself predates popular use of the Web by a handful of years and yet the community's size seems to have peaked long after its release. I've been able to trace an active Qbasic community all the way to 2011.
About three years later I get a hand-me-down Windows 95 machine with Qbasic on it, and I set out to make my own "operating system". This was actually a pretty popular thing to do at the time...here's an entire website full of 'em, where I published my own MS-DOS GUI as a teenager: http://qbasicgui.datacomponents.net/
Today, I do very well as a senior developer wearing multiple programming hats at my company and I'm close to cashing in some of that stock to develop my own video game. It all started with Qbasic.
I'm a senior cyber security engineer and also a polygot :) Video games sound more fun, I still make some in my free time.
Visual BASIC is emulated via Jabaco and converted to Java Runtine files. http://www.jabaco.org/ but it hasn't been maintained in a while either. It does VB 6.0 but misses ADO and other libraries needed for Data access, you have to use Java based ones instead with BASIC syntax.
UPDATE: .... And, I should read the link before commenting, because QB64 is mentioned right there nearly above the fold.
I'm another one of those who learned their ropes in QBasic, circa 2001.
A substitute teacher told us about logo and my 13-year old mind thought you just need to type the commands on the windows desktop to make it work. Imagine my disappointment when it didn't work.
So one day we're at my dad's friend home. Their son puts a floppy in, starts a weird blue application, loads a file called GORILLA.BAS and starts the program. Then I understand what's going on: that's something you can write your programs in! Copy that floppy and give it to me!
One of my school books had a basic BASIC tutorial so I started typing useless code.
Then I discovered RapidQ which was superficially like VisualBasic but didn't cost a dime (at least, that's how I remember it...). So I could make GUIs using a drag&drop interface.
Good times :)
I have since installed qb64 and PCBASIC, and find the book really amazing; consequently I find the language superior for simple exposition - there's an insane amount of positive things you can say about taking a supposedly complex subject and breaking it down with a language that is that simple - if you truly understand a thing, you can implement it in a language as simple as BASIC in a clear way, taking the mystery out of it.
How hard can it be if it you can implement it on something with a Z80, right?
Brilliant, and odd timing that this is on HN right now.
This is what people mean when they say that languages haven't progressed that much. There are places where they have(e.g. dynamic memory allocation features really do matter to large-enough, featureful-enough programs) but almost all the features can be dispensed with for the base case of solving one problem well. The tooling and ecosystem matter a great deal more since they make the difference between having a finished solution in hand and having to fight to get something built and deployed. I/O and protocol compatibility are major sticking points everywhere.
I remember a teacher at school used to let us use the computers at lunch to play with QBasic and being very proud of working out how to draw a BMP file (in the days before we had Internet access)... and then a pupil in the year above blowing that completely away with a demo he’d written with pseudo-3D graphics and everything. He later got expelled for writing some kind of boot sector virus and installing it on the school computers. Wonder what he is up to now!
Interestingly, it seems that the website was re-purposed briefly in 2002: http://web.archive.org/web/20020524053704/http://qbasic.com/
...but in 2003, it returned to its regularly scheduled content: http://web.archive.org/web/20030207131457/http://www.qbasic....
I used to be active on the QB FIDOnet forums in the mid-90's until many of the BBSs shut down. It was my favorite language during my teen years!
Before that, I never really got anywhere on the Sinclair ZX Spectrum or Commodore 64, though I still hope to go back in an emulator and make up for that someday.