[go: up one dir, main page]

Le compilateur Watcom C/C++ est désormais une implémentation open-source des langages de programmation C et C++ disponible sur diverses plates-formes et systèmes d'exploitation.

Open Watcom
Description de l'image Watcom logo.png.

Informations
Développé par Watcom, Sybase,
SciTech Software
Première version
Dernière version 1.9 ()Voir et modifier les données sur Wikidata
Écrit en CVoir et modifier les données sur Wikidata
Environnement Linux, MS Windows
Langues anglais
Type compilateurs C, C++
Licence Sybase Open Watcom Public License (en)Voir et modifier les données sur Wikidata
Site web www.openwatcom.orgVoir et modifier les données sur Wikidata

Aperçu

modifier

La société Watcom International Corporation avait été fondée en 1981 par trois anciens employés (Fred Crigger, Ian McPhee et Jack Schueler) du département d'informatique de l’Université de Waterloo, au Canada. Watcom développa plusieurs logiciels.

Compilateur propriétaire

modifier

Le compilateur Waterloo BASIC, l'un des premiers logiciels commercialisés par Watcom, préexistait à l'enregistrement de la marque : il avait été programmé entre 1978 et 1979 pour l’IBM Series/1, un PC 16 bits. En 1979, le compilateur a été porté pour VM/CMS tournant sur les IBM 370, 3030 et 4300, et un accord avec IBM a permis sa mise sur le marché. Il y eut plusieurs mises à jour de 1980 à 1983 ainsi qu'une version portée sur l’interpréteur de commandes MVS/TSO et sur VM/CMS. La société développait parallèlement des compilateurs pour d'autres langages : WATCOM APL, WATCOM GKS, WATCOM COBOL, WATCOM Fortran (WATFIV puis WATFOR-77), WATCOM Pascal et l'assembleur Waterloo 6809. Ils étaient fournis avec le Commodore SuperPET.

Vers le milieu des années 1980, Watcom développait des compilateurs pour les ordinateurs Unisys ICON tournant sous le système d'exploitation QNX, en particulier le compilateur Watcom C/C++, qui devint l'outil de choix pour le développement d'applications embarquées.

En 1988, Watcom mit sur le marché son premier compilateur C pour IBM PC et compatibles, dit bizarrement « version 6 » : c'était un clin d'œil au fait que les compilateurs C de ses concurrents, Borland et Microsoft, en étaient précisément à leur version 5. Le compilateur Watcom parut d'abord produire du code plus cursif et plus rapide d'exécution que ses deux concurrents[1].

En 1992, Watcom s'intéressa au marché des systèmes client-serveur avec la mise sur le marché de Watcom SQL, un système de gestion de base de données. Malgré un effectif très modeste (seulement 8 programmeurs), WATCOM maintenait son rang sur le marché du logiciel : Watcom SQL est toujours diffusé, sous le nom de Sybase SQL Anywhere.

Passage en Open source

modifier

Watcom fut racheté par Powersoft en 1994, puis Powersoft fusionna avec Sybase en 1995[2]. Au mois de , Sybase tâcha de faire du compilateur Watcom C un RAD visuel interactif baptisé Optima++ mais, cette application se trouvant concurrente d'un autre produit du groupe (PowerBuilder), son développement fut interrompu en 2003.

Sybase ayant mis un terme à son exploitation commerciale, les sources des compilateurs Watcom C/C++ et Watcom Fortran ont été rendus open source à l'initiative de SciTech Software ; sa distribution n'est cependant pas gratuite.

L’Open Source Initiative lui a accordé sa licence, mais les projets Debian, Fedora, la Free Software Foundation et le projet GNU refusent de reconnaître sa licence comme « libre » parce qu’« elle vous oblige à rendre public votre code source chaque fois que vous déployez ce compilateur, et « déployer » englobe ici plusieurs formes d'utilisation à des fins personnelles[3]. »

Le code est portable et, à l'instar de plusieurs autres compilateurs open source tel GCC, il est disponible pour diverses architectures processeurs.

Il y a un fork officieux[4] d’Open Watcom V2 sur GitHub[5]. Un embryon de variante de la bibliothèque pour DOS 16 bits CRT a été développé sous WASM[6].

Systèmes d'exploitation cibles

modifier

Ce compilateur tourne sous DOS (MS-DOS, FreeDOS), OS/2, Windows et les systèmes d'exploitation Linux. Il tolère également les modules NLM pour Novell NetWare. Des développements en cours visent à l'adapter à Linux[7] et aux systèmes BSD modernes (par ex. le système d'exploitation FreeBSD), x86, PowerPC, etc.

La version 1.4 d'Open Watcom C/C++ de a désigné Linux x86, émulée sous Windows NT ou OS/2, comme la plate-forme d'essai. Le code d'une version avortée pour QNX est disponible, mais les bibliothèques logicielles nécessaires à la compilation ne sont pas open source.

La dernière version stable, la version 1.9, a été publiée en [8].

La syntaxe d’Open Watcom accepte les conventions d’autres compilateurs, comme ceux de Microsoft et de Borland, par exemple celles relatives au nombre d’underscores dans les macros. Le code-source écrit pour un compilateur spécifique plutôt que pour un compilateur C ou C++ compatible avec la norme est souvent correctement analysé par le compilateur Watcom.

Réalisations sous Open Watcom

modifier

Vers le milieu des années 1990 certains des jeux vidéo sous MS-DOS les plus ambitieux techniquement (Doom[9], Descent[9], Duke Nukem 3D[9] et Rise of the Triad[10]) ont été programmés avec Watcom C/C++, et certains, comme ROTT, sont basés sur l'extension mode protégé de DOS/4GW avec le compilateur Watcom.

Notes et références

modifier
  1. D'après Andrew Orlowski, « Windows NT: Remember Microsoft's almost perfect 20-year-old? », The Register,‎ (lire en ligne, consulté le ).
  2. « Information for Watcom products and services has moved! » [archive du ], watcom.com,
  3. Free Software Foundation, « Various Licenses and Comments about Them », sur GNU Operating System (consulté le )
  4. « Open Watcom V2 Fork »
  5. « Open Watcom V2 Fork Project on GitHub »
  6. « pcdosasm.zip archive »(Archive.orgWikiwixArchive.isGoogleQue faire ?), (consulté le )
  7. « Installer Open Watcom sous Linux - Open Watcom »(Archive.orgWikiwixArchive.isGoogleQue faire ?) (consulté le ) sur le wiki OpenWatcom.org.
  8. « Latest Release (June 2010) - Open Watcom »(Archive.orgWikiwixArchive.isGoogleQue faire ?), sur OpenWatcom.org wiki
  9. a b et c « History - Open Watcom »(Archive.orgWikiwixArchive.isGoogleQue faire ?) (consulté le ). OpenWatcom.com wiki.
  10. [1] "RotT was written in Watcom C++ v10.0 with the Rational Systems DOS/4GW extender."

Liens externes

modifier