PowerBASIC
A native-code BASIC compiler for DOS and Windows, famous for producing small, fast, dependency-free executables under the motto "smaller, faster."
Created by Robert "Bob" Zale (PowerBASIC Inc.)
PowerBASIC is a family of native-code BASIC compilers for MS-DOS and Microsoft Windows, best known for producing small, fast, self-contained executables with no external runtime dependencies. Where many BASIC dialects of the 1980s and 1990s were interpreted or tied to heavyweight runtimes, PowerBASIC compiled straight to machine code — a design choice captured in creator Bob Zale’s enduring company motto, “smaller, faster.” First released under the PowerBASIC name in 1989, it occupies a distinctive niche: a BASIC that aimed to compete with C and assembler on size and speed while keeping BASIC’s approachable, readable syntax.
History and Origins
PowerBASIC’s lineage reaches back to the 1980s, when Robert “Bob” Zale (1945–2012) wrote BASIC/Z, described as the first interactive BASIC compiler for CP/M and MS-DOS. In 1987, Borland International licensed Zale’s compiler and shipped it as Turbo Basic, slotting it alongside Turbo Pascal and Turbo C in Borland’s popular line of fast, affordable development tools. Turbo Basic was well received and reportedly sold in large numbers.
In 1989, Borland decided to discontinue the product. Rather than let it disappear, Zale bought back the rights, renamed it PowerBASIC, and founded PowerBASIC Inc. to carry development forward independently. This buyback is the moment the PowerBASIC name and company began, and it is the year used as the language’s first appearance here. (Because the same compiler had earlier lives as BASIC/Z and Turbo Basic, you will sometimes see different “origin” years cited depending on which milestone an author counts.)
Through the 1990s the company shipped PowerBASIC for DOS (later branded PB/DOS), with PowerBASIC 3.0 for DOS appearing in 1993. As the industry moved to Windows, PowerBASIC followed: the Windows compiler was eventually renamed PB/Win, and the company also produced the PowerBASIC Console Compiler (PB/CC) for building Windows console applications.
Design Philosophy
PowerBASIC’s guiding idea was that a high-level, easy-to-read language did not have to be slow or bloated. Its compilers generate native machine code and link to standalone executables and DLLs that carry no interpreter, virtual machine, or redistributable runtime. The intended payoff is what the “smaller, faster” motto promises: compact binaries with no runtime to load and native-code execution speed. (These were the compiler’s stated design goals and vendor claims rather than the result of any standardized benchmark cited here.)
That philosophy shaped the feature set:
- Native compilation rather than interpretation or bytecode.
- Self-contained binaries with no runtime dependency to ship alongside the program.
- A built-in inline assembler, letting developers drop down to machine instructions inside otherwise high-level BASIC code.
- Direct access to the Windows API, so the language could be used for systems-style programming without a heavy framework in between.
Key Features
PowerBASIC keeps the familiar feel of classic BASIC while layering on modern, structured constructs:
- Structured control flow — block
IF/THEN/END IF,SELECT CASE,DO/LOOP,FOR/NEXT, andITERATE/EXITstatements that remove any need forGOTO-driven spaghetti code. - Strong, explicit typing alongside traditional BASIC type-suffix sigils (such as
$for strings and%for integers), with the ability to declare variables and procedure parameters explicitly. - Object-oriented programming via COM — classes and interfaces that integrate with Microsoft’s Component Object Model.
- Dynamic Dialog Tools (DDT) — a set of statements for creating Windows dialogs and controls without hand-coding the full Windows API boilerplate, complemented by the PB Forms visual designer add-on.
- Graphics statements such as
GRAPHIC WINDOWandGRAPHIC BITMAPfor drawing and bitmap work. - The inline assembler for hand-tuned, performance-critical sections.
A short PB/Win console example shows the structured, readable style:
#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN () AS LONG
LOCAL i AS LONG
FOR i = 1 TO 3
PRINT "Hello, World!"
NEXT i
END FUNCTION
Here #DIM ALL forces explicit variable declaration, and PBMAIN is the program’s entry point — conventions that reflect PowerBASIC’s lean toward disciplined, structured code rather than the loose, line-numbered style of early BASIC.
Products
Over its lifetime PowerBASIC Inc. shipped several distinct compilers and tools:
| Product | Target | Notes |
|---|---|---|
| Turbo Basic | DOS | The Borland-published predecessor (1987) |
| PB/DOS | MS-DOS | Native-code DOS executables |
| PB/Win | Windows | Flagship GUI/DLL compiler (32-bit) |
| PB/CC | Windows | Console-application compiler |
| PB Forms | Windows | Visual dialog/form designer add-on |
| COM Browser | Windows | Inspects COM interfaces and type libraries |
Evolution and Current Status
The most recent widely documented release is PowerBASIC for Windows 10.0, which shipped on May 4, 2011, with version 10.04 as the last update. Bob Zale died on November 6, 2012, and the company announced in 2014 that it would continue operating. In 2017, Drake Software acquired the PowerBASIC source code and assets and stated an intention to continue development.
In practice, no new compiler versions have appeared since the 2011 release, and in 2025 the official PowerBASIC website and vendor forums went offline. That year the user community established pbusers.org as an independent, community-run forum, preserving archived discussions and keeping the user base connected. So while the rights and source code live on under new ownership, PowerBASIC today is best understood as a dormant but fondly remembered compiler with a dedicated legacy community rather than an actively shipping product.
Why It Matters
PowerBASIC’s significance is partly historical and partly philosophical. Historically, it is the surviving thread of a notable lineage — BASIC/Z → Turbo Basic → PowerBASIC — that connects the CP/M era, Borland’s influential Turbo tools, and the long tail of independent Windows development. Philosophically, it stands as a counterexample to the assumption that BASIC must be slow or that ease of use must cost performance. By compiling to compact native code with no runtime baggage, PowerBASIC demonstrated that a friendly, readable language could still produce the kind of tight, fast binaries usually associated with C and assembler — a goal its creator distilled into two words: smaller, faster.
Timeline
Notable Uses & Legacy
Windows utilities and system tools
Independent developers used PB/Win and the PowerBASIC Console Compiler to build small, fast Windows utilities and command-line tools that ran as self-contained executables with no runtime or framework dependencies.
DLL development for other languages
Because PowerBASIC compiles to native code and can produce standard Windows DLLs, it was frequently used to write performance-sensitive routines callable from Visual Basic and other environments.
Commercial shareware and utilities
The compiler had a following among shareware authors and small software vendors who valued tiny binary sizes, fast compilation, and the absence of redistributable runtime packages.
Migrating legacy BASIC code
Developers carrying forward GW-BASIC, QuickBASIC, and Turbo Basic programs used PowerBASIC for DOS and later PB/Win as a modern, fast-compiling home for existing BASIC codebases.
Inline-assembler and systems-style programming
Its built-in inline assembler and direct access to the Windows API made PowerBASIC attractive for low-level, systems-oriented tasks where programmers wanted BASIC's readability with close-to-the-metal control.