Alan Kay, kreyatè OOP, sou devlopman, Lisp ak OOP

Alan Kay, kreyatè OOP, sou devlopman, Lisp ak OOP

Si ou pa janm tande pale de Alan Kay, ou te omwen tande sitasyon pi popilè l 'yo. Pou egzanp, sitasyon sa a soti nan 1971:

Pi bon fason pou predi tan kap vini an se envante li.
Pi bon fason pou predi tan kap vini an se envante li.

Alan gen yon karyè trè kolore nan syans enfòmatik. Li te resevwa Pri Kyoto и Prim Turing pou travay li sou paradigm pwogram oryante objè a. Li te youn nan pyonye yo nan domèn òdinatè pèsonèl ak koòdone grafik, li devlope Ti pawòl se youn nan premye lang pwogramasyon ki pi enfliyan nan tout tan.

Nan nou Hexlete, espesyalman nan diskite, kesyon "ki sa ki OOP" ak "ki sa Alan Kay reyèlman vle di" yo toujou ap leve. Pòs sa a gen sitasyon enteresan ki soti nan Alan sou eta a nan devlopman modèn, OOP ak lang nan Lisp.

Konsènan devlopman lojisyèl

Alan Kay kwè ke revolisyon òdinatè a poko vini (Vrè Revolisyon Odinatè a Poko Rive), ak devlopman lojisyèl devlope nan pwopòsyon envès ak Lwa Moore: pyès ki nan konpitè amelyore chak ane, men lojisyèl vin gonfleman san nesesite:

pwoblèm nan fèb, lide ak zouti mal évolutive, parès, mank de konesans, elatriye.

Dekri sitiyasyon sa a byen kout blag:

Sa Andy bay, Bill pran
Andy te bay, Bill te pran

Andy Grove, CEO nan Intel, ak Bill Gates, Lè sa a, CEO nan Microsoft.

Amelyore eta aktyèl devlopman se te objektif pwojè rechèch la ETAP nan direksyon re-envansyon nan pwogramasyon (pdf). Objektif la se reyalize "Lwa Moore" nan ekspresyon pa "diminye kantite kòd obligatwa pa 100, 1000, 10000 fwa oswa plis."

Nan rapò li louvri je Pwogramasyon ak Echèl (videyo) Sijè sa a diskite an plis detay. Dapre Alan, jeni lojisyèl te bloke epi li ap vin tounen yon syans bliye ki pa ka kenbe ak pyès ki nan konpitè ak lòt syans ak disiplin jeni. Gwo pwojè yo te vin depotwa kòd epi yo te rive nan yon pwen kote pèsonn pa kapab konprann 100 milyon liy MS Vista oswa MS Word kòd. Men, an reyalite, ta dwe gen yon lòd nan grandè mwens kòd nan pwojè sa yo.

Alan konsidere entènèt la, pwotokòl TCP/IP, entèprèt LISP, Nil (Math DSL pou grafik vektè) ak OMeta (OO PEG) (PDF) egzanp lojisyèl elegant ak kòd minim.

Li rele Entènèt (TCP/IP) youn nan kèk pwojè lojisyèl gwo-echèl ki te fèt kòrèkteman, ak nivo konpleksite li an balans ak nivo konpleksite (konplikasyon kont konpleksite). Avèk mwens pase 20 liy kòd, pwojè a opere kòm yon sistèm vivan, dinamik ki kapab sipòte dè milya de nœuds, epi li pa janm ale offline depi premye lansman li an septanm 1969. Nou senpleman sispann konsidere entènèt la kòm yon pwojè lojisyèl nòmal kreye pa moun:

Entènèt la tèlman byen devlope ke anpil moun trete l tankou yon resous natirèl, tankou Oseyan Pasifik la, olye ke yon pwodwi nan travay imen. Ki dènye fwa nou te wè teknoloji ki estab, klè, san erè konsa? Nan konparezon, entènèt la se istwa san sans. Entènèt la te kreye pa amatè.

Konsènan pwogram oryante objè

Premye bagay ki te enterese m se li orijinal OOP vizyon. Eksperyans li nan mikrobyoloji te jwe yon wòl enpòtan:

Mwen te panse de objè yo tankou selil byolojik, ak / oswa òdinatè endividyèl sou yon rezo ki te kapab sèlman kominike atravè mesaj.

ak eksperyans nan matematik:

Eksperyans mwen nan matematik te fè m reyalize ke chak objè ka gen plizyè aljèb, yo ka konbine yo an fanmi, e sa ka trè itil.

Lide pou Liaison an reta ak pwisan meta-karakteristik nan LISPa:

Dezyèm faz la se konpreyansyon LISPa epi sèvi ak konpreyansyon sa a pou kreye estrikti ki pi fasil, ki pi piti, ki pi pwisan epi ki pi ta konekte.

E byento Alan te kòmanse sipòte lide ke lang dinamik yo ye avni devlopman lojisyèl (pdf). An patikilye, fasilite chanjman enpòtan pou li:

Liaison an reta pèmèt lide ki te vini pita nan pwosesis devlopman yo dwe enkòpore nan pwojè a ak mwens efò (konpare ak pi bonè sistèm mare tankou C, C++, Java, elatriye)

Ak potansyèl pou chanjman sou vole ak iterasyon pi vit:

Youn nan lide kle yo se ke sistèm nan ta dwe kontinye opere pandan tès la, espesyalman pandan y ap fè chanjman. Menm gwo chanjman yo ta dwe gradyèl epi yo pa pran plis pase yon dezyèm fwa.

ki manke nan lang tape estatik:

Si w sèvi ak lang byen bonè, jan pifò moun fè sa, lè sa a ou fèmen tèt ou nan sa ou te deja ekri. Li p ap posib ankò pou reformulé li fasil.

Etonan, panse li sou OOP te limite a sa a:

OOP pou mwen se mesaj, kenbe lokal ak pwoteje, kache eta ak reta obligatwa nan tout bagay. Sa ka fèt nan Smalltalk ak nan LISP.

E pa gen anyen sou eritaj. Sa a se pa OOP la ke nou konnen jodi a:

Mwen swete mwen te itilize tèm "objè" pou sijè sa a depi lontan paske li lakòz anpil moun konsantre sou pi piti nan lide yo.

Gwo lide ke lang modèn OO tape estatikman manke:

Gwo lide a se "mesaj"

Li kwè nan konsantre sou mesaj, kouple ki lach, ak entèraksyon modil olye ke sou entèn yo nan yon objè:

Kle a pou kreye bon sistèm évolutive se travay sou mekanis kominikasyon ant modil yo, epi yo pa travay sou pwopriyete entèn yo ak konpòtman yo.

Lang tape estatikman sanble li defo:

Mwen pa kont kalite, men mwen pa konnen nenpòt sistèm tip ki pa lakòz doulè. Se konsa, mwen toujou renmen sezisman dinamik.

Gen kèk lang popilè jodi a sèvi ak mesaj Smalltalk la pase lide, an reta obligatwa, ak pa KonprannforwardInvocation в Objektif-Cmethod_missing в Ruby и noSuchMethod nan Google Flèch.

Detwi tout bagay epi kreye yon bagay pi bon

Alan gen yon teyori enteresan sou devlopman syans enfòmatik:

Li sanble pou mwen ke gen yon sèl kalite syans enfòmatik, e ke syans se tankou bati pon. Yon moun bati pon, epi yon moun detwi yo epi kreye nouvo teyori. E nou bezwen kontinye bati pon.

Konsènan LISP

Alan Kay kwè Lisp

pi bon langaj pwogramasyon tout tan

Epi ke chak gradye syans enfòmatik ta dwe etidye li:

Pifò moun ki pouswiv degre nan CS pa konprann enpòtans ki genyen nan Lisp. Lisp se lide ki pi enpòtan nan syans enfòmatik.

Sou bon atmosfè a ak kontèks

Li souvan sonje atmosfè inik nan Fotokopye PARC и arpa, kote "vizyon pi enpòtan pase objektif" ak "finanse moun, pa pwojè."

Pwen de vi vo 80 pwen IQ.

Alan Kay di:

Istwa ARPA/PARC la montre kijan yon konbinezon vizyon, modès finansman, bon kontèks ak pwosesis ka majik nesans nouvo teknoloji ki non sèlman afekte sivilizasyon, men tou kreye gwo valè pou sosyete a.

Epi se vre. Gade enpresyonan lis envansyon PARC la, anpil nan yo te jwe yon wòl trè enpòtan nan devlopman nan mond nou an. Pa egzanp:

  • Enprimant lazè
  • Programmasyon oryante objè / Smalltalk
  • Òdinatè pèsonèl
  • Ethernet / distribye informatique
  • GUI / sourit òdinatè / WYSIWYG

Ak nan arpa kreye Arpanet, ki te vin zansèt entènèt la.

PS Alan Kay reponn kesyon kominote Hacker News la.

Sous: www.habr.com

Add nouvo kòmantè