• [^] # Re: Mono

    Posté par . En réponse à la dépêche Microsoft brevette les API de .NET. Évalué à 1.

    Excuse-moi pour ma réponse tardive, trois jours après.

    Conditions d'utilisation : OS MS Windows 2000, compilateur MS Visual C++ 6, environnement de programmation Eiffel EiffelStudio 5.2 de Eiffel Software (anciennement Interactive Software Engineering, c'est la boîte de Bertrand Meyer). Désolé de n'utiliser que du propriétaire, mais au boulot je n'ai pas le choix.

    Champ d'application : informatique industrielle, contrôle d'automates et de systèmes robotisés. Même si ce n'est pas le première qualité du langage, le fait de pouvoir intégrer des procédures externes écrites dans un autre langage (dans ma propre pratique uniquement du langage C) permet de réutiliser des éléments déjà construits. Pour la gestion de certains aspects matériels (la gestion du port série pour exemple de base), c'est indispensable.

    Sinon, l'application du paradigme objet avec ce langage est particulièrement facile grâce, entre autres, à la clarté de la syntaxe. Héritage multiple, généricité, contrainte ou non, facilitent la construction du code et (je dirais presque surtout) sa réutilisation.

    Pour parler spécifiquement de EiffelStudio, l'environnement de programmation est quasi idyllique. Seulement quasi, quelques petites choses énervantes subsistent tout de même, comme par exemple la molette de la souris qui ne fonctionne pas sur certaines fenêtres. La navigation à l'intérieur du code d'un projet fonctionne d'après les entités qui existent en conception objet : classes, attributs, héritage, relation client-serveur. Une gestion particulièrement intelligente des commentaires permet de spécifier les différents groupes d'attributs (création, implémentation ,modification, etc.) et de simplifier, de clarifier la navigation dans le code. Le code bien écrit constitue lui-même sa propre documentation, qui peut se voir de plusieurs points de vue différents selon l'outil (short, flat short, etc.) de vision utilisé.

    Le problème que tu sembles indiquer à propos d'Ada, et qui s'applique à Eiffel, concerne le typage statique. Ada et Eiffel, Java aussi, sont des langages fortement typés, ce qui permet, là je parle pour Eiffel, une vérification des types par le compilateur. Cela ne veut pas dire que la liaison dynamique n'est pas possible, au contraire. Je ne vais pas recopier les livres de Meyer, mais lorsque le type (la classe en tant que type) d'un objet est spécifié pour un certain traitement, ce traitement peut se faire sur les objets issus de classes héritières de cette classe d'origine.

    Je ne pourrais pas être exhaustif à propos de ce langage. Je n'ai pas utilisé toutes les possibilité qu'il offre. En particulier, je n'ai jamais utilisé la notion d'agent.

    Je ne veux pas, en principe, faire de promotion pour des logiciels propriétaires. Cependant EiffelStudio est téléchargeable gratuitement, son utilisation non commerciale est possible, sous certaines conditions. Ses bibliothèques sont, pour certaines, libres (les bibliothèques de base), les autres sont sous copyright. Des versions pour presque toutes les plate-formes courantes existent.
    Ce n'est pas perdre son temps qu'essayer cet EDI. Si un environnement aussi agréable et efficace existait pour SmartEiffel, le compilateur GNU pour Eiffel, ce serait très positif pour le logiciel libre.