| I started programming with BASIC back in the late 80s and into the early 90s. Started with gw-basic and then with QBasic, both of which were included in versions of DOS. QBasic was really cool at the time. I wrote a lot of (very crappy and slow) games in it. The documentation was all readily available and it had a lot of power. QBasic (and VB) were very "batteries included" and that was amazing. But, and this may sound harsh, I've always felt that BASIC was a language of desperation. You use it because it's the only thing available to you, not because you actually want to use it. There was a time where some form of basic was available on literally every computer. This continued well past the 80s with VBA and gave a lot of people the power of extensibility over their applications. Back when I was writing a lot of BASIC code, I quickly found myself running into walls and realizing that it just wasn't a great environment to build anything serious in. The lack of a real compiler in DOS was the primary reason I found Linux and C in the mid 90s. Once I had my hands on a C compiler I never wanted to look back ever again. (I know that QuickBasic and Visual Basic existed and could create binaries. But, I was young and couldn't exactly afford them. Before finding C, I was using a BASIC environment called ASIC, which wasn't quite as nice as QBasic, but could produce binaries.) It makes me wonder how things might have been different for me if DOS came with a C compiler and something like raylib. The lack of a real (free) compiler drove me to Linux. Would I have still gotten into Linux? I don't really know! |
Very small binaries. Unfortunately you had to include the rather large run-time libraries with them (BCOM*.LIB or vbrun*.dll respectively). IIRC vbrun300.dll was >300MByte which was rather large at the time, as well as the library functions it contained an interpreter and your executable wasn't fully native code (your code was transpiled to something the interpreter could process more efficiently, and the executable had a small chunk of native code to load the RTL and get it to execute the rest). IIRC VB6 was the first version to properly compile to native code.