COMPILATION SIMULA

Original: http://staff.um.edu.mt/jskl1/simula.html#fnB77


JAN RUNE HOLMEVIK
Copyright (C) 1993, 94, 95, 96, 97, 98.
Cet article a paru dans: Jan Rune Holmevik. Éduquer à la Machine : une étude dans l’histoire de l’informatique et la Construction des langues de programmation SIMULA. Trondheim: M rapport 22/94. 1994.
Une version imprimée du livre dans lequel ce orginially article paru peut être commandée auprès
Center for Technology and Society
Université de Trondheim
N-7055 Dragvoll, Norvège
Courriel : karhei@sts.ntnu.no
Le langage de programmation SIMULA a été conçu et construit par Ole-Johan Dahl et Kristen Nygaard à la norvégienne Computing Centre (NCC) à Oslo entre 1962 et 1967.[1] il a été initialement conçu et implémenté comme un langage pour la simulation d’événements discrets, mais fut plus tard développé et réimplémenté comme un usage général de pleine échelle, langage de programmation. Bien que SIMULA jamais est devenu employé couramment, la langue a été très influente sur les méthodes de programmation modernes. Entre autres choses, SIMULA introduit importants concepts de programmation orientée objet comme classes et objets, l’héritage et la liaison dynamique.
Dans ses grandes lignes, le présent chapitre vise à explorer l’histoire plus large du projet SIMULA. Au moyen d’une approche contextuelle de l’histoire, il tente de tisser ensemble le développement technique de la langue avec ce qui est normalement considéré comme son contexte social, économique et politique. Ainsi, ce chapitre est une analyse socio-technique la principale préoccupation est d’étudier l’hétérogénéité de la Genèse technologique.
Comme l’a montré l’historien des techniques Thomas Hughes dans ses études remarquables d’Edison et d’autres technologues dans leur travail paient souvent peu d’attention aux catégories de connaissances communément acceptées ou limites professionnelles.[2] il a fait observer qu’elles, afin d’accomplir leurs objectifs, souvent de dépasser les limites de ce qui est normalement considéré comme technique ou scientifique, et qu’ils fusionnent habituellement questions communément étiquetées technique, scientifique, social, économique ou politique. Ainsi pour Hughes, les technologues sont professionnels hétérogènes et leur interaction avec le contexte socio-technical auquel ils se rapportent que leur travail devient le principal centre d’intérêt. Son argument principal, en effet, est que l’un ne peut pas comprendre pleinement les processus complexes de changement technologique et scientifique sauf si on reconnaît que les technologues problèmes voient toutes les catégories analytiques ci-dessus–comme allant à l’ensemble comme un complètement intégré ensemble, composer un web sans couture, pour utiliser une terminologie propre Hughes. Conformément à la présente il nous incite à “suivre les acteurs” et de chercher des explications des changements technologiques et scientifiques après le récit de l’étroit spécialiste des maladies internes de développement technique.[3]
Comme ce chapitre vise à montrer, la construction de SIMULA était en effet un effort nécessitant un haut degré de génie hétérogène par les deux directeurs, Dahl et Nygaard. La partie principale du chapitre est consacrée à une discussion sur la façon dont la langue a été construite et mis en œuvre. Conformément à ce qui a été indiqué plus haut, l’analyse tente d’incorporer une approche sociotechnique de l’histoire et donc plusieurs aspects “non techniques” du projet sont traités en détail. Les sections de clôture donnent un bref aperçu de certains des plus importantes implémentations SIMULA surfaçage dans les années 1970, mais aussi un commentaire sur l’engagement de la CCN SIMULA dans cette période.
En tirant les fils ensemble
Depuis il a tout d’abord commencé à travailler avec la recherche opérationnelle en 1952, Kristen Nygaard avait été constamment concerné avec les façons de concevoir des systèmes complexes de monde réel. Un des problèmes majeurs rencontré dans cette poursuite était comment décrire l’hétérogénéité d’un système et son fonctionnement. Dans les années 1950, la modélisation de tels systèmes faisait généralement par le biais de moyens de notation de symbole, c’est-à-dire-diagrammes de flux accompagnés d’un compte des règles régissant le fonctionnement du système.[4] Monte Carlo simulation s’est avérée pour être un outil utile pour l’analyse de ces modèles, et lorsque le mercure Ferranti s’est finalement installé à NDRE à l’été 1957, Nygaard et son équipe immédiatement commencé à écrire des programmes de simulation informatiques.

Comme je l’ai indiqué dans les chapitres précédents, la fin des années 1950 a vu la prolifération d’un nouveau régime pour la programmation informatique, connu comme les langages de programmation haut niveau. Grâce à Jan Garwick, NDRE a une longueur d’avance dans ce domaine, et bien que Kristen Nygaard n’était pas directement impliqué dans ce secteur d’activité, il connaissait bien les principes des langages de programmation. Encouragé par les perspectives prometteuses de simulation assistée par ordinateur, Nygaard bientôt commencé à penser conceptuellement à comment il pourrait formaliser les modalités de description des systèmes d’une manière qui permettrait à des concepts normalisés être facilement traitées par un ordinateur. Compte tenu de ses antécédents de NDRE, l’idée de faire un langage de programmation ne semble pas trop surprenante, et en termes de concepts techniques, en 1961 d’un ensemble d’idées fragmentaire et plutôt vague commence à prendre forme. En janvier 1962, Nygaard a écrit à son collègue, le spécialiste Français de recherche opérationnelle, Charles Salzmann :
Le statut sur le langage de Simulation (compilateur Monte Carlo) est que j’ai plutôt clair des idées sur la façon de décrire les systèmes de files d’attente et ont développés des concepts qui me semblent permettre une description raisonnablement facile des grandes classes de situations. Je crois que ces résultats ont quelque intérêt même isolé du compilateur, puisque les moyens utilisés actuellement de décrire ces systèmes ne sont pas très satisfaisants. […] Le travail sur le compilateur n’a pas pu démarrer avant que le langage a été assez bien développé, mais cette étape maintenant semble avoir été atteint. Le programmeur expert qui s’intéresse à cette partie du travail me rencontrera demain. Il a été plutôt optimiste lors de nos rencontres précédentes.[5]
Comme en fait foi de cette lettre, SIMULA visait d’emblée à être en même temps une description de systèmes et un langage de programmation, sa construction nécessiterait donc les deux systèmes de raisonnement et de compétences en programmation. Même si Nygaard eu une certaine expérience avec la programmation informatique à NDRE avant il a été affecté à la recherche opérationnelle en 1952, il n’a pas eu suffisamment d’expérience ou de connaissances nécessaires pour entreprendre une vaste tâche comme ça sur son propre. Il a été obligé de recruter des compétences programmation de dehors et le meilleur allié qu’il pouvait trouver, en plus de Garwick, était sa vieille connaissance de NDRE, Ole-Johan Dahl. Au printemps de 1962, Nygaard et Dahl a rejoint dans une série de discussions qui, en mai 1962, a abouti à la première proposition de langage formel.
SIMULA IFIP 62
Afin de mieux comprendre de Nygaard raisonnement à ce stade, il est utile d’anticiper le cours des choses un peu en examinant comment la langue est apparue lorsqu’il a été présenté au public à l’automne 1962. L’occasion a été la deuxième Conférence internationale sur le traitement de l’information qui s’est tenue à Munich, en Allemagne à la fin août de cette année-là. Dans l’introduction de son livre intitulé « SIMULA–une Extension d’ALGOL à la Description des événements discrets réseaux, » Nygaard a expliqué le raisonnement derrière SIMULA comme suit :
Pour les travailleurs de la recherche opérationnelle et d’autres étude des systèmes de réseau, il y a un réel besoin pour un langage précis qui permet une description d’un réseau en termes de concepts normalisés et généralement acceptées. Cette description devrait obliger le travailleur recherche à examiner tous les aspects pertinents du réseau. SIMULA–SIMUlation LAnguage–représente un effort pour répondre à ce besoin en ce qui concerne les réseaux d’événements discrets, c’est-à-dire le flux peut être considéré comme étant composé d’unités discrètes exigeant de service à éléments discrets de service et d’entrée et de sortie des éléments à des moments précis [sic] du temps. Exemples de tels systèmes sont des systèmes de compteur de billet, lignes de production, production de programmes de développement, les systèmes de neurones et traitement simultané des programmes sur les ordinateurs.[6]
L’approche précoce à SIMULA était, comme en témoigne la citation précédente, basée sur la notion d’un concept de réseau formulés mathématiquement consistant en des stations actives desservant un flux de clients passifs. Tel qu’illustré à la Figure 7, ces stations se composait d’une partie de la file d’attente et une partie du service, et les actions associées à la partie de service ont été décrits par une séquence d’instructions officielles. Les clients ne possédaient aucune règles de fonctionnement similaires, mais étaient au contraire décrit à travers une séquence de variables appelées caractéristiques. Un client était censé être générés par le composant de service d’une station donnée, puis transféré à la partie de la file d’attente d’une autre station, puis à la partie de service de la station. Ici le client a été « servi » et ensuite transmis à la prochaine station dans le réseau, et ainsi de suite jusqu’à ce qu’il a disparu en fin de compte de ne pas être tous transférés plus loin. Les mesures prises par les stations étaient considérées comme instantanées, se produisant à des points discrets dans le temps et en conséquence, cette catégorie de systèmes s’appelait réseaux d’événements discrets.[7]

La figure 7. Station réseau d’événements discrets.
L’intention était de construire la langue autour d’une structure mathématique générale. Une question cruciale à ce stade était donc de savoir si ils doivent construire leur structure de la langue à partir de zéro, ou plutôt adapter leurs concepts à un déjà existant. Dahl et Nygaard a décidé dès le début que si SIMULA allait devenir un véritable langage et pas seulement un universitaire “langue de papier”, ils devront unir leurs forces avec l’un des langages de programmation dominantes. Dans les années soixante ALGOL 60 [8] a été le premier langage de programmation en Europe. Les concepts élégants et puissants de cette langue ont exhorté Dahl et Nygaard et a fait, selon eux, le match parfait pour SIMULA.[9] la décision cruciale de lier SIMULA à ALGOL 60 a été effectuée au cours du printemps de 1962 et se révéla plus tard pour être une force énorme et un obstacle de taille. Je vais revenir à ces questions techniques par la suite, mais pour l’instant nous devons simplement établir qu’ALGOL 60 est venu pour constituer une forteresse technique décisive pour le projet SIMULA.

Nouveaux hommes
Afin de comprendre comment SIMULA a augmenté d’un ensemble d’idées lâches en tête de Nygaard dans une programmation de travail langue il est important de savoir quelque chose sur l’environnement dans lequel cette évolution a eu lieu. Comme nous l’avons vu dans le chapitre précédent, tandis que NDRE dans les années 1950 est imposé comme le principal milieu norvégien dans le NCC informatique était assez bien à l’écart dans ce domaine. La tâche principale du mésocentre avait couru de 1954 NUSSE, mais quand le mercure Ferranti beaucoup plus puissant est venu en Norvège en 1957, cette machine est bientôt devenue obsolète. En 1958, la CCN a été donnée charge d’exécutant du Bureau Central de statistique DEUCE et, comme mentionné dans le chapitre 3, cela a conduit à une réorganisation du mésocentre. Selon le rapport annuel de NTNF 1958/1959, nouveau mandat de la CCN était de travailler pour l’application de l’informatique des machines, fonctionner comme Institut de contrat pour le calcul et faire le calcul numérique et statistique pour l’industrie et des organismes publics.[10]
Autour de 1960 il est devenu évident, cependant, que la NCC n’était pas capable de s’acquitter de ces obligations. La quantité de travail augmente rapidement, alors que l’utilisation de la DEUCE n’hauteur pas aux attentes. Une des raisons de ces problèmes était un profond manque de personnel qualifié.[11] un autre se pose de nombreux problèmes techniques avec la machine elle-même, et pourtant un tiers du fait que le diable était une machine extrêmement difficile au programme. Mettant l’accent sur une machine simple a conduit à un codage plus compliquée qu’ont été utilisées dans n’importe quel autre ordinateur de sa journée, et compte tenu de l’ampleur des problèmes que NCC a été censé pour résoudre ce problème posé des difficultés énormes pour son personnel de programmeurs.
Il est vite apparu aux parties concernées que quelque chose devait être fait et comme une première étape dans le renforcement de NCC, son Conseil d’administration a décidé, au printemps de 1960, de réaffirmer les objectifs du Centre en imposant un profil plus recherche. Comme mentionné, vers la fin des années 1950 Kristen Nygaard avait trouvé travail à NDRE plus en plus difficile, et ainsi, quand la CCN, en mai 1960 lui offre un nouveau poste il accepta avidement. Conformément aux intentions de la CCN, sa nouvelle affectation était surtout à mettre en place un bureau d’Etudes opérations civiles. Pour ce faire, il a apporté le long de six membres de son équipe de recherche opérationnelle précédente de NDRE.
NDRE cela au départ est venu comme un coup sévère depuis un grand nombre de ses spécialistes de la recherche opérationnelle a soudainement disparu. Cependant, sous la direction d’Erik Klippenberg le reste du groupe à NDRE bientôt re-se sont organisés et emménagé dans l’analyse des systèmes. Cet événement a permis à long terme des conséquences beaucoup plus graves pour les activités de l’Institut de recherche informatique. Lorsque Nygaard et son groupe ont quitté en 1960, Ole-Johan Dahl est devenu progressivement associé au projet SIMULA à CCN, et Jan Garwick plus tard déménagé aux États-Unis, une grande partie de l’expertise qui avait été constitué à NDRE a disparu. L’effet de ceci était que NCC dans les années 1960 a repris comme le milieu principal en informatique en Norvège.[12]
L’engagement de DEUCE avait affecte gravement la capacité de la CCN pour exécuter ses commissions, et en 1961, il était clair que cela a eu un impact décisif sur la crédibilité financière du Centre. Les lacunes financières notables ont été enregistrés en 1959 et 1960, [13] et les perspectives de 1961 n’ont pas indiqué une amélioration immédiate. Ce qui cela surtout avait démontré la nécessité d’un personnel hautement qualifié et professionnel et à cet égard, l’introduction de la recherche opérationnelle en 1960 s’avéra bientôt comme un pas dans la bonne direction. En outre, il avait également révélé le besoin profond de la CCN pour un nouvel ordinateur qui améliorerait la capacité de l’Institut à s’acquitter de son mandat.
La Question de l’ordinateur
L’événement qui propulserait finalement le projet SIMULA le papier a eu lieu en 1962 et finirait par également représenter la solution aux problèmes d’informatique de la CCN.
En avril 1961, NCC a reçu une proposition informelle du centre de calcul de danois à Copenhague au sujet de la possible future coopération.[14] à l’époque, directeur du Centre informatique Nils Ivar Beck, avait des idées pour un vaste réseau de scandinaves, appelés le système électronique scandinave des centres de calcul. Selon la proposition danoise, CCN pourrait, dans les prochaines années, à devenir partie de ce réseau et serait à court terme des avantages de cette coopération de plusieurs façons. Du point de vue du Conseil NTNF et de la CCN, la proposition danoise a semblé la solution idéale aux problèmes plus immédiats de la CCN, et après quelques réunions préliminaires au cours de 1961, les relations informelles entre les deux centres informatiques ont été ainsi établies.
De Nygaard du point de vue, il était tacitement entendu que lorsque lui et directeur de la CCN, Bjørn Ørjansen ont reçu la tâche de rédiger un rapport sur les besoins immédiats d’ordinateur de la CCN, ils devraient conclure en recommandant un GIER depuis le centre de calcul de danois.[15] GIER était un ordinateur de taille moyenne reconnu, mais selon Nygaard et de Ørjansen pas la solution idéale pour la NCC d’immédiate a besoin, ni au profit de l’informatique norvégienne à long terme. Ce qu’ils voulaient était un véritable mainframe comme KDF-9 de English Electric. Toutefois, cet ordinateur était, à l’époque, loin de portée de la CCN, et par conséquent, ils se sont installés pour le GIER. Basé sur les conclusions du rapport de Nygaard et Ørjansen, NTNF a décidé en février 1962 que NCC devrait ordonner un GIER du Danemark et accordé 2 mill. NOK. ($ 280 112) à cet effet.[16]
C’était à peu près la situation lorsqu’un autre acteur important, la Division d’Univac de la Sperry Rand Corporation, entrée sur scène vers la fin de mai 1962. Dans le cadre de la commercialisation de leur tout nouvel ordinateur UNIVAC III et UNIVAC 1107, la compagnie a arrangé une administration tournée vers les États-Unis pour les éventuels clients européens. Kristen Nygaard a été invité à participer au nom de la NCC.[17]
Maintenant, à ce stade nous devons brièvement récapituler la situation sur le projet SIMULA. Comme mentionné précédemment, le concept SIMULA avait, en mai 1962, a atteint un état de maturité semi, et Dahl et Nygaard ont estimé qu’ils avaient maintenant un concept de langage présentable à portée de main. Le premier débroussaillage a été fait, et il était temps de chercher des ressources financières. Tel que rapporté par Dahl et Nygaard en 1981, [18] n’était aucun enthousiasme initial pour SIMULA dans l’environnement de la CCN, c’est-à-dire, outre le soutien moral précieux donné par le Conseil d’administration de CCN. La principale objection selon eux était qu’il n’y n’aurait aucune utilité pour un langage de programmation comme SIMULA, et si par hasard il y avait, une telle langue certainement existait déjà. En outre, on a affirmé que leurs idées n’étaient pas assez bonnes, et qu’ils n’avaient en général pas la compétence nécessaire pour s’engager dans un projet aussi vaste, qui, pour ces raisons, s’achèverait jamais. Enfin, il a été soutenu que ce genre de travail ne doit pas être pratiquée dans les petits pays comme la Norvège. De ces déclarations, il devrait être évident que le rassemblement de soutien financier du Conseil de recherches, serait en effet une mission difficile et de longue durée.
Heureusement, les autres options existaient, et pour tenter d’inverser la mission vente de Univac Kristen Nygaard a décidé d’introduire SIMULA aux américains. Dès que le groupe arrive à New York, il a contacté l’Univac Europe représentant James W. Nickitas et lui a remis SIMULA et un autre projet de logiciel de NCC sur la programmation linéaire.[19] Nickitas trouvé des idées de Nygaard intéressant et ont convenu de mettre en place une réunion avec quelques représentants influents de la division logiciels de Univac. Assistaient à cette réunion était également Robert Bemer, auparavant une personne clé chez IBM, maintenant de Univac directeur de programmation système. BEMER rappelle que :
C’était juste après que j’ai commencé avec UNIVAC que j’ai rencontré une Kristen Nygaard du centre de calcul de norvégien, Oslo. Il m’a parlé de son projet SIMULA. Mon budget annuel pour les systèmes de programmation était environ $ 8 millions à ce moment-là, pour, dans le quartier de 325 personnes. Dr Rader m’avait conseillé que 5 % de cet argent était mon pouvoir discrétionnaire, pour faire ce que jamais je pensais bénéficierait UNIVAC plus ! Il est arrivé que j’organise et préside une séance lors de la Conférence de l’IFIP à Munich en août, au projet de laquelle Nygaard était un ajustement étroit. Je l’ai invité à donner un papier à cette session. Il a attiré mon intérêt, et j’ai voulu SIMULA pour le répertoire du logiciel 1107 (ALGOL était également dans le répertoire, dont j’aurais jamais pu faire arriver chez IBM, mais à UNIVAC je COURAIS [sic] de l’émission!). [20]

BEMER avait été un fan de ALGOL 60 sous serment tout au long et pendant qu’il écoutait à Nygaard expliquant ses idées pour un langage de simulation basé sur ALGOL, il acquit la conviction plus que les installations de simulation sophistiqués de SIMULA bénéficierait considérablement ALGOL 60 dans sa lutte avec FORTRAN.[21] à la fin de la séance de Bemer a annoncé qu’il allait présider une séance à la 62 IFIP Congrès mondial à Munich et qu’il beaucoup voulaient une présentation de SIMULA pour cette occasion. Nygaard a immédiatement accepté cette offre qu’il a réalisé l’importance d’une telle possibilité.[22] la présentation de SIMULA lors de la Conférence de l’IFIP implique tout d’abord une étape importante vers la consolidation des concepts linguistiques. En outre, il offre un cadre approprié pour l’introduction de SIMULA et a fait simultanément Dahl et Nygaard avec une entrée importante pour la communauté unique de professionnels de l’informatique.
Même si Kristen Nygaard avait réussi à attirer l’attention professionnelle à SIMULA, la question essentielle de l’aide financière était encore incertaine. À ce stade, cependant, Univac a commencé à se déplacer. Dans le cadre de la commercialisation de l’UNIVAC 1107, l’entreprise avait besoin d’un site de démonstration en Europe dès que possible. À cet égard, Kristen Nygaard doit avoir fait tout à fait forte impression sur le peuple d’Univac et vraiment réussi à les convaincre de qualités professionnelles de la CCN, parce qu’à son retour en Norvège, Nickitas l’a approché avec une proposition informelle pour Univac à mettre en place ce site de démonstration au NCC. L’accord a été que le site de démonstration devrait servir à des fins promotionnelles pour Univac et NCC obtiendrait 50 % de réduction sur un achat éventuel. En échange de cette offre généreuse cependant, Univac voulait NCC pour leur fournir de SIMULA et une mise en œuvre du système de programmation linéaire développé par Sverre Spurkland.[23]
Un nouveau et puissant allié
Lorsque Univac fit leur apparition, les conditions pour le projet SIMULA considérablement changé. Comme nous l’avons expliqué précédemment, les perspectives d’atteindre les subventions au sein du système NTNF n’étaient pas du tout prometteurs. Maintenant tout d’un coup une situation nouvelle est apparue. Grâce à leur initiative, Univac a modifié les conditions en liant le développement de SIMULA à acquisition d’ordinateur de la CCN. Il est intéressant de remarquer que Univac à l’époque savait que NCC avait déjà commandé un ordinateur GIER du Danemark.[24] à cet égard leur initiative doit être comprise comme une tentative de renverser l’ordre GIER en offrant NCC un meilleur contrat. Cependant, leur stratégie était beaucoup plus subtile que cela. En plus des conditions économiques favorables, il impliquait aussi à l’intérieur de la collaboration. En revendiquant des implémentations de SIMULA et le paquet de LP en contrepartie de l’offre de leur ordinateur, ils visent clairement enrôlement Kristen Nygaard comme leur allié et à l’intérieur de l’homme en Norvège.
Angle de Nygaard initiative de Univac doit vraiment avoir eu un son appel à elle. D’abord parce que l’UNIVAC 1107 créerait un environnement bien meilleur, notamment en termes de puissance, pour le développement d’un compilateur SIMULA que GIER informatique. Aujourd’hui encore, simulation et modélisation Monte Carlo de haute précision sont hautement tâches intensives CPU trois heures supercalculateur pistes ne sont pas rares.[25] un autre aspect qui doit également avoir attiré Nygaard était de Univac poste de marketing bien visible et réseau de distribution mondial. Associé à un puissant ordinateur comme le 1107, SIMULA serait lancé sur le marché mondial comme logiciel standard sur une gamme qui aurait jamais accompli NCC.[26] Cependant, l’aspect le plus important est sans doute la perspective de NCC prenant sur les coûts de développement liés au projet SIMULA.
Dans un contexte plus large un certain nombre d’autres éléments peut-être aussi avoir influencé les raisonnement de Nygaard. Cependant, nous allons ici régler pour peut-être la plus importante, qui également à un degré élevé est interconnectée avec l’effort SIMULA. Depuis le précédent qu’il devrait être évident que Kristen Nygaard était tout à fait un homme ambitieux, et que ses aspirations professionnelles ont été en grande partie lié à la position de la CCN comme un centre de recherche en informatique. À cet égard, il doit avoir jugé les possibilités d’atteindre un ordinateur comme les 1107, dans les années soixante parmi les solutions ultimes dans la technologie informatique de pointe, comme une occasion donnée par Dieu à fortifier informatique norvégienne et sans doute son propre prestige professionnel en même temps. Dans tous les cas, il était évident que Univac constituerait un formidable bastion du projet SIMULA et que Kristen Nygaard et Univac avaient commune intéresse en l’espèce, même s’ils ont poursuivi des objectifs différents.
Négociation pour l’accord d’Univac/SIMULA

En Norvège, mission de Nygaard était, en conséquence, de sonder l’opinion avis pour la proposition d’Univac à CCN et au sein de NTNF. Étant donné que le Conseil de la recherche avait déjà ordonné l’ordinateur GIER du Danemark, des efforts devaient être visant à convertir leurs intérêts dans ce cas. Vers le milieu de l’été de 1962, Luthar Harr, directeur de l’Univac Europe, Stig Wallstam, directeur d’Univac de Scandinavie et James Nickitas est venu en Norvège pour annoncer leur proposition formelle. Dans ce contexte, membres du Conseil de CCN ainsi que de quelques personnes influentes au sein du Conseil de la recherche ont été convoqués à une réunion avec les représentants d’Univac. Lors de cette réunion Qu’univac est venu avec une offre qui signifiait que NCC pourrait acquérir un at 1107 une réduction de 50 %, ou environ 7,1 moulin. NOK. ($ 991 400).[27]
Au cours des discussions cependant, les représentants de l’Univac a obtenu la notion que la configuration de l’ordinateur en question était trop grand et donc trop chère. Pour tenter de le rendre plus attrayant pour les Norvégiens, ils ont donc par la suite décidé d’étendre leur offre. Dans la suite de discussions ils ont révélé qu’ils seraient disposés à offrir NCC un logiciel contrat sur SIMULA et le paquet de LP. Cette offre inattendue, apparemment une tentative improvisée pour inciter les NCC et Kristen Nygaard en particulier, était en fait un ace qui ils s’étaient cachés tout au long dans le but d’obtenir gratuitement les SIMULA. Il est utile de rappeler que, dans le temps, tête d’Univac systèmes de programmation, Robert Bemer, disposait d’un budget annuel de moulin à 8 $. dont il pourrait passer vers le haut à 5 pour cent l’argent discrétionnaire sur quelque projet trouva intéressant. Puisque le projet SIMULA, selon lui, était tout à fait intéressant, il avait déjà autorisé le financement nécessaire du projet.[28] manifestement intérêt soutenu de Univac SIMULA se trouve dans une lettre de Univac à Kristen Nygaard, datée du 23 octobre 1964 :
“Des principales raisons de notre intérêt pour SIMULA, c’est que nous voulons établir une capacité de simulation de systèmes forts pour notre propre usage ici à St. Paul. Nous avons été l’évaluation des approches alternatives et votre matériel [rapports intérimaires et spécifications de SIMULA] est étudiée avec beaucoup d’intérêt » [29]
Cette nouvelle initiative implique un lien plus étroit entre le destin de SIMULA et les résultats de la mission de vente de Univac et pour Kristen Nygaard cela doit sans doute avoir été un éperon vital pour davantage d’engagement.
Un plus gros poisson
Avec ses manœuvres d’entreprise Nygaard avait réveillé d’entre les vraiment les gros poissons en norvégien de la recherche système, à savoir son ancien patron de NDRE, Finn a menti. En tant que directeur de NDRE, Président du Conseil d’administration de l’IFA, membre du Comité de travail de NTNF et avec solides contacts de haut niveau au sein du ministère des finances et le ministère de l’industrie, le Lied était un homme d’un pouvoir considérable et influence politique scientifique norvégien et il n’a pas prendre à la légère à l’initiative d’UNIVAC de Nygaard du tout.
Commencé dès septembre 1960 IFA et NDRE devait d’abord se pencher sur la question de l’acquisition d’un nouvel ordinateur pour remplacer le mercure Ferranti. On a fait valoir qu’afin de maintenir une position de première ligne dans R&D de la haute technologie, il était impératif que les deux instituts avaient à leur disposition la machinerie informatique plus puissante et les plus moderne disponible. En février 1962, l’affaire a été transmise au ministère des finances, mais il s’avère bientôt que les choses se passaient pas aussi facilement qu’on l’avait espéré. En mai de cette année-là, Lied a écrit à son collègue, Karl Holberg, incarnant à la fois la NDRE au sein du Conseil pour le traitement de l’information dans l’Administration publique: [30]
L’acquisition [ordinateur] est entré dans une phase très critique avec les plus grandes difficultés dans le ministère de l’industrie. Détails par voie orale. J’ai faire appel aux deux secrétaires d’État, tant oralement que par écrit. J’ai donné dans tous les domaines à l’exception de l’essentiel. C’est, à mon avis, nécessaire car elle est maintenant. J’ai mis l’affaire en partie dans les mains (le vôtre) du Conseil.[31] [ma traduction]
Que ces difficultés se sont déroulés plus sombres nuages sont rassemblaient à l’horizon. Kristen Nygaard était retour des États avec une offre exceptionnellement favorable d’Univac, et le Conseil de recherche a été apparemment avaler l’appât.
En juillet, Comité de travail du NTNF a décidé d’examiner la question de 1107 en vertu de la délibération, et Kristen Nygaard a été chargé de rédiger un rapport sur le sujet. Offre de UNIVAC était en vigueur jusqu’au 1er octobre 1962 et Nygaard nouvel très bien ce qui était en jeu. Il devait agir vite. Bien que le Lied et autres qui étaient susceptibles d’interférer étaient partis en vacances d’été, il a dressé un rapport concluant que le NTNF devrait acheter l’UNIVAC 1107. Il a fait valoir que les besoins pour la puissance de recherche, organismes publics, privés ou dans diverses industries informatique augmentaient rapidement, et qu’un ordinateur comme les 1107 servirait en effet présent ainsi que les besoins futurs.[32] un autre atout était le fait que l’offre de Univac était environ 2,5 mill NOK. ($ 350 140) moins que (les concurrents IBM et English Electric) citations.[33]
Pour le Lied, initiative de UNIVAC de Nygaard complique les plans pour l’acquisition d’informatique de l’IFA/NDRE considérablement. Secrétaire au Trésor, Petter J. Bjerve, était d’avis qu’un seul gros ordinateur avait d’être utilisé à son plein potentiel avant le prochain devrait être acquis. Cela signifiait que si plans de Nygaard et du CCN ont été mis à exécution à ce stade, cela pourrait signifier un retard significatif pour les plans de NDRE/IFA propre.
Le cas de l’UNIVAC a été géré par le Comité de travail de NTNF lors de réunions tenues les 21 août et le 12 septembre 1963. Les membres du Comité étaient généralement en faveur des conclusions dans le rapport de Nygaard, c’est-à-dire à l’exception du directeur de NDRE, Finn a menti. Lied a souligné qu’il serait un développement malheureux si NCC devait élargir son personnel en recrutant les compétences des autres institutions similaires. Il craignait également que l’acquisition d’un ordinateur gros et coûteux comme le 1107 compromettrait les chances de NDRE d’obtenir un ordinateur similaire dans un proche avenir.[34] Cependant, malgré son inquiétude, Lied n’a pas choisi à la dissidence dans cette affaire. Une des raisons pourquoi il s’est abstenu d’interférer avec les plans de la CCN a été probablement que les subventions pour ordinateur de IFA/NDRE à ce point semblaient sûre.[35] Nygaard et de la CCN visait à financer 60 pour cent de la machine par le biais de prêts privés, et donc, leur acquisition d’ordinateur ne porterait pas atteinte directement à des négociations avec le ministère des finances et le ministère de l’industrie de IFA/NDRE.
Lorsque le contrat entre NTNF et Univac a été signé le 24 octobre 1962, les systèmes logiciels pour accompagner l’ordinateur n’étaient pas encore prêts. Cependant, Univac a assuré NTNF grâce à une clause pénale dans le contrat que ces systèmes seraient prêts à temps pour la livraison. La date de livraison initiale a été fixée pour mars 1963, mais pour diverses raisons a été reportée par la suite. Lorsque l’ordinateur est finalement arrivé, en août 1963, il est devenu évident que les systèmes de logiciel fournis ne respectent pas les normes promis par Univac. Cette situation n’a pas amélioré considérablement, et en mars 1964, NCC avait accumulé une réclamation sur Univac s’élevant à environ 1,8 moulin. NOK ($ 250 000). Cependant, des progrès sont réalisés, et en juin 1964 NCC enfin a examiné la situation de logiciels satisfaisant. Alors revendication permanente de la CCN sur Univac était devenue importante, et les personnes importantes au sein de l’organisation de l’Univac se sont retrouvent dans une position plus inconfortable. Ainsi, afin de maintenir des relations amicales avec l’Univac et d’éviter d’inutile “tête-rolling” au sein de cette société, NCC a accepté une mise à niveau de la configuration matérielle, au lieu d’un paiement en espèces. En bref, cela signifiait que la NCC a obtenu une configuration ordinateur très puissant à des conditions extrêmement favorables.[36] en août 1963, l’UNIVAC 1107 est arrivée à Oslo. Après quelques semaines de l’assemblage et l’essai, l’ordinateur a été enfin du dispositif, environ quatre mois après l’annexe.
Le département de projets spéciaux
Le projet SIMULA maintenant enfin semblait être en cours. Enfin, la question financière vitale a été réglée, et les locaux techniques assez bien clarifié. Cependant, malgré ces conditions prometteuses il faudrait encore près d’un an avant le développement de SIMULA a vraiment décollé. La raison de ce retard apparemment inattendue est en partie technique, en partie politique et montre clairement comment science et recherche dépendent en grande partie locaux externes.

Depuis que l’offre de Univac fut d’abord connu à NTNF en juin 1962, ils avaient souligné le fait que d’un tel investissement lourd un engagement implique nécessairement que la majeure partie des ressources disponibles de la CCN doit viser strictement à l’aspect commercial des activités de l’Institut.[37] étant donné que la NCC a été exploité en grande partie un remboursement, cela signifie que les activités qui constituent des sources de revenu devaient à une priorité. À cet égard on peut affirmer que l’UNIVAC 1107 est venu à représenter une épée à double tranchant, au moins en ce qui concerne la recherche fondamentale les activités portaient. C’est un peu difficile d’établir exactement comment cette situation aurait pu influer sur le développement de SIMULA, étant donné que ce projet a été financé par Univac. Il est évident, toutefois, que l’engagement de 1107 restreint la latitude de la recherche en général et a fait place à un profil professionnel qui, au moins dans une certaine mesure, ressemblait à la situation d’avant 1960. Pour Kristen Nygaard, qui, en décembre 1962, a été nommé directeur de la CCN de la recherche, cette perspective doit avoir été plus inquiétante, et il a évidemment eu du mal à accepter que la recherche devrait être poussé dans « un petit coin ».[38]
Et donc, dans une tentative de compromis entre ces divergences d’intérêts et en même temps mettre en place une organisation plus appropriée, efficace et dynamique, le Conseil a décidé de restructurer l’ensemble de l’Institut en le divisant en plusieurs départements indépendants. Conformément à la résolution du Conseil du 11 décembre 1962, ces nouveaux départements devaient se livrer à des pratiques commissions ainsi que des recherches appliquées sur les zones cible spécifique au sein du mandat de la CCN.[39] le projet SIMULA, représentait toutefois un léger problème en ce qui concerne cette nouvelle structure organisationnelle. Étant donné que le développement de logiciels n’avait pas précédemment été partie intégrante de l’activité de la CCN et en outre exige une expertise professionnelle très spécifique, il a un peu difficile de déterminer sous quel ministère il appartenait en fait. C’était, pour ainsi dire, un élément perturbateur infligé à NCC à la suite de l’activité entrepreneuriale de Kristen Nygaard dans le cadre de l’affaire d’UNIVAC.
Conflits d’intérêts doivent également importantes en ce qui concerne une ou l’autre des motifs de la Commission pour la réorganisation de l’Institut. Lorsque NTNF a décidé d’aller pour UNIVAC 1107, cela implique, comme nous l’avons vu, que l’on devait accorder plus d’importance à l’économie. Cette responsabilité repose d’abord avec le directeur de la CCN, Bjørn Ørjansen, mais il est aussi appliqué au reste du personnel. Comme indiqué, Kristen Nygaard ne partage pas tout à fait cette opinion, et en conséquence, il a fait ce qu’il pouvait pour empêcher toute recherche fondamentale étant limitée par les ressources rares. À cet égard, l’activité de Nygaard créé une situation administrative plus difficile pour le directeur de la CCN et pour diverses raisons intenable des conditions sociales au sein de la NCC développé. Le conflit a atteint un point culminant en mars 1963, lorsque trois employés ont été licenciés pour, entre autres choses, conspiration contre Ørjansen et Nygaard. La politique entourant ces événements étant assez complexe, je n’exercerai pas à poursuivre les discussions ici. Toutefois, à la suite de cette crise, Bjørn Ørjansen a décidé de démissionner de son poste de directeur de la NCC et Leif K. Olaussen a publié en décembre 1963. Pour Kristen Nygaard la souche lourde causée par les conditions de travail dans le sillage de la crise, conduire à un congé de maladie au cours de l’automne de 1963. Cette situation difficile doit aussi avoir contribué à ralentir le développement de SIMULA.
Il aurait donc été une question de nécessité que le Conseil a ensuite décidé de mettre en place un département de projets spéciaux et de mettre Nygaard en charge en tant que directeur de la recherche. Le nouveau ministère devrait se concentrer sur des problèmes importants au sein du mandat de la CCN, de nature telle qu’ils ne pouvaient pas adéquatement traités par aucun des autres départements. Comme exemples de ce genre d’activité, la Commission invoque : développement de logiciels, recherche dans de nouveaux domaines d’application de l’informatique, des projets spéciaux liés à l’élaboration du profil professionnel, les relations publiques et les services de consultation pour des clients importants de la CCN. Comme nous pouvons le voir, on peut facilement affirmer qu’il s’agissait d’un « terrain de jeu » spécialement conçu pour répondre à Kristen Nygaard. De cette manière ils pourraient garder occupé, lui empêcher d’interférer avec les questions administratives et fournir simultanément une tribune appropriée pour le développement de logiciels.[40] le ministère pour les projets spéciaux est devenu un précédent pour développement de logiciels à la CCN, qui était sans aucun doute importante pour NCC ultérieure des engagements de SIMULA.
SIMULA–un langage de programmation et de la Description des systèmes à événements discrets

Revenons maintenant sur les questions techniques.[41] quand Kristen Nygaard et Ole-Johan Dahl a commencé, au cours du printemps de 1962, ils avaient un ensemble plutôt vague des idées pour un langage de programmation qui doit répondre à un large ensemble de spécifications. Si nous comparons ces idées initiales avec le résultat réel de leur effort scientifique, le SIMULA je compilateur, nous trouvons qu’il y a une différence assez notable entre ces deux positions. Par la suite, je ferai remarquer quelques raisons pour ce changement d’objectifs.
L’approche précoce à SIMULA reposait sur une idée d’un concept de réseau formulés mathématiquement associée d’ALGOL 60.[42] en général, Dahl et de Nygaard idée était de réaliser SIMULA comme un paquet de procédure de simulation avec un préprocesseur d’ALGOL 60.[43] l’idée de préprocesseur implicite qu’un programme donné de SIMULA devait d’abord être traduit à ALGOL et ensuite à son tour, compilé en un programme exécutable. En d’autres termes, cela signifie qu’un programme SIMULA a dû opérer strictement dans le cadre d’ALGOL 60, et comme nous allons le voir, cela s’est avéré être un sérieux obstacle lorsque les aspects de la simulation ont été impliqués. Toutefois, à ce stade précoce, ils étaient surtout préoccupés par l’idée que les clients dans un modèle de simulation pourraient être représentés sous forme de blocs d’ALGOL et caractérisées par l’utilisation de variables locales. A cette époque, cette idée semblait plutôt prometteuse puisque le mécanisme de bloc de ALGOL récursive a fait répondre aux occurrences multiples des structures de données définies par l’utilisateur.[44]
Au printemps de 1963 Toutefois, travail de Dahl sur le régime de gestion de stockage a tout à fait évident structure de bloc de cette ALGOL et régime strict dynamique seule pile étaient incompatibles avec une application correcte des installations de simulation sophistiqués de SIMULA. En bref, le problème auquel sont confrontés de Dahl et Nygaard à ce stade était que les appels de procédures de ALGOL 60 et mécanismes d’allocation de stockage s’appliquent strictement selon un principe de la pile, alors que les objets (clients) dans un modèle de simulation plutôt tendaient à se comporter selon le principe de la file d’attente. Dans ce contexte, ils ont ensuite réalisé qu’elles n’atteindraient pas leurs objectifs de conception, à moins qu’ils ont trouvé un moyen de se déplacer le régime rigoureux de pile de ALGOL.
Au cours de l’été et l’automne de 1963, alors que Kristen Nygaard était préoccupé par des problèmes dans l’arène politique, Ole-Johan Dahl a commencé à travailler sur un nouveau schéma de répartition de stockage basé sur une liste de deux dimensions d’espace libre.[45] avec ce nouveau régime à portée de main, ils ont constaté qu’ils étaient ne sont plus liés par les restrictions imposées par ALGOL 60, et donc ils ont finalement décidé de laisser tomber l’idée de préprocesseur complètement. Au lieu de cela, ils ont décidé d’appliquer SIMULA par une modification et une extension du compilateur ALGOL 60 de Univac. Ce changement de stratégie a ouvert un nouvel ensemble de SIMULA en perspective, et en conséquence, ils ont été contraints de recommencer. Cette fois ils ont dérivé les concepts de base par le biais de diverses études de cas approfondies, allant des ateliers via des systèmes de départ aéroport aux études épidémiologiques.

La figure 8. Organigramme décrivant un système de file d’attente simple avec deux commis.
En ce qui concerne le concept de réseau original, ils ont finalement découvert que cela peut considérer aussi bien l’inverse, c’est-à-dire actifs clients faisant usage de stations passives. Cela a conduit à la réalisation qu’un entre-deux, ou double point de vue sera adopté avec profit. Dans cette perspective, les clients étaient considérés comme actif dans le déplacement de la station pour la station, mais passive dans leur interaction avec les pieces detachees des diverses stations. (Voir la Figure 8) À la suite de cette construction essentielle, l’activité commune au sein du système lui-même est devenu maintenant un principe général applicables aux larges classes des systèmes. À la lumière de cette nouvelle compréhension, ils ont constaté que le concept de réseau simple semblait trop étroite et donc inappropriés, et pour ces raisons, il a été abandonné par la suite. Au lieu de cela Dahl et Nygaard a introduit le concept de processus beaucoup plus puissant, qui est venu pour constituer la caractéristique fondamentale, unificateur de la SIMULA je langue. En bref, un processus peut être compris comme une procédure d’ALGOL généralisée avec des propriétés quasi parallèles.[46] cette percée décisive, en février 1964, impliquait que la simple notion d’un système étant décrite par une structure mathématique générale avait été remplacée par un concept beaucoup plus puissant. Le système était désormais compris comme étant constituée d’une série de processus interactifs fonctionnant en parallèle quasi comme des piles d’ALGOL dans l’exécution du programme principal.[47]
En mars 1964 la phase de conception a enfin pris fin. Il était maintenant temps de traduire la version papier de SIMULA dans un compilateur d’exploitation. La mise en oeuvre a été réalisée uniquement par Ole-Johan Dahl. Articles connexes par sur ALGOL spécifique qu’il avait, cependant, une aide de deux logiciels américain ingénieurs Ken Jones et Joeseph Speroni, ce dernier a été le responsable de la Case Western Reserve 1107 ALGOL.[48] la mise en oeuvre a procédé tout au long de l’année et en décembre 1964, le premier prototype de la SIMULA I compilateur était en cours d’exécution sur UNIVAC 1107 CCN.
Selon le SIMULA I manuel qui paraît en mai 1965, les deux principaux objectifs de SIMULA étaient :
1. De fournir un langage pour obtenir une description précise et normalisée d’une large classe de phénomènes appartenant à ce que nous pourrions appeler « systèmes à événements discrets. »
2. Pour fournir un langage de programmation pour une génération facile des programmes de simulation pour les « systèmes à événements discrets. »[49]
Idée de Nygaard d’un langage de description du système et des programmes de simulation est devenue une réalité. Au cours de cette année trois cours ont été dispensés dans la langue, et son utilisation ramassé si vite que, dans son rapport sur l’utilisation de SIMULA, Nygaard fait remarquer que de fin 1965 NCC avait « ne sont plus toutes les infos sur lequel les travaux est réalisés par SIMULA puisqu’il y a beaucoup d’utilisateurs à l’extérieur de l’Institut. »[50]
Au cours de la première année, SIMULA a été appliquée à un large éventail de problèmes de recherche opérationnelle. Dans son rapport, Nygaard fait référence à la planification, administration, inventaire, transports, ports, de planification et d’ordonnancement de la production, le renouvellement, fonctionnement de l’ordinateur et conception et analyses des différents systèmes sociaux. À titre d’illustration des problèmes spécifiques que Simula a été appliqué pour que première année, Nygaard mentionne, entre autres, une analyse de la disposition de la nouvelle fonderie emploi à Raufoss Amunisjonsfabrikker l’objet était de trouver le bon agencement et dimensionnement des grues, stockage points etc... Le programme SIMULA pour ce travail a été perforé sur les cartes de 1130. Compilation de temps a été de 50 secondes, et une simulation de deux jours durant, a couru en 22 secondes. Il mentionne également qu’un système de départ de l’aéroport a été développé en coopération avec la Scandinavian Airlines System (SAS), qu’une vaste étude sur les transports, pré-production et système de stockage d’une papeterie norvégien avait été réalisée, et que deux simulations de harbor à grande échelle ont été faites en SIMULA.
Intermezzo
Lorsque Dahl et Nygaard tout d’abord commencé à travailler sur SIMULA au printemps de 1962, leur idée était de développer un paquet de procédure simple simulation avec un préprocesseur au sommet de l’ALGOL 60. Cette approche apparemment simple s’est avérée être une voie sans issue, quand ils ont couru en fin de compte contre le régime rigoureux de pile d’ALGOL 60. Comme nous l’avons vu, la solution à ce problème a été trouvée dans le régime de gestion de stockage de Ole-Johan Dahl de novembre 1963. Alors leurs ambitions a grandi et à suite éma de Dahl novateur nouvelle allocation a été faite une percée pour l’effort SIMULA ensemble. Dès la fin de 1963, il est évident qu’ils s’efforçait maintenant vers des concepts généraux, unificateurs afin de réaliser un véritable haut niveau langage de programmation. À cet égard, SIMULA, je devrais être considéré comme une position intermédiaire en cours de route à ce qui allait plus tard devenir SIMULA 67.
Vers généralité
Au cours de 1965 et 1966 Dahl et Nygaard a passé beaucoup de temps à introduire et SIMULA l’enseignement et l’utilisation de la langue se propager rapidement à la Suède, Allemagne, l’Union soviétique, ainsi que plusieurs autres pays. Outre la version UNIVAC, SIMULA devenue également disponible sur les ordinateurs de Burroughs B5500 en 1968 et plus tard, l’ordinateur russe URAL-16. Cependant, les ambitions Dahl et de Nygaard étaient supérieures à cela. Ils savaient qu’ils avaient maintenant un langage puissant et assez généralisé à portée de main, qui ferait une excellente plateforme pour un langage de programmation généraliste. En outre, grâce à la langue de l’aide, ils ont réalisé par la suite qu’il y avait un certain nombre de lacunes. Dans son rapport sur l’utilisation de SIMULA Nygaard mentionne qu’ils ont vu qu’il fallait mettre en place de traçage et de débogage des installations afin de rendre plus facile pour l’utilisateur de détecter et de corriger les erreurs dans le code source SIMULA.[51] entre autres choses, ils étaient devenus aussi conscients d’un manque évident d’outils utilisables pour exprimer les propriétés communes entre processus interdépendants dans le système. En outre, il était évident que les installations de simulation sophistiqués incorporés dans SIMULA, j’étais un fardeau trop lourd à porter pour un langage de programmation avec des ambitions d’usage général, et enfin, ils avaient pris conscience de certaines carences graves du compilateur UNIVAC ALGOL 60 proprement dit.[52]
À l’automne 1965, l’Institut norvégien de technologie de Trondheim contacté NCC et exprimé son intérêt à mettre en œuvre un compilateur ALGOL nouvel et amélioré pour les 1107. Leur idée était de concevoir ce compilateur surtout avec SIMULA à l’esprit. Du point de vue Dahl et de Nygaard cela sonnait comme une suggestion prometteuse, et pendant un certain temps au cours de 1966 ont été entretient des relations avec une équipe informatique dirigée par Knut Skog à Trondheim.
Comme mentionné, depuis la fin de 1963, début 1964 Dahl et Nygaard avaient investi une quantité croissante de temps à essayer d’aboutir à des concepts généraux et fédérateur que possible. Étant donné que cette poursuite a procédé tout au long de l’été et l’automne de 1966, ils sont devenus plus préoccupés avec des possibilités intégrées dans la construction de classe d’enregistrement de Tony Hoare, tout d’abord présentée dans le bulletin de l’ALGOL n21, 1965. Après avoir examiné attentivement la proposition record de Hoare, ils sont venus par la suite à la conclusion que, même si elle avait évidemment un certain nombre de propriétés très utiles, il n’a pas pu répondre pleinement à leurs besoins. Ce qu’ils recherchaient vraiment était une sorte de concept de processus généralisé avec des propriétés de la classe d’enregistrement.[53]
La réponse à leur problème est apparu soudainement en décembre 1966, lorsque l’idée de préfixation a été introduite. Un processus, appelé par la suite un objet, pourrait être considéré comme composé de deux couches : une couche de préfixe contenant des références à ses prédécesseurs et des successeurs, ainsi que d’autres propriétés et une couche principale contenant les attributs de l’objet en question. En plus de cette nouvelle fonctionnalité importante, ils ont également introduit la notion de classe, dont à peu près peut être décrit comme une version très raffinée de la notion d’activité de SIMULA I. Ce nouveau concept puissant a permis d’établir des hiérarchies de classe et sous-classe d’objets concaténés. A titre d’exemple, on peut imaginer la classe « véhicule », qui peut être comprise comme une généralisation des sous-classes « voiture », « bus » et « camion ». En d’autres termes, le concept de base de parler en général et de termes plus spécifiques a été adopté comme un moyen d’exprimer la réalité dans le contexte d’un langage de programmation. Vu ces générales, unificateurs des outils à portée de main, Dahl et Nygaard immédiatement décidé de commencer la conception d’un langage de programmation haut niveau nouvel, général en termes qui une SIMULA améliorée, je pourrais être exprimée.[54] dans ce qui précède, j’ai fait une assez brève référence au fait que Dahl et Nygaard a voulu faire de la nouvelle version de SIMULA une langue d’usage général. Dans ce qui suit, je vais essayer de souligner quelques-unes des raisons pour cela.

Comme annoncée par Nygaard lors du Congrès mondial de IFIP-62 et plus loin en témoigne par le manuel SIMULA de mai 1965, SIMULA, j’étais une langue spéciale orientée vers les problèmes de recherche opérationnelle. Les années 1960 ont vu une énorme prolifération de ces langues dites de spéciales. Cela peut se comprendre en partie en fonction des perceptions changeantes sur l’ordinateur lui-même, comme je le disais plus haut dans le chapitre 2. Puisque de plus en plus, l’ordinateur est venu à être considéré comme périphérique polyvalent, logiciels spécialisés a repris la fonction de configuration pour les domaines d’application spécialisés comme simulation, par exemple. Au sein de la communauté des sciences informatiques que cette prolifération n’était pas considérée comme entièrement ne pose aucun problème, quelque chose qui s’est encore soulignée par le sentiment de crise qui ont émergé dans les années 1960 comme un des projets logiciels d’envergure après qu’un autre retard, sur le budget et en dessous des spécifications. Durant les années 1960, l’appel pour une action plus concertée dans la conception du langage de programmation a encore grandi, et une solution que de plus en plus les développeurs de langage trouvés prometteurs était le langage universel, le langage de programmation qui était tellement général dans la nature qu’il pourrait être utilisé à toutes fins concevables. Lors d’une conférence de IFIP TC 2 [55] à Lysebu en dehors d’Oslo en mai 1967, Jan Garwick même allé jusqu’à dire que :
Le seul salut pour le monde de programmation est la langue d’usage général vraiment. Même s’il n’existe pas encore, il est clair, c’est la seule chose que nous devons nous efforcer pour si nous voulons donner à tous les programmeurs accès aux outils nécessaires. Nous pouvons non seulement produire nouvelles langues d’usage spécial tout le temps, parce qu’ils ne seront pas appliquées largement. [56]
Comme je l’ai noté au chapitre 2, le tout premier effort pour produire un universel, langage machine indépendant était ALGOL, mis au point vers 1960. Ce projet, d’une collaboration entre des scientifiques d’ordinateur [57] des deux côtés de l’Atlantique, est venu pour former la base de travail langage et du compilateur plus théorique et pratique durant les années 1960 et bien dans les années 70. Bien qu’ALGOL était censé être un langage de programmation généraliste, on en est venu à être considéré essentiellement comme un outil pour des calculs numériques. Pour mettre la langue plus conforme aux intentions originelles, en 1964, un nouveau Comité (travail de groupe 2.1) énoncée « nettoyer ALGOL 60 » [58] et dans les cercles de langage de programmation, un nouveau nom, ALGOL X, ont commencé à apparaître.[59]
Tandis que ceci se produisait, une autre grande langue d’usage général projet a été mené chez IBM. Dans le chapitre 2, j’ai fait référence à cette langue dans le cadre de la discussion de la nouvelle ligne de produits d’IBM System/360. Par opposition à ALGOL X (aujourd’hui appelée ALGOL 68), qui a été une entreprise multinationale, coordonnée par l’IFIP, PL/1 a été un effort industriel poussé en avant par IBM. Dans les années 1960, ces deux grands projets prestigieux a stimulé un intérêt considérable à l’idée de langues à des fins générales, et il s’agit d’arrière-plan, je pense, contre lequel nous devons considérer les efforts de SIMULA 67 Dahl et de Nygaard. Pour utiliser les mots de Nygaard propre :
Dahl et j’ai commencé à faire une langue de simulation, mais bien sûr, nous avons passé beaucoup de temps avec toutes ces personnes qui travaillent sur les langues d’usage général, que j’avoue que nous avons en quelque sorte tombé en amour avec le concept des langues d’usage général.[60]
Ainsi d’une proposition faite par Ole-Johan Dahl, au moment où le représentant norvégien à l’IFIP Comité technique 2 (sur les langages de programmation), à l’automne de 1965, il a été décidé qu’une réunion de travail de l’IFIP sur langues de simulation se tiendrait à Oslo en mai 1967. Il y a peu de doute cet accusé de réception d’un forum professionnel comme IFIP TC-2 constituerait un bastion professionnel d’importance majeure pour leurs efforts, et quand la percée conceptuelle s’est enfin à la fin de l’année, ils étaient déterminés à présenter une nouvelle version révisée de SIMULA lors de cette réunion de travail du IFIP.[61]
SIMULA 67 socle commun
Avant la Conférence de Lysebu Dahl et Nygaard avaient travaillé désespérément pour terminer leur classe et sous-classe déclarations papier. Malgré le peu de temps à leur disposition, ils ont réussi à intégrer tous les aspects importants de nouveau, et donc cet article est devenu en quelque sorte la première définition officielle de la nouvelle langue. Réponse de la Conférence à SIMULA 67 a été positive, et maintenant le projet semblait enfin être sur la bonne voie.

Deux semaines plus tard, en juin 1967, une autre importante conférence a été organisée. L’objectif de cette conférence était essentiellement double, tout d’abord de définir une norme pour l’échange de programmes SIMULA entre diverses implémentations, appelé la norme commune de Base, et deuxièmement pour initier la mise en œuvre des projets pour la série de contrôle données 3000 (supérieure et inférieure) et l’UNIVAC 1100 séries. Une fois de plus Dahl et Nygaard est venu avec un certain nombre de nouvelles propositions. Une des choses qu’ils voulaient incorporer était une unification des notions connexes de Type et de classe. La nouvelle proposition a fait l’objet des discussions sérieuses, mais après avoir examiné les implications et difficultés impliquées, l’approche pragmatique a prévalu et la mise en œuvre par la suite rejeté. Ceci, cependant, signifie pas que l’idée comme telle était morte, et comme la belle au bois dormant il finalement reviendrait à la vie.[62]
Postes liés à la chaîne de manutention et e/s n’avaient pas été abordée dans l’un des Dahl et Nygaard de nombreuses propositions à la Conférence. Toutefois, la mise en œuvre à l’unanimité a insisté sur la nécessité d’avoir ces choses intégrées et définies dans le cadre de la définition de Base commune. Afin de garantir la portabilité et la normalisation forte, il a donc été décidé de fournir ces installations SIMULA. La responsabilité de la conception et le développement a été donnée à Bjørn Myhrhaug, un proche collaborateur de Dahl et Nygaard. Les résultats de ses travaux ont été acceptés à la première réunion de la SIMULA Standards Group (SSG) en février 1968, après quoi SIMULA a été officiellement gelé.[63]
Dans le monde : le SIMULA 67 compilateurs
Comme cela a été souligné, Dahl et Nygaard avaient de grandes ambitions pour SIMULA 67. Ils voulaient qu’il soit un langage de programmation « vivant », mais jusqu’ici leurs idées n’existent que sur papier. Ils ont imaginé à l’époque que seulement quelques-uns des nombreux langages de programmation mis au point dans les années 1960 serait encore en service en 1980 et si SIMULA devait devenir l’un d’entre eux, il est essentiel que les implémentations du langage étaient disponibles sur les mainframes importants. Dans les années 1970 cela signifiait essentiellement l’UNIVAC 1100 séries et la série IBM 360/370 d’ordinateurs.[64]
Le SIMULA UNIVAC 1100
De 1966/1967, les chercheurs de la NCC avaient travaillé avec l’équipe de Knut Skog à Trondheim pour développer un nouveau compilateur ALGOL (NUALGOL) pour l’UNIVAC. Alors que l’intention était que ce devrait être aussi bien un ALGOL et un compilateur SIMULA, il devint vite évident que les différences entre ces langues et leurs techniques de mise en œuvre respectives fait une telle unification impraticable.[65]
En partie à cause de ces problèmes techniques et en partie parce que la NCC a ressenti une certaine obligation à l’égard de SIMULA I et sa communauté d’utilisateurs, pendant 1968 elle a été décidé que la NCC doit retirer du projet de NUALGOL et qu’une mise en œuvre de SIMULA 67 pour le 1107 faudrait plutôt.[66]
L’équipe d’UNIVAC SIMULA, composé de Ron Kerr et Sigurd Kubosch, avec l’aide de Bjørn Myhrhaug, n’a pas démarré à partir de zéro. Le code de l’application de ALGOL servi de guide tout au long de l’effort de l’ensemble et partout où ils pouvaient ce code a été cannibalisé et réutilisé. Ainsi les seules zones nécessitant une mise en oeuvre et conception fraîche étaient liées aux éléments spécifiques à SIMULA. Travailler donc proche le code ALGOL, Kerr et Kubosch a pris grand soin de s’assurer que partout où performance de génération et d’exécution du code de SIMULA possible était en concurrence avec celle d’ALGOL. Ce travail minutieux a contribué en grande partie au fait que le compilateur UNIVAC SIMULA est devenu un des systèmes plus rapides de SIMULA jamais faits. Un élément de compétition introduit par la procédure de développement du compilateur IBM aux côtés a également eu des effets positifs sur la performance.
Pour diverses raisons, le Conseil de recherche a décidé en septembre 1969 à vendre le 1107, et les mains sur la calcul rentable commissions, qui cette année s’élevait à environ 1,2 mill. NOK ($ 167 832), [67] à Computas, une société détenue par la société de classification du navire importantes et influentes Det Norske Veritas. [68] en dépit de l’abandon de l’ancienne 1107 le projet UNIVAC SIMULA, cependant, ont continué et la nouvelle machine cible devient l’UNIVAC 1108.
Les effets de cet événement dramatique sur le projet d’UNIVAC SIMULA étaient variés. En termes de progrès, elle a représenté un revers immédiat et important à cause de tous les recoder il a nécessité. Toutefois, l’UNIVAC 1108 et son nouveau système d’exploitation (EXEC 8), dans nombreuses façons-de-pointe vers 1970, fourni un environnement beaucoup plus puissant et plus efficace à long terme en fait eu un effet positif sur les performances du compilateur. Un autre problème était que le nouvel hôte de 1108 n’était pas situé interne comme cela avait été le cas avec les 1107. À un moment le traitement par lots était l’ordre du jour, ceci sans aucun doute contribué à un ralentissement du projet. En tout état de cause, des progrès sont réalisés, et en mars 1971, la première version commerciale d’UNIVAC 1100 séries SIMULA a été libérée.[69]

UNIVAC n’était pas unanime dans ses réactions au nouveau compilateur SIMULA. Tout d’abord, SIMULA, j’avais été utile mais pas très importante partie de leur répertoire de logiciels, et ils sentaient aucune demande du marché pour une version nouvelle et améliorée. Deuxièmement, ils avaient passé un montant substantiel d’argent sur le SIMULA I du projet et ne voyait pas pourquoi ils devraient partager SIMULA avec d’autres constructeurs. Néanmoins, en 1968, une longue série de discussions entre le CCN et Univac concernant un éventuel transfert des droits au compilateur a eu lieu, mais pas de contrats ont été signés jamais. [70]
L’IBM 360/370 SIMULA
Dans le cas de l’IBM 360/370 compilateurs, la situation était quelque peu différente. Quand Nygaard et son équipe en 1967/68, ont exprimé leur intérêt dans le développement de compilateurs SIMULA 67 pour IBM et UNIVAC les conditions pour y parvenir étaient a déclaré très clairement. Tout d’abord, ces projets seulement pourraient être entreprises si un financement externe suffisant était à portée de main et d’autre part, qu’un, au cours des 5 ans, serait en mesure de couvrir les dépenses totales en vendant les compilateurs sur une base strictement commerciale. [71] conformément à ces conditions préalables, Kristen Nygaard et le consultant privé Harald Omdahl a commencé la tâche fastidieuse et difficile de mettre sur pied un consortium d’entreprises qui seraient intéressées à investir l’argent dans les projets de développement du compilateur. La chasse aux investisseurs passait avec peu ou pas de succès, jusqu’à ce que Nygaard éventuellement rencontrer des représentants de l’Institut suédois de recherche pour la défense nationale (abréviation suédoise : FOA) à l’été 1969. FOA avait, depuis de nombreuses années, eu envie de faire usage de SIMULA dans le cadre de leurs activités de recherche, et comme ils avaient récemment acheté un ordinateur IBM/360 ils étaient naturellement très intéressées par les propositions de Nygaard concernant le développement d’un compilateur SIMULA 67 pour ce système particulier.[72] sur la base de cet arbitrage par la suite accepté de soutenir le projet d’IBM 360/370 en finançant la participation de deux ingénieurs logiciel suédois, Lars Enderin et Stefan Arnborg. En dehors de cela, IBM a également apporté une contribution importante en donnant à un total de 240 heures de temps pour être utilisé dans le cadre de la mise au point de calcul et d’essai du compilateur NCC.[73] après presque trois années de compilateurs de vastes travaux d’IBM a été rendu public en mai 1972. Bjørn Myhrhaug avait été chargé du projet et, en plus de Enderin et Arnborg, l’équipe se composait aussi de Graham Birtwistle qui était responsable de l’analyse de la syntaxe, Francis Stevenson qui s’occupait de la partie de génération de code, Paul Wynn sur la modification de la CMS et dernier mais pas des moindres Karel Babcicky, qui était responsable de la transformation sémantique et qui, au cours de la deuxième partie des années 1970, était responsable de l’ensemble de l’activité SIMULA au Centre norvégien de calcul. [74]
Malgré les coûts liés aux deux projets de mise en oeuvre avaient été estimées à environ 15 années-personnes chaque [75], et tous deux ont été menées à CCN sous les auspices du Bjørn Myhrhaug, ils étaient très différentes. L’équipe d’IBM a travaillé au sein d’un projet bien supporté et soigneusement planifié, alors que l’équipe d’UNIVAC a été beaucoup plus faiblement organisé, a travaillé avec une aide extérieure moins et sur une plus longue période de temps. Cependant, les deux projets produisent des compilateurs de haute qualité qui ont été utilisés en excès dans le monde entier depuis plus de 20 ans.[76]
Les données de contrôle SIMULA
Dans les sections précédentes, j’ai essayé de donner un aperçu général des projets de développement pour le compilateur de la CCN. Toutefois, ces deux compilateurs, n’étaient pas les premiers compilateurs SIMULA disponibles. Avant la Conférence de Base commune, Kristen Nygaard avait réussi à obtenir la Control Data Corporation (CDC), à travers d’importants clients norvégiens, intéressés par les implémentations de SIMULA pour leurs 3000 (supérieure et inférieure) et la 6000 série d’ordinateurs.[77] en mai 1967, contrats ont été signés et à Paris une équipe dirigée par Jacques Newey a commencé à travailler sur une application de SIMULA 67 pour les 6000 de CDC. Ce compilateur a été affiné plus tard par le centre technique de forme [78] aux Pays-Bas, et une nouvelle version de la série de CDC Cyber 70 a été développée en 1973/74 par NDRE. En Norvège, une équipe de l’Université d’Oslo, dirigé par Ofstad, effectué la mise en œuvre de la CDC 3300 (série inférieure), alors qu’une autre équipe de Norvège de NDRE et Installation conjointe d’informatique de l’Université d’Oslo à Kjeller (KCIN), dirigé par Svein A. Øvergaard, géré la mise en œuvre de la (haute série) CDC 3600. Les deux projets ont été organisés comme une entreprise conjointe sous l’égide de par Martin Kjeldsaas de KCIN, et tous deux ont été achevés au printemps de 1969. Une aide financière a été accordée par Control Data Europe, qui à son tour a obtenu les droits de commercialisation et de distribution, tandis que la responsabilité de la maintenance pour les compilateurs respectifs sont demeurés avec l’Université et KCIN.[79]

En plus de ces projets, compilateurs pour CII 10070 et IRIS 80 ont été mises en œuvre par la société Français Compagnie Internationale pour l’informatique (CII). Les deux systèmes identiques ont été publiés en 1972 et ont été fournis gratuitement gratuitement aux clients du CII.[80]
Le SIMULA système DEC-10
Un autre développement important de SIMULA a eu lieu en Suède dans la première moitié des années 1970, cette fois, que la machine cible était PDP-10 de l’équipement Digital.[81] autour de 1970 le Swedish Research Institut de défense nationale (FOA) à Stockholm a décidé de créer un laboratoire d’études militaires avancées en recherche opérationnelle. À cet égard ils ont prévu d’acheter un nouvel ordinateur, et Jacob Palme, le plus important acteur SIMULA en Suède à l’époque, a été nommé président d’un Comité dont le but était d’élaborer un rapport d’évaluation sur le sujet. Après avoir soigneusement examiné les quatre ordinateurs différents, ils ont décidé finalement sur le PDP-10. Comme cet ordinateur à l’époque n’avait pas de compilateur SIMULA dans sa bibliothèque de logiciels, une telle implémentation a immédiatement ordonnée de la SSII suédoise ENEA données. La première version de test du compilateur a été disponible pour les programmeurs à le QZ data center à Stockholm et sur des réseaux de communication de septembre 1974. La première version publique a eu lieu en janvier 1975.
Le système de DEC-10 SIMULA a été à bien des égards plus complètes alors c’est de prédécesseurs. Il présente, entre autres, des installations de débogage en ligne qui a permis de définir et redéfinir des points de rupture au cours de l’exécution du programme.[82] en outre, le compilateur a été spécialement conçu pour une utilisation interactive et fixerait bientôt une nouvelle norme pour le développement de compilateurs SIMULA.
En dehors de la FOA, Digital Equipment Corp. a également contribué au projet à condition que le compilateur doit être distribué gratuitement. Cette condition a été acceptée, de sorte que le compilateur système DEC-10 est venu d’avoir un impact majeur sur la diffusion de SIMULA, surtout aux États-Unis. En août 1975, huit mois après que qu’il a été libéré, le compilateur a été distribué aux 28 installations, 22 qui se trouvaient aux Etats-Unis et au Canada.[83]
Une Note sur l’Engagement de la CCN SIMULA dans les années 1970
Au début des années 1960 promotion et commercialisation de SIMULA a été fait principalement par les développeurs eux-mêmes chaque fois qu’ils ont assisté à une conférence, ou a donné des cours d’initiation aux autres chercheurs, soit à la NCC ou à l’étranger. Toutefois, comme la langue rapidement étendue aux grands groupes d’utilisateurs, et les montants d’argent investi dans le projet régulièrement a augmenté, cette situation devait se faire d’une manière plus professionnelle.
Comme mentionné dans le cadre de deux NCC du compilateur développement projets, UNIVAC et IBM, mésocentre ne ressenti aucune responsabilité immédiate pour financer la réalisation de ces. Tel que rapporté par Kristen Nygaard, cette réticence a été particulièrement formulée dans le cas du projet d’IBM.[84] l’opinion générale était que la durée de vie d’un langage de programmation comme SIMULA n’excéderait pas cinq ans. En outre, si on a pris en considération les coûts de développement d’un compilateur, sans oublier les grands risques commerciaux impliqués, NCC a été naturellement très réservé. Néanmoins, lorsque la NCC a finalement accepté d’assumer la responsabilité pour les projets de développement du deux compilateur, leurs conditions pour y parvenir étaient que suffisamment de capitaux externes a été à la baie, et que le Centre serait ainsi pas engager des dépenses. Sur cette base mutuelle compréhension de ces deux projets ont été démarrée (UNIVAC en 1967/68 et IBM en 1969), et Nygaard a commencé sa chasse aux investisseurs. Comme nous le savons, toutefois, ses efforts se sont révélés infructueux et quand il devint clair pour les parties impliquées les deux projets avaient développé jusqu’à un point situé au-delà de non-retour, et NCC devait