Aftersearching around a bit, I found the QB64 project. This is an open source QuickBASIC development environment that is not only completely compatible with existing programs, but adds in functions and capabilities that were unthinkable back on my 386. Displaying a PNG, loading TTF fonts, or playing an MP3 in the background can be accomplished with just one or two commands.
Such things were possible with the original QuickBASIC, but existed more in the realm of tech demos than anything else. Oh the games I could have made back in the day with software like this! I had to be content with bleeps and bloops, and even that required you to figure out the timing for the tones yourself.
This might be lost on those who never wrote BASIC code on a vintage machine, but the following code creates a 800600 screen, puts a full screen PNG up, plays an MP3, and writes a message using a TrueType font.
I currently work in travel, the majority of code which talks to airlines, does QC, handles the back office, etc is written in VB. Typically this code was written by travel agents who filled a support type role already. This is not unique to travel however, for a long time the medical field was also filled to the brim with silly code written by people with no business writing such important systems.
There was CBASIC, a very popular compiled BASIC used to create business applications, and DBase. Many burgeoning professionals cut their teeth writing so-called vertical applications using CBASIC and DBase applications on CP/M machines.
As to why is simple. BASIC was essentially a small library of commands with versatile parameters. This meant you could tailor basic to be as small as the system would allow. This library was available on boot. In many cases this was only 8KB(even as small as 4K, and in the case of tinyBASIC from Dr dobbs journal, only 2.4Kb), leaving much of the addressable space for programs and kernel operations. C on the other hand is a very different animal. It requires more infrastructure to run. Both are inferior to FORTH so I don't even know what the argument is about :D
Agreed. I learned QBasic as my first programming language, and my father was horrified and told me I was wasting my time. He insisted that I learn VisualBasic instead. My preteen rebellion was to learn C++ instead.
Have any of you even seen the original basic??!?! Dartmouth basic???? _That_ is a beginner language. One letter variables, integer math only, etc. GW-Basic, QBasic etc. were as capable as pascal and C. Freebasic/QB64 are capable of building modern applications. Deal with it. Qbasic back then even had a more stable version of directX called directQB. Bet no one here even knows that.
QBasic is what most people have seen as it shipped free with various version of DOS as a replacement for GW-Basic. It was an interpreter only and had limited functionality when compared to QuickBasic.
P.S. I tried QB64 and wow! It really does do all the screen modes from the old days, as well as add modern features! I was able to compile and run MSDOS graphic mode using source code from back in the day and it compiled with NO changes and ran under windows! Incredible! I may need to revisit some of my old applications again :D, and write some new ones.
Sorry, Peter, you still got the details wrong. I was there at the time as well. The product that included a compiler was called QuickBASIC 4.5 (executable: QB.EXE). Whereas the interpreter-only version that was bundled with later version of MS-DOS as a replacement of GW-BASIC was called QBasic 1.x (executable: QBASIC.EXE).
BASIC was initially implemented as an interactive/interpreted language, in an era when assembler language was the most popular way to program a computer and compiled FORTRAN and COBOL were just coming into their own.
There are many utilities in the retro computer scene that run on a modern OS like windows that allow you to connect your cassette player to the line input of the sound port and convert the sound back to the original data.
It was fun to fit that into only 62K of usable space, it was damn fast though
and sometimes had half a dozen windows open. Getting it to grab the odd
html/java output from some of the share trading apps on windows was a bit trickier
though. Maybe now I can go a bit better. might be busy this weekend, :shrug:
Basic may be for beginners as some jibe but, the more learned & mature who
are in the business at the coal face of productive programming efficiency have
seemingly offered it some more fruit. The time impost and documentation
hurdles in just trying to do simple utilities with the more conventional (modern)
packages is surprisingly onerous. I say surprising as most younger programmers
might proclaim newer is better but, they take ages to do rather simple things,
well stuff I so often consider simple ;-)
So anything that can advance the gestaltic like conjunction of straightforward
documentation with structure to improve efficiency has my attention and especially
so if there is as little variance necessary to replicate functionality across platforms.
I managed to learn enough python to write some simple linux scripts in a couple of days. It might have quicker but I kept tripping over the damn spaces/tabs crap. WTF was van Rossum smoking when he made THAT decision?
The TI-BASIC built into the TI-99/4 and TI-99/4A were terribly slow. Not because of BASIC but because the BASIC code was first translated to GPL (Graphics Programming Language) *then* to 9900 machine code. TI Extended BASIC was coded in a much more efficient way, including things like tokenizing the common commands internally to reduce program size.
i say BS. coming from an engineering background, i think you need to use whatever gets you to your goal the easiest way possible and you feel comfortable. also, knowing when to stop is a welcome attribute, specially when you have a time limited budget (budgets are limited by money by definition :))
Must say I agree with you on that, use what works for you, I found Euphoria in the
early nineties, still use it for my projects, bit like basic but I can go a year without needing it and then get back into it quickly.
Before you might complain qb64 does not have all the same debugging tools as qb45 did. Look for VWATCH and use it too. Since the board was reset it might be awhile before VWATCH shows up. QB64 is so much more than a BAS to C spewer. All the extensions added to QB64 make a worth while second look. Hell you can even make windows system calls. Like file attributes, mod date/archive/create date/flags.
ie. The space normally used in sentences gave way to the
underscore when variable & function names could be long to offer
as much useful context as possible as the space offers delimiting
functionality in most languages.
Indeed, I used the Future Library for Qb4.5 back in the day. Fricking awesome library which enabled SVGA with mouse support, animated gifs, bmp, sound (wave files) and textures (load an image and then manipulate it on screen). I had so much fun with that library!!
BASIC was popular in the day, because it pretty much was the default language on many home computers. Without learning the machine code, it was the only way to get something done yourself. The original BASIC suffered from a number of flaws which lead to spaghetti code.
3a8082e126