Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Ces anciens langages de programmation qui ont la peau dure
Et refusent de disparaître

Le , par Stéphane le calme

23PARTAGES

12  0 
Si de nouveaux langages de programmation ont vu le jour pour répondre à des besoins technologiques spécifiques ou alors dans le but de simplifier la tâche aux développeurs, les anciens ont la peau dure et ne disparaisse pas totalement. Pour preuve, voici une liste de langages qui datent des années 1950 et qui sont toujours utilisés aujourd’hui :

  • ALGOL (acronyme d’Algorithmic Oriented Langage) : il a été créé en 1958 par un groupe constitué par des américains et des européens. Sa période de gloire a duré 10 ans, de 1958 à 1968. La plupart du temps utilisé pour le calcul scientifique, ALGOL est la première tentative d’un langage qui pourrait transcender sa plateforme et être utilisé sur différentes machines. A cause du fait que, dans sa forme initiale, il n’avait pas de protocole d’entrée-sortie (un programme écrit en ALGOL ne pouvait par exemple pas demander à un utilisateur de saisir un chiffre, le chiffre devait déjà être intégré dans le code – précisons que ce problème a été corrigé dans Algol 68 qui a été défini en décembre 1958 - ) mais aussi de sa mauvaise adaptation aux programmes de gestion, il a été jaugé plus adapté pour le travail de recherche que pour une utilisation commerciale. Sa présence est minimale même si plusieurs langages (comme le Pascal) gardent des traces de lui dans leurs codes.

    Exemple de code Algol :

    Code : Sélectionner tout
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    procedure Absmax(a) Size:(n, m) Result:(y) Subscripts:(i, k);
     value n, m; array a; integer n, m, i, k; real y;
     comment Le plus grand élément en valeur absolue de la matrice a de taille
     comment n par m est transféré à y et les indices de cet élément à i et k
     begin integer p, q;
      y := 0; i := k := 1;
      for p:=1 step 1 until n do
      for q:=1 step 1 until m do
      if abs(a[p, q]) > y then
      begin
      y := abs(a[p, q]);
      i := p; k := q
      end
     end Absmax
  • Le COBOL (acronyme de Common Business-Oriented Language) : officiellement créé le 18 septembre 1959 suite à l’initiative du Short Range Committee, il a connu ses années de gloire entre 1960 et 1980. Comme son nom l’indique, il servait principalement aux systèmes d’entreprises : comptabilité, assurance, etc. Il est toujours étudié à l’école et est également utilisé dans les grandes entreprises, notamment les institutions financières qui disposent (et développent) d’applications dans ce langage, même si son usage pour les nouveaux projets semble désormais limité. Si en 2005, le cabinet d’analyse Gartner estimait à 75% les données du monde des affaires traitées par des programmes en COBOL et que 15% des nouveaux programmes développés dans cette industrie le seraient dans ce langage, l’Index Tiobe place désormais ce langage en 18e place pour un pourcentage de 0,95% des recherches effectuées en juin 2015.

  • Le PL/I ou PL/1 (Programming Language Number 1) : est un langage de programmation développé par IBM dans le début des années 1960 (bien qu’il fut présenté vers la fin). Il a connu ses heures de gloire au début des années 1970. L’un de ses objectifs était de pouvoir remplacer indifféremment les langages à destination scientifique, tel qu’ALGOL, ou des langages comme COBOL, plus adapté aux problèmes de comptabilité et de gestion. Ses capacités de points d'entrée génériques dans les procédures offraient une possibilité qui se retrouvera avec C++. Il avait pour but de devenir le langage privilégié de programmation des ordinateurs universels IBM 360 et 370. Les langages de programmation systèmes XPL, PL-16 (pour le Télémécanique T1600 et le Solar-16) et PL/M sont dérivés de PL/I. Il en va de même pour les langages CUPL et PL/C développés à Cornell.
  • Le PASCAL : créé en 1968 par Niklaus Wirth, il atteint son apogée dans les années 1980. Il s’agit de l’un des descendants les plus utilisés d’ALGOL qui l’a surtout été dans l’enseignement et le développement logiciel pour les ordinateurs Apple. Parmi les implémentations actuelles de Pascal, nous pouvons citer le Turbo Pascal ou le Delphi.
  • Le LISP (acronyme de List Processing) : créé en 1958 par John McCarthy alors qu’il était encore au MIT, il s’agit probablement d’une des plus anciennes familles de langages impératifs et fonctionnels. S’il a d’abord été développé en tant que modèle pratique pour représenter des programmes, il deviendra dans les années 1960 un langage de prédilection dans la recherche en Intelligence Artificielle (en raison notamment de sa flexibilité et de son expressivité), de systèmes de défenses aériennes. Les langages Lisp sont aujourd'hui utilisés dans de nombreux domaines, de la programmation Web à la finance en passant par les travaux en IA.
  • L’APL (acronyme de A Programming Language) : créé en 1962 par Ken Iverson, il a été au sommet de sa popularité dans les années 1960. Il a été très utilisé dans les mathématiques appliquées puisqu’il permet notamment de manipuler aisément des tableaux de 1 à N indices (N variant de 7 à 255 selon l’implémentation considérée) de façon globale. Les opérations puissantes de feuilletage (lamination) ainsi que les opérateurs de réduction, expansion, compression, produit intérieur et produit extérieur évitent souvent toute nécessité d’indices de boucle explicite - ainsi d’ailleurs que l’usage de boucles lui-même. Il n’est pas très répandu de nos jours mais continue d’être utilisé dans certains domaines spécifiques comme l’identification d’ADN.
  • Le Fortran (acronyme de Formula Translator ): créé en 1957 par John Backus d’IBM, ce langage, premier langage de programmation de haut niveau, a connu son essor dans les années 1960 – 1970. Son usage principal est le calcul scientifique. Il est encore très utilisé parmi les physiciens et les ingénieurs.
  • Le LOGO (du grec « logos » qui signifie « raison, discours, parole ») : né à la fin des années 1960 de Marvin Minsky et Seymour Parpert au sein du Computer Science and Artificial Intelligence Laboratory (Laboratoire d'intelligence artificielle et d'informatique) du MIT. L’appellation issue de « Logos » recouvre deux concepts : un mode d’apprentissage inspiré des travaux de Jean Piaget sur le développement cognitif de l’enfant et un type d’environnement informatique, à partir d'un langage adapté du LISP spécialement conçu dans une démarche de pédagogie active inspirée des travaux de celui-ci. Logo est un langage de programmation orientée objet réflexif qui a connu son apogée entre les années 1970 et 1980.


Source : Bloomberg

Et vous ?

Avez-vous essayé l'un d'eux ? Pouvez-vous partager votre expérience ?

Avez-vous des éléments à rajouter à la liste ?

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de Tr0n33
Membre actif https://www.developpez.com
Le 25/06/2015 à 10:45
Citation Envoyé par Carhiboux Voir le message
[TROLL]
LISP : Lots of Insipid and Stupid Parenthesis
[/TROLL]

Bon par contre, c'est le jour ou tu fais du lisp que tu te rends compte que tu es super formaté et que le fonctionnel n'est pas dans nos habitudes!
Oh oh oh, je sens pointer le débat. Syntaxe très simple, notation préfixée, typage dynamique, le code est lui même une structure de données grâce aux s-expressions (en gros le code est lui même une expression). Puissance gigantesque pour la mise en oeuvre de méta-modèle et l'analyse syntaxique. CLOS (Common Lisp Object System) est tout bonnement l'un des premiers langages objets. J'avais adoré ce langage à l'université et je ne l'ai jamais abandonné. Il a précédé SmallTalk d'ailleurs pour les premières normes ANSI sur la POO. Et c'est surtout l'un des premiers MOP.

Aucune parenthèse n'est stupide en réalité et l'importance est comprise quand on regarde la puissance réelle des s-expressions. Sa sémantique est très proche des formalismes du lambda calcul notamment sur les règles de parenthésage dont les gens se foutent ou ne comprennent pas l'utilité (généralement) : association à gauche par convention et parenthésage du terme de tête (ou la notion d'alpha conversion dans la capture). Ces deux règles du lambda calcul se retrouvent directement dans l'expression de la sémantique du langage LISP.

Bon j'avoue, le néophyte ou l'informaticien qui ne souhaite pas user de concepts mathématiques, qui ne travaille pas sur la sémantique ou la méta modélisation, n'a strictement pas besoin de ce langage. Mais je dois avouer, depuis ma tendre jeunesse universitaire, j'ai toujours eu un faible pour la puissance de ce langage et son côté très proche des théories informatiques.

D'ailleurs plus généralement, ces "anciens" langages ont un avantage sur les nouveaux : ils apprennent l'informatique; c'est à dire qu'ils sont proches des théories mathématiques qui ont mené à la construction de nos jolies machines et de leurs modèles programmatiques. C'est fondamental de les connaître pour comprendre ce que l'on manipule. Je n'aime pas voir un développeur qui code sans savoir comment fonctionne son propre langage, d'où il provient, pourquoi. Ce manque de curiosité crée une certaine forme de magie (l'assembleur n'apprend pas tout, notamment les vrais éléments de théorie de la compilation ou de tous les mathématiques sur les théories de la calculabilité qui sont fondamentales : on va de la décidabilité au lambda calcul pour comprendre les logiques d'ordre supérieur) et je trouve cela particulièrement dangereux et soumis à l'idéologie (ou au dogme). Il suffit de donner les avantages et défauts d'un concept pour que ce type de développeur le boive comme de la soupe et le croit. J'aime vérifier les théories mathématiques et la provenance de certains langages, j'aime regarder et vérifier qu'on ne me raconte pas de gros bobards; je déteste l'apparence magique (un peu à l'image des utilisateurs de téléphones portables qui ne savent pas le moins du monde comment fonctionne "réellement" leur truc). Bref, ils sont loin d'être à jeter. Après, je note une confusion entre les langages développés au niveau universitaire et ceux développés spécifiquement par le privé : une logique qu'on retrouve d'ailleurs aujourd'hui.

En tout cas, j'ai bien aimé cette article, il m'a rappelé de vieux souvenirs.

Merci.
7  0 
Avatar de nnovic
Membre expérimenté https://www.developpez.com
Le 17/07/2015 à 13:04
A la télé ils arrêtent pas de dire que l'abus d'ALGOL est dangereux pour la santé...
7  0 
Avatar de crodilus
Membre régulier https://www.developpez.com
Le 25/06/2015 à 12:04
Je suis étonné que personne ne parle d'un vieux dinosaure de chez IBM ... Le RPG/CL Regarder moi cette beautée :



On doit respecter le collonage (sauf si on utilise le format libre (ça le rend encore plus sale ))

Petite info en passant, je n'ai pas la cinquantaine, juste 24 ans et je fais ça depuis un an full time

Je retourne faire de l'archéologie

PS : C#,Java,PHP,Javascript ... Vous me manquez
6  0 
Avatar de el_slapper
Expert éminent sénior https://www.developpez.com
Le 26/06/2015 à 13:52
Citation Envoyé par shaynox Voir le message
(.../...)
Je ne peux reprocher la mentalité de ceux qui sont censés faire avancer les choses et qui croient que le progrès est dans la substitution de technologie à d'autres, dès qu'elle se voit upgrade par quelques features en plus.(.../...)
Ce n'est pas ça que je voulais dire. Je voulais dire que toutes les extensions que tu te fais chier à faire en asm, elles existent déjà dans d'autres langages. Et que quand on a un développement de production à livrer, eh bien on prend ce qui nous permet de le faire.

Je travaille dans le logiciel médical. Si demain tu as un accident, l'hôpital ou tu seras soigné utilisera un dossier patient informatisé par nos soins - ou ceux de nos concurrents. Le budget "informatique" des hôpitaux est très bas, et nos marges sont maigres. Nos concurrents comme nous-mêmes bossons en équipes très réduites, et pourtant devons gérer un nombre incalculables de besoins différents. Nous ne pouvons pas nous permettre de réinventer la poudre en asm. D'excellents programmeurs asm nous ont fourni des langages permettant d'accéder rapidement à des fonctions très évoluées, et nous permettre de répondre rapidement aux besoins de nos clients.

Si nous devions tout faire "à la main" en asm, eh bien nous serions trop cher pour nos hôpitaux endettés, et il n'y aurait pas d'informatisation du tout. Avec tous les risques que comportent les dossiers papiers, ne serait-ce que pour le dos des secrétaires qui se les trimballaient par cartons entiers. Mais aussi pour le patient, qui peut être n'importe lequel d'entre nous. parce que le papier, ça se perd, ça met du temps à arriver, ça peut être écrit de manière illisible et mal interprété par le pharmacien, etc... Donc, au final, ton séjour à l'hôpital est plus sur parceque des langages autres que l'asm existent. Merci aux dieux de l'asm de nous avoir pondu les compilateurs.
6  0 
Avatar de el_slapper
Expert éminent sénior https://www.developpez.com
Le 26/06/2015 à 15:24
Citation Envoyé par shaynox Voir le message
Dur ton l'histoire ^^
J'étais à un hôpital pour une install, récemment. La gériatrie a eu un bug : ils n'arrivaient pas à brancarder un patient décédé. Quand je suis allé en réanimation pour aider les gens qui y bossaient, je suis passé par la salle d'attente, ou une gamine de 13-14 ans pleurait comme une madeleine. Et ça, c'est juste la première journée. Le code, c'est un jeu, mais pour certains, ça a un impact qui n'a rien d'un jeu. Pour ceux qui programment des systèmes aéronautiques, en cas d'erreur, c'est direct 150 morts, ils ont encore plus la pression que nous.

Citation Envoyé par shaynox Voir le message
Mais qu'appelles-tu programmation d'urgence ? Tu parles de bases de données ?
exemple : cet hôpital avait loupé plus de 100 professionnels de santé dans sa liste. 68 d'entre eux étaient présents le jour du démarrage. Il a fallu faire un batch express en piratant(avec l'accord du client, évidemment) les données RH pour (1) les identifier, et (2) les injecter dans la base de données dare dare. Sinon, ils ne pouvaient pas prescrire. Ça, c'est une programmation d'urgence. Qui concernait aussi le service des urgences, d'ailleurs.

Citation Envoyé par shaynox Voir le message
Je n'ai pas encore emprunté cette voie, mais peut-être que je trouverais des macros et fonctions prêtes à l'emploi pour le faire aisément en asm qui sait, comme je les fais pour la gestion d'ajouts et de contrôle de multiples objets dans mon moteur 3D (enfin elle est toujours améliorable).
Bon ce n'est pas du tout du même niveau j'avoue, mais c'est un début
Mais mets-toi à nôtre place. Que nous bossions en bancaire, aéronautique, ou hospitalier, nous avons des exigences fortes sous budget limité. Avec des langages qui nous offrent plus de productivité que d'autres. Crois-tu sincèrement qu'il soit vendable d'utiliser de l'assembleur? Non, nos employeurs/clients/chefs veulent(et je crois qu'ils ont raison) de l'industrialisable rapidement.

Citation Envoyé par shaynox Voir le message
Enfin comme je le dis en informatique, tout est possible ^^ (osef des problèmes np )
Tout est possible. Mais tout n'est pas souhaitable. Exemple : on peut tout faire en Java, et la direction d'une grande banque pour qui j'avais bossé avait rêve de passer en full Java, pourtant, bien des nouveaux développements étaient en COBOL. Le projet que j'y avait fait avait été estimé au double par les gens du Java, comparé à mon estimation(nous avons dépassé de 4%, ce qui reste raisonnable). Et je ne parle même pas des performances. Le Java, lui, donnait entière satisfaction pour la partie IHM.

On a différents outils, comme dans une boite, et chacun a sa propre niche. En dehors des batches comptables, le COBOL n'a aucun intérêt. Son style est contre-productif hors de cette niche. Dans cette niche, par contre, il est super-performant, facile à coder, facile à lire, facile à maintenir, accessible(et beaucoup trop cher, mais on ne peut pas avoir que des qualités). L'asm, lui aussi, a ses niches. Mais en dehors, il ne permet pas un retour sur investissement aussi satisfaisant que ses concurrents de plus haut niveau. C'est pourquoi, comme le Cobol, il reste dans ses niches. Il en a plusieurs, hein, le Cobol n'en a qu'une seule...
6  0 
Avatar de RyzenOC
Inactif https://www.developpez.com
Le 24/06/2015 à 22:37
Bien sympa cette news,

Dans le même style, je crois que je vais aussi en faire une, mais sur les langage avec des syntaxe exotique .
Je connais un langage ou on ne peut faire que des fonction récursive.

Ce qui est bien avec certains langages informatique, c'est leurs approche différente des autres langage (grâce a leurs syntaxe notamment) ce qui permet de faire des choses bien différente des autres langages.

Aujourd'hui, la java, le python, le c++, le C#,..etc ils ont la même morphologie si je puis dire, on peut faire les mêmes choses avec ces langages, a quelques petites différences.
Si on prend un langage comme l'erlang ou l'assembleur, c'est radicalement différent.
5  0 
Avatar de Ndugu
Membre régulier https://www.developpez.com
Le 25/06/2015 à 9:50
JAVASCRIPT!!!!!!!!!!!!!
5  0 
Avatar de Tr0n33
Membre actif https://www.developpez.com
Le 26/06/2015 à 10:46
Effectivement, je posais vraiment une question d'ordre technique sur l'évolution de l'asm, le lien entre les composants techniques et les nouvelles fonctionnalités requises en ASM. Je voulais en venir au fait que le matériel évolue en fonction du besoin (quand on se sert de Pythagore chez Euclide jeune, on ne s'en sert que rarement après car on a besoin d'outils différents, pour des problématiques de plus haut niveau). Je ne vois pas d'ailleurs où j'ai été méprisant. D'autres parts ce n'est pas "mon" langage de haut niveau (tu as souvent tendance à dire ça ^^), je me fiche pas mal du langage et j'ai toujours défendu l'apprentissage sous forme historique pour comprendre l'ensemble de l'évolution des concepts. Rien ne me dérange dans l'ASM puisque j'en fais de temps en temps, par simple passion pour l'informatique (ou pour des besoins de cartes à puces et domotique chez moi - ça reste très rare mais parfois...).

Par exemple j'utilisais de l'ASM quand je voulais programmer un micro-controlleur PIC. Là, par exemple, la petite station météo que j'ai faite utilise un Arduino et un Raspberry Pi et envoie les informations sur un site raffraichit automatiquement. J'ai donc du Python pour causer au Raspberry, du C pour causer à l'Arduino, de l'AJAX et du JS pour le site en PHP (si j'avais eu du temps je l'aurais sans doute fait en RoR pour m'entraîner). Bref, j'ai utilisé plusieurs langages fonction des abstractions nécessaires. Tout dépend du besoin. Je ne défends pas l'idée que l'ASM c'est nul ou pourri, je défends l'idée d'utiliser en fonction des concepts, un langage adapté; et qu'il est intéressant d'user des anciens langages pour comprendre l'ensemble des abstractions utilisées.

C'est tout. Ma question était donc sur le matériel. Celui ci évolue, les spec changent comme tu le montres et de nouvelles fonctions sont ajoutées. De ce que je constate ce sont des optimisations techniques, des propositions pour éviter à un système d'exploitation de devoir traiter certains éléments.

Euh j'ai du mal à te suivre là

Pour te répondre Shaynox, on pourrait aller encore plus loin dans ton raisonnement et jouer avec les bits pour gérer le signal
Pourquoi ? comme dirait cryprien, l'asm me suffit, comme toi et ton langage de haut niveau.
J'ai pris un raccourci. Mon langage de haut niveau ne me suffit justement pas ! J'ai besoin d'une palette de langage pour répondre à des problématiques diverses. Si j'ai une routine (drivers) à écrire je le ferais sans doute en ASM. Si j'ai une application pour gérer des données de trading, je n'utiliserais certainement pas l'ASM. Dans les jeux d'instruction d'un code assembleur pour un processeur donné, tu as forcément (je ne sais pas hein) des macro, des "sur"instructions pour faciliter ta vie. Tu dois même avoir avec l'évolution des architectures des éléments de traitement de langages de haut niveau qui sont inclus dans les instructions non ? Par exemple, j'avais lu il y a quelques temps que les architectures ARM (processeur RISC) ne possédaient pas l'instruction JMP. On peut donc considérer que cette instruction est une forme de macro et donc un élément de plus haut niveau. Ainsi de suite. Il me semblait aussi avoir vu des éléments de contrôles de flux et des macro de type if/then/else.

Il n'y a donc aucune critique sous jacente à la pratique de l'ASM. On peut tout faire en ASM, oui. Mais on peut aussi tout faire en C. Peu importe. Je ne suis pas justement des idéologues qui sont défenseurs d'un langage, que ce soit de bas niveau ou de haut niveau. Je suis défenseur de ceux qui répondent à cette question : "A quoi sert l'informatique ?" par "A assister l'Homme". J'utilise donc tous les concepts que j'apprends ou j'ai appris, en fonction des besoins. L'informatique est un outil, les langages sont des clefs de 4, 6, 8 ou 12. J'utilise donc celle qui est utile. Il n'y a pas vraiment de débat, je demandais surtout si l'ASM avec l'évolution des processeurs n'intégrait justement pas de nouveaux concepts. That's all.
5  0 
Avatar de maske
Membre éprouvé https://www.developpez.com
Le 25/06/2015 à 10:07
Moi j'utilise Smalltalk - et je suis pas un vieux - qui remonte à 1969 (crée en 1969, première version en 1972). Ça n'est pas forcément «vieux» comparé au C par exemple (1972 je crois) mais smalltalk est considéré comme obsolète et dépassé. C'est une réputation qui le suit à tort car non seulement il est toujours maintenu et donc à jour technologiquement mais il permet de faire depuis 30 ans ce qu'aucun «gros langage» (comprendre «à la mode dans l'industrie») ne permet encore de faire à ma connaissance (debug et modification de code à l'exécution, inspection et modification en cours d'exécution du modèle et du méta-modèle, etc.).

Le langage continue d'évoluer par exemple Pharo Smalltalk (http://pharo.org/) est l'exemple le plus parlant de nouvelles technologies qui portent Smalltalk et les projets qui tournent autour.

Ça reste peu utilisé en france - quelques pme dont la mienne (on commercialise un gros erp en full smalltalk), quelques grosses boites, des banques, des assurances... Un peu plus utilisé à l'étranger. La faute à un retard (volontaire car marché de niche... c'est con je sais...) au niveau exécution sur multi-coeurs et modernité des interfaces graphiques (on a du se retaper une bonne partie nous mêmes pour avoir un rendu plus sympa).

Hélas Smalltalk n'est pas forcément un bon choix pour démarrer un projet malgré tous ses avantages (et j'aime pas du tout dire ça...).
4  0 
Avatar de DonQuiche
Expert confirmé https://www.developpez.com
Le 26/06/2015 à 19:19
Citation Envoyé par shaynox Voir le message
Simple question, mais mérite d'être prise en compte, plus sérieusement, il faut arrêter de penser que tout est urgent, à part les vrais où des vies sont en jeux (comme dans le cas de el slapper), la pensée capitaliste qui est a l'origine de certaines "urgences" doit définitivement cesser à mon avis (enterer, bruler, Pietiner ), faut savoir faire la différence.
Mais même sans capitalisme, pourquoi veux-tu que des êtres humains investissent davantage de temps pour programmer en assembleur plutôt qu'en autre chose ?

Prenons un cadre de loisir: si je m'intéresse au sujet X, je veux passer mon temps sur les problèmes en lien avec le sujet X. Pourquoi devrais-je passer trois fois plus de temps à coder en assembleur, ce qui ne m'intéresse pas (plus) ?

Et puis il ne faut pas confondre capitalisme et économie : s'il te faut trois fois plus de temps pour accomplir ton travail, tu es trois fois moins utile à tes confrères humains. C'est vrai dans le capitalisme (utilité = monnaie), le communisme (utilité = disponibilité des biens) ou la vie tribale (utilité = survie).

De nouveaux concept ?

Impossible si tu te rappelles de ce que j'ai dit que tout programme, quel qu'il soit, peut s'écrire qu'avec des mov, des add, des jcc, des jmp, des in et out.
Tout concept est exprimé par un cerveau humain, ça ne veut pas dire qu'aucun concept ne peut être nouveau puisque le cerveau humain est ancien.
Les concepts transcendent le code, ils existent en-dehors, dans l'esprit humain. Le code n'est qu'une des façons de les matérialiser.

Ne t'en déplaise, l'informatique s'enrichit donc continuellement de nouveaux concepts.
4  0