I used to do all my programming in QBasic under MS-DOS 5.0 and 6.22. Those two languages are pretty decent, especially if as with all languages a certain amount discipline and skill is applied. Although I have never tried it with QBasic I know from programming in Quick Basic 4.5 (which I got my hands on after I started with QBasic) you can do some pretty advanced stuff using interrupt calls and machine language snippets. Visual Basic for MS-DOS offers a few nice features, the only really useful feature however (IMHO) that can't be imitated in Q(uick Basic) is mandatory variable declaration. I have tried but could never really get into Turbo Pascal, C or C++. I have written a few things in assembly language as well. Debug is useful for small projects in that regard. I have written a lot of stuff with Visual Basic 3.0 and later Visual Basic 5.0 and 6.0. I probably used some other stuff I can't remember right now. EDIT: I just remember messing with Microsoft BASIC, GW-Basic and Commodore BASIC. As for the first two, unless you need to write something for CP/M forget about Microsoft BASIC and use Q(uick) Basic. As to GW-Basic, it may have been nice for its time, but Q(uick Basic) runs just as fine on older CPU's and MS-DOS and is vastly superior imho. Only ever having occassionally used someone else's Commodore I don't have much to say about programming on that.
And recently I got it into my head I should try to convert a book keeping program I wrote in Q(uick Basic) to vb.net. Why? Because I am kind of a fascinated by how you do a lot of pretty advanced stuff with a few lines of code in vb.net where you needed an entire convoluted procedure in Q(uick Basic) mostly. My bookkeeping program (a rudimentary spreadsheet/database thingy I made in an attempt to provide a small student run candy store with a means of keeping track of their finances) seemed like a good candidate for this comparisson.
If anyone hasn't figured it out yet, I have written tons of stuff in all kinds mosly BASIC related dialects. I could probably write a few more paragraphs if I felt like it ... and had the time. 😉
EDIT
I also tried reverse engineering old software, with limited success.
EDIT 2:
I decided trying to prove to myself that vb.net's data handling capacities are superior by converting and entire decades old QBasic program is going too far. While a lot can be converted relatively easily, some elements such printing would require some rather convoluted coding. Also, I forgot how much I learned about programming. The QBasic code is not awful but it could use a lot of improvement. That and I have successfully made pretty much identical programs in vb.net and QBasic. Perhaps a small data handling example would be interesting to do. Anyone got an interesting idea that's not too hard to do? QBasic vs vb.net?