PureBasic
Last update: Feb 2019, PB 5.62
This page has been visited 47713 times.


Did you ever hear of Turbo Pascal 3.0 ?




While Microsoft was producing its sophisticated but bulky compilers, in 1986 Borland introduced Turbo Pascal 3.0.

It was written in assembly, it was blazing fast and in less than 40 KB you had a compiler, an editor, a linker and a debugger all loaded in RAM at the same time.

It was something that really impressed me, computers were not as powerful as today and TP3.0 was a joy to use: everything was immediate and the programming cycle [write code -> compile -> test -> repeat] was so effortless it was like using an interpreter magically running at the speed of compiled code.

In 2004 I stumbled on PureBasic after using many generations of Visual Studio (Visual Basic and Visual C/C++) and I was hooked by experiencing again, after all those years, a sensation similar to the one TP3.0 gave me in 1986.

Small, quick, simple.

I was happy ! Unfortunately things didn't evolve as I was hoping for, but more about this later.


PureBasic is a language, you guessed it, sharing some common ground with a very large family of BASIC dialects.

It's available for Windows, Linux and Mac OSX, with its most polished implementation running under Windows.

It's possible to write cross platform programs by just using PB statements and libraries, if you limit yourself to only the common set of commands and libraries available for all the OSes.

But more realistically you'll need to write some platform specific code here and there, using the target OS APIs.

On OSX this requires some acrobatics since Cocoa it's built with Objective C in mind.

The PureBasic's IDE is one good example of cross platform application and it's written in PureBasic. It's not really identical on all the platforms but it's reasonably close, so you get an idea of what can be done.

As any language has its strong and weak points, and most of them are subjective since not everyone need (or like) the same level of power or complexity so what I find important or irrelevant can be very different from what you think.

But beyond my opinions, there is a lot of good information in here, and if you just discovered PureBasic this page can point you in various directions you can explore further and most importantly a lot sooner.

Unless explicitly stated otherwise these notes are relative to the Windows version, both x86 and x64, since that's the OS I use most.

Let's start.


PureBasic's best features:



Weaker points:



... and some other points:



Wrapping it up

I think PB can have its place, it's quite unique and I don't know of anything else directly comparable.
It can be a handy tool if you are an hobbyist or a nostalgic BASIC programmer, or if you simply like BASIC languages and you want a small, fast, compact environment to code in without distractions or layers of added complexity, if you just dislike OOP, or if you normally use more complex languages and you are looking for a tool to quickly write support utilities, etc.
Some aspects of it are very nice and at the same time some of its shortcomings are extremely annoying to live with.
In the forum some people are asking for years for some useful extensions to the language or a specific bug to be fixed and they are growing older waiting for it.
Don't expect the core language to evolve, I finally gave up on that and I no longer waste my time in the forum discussing what could be done and how.
If you have certain expectations you should move on to something else, even at the cost of an initially steeper learning curve.
If you are happy with its current state, you can enjoy the positives I listed before.

Now it's time for you to try it and make your mind about it.
Read the subsections of the forum dedicated to reporting bugs, look at the kind of reported bugs, how old they are, the replies or lack thereof, and read the manual once from top to bottom (very few do it, and it shows in the forum).
Most of all, try the whole package for a while, create a small but real project with it and consider the pros and cons of your experience.



(1) See TailBite by ABBKlaus.
(2) See also PureForm a visual designer by Gnozal (probably no longer supported), PureVision (shareware).
(3) See OOP tutorial by srod, Class template by luis.

Some links

PureBasic : The official home page of the language.

PureBasic forum : The official english forum.

PureBasic Team Blog : The official blog maintained by the PureBasic's developers.

Interview with Frédéric 'AlphaSND' Laboureur (fred) (2005) : The creator of PureBasic.

Interview with Timo Harter (freak) (2009) : The other PureBasic's developer.

Interview with Frédéric 'AlphaSND' Laboureur (fred) (2012) : A more recent interview with Fred.

PureArea (André Beer) : Home of CodeArchiv.

PureBasic OpenSource Libraries : A collection of open-source libraries usable through the LGPL license, mostly outdated but they can give you some ideas nevertheless.

PureBasic Survival Guide (blueznl) : A great guide you can use to complement to the official PureBasic's documentation while learning the language.



Once upon a time you could have sent me an e-mail by clicking somewhere around here ....