PureBasic - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Introduction

Purebasic
Apparu en 2000
Auteur Fantaisie Software
Développeur Fred Laboureur
Dernière version stable 4.41 (le 31 janvier 2010)[+/−]
Paradigme Impérative
Système d'exploitation Windows, Mac OS, Linux, AmigaOS
Licence Logiciel propriétaire
Site Web http://www.purebasic.com

PureBasic est un langage de programmation de type BASIC. La version actuelle stable est la 4.41. La version actuelle bêta est la 4.50 Beta 4. Plusieurs points le caractérisent :

  • Simplicité : la syntaxe BASIC est simple à apprendre.
  • Rapidité : les applications produites sont optimisées (taille réduite) et rapides (aussi rapide que le c++ dans certains cas).
  • Portabilité : le code source est portable d'un système d'exploitation à l'autre. Il existe une version de PureBasic pour AmigaOS, Linux, Windows, et Mac OS.

PureBasic possède un jeu de commandes étendues (plus de 800 commandes internes) auxquelles s'ajoute un accès simplifié d'une grande partie de l'API du système d'exploitation. Le programmeur peut appeler les commandes de l'API de Windows, de Linux ou Mac OS directement comme s'il s'agissait des commandes internes à PureBasic, sans avoir à les déclarer au préalable (ainsi que les constantes). Rien de mieux qu'un exemple pratique pour illustrer ceci. Comparons un programme simple en visual basic avec son équivalent en PureBasic : Comment obtenir le chemin du répertoire Windows.

Visual Basic:
      Private Declare Function GetWindowsDirectory Lib "kernel32" Alias "GetWindowsDirectoryA" _      (ByVal lpBuffer As String, ByVal nSize As Long) As Long      Const MAX_PATH = 260      strWindowsDirectory$ = Space$(MAX_PATH)      lngReturn& = GetWindowsDirectory(strWindowsDirectory$, MAX_PATH)      
PureBasic:
      strWindowsDirectory$ = Space(#MAX_PATH)      lngReturn = GetWindowsDirectory_(strWindowsDirectory$, #MAX_PATH)      

Description

Caractéristiques

PureBasic gère de nombreux types :

  • Ascii (.a)
  • Byte (.b)
  • Char (.c)
  • Double (.d)
  • Float (.f)
  • Integer (.i)
  • Long (.l)
  • Quad (.q)
  • String (.s)
  • Unicode(.u)
  • Word (.w)
  • Structures définies par l'utilisateur

PureBasic supporte de nombreuses fonctionnalités :

  • Support de l'Unicode
  • Support du Thread-Safe
  • Support du 64 bits (Windows, Linux, MacOs)
  • Support de différents processeurs
    • 3DNOW
    • MMX
    • SSE
    • SSE2
  • Support de l'assembleur inline (Assembleur de type FASM (Windows et Linux) et NASM (MacOs))
  • Support de différents API
    • Windows : Win32
    • Linux : GTK+, SDL, LibC
    • MacOS : Carbon
    • Tous : LibXML
  • Spécifique à Windows
    • Support des thèmes pour Windows XP
    • Support de l' UAC de Windows Vista

PureBasic permet de créer :

  • Windows
    • Executables (.exe) de type GUI ou Console
    • DLLs (.dll)
    • UserLibraries via un outil externe : Tailbite ou Moebius
    • Import Libraries (.lib) via un outil externe
  • Linux
    • Executables de type GUI ou Console
    • Shared Libraries (.so)
  • MacOS
    • Executables de type GUI ou Console
    • Shared Libraries (.dylib)

Bibliothèques

Pour information, voici la liste officielle des bibliothèques PureBasic :

Bibliothèques générales
2D Drawing, CDAudio, Cipher, Clipboard, Console, Database, Date, Desktop, DragDrop, File, FileSystem, Font,
Gadget, Help, Image, ImagePlugin, Library, Linked List, Math, Memory, Menu, Misc, Movie, Network,
OnError, Packer, Preference, Process, Printer, Requester, Scintilla, Sort, StatusBar, String, SysTray, Thread,
Toolbar, Window, XML, Regular Expression
Bibliothèques pour les jeux 2D
Joystick, Keyboard, Module, Mouse, Palette, Sprite & Screen, Sprite3D, Sound, SoundPlugin
Bibliothèques pour les jeux 3D
Engine3D, Billboard, Camera, Entity, Light, Material, Mesh, Particle, Terrain, Texture

Vous pouvez bien sûr créer vos propres bibliothèques en langage C ou en assembleur, ou encore directement en PureBasic grâce à un utilitaire développé par un utilisateur de PureBasic (Tailbite).

Exemples

Cette simple ligne de code PureBasic créera un exécutable autonome minuscule de 3,00 Ko (3 072 octets) pour Windows.

      MessageRequester("", "Hello World")      

Et ce qui suit est un court mais parfait exemple d'un programme fonctionnel avec PureBasic. La somme des nombres saisis par l'utilisateur est affichée automatiquement. Ce programme montre comment créer une fenêtre, des gadgets supplémentaires, ainsi que la gestion des événements et un calcul mathématique simple. Ce code compile dans un exécutable autonome de 14,5 Ko (14 848 octets) qui peut être utilisé sur n'importe quel PC équipé de Windows 95 au serveur 2003 de Windows en passant par Windows XP.

      OpenWindow(1,300,300,100,100,"Title",#PB_Window_SystemMenu)        StringGadget(1,10,10,50,20,"")        StringGadget(2,10,40,50,20,"")        TextGadget(3,80,30,50,20,"")        Repeat          ev=WaitWindowEvent()          If ev=#PB_Event_Gadget            op1=Val(GetGadgetText(1))            op2=Val(GetGadgetText(2))            SetGadgetText(3,Str(op1+op2))          EndIf        Until ev=#PB_Event_CloseWindow      End      
Page générée en 0.290 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales
Version anglaise | Version allemande | Version espagnole | Version portugaise