Mga lut-od sa pinulongan

Hoy Habr!

Gidala ko sa imong pagtagad ang usa ka hubad sa artikulo "Mga Patong sa PinulonganΒ» ni Robert C. Martin (Tiyo Bob).

Mga lut-od sa pinulongan
Gigugol nako ang akong oras sa pagdula sa usa ka karaan nga dula nga gitawag og Lunar Lander gikan sa 1969. Gisulat kini ni Jim Storer, usa ka estudyante sa hayskul. Gisulat niya kini sa usa ka PDP-8 sa FOCAL. Kini ang hitsura sa programa:

Mga lut-od sa pinulongan

Ug ania ang source code para sa FOCAL:

Mga lut-od sa pinulongan

Si Jim Storer usa ka medyo talento nga estudyante sa high school. Tan-awa kini nga code. Naa siyay pipila ka makaiikag nga mga ekspresyon ni Taylor didto.

Sa panguna, naghimo ako usa ka binary nga pagpangita aron mahibal-an ang kantidad sa K nga, kung gigamit kanunay, hingpit nga maabut ang barko. Mao nga giusab nako ang programa aron kini makadawat lamang sa usa ka kantidad ug dayon magamit kini sa daghang mga higayon hangtod nga ang barko mitugpa o nahagsa. Sa akong pagsulat niini nahibal-an nako nga ang tubag anaa sa taliwala sa 76.40625 ug 76.4453125 ug akong sulayan ang 76.4257813. Nagsugod ko sa paghunahuna nga mahurot na ako sa oras sa dili pa nako makit-an ang tubag.

Samtang, nahinabo kanako nga gipadagan nako kini nga programa sa usa ka emulator PDP-8, nga nagsulat sa Lua para sa iPad.

Busa, okay, atong hunahunaon kini.

  • Ang iPad adunay chip A8X, nga adunay tulo ka mga core nga nagdagan sa gigahertz o labaw pa.
  • Ang Lua gisulat sa C ug gi-compile sa A8X.
  • Ang akong PDP8 emulator gisulat sa Lua gamit ang package CODEA gikan sa Duha ka Kinabuhi nga Wala nga seksyon.
  • Ang FOCAL gisulat sa ulahing bahin sa dekada 1960 sa usa ka PDP8.
  • Ang Lunar Lander gisulat sa FOCAL.

Mao nga kini ang A8X, C, Lua, PDP8 ug FOCAL. Kini mao ang lima ka lain-laing mga pinulongan. Lima ka lainlaing mekanismo nga nagsulti sa makina kung unsa ang buhaton; silang tanan gipatong sa ibabaw sa usag usa!

Unsa ni? Ngano nga adunay daghan kaayo nga mga pinulongan? Sa tinuud, kalimti ang bahin sa iPad, PDP-8, C, Lua ug uban pa. Ngano nga adunay daghan kaayo nga mga pinulongan?

##Nganong adunay daghan kaayong mga pinulongan?

Hunahunaa kini! Pila ka mga programming language ang mahimo nimong hinganlan? Dinhi, hatagan ko ikaw usa ka gamay nga lista:

  • FORTRAN
  • USA KA BUTANG
  • COBOL
  • SNOBOL
  • LISP
  • BCPL
  • B
  • C
  • SIMULA
  • SMALLTALK
  • EIFFEL
  • C ++
  • JAVA
  • C#
  • PYTHON
  • RUBY
  • LOGO
  • Lua
  • BATAKANG
  • PL/1
  • JAVASCRIPT
  • GO
  • IGPALANTIG
  • PROLOGUE
  • PANGUTANA
  • SWIFT
  • ML
  • OCCAM
  • OCAML
  • ADA
  • ERLANG
  • ELIXIR
  • POKAL

Makahunahuna ka sa uban nga wala nako gihisgutan. Ang pangutana, nganong daghan man sila? Adunay usa ra gyud ka tubag niini nga pangutana. Ang hinungdan ngano nga adunay daghang mga pinulongan sa kompyuter:

Dili mi ganahan nila.

Aw, tingali kusog kaayo kana nga pahayag. Tingali kinahanglan kong moingon:

Naa mi sa Hollywood.
Didto mi sa Redwood.
Mitabok kami sa dagat alang sa bulawan nga kodigo.
Wala mi sa among huna-huna
Nindot kaayo ni nga linya.
Kini naghimo kanato nga mangita sa bulawan nga kodigo.

Ug nagkatigulang na kami.

Okay, tingali ako kinahanglan nga mosulti alang sa akong kaugalingon ... Dili ba gusto lang nimo nga singgitan si Neil Young nga mohunong sa pagreklamo ug pagpangita og usa ka buotan nga babaye ug makigpuyo uban kaniya? Dili ba nimo gusto nga isulti kaniya nga ang pagpangita alang sa usa ka kasingkasing nga bulawan wala’y kapuslanan? Sultihi ko, unsa ang iyang buhaton niini kung makit-an niya kini?

Ug unsa ang atong buhaton sa usa ka sulundon nga pinulongan kung atong makit-an kini?

Naghimo kami og PDP-8 ug FOCAL emulators aron magdula og "Lunar Lander", nga gisulat sa usa ka estudyante sa high school niadtong 1969!

Mao na akong hunahuna.

Pag-atubang niini. Hunonga ang pagpangita. Walay hingpit nga pinulongan. Nangita mi bisan asa. Nagtan-aw kami gikan sa ibabaw ug sa ubos. Nangita mi ug gawas.

Gitan-aw namo ang mga pinulongan gikan sa duha ka kilid.
Sulod ug gawas
ug sa gihapon, sa usa ka paagi o sa lain.
Atong hinumdoman nga kini mga ilusyon sa pinulongan.

Wala gyud mi makasabot sa mga pinulongan...
… sa tanan.

Oo, talagsaon nga adlaw karon.

Apan bisan pa niana, ang punto mao:

Wala kami magkinahanglan og laing pinulongan.
Dili kinahanglan nga mahibal-an namon ang dalan pauli.
Ang gusto lang nato kay lapas pa sa kinabuhi.
SQL

Oo, talagsaon nga adlaw.

Busa ania ang usa ka hunahuna. Tingali kinahanglan natong hunongon ang paghimo og bag-ong mga pinulongan ug kalma lang ug pagpili og usa o duha nga maayo kaayo. Kini makapasayon ​​sa kinabuhi, dili ba?

Ug, kung nahibulong ka, ang 76.43844461 makahatag kanimo usa ka maayo kaayo nga 2.23 MPH landing.

Source: www.habr.com

Idugang sa usa ka comment