Alan Kay, kreatur ta 'OOP, dwar l-iżvilupp, Lisp u OOP

Alan Kay, kreatur ta 'OOP, dwar l-iżvilupp, Lisp u OOP

Jekk qatt ma smajt b'Alan Kay, mill-inqas smajt il-kwotazzjonijiet famużi tiegħu. Pereżempju, din il-kwotazzjoni mill-1971:

L-aħjar mod biex tbassar il-futur huwa li nivvintaw.
L-aħjar mod biex tbassar il-futur huwa li nivvintah.

Alan għandu karriera ikkulurita ħafna fix-xjenza tal-kompjuter. Huwa rċieva Premju ta’ Kyoto и Premju Turing għax-xogħol tiegħu fuq il-paradigma tal-ipprogrammar orjentat lejn l-oġġetti. Huwa kien wieħed mill-pijunieri fil-qasam tal-kompjuters personali u interfaces grafiċi, żviluppa Tkellem żgħir hija waħda mill-ewwel lingwi ta 'programmar l-aktar influwenti ta' kull żmien.

Fil tagħna Hexlete, speċjalment fi chat, il-mistoqsija "x'inhu OOP" u "x'fisser verament Alan Kay" titqajjem kontinwament. Din il-kariga fiha kwotazzjonijiet interessanti minn Alan dwar l-istat tal-iżvilupp modern, OOP u l-lingwa Lisp.

Dwar l-iżvilupp tas-softwer

Alan Kay jemmen li r-rivoluzzjoni tal-kompjuter għadha ġejja (Ir-Rivoluzzjoni Vera tal-Kompjuter Għadha Ma Ġratx), u l-iżvilupp tas-softwer jiżviluppa fi proporzjon invers għal-Liġi ta’ Moore: il-ħardwer jitjieb kull sena, iżda s-softwer isir minfuħ bla bżonn:

il-problema hija dgħajfa, ideat u għodod li ma tantx jistgħu jegħlbuhom, għażżien, nuqqas ta’ għarfien, eċċ.

Jiddeskrivi din is-sitwazzjoni sew ċajta qasira:

Dak li jagħti Andy, Bill ineħħi
Andy ta, Bill ħa

Andy Grove, CEO ta’ Intel, u Bill Gates, dak iż-żmien CEO ta’ Microsoft.

It-titjib tal-istat attwali tal-iżvilupp kien l-għan tal-proġett ta 'riċerka PASSI Lejn Ir-Reinvenzjoni tal-Programmazzjoni (pdf). L-għan huwa li tinkiseb "Liġi ta 'Moore" fl-espressività billi "tnaqqas l-ammont ta' kodiċi meħtieġ b'100, 1000, 10000 darba jew aktar."

Fir-rapport tiegħu li jiftaħ l-għajnejn Programmazzjoni u Skala (video) Dan is-suġġett huwa diskuss f'aktar dettall. Skont Alan, l-inġinerija tas-softwer waqfet u qed issir xjenza minsija li ma tistax tlaħħaq mal-ħardwer u xjenzi oħra u dixxiplini tal-inġinerija. Proġetti kbar saru code dumps u laħqu punt fejn hadd kapaċi jifhmu 100 miljun linja ta 'MS Vista jew MS Word kodiċi. Iżda fir-realtà, għandu jkun hemm ordni ta 'kobor inqas kodiċi fi proġetti bħal dawn.

Alan iqis l-Internet, il-protokolli TCP/IP, l-interpreti LISP, Nile (Matematika DSL għal Grafika Vettorjali) u OMeta (OO PEG) (PDF) eżempji ta 'softwer eleganti b'kodiċi minimu.

Huwa jsejjaħ l-Internet (TCP/IP) wieħed mill-ftit proġetti ta 'softwer fuq skala kbira li kien iddisinjat b'mod korrett, u l-livell ta' kumplessità tiegħu huwa f'bilanċ mal-livell ta 'kumplessità (kumplikazzjoni vs kumplessità). B'inqas minn 20 linja ta 'kodiċi, il-proġett jopera bħala sistema ħajja u dinamika li kapaċi tappoġġja biljuni ta' nodi, u qatt ma mar offline mit-tnedija inizjali tiegħu f'Settembru 1969. Sempliċement waqfet inqisu l-Internet bħala proġett ta’ softwer normali maħluq minn nies:

L-Internet tant huwa żviluppat tajjeb li ħafna nies jittrattawh bħala riżors naturali, bħall-Oċean Paċifiku, aktar milli prodott tax-xogħol uman. Meta kienet l-aħħar darba li rajna teknoloġija bħal din stabbli, ċara u mingħajr żbalji? B'paragun, il-Web hija nonsense. Il-web inħoloq minn dilettanti.

Dwar programmazzjoni orjentata lejn l-oġġetti

L-ewwel ħaġa li interessatni kienet tiegħu oriġinali viżjoni OOP. L-esperjenza tiegħu fil-mikrobijoloġija kellha rwol importanti:

Ħsibt ta 'oġġetti bħala xi ħaġa bħal ċelluli bijoloġiċi, u/jew kompjuters individwali fuq netwerk li jistgħu jikkomunikaw biss permezz ta' messaġġi.

u esperjenza fil-matematika:

L-esperjenza tiegħi fil-matematika ġegħlitni nirrealizza li kull oġġett jista’ jkollu diversi algebras, jistgħu jingħaqdu f’familji, u dan jista’ jkun utli ħafna.

Ideat għall-irbit tard u meta-karatteristiċi qawwija tal-LISPa:

It-tieni fażi hija l-fehim tal-LISPa u l-użu ta 'dak il-fehim biex jinħolqu strutturi eħfef, iżgħar, aktar b'saħħithom u vinkolanti aktar tard.

U malajr Alan beda jappoġġja l-idea li l-lingwi dinamiċi huma il-futur tal-iżvilupp tas-softwer (pdf). B'mod partikolari, il-faċilità tal-bidla hija importanti għalih:

L-irbit tard jippermetti li ideat li ħarġu aktar tard fil-proċess ta' żvilupp jiġu inkorporati fil-proġett b'inqas sforz (meta mqabbel ma' sistemi marbuta preċedenti bħal C, C++, Java, eċċ.)

U l-potenzjal għal bidliet fuq il-fly u iterazzjonijiet aktar mgħaġġla:

Waħda mill-ideat ewlenin hija li s-sistema għandha tkompli taħdem waqt l-ittestjar, speċjalment waqt li jkunu qed isiru l-bidliet. Anke bidliet kbar għandhom ikunu gradwali u jieħdu mhux aktar minn qasma ta' sekonda.

li hija nieqsa fi lingwi ttajpjati b'mod statiku:

Jekk tuża lingwi li jorbtu kmieni, bħalma jagħmlu ħafna nies, imbagħad illokkja ruħek f'dak li diġà ktibt. Mhux se jkun aktar possibbli li jiġi riformulat faċilment.

B'mod sorprendenti, il-ħsibijiet tiegħu dwar l-OOP kienu limitati għal dan:

OOP għalija huwa messaġġi, żomm u jipproteġi lokali, ħabi tal-istat u rbit tard ta 'kollox. Dan jista' jsir fi Smalltalk u f'LISP.

U xejn dwar il-wirt. Dan mhuwiex l-OOP li nafu llum:

Nixtieq li kont użajt it-terminu "oġġett" għal dan is-suġġett ħafna żmien ilu għax iġġiegħel lil ħafna nies jiffokaw fuq l-iżgħar waħda mill-ideat.

L-idea kbira li l-lingwi moderni OO ittajpjati b'mod statiku m'għandhomx:

L-idea kbira hija "messaġġi"

Huwa jemmen li jiffoka fuq messaġġi, akkoppjar maħlul, u interazzjonijiet tal-moduli aktar milli fuq l-intern ta 'oġġett:

Iċ-ċavetta għall-ħolqien ta 'sistemi skalabbli tajba hija li taħdem il-mekkaniżmi ta' komunikazzjoni bejn il-moduli, u mhux taħdem il-proprjetajiet interni u l-imġieba tagħhom.

Jidhirlu lingwi ittajpjati b'mod statiku difettuż:

Jien mhux kontra tipi, imma ma nafx xi sistema tat-tip li ma tikkawżax uġigħ. Allura għadni nħobb it-tajpjar dinamiku.

Xi lingwi popolari llum jużaw il-messaġġ ta 'Smalltalk biex jgħaddu ideat, vinkolanti tard, u ma JifhimxforwardInvocation в Objettiv-Cmethod_missing в Ruby и noSuchMethod fil-Google Dart.

Eqred kollox u toħloq xi ħaġa aħjar

Alan għandu teorija interessanti dwar l-iżvilupp tax-xjenza tal-kompjuter:

Jidhirli li hemm tip wieħed biss ta 'xjenza tal-kompjuter, u li x-xjenza hija bħall-bini ta' pontijiet. Xi ħadd jibni pontijiet, u xi ħadd jeqridhom u joħloq teoriji ġodda. U rridu nibqgħu nibnu l-pontijiet.

Dwar LISP

Alan Kay jemmen lil Lisp

l-aħjar lingwa ta' programmar ta' kull żmien

U li kull gradwat fix-xjenza tal-kompjuter għandu jistudjaha:

Ħafna nies li jsegwu lawrji fis-CS ma jifhmux l-importanza ta 'Lisp. Lisp hija l-iktar idea importanti fix-xjenza tal-kompjuter.

Dwar l-atmosfera u l-kuntest it-tajba

Ħafna drabi jfakkar fl-atmosfera unika li fiha Xerox PARK и Harpa, fejn "il-viżjoni hija aktar importanti mill-għanijiet" u "l-iffinanzjar tan-nies, mhux tal-proġetti."

Perspettivi jiswew 80 punt IQ.

Alan Kay jgħid:

L-istorja tal-ARPA/PARC turi kif taħlita ta’ viżjoni, finanzjament modest, il-kuntest it-tajjeb u l-proċess jistgħu b’mod maġiku tnissel teknoloġiji ġodda li mhux biss ikollhom impatt fuq iċ-ċiviltà iżda wkoll joħolqu valur enormi għas-soċjetà.

U huwa veru. Agħti ħarsa lejn il-lista impressjonanti ta' invenzjonijiet tal-PARC, li ħafna minnhom kellhom rwol importanti ħafna fl-iżvilupp tad-dinja tagħna. Pereżempju:

  • Printers bil-lejżer
  • Programmazzjoni Orjentata lejn l-Oġġetti / Smalltalk
  • Kompjuters personali
  • Ethernet / kompjuters distribwiti
  • GUI / maws tal-kompjuter / WYSIWYG

U fl- Harpa maħluqa ARPANET, li sar il-proġenitur tal-Internet.

PS Alan Kay iwieġeb mistoqsijiet mill-komunità Hacker News.

Sors: www.habr.com

Żid kumment