Shtresat gjuhësore

Përshëndetje, Habr!

Ju ofroj vëmendjen tuaj përkthimin e artikullit "Language Layers" nga Robert C. Martin (Uncle Bob).

Shtresat gjuhësore
Po kaloj kohën time duke luajtur një lojë të vjetër "Lunar Lander" nga viti 1969. Ajo u shkrua 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:

Shtresat gjuhësore

Dhe ja kodin burimor në FOCAL:

Shtresat gjuhësore

Jim Storer ishte një nxënës i shkollës së mesme shumë i talentuar. Shiko këtë kod. Ka disa shprehje interesantë të Taylor.

Prandaj, po kryej një kërkim binar për të përcaktuar vlerën e K, e cila do ta ulte anijen shkëlqyer. Prandaj e kam ndryshuar programin, kështu që ai pranon vetëm një vlerë dhe më pas e aplikon atë disa herë derisa anija të ulet ose të përplaset. Ndërsa po shkruaj këtë, e di se përgjigjja ndodhet midis 76.40625 dhe 76.4453125, dhe do të provoj 76.4257813. Po filloj të mendoj se do të më përfundon koha para se të gjej përgjigjen.

Ndërkohë, më erdhi në mendje se kam drejtuar këtë program në emulatorin PDP-8, që e kam shkruar në Lua për iPad.

Pra, le të mendojmë për këtë.

  • iPad ka një çip A8X, me tre bërthama që punojnë në një frekuencë gigahertz ose diçka e tillë.
  • Lua është shkruar në C dhe kompilohet në A8X.
  • Emulatori im PDP8 është shkruar në gjuhën Lua, duke përdorur paketën CODEA nga seksioni Two Lives Left.
  • FOCAL u shkrua në fund të viteve 1960 në PDP8.
  • Lunar Lander u shkrua në FOCAL.

Pra, këtu kemi A8X, C, Lua, PDP8 dhe FOCAL. Këto janë pesë gjuhë të ndryshme. Pesë mekanizma të ndryshëm që i tregojnë makinës se çfarë të bëjë; të gjitha janë mbivendosur njëri mbi tjetrin!

Çfarë është kjo? Pse ka kaq shumë gjuhë? Në të vërtetë, harro për iPad, PDP-8, C, Lua dhe gjithçka tjetër. Pse ka kaq shumë gjuhë?

##Почему существует так много языков?

Mendo për këtë! Sa gjuhë programimi mund të emërtosh? 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ë? Në të vërtetë, ka vetëm një përgjigje për këtë pyetje. Arsyeja pse ka kaq shumë gjuhë kompjuterike:

Ne nuk na pëlqejnë ato.

Mirë, ndoshta kjo është një deklaratë shumë e fortë. Ndoshta duhet të them:

Ishim në Hollywood.
Ishim në Redwood.
Përshkruam oqeanin për kodin e arit.
Ishim në mendjen tonë,
Kjo është një nuancë shumë e vogël.
Kjo na bën të kërkojmë kodin e artë.

Dhe ne po plaken.

Mirë, ndoshta duhet të flas për veten time... A nuk do te kishe dashur vetëm ta thoshje me zë të lartë Neil Young-ut, për të ndaluar së ankuari, të gjejë ndonjë vajzë të bukur dhe të jetojë me të? A nuk do te kishe dashur t'i thoje atij se kërkimi i zemrës së artë ishte i kota? Thuaj, çfarë do të bënte ai me të, nëse do ta gjente?

Dhe çfarë do të bënim me gjuhën ideale, nëse do ta gjenim?

Ne krijuam emulatorë PDP-8 dhe FOCAL për të luajtur "Lunar Lander", e shkruar nga një nxënës i shkollës së mesme në vitin 1969!

Këtu është çfarë mendoj.

Pranoje këtë. Ndalo kërkimet. Nuk ka asnjë gjuhë ideale. Ne kemi kërkuar kudo. Ne kemi parë lart e poshtë. Ne kemi parë brenda dhe jashtë.

Ne i kemi shqyrtuar gjuhët nga të dyja anët.
Nga brenda dhe jashtë
dhe akoma në njëfarë mënyre.
Po e kujtojmë se këto janë iluzionet e gjuhëve.

Në të vërtetë, ne nuk kuptojmë asgjë për gjuhët...
...fare.

Po, sot është një ditë e pazakontë.

Por, megjithatë, thelbi është:

Ne nuk kemi nevojë për një gjuhë tjetër.
Ne nuk duhet të dimë rrugën drejt shtëpisë.
E gjithë çka duam është të shkojmë përtej jetës.
S.Q.L.

Po, një ditë e çuditshme.

Prandaj, ka një mendim. Ndoshta duhet të ndalojmë së krijuari gjuhë të reja dhe thjesht të qetësohemi e të zgjedhim një apo dy që janë vërtet të mira. Kjo do ta bënte jetën shumë më të thjeshtë, apo jo?

Dhe, nëse ju intereson, 76.43844461 ju jep një ulje të mirë në 2.23 MPH.

Burimi: habr.com

Blini hostim të besueshëm për faqe interneti me mbrojtje DDoS, serverë VPS VDS 🔥 Blini hostim të besueshëm për faqe interneti me mbrojtje DDoS, serverë VPS VDS - ProHoster