PureBasic
Last update: Sep 2023, PB 6.02
This page has been visited 53972 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 !


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, macOS and Raspberry.

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 realistically you often need to write at least some platform specific code here and there, using the target OS APIs.

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

The PureBasic's IDE is one good example of a fairly complex 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.

Also recently the IDE has been made open source! Now you can contribute to the bug fixing or add new features, or simply look the source to learn something from it.

It's available here: PureBasic on GitHub.

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 programmer, if you miss the nice days of Turbo Pascal 3.0 like myself, 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 annoying to live with.
Don't expect the core language to meaningfully evolve, I 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 which are not currently reflected in the language, 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 and even have some genuine fun with it, I certainly do.

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).
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.
Myself, I have a lot of fun with it, so maybe I'll see you in the forum !

Oh, one last thing: PureBasic has a brother now! If you are interested in PureBasic but also in the Web, Android and iOS you should consider it.


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 Survival Guide (blueznl) : A great guide you can use to complement to the official PureBasic's documentation while learning the language.




A PureBasic program using OpenGL running on Windows 10 on my PC.




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