Open Watcom
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.
Développé par |
Watcom, Sybase, SciTech Software |
---|---|
Première version | |
Dernière version | 1.9 () |
Écrit en | C |
Environnement | Linux, MS Windows |
Langues | anglais |
Type | compilateurs C, C++ |
Licence | Sybase Open Watcom Public License (en) |
Site web | www.openwatcom.org |
Aperçu
modifierLa 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
modifierLe 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
modifierWatcom 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
modifierCe 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
modifierVers 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- D'après Andrew Orlowski, « Windows NT: Remember Microsoft's almost perfect 20-year-old? », The Register, (lire en ligne, consulté le ).
- « Information for Watcom products and services has moved! » [archive du ], watcom.com,
- Free Software Foundation, « Various Licenses and Comments about Them », sur GNU Operating System (consulté le )
- « Open Watcom V2 Fork »
- « Open Watcom V2 Fork Project on GitHub »
- « pcdosasm.zip archive »(Archive.org • Wikiwix • Archive.is • Google • Que faire ?), (consulté le )
- « Installer Open Watcom sous Linux - Open Watcom »(Archive.org • Wikiwix • Archive.is • Google • Que faire ?) (consulté le ) sur le wiki OpenWatcom.org.
- « Latest Release (June 2010) - Open Watcom »(Archive.org • Wikiwix • Archive.is • Google • Que faire ?), sur OpenWatcom.org wiki
- « History - Open Watcom »(Archive.org • Wikiwix • Archive.is • Google • Que faire ?) (consulté le ). OpenWatcom.com wiki.
- [1] "RotT was written in Watcom C++ v10.0 with the Rational Systems DOS/4GW extender."
Liens externes
modifier- Site officiel
- « Manuels de référence OpenWatcom »(Archive.org • Wikiwix • Archive.is • Google • Que faire ?) (consulté le )
- Paul Hsieh., « The WATCOM C/C++ Programmer’s FAQ », (consulté le )
- Rick Grehan, « Watcom C/C++ Gets a New Face », BYTE, vol. 19, no 10, , p. 111 (lire en ligne [archive du ], consulté le )