Kouch langaj

Hey Habr!

Mwen pote atansyon ou yon tradiksyon atik la "Kouch Lang» pa Robert C. Martin (Tonton Bob).

Kouch langaj
Mwen pase tan m ap jwe yon ansyen jwèt ki rele Lunar Lander depi 1969. Li te ekri pa Jim Storer, yon elèv lekòl segondè. Li te ekri li sou yon PDP-8 nan FOCAL. Men sa pwogram nan sanble:

Kouch langaj

Ak isit la se kòd sous la pou FOCAL:

Kouch langaj

Jim Storer se te yon elèv lekòl segondè ki gen anpil talan. Gade kòd sa a. Li te gen kèk ekspresyon Taylor trè enteresan la.

Fondamantalman, mwen fè yon rechèch binè detèmine valè K ki, lè yo itilize toujou, pral ateri bato a parfe. Se konsa, mwen modifye pwogram nan pou ke li ta sèlman aksepte yon valè ak Lè sa a, aplike li plizyè fwa jiskaske bato a ateri oswa fè aksidan. Pandan m ap ekri sa a mwen konnen repons lan se ant 76.40625 ak 76.4453125 epi mwen pral eseye 76.4257813. Mwen kòmanse panse mwen pral kouri soti nan tan anvan mwen jwenn repons lan.

Pandan se tan, li te rive m 'ke mwen te kouri pwogram sa a sou yon Emulation PDP-8, ki moun ki te ekri nan Lua pou iPad a.

Se konsa, ok, ann reflechi sou sa a.

  • iPad gen yon chip A8X, ak twa nwayo kouri nan gigahertz oswa konsa.
  • Lua ekri nan C ak konpile nan A8X.
  • Emulation PDP8 mwen an ekri nan Lua lè l sèvi avèk pake a KÒD soti nan seksyon Two Lives Left.
  • FOCAL te ekri nan fen ane 1960 yo sou yon PDP8.
  • Lunar Lander te ekri nan FOCAL.

Se konsa, sa yo se A8X, C, Lua, PDP8 ak FOCAL. Sa yo se senk lang diferan. Senk mekanis diferan di machin nan sa pou l fè; yo tout anpile youn sou lòt!

Ki sa li ye? Poukisa gen anpil lang? An reyalite, bliye sou iPad, PDP-8, C, Lua ak tout lòt bagay. Poukisa gen anpil lang?

##Poukisa genyen anpil lang?

Panse osijè de sa! Konbyen lang pwogramasyon ou ka nonmen? Isit la, kite m 'ba ou yon ti lis:

  • FORTRAN
  • YON BAGAY
  • COBOL
  • SNOBOL
  • LISP
  • BCPL
  • B
  • C
  • SIMIL
  • TI PAWÒL
  • EIFFEL
  • C ++
  • Java
  • C#
  • PITON
  • RUBY
  • ANBLÈM
  • LUA
  • BASIC
  • PL/1
  • JAVASCRIPT
  • GO
  • DART
  • PWOLOG
  • SOTI
  • Swift
  • ML
  • OCCAM
  • OCAML
  • Lwa ADA-
  • ERLANG
  • ELAKSIR
  • FOKAL

Ou ka panse ak lòt moun ke mwen pa mansyone. Kesyon an se, poukisa gen anpil nan yo? Ka vrèman sèlman yon repons pou kesyon sa a. Rezon ki fè gen anpil lang òdinatè:

Nou pa renmen yo.

Oke, petèt sa a se yon deklarasyon ki twò fò. Petèt mwen ta dwe di:

Nou te nan Hollywood.
Nou te nan Redwood.
Nou travèse lanmè a pou kòd an lò.
Nou te soti nan tèt nou
Li se tankou yon liy byen.
Sa fè nou chèche kòd an lò.

Epi nou vin granmoun.

Oke, petèt mwen ta dwe pale pou tèt mwen... Eske ou pa vle jis rele Neil Young pou sispann plenyen epi jwenn kèk bèl ti fi epi viv avèk li? Èske w pa t vle di l ke rechèch pou yon kè an lò te initil? Di m, kisa li ta fè ak li si li jwenn li?

Ak kisa nou ta fè ak yon lang ideyal si nou jwenn li?

Nou te kreye emulateur PDP-8 ak FOCAL pou jwe "Lunar Lander", yon elèv lekòl segondè te ekri an 1969!

Se sa mwen panse.

Fè fas ak li. Sispann chache. Pa gen okenn lang pafè. Nou gade tout kote. Nou gade soti anwo ak anba. Nou gade anndan ak deyò.

Nou te gade lang yo tou de bò.
Anndan ak deyò
epi toujou fè, yon fason oswa yon lòt.
Ann sonje ke sa yo se ilizyon lengwistik.

Nou vrèman pa konprann anyen nan lang...
… ditou.

Wi, jodi a se yon jou ki pa nòmal.

Men, sepandan, pwen an se:

Nou pa bezwen yon lòt lang.
Nou pa bezwen konnen wout lakay nou.
Tout sa nou vle se ale pi lwen pase lavi.
S.Q.L.

Wi, etranj jou.

Se konsa, isit la nan yon sèl panse. Petèt nou bezwen sispann kreye nouvo lang epi jis kalme epi chwazi youn oswa de ki vrèman bon. Sa a pral fè lavi a pi fasil, pa vre?

Epi, nan ka ou t ap mande, 76.43844461 jwenn ou yon trè bon aterisaj 2.23 MPH.

Sous: www.habr.com

Add nouvo kòmantè