Le Fortran (pas la prévision) saga: la lumière et l’obscurité


Original: http://www.fortran.com/forsaga.html

 

par Brian Meek
Centre informatique
College du Roi
Brin
Londres WC2R 2LS, Royaume-Uni
[UDAA000@UK.AC.KCL.CC.HAZEL]

Sections en chef après l’introduction:

Temps de l’espoir (1978-1983)
Le monde de l’acceptation (1978-1983)
La conscience de la richesse (1984)
Le sommeil de la raison (1985-1986)
La vallée des ossements (1986)
Livres font meubler une pièce (1986-1987)
Les nouveaux hommes (1987-1988)
Rois temporaires (1988)
Couloirs du pouvoir (1988-1989)
Audition harmonies secrètes (1990)
Dernières choses (remerciements)

Semaine après semaine, nous lisons sur les batailles des entreprises pour des actions dans un marché, que ce soit du matériel, des logiciels ou des services, sur les manœuvres d’acquisition et des rachats, sur consortiums rivaux qui cherchent à dominer des domaines tels que Unix ou réseau. Pourtant, ces histoires en cours, dur si elles peuvent parfois être à suivre, ont la complexité d’un livre Ladybird, par rapport à la longue saga de la norme Fortran 8X.

L’histoire a commencé immédiatement après la finalisation de la norme Fortran 77, donc antérieure à l’ère Thatcher – et il pourrait encore survivre il. Il n’est plus l’histoire “8X”, bien sûr; le Comité des normes Fortran américains appelle maintenant il “Fortran 90″, mais étant donné qu’il a commencé comme “82” et pour une période de fausse aube “88”, personne qui a survécu à toute la saga à ce jour serait mettre de l’argent sérieux sur qui est la désignation finale. (Toutefois, ceux qui se souviennent d’un roman intitulé “Limbo 90« peut considérer comme pas inapproprié.)

Un jour, quelqu’un va peut-être enregistrer l’histoire de Fortran 82/8X/88/90 / …, mais il a besoin d’un Escher pour représenter ou un Borges pour le décrire. En effet, Borges, Borgia et Byzance tous viennent à l’esprit quand on regarde le jeu complexe, multi-couches des forces qui ont contribué. Le mieux que l’on peut faire ici est d’indiquer les différentes forces et leurs interconnexions, et décrire brièvement les enjeux et les forces en présence dans les principales batailles qui ont eu lieu.

Les principaux groupes de forces sont les comités de normalisation, des organismes sociaux, des institutions professionnelles et des particuliers. Ces sous-groupes ont eux-mêmes et les classifications.

Les comités de normalisation leur Comité de normalisation, ainsi que d’être «forces», dans le sens où ils ont le pouvoir et sont donc les joueurs dans le jeu, fournissent également les champs de bataille, au moins pour les batailles ensemble pièce. D’autres batailles se livrent à des réunions publiques comme les forums Fortran qui ont eu lieu de temps en temps, surtout aux États-Unis et le Royaume-Uni, de présenter et de discuter des questions et des développements; dans les médias publiés comme Computer Weekly, revues techniques, et la lettre d’information a également appelé Forum Fortran (voir ci-dessous); et ces dernières années à travers les réseaux de courrier électronique et les babillards électroniques.

La plupart des batailles ensemble pièce ont été battus dans, et parfois entre les normes américaines Fortran Comité X3J3, et le groupe de travail sur les normes internationales Fortran, ISO / IEC JTC1/SC22/WG5 (“GT5″ pour faire court) ou de ses prédécesseurs. La structure du comité international a subi des changements importants au cours de la vie de la saga, mais pas de façon directement concernés; Je vais utiliser les désignations actuelles, et “GT5″ ou “GT5-à-être” pour le groupe Fortran.

X3J3 fait le travail technique de production de la norme (à la fois comme un ressortissant des États-Unis et à un niveau international); GT5 coordonnées commentaire international sur les travaux X3J3 fait et donne des conseils généraux sur la direction dans laquelle le développement de la norme devrait se diriger.

GT5 rapport au SC22, le sous-comité ISO chargé de langages de programmation dans son ensemble. SC22 relève à son tour JTC 1, le Comité technique mixte de l’Organisation internationale de normalisation (ISO) et la Commission électrotechnique internationale (CEI) responsable des normes de technologie de l’information en général.

La structure organisationnelle au sein des Etats-Unis est assez différente, et X3J3 rapport au X3, un Accredited Standards Committee de l’American National Standards Institute (ANSI) qui est l’organe de membre américain de la norme ISO plutôt comme la British Standards Institution (BSI) est le membre le Royaume-Uni corps. Aux fins d’expliquer la saga Fortran, X3 est à peu près au même niveau que JTC1 mais pas complètement équivalent. Il n’y a donc pas de niveau intermédiaire aux États-Unis équivaut à SC22, bien qu’il y ait un TAG de SC22 (Groupe consultatif technique) dont le but est de conseiller X3 sur la liaison avec l’organisme ISO.

La délégation des États-Unis pour GT5 est nommé par (et tiré) X3J3. Certains membres non américains de GT5 sont également membres de X3J3, dont certains du Royaume-Uni.

Personnes morales Les personnes morales peuvent être divisés en fournisseurs (vendeurs) et les utilisateurs; dans ce cas, il suffit de limiter «fournisseurs» à ceux qui fournissent des compilateurs Fortran. Les utilisateurs professionnels peuvent à certaines fins être divisés en secteur public et le secteur privé, ou le gouvernement, même commercial, industriel, universitaire, et. Tant sur le fournisseur et sur le côté de l’utilisateur de ces personnes morales varient considérablement en taille et en attitude.

Institutions professionnelles

Les deux institutions professionnelles qui ont joué un rôle de soutien dans la saga ont été la British Computer Society (BCS) et son homologue américain de l’Association for Computing Machinery (ACM). Sauf à un moment donné le rôle de l’ACM a été principalement le passif de diffusion de l’information par la publication de la newsletter Fortran Forum. Le BCS, grâce à son Fortran Groupe de spécialistes (FSG) a été plus actif, de recevoir les rapports de progrès de X3J3 lors de ses réunions, le parrainage de réunions publiques (Forums Fortran) au Royaume-Uni, et la mise à disposition, à un coût moindre que ce qui aurait été le cas , des copies de projets de normes pour examen et commentaires. La plupart des membres britanniques de GT5 sont membres du BCS FSG.

Personnes

À un certain niveau, les gens individuels sont le moins important des groupements. Ils ne sont pas grandes forces économiques en tant que fournisseurs ou utilisateurs, ils ne peuvent pas désigner des représentants que les autres groupes peuvent. Néanmoins, les organes sociaux, institutionnels et normes sont composées d’individus, ce sont les individus qui recommandent la politique, rédiger des documents de position, argumenter, discuter, et les votes du casting. Comme avec la plupart des activités humaines, les personnalités jouent un rôle important.

Même en laissant de côté les affiliations, les devoirs et la loyauté, la taxonomie des différentes personnes concernées par la normalisation Fortran mérite presque une petite dissertation de son propre. Deux classifications doivent être indiqué au début. On est entre les traditionalistes et les révisionnistes (sinon les conservateurs et les radicaux, les sensibles et irresponsables, coureurs des bois et les progressistes, en fonction de l’attitude). La plupart (pas tous) peuvent être solidement placé sur un côté ou de l’autre de cette fracture. L’autre classification est entre featurists et généralistes – ceux dont l’intérêt principal est de caractéristiques particulières, et ceux qui s’intéressent à la langue dans son ensemble. Les featurists de cours doivent être subdivisés en différents groupes d’intérêt – traitement vectoriel, le contrôle de processus et ainsi de suite. Cela peut inclure le support des extensions de fournisseurs spécifiques à Fortran 77.

Le fait est que les lignes de bataille sont redessinés et les groupements réorganiser, en fonction de ce problème se pose, la façon dont il s’agit, et le contexte actuel. Par exemple, un featurist qui est aussi un traditionaliste peut généralement soutenir les initiatives de «réduire la taille de la langue” (un cri de ralliement récurrente tout au long de la saga) mais changer de côté si la proposition est de supprimer une installation souhaité-pour. Un featurist qui est aussi un révisionniste peut, cependant, être réticents à soutenir une proposition pour une installation souhaité car si fait d’une manière qui va à l’encontre de la tendance générale à la modernisation de la langue.

Il n’est guère surprenant, avec un tel mélange déplacement des intérêts, qu’il est difficile de parvenir à un consensus sur quoi que ce soit. Les changements progressifs dans la composition individuelle des comités et organismes plus une si longue période de temps, ainsi que les changements continuels de la technologie et du marché, signifie que tout consensus a besoin de rafraîchissement et la réaffirmation continuelle.

Quiconque a été à un comité des normes sait le sentiment fatigué quand un membre récemment recruté soulève une question ou un argument qui a été longuement débattu et traité avec des années avant. Pourtant, les gens se demandent pourquoi les normes prennent tant de temps à se mettre d’accord. L’étonnant est plutôt que jamais ils ont convenu du tout. C’est une mesure de l’importance cruciale de normes (même s’il n’est pas suffisamment reconnue par tout le monde) que les gens continuent néanmoins de soldat.

Passons maintenant à certains des points saillants de la saga. Je suis reconnaissant à C.P. Neige et Anthony Powell de me donner, sans le savoir, avec les titres des sections et (avec John Galsworthy) de la pièce dans son ensemble.

Temps de l’espérance

Dans cette saga de la lumière et l’obscurité, au début il y avait de la lumière. Fortran 77, qu’il ne soit pas oublié (bien que souvent il est), était plutôt une affaire de crapaudine, accepté parce que les gens ont convenu qu’ils avaient à produire quelque chose, même si elles ne pouvaient pas s’entendre sur ce qu’il devrait être. L’idée de “Fortran 82″ a été, OK c’est hors de la voie maintenant nous allons faire les choses. Le point de départ était d’être un «noyau en plus de modules” architecture capable d’accueillir featurists et généralistes, les traditionalistes et les révisionnistes.

Pour une fois, les choses se sont bien passées. La première réunion formelle, à Londres en 1978, de ce qui allait devenir GT5 (il y avait eu une discussion de groupe ad hoc de l’année précédente à la réunion du comité de l’ISO du langage de programmation à La Haye) a discuté de manière constructive la nature du «noyau en plus de modules” et ce que les modules doivent être. À la fin de 1979 Walt Brainerd de X3J3 (alors et encore) a décrit le projet de cette manière:

“Il ya eu un changement important dans les attitudes concernant les objectifs de la normalisation Fortran. Une raison à cela est la prise de conscience que la langue devient trop grand en ajoutant de nouvelles fonctionnalités et presque jamais en supprimant les anciens ….

“X3J3 a répondu à ces défis en proposant une architecture de la langue, constitué d’une langue« de base », plus« modules ». L’essentiel est d’être un langage de programmation complet à usage général, mais ne contiennent des fonctionnalités qui sont redondantes ou obsolètes simplement parce qu’ils sont en Fortran 77 ….

“L’un de ces modules contiendra toutes les fonctionnalités en Fortran 77 qui ne sont pas dans le noyau. Ceci est important afin de soutenir l’énorme investissement dans les programmes Fortran écrit en utilisant ces fonctions.” [1]

La beauté de l’âme-plus-modules était qu’il ne pouvait contenir les batailles dans de très petites zones. Sa faiblesse est qu’il cruciale dépendait parvenir à un consensus sur deux questions; ce devrait être dans le noyau, et ce devrait être dans ce qui est devenu connu sous le nom “fonctions obsolètes” Module – les parties du Fortran 77 pas dans le noyau. Cette développé dans une bataille entre révisionnistes / généralistes, et les traditionalistes alliées à révisionnistes / featurists qui, tout en ne s’opposant pas à l’âme-plus-modules ou à la notion d’obsolescence, ne pouvait pas accepter que les caractéristiques chères devraient être exclus de la base – ou, pire, jugé “obsolète”. Après un engagement de longue durée, presque exclusivement dans X3J3, core-plus-modules a été abandonné, ouvrant ainsi toute la bataille à quiconque. Fortran “82” avait à ce moment devenu Fortran “8X”.

Dans une mise à jour sur son analyse antérieure, en Février 1983, le Walt Brainerd écrivait:

«Le comité semble avoir rejeté l’idée d’un petit noyau élégant Il semble être le vieux problème que le comité peut tout simplement pas concevoir quelque chose de petit et élégant;. L’jabot d’une personne est une autre c’est caractéristique essentielle, et pour une raison quelconque un comité semble presque toujours à voter pour inclure des choses dans cette catégorie plutôt que de les exclure. Après tout le reste est fait, il peut toujours être possible d’identifier un petit «noyau». [2]

Il devait être déçu.

Le monde de l’acceptation

Au cours de cette période, le groupe international avait observé, commenté, parfois exprimé sa préoccupation, mais généralement acquiescé à ce qui se passait dans X3J3. Fortran 77 et son prédécesseur, maintenant connu comme Fortran 66, avaient été normes ANSI approuvé par l’ISO. Les seuls groupes assez organisés pour fournir des commentaires internationale substantielle sur le projet de Fortran 77 avaient été le BCS FSG et un groupe aux Pays-Bas. Même le changement de statut en 1983 à un groupe de travail formel ISO parut d’abord à faire peu de changement.

La conscience de la richesse

Cependant, lors de la réunion de Genève de GT5-à-être au printemps de 1984, une question a été soulevée qui, avec le recul du temps peut être considéré comme montrant des pailles dans le vent. Après avoir été au travail pendant plus de six ans, mais toujours sans projet de norme en vue, X3J3 estimé que les commentaires du public sur ce qui a été fait jusqu’à présent serait utile, et a proposé la publication par X3 d’un “Fortran Bulletin d’information”. Cette proposition a été examinée également à la norme ISO WG et il a été convenu que la FIB (“un acronyme malheureux”, je l’ai écrit dans Computer Weekly à l’époque) publiée à l’échelle internationale ainsi, avec le texte identique.

Lorsque cela est venu à X3 pour approbation, cependant, le vote était de 40 en faveur et 2 contre – mais les deux étaient CED et IBM. Décembre objection moins que des changements ont été faits qui (je l’ai écrit à l’époque) “serait … ont sapé tout le travail qui a été fait sur Fortran 8X”. IBM n’a pas l’esprit publication, mais seulement si ses objections et celles des autres ont été publiés dans la FIB dans le cadre du document.

La première grande bataille ensemble pièce avait commencé; champ de bataille X3, deux principaux fournisseurs contre la majorité des X3J3.

X3 demandé X3J3 si elle accepterait de telles conditions. Depuis la fin de la FIB était simplement de présenter l’état actuel du développement de 8X, tant X3J3 et GT5-à-dire que c’était inacceptable comme une question de principe. Le FIB est un document factuel, pas de la propagande, et ceux qui lisent, il devrait être libre de faire leur propre opinion.

Ces points de vue ont été rapportés à X3, qui a décidé (malgré la grande majorité) de ne pas approuver la publication. Tous les comités de normalisation ont un devoir d’essayer de parvenir à un consensus. Si un accord ne peut être atteint, cependant, un vote de la taille de 40 à 2 est généralement compté assez. De toute évidence, le X3 certains votes sont plus égaux que d’autres.

Cependant, la bataille n’était pas tout à fait terminée. Pour la première et jusqu’ici la seule fois dans la saga, ACM a joué un rôle actif, mais comme une extension naturelle de son rôle habituel de rendre l’information disponible. Un numéro spécial conjoint de Forum Fortec (maintenant Fortran Forum) et SIGNUM Bulletin (SIGNUM est le groupe d’intérêt spécial ACM en mathématiques numériques) a publié un rapport technique – qui est arrivé à contenir tous les mêmes mots que la FIB (à l’exception de la couverture ), mais non les changements Dec ou les objections IBM. Association des Informatique Marines à la rescousse?

Les “pailles dans le vent»? La lumière commençait à céder la place à l’obscurité; deux principaux fournisseurs ont montré qu’ils étaient prêts à aller à des efforts considérables pour entraver les progrès accomplis dans le sens de la majorité voulait aller; et en sauvegardant X3J3, le groupe de travail ISO vaguement commencé à voir qu’il y avait un peu plus de puissance de son propre que de simplement pouvoir commenter – si elle a choisi de l’utiliser.

Le sommeil de la raison

Le rapport ACM est apparu, les commentaires sont entrés, X3J3 a poursuivi ses travaux. Par la réunion de Bonn de GT5-à-être à l’été 1985, il était clair que le moment était enfin approche où un projet de norme pourrait être produite, et la réunion a adopté une résolution saluant le travail de X3J3 comme «répondre globalement aux besoins des la communauté Fortran dans le monde entier “.

Cependant, si la forme et la taille du 8X émergents devenait clair, il est également apparu que les mouvements étaient en cours pour mobiliser les forces pour s’opposer à la tendance générale. Les principaux groupes qui se chevauchent, étaient des fournisseurs, menés par IBM et DEC mais maintenant rejoints par d’autres (mais pas tous); et les traditionalistes, les entreprises utilisatrices et les particuliers. Le groupe des fournisseurs essentiellement opposé à la taille de la langue, le traditionaliste groupement de quelques nouvelles fonctionnalités et aussi à la notion de fonctions “obsolètes” (maintenant le terme affaibli pour «obsolètes»).

Après quelques escarmouches interne (depuis toutes les factions étaient représentées), la réunion de Bonn ajouté à l’approbation générale du courant 8X une déclaration à l’effet que toute “révision à la baisse” importante serait «préjudiciable aux intérêts des utilisateurs Fortran”. Ce fut par un coup de semonce, à travers les arcs du groupe de fournisseur en particulier. Il était aussi, mais en lui-même pas plus que le renforcement de l’approbation de ce X3J3 avait fait, de loin la plus forte déclaration faite par un groupe de l’ISO à ce moment-là de la direction dans laquelle il souhaite que le travail de procéder à l’avenir.

Depuis quelques mois, les progrès se poursuivent, jusqu’à ce que le projet a été réalisé, ce qui a pour vote interne pour les membres des groupes américains et ISO pour l’autorisation de publier un projet pour examen public. Dans les deux groupes, il y avait des gens qui estiment que trop de lacunes mineures restent à faire publiable à ce stade, mais le vote ISO était assez favorable. Aux États-Unis, cependant, il y avait un groupe puissant des objecteurs américains, se plaignant que la langue était trop grande et doit être coupé et a plus en ligne avec “la pratique existante» (qui, en cours de traduction, ce qui signifiait les fournisseurs déjà fournis ).

C’est à ce moment que l’événement s’est produit qui a dégénéré les différends sur Fortran 8X dans une «guerre de prise de vue”, et fondamentalement modifié la relation entre X3J3 et GT5. La première conséquence était clair à l’époque; ce n’est pas le recul. La deuxième a été plus longue à se manifester, mais peut éventuellement être considéré de plus importance à long terme.

La réponse normale à ne pas atteindre un niveau adéquat de soutien dans de telles circonstances est d’examiner les objections et tenter de les résoudre si possible d’une façon qui ne sera pas aliéner le soutien de ceux en faveur des propositions actuelles. Cependant, la réponse de X3J3 était (comme plus d’un observateur a déclaré à l’époque) “pour passer en mode de panique”. Malgré la résolution du groupe ISO à Bonn, les coupes de gros ont été faites, et le résultat a été surnommé “le plan de compromis”. Les grandes sections de la norme, ont été transférés à une annexe des «extensions proposées” ou tout simplement supprimés. La structure qui avait été laborieusement construit au cours des dernières années a, du jour au lendemain, réduit à quelque chose de beaucoup plus de portée limitée, et manque maintenant des installations dans lesquelles beaucoup avaient investi de longues heures dans la conception et la promotion, et à convaincre les autres de leur technique mérite. De nombreuses incohérences ont été révélés lorsque les conséquences de cette opération (ou la boucherie, comme certains le prétendent) ont été examinés.

Rétrospectivement, il est difficile de comprendre pourquoi les architectes du compromis ne pouvaient pas voir que la conséquence inévitable serait de ne pas accélérer un accord sur la norme éventuelle, mais pour la retarder.

La vallée des ossements

En dehors X3J3 (et on ramasse dans une certaine mesure son sein), la réaction initiale au «plan de compromis» était d’incrédulité stupéfaite, puis dans de nombreux cas par l’indignation. Révisionnistes, bien sûr, qui dans l’ensemble n’ont pas soutenu le point de vue que 8X devenait trop grande, ont été horrifiés par l’ampleur des coupes. Featurists dont les installations animal propre était tombé sous la hache avait aussi agacé. Cependant, il est devenu clair que la principale source des griefs avec toute structure organisationnelle pour exprimer qu’il était GT5 (dont le groupe ISO enfin était).

La source du ressentiment n’était pas seulement les coupures elles-mêmes, bien que probablement une majorité sur GT5 était de tendance révisionniste. En outre, beaucoup de ceux qui auraient accepté une partie ou même la plupart des coupes indignés de la façon dont cela a été fait, sans consultation avec la communauté internationale. Même sans les résolutions de Bonn de l’année précédente, cela aurait été le cas. La déclaration de Bonn en garde contre révision à la baisse maintenant acquis une importance majeure, étant non seulement un bâton readymade, mais un poids supplémentaire donné parce X3J3 avait choisi de l’ignorer.

Au cours de l’été 1986, les architectes du «plan de compromis» ont continué à nettoyer le projet de 8X sous la forme réduite; mais il est devenu clair que trop considéré le plan comme une capitulation plutôt qu’un compromis, car il jamais à parvenir à un consensus, le seul objectif valable de compromis. Partout où se trouvait compromis, si elle était partout, il n’était pas là.

Lors de la réunion de Halifax (Nouvelle-Écosse) de GT5 dans la fin de l’été 1986, un ou deux de la délégation américaine a tenté de faire valoir que le «compromis» n’était pas vraiment une révision à la baisse; mais la plupart des membres de X3J3 semblaient prêts à admettre à la fois qu’il était, et que GT5 auraient dû être consultés.

Les révisionnistes – leurs rangs renforcés par featurists lésés, assuré de l’appui substantiel de la communauté internationale de plus en plus affirmée de ses droits – lécher leurs plaies, regroupés, et ont commencé à long terme de retour. Mois après mois, le terrain perdu a été retrouvé progressivement – pas tous, mais peut-être assez pour atteindre le consensus insaisissable.

Livres ne fournissent une chambre

La réunion de Halifax de GT5 avait passé, par une majorité suffisante, mais pas écrasante, que les réductions à l’échelle proposées sont tolérables que si cela a servi à accélérer l’apparition de la norme. Même alors, il était assez clair que c’était un mince espoir. Le «compromis» avait réduit consensus, pas augmenté il. Cependant, il y avait beaucoup plus d’accord que les choses ne pouvaient pas continuer comme ça, et que le meilleur espoir de progrès serait d’obtenir un document pour commentaires du public, en espérant que les évaluations qui en résulterait serait de résoudre au moins une partie des problèmes.

Même que c’était assez difficile à atteindre. Durant le reste de 1986 et 1987 versions successives du projet ont été produits, et les membres X3J3 et observateurs ont pris l’habitude, toutes les quelques semaines, un autre paquet volumineux arrivant à ajouter à la pile croissante. Caractéristiques ont été examinés, certains rétabli, certains modifiée pour ressembler davantage à «la pratique existante» (c’est à dire ce que les vendeurs déjà fourni) dans une tentative de parvenir à une véritable compromis. Par la réunion Liverpool GT5 en Août 1987, le document avait atteint le stade d’être soumis à X3 et SC22 pour la distribution comme un avant-projet de norme.

A cette époque, assez de travail de redressement et de reconstruction avait été fait sur le plan ancien de «compromis» que ce nouveau X3 a attiré les votes négatifs de intérêts des fournisseurs. Cependant, GT5 avait encore une liste d’achats à court de caractéristiques requises. Celui lié à la manipulation au niveau du bit, une exigence de featurist minoritaire typique qui avait été victime de la «compromis», et croyez-le ou pas avait de même réussi à faire accepter plus d’une décennie plus tôt pour Fortran 77 données. Autre était sous forme libre code source , une autre victime, mais maintenant presque la pierre de touche de révisionnisme.

Les nouveaux hommes

Alors que les révisionnistes avaient travaillé dur pour récupérer le terrain perdu, les traditionalistes ont pas chômé. Courrier électronique et de réunion rapports apportent les preuves de tentatives de susciter l’opposition de 8X, à la suite de l’échec du «plan de compromis» pour obtenir l’effet désiré. histoires alarmistes circulaient sur 8X n’est pas compatible avec Fortran 77, malgré que d’être un objectif de conception explicite.

Une première source d’histoires effrayantes, par exemple, était le concept d’association de stockage “de dérision”. Un autre conte faire le tour, c’est que la forme source libre invaliderait “des millions de lignes de code existant”. Que ces alertes n’avaient aucun fondement n’a pas d’importance: comme le grand Dr Goebbels nous a appris, ces histoires faire accréditer chez les personnes qui ne prennent pas la peine de vérifier les faits. Si l’on croit que la fin justifie les moyens, les traditionalistes responsables de leur propagation ont pu à la fin de 1989 pour trouver leur justification.

Bien que des preuves tangibles est beaucoup plus difficile à trouver, il ya aussi des raisons de croire que les gens alarmés par ces histoires ont été invités à se joindre X3J3 pour défendre leurs intérêts. (Règles de X3, il est relativement facile de le faire et d’obtenir le droit de vote bientôt, à condition que la société est prête à payer une petite cotisation annuelle, 250 $ actuellement). Mais pour une raison quelconque, au cours de la dernière partie des années 1980 X3J3 a considérablement augmenté en taille, et la plupart des nouveaux membres étaient de la tendance traditionaliste – un facteur d’importance compte tenu de l’exigence de X3 d’une majorité des deux tiers – et les vendeurs aussi la plupart représentant. Ces nouveaux membres, ainsi que non pas tant sur des questions techniques que ceux qui avaient travaillé sur 8X pour une décennie ou plus – compréhensible et excusable en elle-même – étaient généralement ignorent ou indifférent à la dimension internationale, également un facteur de prouver d’importance. X3J3 avait toujours consisté à la fois de membres (de tous les camps, il faut le dire) qui étaient esprit international et qui généralement assisté GT5, et des membres qui n’étaient pas. Les nouveaux hommes affectés à la fois l’équilibre révisionniste / traditionaliste et l’équilibre internationaliste / nationaliste.

Le résultat international de l’examen de la première version publique était qu’il y avait plusieurs votes négatifs en provenance des pays membres de SC22, principalement en raison de lacunes, dont certaines avaient déjà été identifiées par GT5. Les commentaires individuels ont couru à plusieurs centaines, tant aux Etats-Unis et à l’extérieur. La majorité d’entre eux étaient négatifs, sur un «vote» simple, compter, un fait immédiatement saisi par une partie du camp traditionaliste comme montrant que “X3J3 avait eu tort”. En fait, les “votes” négatifs étaient composés de ceux featurist (“ma fonction pour animaux de compagnie a été laissé de côté»), les révisionnistes («l’occasion a été manquée de corriger cette carence”) et les techniques («cette proposition ne fonctionnera pas parce que … “), ainsi que les traditionalistes (« la langue est trop grande / trop révolutionnaire / pas la pratique existante / … “). Des réponses traditionalistes, beaucoup étaient de la couverture forme “langue trop grand” ou similaires, sans l’appui des arguments, et certains étaient virtuellement ou réellement des copies exactes des lettres de protestation ont été proposées distribués par certains des traditionalistes.

Les choses ne s’améliorent pas quand X3J3 descendit à l’examen des commentaires de l’examen public et comment y répondre. Divisions semblaient être l’approfondissement, et les positions de devenir retranché. À un moment donné, les votes ont eu lieu sur les cinq grandes questions, qui entre eux auraient résolu la plupart des votes négatifs internationales. Chacun a remporté séparément la majorité nécessaire, mais quand le paquet dans son ensemble a été mis en avant, il a été rejeté.

Les élèves des méthodes de vote ne seront pas surpris de ce – différentes coalitions ont participé à chaque fois. Il est une instance de Condorcet “paradoxe du vote”, qui, dans sa forme la plus simple permet, dans des combats d’affilée, de A à battre B, B à C battre, et C à battre A. La conséquence, cependant, était la consternation et le désarroi, et les individus et les groupes sont partis pour essayer de faire des propositions de paquets complets.

Comme l’été 1988 avançait, de nombreux plans ont été avancées et considérés, jusqu’à quatre sont restés. Deux étaient traditionaliste, et un légèrement révisionniste. Le quatrième, produite par cinq des membres les plus expérimentés de X3J3, était celle qui se rapprochait le plus de rencontrer le commentaire international. Cependant, lors de sa dernière réunion avant GT5 à Paris en Septembre 1988, X3J3 voté contre ce plan aussi. À ce stade, X3J3 lui-même était près de parvenir à une solution interne, dans le sens d’une majorité suffisante mais en aucun cas un consensus. Le prix d’une telle solution était l’échec face à bon nombre des préoccupations internationales. Bien qu’il soit possible que de nombreux membres de X3J3 avaient négligé cet aspect dans les manœuvres de construire une majorité, à la fin de cette réunion, il était clair qu’il s’agissait d’une décision délibérée de la commission. Il a même explicitement voté que le quatrième plan mentionné ci-dessus ne devait pas être soumis à GT5 pour examen, en dépit des protestations que X3J3 n’avait pas le droit de fixer l’ordre du jour de GT5.

Rois temporaires

Donc GT5 s’est réuni à Paris en Septembre 1988, présenté avec trois plans de rechange pour répondre aux commentaires du premier examen public de 8X, dont aucun ne fut tout proche d’atteindre les points de préoccupation dans les votes négatifs internationales. Les membres de GT5 avaient déjà plaint à l’occasion que X3J3 payé pas plus d’attention à la position nationale considérée d’un organisme membre de SC22 (souvent, comme au Royaume-Uni, après une vaste consultation publique) que pour une lettre de Harvey P. Digweed de Backwater, Iowa . Il est rapidement devenu clair que GT5 n’était pas d’humeur à jouer à ce jeu, pas plus.

Tout d’abord, GT5 a décidé d’examiner le quatrième plan qui X3J3 avait voté ne doit pas être soumis à GT5; il avait des présentations de tous les quatre, après laquelle elle a décidé de ne pas perdre plus de temps sur deux (les deux plans de «traditionalistes»). On a demandé aux architectes des deux autres régimes de se réunir pour produire un plan combiné à résoudre les votes négatifs internationales.

Alors que GT5 avait dans le passé exprimé des vues sur des questions techniques, il n’avait jamais entrepris des travaux spécifiquement technique, auparavant considérée comme la prérogative de X3J3. Cependant, l’ambiance semble être, “si X3J3 ne peut pas résoudre les votes négatifs, c’est à nous de le faire”.

À la fin d’une semaine intense, GT5 avait produit le cadre d’une nouvelle norme 8X qui était susceptible d’atteindre le soutien de tous les pays membres (sauf peut-USA); avait fixé un calendrier pour les progrès futurs à un deuxième examen public; et avait déclaré que le Fortran 8X révisé serait appelé “Fortran 88″. Ce dernier était essentiellement une affirmation symbolique que «c’est assez», si la séquence de Fortran 66, 77, 88 faisait appel à lui-même.

Plus de deux ans se sont écoulés depuis le «plan de compromis» 1986, et cette fois c’est au tour des traditionalistes de se retirer du champ de bataille sous le choc. Récupération n’a pas été aidé par SC22 approuvant largement ce GT5 avait fait, et X3 donne une directive à X3J3 (il y avait seulement une voix contre) qu’il doit travailler à une norme nationale et internationale unique – “c’est un document». Cette dernière phrase était à prendre une importance accrue d’un an plus tard.

La réunion de Boston X3J3 en Novembre 1988 a été une capitulation quasi complète à ces pressions, et le travail vers un second projet public a agi principalement, sinon entièrement sur les lignes fixées par GT5. L’ambiance était apparemment plus un anti-traditionalisme de l’internationalisme positif, même si l’effet était le même. D’autre part, certains sentiments anti-internationalistes explicites avaient commencé à être ouvertement exprimé par une petite minorité de membres X3J3. La marée haute de prééminence GT5 peut maintenant être considérée comme le changement de côtés d’IBM, qui au début de 1989 a annoncé qu’il était prêt à renoncer à son opposition à Fortran 8X dans l’intérêt de parvenir à un accord général. Le calendrier de GT5 glissé, mais qui est si familier un phénomène dans les normes de décision, controversée ou pas, qu’il était à peine remarqué. La réunion de Juillet GT5 dans le nord de l’Italie a été une affaire discrète avec la résolution la plus critique de X3J3 simplement les exhortant à monter et finir le travail.

Couloirs du pouvoir

C’était le calme avant la prochaine tempête, que la saga Fortran a encore une autre tournure. Le premier indice de ce qui allait venir apparu la semaine après la réunion de GT5. Il doit avoir été connu de la semaine précédente, et certains pensaient qu’il est significatif qu’il n’ait pas été mentionné à GT5.

règles X3 permettent des réunions occasionnelles de ses comités en dehors de la partie continentale des États-Unis, et plus d’une fois X3J3 avait tenu ces réunions immédiatement après GT5. Cette fois, c’est Vienne, et là, il a appris que le représentant du fournisseur sur X3J3, qui était aussi un membre du X3, a présenté une proposition au Comité des politiques et exigences des normes de X3 (SPARC) que les Etats-Unis de modifier les termes de référence de l’intérieur projet ANSI 8X d’être une révision de Fortran 77 à un niveau de garantie – Fortran «étendu» – tout en conservant Fortran 77.

Maintenant depuis 1977 la politique internationale, a réaffirmé et renforcé en 1985, a été que le but de la normalisation du langage de programmation devrait être une norme mondiale unique pour chaque langue. Ce mouvement a été largement considérée – par beaucoup dans X3J3 ainsi que GT5 – à l’encontre de au moins l’esprit de cet accord international, à laquelle les Etats-Unis a souscrit, et peut-être même à la lettre de celui-ci. Qu’il s’agisse de la lettre ainsi que l’esprit, dépendait, comme si souvent sur l’interprétation. Si l’ISO avait un standard, mais les Etats-Unis deux, était-ce une violation de l’accord dans SC22 à chercher “une norme unique dans le monde entier» – ou, comme X3 avait mis l’année précédente, “un seul document”? Avant la norme a été finalement convenu, il y aurait une différence de statut du projet 8X – une norme révisée en ISO, une norme collatérale en ANSI. Est-ce que constituerait une violation de l’accord?

Tout cela à moins suggéré que SPARC devrait recommander consultation avec SC22 et GT5 sur la proposition de changement de statut – qui dans l’ISO serait également besoin de l’approbation du JTC 1 ont été mis en avant il ya.

Cependant, SPARC choisi de ne pas le voir de cette façon. Avec une seule dissidente, le comité a voté pour recommander le changement de statut, qui a donc été transmis au X3 pour approbation. Bien que SPARC est techniquement seulement un comité consultatif, il est “cabinet restreint” de beaucoup X3 et ses recommandations sont rarement annulé. Apparemment convaincu par l’argument selon lequel un nombre considérable d’utilisateurs américains (et certains à l’extérieur) ne voulaient pas Fortran 8X, X3 a approuvé la proposition – comme par hasard, la fermeture de vote juste avant la réunion de Berlin de SC22 en Septembre 1989.

C’est sans doute vrai qu’il y avait un corps d’utilisateurs qui voulaient tout simplement de préserver leur investissement existant dans le code Fortran, mais vu leur avenir a besoin ailleurs – C, Ada ou autre. Le groupe traditionaliste / vendeur a été assidu à trouver ces utilisateurs et les incitant à s’opposer à 8X – si ce n’est que par la copie d’une “lettre type”. Au cours du deuxième examen public, on allait même jusqu’à pousser les gens “vous n’avez pas à acheter une copie du projet de norme à l’objet, vous n’avez même pas besoin de le lire …” Ce suscité une réponse cinglante sur le réseau électronique d’un membre X3J3 – un représentant du fournisseur, soit dit en passant – remarquer sur les normes de professionnalisme et de codes de conduite qui doit être respecté dans le monde des normes.

Cependant, aucun de ces besoins signifie que Fortran 77 a dû être retenu comme une norme – la longue durée de l’aide pour Cobol 74 et même Cobol 68 après l’apparition de Cobol-85 était la preuve. Bien que l’exigence est restée, les vendeurs continuent à soutenir Fortran 77 trouveraient un marché. N’était pas non plus la rétention de Fortran 77 la seule option. La possibilité de spécifier dans la norme un sous-ensemble de Fortran 8X de plus de puissance limitée avait été soulevée de temps en temps plus tôt, et que l’opinion générale dans X3J3 et GT5 était que des sous-ensembles étaient indésirable (un long chemin a été parcouru depuis core-plus -modules), néanmoins GT5 à Paris 1988 avaient convenu qu’ils ne pouvaient être considérés comme si tout le reste a échoué à parvenir à un consensus.

Il ya de fortes raisons de croire que la véritable motivation pour le déménagement – qui, bien que prétendant être au nom des utilisateurs, avait été promu par un groupe de fournisseurs – était que les achats fédéraux américains sont normalement basés sur la conformité aux normes, où les normes existantes . Il en ressort clairement, c’est que les vendeurs viseraient à obtenir marchés de préciser «Fortran», mais leur laisse le choix de qui des deux Fortrans à fournir. Les règles de conformité de Fortran 77 sont si faibles que les vendeurs pourraient alors fournir Fortran 77 implémentations avec des extensions spécifiques au fournisseur qui étaient incompatibles avec Fortran 8X. Le résultat net serait de détruire tous les post-Fortran 77 normalisation.

A Berlin, SC22 appelé les parties concernées à travailler pour essayer de concilier les positions divergentes sur le statut de 8X et le maintien de Fortran 77. La délégation des États-Unis, cependant, collé à la “ligne du parti” qu’il s’agissait d’une question des États-Unis purement interne , et que si 8X est le même dans la norme ISO et ANSI (bien que différemment nommé et de statut différent), le corps des normes US avait rempli ses obligations internationales. En termes strictement juridiques, le maintien de Fortran 77 était en effet une question nationale; États-Unis ou tout autre pays avaient le droit de le faire. Dans le monde réel de l’interdépendance internationale, la persistance de Fortran 77 comme une norme américaine avait plus de conséquences nationales des États-Unis.

Ces manœuvres ont suscité plus de ressentiment même que le «plan de compromis” malheureuse de 1986. Un facteur a été que cela devrait se produire lorsque l’accord final avait semblé enfin en vue. Un autre est que le «compromis» 1985 avait au moins été conçu à l’intérieur de la communauté Fortran, et traitées là – alors que maintenant, un membre de la communauté, incapable de convaincre ses collègues sur X3J3 et GT5, avait cherché à les faire annulées par la hausse (et moins bien informés) autorité, et quelles que soient les conséquences internationales.

Après SC22 à Berlin il y avait encore un peu d’espoir que X3 pourrait réviser ses vues – il avait eu la dissidence à la rétention de Fortran 77 d’exiger un vote «de révision», et compte tenu des préoccupations internationales exprimées on espérait qu’il y aurait seconde pensées, au moins à donner du temps pour les négociations.

Il ne devait pas être. Lorsque X3 rencontré à reconsidérer, l’attitude de consulter X3J3 semblait être un mélange de «nous savons ce X3J3 pense» et «nous sommes en charge”. La dimension internationale a été rejetée en répétant que c’était une question purement interne, sans tenir compte des preuves claires de portée internationale et d’alarme. Lorsqu’on lui a demandé qui croyait que Fortran 77 était un sous-ensemble de Fortran 8X, seulement quatre mains se sont levées. L’un des quatre, un membre de longue date X3J3, tenté d’expliquer, mais quelqu’un d’autre a dit: «tout ce que nous avons entendu suggère que Fortran 77 n’est pas un sous-ensemble de Fortran 8X» et ce fut la fin de la discussion. X3 a réaffirmé sa décision.

Ironie du sort, un troisième membre de X3J3 et X3 qui était présent a conclu plus tard une longue réponse au torrent de plaintes électroniques avec “tous X3 n’a été dit que Fortran 77 resterait un sous-ensemble de Fortran 8X et aux États-Unis seulement» (mes italiques) . Quoi que l’on fait de cette incohérence, ce que c’était que X3 pense qu’il a fait est hors de propos. Ce qui importe, c’est que, tout en Fortran 77 est un sous-ensemble de Fortran 8X, les implémentations de fournisseur de Fortran 77 sont en général mises en œuvre beaucoup de ne pas sous-ensemble de Fortran 8X, et il n’y a beaucoup de preuves qu’ils ont l’intention d’en faire ainsi.

Contrariété avec X3, et les membres de X3J3 qui avait du génie de ce coup d’Etat, a été considérable dans la communauté Fortran, même parmi les membres de X3J3 l’extérieur du camp révisionniste. Le retournement complet d’attitude par X3 à l’année précédente, soit pratiquement à 180 degrés demi-tour, n’a pas encore été expliqué de façon satisfaisante.

Audition harmonies secrètes

L’atmosphère de la réunion spéciale supplémentaire de GT5 tenue à Londres en Mars 1990 pour réexaminer la situation était d’une détermination plutôt que de récriminations. Comme à Paris dix-huit mois plus tôt, il a roulé ses manches collectives et est allé travailler sur le projet, qui est maintenant surnommé “Fortran 90″. Plutôt que de simplement l’examiner et demander X3J3 pour faire des changements, il a apporté des changements – en effet dire à X3J3 “voici ce que la norme ISO Fortran 90 sera, s’il vous plaît vérifier l’exactitude», laissant X3J3 d’apporter la norme Fortran étendu ANSI en ligne. Pour être sûr, il n’a pas été mis tout aussi crûment que cela, et certains problèmes ne sont pas résolus à la fin de la semaine a été renvoyé à X3J3 à traiter. Cependant, il était clair que GT5 (qui, rappelez-vous, contient un bon nombre de membres de X3J3, qui lors de cette réunion ont pris la tête dans le travail technique) prendrait un très mauvais œil si X3J3 n’acceptait pas fondamentalement ce qui avait été fait.

Comme cela est écrit (Juin 1990) a en effet achevé X3J3 un projet final et c’est dans les dernières étapes de la voie de publication de siège ISO à Genève en tant que projet de Norme internationale (DIS) – après quoi le contenu technique est effectivement gelé avec des changements limités à la correction des erreurs typographiques et d’autres. Fortran 90 ne semble être sur son chemin – si les survivants à long terme de cette saga seront toujours croisent les doigts.

Ainsi, les problèmes plus? A peine; il ya trop de questions en suspens:

  • Sera les États-Unis Fortran 90 (Fortran ANS Extended) être identique à ISO Fortran 90 en dehors de la désignation? [On pense et certainement l'espérait, mais dans ce domaine, on a appris qu'il ne faut rien tenir pour acquis.]
  • Sera le camp traditionaliste, avec ce coup d’Etat sous leur ceinture, maintenant donner Fortran 90 d’une course claire? [Il semble que jusqu'à présent, mais nous avons pensé avant le coup que les ennuis étaient terminés.]
  • Quelles sont les intentions traditionaliste / fournisseurs en ce qui concerne l’avenir de Fortran 77? [Il ya eu des assurances, mais aussi des rumeurs méchantes, et beaucoup de malaise.]
  • Quel sera l’impact de ce découplage unilatérale de normes nationales et internationales, et la différence de statut de Fortran 90 entre ANSI et ISO, en dehors de la communauté Fortran, et pourrait-il y avoir des effets négatifs sur d’autres projets de normalisation? [Au moins, cela pourrait conduire à un nouvel examen de la question nationale vs internationale de normalisation.]

L’harmonisation et la standardisation dans le monde entier est l’objectif de la normalisation internationale. Bien que les différences de statut et l’attitude envers Fortran 90, et d’ailleurs Fortran 77, restent entre les États-Unis et le reste du monde, alors que l’objectif sera pas correctement ont été remplies. Les répercussions vont continuer jusqu’à ce que cette anomalie a été résolu – par exemple, par la révision de la norme américaine Fortran 77, pas dans son contenu mais dans ses règles de conformité, de sorte qu’aucune extensions Fortran 77 sont autorisés à moins compatible avec la norme Fortran 90. C’est un pauvre substitut à ce qui aurait dû se passer, mais mieux que rien.

Cependant, il ya peu de preuves d’une volonté de le faire, et de bonnes raisons de craindre que toute velléité de réviser Fortran 77 sera saisi par des intérêts de miner plutôt que d’appuyer Fortran 90. Bien que cette situation malheureuse continue, s’il ya sont des harmonies de se faire entendre, ils sont en effet les secrets.

Dernières choses

Ce compte de la saga Fortran a été écrit du point de vue d’un membre britannique de GT5 et d’un révisionniste impénitent et sans honte. Cela a sans aucun doute été évident! Puisque l’auteur n’est pas Borges, la saga est très simplifiée, mais il est à espérer que les principaux événements ont été couverts, même si tout le monde ne sera d’accord avec les interprétations et les opinions exprimées – qui sont celles de l’auteur et ne reflètent pas nécessairement celles du Royaume-Uni à GT5 et le niveau de SC22. David Muxworthy, Lawrie Schonfelder et Loren Meissner précieux commentaires et corrections d’erreurs factuelles sur les versions antérieures, qui sont grandement appréciés, mais ils ne doivent en aucun cas être tenu responsable des opinions exprimées, ni pour d’autres erreurs, qui sont de l’auteur même. Un article basé sur des éléments tirés d’une version antérieure est apparu dans Computer Weekly, le 3 mai 1990.

Références

[1] WS Brainerd, dans le chapitre 2 (Fortran) de standardisation de la langue de programmation, éd. I.D. Hill et B.L. Meek, Ellis Horwood, 1980, p. 34

[2] WS Brainerd, les normes de langage de programmation scène II: Fortran, Ordinateurs et normes Vol 2 n ° 2-3, 1983, p. 76

Copyright © 1990 par l’Association for Computing Machinery, Inc. S’il vous plaît cliquer ici pour le copyright ACM.

Note ajoutée en 1995: malgré le pessimisme montré à l’audience harmonies secrètes passage, Fortran 90 a en effet été publié en 1991 comme ISO / IEC 1539:1991, la norme américaine est la même, et se déplace sont en cours pour retirer la norme américaine parallèle pour Fortran 77.