Pourquoi écrire en Assembleur?

Utiliser l'assembleur comme langage de programmation n'est pas si populaire de nos jours. Comme si c'était une règle les gens préfèrent utiliser des langages de troisième (3GL) ou quatrième génération (4GL).

D'habitude - pour des applications simples - ceci est absolument vrai. Il y a cependant des situations où il est prudent de peser tous les arguments pour et contre l'utilisation de l'assembleur.

D'un côté il y a les arguments contre l'utilisation de l'assembleur en large partie basés sur des préjugés, et de l'autre côté il y a les arguments pour l'utilisation de l'assembleur comme langage relativement inconnu. Quand vous vous basez sur les préjugés de l'assembleur sans connaître les avantages, il devient très difficile de prendre des décisions objectives concernant le choix de ce langage de programmation.

Une règle reste importante comme c'est le cas pour tout les langages de programmation: sans personnel bien entraîné vous ne pourrez jamais aboutir, sans bonne documentation vous finirez par faire n'importe quoi.

Ci-dessous vous trouverez une vue d'ensemble des plus importants avantages de l'assembleur. Ensuite nous essayerons de réévaluer les préjugés. Nous terminerons par un petit résumé.

Les avantages de l'assembleur.

Travailler avec l'assembleur vous offre une palette de possibilités, qui ne sont pas (toutes) disponibles avec les langages 3GL et 4GL.

Les préjugés contre l'assembleur.

Il y a plusieurs préjugés contre la programmation en assembleur. Les plus importants sont:

  1. En assembleur la programmation structurée est impossible.
    Ceci est faux. Sur ce point l'assembleur offre actuellement plus de facilités que la plupart des 3GLs.
  2. Maintenir les programmes en assembleur coûte beaucoup plus cher que les 3GLs.
    Quand les programmes de 3GLs ont été créés ceci était vrai! Depuis cette vérité est hautement discutable.
  3. L'Assembleur est un langage où tout est permis, et difficile à apprendre.
    L'Assembleur est certainement un peu moins lisible au profane qu'un programme Cobol. D'autres langages comme C et C++ sont plus difficile à maîtriser.
Ad 1.
En assembleur la programmation structurée est impossible.
En amenant une structure dans les programmes c'est d'abord et surtout une question de style et de qualité. Si le langage de programmation utilisé offre de bonnes facilités, ce peut être une aide, mais pas plus que cela.
Ad 2.
Maintenir les programmes en assembleur coûte beaucoup plus cher que les 3GLs.
Quand les 3GLs ont été lancés il y avait un grand nombre de programmes en assembleur. Parce que la programmation structurée était une nouvelle méthode, ces programmes ont perdu beaucoup d'intérêt. En assembleur - comme dans les autres langages - vous pouvez mettre une structure ou ne pas le faire. Avec toutes les conséquences habituelles pour leur maintenance.
En assembleur vous avez plus d'opportunités que dans les 3GLs pour faire n'importe quoi. Mais grâce aux macros, vous avez un nombre considérable d'options pour mettre une structure dans vos programmes, bien plus que dans d'en d'autres langages.
 
L'habileté à manier un langage est d'une importance primordiale. Un programmeur 3GL qui utilise aussi lassembleur ne peut jamais se mesurer à un professionnel de l'assembleur. Les effets sont mesurables non seulement en terme de temps nécessaire pour que le travail soit fait, mais aussi en terme de qualité du code produit. Le problème majeur, ensuite, est d'avoir des programmeurs expérimentés dans votre équipe. Un problème que vous rencontrerez quel que soit votre choix de langage de programmation, spécialement dans ces conditions.
 
Donc, si nous voulons faire une comparaison valable du personnel entre assembleur et 3GLs, nous devons comparer des hommes de métier avec des hommes de métier, et nous devons aussi prendre en compte la vieillesse des programmes (en terme de mesure de structure), ainsi que la qualité de la documentation disponible.
 
Notre expérience, pour les nouveaux programmes, montre que vous avez besoin de 10 à 20 pour cent de main d'œuvre en plus pour programmer en assembleur. Quand la maintenance est concernée, les différences sont trop dépendantes de la disponibilité de la documentation et de l'importance de la structure dans les programmes pour donner une estimation valable.
 
Un exemple: un de nos clients a un module assembleur, écrit par nous, et un module Cobol, les deux faisant exactement la même chose. Pour les dernières modifications le programmeur assembleur était prêt en un jour, alors que le programmeur Cobol avait besoin de trois jours. Bien que ceci semble exceptionnel, cela prouve que la maintenance de programmes assembleur n'est, par définition, pas plus coûteux que la maintenance des programmes 3GL.
 
Ad 3.
L'Assembleur est un langage difficile à apprendre.
Si vous dépendez de "profanes" vous ne choisirez certainement pas l'assembleur. Comme pour les autres langages vous ne ferez que créer vos propres difficultés!
Bien sûr, il y a de vrais professionnels. Ils ne maîtrisent pas seulement l'habilité de la programmation en assembleur mais ils ont aussi une connaissance approfondie des macros que l'assembleur offre. Ceci nous permet de coder rapidement, efficacement et avec soin.

Résumé.

Les arguments pour et contre l'assembleur sont résumés ici:

En prenant tout cela en compte, notre devise est: ne pas écrire en assembleur quand ce n'est pas utile. De l'autre côté, si vous avez de bonnes raisons de le faire, ne vous en privez pas; l'assembleur n'est pas un monstre. Et si vous choisissez l'assembleur, utilisez le seulement pour les modules qui en tireront profit. La plus grande partie de vos applications est probablement mieux maîtrisée dans des langages 3GLs ou 4GLs.

Pour terminer, pour certaines applications il n'est tout simplement pas possible d'utiliser un autre langage que l'assembleur. Ceci est particulièrement vrai pour la plupart des exits.
Non seulement le système d'exploitation, mais aussi un bon nombre de produits standards est programmé avec des exits, pour permettre une installation du logiciel adapté à vos besoins. Pour la majorité des exits l'assembleur est simplement inévitable. Avec tous ces arguments il ne devrait plus y avoir de problèmes insurmontables.

 

Ce site est un membre de WebRing.
Vous êtes invités à parcourir la liste des sites des amoureux des mainframes.
Fonctionnement de Tyrannosaurus Rex Les dinosaures ne sont pas morts. Ils vivent et ils résident dans les centres de données tout autour de nous. Ils parlent plusieurs langues et travaillent magiquement avec les ordinateurs. Attention aux dinosaures! Et au cas où vous attendiez la fin des dinosaures: rappelez-vous que les dinosaures ont régit le monde pendant 155 millions d'années!
Dinosaures et autres anachronismes
[ Joindre maintenant | Sites Ring | Au hasard | << Précédent | Suivant >> ]
 

Pour les avantages de l'assembleur.
Pour les préjugés contre l'assembleur .
Pour le résumé.

Pour la page d'accueil française.
Pour la page d'accueil générale.



Ci-dessous vous trouverez le logo de notre sponsor et les logos des sites web auxquels nous adhèrons.