Hello, Habr!
I present to you the translation of the article āā by Robert C. Martin (Uncle Bob).

I spend time playing an old game called āLunar Landerā from 1969. It was written by Jim Storer, a high school student. He wrote it on a PDP-8 in FOCAL. Here's what the program looks like:

And here is the source code in FOCAL:

Jim Storer was quite a talented high school student. Look at this code. It has some interesting Taylor expressions.
In general, Iām conducting a binary search to determine the value of K that will land the ship perfectly with successive uses. So, I modified the program to take only one value, and then apply it several times until the ship either lands or crashes. As I write this, I know the answer lies between 76.40625 and 76.4453125, and Iāll try 76.4257813. I'm beginning to think that I will run out of time before I find the answer.
In the meantime, it occurred to me that I ran this program on an emulator , which I wrote in Lua for the iPad.
So, okay, letās reflect on this.
- The iPad has a chip , with three cores running at around GHz.
- Lua is written in C and compiles to A8X.
- My PDP8 emulator is written in Lua, using the package from Two Lives Left.
- FOCAL was written in the late 1960s on PDP8.
- Lunar Lander was written in FOCAL.
So that's A8X, C, Lua, PDP8, and FOCAL. Five different languages. Five different mechanisms telling the machine what to do; all layered on top of each other!
Whatās going on? Why so many languages? Actually, forget about iPad, PDP-8, C, Lua, and all that. Why are there so many languages?
##ŠŠ¾ŃŠµŠ¼Ń ŃŃŃŠµŃŃŠ²ŃŠµŃ ŃŠ°Šŗ много ŃŠ·Ńков?
Think about it! How many programming languages can you name? Here, let me give you a short list:
- 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
You can certainly think of others that I havenāt mentioned. The question is, why are there so many? There really could be only one answer to that question. The reason there are so many programming languages:
We don't like them.
Well, maybe that's too strong a statement. Perhaps I should say:
We were in Hollywood.
We were in Redwood.
We crossed the ocean for the golden code.
We were out of our minds,
Itās such a fine line.
It compels us to seek the golden code.And we get older.
Well, maybe I should speak for myself⦠Didnāt you just want to scream at Neil Young to stop complaining, find some sweet 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.
Face it. Stop searching. There is no perfect language. We looked everywhere. We looked up and down. We looked inside and out.
We examined languages from both sides.
Inside and out
and still somehow.
Letās remember that these are linguistic illusions.We really donāt understand anything about languagesā¦
⦠at all.
Yes, today is an unusual day.
But still, 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, thereās one thought. Maybe we need to stop creating new languages and just settle down and pick one or two that are really good. That would make life much simpler, wouldnāt it?
And if youāre curious, 76.43844461 gives you a pretty good landing at 2.23 MPH.
Source: habr.com
