MD ACME Software - Home Page
Home  •  Blog  •  ACME Desk  •  Historique / History  •  Screenshots  •  Download  •  FAQ  •  Betas
ACME Viewer  •  ACME TreeNote  •  ACME TX Tool  •  ACME ZipFolder  •  ACME Checksum  •  Pourquoi PureBasic ? / (Why PureBasic ?)
Version en Français ici

PureBasic ?

All the programs on this site were created in basic... amazing, right?
But not just any "old" basic, a recent basic (1998) and still maintained (2018).
(20 years in 2018! As a reminder, Visual Basic up to 6 (Microsoft) has only been maintained for 7 years)

This language is called PureBasic. Its author is a frenchman, Frédéric Laboureur. The first version was released on October 22,2001 22 octobre 2001 A demo version (all OS) is available for free download. The restrictions are the limitation to about 800 lines and the lack of direct access to APIs. These 800 lines make it possible to test each function even the most elaborate ones. It is maintained in parallel a version LTS (Long Time Support) over a period of two years. Each new version is preceded by an open beta phase for registered users.


Before you read the official description (on www.purebasic.com) let me give you some technical information.
This information will be useful to professionals who might (should!) consider using this language.
I have been using it for years in the field of middleware, ETL, system administration, in parallel with Perl. (after years of using C, C++, VB, Delphi, Lazarus, Python) This will explain above all why this language is given as the main quality: efficiency (= productivity)
  • This basic does not compile directly, in fact it generates assembler code (using fasm for the Windows and Linux version and yasm for Mac OS X) and it is this code that is then compiled to create the EXE.
    For your information, this "code generator" technique has been used for years in industry (example: Cobol generators)
    It is a simple and brilliant system used by several other products too (but which is unfortunately not promoted on the site)
    • The assembler is the fastest language that exists.
    • The 3 ASM compilers are known, stable and fast products.
    • The encoder can be detached from the unbuitable syntax of the system APIs.
    • The basic has a very simple syntax (We use it everywhere: VB, VBS, VBA etc)
    • This simplicity of language allows the programmer to focus on the program itself and not waste time searching for third party libs, bugged, abandoned, abandoned, paying.
    • The same code can be used (with some modifications) to generate a Windows, Linux or Mac binary.
    • It's really about exe, no virtual machine (java) or encapsulated runtime (python)
    • EXEs are small and autonomous, including for access to databases, graphic generation etc.
    • You can use the same compiler to create graphical applications (GUI Windows or GTK), Console ("DOS" or shell, usable in scripts) and portable DLLs for all systems.
    • It contains nearly 1800 functions.
    • A Form Designer is included, as in C language IDEs (not an RAD).
    • The contextual documentation (available in 3 languages) is particularly well done, consistent and kept up to date with a stand-alone example for each function.
  • There is only one version. There is, for example, no "architect" version to access databases as there is elsewhere. PureBasic natively manages access to SQL databases: SQLite, PostgreSQL, MariaDB/MySQL. All other databases are accessible via ODBC
  • PureBasic manages of course all types of variables, structures, pointers, internal assembler, ActiveX, 2D, 3D, vector drawing...
  • Encoding is managed (e. g. Unicode, UTF-8)
  • Some internal bookshops that interest companies:
    • Support for serial links (so also USB and Bluetooth if mapped on a serial port by the system)
    • Lib networks with everything you need to create TCP/IP client/server applications
    • Lib HTTP (with for example the possibility to make www browser in a single line of code), an FTP lib with FTP dialog, CGI
    • Compress/uncompress: Lib Zip, 7zip etc.
    • Encryption Lib, CRC
    • Drag and drop functions
    • DPI Aware
    • Printing
    • Multi-tasks with management of mutex, semaphores etc.
    • RegEx Regular expressions using the Perl PCRE lib
    • XML, INI, JSON data formats
    • Webservices (REST api)
    • and many others...
  • The help is available in chm format, online (html) and in PDF format (manual of 2150 pages in English)
  • The same license gives the right (lifetime) to all versions (32 and 64 bits) and all OSes (Windows, Linux, Mac). (Author appreciates donations :-)
  • This is not cross-compilation: You need to install each compiler on each OS. However, it is possible to compile the 32 and 64-bit versions of the same program in a single pass (in project mode) and even use several versions of the compiler.
  • The program is delivered as a 30 MB archive (decompact 80). It can be installed in portable version (even on a USB flash drive)
  • There is no Royalty payment to pay to the author for the programs you create.
  • The main author and his team are present on the forums, suggestions are taken into account (not necessarily immediately, and according to the general interest). Even complex bugs are studied and often solved quickly (provided they are well described)
  • Don't be frightened by the old-fashioned look of IDE: it's incredibly effective, especially in debbug tools.

In a nutshell: everything you need is done without stress. In fact, many users have many years of experience in other languages and the day they are asked to produce something viable, fast, simple to maintain without imposing language on them, that is the language they choose. Sustainability?

Keep in mind that what is important in computing is data and algorithms, not just code.


Links:
Webmaster: webmaster@mdacme.com
MD ACME Software (mdacme.com) est un site personnel à but non-commercial hébergé par / is a personal site for non-commercial purposes hosted by gandi.net
Toutes les marques citées en référence sont copyright de leur auteurs respectifs / All trademarks referenced are copyright of their respective authors