Olá, Habr!
Apresento a vocês a tradução do artigo «» de Robert C. Martin (Tio Bob).

Estou passando o tempo jogando o antigo jogo «Lunar Lander» de 1969. Foi escrito por Jim Storer, um estudante do ensino médio. Ele a escreveu no PDP-8 em FOCAL. Aqui está como o programa se apresenta:

Aqui está o código-fonte em FOCAL:

Jim Storer era um estudante do ensino médio bastante talentoso. Dê uma olhada nesse código. Tem expressões de Taylor bem interessantes.
No geral, estou fazendo uma busca binária para determinar o valor de K que, se usado sequencialmente, pousará o módulo perfeitamente. Assim, eu alterei o programa para aceitar apenas um valor e, em seguida, aplicá-lo várias vezes até que o módulo pousasse ou se despedaçasse. Enquanto escrevo isso, sei que a resposta está entre 76.40625 e 76.4453125, e eu vou testar 76.4257813. Começo a pensar que vou ficar sem tempo antes de encontrar a resposta.
Enquanto isso, percebi que executei este programa em um emulador , que escrevi em Lua para iPad.
Então, bem, vamos refletir sobre isso.
- O iPad tem um chip , com três núcleos rodando a uma frequência de gigahertz ou algo assim.
- Lua é escrita em C e compilada para A8X.
- Meu emulador PDP8 foi escrito em Lua, usando o pacote da seção Two Lives Left.
- FOCAL foi criado no final dos anos 1960 para o PDP8.
- Lunar Lander foi escrito em FOCAL.
Então temos A8X, C, Lua, PDP8 e FOCAL. Cinco linguagens diferentes. Cinco mecanismos distintos, indicando à máquina o que fazer; todos empilhados uns sobre os outros!
O que está acontecendo? Por que tantas linguagens? Na verdade, esqueça o iPad, PDP-8, C, Lua e tudo mais. Por que há tantas linguagens?
##Почему существует так много языков?
Pense sobre isso! Quantas linguagens de programação você consegue nomear? Aqui, deixe-me te dar uma pequena lista:
- 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
Certamente, você pode pensar em outros que eu não mencionei. A questão é: por que há tantos? Para essa pergunta, realmente pode haver apenas uma resposta. A razão pela qual existem tantas linguagens de computação é:
Nós não gostamos delas.
Bem, talvez isso seja uma afirmação excessiva. Talvez eu devesse dizer:
Nós estivemos em Hollywood.
Nós estivemos em Redwood.
Nós atravessamos o oceano em busca do código dourado.
Nós estivemos em nossa razão,
É uma linha muito tênue.
Isso nos faz buscar o código dourado.Estamos envelhecendo.
Bem, talvez eu deva falar por mim… Você não queria apenas gritar com Neil Young para que ele parasse de reclamar, encontrasse uma garota legal e vivesse com ela? Você não queria dizer a ele que a busca por um coração de ouro foi em vão? Diga-me, o que ele faria com isso se o encontrasse?
E o que faríamos com a linguagem perfeita se a encontrássemos?
Criamos emuladores PDP-8 e FOCAL para jogar » Lunar Lander», escrita por um aluno do ensino médio em 1969!
Isso é o que eu penso.
Aceite isso. Pare de procurar. Não existe linguagem perfeita. Nós procuramos em todo lugar. Olhamos para cima e para baixo. Olhamos para dentro e para fora.
Observamos os idiomas de ambos os lados.
Por dentro e por fora
e ainda assim de alguma forma.
Lembramos que estas são ilusões linguísticas.Na verdade, não entendemos nada sobre idiomas…
… absolutamente nada.
Sim, hoje é um dia incomum.
Mas, no final das contas, a questão é:
Não precisamos de outra língua.
Não precisamos saber o caminho para casa.
Tudo que queremos é ir além da vida.
S.Q.L.
Sim, dia estranho.
Então, há um pensamento. Talvez precisemos parar de criar novas línguas e simplesmente relaxar e escolher uma ou duas que sejam realmente boas. Isso tornaria a vida muito mais fácil, não é?
E, se você está curioso, 76.43844461 lhe dá um pouso bastante bom a 2.23 MPH.
Fonte: habr.com
