Hallo, Habra!
Ich präsentiere Ihnen die Übersetzung des Artikels „“ von Robert C. Martin (Uncle Bob).

Ich verbringe Zeit damit, ein altes Spiel namens „Lunar Lander“ aus dem Jahr 1969 zu spielen. Es wurde von Jim Storer, einem Schüler der High School, geschrieben. Er hat es auf einem PDP-8 in der Sprache FOCAL programmiert. So sieht das Programm aus:

Hier ist der Quellcode in FOCAL:

Jim Storer war ein ziemlich talentierter Schüler der High School. Schau dir diesen Code an. Dort gibt es einige interessante Taylor-Expressionen.
Im Grunde mache ich eine binäre Suche, um den Wert von K zu bestimmen, der das Raumschiff bei wiederholter Anwendung perfekt landen lässt. Ich habe also das Programm so verändert, dass es nur einen Wert akzeptiert und diesen dann mehrmals anwendet, bis das Raumschiff landet oder abstürzt. Während ich dies schreibe, weiß ich, dass die Antwort zwischen 76.40625 und 76.4453125 liegt, und ich werde 76.4257813 ausprobieren. Ich beginne zu denken, dass mir die Zeit ausgeht, bevor ich die Antwort finde.
In der Zwischenzeit ist mir aufgefallen, dass ich dieses Programm auf einem Emulator gestartet habe , den ich in Lua für das iPad geschrieben habe.
Also, gut, lassen Sie uns darüber nachdenken.
- Das iPad hat einen Chip , mit drei Kernen, die mit etwa einer Gigahertz-Frequenz arbeiten.
- Lua ist in C geschrieben und wird für A8X kompiliert.
- Mein PDP8-Emulator ist in Lua geschrieben und verwendet das Paket aus dem Abschnitt Two Lives Left.
- FOCAL wurde Ende der 1960er Jahre auf PDP8 geschrieben.
- Lunar Lander wurde in FOCAL geschrieben.
Das heißt, es gibt A8X, C, Lua, PDP8 und FOCAL. Das sind fünf verschiedene Sprachen. Fünf unterschiedliche Mechanismen, die der Maschine sagen, was sie tun soll; sie sind alle übereinander gestapelt!
Was ist das? Warum so viele Sprachen? Eigentlich, vergiss das iPad, den PDP-8, C, Lua und alles andere. Warum gibt es so viele Sprachen?
##Почему существует так много языков?
Denken Sie darüber nach! Wie viele Programmiersprachen können Sie nennen? Lassen Sie mich Ihnen eine kleine Liste geben:
- FORTRAN
- ALGOL
- COBOL
- SNOBOL
- LISP
- BCPL
- B
- C
- SIMULA
- SMALLTALK
- EIFFEL
- C++
- JAVA
- C#
- PYTHON
- RUBY
- LOGO
- LUA
- BASIC
- PL/1
- JAVASCRIPT
- GO
- DART
- PROLOG
- FORTH
- SWIFT
- ML
- OCCAM
- OCAML
- ADA
- ERLANG
- ELIXIR
- FOCAL
Sie können sicherlich an andere denken, die ich nicht erwähnt habe. Die Frage ist, warum es so viele gibt? Auf diese Frage kann es wirklich nur eine Antwort geben. Der Grund, warum es so viele Programmiersprachen gibt:
Wir mögen sie nicht.
Nun, vielleicht ist das eine zu starke Aussage. Vielleicht sollte ich sagen:
Wir waren in Hollywood.
Wir waren in Redwood.
Wir haben den Ozean überquert, um den goldenen Code zu finden.
Wir waren bei Verstand,
Das ist eine sehr feine Linie.
Es bringt uns dazu, nach dem goldenen Code zu suchen.Wir werden alt.
Naja, vielleicht sollte ich für mich selbst sprechen… Hast du nicht einfach nur auf Neil Young losbrüllen wollen, damit er aufhört zu jammern, ein nettes Mädchen findet und mit ihr lebt? Wolltest du ihm nicht sagen, dass die Suche nach dem goldenen Herzen vergeblich war? Sag mir, was hätte er damit gemacht, wenn er es gefunden hätte?
Und was würden wir mit der perfekten Sprache tun, wenn wir sie finden würden?
Wir haben PDP-8 und FOCAL Emulationen erstellt, um » Lunar Lander« zu spielen, das von einem Schüler der Mittelstufe im Jahr 1969 geschrieben wurde!
Das denke ich.
Nimm es hin. Hör auf zu suchen. Es gibt keine perfekte Sprache. Wir haben überall gesucht. Wir haben von oben und unten geschaut. Wir haben nach innen und außen geschaut.
Wir haben die Sprachen von beiden Seiten betrachtet.
Von innen und außen
und immer noch so oder so.
Erinnern wir uns daran, dass es sprachliche Illusionen sind.Wir verstehen wirklich nichts über Sprachen…
… gar nichts.
Ja, heute ist ein ungewöhnlicher Tag.
Aber immerhin, der Punkt ist:
Wir brauchen keine andere Sprache.
Wir müssen den Weg nach Hause nicht wissen.
Alles, was wir wollen, ist, über das Leben hinauszugehen.
S.Q.L.
Ja, ein seltsamer Tag.
Also, hier ist ein Gedanke. Vielleicht sollten wir aufhören, neue Sprachen zu erstellen, und einfach ruhig werden und eine oder zwei auswählen, die wirklich gut sind. Das würde das Leben viel einfacher machen, oder?
Und falls es dich interessiert, 76.43844461 gibt dir eine ziemlich gute Landung bei 2.23 MPH.
Quelle: habr.com
