PureBasic

PureBasic
Purebasic
Apparu en 2000
Auteur Fantaisie Software
Développeur Fred Laboureur
Dernière version stable 4.60 (le 11 novembre 2011)[+/−]
Paradigme Impérative
Influencé par BASIC
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.60.

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.
  • Sans dépendances : le langage ainsi que les applications ne nécessite pas d'installation obligatoire, il est donc aisé de le transporter sur une clef USB.
  • Création de DLL : La création de DLL standard (Non ActiveX) au format du C est aussi aisée que la création d'exe.
  • Le prix : Les mises à jour sont gratuites à vie.

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)

Sommaire

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
    • Exécutables (.exe) de type GUI ou Console
    • DLLs (.dll)
    • UserLibraries via un outil externe : Tailbite ou Moebius
    • Import Libraries (.lib) via un outil externe
  • Linux
    • Exécutables de type GUI ou Console
    • Shared Libraries (.so)
  • MacOS
    • Exécutables 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, Vista ou même Windows 7.

OpenWindow(1, 300, 300, 100, 100, "Title")
  StringGadget(1, 10, 10, 50, 20, "")
  StringGadget(2, 10, 40, 50, 20, "")
  TextGadget(3, 80, 30, 50, 20, "")
  Repeat
    Event = WaitWindowEvent()
    If Event = #PB_Event_Gadget
      FirstValue = Val(GetGadgetText(1))
      SecondValue = Val(GetGadgetText(2))
      SetGadgetText(3, Str(FirstValue + SecondValue))
    EndIf
  Until ev = #PB_Event_CloseWindow

Historique

Voici l'historique[1] de Purebasic 2.0 PR1 à nos jours :

  • 22/10/2000 : 2.0 PR1
    • Première Release pour Windows
  • 12/11/2000 : 2.0 PR2
  • 28/11/2000 : 2.0 PR3
  • 17/12/2000 : 2.0
  • 26/01/2001 : 2.1
  • 25/03/2001 : 2.2
  • 17/05/2001 : 2.3
  • 01/08/2001 : 2.4
    • Gestion du type float
  • 23/09/2001 : 2.5
    • Création de programmes de type Console
  • 06/11/2001 : 2.6
  • 28/11/2001 : 2.7
  • 01/01/2002 : 2.8
    • Support de Windows XP (avec la gestion des skins)
  • 27/01/2002 : 2.9
    • Création de DLLs
  • 04/04/2002 : 3.0
  • 06/05/2002 : 3.1
  • 09/06/2002 : 3.2
  • 16/08/2002 : 3.3
  • 09/10/2002 : 3.4
  • 06/01/2003 : 3.5
  • 17/03/2003 : 3.6
  • 07/06/2003 : 3.7
  • 06/10/2003 : 3.8
  • 12/04/2004 : 3.9
  • 04/07/2004 : 3.91
  • 25/10/2004 : 3.92
  • 28/02/2005 : 3.93
  • 16/08/2005 : 3.94
  • 08/05/2006 : 4.00
    • MAJ de Ogre3D vers la 1.0.7
    • Gestion de nouveaux types (quad, double, character)
    • Support de l'Unicode
    • Support des Subsystems
  • 30/10/2006 : 4.01
  • 10/12/2006 : La version 4.0 pour AmigaOS devient Open Source et est officiellement supporté
  • 18/12/2006 : 4.02
  • 15/04/2007 : 4.00 Linux
  • 04/11/2007 : 4.10 Linux, MacOS & Windows
    • Support de Windows Vista (avec l'UAC)
  • 30/12/2007 : 4.20 Bêta 1 Windows
  • 28/01/2008 : 4.20 Bêta 2 Windows
  • 31/01/2008 : 4.20 Bêta 1 Linux
  • 01/04/2008 : 4.20 Bêta 3 Windows
  • 10/04/2008 : 4.20 Bêta 4 Windows
  • 09/05/2008 : 4.20 Bêta 5 Windows
  • 12/05/2008 : 4.20 Bêta 6 Windows, Beta 2 Linux, Beta 1 MacOSX
  • 23/05/2008 : 4.20 Linux, MacOS & Windows
  • 17/12/2008 : 4.30 Linux, Windows XP 32/64 bits, Windows Vista 32/64 bits & MacOS
  • 25/05/2009 : 4.31 Bêta 1 Linux, MacOS & Windows
  • 29/05/2009 : 4.31 Bêta 2 Linux, MacOS & Windows
  • 04/06/2009 : 4.31 Linux, MacOS & Windows
  • 14/08/2009 : 4.40 Bêta 1 Linux, MacOS & Windows
  • 18/08/2009 : 4.40 Bêta 2 Linux, MacOS & Windows
  • 16/09/2009 : 4.40 Bêta 3 Linux, MacOS & Windows
  • 09/10/2009 : 4.40 Bêta 4 Linux, MacOS & Windows
  • 12/10/2009 : 4.40 Bêta 5 Linux, MacOS & Windows
  • 05/11/2009 : 4.40 Bêta 6 Linux, MacOS & Windows
  • 17/11/2009 : 4.40 Bêta 7 Linux, MacOS & Windows
  • 01/12/2009 : 4.40 Linux, MacOS & Windows
  • 17/01/2010 : 4.41 RC1 Linux, MacOS & Windows
  • 31/01/2010 : 4.41 Linux, MacOS & Windows
  • 01/04/2010 : 4.50 Bêta 1 Linux, MacOS & Windows
  • 02/04/2010 : 4.50 Bêta 2 Linux, MacOS & Windows
  • 21/04/2010 : 4.50 Bêta 3 Linux, MacOS & Windows
  • 05/05/2010 : 4.50 Bêta 4 Linux, MacOS & Windows
  • 08/09/2010 : 4.51 Windows 32/64 bits, Linux 32/64 bits & MacOS X
  • 21/08/2011 : 4.60 Bêta 4 Linux, MacOS & Windows
  • 08/09/2011 : 4.60 RC1 Linux, MacOS & Windows
  • 11/11/2011 : 4.60 Windows 32/64 bits, Linux 32/64 bits & MacOS X

Outils

Moebius

Moebius est un outil open source créé par Progi1984 qui permet de créer à partir de code Purebasic une userlib, sous Windows et Linux. Lien : http://code.google.com/p/moebius-pb/

Tailbite

Tailbite est un outil créé par ElChoni qui permet de créer à partir de code Purebasic une userlib, uniquement sous Windows. Lien : http://www.tailbite.com

Visual designer

L'éditeur visuel de PureBasic (concepteur d'interfaces graphiques utilisateur) a été créé pour le langage de programmation PureBasic et est bien sûr développé en PureBasic. Lien : http://www.purebasic.be (lien mort)

Collaboration PureBasic/Autres langages et fichiers

Outre le fait d'accéder à l'API de Windows, le langage PureBasic, lorsqu'il est utilisé en console, peut utiliser des scripts BATCH (langage MSDOS) séparés, dont les sorties utilisateurs s'afficheront directement dans la fenêtre de la console PureBasic, et non dans une fenêtre séparée. Certains processus batch restent toutefois inaccessibles, comme les conditions...

Exemple:

Fichier PureBasic (donc fichier principal)

OpenConsole()
EnableGraphicalConsole(1)
RunProgram("BATCH.bat")
Input()

Fichier BATCH (sous programme):

@echo off
echo.
echo Ceci est un Batch d'exemple pour WIKIPEDIA
echo.
exit

Le programme PureBasic, compilé en assembleur, donnera, si BATCH.bat est dans le même dossier, un programme en console affichant :

Une ligne vide
Un texte (Ceci est un Batch d'exemple pour WIKIPEDIA)
Une ligne vide

Et ce programme attendra une entrée de données par l'utilisateur et une validation par ENTREE/ENTER pour fermer, grâce à la fonction Input().

Note importante: Bien sûr, cette collaboration Batch/PureBasic n'est possible que sous Windows...

Pour l'utilisation des autres types de fichiers, PureBasic intègre des librairies pour décoder le JPEG, les fichiers vidéo. Ces librairies sont citées précédemment. Lors de la compilation d'un programme, le programmeur peut choisir d'intégrer d'autres ressources à son projet via les options du compilateur.

Liens externes

Références

  1. Documentation de Purebasic

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article PureBasic de Wikipédia en français (auteurs)

Игры ⚽ Поможем написать реферат

Regardez d'autres dictionnaires:

  • Purebasic — Entwickler: Fantaisie Software Aktuelle Version: Windows: 4.30 (17. Dezember 2008) Linux: 4.30 (17. Dezember 2008) …   Deutsch Wikipedia

  • Purebasic — Apparu en 2000 Auteur Fantaisie Software …   Wikipédia en Français

  • PureBasic — Entwickler Fantaisie Software Aktuelle Version Windows: 4.60 (7. November 2010) Linux: 4.60 (7. November 2010) Mac OS X: 4.60 (7. November 2010) Amiga OS: 4.00 (1 …   Deutsch Wikipedia

  • PureBasic — PureBasic  диалект языка BASIC и коммерческий компилятор для него. Предназначен для создания кроссплатформенных приложений для AmigaOS, Linux, Microsoft Windows, Windows NT и Mac OS X. Разработан компанией Fantaisie Software. Программы,… …   Википедия

  • PureBasic — Saltar a navegación, búsqueda PureBasic es un compilador de un dialecto del lenguaje de programación BASIC. Incluye entorno de programación, con un amplio repertorio de instrucciones y librerías. Una de sus principales características frente a… …   Wikipedia Español

  • PureBasic — es un compilador de un dialecto del lenguaje de programación BASIC. Incluye entorno de programación, con un amplio repertorio de instrucciones y librerías. Una de sus principales características frente a otros es la de generar ejecutables muy… …   Enciclopedia Universal

  • PureBasic — Infobox Software name = PureBasic caption = PureBasic IDE running on Windows 2000 developer = Fantaisie Software latest release version = v4.20 latest release date = 2008 operating system = Mac OS X (PowerPC only), Microsoft Windows, Linux,… …   Wikipedia

  • Pure Basic — PureBasic Entwickler: Fantaisie Software Aktuelle Version: Windows: 4.30 (17. Dezember 2008) Linux: 4.30 (17. Dezember 2008) …   Deutsch Wikipedia

  • Сравнение языков программирования — Эту статью следует викифицировать. Пожалуйста, оформите её согласно правилам оформления статей.  Условные обозначения  …   Википедия

  • Basicdialekt — Aufgrund der seit Jahrzehnten bestehenden Popularität von BASIC existieren zahlreiche BASIC Implementierungen auf einer Vielzahl von Plattformen. Entsprechend den sehr unterschiedlichen Umgebungen und Einsatzzwecken wurde eine hohe Zahl von… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”