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
  • ConformitĂ© 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

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