Alan Kay, skapari OOP, um þróun, Lisp og OOP

Alan Kay, skapari OOP, um þróun, Lisp og OOP

Ef þú hefur aldrei heyrt um Alan Kay, hefurðu að minnsta kosti heyrt frægar tilvitnanir hans. Til dæmis, þessi tilvitnun frá 1971:

Besta leiðin til að spá fyrir um framtíðina er að finna hana upp.
Besta leiðin til að spá fyrir um framtíðina er að finna hana upp.

Alan á mjög litríkan feril í tölvunarfræði. Hann fékk Kyoto verðlaunin и Turing verðlaunin fyrir vinnu sína á hlutbundinni forritun. Hann var einn af frumkvöðlum á sviði einkatölva og grafískra viðmóta, hann þróaði Smámál er eitt af fyrstu áhrifamestu forritunarmálum allra tíma.

Í okkar Hexlete, sérstaklega í spjall, spurningin „hvað er OOP“ og „hvað átti Alan Kay eiginlega við“ er stöðugt uppi. Þessi færsla inniheldur áhugaverðar tilvitnanir í Alan um stöðu nútímaþróunar, OOP og Lisp tungumálið.

Um hugbúnaðarþróun

Alan Kay telur að tölvubyltingin eigi enn eftir að koma (Raunveruleg tölvubylting hefur ekki gerst enn), og hugbúnaðarþróun þróast í öfugu hlutfalli við lögmál Moore: vélbúnaður batnar á hverju ári, en hugbúnaður verður óþarflega uppblásinn:

vandamálið er veikt, illa skalanlegar hugmyndir og verkfæri, leti, þekkingarskortur o.s.frv.

Lýsir þessu ástandi vel stuttur brandari:

Það sem Andy gefur tekur Bill
Andy gaf, Bill tók

Andy Grove, forstjóri Intel, og Bill Gates, þáverandi forstjóri Microsoft.

Að bæta núverandi þróunarástand var markmið rannsóknarverkefnisins SKREF í átt að enduruppgötvun forritunar (pdf). Markmiðið er að ná fram "lögmáli Moore" í tjáningu með því að "lækka magn nauðsynlegs kóða um 100, 1000, 10000 sinnum eða meira."

Í opnari skýrslu sinni Forritun og mælikvarði (myndband) Nánar er fjallað um þetta efni. Að sögn Alans hefur hugbúnaðarverkfræði stöðvast og er að verða gleymd vísindi sem geta ekki haldið í við vélbúnað og aðrar vísindi og verkfræðigreinar. Stór verkefni hafa orðið að kóða sorphaugum og eru komin á það stig að enginn ófær um að skilja 100 milljón línur af MS Vista eða MS Word kóða. En í raun og veru ætti að vera stærðargráðu minni kóða í slíkum verkefnum.

Alan íhugar internetið, TCP/IP samskiptareglur, LISP túlka, Nile (Math DSL for Vector Graphics) og OMeta (OO PEG) (PDF) dæmi um glæsilegan hugbúnað með lágmarks kóða.

Hann kallar internetið (TCP/IP) eitt af fáum stórum hugbúnaðarverkefnum sem hafi verið hönnuð á réttan hátt og flækjustig þess sé í jafnvægi við flækjustigið (flækju vs. flækjustig). Með færri en 20 línur af kóða starfar verkefnið sem lifandi, kraftmikið kerfi sem getur stutt milljarða hnúta og hefur aldrei farið án nettengingar frá því að það var fyrst sett af stað í september 1969. Við hættum einfaldlega að líta á internetið sem venjulegt hugbúnaðarverkefni búið til af fólki:

Netið er svo vel þróað að margir líta á það eins og náttúruauðlind, eins og Kyrrahafið, frekar en afurð manna. Hvenær sáum við síðast svona stöðuga, skýra og villulausa tækni? Til samanburðar má nefna að vefurinn er bull. Vefurinn var búinn til af áhugamönnum.

Um hlutbundna forritun

Það fyrsta sem vakti áhuga minn var hans frumlegt OOP sýn. Reynsla hans í örverufræði gegndi mikilvægu hlutverki:

Ég hugsaði um hluti sem vera eins og líffræðilegar frumur og/eða einstakar tölvur á neti sem gætu aðeins átt samskipti í gegnum skilaboð.

og reynsla í stærðfræði:

Reynsla mín af stærðfræði fékk mig til að átta mig á því að hver hlutur getur haft nokkrar algebrur, hægt er að sameina þær í fjölskyldur og það getur verið mjög gagnlegt.

Hugmyndir að síðbindingu og öflugum metaeiginleikum LISPa:

Annar áfanginn er að skilja LISPa og nota þann skilning til að búa til auðveldari, smærri, öflugri mannvirki og síðar bindingu.

Og fljótlega fór Alan að styðja þá hugmynd að kraftmikil tungumál séu framtíð hugbúnaðarþróunar (pdf). Sérstaklega er auðvelt að breyta honum mikilvægt:

Síðbúin binding gerir kleift að fella hugmyndir sem komu seinna í þróunarferlinu inn í verkefnið með minni fyrirhöfn (samanborið við eldri bundin kerfi eins og C, C++, Java o.s.frv.)

Og möguleiki á breytingum á flugu og hraðari endurtekningar:

Ein af lykilhugmyndunum er að kerfið eigi að halda áfram að virka meðan á prófunum stendur, sérstaklega á meðan breytingar eru gerðar. Jafnvel meiriháttar breytingar ættu að vera smám saman og taka ekki meira en sekúndubrot.

sem vantar inn kyrrstætt vélrituð tungumál:

Ef þú notar snemma bindandi tungumál, eins og flestir gera, þá læsir þú þig inn í það sem þú hefur þegar skrifað. Það verður ekki lengur hægt að endurskapa það auðveldlega.

Það kemur á óvart að hugsanir hans um OOP voru takmarkaðar við þetta:

OOP fyrir mig eru skilaboð, staðbundin hald og vernd, ríkisfela og seint bindandi allt. Þetta er hægt að gera í Smalltalk og í LISP.

Og ekkert um erfðir. Þetta er ekki OOP sem við þekkjum í dag:

Ég vildi að ég hefði notað hugtakið "hlutur" um þetta efni fyrir löngu síðan vegna þess að það veldur því að margir einbeita sér að minni hugmyndunum.

Stóra hugmyndin sem nútíma statískt vélrituð OO tungumál skortir:

Stóra hugmyndin er "skilaboð"

Hann trúir því að einblína á skilaboð, lausa tengingu og einingarsamskipti frekar en að innra hluta hlutar:

Lykillinn að því að búa til góð stigstærð kerfi er að vinna úr samskiptaaðferðum milli eininga en ekki að vinna úr innri eiginleikum þeirra og hegðun.

Statískt vélrituð tungumál virðast honum gölluð:

Ég er ekki á móti týpum, en ég veit ekki um neitt tegundakerfi sem veldur ekki sársauka. Svo ég hef enn gaman af kraftmikilli vélritun.

Sum vinsæl tungumál í dag nota skilaboð Smalltalk sem senda hugmyndir, seint bindandi og skilur Ekkiframákall в Markmið-Caðferð_vantar в Ruby и engin slík aðferð í Google Dart.

Eyðileggja allt og búa til eitthvað betra

Alan hefur áhugaverða kenningu um þróun tölvunarfræði:

Mér sýnist að það sé bara ein tegund af tölvunarfræði og að vísindi séu eins og að byggja brýr. Einhver byggir brýr og einhver eyðileggur þær og býr til nýjar kenningar. Og við þurfum að halda áfram að byggja brýr.

Um LISP

Alan Kay trúir Lisp

besta forritunarmál allra tíma

Og að sérhver útskrifaður tölvunarfræðingur ætti að læra það:

Flestir sem stunda gráður í CS skilja ekki mikilvægi Lisp. Lisp er mikilvægasta hugmyndin í tölvunarfræði.

Um rétt andrúmsloft og samhengi

Hann rifjar oft upp einstakt andrúmsloft í Xerox PARK и Harpa, þar sem "sýn er mikilvægari en markmið" og "fjármögnun fólks, ekki verkefni."

Sjónarhorn er þess virði 80 IQ stig.

Alan Kay segir:

ARPA/PARC sagan sýnir hvernig sambland af framtíðarsýn, hóflegri fjármögnun, réttu samhengi og ferli getur með töfrum fætt nýja tækni sem hefur ekki aðeins áhrif á siðmenningu heldur skapar einnig gríðarleg verðmæti fyrir samfélagið.

Og það er satt. Skoðaðu glæsilegan lista PARC yfir uppfinningar, sem mörg hver gegndu mjög mikilvægu hlutverki í þróun heimsins okkar. Til dæmis:

  • Laser prentarar
  • Hlutbundin forritun / Smalltalk
  • Einkatölvur
  • Ethernet / dreifð tölvumál
  • GUI / tölvumús / WYSIWYG

Og í Harpa búið til ARPANET, sem varð forfaðir internetsins.

PS Alan Kay svarar spurningum frá Hacker News samfélaginu.

Heimild: www.habr.com

Bæta við athugasemd