Če še nikoli niste slišali za Alana Kaya, ste vsaj slišali njegove slavne citate. Na primer, ta citat iz leta 1971:
Najboljši način za napovedovanje prihodnosti je, da si jo izmislimo.
Najboljši način za napovedovanje prihodnosti je, da si jo izmislite.
Alan ima zelo pestro kariero na področju računalništva. Prejel je
V našem
O razvoju programske opreme
Alan Kay meni, da računalniška revolucija šele prihaja (
problem so šibke, slabo razširljive ideje in orodja, lenoba, pomanjkanje znanja itd.
Dobro opisuje to situacijo
Kar Andy da, Bill vzame
Andy je dal, Bill je vzel
Andy Grove, izvršni direktor Intela, in Bill Gates, takratni izvršni direktor Microsofta.
Izboljšanje trenutnega stanja razvoja je bil cilj raziskovalnega projekta
V svojem osupljivem poročilu
Alan meni, da so internet, protokoli TCP/IP, tolmači LISP,
Internet (TCP/IP) imenuje eden redkih obsežnih programskih projektov, ki je bil zasnovan pravilno, njegova stopnja kompleksnosti pa je v ravnotežju s stopnjo kompleksnosti (complication vs. complexity). Z manj kot 20 vrsticami kode projekt deluje kot živ, dinamičen sistem, ki lahko podpira milijarde vozlišč, in od svoje začetne uvedbe septembra 1969 ni nikoli prekinil povezave. Preprosto smo prenehali obravnavati internet kot običajen programski projekt, ki so ga ustvarili ljudje:
Internet je tako dobro razvit, da ga mnogi obravnavajo kot naravni vir, kot je Tihi ocean, in ne kot proizvod človeškega dela. Kdaj smo nazadnje videli tako stabilno, jasno tehnologijo brez napak? Za primerjavo, splet je nesmisel. Splet so ustvarili amaterji.
O objektno orientiranem programiranju
Prva stvar, ki me je zanimala, je bila njegova
O predmetih sem razmišljal kot o bioloških celicah in/ali posameznih računalnikih v omrežju, ki lahko komunicirajo samo prek sporočil.
in izkušnje z matematiko:
Moje matematične izkušnje so mi dale vedeti, da ima lahko vsak objekt več algeber, da jih je mogoče združiti v družine, kar je lahko zelo koristno.
Ideje za pozno vezavo in močne metafunkcije LISPa:
Druga faza je razumevanje LISPa in uporaba tega razumevanja za ustvarjanje lažjih, manjših, močnejših struktur in kasnejše vezave.
In kmalu je Alan začel podpirati idejo, da so dinamični jeziki
Pozna vezava omogoča, da se ideje, ki so prišle pozneje v razvojnem procesu, vključijo v projekt z manj truda (v primerjavi s prejšnjimi vezanimi sistemi, kot so C, C++, Java itd.)
In potencial za sprotne spremembe in hitrejše ponovitve:
Ena od ključnih idej je, da mora sistem med testiranjem še naprej delovati, še posebej, ko se izvajajo spremembe. Tudi večje spremembe naj bodo postopne in ne bodo trajale več kot delček sekunde.
ki manjka v
Če uporabljate jezike z zgodnjo vezavo, kot to počne večina ljudi, se zaprete v to, kar ste že napisali. Ne bo ga več mogoče zlahka preoblikovati.
Presenetljivo so bile njegove misli o OOP omejene na to:
OOP so zame sporočila, lokalno zadržanje in zaščita, skrivanje stanja in pozno vezanje vsega. To je mogoče narediti v Smalltalku in LISP.
In nič o dedovanju. To ni OOP
Želel bi si, da bi za to temo že zdavnaj uporabil izraz "objekt", ker se zaradi tega mnogi ljudje osredotočijo na manj pomembno idejo.
Velika ideja, ki manjka sodobnim statično tipkanim OO jezikom:
Velika ideja so "sporočila"
Verjame v osredotočanje na sporočila, ohlapno povezavo in interakcije modulov, ne pa na notranjost predmeta:
Ključ do ustvarjanja dobrih razširljivih sistemov je izdelava komunikacijskih mehanizmov med moduli in ne izdelava njihovih notranjih lastnosti in obnašanja.
Statično tipkani jeziki se mu zdijo
Nisem proti tipom, vendar ne poznam nobenega sistema tipov, ki ne povzroča bolečine. Tako da mi je še vedno všeč dinamično tipkanje.
Nekateri priljubljeni jeziki danes uporabljajo Smalltalkove ideje za posredovanje sporočil, pozno vezavo in
Uniči vse in ustvari nekaj boljšega
Alan ima zanimivo teorijo o razvoju računalništva:
Zdi se mi, da obstaja samo ena vrsta računalništva in da je znanost kot gradnja mostov. Nekdo gradi mostove, nekdo pa jih ruši in ustvarja nove teorije. In še naprej moramo graditi mostove.
O LISP
Alan Kay verjame v Lisp
najboljši programski jezik vseh časov
In da bi ga moral študirati vsak diplomant računalništva:
Večina ljudi, ki diplomirajo iz CS, ne razume pomena Lispa. Lisp je najpomembnejša ideja v računalništvu.
O pravem vzdušju in kontekstu
Pogosto spomni enkratno vzdušje v
Pogled je vreden 80 IQ točk.
Alan Kay pravi:
Zgodba ARPA/PARC prikazuje, kako lahko kombinacija vizije, skromnega financiranja, pravega konteksta in procesa čudežno rodi nove tehnologije, ki ne le vplivajo na civilizacijo, temveč ustvarjajo tudi ogromno vrednost za družbo.
In res je.
- Laserski tiskalniki
- Objektno usmerjeno programiranje / Smalltalk
- Osebni računalniki
- Ethernet / porazdeljeno računalništvo
- GUI / računalniška miška / WYSIWYG
In
PS
Vir: www.habr.com