Jump to content

PureBasic

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by WPWatcher (talk | contribs) at 02:13, 11 June 2011 (Added more notability cites.). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
PureBasic
File:PureBasic IDE.png
Paradigmstructured, imperative, procedural
FamilyBASIC
Designed byFantaisie Software
DeveloperFantaisie Software
First appeared2000
Stable release
v4.51 / August 9, 2010 (2010-08-09)
OScross-platform: Microsoft Windows, Linux, Mac OS X (active)
AmigaOS (discontinued, open source)
Licensecommercial
Filename extensions.pb
Websitewww.purebasic.com
Influenced by
BASIC
The PureBasic Visual Designer, showing a selection of popular GUI components that it supports.

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.[1] The first public release of PureBasic was on December 17, 2000.[2] It has been continually updated since.

PureBasic compiles directly to x86, x86-64, PowerPC or 680x0 instruction sets, generating small standalone executables and DLLs which need no runtime libraries beyond the standard system libraries. Programs developed without using the platform-specific application programming interfaces (APIs) can be built easily from the same source file with little or no modification.[3][4]

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[5], 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.[6][7][8] The editor has full project support[9] and the compiler is thread-safe with a powerful debugger that supports breakpoints with stepping mode, variable viewer and watcher, and other debugging features[10] common to major BASIC products.

PureBasic supports and has integrated the OGRE 3D Environment.[11] Other 3D environments such as the Irrlicht Engine and Dreamotion are unofficially supported.

Hello World example

The following single line of PureBasic code will create a 3.00 KB (3,072 bytes) standalone executable for Windows that displays a message box with the text "Hello World".

MessageRequester("Message Box", "Hello World")

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.

MessageBox_(0, "Hello World", "Message Box", 0)

Books on PureBasic

  • Purebasic: A Beginner's Guide to Computer Programming by Gary Willoughby (ISBN-10: 1427604282).
  • Purebasic by Lambert M Surhone, Miriam T Timpledon, Susan F Marseken (ISBN: 6130918909).
  • Programming 2D Scrolling Games by John P. Logsdon (ISBN: 1-894752-34-1).

Books mentioning PureBasic

  • Page 241 of Malware Analyst's Cookbook and DVD: Tools and Techniques for Fighting Malicious Code by Michael Ligh, Steven Adair (ISBN-10: 0470613033).
  • Page 300 of Cryptography for Internet and Database Applications: Developing Secret and Public Key Techniques with Java by Nick Galbreath (ISBN-10: 9780471210290).

Other media mentioning PureBasic

  • Manly Daily newspaper article, 25 June 2004 edition.[12]
  • APC magazine with coverdisc and tutorial, February 2005 edition.[13]

References

  1. ^ "PureBasic.com Download Page".
  2. ^ "PureBasic.com First Release".
  3. ^ "PureBasic". The main features of PureBasic. Retrieved 9 June 2011. Source code is portable between AmigaOS, Windows, MacOS X and Linux
  4. ^ "PureBasic Online Documentation". List of Platform-dependent Functions. Retrieved 9 June 2011.
  5. ^ "Inline x86 ASM". PureBasic Online Documentation. Retrieved 9 June 2011.
  6. ^ "Purebasic Windows Features". Retrieved 9 June 2011. The Win32 API functions is supported as if they were BASIC keywords
  7. ^ "Purebasic Linux Features". Retrieved 9 June 2011. The Linux API functions are fully supported as if they were BASIC keywords
  8. ^ "Purebasic MacOS X Features". Retrieved 9 June 2011. The MacOS X API functions are supported as if they were BASIC keywords
  9. ^ "PureBasic Online Documentation". Managing projects. Retrieved 9 June 2011.
  10. ^ "PureBasic Online Documentation". Using the debugger. Retrieved 9 June 2011.
  11. ^ "PureBasic". The main features of PureBasic. Retrieved 9 June 2011. Easy and high quality 3D support based on OGRE
  12. ^ PureBasic newspaper article. Retrieved 11 June 2011.
  13. ^ PureBasic magazine coverdisc. Retrieved 11 June 2011.