ʻO Alan Kay, ka mea nāna i hana OOP, e pili ana i ka hoʻomohala ʻana, Lisp a me OOP

ʻO Alan Kay, ka mea nāna i hana OOP, e pili ana i ka hoʻomohala ʻana, Lisp a me OOP

Inā ʻaʻole ʻoe i lohe iā Alan Kay, ua lohe ʻoe i kāna mau ʻōlelo kaulana. No ka laʻana, kēia ʻōlelo mai 1971:

ʻO ke ala maikaʻi loa e wānana i ka wā e hiki mai ana, ʻo ia ka hana ʻana.
ʻO ke ala maikaʻi loa e wānana i ka wā e hiki mai ana, ʻo ia ka hana ʻana.

He ʻoihana kalai loa ko Alan ma ka ʻepekema kamepiula. Ua loaʻa iā ia makana ʻo Kyoto и makana ʻo Turing no kāna hana ma ke ʻano papahana hoʻolālā. ʻO ia kekahi o nā paionia ma ke kahua o nā kamepiula pilikino a me nā kiʻi kiʻi, ua hoʻomohala ʻo ia Kūkākūkā liʻiliʻi ʻo ia kekahi o nā ʻōlelo papahana koʻikoʻi loa i nā manawa āpau.

I loko o kā mākou Hexlete, oi loa aku ma kamailio, ʻo ka nīnau "he aha ka OOP" a "he aha ka manaʻo maoli o Alan Kay" e hāpai mau ʻia. Aia kēia pou i nā ʻōlelo hoihoi mai Alan e pili ana i ke kūlana o ka hoʻomohala hou, OOP a me ka ʻōlelo Lisp.

E pili ana i ka hoʻomohala polokalamu

Ke manaʻoʻiʻo nei ʻo Alan Kay e hiki mai ana ka hoʻololi kamepiula (ʻAʻole i hiki mai ke kipi kamepiula maoli), a hoʻomohala ʻia ka hoʻomohala ʻana i nā lako polokalamu ma ke ʻano like ʻole me ke kānāwai o Moore: hoʻomaikaʻi ʻia ka lako polokalamu i kēlā me kēia makahiki, akā lilo nā lako polokalamu i mea ʻole.

nāwaliwali ka pilikia, nā manaʻo a me nā mea paahana maikaʻi ʻole, palaualelo, nele i ka ʻike, etc.

Hōʻike maikaʻi i kēia kūlana ʻakaʻaka pōkole:

ʻO ka mea a Andy e hāʻawi ai, e lawe aku ʻo Bill
Hāʻawi ʻo Andy, lawe ʻo Bill

Andy Grove, Luna Nui o Intel, a me Bill Gates, a laila Luna Nui o Microsoft.

ʻO ka hoʻomaikaʻi ʻana i ke kūlana o ka hoʻomohala ʻana i kēia manawa ka pahuhopu o ka papahana noiʻi Nā ʻanuʻu i ke ʻano hou o ka papahana (pdf). ʻO ka pahuhopu e hoʻokō i ka "Moore's Law" ma ka hōʻike ʻana ma ka "hoʻemi ʻana i ka nui o nā code i koi ʻia e 100, 1000, 10000 mau manawa a ʻoi aku paha."

Ma kāna hōʻike maka Papahana a me ka hoʻonui ʻana (wikiō) Kūkākūkā ʻia kēia kumuhana i nā kikoʻī. Wahi a Alan, ua paʻa ka ʻenekinia lako polokalamu a ke lilo nei i ʻepekema poina ʻaʻole hiki ke hoʻomau i ka lako a me nā ʻepekema ʻē aʻe a me nā ʻenehana ʻenekinia. Ua lilo nā papahana nui i nā code dumps a ua hiki i kahi ʻaʻohe hiki ʻole ke hoʻomaopopo i nā laina 100 miliona o MS Vista a i ʻole MS Word code. Akā i ka ʻoiaʻiʻo, pono e loaʻa kahi kauoha o ka nui o ka code ma ia mau papahana.

Manaʻo ʻo Alan i ka Pūnaewele, nā protocol TCP/IP, nā unuhi unuhi LISP, Nile (Math DSL no Vector Graphics) a me OMeta (OO PEG) (PDF) nā laʻana o nā polokalamu nani me ka liʻiliʻi liʻiliʻi.

Kāheaʻo ia i ka Internet (TCP/IP) kekahi o nā papahana polokalamu nui nui i hoʻolālā ponoʻia, aʻo kona pae o ka paʻakikī i ke kaulike me ke kiʻekiʻe o ka paʻakikī (complication vs. complexity). Me ka liʻiliʻi ma mua o 20 laina o ka code, ke hana nei ka papahana ma ke ʻano he ʻōnaehana ola a me ka ikaika e hiki ke kākoʻo i nā piliona o nā nodes, a ʻaʻole i hele ma waho mai kona hoʻomaka ʻana i Kepakemapa 1969. Ua kāpae wale mākou i ka noʻonoʻo ʻana i ka Pūnaewele he papahana polokalamu maʻamau i hana ʻia e nā poʻe:

Ua hoʻomohala maikaʻi ʻia ka Pūnaewele a ua nui ka poʻe e mālama iā ia e like me ka waiwai kūlohelohe, e like me ka Moana Pākīpika, ma mua o ka huahana o ka hana kanaka. ʻO ka manawa hea mākou i ʻike ai i ka ʻenehana paʻa, maopopo, hala ʻole? Ma ka hoʻohālikelike, he mea lapuwale ka Pūnaewele. Ua hana ʻia ka pūnaewele e nā amateurs.

E pili ana i ka hoʻolālā ʻana i nā mea

ʻO ka mea mua i hoihoi iaʻu ʻo kāna kumu OOP hihio. He mea koʻikoʻi kona ʻike ma ka microbiology:

Ua noʻonoʻo au i nā mea e like me nā cell biological, a/a i ʻole kamepiula pākahi ma kahi pūnaewele hiki ke kamaʻilio ma o nā memo wale nō.

a me ka ʻike ma ka makemakika:

Ua ʻike koʻu ʻike ma ka makemakika, hiki i kēlā me kēia mea ke loaʻa nā algebras, hiki ke hoʻohui ʻia i loko o nā ʻohana, a he mea pono loa kēia.

Nā manaʻo no ka hoʻopaʻa hope ʻana a me nā hiʻohiʻona meta-mana o LISPa:

ʻO ka ʻaoʻao ʻelua ka hoʻomaopopo ʻana i ka LISPa a me ka hoʻohana ʻana i kēlā ʻike e hana i nā hale maʻalahi, liʻiliʻi, ʻoi aku ka ikaika a me ka paʻa hope.

A ua hoʻomaka koke ʻo Alan e kākoʻo i ka manaʻo o nā ʻōlelo ikaika ka wā e hiki mai ana o ka hoʻomohala polokalamu (pdf). ʻO ka mea nui, he mea nui iā ia ka maʻalahi o ka hoʻololi:

ʻO ka hoʻopaʻa hope ʻana e ʻae i nā manaʻo i hiki mai ma hope o ke kaʻina hana hoʻomohala e hoʻokomo ʻia i loko o ka papahana me ka hoʻoikaika liʻiliʻi (e hoʻohālikelike ʻia me nā ʻōnaehana paʻa mua e like me C, C++, Java, etc.)

A ʻo ka hiki ke hoʻololi i ka lele a me ka wikiwiki o ka ʻike:

ʻO kekahi o nā manaʻo koʻikoʻi ʻo ia ka hoʻomau ʻana o ka ʻōnaehana i ka wā o ka hoʻāʻo ʻana, ʻoiai ke hana ʻia nei nā loli. ʻO nā hoʻololi koʻikoʻi pono e lohi a ʻaʻole i ʻoi aku ma mua o hoʻokahi hapa kekona.

ka mea i nalowale i loko nā ʻōlelo i hoʻopaʻa ʻia:

Inā hoʻohana ʻoe i nā ʻōlelo paʻa mua, e like me ka hana a ka hapa nui o ka poʻe, a laila hoʻopaʻa ʻoe iā ʻoe iho i ka mea āu i kākau mua ai. ʻAʻole hiki ke hoʻoponopono hou iā ia me ka maʻalahi.

ʻO ka mea kupanaha, ua kaupalena ʻia kona mau manaʻo e pili ana iā OOP i kēia:

ʻO OOP noʻu nā memo, ka paʻa a me ka pale kūloko, ka hūnā mokuʻāina a me ka hoʻopaʻa ʻana i nā mea āpau. Hiki ke hana i keia ma Smalltalk a ma LISP.

ʻAʻohe mea e pili ana i ka hoʻoilina. ʻAʻole kēia ka OOP a kakou i ike ai i keia la:

Manaʻo wau ua hoʻohana wau i ka huaʻōlelo "mea" no kēia kumuhana i ka wā lōʻihi ma mua no ka mea e hoʻohuli ai ka poʻe he nui i ka manaʻo liʻiliʻi.

ʻO ka manaʻo nui i nele i nā ʻōlelo OO i kākau ʻia i kēia manawa:

ʻO ka manaʻo nui he "message"

Manaʻo ʻo ia i ka nānā ʻana i nā memo, ka hoʻopili ʻana, a me ka launa pū ʻana o nā module ma mua o nā mea i loko o kahi mea:

ʻO ke kī i ka hoʻokumu ʻana i nā ʻōnaehana scalable maikaʻi ke hana nei i nā mīkini kamaʻilio ma waena o nā modules, a ʻaʻole hana i kā lākou mau waiwai a me nā ʻano.

ʻIke ʻia iā ia nā ʻōlelo i kākau ʻia hemahema:

ʻAʻole wau kūʻē i nā ʻano, akā ʻaʻole wau ʻike i kekahi ʻano ʻōnaehana ʻaʻole e hōʻeha i ka ʻeha. No laila makemake mau au i ka paʻi ʻana.

Ke hoʻohana nei kekahi mau ʻōlelo kaulana i kēia lā i ka manaʻo o Smalltalk e hele ana i nā manaʻo, paʻa hope, a ʻAʻole hoʻomaopopohoʻolaha ʻōlelo в Pahuhopu-Cʻano_nalo в Ruby и noSuchMethod ma Google nā ihe a.

E hoʻopau i nā mea a pau a hana i kahi mea maikaʻi

He manaʻo hoihoi ko Alan e pili ana i ka hoʻomohala ʻana i ka ʻepekema kamepiula:

Me he mea lā hoʻokahi wale nō ʻano o ka ʻepekema lolouila, a ua like ka ʻepekema i ke kūkulu ʻana i nā alahaka. Kūkulu kekahi i nā alahaka, a hoʻopau kekahi iā lākou a hana i nā manaʻo hou. A pono mākou e hoʻomau i ke kūkulu ʻana i nā alahaka.

No LISP

Manaʻoʻo Alan Kay iā Lisp

ʻōlelo polokalamu maikaʻi loa o nā manawa a pau

A pono e aʻo i kēlā me kēia puka ʻepekema kamepiula:

ʻAʻole maopopo ka hapa nui o ka poʻe e ʻimi ana i nā kekelē ma CS i ke koʻikoʻi o Lisp. ʻO Lisp ka manaʻo nui loa i ka ʻepekema kamepiula.

E pili ana i ka lewa kūpono a me ka pōʻaiapili

Hoʻomanaʻo pinepine ʻo ia i ka lewa kū hoʻokahi i loko PAKA Xerox и bale, kahi "ʻoi aku ka nui o ka hihiʻo ma mua o nā pahuhopu" a "kālā kālā i nā kānaka, ʻaʻole nā ​​papahana."

He 80 mau helu IQ ka manaʻo.

'Ōleloʻo Alan Kay:

Hōʻike ka moʻolelo ARPA/PARC i ke ʻano o ka hui pū ʻana o ka hihiʻo, ke kālā haʻahaʻa, ka pōʻaiapili kūpono a me ke kaʻina hana e hiki ai ke hānau i nā ʻenehana hou ʻaʻole i hoʻopilikia wale i ka moʻomeheu akā hoʻokumu i ka waiwai nui no ke kaiāulu.

A he oiaio. E nānā i kā PARC papa inoa o nā mea hana, ka nui o ia mau mea i hana nui i ka hooulu ana o ko kakou honua. ʻo kahi laʻana:

  • Nā mea paʻi laser
  • Papahana Hoʻopono-mea / Smalltalk
  • Nā kamepiula pilikino
  • Ethernet / hoʻopili helu helu
  • GUI / iole kamepiula / WYSIWYG

A iloko bale hana ʻia ARPANET, ka mea i lilo i kupuna o ka Internet.

PS Pane ʻo Alan Kay i nā nīnau mai ke kaiāulu Hacker News.

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka