Taallae

Haai Habr!

Ek bring onder u aandag 'n vertaling van die artikel "Taallae» deur Robert C. Martin (oom Bob).

Taallae
Ek spandeer my tyd om 'n ou speletjie genaamd Lunar Lander van 1969 te speel. Dit is geskryf deur Jim Storer, 'n hoërskoolleerling. Hy het dit op 'n PDP-8 in FOCAL geskryf. Dit is hoe die program lyk:

Taallae

En hier is die bronkode vir FOCAL:

Taallae

Jim Storer was 'n taamlik talentvolle hoërskoolleerling. Kyk na hierdie kode. Hy het 'n paar baie interessante Taylor-uitdrukkings daar.

Basies doen ek 'n binêre soektog om die waarde van K te bepaal wat, wanneer dit konsekwent gebruik word, die skip perfek sal land. Ek het dus die program gewysig sodat dit net een waarde sou aanvaar en dit dan verskeie kere toepas totdat die skip geland of neergestort het. Terwyl ek dit skryf weet ek die antwoord lê tussen 76.40625 en 76.4453125 en ek sal 76.4257813 probeer. Ek begin dink ek gaan uit tyd raak voor ek die antwoord kry.

Intussen het dit by my opgekom dat ek hierdie program op 'n emulator laat loop het PDP-8, wat in Lua vir die iPad geskryf het.

So, goed, kom ons dink hieroor.

  • iPad het 'n skyfie A8X, met drie kerns wat teen gigahertz of so loop.
  • Lua is in C geskryf en saamgestel na A8X.
  • My PDP8-emulator is in Lua geskryf deur die pakket te gebruik KODEA uit die Twee Lewens Left-afdeling.
  • FOCAL is in die laat 1960's op 'n PDP8 geskryf.
  • Lunar Lander is in FOCAL geskryf.

Dit is dus A8X, C, Lua, PDP8 en FOCAL. Dit is vyf verskillende tale. Vyf verskillende meganismes wat die masjien vertel wat om te doen; hulle is almal op mekaar gestapel!

Wat dit is? Hoekom is daar so baie tale? Om die waarheid te sê, vergeet van iPad, PDP-8, C, Lua en alles anders. Hoekom is daar so baie tale?

##Hoekom is daar so baie tale?

Dink daaroor! Hoeveel programmeertale kan jy noem? Hier, laat ek jou 'n klein lysie gee:

  • FORTRAN
  • Algol
  • COBOL
  • SNOBOL
  • LISP
  • BCPL
  • B
  • C
  • SIMULA
  • SMALLTALK
  • EIFFEL
  • C + +
  • JAVA
  • C#
  • PYTON
  • Robyn
  • LOGO
  • MAAN
  • Basiese
  • PL/1
  • JAVASKRIPT
  • GO
  • DART
  • PROLOG
  • VORENTOE
  • SWIFT
  • ML
  • OCCAM
  • OCAML
  • ADA
  • ERLANG
  • ELIXIR
  • FOKUS

Jy kan natuurlik dink aan ander wat ek nie genoem het nie. Die vraag is, hoekom is daar so baie van hulle? Daar kan eintlik net een antwoord op hierdie vraag wees. Die rede waarom daar soveel rekenaartale is:

Ons hou nie van hulle nie.

Wel, miskien is dit 'n te sterk stelling. Miskien moet ek sê:

Ons was in Hollywood.
Ons was in Redwood.
Ons het die see oorgesteek vir die goue kode.
Ons was uit ons kop
Dit is so 'n fyn lyn.
Dit laat ons soek na die goue kode.

En ons word oud.

Goed, miskien moet ek vir myself praat... Wil jy nie net vir Neil Young skree om op te hou kla en een of ander oulike meisie te kry en by haar te bly nie? Wou jy nie vir hom sê dat die soektog na 'n hart van goud tevergeefs was nie? Sê vir my, wat sal hy daarmee doen as hy dit kry?

En wat sou ons met 'n ideale taal maak as ons dit vind?

Ons het PDP-8- en FOCAL-emulators geskep om "Lunar Lander" te speel, geskryf deur 'n hoërskoolleerling in 1969!

Dis wat ek dink.

Hanteer dit. Hou op soek. Daar is geen perfekte taal nie. Ons het oral gekyk. Ons het van bo en onder gekyk. Ons het in en uit gekyk.

Ons het van albei kante na die tale gekyk.
Binne en buite
en nog steeds doen, op een of ander manier.
Laat ons onthou dat dit linguistiese illusies is.

Ons verstaan ​​regtig niks van tale nie...
… enigsins.

Ja, vandag is 'n ongewone dag.

Maar nietemin, die punt is:

Ons het nie 'n ander taal nodig nie.
Ons hoef nie die pad huis toe te ken nie.
Al wat ons wil hê, is om verby die lewe te gaan.
SQL

Ja, vreemde dag.

So hier is een gedagte. Miskien moet ons ophou om nuwe tale te skep en net kalmeer en een of twee kies wat regtig goed is. Dit sal die lewe baie makliker maak, nie waar nie?

En as jy gewonder het, 76.43844461 gee jou 'n redelik goeie 2.23 MPH-landing.

Bron: will.com

Voeg 'n opmerking