Alan Kay, panyipta OOP, ngeunaan pangwangunan, Lisp sareng OOP

Alan Kay, panyipta OOP, ngeunaan pangwangunan, Lisp sareng OOP

Upami anjeun teu acan kantos nguping Alan Kay, anjeun sahenteuna kantos nguping kutipan anu kasohor. Contona, cutatan ieu ti 1971:

Cara anu pangsaéna pikeun ngaduga masa depan nyaéta nyiptakeunana.
Cara anu pangsaéna pikeun ngaduga masa depan nyaéta nyiptakeunana.

Alan boga karir pisan warni dina elmu komputer. Anjeunna nampi Hadiah Kyoto и Penghargaan Turing pikeun karyana dina paradigma programming berorientasi obyék. Anjeunna salah sahiji panaratas dina widang komputer pribadi tur interfaces grafis, anjeunna dimekarkeun Omongan leutik mangrupikeun salah sahiji basa pamrograman anu paling berpengaruh dina sadaya waktos.

Di urang Hexlete, utamana dina galecok, patarosan "naon OOP" jeung "naon sabenerna Alan Kay hartosna" terus diangkat. Tulisan ieu ngandung kutipan anu pikaresepeun ti Alan ngeunaan kaayaan pangwangunan modern, OOP sareng basa Lisp.

Ngeunaan ngembangkeun software

Alan Kay percaya yén révolusi komputer masih kénéh datang (Revolusi Komputer Nyata Tacan Kajadian), sareng pamekaran parangkat lunak mekar dina proporsi anu tibalik sareng Hukum Moore: hardware ningkat unggal taun, tapi parangkat lunak janten teu dipikabutuh:

masalahna lemah, ideu sareng alat anu kirang skalabel, teu puguh, kurangna pangaweruh, jsb.

Ngajelaskeun kaayaan ieu ogé bobodoran pondok:

Naon anu Andy masihan, Bill nyandak
Andy masihan, Bill nyandak

Andy Grove, CEO Intel, sareng Bill Gates, teras CEO Microsoft.

Ningkatkeun kaayaan pangwangunan ayeuna mangrupikeun tujuan proyék panalungtikan Léngkah-léngkah Nuju Reinvention of Programming (pdf). Tujuanana nyaéta pikeun ngahontal "Hukum Moore" dina ekspresif ku "ngurangan jumlah kode anu diperyogikeun ku 100, 1000, 10000 kali atanapi langkung."

Dina laporan panonna Pemrograman sareng Skala (video) topik ieu dibahas dina leuwih jéntré. Numutkeun ka Alan, rékayasa parangkat lunak parantos macét sareng janten élmu anu hilap anu teu tiasa ngiringan hardware sareng élmu sareng disiplin rékayasa. proyék badag geus jadi dumps kode sarta geus ngahontal titik dimana teu aya ogé teu bisa ngarti 100 juta garis MS Vista atawa kode MS Word. Tapi dina kanyataanana, kudu aya urutan gedena kode kirang dina proyék misalna.

Alan nganggap Internét, protokol TCP/IP, juru LISP, Nil (DSL Matematika pikeun Grafik Véktor) sareng OMeta (OO PEG) (PDF) conto software elegan jeung kode minimal.

Anjeunna nelepon Internet (TCP / IP) salah sahiji ti saeutik proyék software skala badag nu dirancang leres, sarta tingkat pajeulitna saimbang jeung tingkat pajeulitna (komplikasi vs pajeulitna). Kalawan kurang ti 20 garis kode, proyék éta beroperasi salaku hirup, sistem dinamis sanggup ngarojong milyaran titik, sarta teu pernah offline ti mimiti peluncuran na di September 1969. Urang ngan saukur lirén nganggap Internét janten proyék parangkat lunak normal anu diciptakeun ku jalma:

Internét dikembangkeun saé pisan sahingga seueur jalma nganggap éta salaku sumber daya alam, sapertos Samudra Pasifik, tinimbang produk tanaga gawé manusa. Iraha terakhir urang ningali téknologi anu stabil, écés, teu aya kasalahan? Ku ngabandingkeun, Wéb téh omong kosong. Web dijieun ku amatir.

Ngeunaan programming obyék-berorientasi

Hal kahiji anu dipikaresep ku kuring nyaéta anjeunna aslina visi OOP. Pangalamanna dina mikrobiologi maénkeun peran anu penting:

Abdi panginten objék sapertos sél biologis, sareng / atanapi komputer individu dina jaringan anu ngan ukur tiasa komunikasi ngalangkungan pesen.

sareng pangalaman dina matematika:

Pangalaman kuring dina matematika ngajantenkeun kuring sadar yén unggal obyék tiasa gaduh sababaraha aljabar, aranjeunna tiasa digabungkeun kana kulawarga, sareng ieu tiasa mangpaat pisan.

Gagasan pikeun telat ngariung sareng meta-fitur kuat LISPa:

Fase kadua ngartos LISPa sareng ngagunakeun pamahaman éta pikeun nyiptakeun struktur anu langkung gampang, langkung alit, langkung kuat sareng engké ngariung.

Sarta geura-giru Alan mimiti ngarojong pamanggih yén basa dinamis masa depan pamekaran software (pdf). Khususna, betah parobihan penting pikeun anjeunna:

Telat ngariung ngamungkinkeun ideu anu sumping engké dina prosés pangwangunan dilebetkeun kana proyék kalayan usaha anu kirang (dibandingkeun sareng sistem kabeungkeut saméméhna sapertos C, C ++, Java, jsb.)

Sareng poténsi parobahan dina laleur sareng iterasi anu langkung gancang:

Salah sahiji ideu konci nyaéta yén sistem kedah terus jalan nalika tés, khususna nalika parobihan nuju dilakukeun. Malah parobahan utama kudu bertahap jeung nyokot teu leuwih ti hiji pamisah detik.

nu leungit di basa diketik statik:

Upami anjeun nganggo basa anu ngariung awal, sapertos kalolobaan jalma, maka anjeun ngonci diri kana naon anu anjeun parantos nyerat. Eta moal deui mungkin mun reformulate eta gampang.

Ahéng, pikiranana ngeunaan OOP dugi ka ieu:

OOP pikeun kuring nyaéta pesen, tahan lokal sareng ngajagaan, nyumput kaayaan sareng telat ngariung sadayana. Ieu tiasa dilakukeun dina Smalltalk sareng LISP.

Jeung euweuh ngeunaan warisan. Ieu sanés OOP anu urang terang ayeuna:

Abdi ngarepkeun kuring parantos nganggo istilah "obyek" pikeun topik ieu parantos lami pisan sabab nyababkeun seueur jalma museurkeun kana ideu anu kirang.

Gagasan gedé yén basa OO anu diketik statik modéren kakurangan:

Gagasan gedé nyaéta "pesen"

Anjeunna percaya dina fokus dina pesen, gandeng leupas, sarta interaksi modul tinimbang dina internal hiji obyék:

Konci pikeun nyieun sistem scalable anu hadé nyaéta ngerjakeun mékanisme komunikasi antara modul, sareng henteu tiasa dianggo kaluar sipat internal sareng paripolahna.

Basa anu diketik sacara statik sigana anjeunna cacad:

Kaula mah ngalawan jenis, tapi teu nyaho naon sistem tipe nu teu ngabalukarkeun nyeri. Janten kuring masih resep ngetik dinamis.

Sababaraha basa populér kiwari ngagunakeun pesen Smalltalk urang lulus gagasan, telat ngariung, sarta Teu NgartiforwardInvocation в Obyektif-Cmethod_missing в inten beureum и noSuchMethod dina Google DART.

Ngancurkeun sagalana jeung nyieun hal hadé

Alan boga téori metot ngeunaan ngembangkeun elmu komputer:

Sigana mah ngan aya hiji jenis elmu komputer, sarta elmu éta kawas ngawangun sasak. Batur ngawangun sasak, sarta batur ngancurkeun aranjeunna sarta nyieun téori anyar. Sareng urang kedah tetep ngawangun sasak.

Ngeunaan LISP

Alan Kay percaya Lisp

basa programming pangalusna sepanjang waktos

Sareng unggal lulusan élmu komputer kedah diajar éta:

Kalolobaan jalma pursuing gelar di CS teu ngarti pentingna Lisp. Lisp mangrupikeun ide anu paling penting dina élmu komputer.

Ngeunaan atmosfir katuhu jeung konteks

Anjeunna sering recalls atmosfir unik di TAMAN Xerox и ARPA, dimana "visi langkung penting tibatan tujuan" sareng "ngabiayaan jalma, sanés proyék."

Sudut pandang sia 80 titik IQ.

Alan Kay nyebutkeun:

Carita ARPA / PARC nunjukkeun kumaha kombinasi visi, dana sederhana, kontéks sareng prosés anu leres tiasa ngalahirkeun téknologi anyar anu henteu ngan ukur mangaruhan peradaban tapi ogé nyiptakeun nilai anu ageung pikeun masarakat.

Sareng éta leres. Tingali kana daptar pamanggihan PARC anu pikaresepeun, loba nu maénkeun peran pohara penting dina ngembangkeun dunya urang. Salaku conto:

  • printer laser
  • Programming Berorientasi Obyék / Smalltalk
  • komputer pribadi
  • Ethernet / komputasi disebarkeun
  • GUI / mouse komputer / WYSIWYG

Jeung dina ARPA didamel ARPANET, nu jadi cikal bakal Internet.

PS Alan Kay ngajawab patarosan ti komunitas Hacker News.

sumber: www.habr.com

Tambahkeun komentar