A modern extended BASIC+OpenGL language with QB4.5/QBasic compatibility that compiles native binaries for Windows, Linux, and macOS.
QB64 is a modern extended BASIC programming language that maintains full compatibility with the classic QB4.5/QBasic environment. It compiles programs into native binaries for Windows, Linux, and macOS, and integrates OpenGL for modern graphics capabilities. The project solves the problem of running and extending legacy BASIC code on contemporary operating systems while providing a familiar development experience.
Developers maintaining or modernizing legacy QB4.5/QBasic programs, educators teaching programming fundamentals with BASIC, and hobbyists interested in retro-computing or simple cross-platform application development.
Developers choose QB64 because it offers seamless backward compatibility with a vast existing codebase while adding modern features like OpenGL and native compilation. Its integrated IDE and straightforward syntax lower the barrier to entry compared to more complex languages.
BASIC for the modern era.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Runs legacy QB4.5/QBasic code without modification, preserving decades of existing programs and educational material, as stated in the key features.
Compiles to standalone executables for Windows, Linux, and macOS, enabling easy distribution without runtime dependencies.
Adds OpenGL support for 2D and 3D rendering, bringing contemporary graphics capabilities to the BASIC environment, as highlighted in the description.
Includes a built-in IDE for development and supports command-line compilation with options like `-c` for automation, detailed in the usage section.
Installation requires antivirus whitelisting on Windows and manual dependency setup on macOS and Linux, which can be cumbersome, as noted in the README.
Compared to modern languages, QB64 has a smaller community and fewer libraries, restricting development of complex applications with advanced features.
Based on legacy BASIC, it lacks built-in support for modern programming paradigms like object-oriented design or advanced tooling, limiting scalability.