Tere, Habr!
Tutvun teie tähelepanu tõlkega artiklist «» autor Robert C. Martin (Uncle Bob).

Veedan aega, mängides vanat mängu «Lunar Lander», mis ilmus 1969. aastal. Selle kirjutas Jim Storer, kes oli keskkooli õpilane. Ta kirjutas selle PDP-8-l keeles FOCAL. Niisugune on programm:

Siin on FOCAL-i lähtetekst:

Jim Storer oli üsna andekas keskkooli õpilane. Vaatame seda koodi. Seal on huvitavad Taylor'i avaldused.
Kokkuvõttes teen ma binaarset otsingut, et leida väärtus K, mis ideaalselt maandab laeva järjestikuse kasutamise korral. Seetõttu muutsin programmi nii, et see võtaks vastu ainult ühe väärtuse ja rakendaks seda mitu korda, kuni laev maandub või puruneb. Seni, kui ma seda kirjutan, tean, et vastus on vahemikus 76.40625 ja 76.4453125 ning proovin 76.4257813. Alustame mõtlema, et mul võib olla liiga vähe aega, enne kui leian vastuse.
Vahepeal tuli mulle pähe, et käisin seda programmi emulaatoril , mille kirjutasin Lua keeles iPadi jaoks.
Nii et, mõtleme selle üle natuke.
- iPadil on kiip , kus töötavad kolm tuuma peaaegu gigahertsisel sagedusel.
- Lua on kirjutatud C-s ja kompileeritud A8X-le.
- Minu PDP8 emulaator on kirjutatud Lua keeles, kasutades paketti , mis kuulub Two Lives Left sektsiooni.
- FOCAL kirjutati 1960. aastate lõpus PDP8-l.
- Lunar Lander kirjutati FOCAL-is.
Nii et need on A8X, C, Lua, PDP8 ja FOCAL. Need on viis erinevat keelt. Viis erinevat mehhanismi, mis ütlevad masinale, mida teha; kõik on üksteise peale kuhjatud!
Mis on see? Miks nii palju keeli? Tegelikult, unusta ära iPad, PDP-8, C, Lua ja kõik muu. Miks nii palju keeli?
##Почему существует так много языков?
Mõtle sellele! Kui palju programmeerimiskeeli sa oskad nimetada? Siin, las ma annan sulle väikese nimekirja:
- 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
Sa võid kindlasti mõelda ka teistele, mida ma ei maininud. Küsimus on, miks neid on nii palju? Sellele küsimusele on tegelikult ainult üks vastus. Põhjus, miks on nii palju arvutikeele:
Me ei armasta neid.
Noh, võib-olla on see liiga tugev väide. Võib-olla peaksin ma ütlema:
Me olime Hollywoodis.
Me olime Redwoodis.
Me ületasime ookeani, et leida kuldset koodi.
Me olime iseendast väljas,
See, see, it's such a thin line.
It makes us search for the golden code.And we are aging.
Well, maybe I should speak for myself... Didn't you just want to yell at Neil Young to stop complaining, find some lovely girl, and live with her? Didn't you want to tell him that the search for a golden heart was pointless? Tell me, what would he do with it if he found it?
And what would we do with the perfect language if we found it?
We created PDP-8 and FOCAL emulators to play 'Lunar Lander' written by a high school student in 1969!
Here's what I think.
Accept it. Stop searching. There is no perfect language. We've looked everywhere. We looked up and down. We looked inside and outside.
We considered languages from both sides.
From the inside and the outside
and still somehow.
Remember that these are linguistic illusions.We really understand nothing about languages...
... at all.
Yes, today is an unusual day.
But, nevertheless, the point is:
We don't need another language.
We don't need to know the way home.
All we want is to transcend life.
S.Q.L.
Yes, a strange day.
So, here's a thought. Maybe we need to stop creating new languages and just settle down and choose one or two that are really good. It would make life much easier, wouldn't it?
And, if you are curious, 76.43844461 gives you quite a decent landing at 2.23 MPH.
Allikas: habr.com
