Hej Habr!
Predstavljam vam prijevod članka "»od Roberta C. Martina (Ujak Bob).

Provodim vrijeme igrajući staru igru pod nazivom "Lunar Lander" iz 1969. Napisao ju je Jim Storer, srednjoškolac. Napisao ju je na PDP-8 koristeći programski jezik FOCAL. Evo kako program izgleda:

Evo izvornog koda za FOCAL:

Jim Storer je bio prilično talentiran srednjoškolac. Pogledajte ovaj kod. Ima neke zanimljive Taylorove izraze unutra.
U osnovi, pokrećem binarno pretraživanje kako bih pronašao vrijednost K koja će, kada se više puta koristi, savršeno sletjeti brod. Stoga sam modificirao program da prihvaća samo jednu vrijednost, a zatim je više puta primjenjujem dok brod ne sleti ili se ne sruši. Dok ovo pišem, znam da odgovor leži između 76.40625 i 76.4453125, a pokušat ću sa 76.4257813. Počinjem misliti da će mi ponestati vremena prije nego što pronađem odgovor.
U međuvremenu, palo mi je na pamet da ovaj program pokrećem na emulatoru , koji je napisan u Lua jeziku za iPad.
U redu, razmislimo o ovome.
- iPad ima čip , s tri jezgre koje rade na brzini od oko gigaherca.
- Lua je napisana u C-u i kompajlira se u A8X.
- Moj PDP8 emulator je napisan u Lua jeziku koristeći paket iz odjeljka Dva preostala života.
- FOCAL je napisan krajem 1960-ih na PDP8.
- Lunar Lander je napisan u FOCAL-u.
Dakle, to su A8X, C, Lua, PDP8 i FOCAL. To je pet različitih jezika. Pet različitih mehanizama za upućivanje stroja što treba učiniti, svi složeni jedan na drugi!
Što je ovo? Zašto toliko jezika? Ozbiljno, zaboravite na iPad, PDP-8, C, Lua i sve ostalo. Zašto toliko jezika?
##Zašto postoji toliko jezika?
Razmislite o tome! Koliko programskih jezika možete navesti? Evo, dopustite mi da vam dam kratki popis:
- FORTRAN
- NEŠTO
- COBOL
- SNOBOL
- LISP
- BCPL
- B
- C
- SIMULA
- RAZGOVOR
- EIFFEL
- C + +
- Java
- C#
- PITON
- RUBIN
- LOGO
- LUA
- OSNOVNI
- PL/1
- JAVASCRIPT
- GO
- DART
- PROLOG
- DALJE
- SWIFT
- ML
- OCCAM
- OCAML
- ADA
- ERLANG
- ELIKSIR
- FOKALNO
Naravno, možete se sjetiti i drugih koje nisam spomenuo. Pitanje je zašto ih je toliko? Na to pitanje može postojati samo jedan odgovor. Razlog zašto postoji toliko računalnih jezika je:
Ne volimo ih.
Pa, možda je to prejaka izjava. Možda bih trebao reći:
Bili smo u Hollywoodu.
Bili smo u Redwoodu.
Prešli smo ocean zbog zlatnog koda.
Bili smo pri zdravoj pameti,
To je tako tanka linija.
To nas navodi da tražimo zlatni kod.I mi starimo.
U redu, možda bih trebao govoriti u svoje ime... Nisi li samo htio vikati na Neila Younga da prestane žaliti se, nađe neku finu djevojku i živi s njom? Nisi li mu htio reći da je potraga za zlatnim srcem uzaludna? Reci mi, što bi s njim učinio kad bi ga pronašao?
A što bismo učinili s idealnim jezikom kad bismo ga pronašli?
Napravili smo emulatore PDP-8 i FOCAL za reprodukciju igre "Lunar Lander", koju je napisao srednjoškolac 1969. godine!
Evo što ja mislim.
Prihvati to. Prestani tražiti. Ne postoji savršen jezik. Tražili smo svugdje. Tražili smo gore i dolje. Tražili smo unutra i izvana.
Jezike smo promatrali s obje strane.
Unutra i izvana
i još uvijek jest, na ovaj ili onaj način.
Podsjetimo se da su to jezične iluzije.Mi stvarno ništa ne razumijemo o jezicima...
... uopće.
Da, danas je neobičan dan.
Ali ipak, poanta je:
Ne treba nam drugi jezik.
Ne moramo znati put kući.
Sve što želimo jest ići dalje od života.
SQL
Da, čudan je dan.
Dakle, imam jednu misao. Možda bismo trebali prestati stvarati nove jezike i jednostavno se smiriti te odabrati jedan ili dva koja su stvarno dobra. To bi život učinilo puno lakšim, zar ne?
I, ako se pitate, 76.43844461 vam daje prilično dobar rezultat pri brzini od 2.23 MPH.
Izvor: www.habr.com
