Përshëndetje, Habr!
Ju ofroj për vëmendjen tuaj përkthimin e artikullit «» nga Robert C. Martin (Uncle Bob).

Po kaloj kohë duke luajtur një lojë të vjetër «Lunar Lander» nga viti 1969. Ajo është shkruar nga Jim Storer, një nxënës i shkollës së mesme. Ai e shkroi atë në PDP-8 në gjuhën FOCAL. Ja si duket programi:

Ja kodi burimor në FOCAL:

Jim Storer ishte një nxënës mjaft të talentuar. Shiko këtë kod. Ai ka shprehje mjaft interesante të Taylorit.
Pra, po kryej një kërkim binar për të përcaktuar vlerën K, e cila do të ulet perfekt anija gjatë uljes. Kështu që e modifikova programin në mënyrë që të pranonte vetëm një vlerë dhe më pas ta zbatoja atë disa herë derisa anija të ulet ose të goditet. Ndërsa po e shkruaj këtë, e di që përgjigjja është midis 76.40625 dhe 76.4453125, dhe do të provoj 76.4257813. Po filloj të mendoj se do të më mbarojë koha para se të gjej përgjigjen.
Ndërkohë, më erdhi në mendje se e kam ekzekutuar këtë program në një emulator , që e kam shkruar në Lua për iPad.
Pra, mirë, le të mendojmë për këtë.
- iPad ka çipin , me tre bërthama që punojnë në një frekuencë të rreth një gigaherce.
- Lua është shkruar në C dhe kompilohet për A8X.
- Emulatori im PDP8 është shkruar në gjuhën Lua, duke përdorur paketën nga seksioni Two Lives Left.
- FOCAL u shkrua në fund të viteve '60 në PDP8.
- Lunar Lander u shkrua në FOCAL.
Pra, ky është A8X, C, Lua, PDP8 dhe FOCAL. Këto janë pesë gjuhë të ndryshme. Pesë mekanizma të ndryshme që i tregojnë makinës se çfarë të bëjë; të gjitha janë mbivendosur njëra-tjetrës!
Çfarë është kjo? Pse ka kaq shumë gjuhë? Në të vërtetë, harro çdo gjë për iPad, PDP-8, C, Lua e gjithçka tjetër. Pse ka kaq shumë gjuhë?
##Почему существует так много языков?
Mendo për këtë! Sa gjuhë programimi mund të emërton? Ja, le të të jap një listë të vogël:
- 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
Sigurisht, mund të mendosh për të tjerë që nuk i përmenda. Pyetja është, pse ka kaq shumë? Për këtë pyetje me të vërtetë mund të ketë vetëm një përgjigje. Arsyeja pse ka kaq shumë gjuhë kompjuterike:
Na pëlqejnë.
Mirë, ndoshta ky është një deklaratë shumë e fortë. Ndoshta duhet të them:
Ishim në Hollywood.
Ishim në Redwood.
Kaluam oqeanin për kodin e artë.
Ishim në mendjen tonë,
Është një vijë kaq e hollë.
Na bën të kërkojmë kodin e artë.Dhe ne po plakemi.
Mirë, ndoshta duhet të flas për veten... A nuk do të doje të qeshje me Neil Young-un që të ndalonte së ankuari, të gjehte ndonjë vajzë të bukur dhe të jetonte me të? A nuk do të doje t'i thoje atij se kërkimi për zemrën e artë ishte i kotë? Thuaj, çfarë do të bënte ai me të, po ta gjente atë?
Dhe çfarë do të bënim me gjuhën perfekte, po ta gjenim atë?
Krijuam emulatorë PDP-8 dhe FOCAL për të luajtur «Lunar Lander», shkruar nga një nxënës i shkollës së mesme në vitin 1969!
Këtu është ajo që mendoj.
Pranoje këtë. Ndalo kërkimin. Nuk ka një gjuhë perfekte. Kemi kërkuar kudo. Kemi parë lart dhe poshtë. Kemi parë brenda dhe jashtë.
Kemi parë gjuhët nga të dyja anët.
Nga brenda dhe jashtë
dhe akoma në një mënyrë apo tjetër.
Duke pranuar se këto janë iluzionet e gjuhëve.Me të vërtetë nuk kuptojmë asgjë për gjuhët…
…fare.
Po, sot është një ditë e pazakontë.
Por, megjithatë, thelbi është:
Nuk na duhen gjuhë të tjera.
Nuk na duhet të dimë rrugën për në shtëpi.
Gjithçka që duam është të dalim përtej jetës.
S.Q.L.
Po, ditë e çuditshme.
Pra, ka një mendim. Ndoshta duhet të ndalojmë së krijuari gjuhë të reja dhe thjesht të qetësohemi dhe të zgjedhim një apo dy që janë të vërteta të mira. Kjo do ta bënte jetën shumë më të lehtë, apo jo?
Dhe, nëse je kurioz, 76.43844461 të jep një ulje mjaft të mirë në 2.23 MPH.
Burimi: habr.com
