un bref historique des premiers langages de programmation

cela comprenait différents automatismes et assembleurs. Une époque « marquée par de nombreuses premières ».,

Friedman nous demande de considérer la culture de la programmation ou du »codage »à l’époque à la lumière des innovations qui sont venues:

 » Nous devons garder à l’esprit, premièrement, que l’état d’esprit de l’établissement du codage était tel que tout autre chose que le codage manuel était considéré comme inférieur et, deuxièmement, que ces programmes en langage machine codés à la main étaient en fait très complexes et complexes et faisaient autant avec moins de stockage que nos programmes sophistiqués aujourd’hui., »

elle dit également que le scepticisme était justifié puisque ces systèmes se sont avérés des programmes moins efficaces et plus coûteux que les versions équivalentes codées à la main produites par des codeurs humains intelligents et inventifs.

donc, à cette époque, les programmeurs ne programmaient pas toujours « à partir de zéro ». Beaucoup copieraient manuellement des sections de code.

la copie était lourde d ‘ « erreurs de transcription ».

en 1949, John Mauchly a proposé un « code court » ou un « code court » pour le BINAC (BINary Automatic Computer). L’ordinateur a été construit par John Mauchly et J., Presper Eckert, il a ensuite été racheté par Remington-Rand.

code abrégé: était un ensemble de sous-programmes d’interprétation stockés en mémoire. Code court exécuté environ cinquante fois plus lent que le programme codé à la main équivalent.

Les années 1950-1951 ont vu l’émergence d’une multitude de langages de machines artificielles ou de « pseudo-codes ».

 » Au début des années 1950, le Générateur de tri-fusion de Betty Holbertson était une première tentative d’utiliser un ordinateur pour écrire des programmes et a inspiré toute une famille d’autres générateurs de programmes.,”

En 1951, le premier manuel de programmation est venu d’Angleterre. Il s’appelait « la préparation de programmes pour un ordinateur numérique”, écrit par Wilkes, Wheeler et Gill.

Il a discuté de la « routine d’assemblage », se référant à: « a un morceau de code qui combinerait un ensemble de sous-Programmes et allouerait le stockage sous forme de blocs d’adresses relocalisables appelés « adresses flottantes »., »

en 1951, Grace Murray Hopper travaillant sur UNIVAC de Remington-Rand, je suis venue avec ce qu’elle a appelé une « routine de compilation », comme l’acte de traduire un « pseudo-code » en un ensemble complet d’instructions en langage machine.

en 1952, Millie Coss a sorti le « Générateur D’édition » prenant des opérations arithmétiques et imprimant une sortie lisible par les gestionnaires et les autres humains.

Friedman décrit le développement en 1952 d’un système D’AUTOCODE par Alick E. Glennie comme un lien avec la « troisième génération » de logiciels., C’était un compilateur algébrique primitif, très dépendant de la machine, qui traduisait les énoncés algébriques dans le langage machine du Manchester Mark I.

troisième génération de logiciels-langages procéduraux

en 1945, un langage de programmation théorique a été développé en Fed. REP. Allemagne par Konrad Zuse, appelé Plankalkul (programcalculus), bien que cela soit passé inaperçu jusqu’en 1972 environ.,

en Italie, la thèse de doctorat de Corrado Bohm de 1951 décrit un système qui définit chaque instruction comme un cas particulier de l’instruction assignée, par exemple S serait équivalent à « définir le compteur du programme à la valeur de la variable S ».

le premier compilateur algébrique est considéré comme pour L’ordinateur WHIRLWIND du MIT conçu par Jay Forrester et Ken Olsen. C’était le premier Mini-Ordinateur 16 bits capable de traitement parallèle et de calcul en temps réel. Il a été démontré au printemps 1953 et opérationnel en janvier 1954.,

en 1955, L’équipe de programmation de Grace Murray Hoppe a commencé à développer un langage de programmation algébrique qui utilise des mots-clés anglais.

en 1957, il a été publié comme MATH-MATIC, et il a exécuté de manière inefficace. En 1957, IBM a finalement livré le compilateur pour FORTRAN. Il était de plus en plus accepté dans la communauté informatique.

en 1958, FLOW-MATIC a été libéré et est devenu un facteur important dans la conception ultérieure de COBOL.,

FORTRAN (FORmula TRANslating System)

en 1954, John Backus a dirigé une équipe de chercheurs D’IBM (plus tard nommée Programming Research Group) pour concevoir et développer des traducteurs automatiques de formules mathématiques en code machine IBM 704. Ils n’accepteraient rien de moins que quelque chose d’aussi efficace que leurs homologues codés à la main. Leur principale préoccupation était l’efficacité, car selon Friedman, elle pourrait être plus susceptible d’être acceptée par la communauté du codage. L’aspect de la conception de la langue a été traité rapidement., Décrit par Friedman: « in à la manière d’une corvée qui devait être accomplie avant que le « vrai » travail (la conception du compilateur) puisse être fait. »

FORmula TRANslating System,ou FORTRAN a été publié en 1954 avec une grande partie du document consacré à la justification du système, y compris une attente optimiste que FORTRAN éliminerait le codage et le débogage.

en 1958, les compilateurs FORTRAN ont été publiés pour les IBM 709 et 650; en 1960 pour les 1620 et 7070., Les versions n’étaient pas nécessairement identiques et un programme écrit sur un ordinateur ne produisait pas nécessairement le même résultat sur un autre.

en 1961, les compilateurs FORTRAN ont été mis à disposition pour d’autres ordinateurs (UNIVAC, Remington-Rand LARC et ALTAC).

en 1964, il y avait plus de 40 compilateurs FORTRAN différents sur le marché. Il faut dire que ce n’était pas un langage indépendant de la machine, et l’ordinateur différemment sur différents ordinateurs.

en 1958, FORTRAN II a été libéré, suivi par FORTRAN III et FORTRAN IV en 1962., FORTRAN IV était la norme pour la langue JUSQU’à ce que FORTRAN 77 soit publié en 1978.

LISP (processeur de liste)

pendant les années 1956-1958, un langage applicatif interactif a été conçu à Darthmouth par John McCarthy.

en 1959, cela a ensuite été mis en œuvre au MIT avec un manuel de référence publié en 1960.

LISP est basé sur le lambda-calcul, et contrairement à d’autres langages, il a été conçu pour la manipulation de formules symboliques. Friedman affirme qu’il est devenu la lingua franca (moyen de communication) pour l’intelligence artificielle.,

elle énumère quelques fonctionnalités innovantes comme suit:

  • la fonction comme unité de programme de base.
  • la liste comme structure de données de base.
  • structures de données Dynamiques.
  • installations pour ‘garbage collectes’.
  • utilisation d’expressions symboliques par opposition aux nombres.
  • la Récursivité.
  • expression conditionnelle en tant que structures de contrôle.
  • la fonction ‘eval’ pour l’évaluation interactive des instructions LISP.,

ALGOL (ALGOrithmic-Language)

en 1958, un comité se réunit à Zurich pour concevoir un langage de programmation universel de haut niveau. Il a réuni des représentants européens de la GAMM (association allemande pour les mathématiques appliquées et la mécanique), et de L’Association pour les machines informatiques. L’un des membres du comité était John Backus, qui avait dirigé le groupe de développement FORTRAN.

l’un des objectifs était de faciliter la communication et l’échange dans la communauté informatique internationale, parallèlement à l’objectif pratique d’apporter un compilateur en Europe (ils codaient encore à la main)., L’une des raisons pour lesquelles un nouveau langage était souhaité était que FORTRAN était un produit IBM propriétaire. Adopter FORTRAN signifierait donc en quelque sorte acheter uniquement des machines IBM, et on souhaitait QU’IBM ne domine pas en Europe.

le langage a d’abord été nommé IAL, Pour International Algebraic Language ,et finalement renommé ALGOL (ALGOrithmic-Language). La première version était connue sous le nom D’ALGOL 58.

Le Comité se réunit à nouveau à Paris en 1960 pour améliorer le langage et éliminer les faiblesses.,

« L’influence D’ALGOL60 sur la conception du langage de programmation, et sur le développement de l’informatique en général, n’a été que profonde. »

Friedman énumère quelques fonctionnalités innovantes:

  • BNF (Backus Normal Form), métalangage pour la définition du langage de programmation.
  • le langage de programmation en tant qu’objet d’étude plutôt qu’en tant que moyen vers une fin.
  • utilisé comme langage de publication pour les algorithmes.
  • structure des blocs et environnements de données localisés.
  • imbrication des unités de programme.,
  • code de programme au format Libre.
  • déclinaisons de type explicites.
  • allocation de mémoire dynamique.
  • paramètre passant par valeur et nom.
  • if /then/else et début/fin de délimiter composé consolidés.
  • les règles de Portée.
  • Déclaration des variables locales.
  • paramètres transmis par nom, valeur ou référence.

COBOL (COmmonBusiness-Oriented-Language

en 1959, un autre groupe s’est réuni sous la supervision du Ministère de la Défense aux États-Unis pour discuter du développement d’un langage de programmation « commun ».,

« ce groupe, composé d’environ 40 membres, représentait les fabricants d’Ordinateurs et les utilisateurs de l’industrie, des universités et du gouvernement et est devenu connu sous le nom de comité CODASYL(Coonferenceon Data SYstemsLanguages). »

Il était dans l’intérêt des fabricants d’Ordinateurs et du gouvernement de concevoir un langage pouvant fonctionner sur différentes machines.

en avril 1960, un langage appelé COBOL a été créé.

contrairement à FORTRAN, le langage a commencé relativement « indépendant de la machine ».,

pour beaucoup, la programmation de première et de deuxième génération était mal comprise par la plupart et considérée comme Friedman dit: un « art noir ».

Les innovations importantes dans COBOL selon Friedman sont les suivantes:

  • La structure des données d’enregistrement.
  • descriptions de fichiers et facilités de manipulation.
  • indépendance de la Machine des données et des descriptions de programmes.
  • accent égal sur les descriptions de données dans les Divisions de données et les opérations dans la Division des procédures.
  • Influence de l’anglais dans l’utilisation des verbes, des clauses, des phrases, des paragraphes, des sections et des divisions.,
  • Un Style de langage relativement naturel, y compris les mots de bruit pour la lisibilité.
  • l’effort global vers un langage qui produirait un code de programme auto-documenté.

ils ont commencé une tendance importante vers les langages orientés données. Friedman soutient que cela a abouti à la prolifération de systèmes de gestion de base de données, de langages de requête et d’outils et d’environnements de programmation À haute productivité centrés sur les bases de données.,

Il y avait une disponibilité généralisée des compilateurs COBOL en partie due à l’implication du gouvernement:

« the le Ministère de la Défense a envoyé une lettre fortement formulée à tous les fabricants d’ordinateurs les informant que s’ils voulaient continuer à vendre des ordinateurs au Ministère de la Défense(le plus grand contractant informatique et Pourvoyeur de subventions de recherche), ils feraient mieux de mettre un compilateur COBOL dessus. »

Friedman commente que FORTRAN, COBOL et LISP étaient parmi les langages de programmation les plus utilisés au moment de la rédaction (env. 1990).,

Babel → années 1960 et 1970

 » Les décennies des années 1960 et 1970 ont vu une prolifération vraiment incroyable de la programmation languages.It était ce hub d’activité que Jean Sammetin 1969 a comparé à la Tour biblique de Babel.”

APL (UN Langage de Programmation). Défini et présenté au public en 1962 à travers un livre de Kennethverson à Harvard, qui a participé à la conception de ce. Il nécessitait un clavier spécial et n’était pas largement utilisé.

SNOBOL (langage symbolique orienté chaîne)., Mis en œuvre pour la première fois en 1963, il a été conçu par des chercheurs des Laboratoires Bell comme un langage de manipulation de chaînes. L’implémentation s’appelait en fait SEXI (String EXpression Interpreter), mais elle était apparemment considérée comme inacceptable. Le nom de la langue était un jab humoristique aux Acronymes: SNOBOL (String OrientedsymBOlicLanguag). SNOBOL4 a été publié en 1968 conçu pour le matériel informatique de troisième génération, il traite les modèles comme des objets de données. La caractéristique unique était sa facilité pour la correspondance de chaînes et de motifs.

BASIC (Code pédagogique symbolique polyvalent pour débutant)., Code a couru en 1964, et la conception du langage était destinée à initier les étudiants dans des disciplines non scientifiques à l’informatique. La simplicité a été choisie plutôt que l’efficacité du compilateur, et des messages d’erreur clairs ont été fournis.

PL/1 (langage de programmation / one). Sorti en 1966, conçu comme le « langage pour mettre fin à toutes les langues », mais pas aussi populaire QU’IBM l’avait espéré. Les compilateurs étaient inefficaces et peu fiables. Il a été critiqué comme un langage à grand, car il a essayé d’inclure tous les éléments imaginables de la conception du langage.

Logo. Développé au cours des années 1966-1968., Conçu spécifiquement pour l’enseignement des mathématiques, utilisé expérimentalement dans les salles de classe. Logo est très similaire à LISP. Il comprend des « graphiques de tortue », pour enseigner aux enfants les principes géométriques.

FORTH (langue de quatrième génération). Charles H. Moore voulait un langage suffisamment efficace pour les applications scientifiques et d’ingénierie, tout en permettant une programmation plus rapide en utilisant moins de lignes de code. Deux objectifs de conception (apparemment) contradictoires, semble-t-il. Selon Friedman, il ne peut pas être considéré comme une langue de quatrième génération aujourd’hui.

SIMULA., Conçu en 1962 par Kristen Nygaard et Ole-Johan Dahl au Norwegian Computing Center sous contrat avec Univac. Motivé par le désir de simuler des applications — une technique de recherche opérationnelle utilisée avec succès dans un certain nombre de domaines divers. Ce langage a introduit le « concept de classe », une abstraction importante pour la programmation orientée objet.

Pascal (du nom du philosophe et mathématicien français du 17ème siècle Blaise Pascal). La révision D’ALGOL68 (à partir D’ALGOL60) n’était pas populaire, car elle était inutilement grande et maladroite., L’un des « dissidents » Niklaus Wirth a conçu Pascal, qui a été mis en œuvre pour la première fois en 1970. Friedman soutient que Pascal conçu pour une utilisation dans l’éducation se démarquait: « in en opposition à une tendance”. Une tendance à compliquer une langue avec des fonctionnalités afin qu’Aucun utilisateur ne puisse s’attendre à les connaître tous.

C. Kenneth Thompson et Dennis Ritchie ont développé C pour coder les routines dans un système d’exploitation UNIX. C était une extension de B (également conçue par Thompson) qui s’inspirait d’un langage antérieur BCPL. C a créé la notion de système d’exploitation portable., Friedman soutient qu’une syntaxe concise rend les programmes C difficiles à lire, à comprendre, à déboguer et à maintenir.

Modula-2 (langage modulaire / deux). Descendant de Pascal, destiné aux grands systèmes. Le module facilite le partage d’informations, en encapsulant du code en morceaux clairement délimités.

Ada. Proposé en 1980 et normalisé en 1983, il avait des intentions similaires à PL/1 (language to end all languages) et un succès similaire.,

Après L’annonce de FORTRAN avec le rapport en 1954, il y avait beaucoup de langues qui ont tenté de: « t apprivoiser l’ordinateur électronique pour une utilisation de haut niveau par les humains dans tous les domaines d’application.,il y a plusieurs langues:

model by Friedman

quatrième génération de logiciels — langages déclaratifs

« l’architecture informatique de type von Neumann, tout en servant de catalyseur à une génération de langages de programmation, peut aussi, semble-t-il, être coupable en grande partie du degré de stagnation que nous avons vu dans le développement conceptuel de la technologie des langages de programmation., »

Ce À quoi Friedman fait référence est le programme stocké dans des emplacements de mémoire avec un seul compteur dans un flux d’instructions de séquence. Les langages de programmation reposant sur cette architecture paradigmatique (procédurale) antérieure ont tendance à être:

  1. orienté instruction (en supposant l’exécution séquentielle d’un nombre limité d’opérations).
  2. Composé d’un grand nombre de lignes de code. Le débogage est ardu et long.
  3. La Maintenance est longue et coûteuse.,

Friedman soutient que ce paradigme suivant est déclinatif:

« un langage de quatrième génération est déclaratif, c’est-à-dire que ses instructions à l’ordinateur se concentrent davantage sur ce qui doit être fait plutôt que sur la description détaillée de la façon de le faire. »

La quatrième génération cherche à optimiser le travail humain sur le temps de l’ordinateur.

Souvent destiné à un utilisateur non technique dans un domaine d’application particulier.

Certaines des tendances selon Friedman sont:

  • langage Déclaratif.
  • logiciel packagé.,
  • paquets intégrés.
  • environnements interactifs conviviaux.
  • les langages de Requête.
  • outils de programmation À haute productivité.
  • L’intégration des langues.
  • outils de programmation (éditeur, éditeur de liens, traducteurs, gestionnaire de fichiers et interface utilisateur dans un seul système interactif).

Elle mentionne que tous les systèmes ne sont pas procéduraux et que la classification est arbitraire.

en 1961, le package statistique BMD (BioMeDicalpackage) est développé à L’Université de Californie à Berkeley et implémenté dans FORTRAN sur L’IBM 7090.,

en 1967, Arthur S. Couch a développé DATATEXT à L’Université Harvard destiné aux chercheurs en sciences sociales.

PROLOG (programmation en logique). Mis en œuvre en 1972 dans ALGOL-W pour le traitement du langage naturel. Depuis 1981, il est associé au projet de cinquième génération du Japon.

OPS (système de Production officiel). Un système de production ou un langage basé sur des règles utilisé dans le domaine de l’intelligence artificielle. OPS5 sorti en 1977.

Smalltalk., Conçu et mis en œuvre au Xerox Palo Alto Research Center (PARC) en tant que composant logiciel de: « Dynabook légendaire D’Alan Kay, un ordinateur personnel de la taille d’un ordinateur portable pour l’utilisateur non technique.” L’environnement était important: souris pour sélectionner et pointer; menus utilisateur graphiques et ainsi de suite. Steve Jobs a utilisé cette approche avec le système D’exploitation Apple Computers Lisa et Macintosh.

les langages de Requête. Conçus pour rendre les bases de données accessibles aux personnes ayant une formation minimale, les langages de requête ont été développés pour être conviviaux. SQL a été développé pour SystemsR et plusieurs autres façons d’interroger., SQL a été conçu chez IBM et commercialisé en 1979 par Oracle.

Friedman soutient:

« Un outil de quatrième génération à haute productivité est en grande partie non procédural, convivial et axé sur les problèmes. »

En outre, elle dit que ces systèmes ont été centrés autour d’une base de données et comprennent des composants d’un système de gestion de base de données.

Le Logiciel a commencé avec des humains forcés de « penser » dans le code d’une machine spécifique.

Au moment d’écrire ces lignes, Friedman soutient déjà que les ordinateurs peuvent « penser » ou agir dans une certaine mesure comme des êtres humains.,

L’article de Linda Weiser Friedman est une lecture fascinante et je vous recommande bien sûr de le lire en entier plutôt que mon résumé limité.

j’espère que vous avez apprécié cet article!

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *