Cov txheej txheem lus

Hlo Habr!

Kuv coj tuaj rau koj mloog ib qho kev txhais lus ntawm kab lus "Lus TxheejΒ» los ntawm Robert C. Martin (txiv ntxawm Bob).

Cov txheej txheem lus
Kuv siv kuv lub sijhawm ua si qub hu ua Lunar Lander txij xyoo 1969. Nws tau sau los ntawm Jim Storer, tus tub ntxhais kawm theem siab. Nws sau nws ntawm PDP-8 hauv FOCAL. Nov yog qhov program zoo li:

Cov txheej txheem lus

Thiab ntawm no yog qhov chaws rau FOCAL:

Cov txheej txheem lus

Jim Storer yog ib tug tub kawm ntawv theem siab uas muaj txuj ci ncaj ncees. Ua tib zoo saib ntawm no code. Nws tau txais qee qhov kev nthuav qhia Taylor zoo nkauj nyob ntawd.

Yeej, kuv ua qhov kev tshawb nrhiav binary los txiav txim siab tus nqi ntawm K uas, thaum siv tas li, yuav tsaws lub nkoj zoo kawg nkaus. Yog li kuv tau hloov kho qhov kev pab cuam kom nws tsuas yog txais ib qho nqi thiab tom qab ntawd siv nws ntau zaus kom txog thaum lub nkoj tsaws lossis poob. Raws li kuv sau no kuv paub cov lus teb nyob nruab nrab ntawm 76.40625 thiab 76.4453125 thiab kuv mam li sim 76.4257813. Kuv tab tom pib xav tias kuv yuav dhau sijhawm ua ntej kuv pom cov lus teb.

Lub caij no, nws tshwm sim rau kuv tias kuv tau khiav qhov kev pab cuam ntawm lub emulator PDP-8, leej twg sau hauv Lua rau lub iPad.

Yog li, ua li cas, cia peb xav txog qhov no.

  • iPad muaj ib tug chip A8X, nrog peb cores khiav ntawm gigahertz los yog li ntawd.
  • Lua sau hauv C thiab compiles rau A8X.
  • Kuv PDP8 emulator yog sau rau hauv Lua siv lub pob CODEA los ntawm Ob Lub Neej Sab laug.
  • FOCAL tau sau nyob rau xyoo 1960s ntawm PDP8.
  • Lunar Lander tau sau hauv FOCAL.

Yog li cov no yog A8X, C, Lua, PDP8 thiab FOCAL. Cov no yog tsib yam lus sib txawv. Tsib txawv mechanisms qhia lub tshuab yuav ua li cas; lawv sawv daws sib sau ua ke!

Nws yog dab tsi? Vim li cas thiaj muaj ntau yam lus? Qhov tseeb, tsis nco qab txog iPad, PDP-8, C, Lua thiab lwm yam. Vim li cas thiaj muaj ntau yam lus?

##Vim li cas thiaj muaj ntau yam lus?

Xav txog nws! Muaj pes tsawg lub programming lus koj tuaj yeem sau npe? Ntawm no, cia kuv muab cov npe me me rau koj:

  • FORTRAN
  • Tej yam
  • COBOL
  • SNOBOL
  • LISP
  • BCPL
  • B
  • C
  • SIMULA
  • SMALLTALK
  • EIFFEL
  • C ++
  • JAVA
  • C#
  • PYTHON
  • ROJ
  • LOGO
  • LUA
  • THEEM PIB
  • PL/1
  • JAVASCRIPT
  • GO
  • DART
  • PROLOG
  • FORTH
  • SWIFT
  • ML
  • OCCAM
  • OCAML
  • ADA
  • ERLANG
  • ELIXIR
  • FOCAL

Koj tuaj yeem xav txog lwm tus uas kuv tsis tau hais. Lo lus nug yog, vim li cas thiaj muaj ntau? Muaj tiag tiag tsuas yog ib lo lus teb rau lo lus nug no. Yog vim li cas thiaj muaj ntau yam lus hauv computer:

Peb tsis nyiam lawv.

Zoo, tej zaum qhov ntawd yog ib nqe lus muaj zog heev. Tej zaum kuv yuav tsum hais tias:

Peb nyob hauv Hollywood.
Peb nyob hauv Redwood.
Peb hla dej hiav txwv rau tus lej golden.
Peb tawm ntawm peb lub siab
Nws yog ib txoj kab zoo li no.
Qhov no ua rau peb saib rau tus lej golden.

Thiab peb laus lawm.

Okay, tej zaum kuv yuav tsum hais lus rau kuv tus kheej... Koj tsis yog xav qw rau Neil Young kom tsis txhob yws thiab nrhiav ib tus ntxhais zoo thiab nrog nws nyob? Koj tsis xav qhia nws tias kev tshawb nrhiav lub plawv kub tsis muaj dab tsi? Qhia rau kuv, nws yuav ua li cas nrog nws yog tias nws pom nws?

Thiab peb yuav ua li cas nrog cov lus zoo yog tias peb pom nws?

Peb tsim PDP-8 thiab FOCAL emulators los ua si "Lunar Lander", sau los ntawm cov tub ntxhais kawm theem siab hauv xyoo 1969!

Qhov ntawd yog qhov kuv xav.

Deal nrog nws. Txhob nrhiav. Tsis muaj lus zoo. Peb saib txhua qhov chaw. Peb ntsia saum toj thiab hauv qab. Peb ntsia hauv thiab tawm.

Peb saib cov lus ntawm ob sab.
Sab hauv thiab tawm
thiab tseem ua, ib txoj kev los yog lwm qhov.
Cia peb nco ntsoov tias cov no yog cov lus illusions.

Peb yeej tsis to taub dab tsi txog cov lus...
… txhua.

Yog lawm, hnub no yog ib hnub txawv txawv.

Txawm li cas los xij, lub ntsiab lus yog:

Peb tsis xav tau lwm hom lus.
Peb tsis tas yuav paub txoj kev mus tsev.
Txhua yam peb xav tau yog mus dhau lub neej.
SQL ntawv

Yog, hnub txawv.

Yog li ntawm no yog ib qho kev xav. Tej zaum peb yuav tsum tsis txhob tsim cov lus tshiab thiab cia li tso siab rau thiab xaiv ib lossis ob qho uas zoo tiag tiag. Qhov no yuav ua rau lub neej yooj yim dua, puas yog?

Thiab, yog tias koj xav tsis thoob, 76.43844461 tau txais koj zoo nkauj 2.23 MPH tsaws.

Tau qhov twg los: www.hab.com

Ntxiv ib saib