Alan Kay, Eleda ti OOP, nipa idagbasoke, Lisp ati OOP

Alan Kay, Eleda ti OOP, nipa idagbasoke, Lisp ati OOP

Ti o ko ba ti gbọ ti Alan Kay, o ti gbọ o kere ju awọn agbasọ olokiki rẹ. Fun apẹẹrẹ, agbasọ ọrọ yii lati ọdun 1971:

Ọna ti o dara julọ lati ṣe asọtẹlẹ ọjọ iwaju ni lati ṣẹda rẹ.
Ọna ti o dara julọ lati ṣe asọtẹlẹ ọjọ iwaju ni lati ṣẹda rẹ.

Alan ni iṣẹ ti o ni awọ pupọ ni imọ-ẹrọ kọnputa. O gba Kyoto joju и Turing Eye fun iṣẹ rẹ lori ohun-Oorun siseto paradigm. O jẹ ọkan ninu awọn aṣáájú-ọnà ni aaye ti awọn kọnputa ti ara ẹni ati awọn atọkun ayaworan, o ni idagbasoke Smalltalk jẹ ọkan ninu awọn ede siseto akọkọ ti o ni ipa julọ ni gbogbo igba.

Ninu wa Hexlete, ni pataki ninu iwiregbe, ibeere naa "kini OOP" ati "kini Alan Kay tumọ si gaan" ti wa ni dide nigbagbogbo. Ifiweranṣẹ yii ni awọn agbasọ ti o nifẹ lati Alan nipa ipo idagbasoke ode oni, OOP ati ede Lisp.

Nipa idagbasoke software

Alan Kay gbagbọ pe iyipada kọnputa ko iti bọ (Iyika Kọmputa gidi ko tii ṣẹlẹ sibẹsibẹ), ati idagbasoke sọfitiwia ndagba ni ipin onidakeji si Ofin Moore: ohun elo imudara ni gbogbo ọdun, ṣugbọn sọfitiwia di bloated lainidi:

iṣoro naa jẹ alailagbara, awọn imọran ati awọn irinṣẹ ti ko ni iwọn, ọlẹ, aini imọ, ati bẹbẹ lọ.

Ṣe apejuwe ipo yii daradara kukuru awada:

Ohun ti Andy fun, Bill ya kuro
Andy fun, Bill mu

Andy Grove, CEO ti Intel, ati Bill Gates, lẹhinna CEO ti Microsoft.

Imudara ipo idagbasoke lọwọlọwọ ni ibi-afẹde ti iṣẹ akanṣe iwadi Igbesẹ Si Atunkọ ti Eto (pdf). Ibi-afẹde ni lati ṣaṣeyọri “Ofin Moore” ni asọye nipa “idinku iye koodu ti a beere nipasẹ awọn akoko 100, 1000, 10000 tabi diẹ sii.”

Ninu ijabọ ṣiṣi oju rẹ Siseto ati Iwọn (fidio) Yi koko ti wa ni sísọ ni diẹ apejuwe awọn. Gẹgẹbi Alan, imọ-ẹrọ sọfitiwia ti duro ati pe o di imọ-jinlẹ igbagbe ti ko le tọju ohun elo ati awọn imọ-ẹrọ miiran ati awọn ilana imọ-ẹrọ. Awọn iṣẹ akanṣe nla ti di idalenu koodu ati pe o ti de aaye kan nibiti ko si eni kankan ko le ni oye awọn laini miliọnu 100 ti MS Vista tabi koodu MS Ọrọ. Ṣugbọn ni otitọ, o yẹ ki o jẹ aṣẹ ti koodu ti o dinku ni iru awọn iṣẹ akanṣe.

Alan ṣe akiyesi Intanẹẹti, awọn ilana TCP/IP, awọn onitumọ LISP, Nile (Math DSL fun Vector Graphics) ati OMeta (OO PEG) (PDF) awọn apẹẹrẹ ti sọfitiwia didara pẹlu koodu kekere.

O pe Intanẹẹti (TCP/IP) ọkan ninu awọn iṣẹ akanṣe sọfitiwia titobi pupọ ti a ṣe apẹrẹ ti o tọ, ati pe ipele ti idiju rẹ jẹ iwọntunwọnsi pẹlu ipele ti idiju (ikọlu vs. Pẹlu awọn laini koodu ti o kere ju 20, iṣẹ akanṣe naa n ṣiṣẹ bi igbesi aye, eto agbara ti o lagbara lati ṣe atilẹyin awọn ọkẹ àìmọye ti awọn apa, ati pe ko ti lọ offline lati igba ifilọlẹ akọkọ rẹ ni Oṣu Kẹsan ọdun 1969. A kan dawọ duro lati gbero Intanẹẹti lati jẹ iṣẹ akanṣe sọfitiwia deede ti eniyan ṣẹda:

Intanẹẹti ti ni idagbasoke daradara ti ọpọlọpọ eniyan tọju rẹ bi orisun adayeba, bii Okun Pasifiki, dipo ọja iṣẹ eniyan. Nigbawo ni akoko ikẹhin ti a rii iru iduroṣinṣin, kedere, imọ-ẹrọ ti ko ni aṣiṣe? Nipa lafiwe, Wẹẹbu jẹ ọrọ isọkusọ. Wẹẹbu ti a ṣẹda nipasẹ awọn ope.

About ohun-Oorun siseto

Ohun akọkọ ti o nifẹ si mi ni tirẹ atilẹba OOP iran. Iriri rẹ ni microbiology ṣe ipa pataki:

Mo ronu ti awọn nkan bii awọn sẹẹli ti ibi, ati/tabi awọn kọnputa kọọkan lori nẹtiwọọki kan ti o le ṣe ibaraẹnisọrọ nipasẹ awọn ifiranṣẹ nikan.

ati iriri ninu mathimatiki:

Ìrírí tí mo ní nínú ìmọ̀ ìṣirò jẹ́ kí n mọ̀ pé ohun kọ̀ọ̀kan lè ní ọ̀pọ̀ algebra, wọ́n lè so pọ̀ mọ́ ìdílé, èyí sì lè wúlò gan-an.

Awọn imọran fun isọdọmọ pẹ ati awọn ẹya-ara meta ti LISpa:

Ipele keji ni agbọye LISpa ati lilo oye yẹn lati ṣẹda irọrun, kere, awọn ẹya ti o lagbara ati isọdọmọ nigbamii.

Ati laipẹ Alan bẹrẹ lati ṣe atilẹyin imọran pe awọn ede ti o ni agbara jẹ ọjọ iwaju ti idagbasoke sọfitiwia (pdf). Ni pato, irọrun iyipada jẹ pataki fun u:

Isopọ pẹ ngbanilaaye awọn imọran ti o wa nigbamii ni ilana idagbasoke lati dapọ si iṣẹ akanṣe pẹlu akitiyan diẹ (ti a fiwera si awọn ọna ṣiṣe ti iṣaaju bi C, C ++, Java, ati bẹbẹ lọ)

Ati agbara fun awọn ayipada lori fifo ati awọn itage yiyara:

Ọkan ninu awọn imọran bọtini ni pe eto yẹ ki o tẹsiwaju lati ṣiṣẹ lakoko idanwo, paapaa lakoko ti awọn ayipada n ṣe. Paapaa awọn ayipada pataki yẹ ki o jẹ diẹdiẹ ati ki o gba diẹ sii ju pipin iṣẹju-aaya kan.

eyi ti o ti sonu ni awọn ede ti a tẹ ni iṣiro:

Ti o ba lo awọn ede isomọ ni kutukutu, gẹgẹbi ọpọlọpọ eniyan ṣe, lẹhinna o tii ara rẹ sinu ohun ti o ti kọ tẹlẹ. Kii yoo tun ṣee ṣe lati tun ṣe ni irọrun.

Iyalenu, awọn ero rẹ nipa OOP ni opin si eyi:

OOP fun mi ni awọn ifiranṣẹ, idaduro agbegbe ati aabo, fifipamọ ipinle ati idaduro ohun gbogbo. Eyi le ṣee ṣe ni Smalltalk ati ni LISP.

Ati ohunkohun nipa iní. Eyi kii ṣe OOP eyi ti a mọ loni:

Mo fẹ pe MO ti lo ọrọ naa “ohun” fun koko-ọrọ yii ni igba pipẹ sẹhin nitori pe o fa ki ọpọlọpọ eniyan dojukọ lori diẹ ti awọn imọran.

Imọran nla ti ode oni ti tẹ awọn ede OO ko ni:

Ero nla ni "awọn ifiranṣẹ"

O gbagbọ ni idojukọ lori awọn ifiranṣẹ, isọpọ alaimuṣinṣin, ati awọn ibaraẹnisọrọ module kuku ju awọn inu inu ohun kan:

Bọtini lati ṣiṣẹda awọn ọna ṣiṣe iwọn to dara ni ṣiṣe awọn ilana ibaraẹnisọrọ laarin awọn modulu, ati pe ko ṣiṣẹ awọn ohun-ini inu ati ihuwasi wọn.

Awọn ede ti a tẹ ni iduro dabi fun u alebu awọn:

Emi ko lodi si awọn iru, ṣugbọn Emi ko mọ iru eto eyikeyi ti ko fa irora. Nitorinaa MO tun fẹran titẹ agbara.

Diẹ ninu awọn ede olokiki loni lo awọn imọran gbigbe ifiranṣẹ Smalltalk, diduro pẹ, ati Ko LoyeEpe siwaju в Ohun-Cọna_sonu в Ruby и noSuchMethod ninu Google DART.

Pa ohun gbogbo run ki o ṣẹda nkan ti o dara julọ

Alan ni imọran ti o nifẹ nipa idagbasoke imọ-ẹrọ kọnputa:

O dabi fun mi pe iru imọ-ẹrọ kọnputa kan ṣoṣo ni o wa, ati pe imọ-jinlẹ dabi kikọ awọn afara. Ẹnikan kọ awọn afara, ẹnikan si pa wọn run ati ṣẹda awọn ero tuntun. Ati pe a nilo lati tẹsiwaju kikọ awọn afara.

Nipa LISP

Alan Kay gbagbọ Lisp

ede siseto ti o dara julọ ni gbogbo igba

Ati pe gbogbo ọmọ ile-iwe giga ti imọ-ẹrọ kọnputa yẹ ki o kawe rẹ:

Pupọ eniyan lepa awọn iwọn ni CS ko loye pataki Lisp. Lisp jẹ imọran pataki julọ ni imọ-ẹrọ kọnputa.

Nipa awọn ọtun bugbamu ti o tọ

O nigbagbogbo apepada awọn oto bugbamu ni Xerox PARK и Harp, nibiti “iriran ṣe pataki ju awọn ibi-afẹde” ati “awọn eniyan inawo, kii ṣe awọn iṣẹ akanṣe.”

Ojuami ti wo ni tọ 80 IQ ojuami.

Alan Kay sọ pé:

Itan ARPA/PARC ṣe afihan bi apapọ iran, igbeowosile iwọntunwọnsi, ipo ti o tọ ati ilana le bi awọn imọ-ẹrọ tuntun ni idan ti kii ṣe ọlaju nikan ṣugbọn tun ṣẹda iye nla fun awujọ.

Ati pe o jẹ otitọ. Wo atokọ iyalẹnu ti PARC ti awọn idasilẹ, ọpọlọpọ ninu wọn ṣe ipa pataki pupọ ninu idagbasoke agbaye wa. Fun apere:

  • Lesa itẹwe
  • Eto Ohun-Oorun / Smalltalk
  • Awọn kọnputa ti ara ẹni
  • àjọlò / pin iširo
  • GUI / kọmputa Asin / WYSIWYG

Ati ni Harp da ARPANET, eyi ti o di progenitor ti awọn Internet.

PS Alan Kay dahun awọn ibeere lati agbegbe Hacker News.

orisun: www.habr.com

Fi ọrọìwòye kun