Couches de langue

Hé Habr !

J'attire votre attention sur une traduction de l'article «Couches de langue» de Robert C. Martin (Oncle Bob).

Couches de langue
Je passe mon temps à jouer à un vieux jeu appelé Lunar Lander de 1969. Il a été écrit par Jim Storer, un lycéen. Il l'a écrit sur un PDP-8 en FOCAL. Voici à quoi ressemble le programme :

Couches de langue

Et voici le code source de FOCAL :

Couches de langue

Jim Storer était un lycéen assez talentueux. Jetez un œil à ce code. Il y a là des expressions de Taylor assez intéressantes.

Fondamentalement, je fais une recherche binaire pour déterminer la valeur de K qui, lorsqu'elle est utilisée de manière cohérente, fera parfaitement atterrir le navire. J'ai donc modifié le programme pour qu'il n'accepte qu'une seule valeur, puis l'applique plusieurs fois jusqu'à ce que le navire atterrisse ou s'écrase. Au moment où j'écris ceci, je sais que la réponse se situe entre 76.40625 et 76.4453125 et je vais essayer 76.4257813. Je commence à penser que je vais manquer de temps avant de trouver la réponse.

Pendant ce temps, je me suis rendu compte que j'avais exécuté ce programme sur un émulateur. PDP-8, qui a écrit en Lua pour l'iPad.

Alors, d'accord, réfléchissons à cela.

  • L'iPad a une puce A8X, avec trois cœurs fonctionnant à environ gigahertz.
  • Lua est écrit en C et compile en A8X.
  • Mon émulateur PDP8 est écrit en Lua en utilisant le package CODEA de la section Deux vies restantes.
  • FOCAL a été écrit à la fin des années 1960 sur un PDP8.
  • Lunar Lander a été écrit en FOCAL.

Ce sont donc A8X, C, Lua, PDP8 et FOCAL. Ce sont cinq langues différentes. Cinq mécanismes différents indiquant à la machine quoi faire ; ils sont tous empilés les uns sur les autres !

Ce que c'est? Pourquoi y a-t-il tant de langues ? En fait, oubliez l'iPad, le PDP-8, le C, le Lua et tout le reste. Pourquoi y a-t-il tant de langues ?

##Pourquoi y a-t-il autant de langues ?

Pensez-y! Combien de langages de programmation pouvez-vous nommer ? Ici, laissez-moi vous donner une petite liste :

  • Fortran
  • ALGOL
  • COBOL
  • SNOBOL
  • ZÉZAYER
  • BCPL
  • B
  • C
  • SIMULE
  • PETIT PARLER
  • EIFFEL
  • C + +
  • JAVA
  • C#
  • PYTHON
  • RUBIS
  • LOGO
  • MOON
  • BASIQUE
  • PL / 1
  • JAVASCRIPT
  • GO
  • DART
  • PROLOGUE
  • EN AVANT
  • SWIFT
  • ML
  • OCCAM
  • OCAML
  • ADA
  • ERLAN
  • ELIXIR
  • FOCAL

Vous pouvez bien sûr penser à d’autres que je n’ai pas cités. La question est : pourquoi y en a-t-il autant ? Il ne peut y avoir qu’une seule réponse à cette question. La raison pour laquelle il existe tant de langages informatiques :

Nous ne les aimons pas.

Eh bien, c'est peut-être une affirmation trop forte. Peut-être devrais-je dire :

Nous étions à Hollywood.
Nous étions à Redwood.
Nous avons traversé l'océan pour trouver le code d'or.
Nous étions fous
C'est une ligne tellement fine.
Cela nous fait rechercher le code d’or.

Et nous vieillissons.

Okay, peut-être que je devrais parler pour moi... Tu n'as pas juste envie de crier à Neil Young d'arrêter de se plaindre et de trouver une fille sympa et de vivre avec elle ? Ne voulais-tu pas lui dire que la recherche d'un cœur d'or était vaine ? Dites-moi, qu'en ferait-il s'il le trouvait ?

Et que ferions-nous d’une langue idéale si nous la trouvions ?

Nous avons créé les émulateurs PDP-8 et FOCAL pour jouer à "Lunar Lander", écrit par un lycéen en 1969 !

C'est ce que je pense.

Faites avec. Arrêtez de chercher. Il n’existe pas de langage parfait. Nous avons regardé partout. Nous avons regardé d'en haut et d'en bas. Nous avons regardé à l'intérieur et à l'extérieur.

Nous avons regardé les langues des deux côtés.
Dedans et dehors
et c’est toujours le cas, d’une manière ou d’une autre.
Rappelons que ce sont des illusions linguistiques.

Nous ne comprenons vraiment rien aux langues...
… du tout.

Oui, aujourd'hui est une journée inhabituelle.

Mais néanmoins, le point est le suivant :

Nous n'avons pas besoin d'une autre langue.
Nous n'avons pas besoin de connaître le chemin du retour.
Tout ce que nous voulons, c'est aller au-delà de la vie.
SQL

Oui, journée étrange.

Voici donc une réflexion. Peut-être devrions-nous arrêter de créer de nouvelles langues et simplement nous calmer et en choisir une ou deux qui sont vraiment bonnes. Cela rendra la vie beaucoup plus facile, n'est-ce pas ?

Et, au cas où vous vous poseriez la question, 76.43844461 vous permet d'atterrir assez bien à 2.23 MPH.

Source: habr.com

Ajouter un commentaire