PureBasic

A new "high level" programming language based on established BASIC rules.
Download

PureBasic Ranking & Summary

Advertisement

  • Rating:
  • License:
  • Shareware
  • Price:
  • USD 69.00 | BUY the full version
  • Publisher Name:
  • Fantaisie Software
  • Publisher web site:
  • http://www.purebasic.com/index.php3

PureBasic Tags


PureBasic Description

A new "high level" programming language based on established BASIC rules. PureBasic is a new "high level" programming language based on established BASIC rules. PureBasic is similar to any other BASIC compiler you may have used, whether for the Amiga or PC. Learning PureBasic is very easy! PureBasic has been created for the beginner and expert alike. Compilation time is really fast. We have put a lot of effort into its realization to produce a fast, reliable and system friendly language. The syntax is simple but the possibilities are endless with PureBasic's advanced features, such as pointers, structures, procedures, dynamically linked lists and much more. The experienced coder will have no problem in gaining access to any of the legal OS structures or API objects. PureBasic is a portable programming language which currently works on AmigaOS (680x0 and PowerPC), Linux, MacOS X (PowerPC) and Windows computer systems. This means that the same code can be compiled natively the three systems and still use the full power of each. There are no bottlenecks like a virtual machine or a code translator; the generated code produces highly optimized executables regardless of the OS on which it is compiled. The external libraries are mainly written in hand optimized assembler, which produces very fast commands, often much faster than the C/C++ equivalent.Installation: Use 'su -' to have root shell (if not already done) Copy the 'purebasic/Compilers/pbcompiler' file in /usr/bin/ or any other directory in the PATH: # cp purebasic/compilers/pbcompiler /usr/bin/ Next, move the whole 'purebasic' directory in /usr/share/ # cp -rf purebasic /usr/share/ NOTE: you can set the $PUREBASIC_HOME environment variable to your installation path if you don't want to put the purebasic drawer in /usr/share. If you don't have 'fasm', copy it in your path (fasm v1.45 at least) # cp purebasic/compilers/fasm /usr/bin/ To test your install, just type: # pbcompiler Here are some key features of "PureBasic": · Huge set of internal commands (800+) to quickly and easily build any application or game · All BASIC keywords are supported · Very fast compiler which creates highly optimized executables · No external DLLs, runtime interpreter or anything else required when creating executables · Procedure support for structured programming with local and global variables · Access to full OS API for advanced programmers · Easy but very fast 2D game support trough dedicated libraries (DirectX, SDL, ...) · Easy and high quality 3D support based on OGRE · Optimal use of the available hardware by using highly optimized (assembly) commands · Source code is portable between AmigaOS, Windows, MacOS X and Linux, for games and applications · Dedicated editor and development environment · Integrated debugger to easily trace programming bugs. Technical Features: · 486, Pentium (Pro, II, III) support · Built-in arrays, dynamically linked lists, complex structures, pointers and variable definitions · Supported types: Byte (8 bits), Word (16 bits), Long (32 bits), Float (32 bits) and also user defined types (structures) · Built-in string types (characters) · Constants, binary and hexadecimal numbers supported · Expression reducer (grouping constants and explicit numbers together) · Standard arithmetic support in respect of sign priority and parenthesis: +, -, /, *, and, or, lsl, asl, lsr, asr · Very fast compilation (about 300 000 lines/min on a P200) · Procedure support for structured programming with local and global variables · All Standard BASIC keywords: If-Else-EndIf, Repeat-Until, etc. · External library support to manipulate objects like BMP pictures, windows, gadgets, SDL, etc. · External libraries are fully written in hand optimized assembler for maximum speed and compactness · The Linux API functions are fully supported as if they were BASIC keywords · Inline assembler · Precompiled structures with constants files for extra fast compilation · Configurable CLI compiler · System friendly, easy to install and use Requirements: · Linux with XFree 4.0 · NAsm and SDL · GTK+ 1.2 · SDL 1.2 · PureBasic 'MIDAS Module' library What's New in This Release: · Added: Full 64 bits version of PureBasic (Windows) · Added: MacOS X x86 support · Added: 'JPEG 2000' library · Added: 'Node' library · Added: 'Gadget3D' library · Added: 'Window3D' library · Added: 'Sound3D' library · Added: Full unicode support to the engine3d · Added: MacOS X support for engine3d · Added: Absolute/relative rotation for all engine3d rotate commands · Added: Absolute move for engine3d physic body · Added: EntityID(), EntityLookAt() · Added: CameraProjectionX(), CameraProjectionY(), WorldDebug(), Sun() · Added: MousePick(), PointPick(), PickX/Y/Z(), CreateWater(), AntialiasingMode() · Added: CatchModule(), ArraySize(), WindowBounds(), DesktopX(), DesktopY() · Added: FinishDatabaseQuery(), DatabaseID() · Added: CreateSemaphore(), FreeSemaphore(), SignalSemaphore(), WaitSemaphore(), TrySemaphore() · Added: '.i' native type for 32/64 bits integer size · Added: Read/WriteInteger(), Read/WritePreferenceInteger(), PeekI(), PokeI() · Added: Language support for compiler and debugger · Added: Style parameter to FontRequester() · Added: Support for 'And/Or' in CompilerIf statements · Added: #PB_Event_MinimizeWindow, #PB_Event_MaximizeWindow, #PB_Event_RestoreWindow · Added: #PB_Ignore support to AddStatusBarField() · Added: #PB_Explorer_DisplayMode to ExplorerListGadget() · Added: Multiple joystick support · Added: #PB_Compiler_FilePath compiler constant · Enhanced: Major rework of OnError library (crossplatform) · Enhanced: InitScintilla(), parameter is now optional · Enhanced: Complete debugger rewrite for support of the new platforms · Optimized: XML library to handle very big files quickly · Optimized: LinkedList library to use memory efficiently · Changed: 'Read' keyword now requiers a type (Read.l, Read.q etc.) to avoid 64 bits migration problems · Changed: CountList() to ListSize() · Changed: ClearGadgetItemList() to ClearGadgetItems() · Changed: CameraProjection() to CameraProjectionMode() · Changed: AddElement() and such now return a pointer to the start of data · Changed: ComboBoxGadget() height is now the real gadget height · Changed: #Long, #Byte, #Word etc. to #PB_Long, #PB_Byte, #PB_Word etc. for consistency · Changed: RotateEntity(), RotateCamera() and RotateBillboard() x,y rotation axis · Changed: CameraFOV() angle from radian to degree · Changed: Array and list parameter now requiers the 'List' or 'Array' keyword · Removed: StrQ(), HexQ(), BinQ(), ValQ() · Removed: ChangeListIconDisplay(), replaced by a gadget attribute · Removed: ButtonImageGadget() backward compatibility · Removed: CreateGadgetList(), now automatically done in OpenWindow() · Removed: CopyTexture(), TextureOutput() · Removed: Removed CPU monitor from the IDE, as all OS provide the same functionality · Fixed: DX9 subsystem on Windows · Fixed: Many compiler and libraries related bugs


PureBasic Related Software