(retour à l'index général) (page comparaison 16-32 bits)
Le système d'exploitation Windows est développé commercialement par la société Microsoft. Il est très rentable pour cette société, car il est coûteux pour l'utilisateur.
Le système d'exploitation Linux est développé gratuitement par de nombreux programmeurs. Il est fondamentalement gratuit, même si quelques sociétés vivent de la commercialisation de ce système, associée à la fourniture de logiciels, de livres etc. Bien que beaucoup moins coûteux pour l'utilisateur que Windows, il est beaucoup moins répandu que celui-ci, à cause de la puissance commerciale écrasante de la société Micro$oft.
On a coutume d'opposer ces deux systèmes, le gratuit contre le
commercial, David contre Goliath, le système des programmeurs contre
le système des commerciaux en costume-cravate...
En fait, tant qu'on n'entre pas dans les détails, beaucoup de
points sont communs.
Il existe plusieurs logiciels ayant deux versions, l'une pour Windows,
l'autre pour Linux.
C'est le cas de la suite de bureautique StarOffice, qui est gratuite
jusqu'à la version 5.2, et qui a aussi l'avantage d'exister en français
et dans de nombreuses autres langues. Actuellement, StarOffice existe en
deux versions, l'une nommée "StarOffice", qui est diffusée
commercialement (très bon marché) par la société
Star, et la version "OpenOffice", diffusée gratuitement par OpenOffice.org.
C'est le cas aussi du langage de programmation Delphi pour Windows, dont la version pour Linux s'appelle Kylix ; les deux sont des logiciels commerciaux de la société Borland.
Il existe aussi un certain nombre de "petits logiciels", moins connus et moins puissants que les précédents, qui existent pour plusieurs systèmes d'exploitation, dont Windows et Linux. Parmi les langages de programmation, on peut citer FreePascal, SmallBasic, YaBasic... Parmi les logiciels de mathématiques ayant des fonctions de programmation, on peut citer Scilab.
Ainsi, il doit être possible de développer des applications scientifiques pour ces deux systèmes d'exploitation, sans avoir à tout refaire lorsqu'on passe de l'un à l'autre.
De la même manière que les logiciels de traitement de
texte sont capables d'utiliser toutes les imprimantes grâce
à des "pilotes d'imprimantes", on peut séparer la
programmation des logiciels d'EXAO en deux parties :
- d'une part le logiciel visible par l'utilisateur (l'application), qui
peut être écrit dans un langage ou dans un autre
- d'autre part les pilotes des appareils de mesure, qui peuvent être écrits dans un langage ou dans un autre.
Deux types principaux de pilotes sont utilisables :
- les bibliothèques dynamiques = librairies partagées
(dll de Windows, so de Linux), qui permettent de faire des mesures
très rapides, mais qui ne sont pas utilisables avec tous les
logiciels ou langages de programmation
- les pilotes exécutables, qui sont utilisables pratiquement
avec tous les langages de programmation, mais qui sont moins rapides.
Principe fondamental des librairies partagées
Syntaxe proposée pour les librairies
Exemples complets : DLL pour ADES en Delphi,
et DLL pour appareil fictif en C++Builder
Utilisation de ces DLL par des logiciels
d'application (Delphi, C++Builder, MSWLogo, StarBasic)
Et pour Linux ?
Programmation de pilotes sous formes de programmes exécutables