Comment by vunderba

Comment by vunderba a day ago

26 replies

It really isn't - from the docs themselves:

  FreeBASIC gives you the FreeBASIC compiler program (fbc or fbc.exe),
  plus the tools and libraries used by it. fbc is a command line program
  that takes FreeBASIC source code files (*.bas) and compiles them into
  executables.  In the combined standalone packages for windows, the main
  executable is named fbc32.exe (for 32-bit) and fbc64.exe (for 64-bit)

The magic of QuickBasic was that it was an editor, interpreter, and help system all rolled up into a single EXE file. Punch F5 and watch your BAS file execute line-by-line.
pjmlp 13 hours ago

A magic also available in Turbo BASIC.

Ironically Borland gave up competing against Microsoft on BASIC tooling, while Microsoft gave up competing against Borland on Pascal tooling (Quick Pascal).

Both products where short lived, Microsoft killed Quick Pascal quite quickly, while Borland sold Turbo BASIC, which became Power BASIC.

  • orionblastar 13 hours ago

    PowerBASIC is dead; the website no longer works. The old PowerBASIC for DOS abandonware can be found here: https://winworldpc.com/product/powerbasic/3x

    It is a DOS 16-bit program.

    • pjmlp 13 hours ago

      Yeah, I lost track of where it went back in Windows 9X days.

      Real BASIC seemed the only alternative to VB that was somehow still market relevant.

bencollver a day ago

Wasn't QBasic the interpreter as opposed to QuickBasic the compiler?

  • vunderba a day ago

    It's been a long time, but my impression was that QuickBASIC had an interpreter and the ability to compile. Then later on, Microsoft bundled a more limited version called QBasic with later versions of MS DOS which lacked the compiler.

    But all of them (QBasic, QuickBASIC, Microsoft PDS, and even Visual Basic for DOS which almost nobody remembers sadly) had the editor, interpretative execution, and built-in help.

    • agf 18 hours ago

      This matches my memory. When I got my dad's old work computer with QuickBASIC on it, and I discovered the compiler, and could write programs other people could "just run", I felt like a real programmer for the first time.

      • 90s_dev 9 hours ago

        Yet you were even before that, the moment you made programs work at all.

    • 90s_dev 21 hours ago

      I remember VB-DOS, and fondly too. It was magical. I think I used it even before VB3.

    • pjmlp 13 hours ago

      Yes that was the case, by the time Visual Basic 5 came to be, its compiler was based on Visual C++ backend.

  • [removed] 21 hours ago
    [deleted]
  • DCKP 20 hours ago

    All this brings back fond memories of my first programming foray, an ASCII game in QBASIC from Mars and Back: Computer Programming Handbook by Andrew J. Read. So much fun, so much frustration.

  • analog31 a day ago

    This is what I recall too. QuickBasic was perhaps BASIC's answer to Turbo Pascal, a relatively lightweight but usable text based IDE. I knew some happy users.

  • [removed] a day ago
    [deleted]
  • the_af 19 hours ago

    No, QuickBasic was both an interpreter and a compiler. QBasic was just an interpreter.

    • klipt 19 hours ago

      "Compiler". Even Visual Basic only compiled to p-code, which had to be interpreted at runtime. Not to fully native code.

      That's why it always ran slower than Delphi.

      • dspillett 13 hours ago

        VB6 (and IIRC 5 too) could compile to native, as seen in the compile options: https://imgur.com/a/v0QcbBU

        P-code was still offered as an option because some wanted the smaller output binary sizes, and the build process was faster⁰.

        Some incorrectly assume that the native option wasn't really fully compiled because the main supporting library (msvbvm60.dll) was still used¹, but this was for common library functions³ and the interpreter portion was not touched.

        There were unofficial tools that would statically link your exe with the relevant VB runtime (and certain other libraries) but the use of those was rare.

        ----

        [0] Though I don't think the build speed matter was actually significant for many, if any, workflows, even on really slow kit.

        [1] Some didn't distribute it after a time, to reduce download sizes, as they were included with Windows so users already had them. Windows 7 (and maybe Vista?) included msvbvm60.dll and friends by default, and most XP and 98 installs² had it too as it came with Internet Explorer updates.

        [2] though there was a compatibility break at one point that meant you needed to recompile with VB6sp6 if you hadn't included a local copy in your apps directory

        [3] Much like many C programs don't have glibc statically linked into them, but work because it is practically ubiquitous on the systems they target.

        • pjmlp 10 hours ago

          Having to depend on msvbvm60.dll was hardly any different than msvcrt.dll, but try to explain that to most folks.

      • pjmlp 13 hours ago

        Wrong, starting with with Visual Basic 5, a proper compiler was introduced based on Visual C++ backend, in addition to the P-Code interpreter.

        Additionally VB devs no longer needed to rely on C++ for ActiveX controls, aka OCX, the VBX replacement.

      • lproven 11 hours ago

        Both of these are incorrect.

        Both QuickBASIC and the BASIC Professional Development System compiled to full native DOS code, and could make standalone EXE files.

        VB finally gained this with VB 6 which could also make native EXE files.

      • the_af 7 hours ago

        QuickBasic produced a DOS .EXE file.

        It didn't output p-code. You're confusing it with Visual Basic.

anthk 10 hours ago

Kinda like any Forth. Even PForth has a bundled block editor and a rudimentary help system.

westurner a day ago

> The magic of QuickBasic was that it was an editor, interpreter, and help system all rolled up into a single EXE file. Punch F5 and watch your BAS file execute line-by-line.

That's still how vscode works; F5 to debug and Ctrl-[Shift]-P like CtrlP.vim: https://code.visualstudio.com/docs/debugtest/debugging

FWICS,

The sorucoder.freebasic vscode extension has syntax highlighting: https://marketplace.visualstudio.com/items?itemName=sorucode...

There's also an QB64Official/vscode extension that has syntax highlighting and keyboard shortcuts: https://github.com/QB64Official/vscode

re: how qb64 and C-edit are like EDIT.COM, and GORILLA.BAS: https://news.ycombinator.com/item?id=41410427

C-edit: https://github.com/velorek1/C-edit

  • vunderba 21 hours ago

    I tried QB64 a couple years ago, but IIRC it's still compiled as opposed to interpretative, e.g. you can't Ctrl-Break and drop into the current executing line of BASIC code unless they've radically changed how it works.

  • 90s_dev 21 hours ago

    Rather, QB was the pico8 of the 1990s. Convenient, self-contained, mysterious, quasi-powerful, in-app help menu for the entire language and API, and a few built-in demo games.