PureBasic
Encyclopedia
PureBasic is a commercially distributed
procedural
computer programming language
and integrated development environment
based on BASIC
and developed by Fantaisie Software for Windows
32/64-bit, Linux
32/64-bit, and Mac OS X
. An Amiga
version is available, although it has been discontinued and released as open source
. The first public release of PureBasic for Windows was on December 17, 2000. It has been continually updated since.
PureBasic has a unique "lifetime license model". As cited on the website, the very first PureBasic user (who registered in 1998) still has free access to new updates and this is not going to change.
PureBasic compiles directly to x86, x86-64
, PowerPC
or 680x0
instruction sets, generating small standalone executable
s and DLLs
which need no runtime libraries beyond the standard system libraries. Programs developed without using the platform-specific application programming interface
s (APIs) can be built easily from the same source file with little or no modification.
PureBasic supports inline assembly, allowing the developer to include FASM
assembler commands within PureBasic source code, while using the variables declared in PureBasic source code, enabling experienced programmers to improve the speed of speed-critical sections of code.
PureBasic has an extensive set of over 1200 native commands and direct access to most OS API calls. The editor has full project support and the compiler is thread-safe
with a powerful debugger
that supports breakpoint
s with stepping
mode, variable viewer and watcher, and other debugging features common to major BASIC products. It includes a multiplatform GUI editor, and is extensible with custom made libraries in DLL form or to incorporate at the linking stage (only used functions to reduce final size).
PureBasic supports and has integrated the OGRE
3D Environment. Other 3D environments such as the Irrlicht Engine
are unofficially supported.
PureBasic is used to create tools and games in a fast and easy way. The very active users community share large amounts of open-source code.
PureBasic has its own form designer to aid in the creation of forms for applications, but other third-party solutions are also available.
And the following variant of the same code, which instead uses an inline Windows API
call with no need for declarations or other external references, will create an even smaller 2.00 KB (2,048 bytes) standalone executable for Windows.
Commercial software
Commercial software, or less commonly, payware, is computer software that is produced for sale or that serves commercial purposes.Commercial software is most often proprietary software, but free software packages may also be commercial software....
procedural
Procedural programming
Procedural programming can sometimes be used as a synonym for imperative programming , but can also refer to a programming paradigm, derived from structured programming, based upon the concept of the procedure call...
computer programming language
Programming language
A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely....
and integrated development environment
Integrated development environment
An integrated development environment is a software application that provides comprehensive facilities to computer programmers for software development...
based on BASIC
BASIC
BASIC is a family of general-purpose, high-level programming languages whose design philosophy emphasizes ease of use - the name is an acronym from Beginner's All-purpose Symbolic Instruction Code....
and developed by Fantaisie Software for Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...
32/64-bit, Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...
32/64-bit, and Mac OS X
Mac OS X
Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...
. An Amiga
Amiga
The Amiga is a family of personal computers that was sold by Commodore in the 1980s and 1990s. The first model was launched in 1985 as a high-end home computer and became popular for its graphical, audio and multi-tasking abilities...
version is available, although it has been discontinued and released as open source
Open source
The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...
. The first public release of PureBasic for Windows was on December 17, 2000. It has been continually updated since.
PureBasic has a unique "lifetime license model". As cited on the website, the very first PureBasic user (who registered in 1998) still has free access to new updates and this is not going to change.
PureBasic compiles directly to x86, x86-64
X86-64
x86-64 is an extension of the x86 instruction set. It supports vastly larger virtual and physical address spaces than are possible on x86, thereby allowing programmers to conveniently work with much larger data sets. x86-64 also provides 64-bit general purpose registers and numerous other...
, PowerPC
PowerPC
PowerPC is a RISC architecture created by the 1991 Apple–IBM–Motorola alliance, known as AIM...
or 680x0
68k
The Motorola 680x0/m68000/68000 is a family of 32-bit CISC microprocessors. During the 1980s and early 1990s, they were popular in personal computers and workstations and were the primary competitors of Intel's x86 microprocessors...
instruction sets, generating small standalone executable
Executable
In computing, an executable file causes a computer "to perform indicated tasks according to encoded instructions," as opposed to a data file that must be parsed by a program to be meaningful. These instructions are traditionally machine code instructions for a physical CPU...
s and DLLs
Dynamic-link library
Dynamic-link library , or DLL, is Microsoft's implementation of the shared library concept in the Microsoft Windows and OS/2 operating systems...
which need no runtime libraries beyond the standard system libraries. Programs developed without using the platform-specific application programming interface
Application programming interface
An application programming interface is a source code based specification intended to be used as an interface by software components to communicate with each other...
s (APIs) can be built easily from the same source file with little or no modification.
PureBasic supports inline assembly, allowing the developer to include FASM
FASM
FASM in computing is an assembler. It supports programming in Intel-style assembly language on the IA-32 and x86-64 computer architectures. It claims high speed, size optimizations, operating system portability, and macro abilities. It is a low-level assembler and intentionally uses very few...
assembler commands within PureBasic source code, while using the variables declared in PureBasic source code, enabling experienced programmers to improve the speed of speed-critical sections of code.
PureBasic has an extensive set of over 1200 native commands and direct access to most OS API calls. The editor has full project support and the compiler is thread-safe
Thread-safe
Thread safety is a computer programming concept applicable in the context of multi-threaded programs. A piece of code is thread-safe if it only manipulates shared data structures in a thread-safe manner, which enables safe execution by multiple threads at the same time...
with a powerful debugger
Debugger
A debugger or debugging tool is a computer program that is used to test and debug other programs . The code to be examined might alternatively be running on an instruction set simulator , a technique that allows great power in its ability to halt when specific conditions are encountered but which...
that supports breakpoint
Breakpoint
In software development, a breakpoint is an intentional stopping or pausing place in a program, put in place for debugging purposes. It is also sometimes simply referred to as a pause....
s with stepping
Program animation
Program animation or Stepping refers to the very common debugging method of executing code one "line" at a time. The programmer may examine the state of the program, machine, and related data before and after execution of a particular line of code...
mode, variable viewer and watcher, and other debugging features common to major BASIC products. It includes a multiplatform GUI editor, and is extensible with custom made libraries in DLL form or to incorporate at the linking stage (only used functions to reduce final size).
PureBasic supports and has integrated the OGRE
OGRE
OGRE is a scene-oriented, flexible 3D rendering engine written in C++ designed to make it easier and intuitive for developers to produce applications utilizing hardware-accelerated 3D graphics...
3D Environment. Other 3D environments such as the Irrlicht Engine
Irrlicht Engine
Irrlicht is an open source 3D engine written in C++. It is cross-platform, officially running on Windows, Mac OS X, Linux and Windows CE and due to its open nature ports to other systems are available, including Xbox, PlayStation Portable, SymbianOS and iPhone.Irrlicht is known for its small size...
are unofficially supported.
PureBasic is used to create tools and games in a fast and easy way. The very active users community share large amounts of open-source code.
PureBasic has its own form designer to aid in the creation of forms for applications, but other third-party solutions are also available.
Hello World example
The following single line of PureBasic code will create a standalone executable (3.00 KB (3,072 bytes) on Windows version) that displays a message box with the text "Hello World".
("Message Box", "Hello World")
And the following variant of the same code, which instead uses an inline Windows API
Windows API
The Windows API, informally WinAPI, is Microsoft's core set of application programming interfaces available in the Microsoft Windows operating systems. It was formerly called the Win32 API; however, the name "Windows API" more accurately reflects its roots in 16-bit Windows and its support on...
call with no need for declarations or other external references, will create an even smaller 2.00 KB (2,048 bytes) standalone executable for Windows.
(0, "Hello World", "Message Box", 0)