5 ms·
GW-Basic Source Notes
- smitty1e 6y ago"There are several theories on what the initials "GW" stand for. Greg Whitten, an early Microsoft employee who developed the standards in the company's BASIC compiler line, says Bill Gates picked the name GW-BASIC. Whitten refers to it as Gee-Whiz BASIC and is unsure if Gates named the program after him. The Microsoft User Manual from Microsoft Press also refers to it by this name. It may have also been nicknamed Gee-Whiz because of its numerous graphics commands. Other common theories as to the initials' origins include "Graphics and Windows", "Gates, William" (Microsoft's president at the time), or "Gates-Whitten" (the two main designers of the program)." https://en.m.wikipedia.org/wiki/GW-BASIC https://en.m.wikipedia.org/wiki/GW-BASIC
- teddyh 6y agoI have no basis for this theory, but I have a hunch that Bill Gates named it “GW-BASIC” after the initials of Greg Whitten, not to give Greg credit, but as a form of disclaimer. Remember, the Basic interpreter was Gates’ own baby (it was Micro-Soft’s original product, written by Gates personally), and Gates may have planned to make a, in his mind, real version of Microsoft Basic later. Therefore, Gates might not have wanted this new Basic, which he might have viewed as an interim version, to be the definitive branded version. Of course, this is all speculation.
- Koshkin 6y agoToo bad he probably stopped reading Hacker News some time back in late 80s, otherwise he could chime in on this.
- basicplus2 6y agoon duckduckgo.. <Forbidden You don't have permission to access this resource. Apache/2.4.29 (Ubuntu) Server at www.os2museum.com Port 80> ..But works in Firefox
- quietbritishjim 6y agoI don't understand, why do you need a search engine at all to access the link?
- basicplus2 6y agoits the Duckduckgo android browser
- Koshkin 6y agoyou can submit a bug or you could just use another browser to open the link
- basicplus2 6y agoI thought other readers on HN would be interested to know about it as its seems a very strange result to me.
- acqq 6y agoAs mentioned in the comments there, there's also now: https://github.com/tkchia/GW-BASIC https://github.com/tkchia/GW-BASIC "All files can now be assembled with Microsoft MASM 5.1A." "The interpreter is semi-working, but some parts of the platform-specific support code are still missing or incomplete."
- Tempest1981 6y agoRelated: https://news.ycombinator.com/item?id=23266917 https://news.ycombinator.com/item?id=23266917
- nn3 6y agoHe didn't really say all that much about how the code is implemented, what algorithm it uses or even just what modules it contains. I guess reading all that assembler is just too tiresome. There's a reason nobody writes large programs in assembler anymore (except for the IRS)
- WorldMaker 6y agoThe included discussion that the code doesn't use the stack, mostly assumes the registers are dirty at all times, and doesn't use PROC/RET all highlight that this source code specifically wasn't designed for readability or reuse.
- nocturnial 6y agoMost auto generated code isn't that readable and this should surprise you. What you're seeing is the result of an asm "translator" with some manual modifications to make it work on the x86 platform. [1] That's why you see in the source code the phrase "This translation created on...". Microsoft, at this time, hasn't made available the tools they used to generate this code or the original version it was created from. [1] https://devblogs.microsoft.com/commandline/microsoft-open-sources-gw-basic/ https://devblogs.microsoft.com/commandline/microsoft-open-so...
- WorldMaker 6y agoThough this was also a fork from whatever "intermediate assembly language" the earlier versions used. GW-BASIC was far enough in "x86 is the only thing we need to support at Microsoft now" territory that presumably a lot of the GW-specific additions were done directly to this code instead of at the "next level up" in whatever that previous translator worked in. This also seems corroborated in the dev blog you link, though without source control history, the upstream translation layer, and the original "intermediate assembly" code, the details at this point are relatively fuzzy.
- deleted 6y ago[deleted]
- discreteevent 6y agoI got a contract where, as part of it, I had to figure out and modify some programs written in qbasic (a successor to gw-basic). A great little environment. It had everything, a fully integrated debugger, subroutines. You could get a lot done with it, including DOS graphics.
- folkhack 6y agoQBASIC 4.5 is responsible for my entire career in software engineering. As an 8yr old kid I was fully able to grok the documentation included in that environment building games that emulated what I would play on my NES. Mostly it was just dumb Dragon Warrior-esque RPGs with HORRIBLE dialogue, first text-only then with full-blown graphics. In the early days of the internet there were tons of communities and forums and some of my first websites I published were dumb game websites where I'd publish my .BAS =) Before that I would tinker with Applesoft BASIC on a IIe my father brought home from Rockwell Collins... BASIC was/is such an approachable dialect for kids. After a few years tinkering I graduated to Pascal and C/C++ after an uncle unloaded all of his old Borland books on me. If it wasn't for BASIC teaching me programming fundamentals (variables, conditions, loops, "functions", etc) I don't think I would have been able to grok formal/more-powerful languages. At first I didn't have any resources/mentors/Google for programming so I really needed BASIC. BASIC will always hold a special place in my heart!
- endgame 6y agoYou might enjoy https://www.qb64.org/ https://www.qb64.org/ , particularly if you have a bright youngster in you live with whom you'd like to share the joy of BASIC.