Paul Graham a annoncé un nouveau langage de programmation Bel

La langue Bel s'écrit en langue Bel.

Paul Graham a annoncé un nouveau langage de programmation Bel
En 1960, John McCarthy dĂ©crit Lisp, un nouveau type de langage de programmation. Je dis « nouveau type » parce que Lisp n’était pas seulement un nouveau langage, mais une nouvelle façon de dĂ©crire les langages.

Pour dĂ©finir Lisp, il a commencĂ© avec un petit ensemble d'Ă©noncĂ©s, des sortes d'axiomes, qu'il a ensuite utilisĂ© pour Ă©crire un interprĂšte pour le langage lui-mĂȘme.

Il n’avait pas pour objectif de dĂ©crire un langage de programmation au sens habituel du terme – un langage utilisĂ© pour dire Ă  un ordinateur quoi faire. Dans ses travaux de 1960, Lisp Ă©tait considĂ©rĂ© comme un modĂšle formel de calcul semblable Ă  la machine de Turing. McCarthy n'a pas pensĂ© Ă  l'utiliser sur des ordinateurs jusqu'Ă  ce que Steve Russell, son Ă©tudiant diplĂŽmĂ©, le suggĂšre.

Lisp en 1960 n'avait pas les fonctionnalitĂ©s communes aux langages de programmation. Par exemple, il n'y avait aucun numĂ©ro, erreur ou E/S. Ainsi, les personnes qui utilisaient Lisp comme base pour les langages utilisĂ©s pour programmer les ordinateurs ont dĂ» ajouter elles-mĂȘmes ces fonctionnalitĂ©s. Et ils l’ont fait en abandonnant l’approche axiomatique.

Ainsi, le dĂ©veloppement de Lisp s'est dĂ©roulĂ© en deux Ă©tapes - et apparemment tout Ă  fait indĂ©pendantes - : une Ă©tape formelle, introduite dans un article de 1960, et une Ă©tape de mise en Ɠuvre, au cours de laquelle le langage a Ă©tĂ© adaptĂ© et Ă©tendu pour fonctionner sur des ordinateurs. L'essentiel du travail, mesurĂ© par le nombre d'opportunitĂ©s mises en Ɠuvre, a eu lieu au stade de la mise en Ɠuvre. Lisp de 1960, traduit en Common Lisp, ne contient que 53 lignes. Il ne fait que ce qui est nĂ©cessaire pour interprĂ©ter les expressions. Tout le reste a Ă©tĂ© ajoutĂ© au stade de la mise en Ɠuvre.

Mon hypothÚse est que, malgré son histoire difficile, Lisp a bénéficié du fait que son développement s'est déroulé en deux phases ; que l'exercice original consistant à définir un langage en y écrivant son interprÚte a donné à Lisp ses meilleures qualités. Et si oui, pourquoi ne pas aller plus loin ?

TĂ©lĂ©phone est une tentative de rĂ©pondre Ă  la question : et si, au lieu de passer le plus tĂŽt possible du stade formel au stade de l'exĂ©cution, cette transition se faisait le plus tard possible ? Si vous continuez Ă  utiliser l’approche axiomatique jusqu’à ce que vous ayez quelque chose qui se rapproche d’un langage de programmation complet, de quels axiomes aurez-vous besoin et Ă  quoi ressemblera le langage rĂ©sultant ?

Je veux ĂȘtre clair sur ce qu’est Bel et ce qu’il n’est pas. Bien qu'il ait beaucoup plus de fonctionnalitĂ©s que le Lisp de McCarthy de 1960, Bel est encore un produit dans sa phase formelle. Comme Lisp, dĂ©crit dans un article de 1960, ce n’est pas un langage que vous pouvez utiliser pour programmer. Principalement parce que, comme le Lisp de McCarthy, il ne se soucie pas de l'efficacitĂ©. Lorsque j'ajoute quelque chose Ă  Bel, je dĂ©cris la signification de l'ajout sans chercher Ă  fournir une implĂ©mentation efficace.

Pour quoi? Pourquoi prolonger la phase formelle ? Une rĂ©ponse est de voir oĂč l’approche axiomatique peut nous mener, ce qui est un exercice intĂ©ressant en soi. Si les ordinateurs Ă©taient aussi puissants que nous le souhaiterions, Ă  quoi ressembleraient les langues ?

Mais je crois aussi qu'il est possible d'Ă©crire une implĂ©mentation efficace basĂ©e sur Bel en ajoutant des restrictions. Si vous voulez un langage dotĂ© d’une puissance expressive, claire et efficace, cela vaut peut-ĂȘtre la peine de commencer par la puissance expressive et la clartĂ©, puis d’ajouter des restrictions, plutĂŽt que d’aller dans la direction opposĂ©e.

Donc, si vous voulez essayer d'écrire une implémentation basée sur Bel, allez-y. Je serai l'un des premiers utilisateurs.

En fin de compte, j'ai reproduit certaines choses des dialectes précédents. Soit leurs concepteurs ont bien compris, soit étant influencés par des dialectes précédemment utilisés, je ne vois pas la bonne réponse - le temps nous le dira. J'ai également essayé de ne pas trop m'éloigner des conventions Lisp. Ce qui signifie que si vous constatez un éloignement des conventions Lisp, il peut y avoir une raison à cela.

Description continue de la langue ici.

Merci pour la traduction : Denis Mitropolsky

PS

Source: habr.com

Achetez un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS đŸ”„ Achetez un hĂ©bergement web fiable avec protection DDoS, serveurs VPS et VDS | ProHoster