Alan Kay, mugadziri weOOP, nezve budiriro, Lisp uye OOP

Alan Kay, mugadziri weOOP, nezve budiriro, Lisp uye OOP

Kana usati wambonzwa nezvaAlan Kay, iwe wakambonzwa mazwi ake anozivikanwa. Semuenzaniso, iyi quote kubva muna 1971:

Nzira yakanakisa yekufanotaura ramangwana ndeyekuigadzira.
Nzira yakanakisa yekufanotaura ramangwana ndeyekuigadzira.

Alan ane basa rakanakisa musainzi yekombuta. Akagamuchira Kyoto Prize ΠΈ Turing Award nokuda kwebasa rake pane chinhu-chakatarisana nepurogiramu paradigm. Aive mumwe wemapiyona mumunda wemakombuta ega uye maratidziro emifananidzo, akagadzira Kutaura kudiki ndeimwe yemitauro yekutanga ine simba yekuronga yenguva dzese.

Mune yedu Hexlete, kunyanya mu taura, mubvunzo wekuti "chii chinonzi OOP" uye "chii chairehwa naAlan Kay" unogara uchimutswa. Ichi chinyorwa chine makotesheni anonakidza kubva kuAlan nezve mamiriro ebudiriro yemazuva ano, OOP uye mutauro weLisp.

About software development

Alan Kay anotenda kuti shanduko yekombuta ichiri kuuya (Iyo Chaiyo Computer Revolution haisati yaitika), uye kuvandudza kwesoftware kunokura mu inverse chikamu kuMutemo waMoore: Hardware inovandudza gore rega rega, asi software inoputika zvisina basa:

dambudziko harina simba, mazano asina kusimba uye maturusi, usimbe, kushaya ruzivo, nezvimwe.

Inotsanangura mamiriro ezvinhu aya zvakanaka pfupi joke:

Izvo Andy anopa, Bill anotora
Andy akapa, Bill akatora

Andy Grove, CEO weIntel, naBill Gates, ipapo CEO weMicrosoft.

Kuvandudza mamiriro azvino ebudiriro chaive chinangwa chechirongwa chekutsvagisa Matanho Ekuenda Kudzoreredzwa kweChirongwa (pdf). Chinangwa ndechekuzadzisa "Mutemo waMoore" mukutaura ne "kuderedza huwandu hwekodhi inodiwa ne100, 1000, 10000 nguva kana kupfuura."

Mushumo wake wakavhura maziso Kuronga uye Kuyera (vhidhiyo) Nyaya iyi inokurukurwa zvakadzama. Sekureva kwaAlan, software engineering yakamira uye yave kukanganikwa sainzi isingakwanise kufambirana nehardware nedzimwe sainzi uye mainjiniya. Mapurojekiti mahombe ave macode dumps uye asvika padanho rekuti hapana kutadza kunzwisisa miriyoni zana mitsetse yeMS Vista kana MS Word kodhi. Asi muchokwadi, panofanirwa kuve nekurongeka kwehukuru hwakaderera kodhi mumapurojekiti akadaro.

Alan anofunga nezveInternet, TCP/IP protocol, LISP vaturikiri, Nile (Math DSL yeVector Graphics) uye OMeta (OO PEG) (PDF) mienzaniso yeakanakisa software ine shoma kodhi.

Anodana Indaneti (TCP / IP) imwe yemapurogiramu mashomanana makuru epurogiramu akagadzirwa nenzira yakarurama, uye chiyero chayo chekuoma chiri kuenzana nehuwandu hwekuoma (complication vs. Iine isingasviki mitsara ye20 yekodhi, chirongwa ichi chinoshanda semhenyu, ine simba system inokwanisa kutsigira mabhiriyoni emanodhi, uye haina kumbobvira yaenda kunze kwenyika kubva payakatangwa munaGunyana 1969. Isu takangomira kufunga nezveInternet seyakajairika software chirongwa chakagadzirwa nevanhu:

Indaneti yakagadziridzwa zvekuti vanhu vazhinji vanoitora sechisikigo, sePacific Ocean, kwete chigadzirwa chebasa revanhu. Nderini patakapedzisira kuona michina yakagadzikana kudaro, yakajeka, isina kukanganisa? Kana tichienzanisa, Webhu haina maturo. Dandemutande rakagadzirwa nevasina basa.

About object-oriented programming

Chinhu chokutanga chaindifadza chaiva chake original OOP chiono. Chiitiko chake mune microbiology chakaita basa rakakosha:

Ini ndaifunga nezvezvinhu senge masero ebhayoloji, uye/kana makomputa ega ega pane network aingokwanisa kutaurirana kuburikidza nemeseji.

uye ruzivo mune masvomhu:

Ruzivo rwangu mumasvomhu rwakaita kuti ndione kuti chinhu chimwe nechimwe chinogona kuva nemaalgebra akati wandei, anogona kubatanidzwa kuva mhuri, uye izvi zvinogona kubatsira zvikuru.

Mazano ekunonoka kusunga uye ane simba meta-maficha eLISPa:

Chikamu chechipiri kunzwisisa LISPa uye kushandisa kunzwisisa ikoko kugadzira zviri nyore, zvidiki, zvimiro zvine simba uye gare gare kusunga.

Uye nokukurumidza Alan akatanga kutsigira pfungwa yokuti mitauro ine simba ramangwana rekuvandudza software (pdf). Kunyanya, kusununguka kwekuchinja kwakakosha kwaari:

Kunonoka kusunga kunobvumira pfungwa dzakauya gare gare muhurongwa hwekuvandudza kuti dzipinzwe mupurojekiti nekuedza kushoma (zvichienzaniswa neakasunga masystem seC, C++, Java, nezvimwewo)

Uye mukana wekuchinja pane nhunzi uye nekukurumidza iterations:

Imwe yemazano akakosha ndeyekuti sisitimu inofanirwa kuramba ichishanda panguva yekuyedzwa, kunyanya apo shanduko dziri kuitwa. Kunyangwe shanduko huru dzinofanira kuitika zvishoma nezvishoma uye kutora isingapfuure sekondi yakakamurwa.

iyo isipo mukati mitauro yakadhindwa:

Kana ukashandisa mitauro yepakutanga-tanga, sezvinoitwa nevanhu vakawanda, unozozvivharira mune zvaunenge watonyora. Hazvichakwanisiki kuigadzirisa zvakare nyore.

Zvinoshamisa kuti pfungwa dzake pamusoro peOOP dzaive dzakaganhurirwa kune izvi:

OOP kwandiri mameseji, kubata kwenzvimbo uye kudzivirira, kuhwanda kwenyika uye kunonoka kusunga zvese. Izvi zvinogona kuitwa muSmalltalk uye muLISP.

Uye hapana pamusoro penhaka. Iyi haisi iyo OOP izvo zvatinoziva nhasi:

Ndinoshuva kuti dai ndakashandisa izwi rekuti "chinhu" chenyaya iyi kare kare nekuti zvinoita kuti vanhu vazhinji vatarise pane zvishoma zvepfungwa.

Pfungwa huru iyo yemazuva ano yakadhindwa mitauro yeOO inoshaya:

Pfungwa huru ndeye "mameseji"

Anotenda mukutarisa mameseji, loose coupling, uye module kudyidzana kwete pane zvemukati zvechinhu:

Kiyi yekugadzira yakanaka scalable masisitimu iri kushanda kunze kwekutaurirana nzira pakati pemamodule, uye kusashanda kunze kwemukati zvivakwa uye maitiro.

Mitauro yakanyatsotaipa inoita seyaari defective:

Ini handisi kupesana nemhando, asi handizivi chero mhando yehurongwa isingakonzere marwadzo. Saka ndichiri kuda dynamic kutaipa.

Mimwe mitauro yakakurumbira nhasi inoshandisa Smalltalk meseji inopfuura mazano, kunonoka kusunga, uye hainaKunzwisisaforwardInvocation Π² Chinangwa-Cnzira_isipo Π² Ruby ΠΈ noSuchMethod muGoogle Dart.

Paradza zvese uye gadzira chimwe chinhu chiri nani

Alan ane dzidziso inonakidza nezvekuvandudzwa kwesainzi yekombuta:

Zvinoratidzika kwandiri kuti kune rudzi rumwe chete rwesainzi yekombuta, uye kuti sainzi yakafanana nekuvaka mabhiriji. Mumwe munhu anovaka mabhiriji, uye mumwe munhu anovaparadza uye anogadzira dzidziso itsva. Uye tinofanira kuramba tichivaka mabhiriji.

Nezve LISP

Alan Kay anotenda Lisp

yakanakisa programming mutauro wenguva dzese

Uye kuti yega yega sainzi yekombuta akapedza kudzidza:

Vanhu vazhinji vanotsvaga madhigirii muCS havanzwisise kukosha kweLisp. Lisp ndiyo inonyanya kukosha pfungwa mune komputa sainzi.

Nezvemamiriro ekunze akakodzera uye mamiriro

Anowanzo yeuka mamiriro akasiyana-siyana mukati Xerox PARK ΠΈ Rudimbwa, apo β€œchiono chinokosha kupfuura zvinangwa” uye β€œkupa vanhu mari, kwete zvirongwa.”

Nzvimbo yekuona yakakosha 80 IQ points.

Alan Kay anoti:

Iyo ARPA/PARC nyaya inoratidza kuti musanganiswa wechiono, mari ine mwero, mamiriro akakodzera uye maitiro anogona kuberekwa zvemashiripiti matekinoroji matsva ayo asingangokanganisa budiriro chete asiwo anoumba kukosha kwakakura kunharaunda.

Uye ichokwadi. Tarisa uone PARC's inonakidza runyorwa rwezvakagadzirwa, dzakawanda dzacho dzakaita basa rinokosha zvikuru mubudiriro yenyika yedu. Semuyenzaniso:

  • Laser printers
  • Object-Oriented Programming / Smalltalk
  • Makombiyuta ega
  • Ethernet / yakagoverwa komputa
  • GUI / komputa mbeva / WYSIWYG

Uye mukati Rudimbwa zvakasikwa ARPANET, iyo yakava tateguru weInternet.

PS Alan Kay anopindura mibvunzo kubva kuHacker News nharaunda.

Source: www.habr.com

Voeg