Alan Kay at Marvin Minsky: May "grammar" na ang Computer Science. Kailangan ng "panitikan"

Alan Kay at Marvin Minsky: May "grammar" na ang Computer Science. Kailangan ng "panitikan"

Una mula sa kaliwa ay si Marvin Minsky, pangalawa mula sa kaliwa ay si Alan Kay, pagkatapos ay sina John Perry Barlow at Gloria Minsky.

Tanong: Paano mo bibigyang-kahulugan ang ideya ni Marvin Minsky na β€œMayroon nang gramatika ang Computer Science. Ang kailangan niya ay panitikan.”?

Alan Kay: Ang pinaka-kagiliw-giliw na aspeto ng pag-record Blog ni Ken (kabilang ang mga komento) ay walang makasaysayang sanggunian sa ideyang ito na matatagpuan kahit saan. Sa katunayan, mahigit 50 taon na ang nakalilipas noong dekada 60 ay maraming usapan tungkol dito at, bilang naaalala ko, ilang mga artikulo.

Una kong narinig ang ideyang ito mula kay Bob Barton, noong 1967 sa graduate school, nang sabihin niya sa akin na ang ideyang ito ay bahagi ng pagganyak ni Donald Knuth noong isinulat niya ang The Art of Programming, na ang mga kabanata ay umiikot na. Ang isa sa mga pangunahing tanong ni Bob noon ay tungkol sa "mga programming language na idinisenyo upang basahin ng mga tao gayundin ng mga makina." At iyon ang pangunahing motibasyon para sa mga bahagi ng disenyo ng COBOL noong unang bahagi ng 60s. At, marahil mas mahalaga sa konteksto ng aming paksa, ang ideyang ito ay makikita sa napakaaga at medyo maganda ang disenyong interactive na wika na JOSS (karamihan ay Cliff Shaw).

Gaya ng naobserbahan ni Frank Smith, ang panitikan ay nagsisimula sa mga ideya na dapat talakayin at isulat; madalas itong bahagyang bumubuo ng mga representasyon at nagpapalawak ng mga umiiral na wika at anyo; ito ay humahantong sa mga bagong ideya tungkol sa pagbasa at pagsulat; at panghuli sa mga bagong ideya na hindi bahagi ng orihinal na motibo.

Bahagi ng ideya ng β€œliteraturisasyon” ang pagbabasa, pagsusulat, at pagtukoy sa iba pang mga artikulo na maaaring maging interesado. Halimbawa, ang panayam ng Turing Award ni Marvin Minsky ay nagsisimula sa: "Ang problema sa Computer Science ngayon ay ang labis na pag-aalala sa anyo kaysa sa nilalaman.".

Ang ibig niyang sabihin ay ang pinakamahalagang bagay sa pag-compute ay ang kahulugan at kung paano ito matingnan at mairepresenta, taliwas sa isa sa mga malalaking tema ng dekada 60 tungkol sa kung paano mag-analisa ng programming at natural na mga wika. Para sa kanya, ang pinaka-kagiliw-giliw na bagay tungkol sa thesis ng mag-aaral ng Master na si Terry Winograd ay maaaring kahit na ito ay hindi masyadong tama sa mga tuntunin ng English grammar (ito ay napakahusay), ngunit na ito ay maaaring magkaroon ng kahulugan sa kung ano ang sinabi at maaaring bigyang-katwiran kung ano ang sinabi gamit ang halagang ito. (Ito ay isang throwback sa iniulat ni Ken sa blog ni Marvin).

Isang parallel na paraan ng pagtingin sa "ubiquitous language learning." Maraming magagawa nang hindi binabago ang wika o kahit na nagdaragdag ng diksyunaryo. Ito ay katulad ng kung paano sa mga mathematical na simbolo at syntax ay napakadaling magsulat ng isang formula. Ito ay bahagyang kung ano ang nakukuha ni Marvin. Nakakatuwa na ang Turing machine sa aklat ni Marvin na Computation: Finite and Infinite Machines (isa sa mga paborito kong libro) ay isang medyo tipikal na computer na may dalawang tagubilin (magdagdag ng 1 upang magrehistro at magbawas ng 1 mula sa rehistro at mga sangay sa bagong pagtuturo kung ang rehistro ay mas mababa sa 0 - maraming mga pagpipilian.)

Ito ay isang karaniwang programming language, ngunit magkaroon ng kamalayan sa mga pitfalls. Ang isang makatwirang solusyon sa "universally natutunan" ay kailangan ding magkaroon ng ilang uri ng pagpapahayag ng kapangyarihan na malamang na mangangailangan ng mas maraming oras upang matuto.

Ang interes ni Don sa tinatawag na "literate programming" ay humantong sa paglikha ng isang authoring system (historikal na tinatawag na WEB) na magpapahintulot sa Don na ipaliwanag ang mismong program na isinusulat, at kung saan kasama ang maraming mga tampok na nagpapahintulot sa mga bahagi ng programa na maging kinuha para sa pag-aaral ng tao. Ang ideya ay ang isang WEB na dokumento ay isang programa, at ang compiler ay maaaring kunin ang pinagsama-sama at maipapatupad na mga bahagi mula dito.

Ang isa pang maagang pagbabago ay ang ideya ng dynamic na media, na isang tanyag na ideya noong huling bahagi ng 60s, at para sa marami sa atin ay isang mahalagang bahagi ng interactive na PC computing. Ang isa sa ilang mga motibo para sa ideyang ito ay magkaroon ng isang bagay tulad ng "Mga Prinsipyo ng Newton" kung saan ang "matematika" ay dynamic at maaaring patakbuhin at itali sa mga graphics, atbp. Ito ay bahagi ng motibo upang i-promote ang ideya ng Dynabook noong 1968 taon. Ang isa sa mga terminong nagsimulang gamitin noon ay ang "aktibong sanaysay," kung saan ang mga uri ng pagsulat at argumento na inaasahan sa isang sanaysay ay pinahusay ng interactive na programa bilang isa sa maraming uri ng media para sa isang bagong uri ng dokumento.

Ang ilang napakagandang halimbawa ay ginawa sa Hypercard ni Ted Cuyler mismo noong huling bahagi ng 80s at unang bahagi ng 90s. Ang hypercard ay hindi direktang na-configure para dito - ang mga script ay hindi mga media object para sa mga card, ngunit maaari kang gumawa ng ilang trabaho at makakuha ng mga script na ipapakita sa mga card at gawin itong interactive. Ang isang partikular na nakakapukaw na halimbawa ay ang "Weasel", na isang aktibong sanaysay na nagpapaliwanag ng bahagi ng aklat ni Richard Dawkins na Blind Watchmaker, na nagpapahintulot sa mambabasa na mag-eksperimento sa isang balangkas na gumamit ng isang uri ng proseso ng pag-aanak upang makahanap ng mga target na pangungusap.

Ito ay nagkakahalaga ng pagsasaalang-alang na habang ang Hypercard ay halos perpektong akma para sa umuusbong na Internetβ€”at ang malawakang paggamit nito noong unang bahagi ng '90sβ€”ang mga taong lumikha ng Internet ay piniling huwag tanggapin ito o ang mas malalaking ideya ni Engelbart. At ang Apple, na mayroong maraming tao sa ARPA/Parc sa research wing nito, ay tumanggi na makinig sa kanila tungkol sa kahalagahan ng Internet at kung paano magiging mahusay ang Hypercard sa pagsisimula ng simetriko na read-write system. Tumanggi ang Apple na gumawa ng browser sa panahon na ang isang tunay na mahusay na browser ay magiging isang makabuluhang pag-unlad, at maaaring may malaking papel sa kung paano naging "pampublikong mukha" ng Internet.

Kung susulong tayo ng ilang taon matutuklasan natin ang ganap na kahangalan - halos malaswa kahit - ng isang web browser na walang tunay na sistema ng pag-unlad (isipin kung gaano katanga ang pag-unlad ng wiki ay dapat na gumana), at bilang isa sa maraming simpleng halimbawa, isang artikulo sa Wikipedia tulad ng LOGO , na gumagana sa isang computer, ngunit hindi pinapayagan ang mambabasa ng artikulo na subukan ang programming LOGO mula sa artikulo. Nangangahulugan ito na ang mahalaga sa mga computer ay na-block sa mga user bilang pagtatanggol sa iba't ibang pagpapatupad ng lumang media.

Ito ay nagkakahalaga ng pagsasaalang-alang na ang Wikipedia ay naging at ang pangunahing genre para sa pag-iisip, pag-imbento, pagpapatupad, at pagsulat ng "panitikan ng computing" na kailangan (at tiyak na kinabibilangan ito ng parehong pagbabasa at pagsulat sa maraming anyo ng multimedia, kabilang ang programming).

Ang mas mahalagang pag-isipan pa ay hindi ako makakasulat ng isang programa dito sa Quora answer na ito - sa 2017! - makakatulong ito na ipakita kung ano ang eksaktong sinusubukan kong ipaliwanag, sa kabila ng napakalaking kapangyarihan ng computer na pinagbabatayan ng mahinang ideyang ito ng interactive media. Ang mahalagang tanong ay "ano ang nangyari?" ay ganap na hindi napapansin dito.

Upang makakuha ng ideya sa problema, narito ang isang sistema noong 1978 na bahagyang binuhay namin ilang taon na ang nakararaan bilang isang pagpupugay kay Ted Nelson at bahagyang para sa kasiyahan.

(Pakinood dito sa 2:15)


Ang buong sistema ay isang maagang pagtatangka sa kung ano ang pinag-uusapan ko ngayon mahigit 40 taon na ang nakakaraan.

Ang isang pangunahing halimbawa ay makikita sa 9:06.


Bukod sa "mga dynamic na bagay", ang isa sa mga pangunahing pagsasaalang-alang dito ay ang "mga view" - ang media na nakikita sa pahina - ay maaaring iproseso nang pantay-pantay at hiwalay sa kanilang nilalaman (tinatawag namin silang "mga modelo"). Ang lahat ay isang "window" (ang ilan ay may tahasang mga hangganan at ang ilan ay hindi nagpapakita ng kanilang mga hangganan). Lahat ng mga ito ay pinagsama-sama sa pahina ng proyekto. Ang isa pang insight ay dahil kailangan mong bumuo at pagsamahin ang ilang bagay, siguraduhin na ang lahat ay composable at compositional.

Sa tingin ko ay mapapatawad ang mga hindi sopistikadong user sa hindi nila magawang punahin ang mga masasamang disenyo. Ngunit ang mga programmer na gumagawa ng interactive na media para sa mga user, at walang pakialam na matuto tungkol sa media at disenyo, lalo na mula sa kasaysayan ng kanilang sariling larangan, ay hindi dapat makawala dito nang ganoon kadali at hindi dapat bigyan ng gantimpala para sa paggawa nito. sila ay "mas mahina".

Sa wakas, ang isang larangan na walang tunay na panitikan ay halos katumbas ng katotohanan na ang larangan ay hindi isang larangan. Ang panitikan ay isang paraan upang mapanatili ang magagandang ideya sa isang bagong genre, at sa kasalukuyan at hinaharap na pag-iisip sa larangang iyon. Ito, siyempre, ay wala sa mga kalkulasyon sa anumang kapaki-pakinabang na lawak. Tulad ng pop culture, ang computing ay mas interesado pa rin sa kung ano ang maaaring gawin nang walang malawak na pagsasanay, at kung saan ang pagpapatupad ay mas mahalaga kaysa sa mga kahihinatnan ng mga resulta. Ang panitikan ay isa sa mga midyum kung saan maaari kang lumipat mula sa simple at kagyat tungo sa mas malaki at mas mahalaga.

Kailangan namin ito!

Tungkol sa GoTo School

Alan Kay at Marvin Minsky: May "grammar" na ang Computer Science. Kailangan ng "panitikan"

Pinagmulan: www.habr.com

Magdagdag ng komento