Turbo Pascal was also an awesome development experience back then.
Ended up being the right bet though. :)
Did the same thing myself. Struggled for years in Slackware and other builds... had to write my own ADSL driver for broadband to work. Had a dual booting Gateway 2000 PC and always cringed when I selected Linux from the GRUB booter... but it served me very well decades later.
That must have been debug.com [0]
QBasic happened much later, 1991, as part of MS-DOS 5.0. It was considered to be a subset of QuickBasic.
So QuickBasic, as well as it's big brother, Microsoft Basic Professional Development System (which almost no one remembers), was essentially dead by the time QBasic was released.
I only ever used QuickBasic. I still have the manual. Can't make myself part with it.
I had it a stack of 3.5" floppies, and the last disk had a bad spot, so some of the framework was impossible to use because I couldn't install it.
That being said, the QuickBasic line and the PDS were amazing -- even the PDS had reams of online documentation on how to use the tooling, straight from the IDE.
I distinctly remember the days my Dad showed me the linker and the library managers. It was like magic: now I could re-use whole chunks of my programs in other programs. Totally world-changing for a little 12 year old kid on an IBM PS/2 Model 50.
There was Visual Basic for Windows 1.0 and Visual Basic for MS-DOS 1.0. The UI frameworks were completely different – Windows was GUI, MS-DOS was character mode. The Windows versions continued on until VB6, before being replaced by the very different Visual Basic.NET. Visual Basic for MS-DOS was discontinued after 1.0.
Can't you do something like PEEK(PEEK(a)) or PEEK(PEEK(a)*256+PEEK(a+1)) ?
I always thought of pointers as indirect addressing mode when I was learning about the 6502.
Other Basic dialects, including QBasic's big brother, had a Varadr function or similar, to take an address.
C is not the absolute truth in pointer manipulation across programming languages.
Of course, it kind of hurts the urban myth that C is a special snowflake among systems programming languages, having languages almost 10 years older with such features.
' a = *addr
a = PEEK (addr%)
' *addr = value
POKE addr%, value
'a = addr
a = addr
'addr++
INCR addr%, 2
'a = &variable
DEF SEG = VARSEG(variable)
a = VARPTR(varible)
a = VARPTR$(varible)
Album, http://www.bitsavers.org/pdf/borland/Borland_Turbo_BASIC_Own...Or to stay with QuickBasic dialects, Freebasic music tunes
https://www.freebasic.net/wiki/wikka.php?wakka=TblComparison...
Which also provides the SIZEOF chord, simplifying the increment operations of memory addresses.
Pointers were invented in PL/I, where they were specifically untyped.
You know, I never really thought of programming in this way. You are very correct about this and it makes me sad in a way.
check out pete's qb site for programs and code snippets for one point of reference: http://www.petesqbsite.com/downloads/downloads.shtml
In my opinion it's great because of how accessible it is. It's very easy to experiment with unfamiliar commands and rapid prototype. I learned QBasic before Pascal and C++, and was disappointed at the absence of an equivalent to many of the functions that made programming quicker and easier.
https://web.archive.org/web/20140928080244/http://www.qbasic...
I wrote plenty of programs that worked the first time I ran them, something that seldom happened to me in more modern programming environments, which put many mental burdens on you, and encourage writing fast and sloppily, and then improving your mistakes afterwards. You don't need any boilerplate - I regularly used QBasic to just plot a graph for example (in a program written from scratch).
Also, I like the approach to pointers is very nice, I think. There are no pointers. You need to PEEK or POKE into memory! In C you do
In QBasic you do Which is so easy to understand that I sometimes wonder if pointers is C are even an improvement to this. I'm probably being a bit nostalgic here, but I genuinely miss the feeling of mastery and understanding I had when I used QBASIC. I could do anything I needed inside the editor. No plethora of tabs and windows. In my opinion, programming is too complicated nowadays.Edit: More nostalgy! The help system was absolutely amazing. It was possible to read a keyword for the first time, press F1, and two minutes later you would actually understand the statement. Something I never experienced afterwards.