Hello, Habr!
Jeg præsenterer herved oversættelsen af artiklen «» af Robert C. Martin (Uncle Bob).

Jeg bruger tid på at spille det gamle spil «Lunar Lander» fra 1969. Det blev skrevet af Jim Storer, en gymnasieelev. Han skrev det på en PDP-8 i FOCAL. Her er, hvordan programmet ser ud:

Og her er kildekoden i FOCAL:

Jim Storer var en ret talentfuld gymnasieelev. Se på denne kode. Den har nogle ret interessante Taylor-udtryk.
Generelt laver jeg en binær søgning for at bestemme værdien af K, der ved sekventiel brug vil lande skibet perfekt. Derfor ændrede jeg programmet således, at det kun accepterer én værdi og derefter anvender den flere gange, indtil skibet lander eller går i stykker. Mens jeg skriver dette, ved jeg, at svaret ligger mellem 76.40625 og 76.4453125, og jeg vil prøve 76.4257813. Jeg begynder at tænke, at tiden snart rinder ud, før jeg finder svaret.
Imens kom jeg i tanke om, at jeg kørte dette program på en emulator , som jeg skrev i Lua til iPad.
Så, lad os tænke over det.
- iPad har en chip , med tre kerner der kører ved omkring en gigahertz.
- Lua er skrevet i C og kompileres til A8X.
- Min PDP8-emulator er skrevet i Lua ved hjælp af pakken fra Two Lives Left.
- FOCAL blev skrevet i slutningen af 1960'erne på PDP8.
- Lunar Lander blev skrevet i FOCAL.
Så det er A8X, C, Lua, PDP8 og FOCAL. Fem forskellige sprog. Fem forskellige mekanismer, der fortæller maskinen, hvad den skal gøre; alle stablet oven på hinanden!
Hvad er der galt? Hvorfor så mange sprog? Faktisk, glem iPad, PDP-8, C, Lua og alt det andet. Hvorfor er der så mange sprog?
##Почему существует так много языков?
Tænk over det! Hvor mange programmeringssprog kan du nævne? Her, lad mig give dig en lille liste:
- 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
Du kan sikkert tænke på andre, som jeg ikke har nævnt. Spørgsmålet er, hvorfor der er så mange? Der kan kun være ét svar på dette spørgsmål. Årsagen til, at der er så mange computersprog:
Vi kan ikke lide dem.
Nå, måske er det en for stærk udtalelse. Måske burde jeg sige:
Vi har været i Hollywood.
Vi har været i Redwood.
Vi krydsede havet for den gyldne kode.
Vi var ved vores fulde fem,
Det er en fin linje.
Det får os til at søge efter den gyldne kode.Vi ældes.
Okay, måske skal jeg tale for mig selv... Ville du ikke bare råbe ad Neil Young for at få ham til at stoppe med at klage, finde en sød pige og leve med hende? Ville du ikke sige til ham, at jagten på et guldhjerte var spild af tid? Fortæl mig, hvad ville han gøre med det, hvis han fandt det?
Og hvad ville vi gøre med det perfekte sprog, hvis vi fandt det?
Vi skabte emulatorer til PDP-8 og FOCAL for at spille »Lunar Lander«, skrevet af en gymnasieelev i 1969!
Det er, hvad jeg tænker.
Acceptér det. Stop med at søge. Der er ikke noget perfekt sprog. Vi har ledt overalt. Vi har set oppe og nede. Vi har set indvendigt og udvendigt.
Vi har set på sprog fra begge sider.
Indefra og udefra
og stadig på en eller anden måde.
Husk, at dette er sproglige illusioner.Vi forstår virkelig ikke noget om sprog...
... overhovedet.
Ja, i dag er en usædvanlig dag.
Men ikke desto mindre, essensen er:
Vi har ikke brug for et andet sprog.
Vi har ikke brug for at vide vejen hjem.
Alt, hvad vi ønsker, er at komme ud over livet.
S.Q.L.
Ja, en mærkelig dag.
Så er der en tanke. Måske skal vi stoppe med at skabe nye sprog og bare slappe af og vælge et eller to, der virkelig er gode. Det vil gøre livet meget enklere, ikke?
Og hvis du er interesseret, giver 76.43844461 en ret god landing ved 2.23 MPH.
Kilde: habr.com
