Valodas slāņi

Čau Habr!

Es vērÅ”u jÅ«su uzmanÄ«bu uz raksta tulkojumu ā€œValodu slāņiĀ» autors Roberts C. Mārtins (tēvocis Bobs).

Valodas slāņi
Es pavadu savu laiku, spēlējot vecu spēli ar nosaukumu Lunar Lander no 1969. gada. To uzrakstÄ«ja Džims Storers, vidusskolas students. ViņŔ to uzrakstÄ«ja uz PDP-8 FOCAL. Programma izskatās Ŕādi:

Valodas slāņi

Un Ŕeit ir FOCAL pirmkods:

Valodas slāņi

Džims Storers bija diezgan talantÄ«gs vidusskolnieks. Apskatiet Å”o kodu. Viņam ir daži diezgan interesanti Teilora izteicieni.

BÅ«tÄ«bā es veicu bināro meklÄ“Å”anu, lai noteiktu K vērtÄ«bu, kas, konsekventi lietojot, lieliski nosēdinās kuÄ£i. Tāpēc es modificēju programmu, lai tā pieņemtu tikai vienu vērtÄ«bu, un pēc tam to lietotu vairākas reizes, lÄ«dz kuÄ£is nolaidās vai avarēja. Rakstot Å”o, es zinu, ka atbilde ir no 76.40625 lÄ«dz 76.4453125, un es mēģināŔu 76.4257813. Es sāku domāt, ka man pietrÅ«ks laika, pirms atradÄ«Å”u atbildi.

Tikmēr man ienāca prātā, ka es palaidu Å”o programmu emulatorā PDP-8, kurÅ” rakstÄ«ja Lua valodā iPad.

Tātad, labi, padomāsim par Ŕo.

  • iPad ir mikroshēma A8X, ar trim kodoliem, kas darbojas aptuveni gigahercos.
  • Lua ir rakstÄ«ts C valodā un tiek kompilēts uz A8X.
  • Mans PDP8 emulators ir rakstÄ«ts Lua valodā, izmantojot pakotni KODEKS no sadaļas Divas kreisās dzÄ«ves.
  • FOCAL tika uzrakstÄ«ts 1960. gadu beigās uz PDP8.
  • Lunar Lander tika uzrakstÄ«ts FOCAL.

Tātad tie ir A8X, C, Lua, PDP8 un FOCAL. Tās ir piecas dažādas valodas. Pieci dažādi mehānismi, kas norāda maŔīnai, kas jādara; tie visi ir sakrauti viens otram virsū!

Kas tas ir? Kāpēc ir tik daudz valodu? Patiesībā aizmirstiet par iPad, PDP-8, C, Lua un visu pārējo. Kāpēc ir tik daudz valodu?

##Kāpēc ir tik daudz valodu?

Padomā par to! Cik programmÄ“Å”anas valodu varat nosaukt? Ä»aujiet man sniegt jums nelielu sarakstu:

  • FORTRANS
  • ALGOLS
  • COBOL
  • SNOBOLS
  • LISP
  • BCPL
  • B
  • C
  • SIMULA
  • SMALLTALK
  • EIFELS
  • C + +
  • JAVA
  • C#
  • PYTHON
  • RUBY
  • LOGO
  • LLU
  • BASIC
  • PL/1
  • JAVASKRIPTS
  • GO
  • DART
  • PROLOGS
  • FORTH
  • SWIFT
  • ML
  • OCCAM
  • OCAML
  • ADA
  • ERLANGU
  • ELIKSÄŖRS
  • FOKĀLS

JÅ«s, protams, varat domāt par citiem, kurus es neesmu pieminējis. Jautājums ir, kāpēc viņu ir tik daudz? Uz Å”o jautājumu patiesÄ«bā var bÅ«t tikai viena atbilde. Iemesls, kāpēc ir tik daudz datoru valodu:

Mums viņi nepatīk.

Varbūt tas ir pārāk spēcīgs apgalvojums. Varbūt man vajadzētu teikt:

Mēs bijām Holivudā.
Mēs bijām Redvudā.
Šķērsojām okeānu pēc zelta koda.
Mēs bijām bez prāta
Tā ir tik smalka līnija.
Tas liek mums meklēt zelta kodu.

Un mēs kļūstam veci.

Labi, varbÅ«t man vajadzētu runāt par sevi... Vai jÅ«s vienkārÅ”i nevēlaties kliegt uz NÄ«lu Jangu, lai viņŔ beidz sÅ«dzēties un atrod kādu jauku meiteni un dzÄ«vo kopā ar viņu? Vai jÅ«s negribējāt viņam pateikt, ka zelta sirds meklÄ“Å”ana bija veltÄ«ga? Pastāsti man, ko viņŔ ar to darÄ«tu, ja atrastu?

Un ko mēs darītu ar ideālu valodu, ja mēs to atrastu?

Mēs izveidojām PDP-8 un FOCAL emulatorus, lai atskaņotu "Lunar Lander", ko 1969. gadā sarakstÄ«jis vidusskolnieks!

Tā es domāju.

Samierinies ar to. Pārtrauciet meklÄ“Å”anu. Ideālas valodas nav. SkatÄ«jāmies visur. Mēs skatÄ«jāmies no augÅ”as un apakÅ”as. SkatÄ«jāmies iekŔā un ārā.

Mēs apskatījām valodas no abām pusēm.
IekÅ”pusē un ārā
un joprojām dara, tā vai citādi.
Atcerēsimies, ka tās ir lingvistiskas ilūzijas.

Mēs īsti neko nesaprotam no valodām...
ā€¦ pavisam.

Jā, Ŕodien ir neparasta diena.

Tomēr bÅ«tÄ«ba ir Ŕāda:

Mums nevajag citu valodu.
Mums nav jāzina ceļŔ uz mājām.
Viss, ko mēs vēlamies, ir iziet ārpus dzīves.
S.Q.L.

Jā, dīvaina diena.

Tātad, Å”eit ir viena doma. VarbÅ«t mums ir jāpārtrauc jaunu valodu veidoÅ”ana un vienkārÅ”i jānomierinās un jāizvēlas viena vai divas, kas ir patieŔām labas. Tas padarÄ«s dzÄ«vi daudz vieglāku, vai ne?

Un, ja jums radās jautājums, 76.43844461 nodroÅ”ina diezgan labu nosÄ“Å”anos ar ātrumu 2.23 jÅ«dzes stundā.

Avots: www.habr.com

Pievieno komentāru