Алан Кей, созандаи OOP, дар бораи рушд, Lisp ва OOP

Алан Кей, созандаи OOP, дар бораи рушд, Lisp ва OOP

Агар шумо ҳеҷ гоҳ дар бораи Алан Кей нашунида бошед, шумо ҳадди аққал иқтибосҳои машҳури ӯро шунидаед. Масалан, ин иқтибос аз соли 1971:

Беҳтарин роҳи пешгӯии оянда ин ихтироъ кардани он аст.
Беҳтарин роҳи пешгӯии оянда ин ихтироъ кардани он аст.

Алан дар илми информатика касби хеле рангин дорад. У кабул кард Ҷоизаи Киото и Ҷоизаи Тюринг барои кори худ дар парадигмаи барномасозии ба объект нигаронидашуда. Вай яке аз пешравон дар соҳаи компютерҳои фардӣ ва интерфейсҳои графикӣ буд, ӯ таҳия кардааст Зали хурд яке аз аввалин забонҳои барномасозӣ дар ҳама давру замон аст.

Дар мо Хекслет, махсусан дар сӯҳбат, саволи "OOP чист" ва "Алан Кей дар ҳақиқат чӣ маъно дошт" пайваста ба миён меояд. Ин паём дорои иқтибосҳои ҷолиб аз Алан дар бораи вазъи рушди муосир, OOP ва забони Lisp мебошад.

Дар бораи таҳияи нармафзор

Алан Кей боварӣ дорад, ки инқилоби компютерӣ ҳанӯз дар пеш аст (Инқилоби воқеии компютерӣ ҳанӯз рух надодааст) ва таҳияи нармафзор дар таносуби баръакс бо Қонуни Мур инкишоф меёбад: сахтафзор ҳар сол беҳтар мешавад, аммо нармафзор ба таври зарурӣ варам мекунад:

проблема суст, идеяю воситахои сусти мичьёсшаванда, танбалй, бе-донй ва гайра мебошад.

Ин вазъиятро хуб тавсиф мекунад шӯхии кӯтоҳ:

Он чизеро, ки Анди медиҳад, Билл мегирад
Анди дод, Билл гирифт

Энди Гроув, директори генералии Intel ва Билл Гейтс, директори он замон Microsoft.

Бехтар намудани вазъияти хозираи тараккиёт максади лоихаи тадкикотй буд ҚАДАМҲО ба сӯи ихтироъ кардани барномасозӣ (pdf). Ҳадаф ноил шудан ба "Қонуни Мур" дар баёния тавассути "кам кардани миқдори рамзи зарурӣ 100, 1000, 10000 маротиба ё бештар аз он" мебошад.

Дар гузориши чашми худ Барномасозӣ ва миқёс (видео) Ин мавзӯъ муфассалтар баррасӣ мешавад. Ба гуфтаи Алан, муҳандисии нармафзор ба як илми фаромӯшшуда табдил ёфтааст, ки наметавонад бо сахтафзор ва дигар илмҳо ва фанҳои муҳандисӣ қафо гардад. Лоихахои калон ба кодхо табдил ёфта, ба дарачае расидаанд ҳеҷ кас нест 100 миллион сатри коди MS Vista ё MS Word-ро фаҳмида наметавонад. Аммо дар асл, дар чунин лоиҳаҳо бояд тартиботи миқдори камтари код мавҷуд бошад.

Алан Интернет, протоколҳои TCP/IP, тарҷумонҳои LISP, Nile (Math DSL барои графикаи векторӣ) ва OMeta (OO PEG) (PDF) намунаҳои нармафзори шево бо рамзи ҳадди ақал.

Вай Интернетро (TCP/IP) яке аз чанд лоиҳаи нармафзори бузургмиқёси дуруст меномад ва сатҳи мураккабии он бо сатҳи мураккабӣ (мушкилот ва мураккабӣ) мувозинат дорад. Бо камтар аз 20 сатри код, лоиҳа ҳамчун як системаи зинда ва динамикӣ кор мекунад, ки қодир аст миллиардҳо гиреҳҳоро дастгирӣ кунад ва аз замони оғози аввал дар моҳи сентябри соли 1969 ҳеҷ гоҳ офлайн нагузаштааст. Мо танҳо худдорӣ кардем, ки Интернетро як лоиҳаи нармафзори муқаррарии аз ҷониби одамон сохташуда ҳисоб кунем:

Интернет ба дараҷае хуб рушд кардааст, ки бисёриҳо онро на маҳсули меҳнати инсон, балки ҳамчун манбаи табиӣ, ба мисли Уқёнуси Ором мешуморанд. Мо кай бори охир чунин технологияи устувор, равшан ва бехато дидем? Барои муқоиса, Веб сафсата аст. Веб аз ҷониби ҳаваскорон сохта шудааст.

Дар бораи барномасозии ба объект нигаронидашуда

Аввалин чизе, ки маро ба худ ҷалб кард, ӯ буд аслӣ ООП биниши. Таҷрибаи ӯ дар микробиология нақши муҳим бозид:

Ман объектҳоро ҳамчун ҳуҷайраҳои биологӣ ва/ё компютерҳои инфиродӣ дар шабака, ки танҳо тавассути паёмҳо муошират карда метавонанд, фикр мекардам.

ва таҷриба дар математика:

Таҷрибаи ман дар соҳаи математика маро дарк намуд, ки ҳар як объект метавонад якчанд алгебра дошта бошад, онҳоро ба оилаҳо муттаҳид кардан мумкин аст ва ин метавонад хеле муфид бошад.

Идеяҳо барои дер ҳатмӣ ва мета-хусусиятҳои пурқуввати LISSa:

Марҳилаи дуюм фаҳмидани LISP ва истифодаи ин фаҳмиш барои сохтани сохторҳои осонтар, хурдтар, пурқувваттар ва баъдтар ҳатмӣ мебошад.

Ва дере нагузашта Алан ба дастгирии идеяи забонҳои динамикӣ шурӯъ кард ояндаи таҳияи нармафзор (pdf). Аз ҷумла, осонии тағирот барои ӯ муҳим аст:

Ҳатмии дер имкон медиҳад, ки ғояҳое, ки баъдтар дар раванди таҳия ба вуҷуд омадаанд, бо кӯшиши камтар ба лоиҳа ворид карда шаванд (дар муқоиса бо системаҳои қаблан басташуда ба монанди C, C++, Java ва ғайра).

Ва потенсиали тағирот дар парвоз ва такрори тезтар:

Яке аз ғояҳои асосӣ ин аст, ки система бояд ҳангоми санҷиш, махсусан ҳангоми ворид кардани тағирот корашро идома диҳад. Ҳатто тағироти ҷиддӣ бояд тадриҷан бошанд ва на бештар аз як сонияро дар бар гиранд.

ки дар он нест забонҳои ба таври статикӣ чопшуда:

Агар шумо мисли аксари одамон забонҳои ҳатмии барвақтро истифода баред, шумо худро ба он чизе ки аллакай навиштаед, маҳкам мекунед. Дигар ба осонӣ ислоҳ кардани он имконнопазир хоҳад буд.

Тааҷҷубовар аст, ки андешаҳои ӯ дар бораи OOP бо ин маҳдуд буданд:

OOP барои ман ин паёмҳо, нигоҳдорӣ ва муҳофизати маҳаллӣ, пинҳон кардани давлатӣ ва дер бастани ҳама чиз аст. Инро дар Smalltalk ва LISP анҷом додан мумкин аст.

Ва ҳеҷ чиз дар бораи мерос. Ин OOP нест ки мо имруз медонем:

Кош ман истилоҳи "объект"-ро барои ин мавзӯъ кайҳо истифода мебурдам, зеро ин боиси он мегардад, ки бисёриҳо ба ақидаҳои камтар тамаркуз кунанд.

Идеяи бузурге, ки забонҳои муосири OO-и статикӣ чопшуда надоранд:

Идеяи бузург "паёмҳо" аст

Вай бовар дорад, ки тамаркуз ба паёмҳо, пайвастагии фуҷур ва ҳамкории модулҳо, на ба дохили объект:

Калиди эҷоди системаҳои хуби миқёспазир кор кардани механизмҳои иртиботӣ байни модулҳо ва кор накардани хосиятҳо ва рафтори дохилии онҳо мебошад.

Ба назари ӯ забонҳои ба таври статикӣ чопшуда ба назар мерасанд нуқсон:

Ман зидди намудҳо нестам, аммо ягон системаи навъи, ки боиси дард нест, намедонам. Ҳамин тавр, ман то ҳол чопкунии динамикӣ дӯст медорам.

Баъзе забонҳои маъмул имрӯз паёми интиқоли ғояҳои Smalltalk, ҳатмии дер ва намефаҳмаддаъват ба пеш в Мақсад - Cусули_набуд в лаъл и noSuchMethod дар Google дихед.

Ҳама чизро нест кунед ва чизи беҳтареро эҷод кунед

Алан дар бораи рушди илми информатика назарияи ҷолиб дорад:

Ба назари ман, танҳо як намуди илми информатика вуҷуд дорад ва илм ба сохтани пулҳо монанд аст. Касе пулҳо месозад ва касе онҳоро вайрон мекунад ва назарияҳои нав эҷод мекунад. Ва мо бояд пулҳоро идома диҳем.

Дар бораи LISP

Алан Кей ба Лисп бовар мекунад

беҳтарин забони барномасозии ҳама давру замон

Ва ҳар як хатмкунандаи илми информатика бояд онро омӯзад:

Аксарияти одамоне, ки дар CS дараҷа мегиранд, аҳамияти Lispро намефаҳманд. Lisp муҳимтарин ғоя дар илми информатика мебошад.

Дар бораи атмосфера ва контексти дуруст

Вай аксар вақт фазои беҳамтоеро ба ёд меорад Нархи Xerox PARC и Harp, ки дар он "биниш аз ҳадафҳо муҳимтар аст" ва "маблағгузории одамон, на лоиҳаҳо."

Нуқтаи назар ба 80 нуқтаи IQ баробар аст.

Алан Кей мегӯяд:

Ҳикояи ARPA/PARC нишон медиҳад, ки чӣ гуна омезиши биниш, маблағгузории хоксорона, заминаи дуруст ва раванд метавонад ба таври ҷодугарӣ технологияҳои навро ба вуҷуд орад, ки на танҳо ба тамаддун таъсир мерасонанд, балки барои ҷомеа арзиши бузург эҷод мекунанд.

Ва ин дуруст аст. Ба рӯйхати таъсирбахши ихтирооти PARC нигаред, ки бисьёрии онхо дар тараккиёти чахони мо роли хеле мухим бозиданд. Барои намуна:

  • Принтерҳои лазерӣ
  • Барномасозии ба объект нигаронидашуда / Smalltalk
  • Компютерҳои шахсӣ
  • Компютерҳои Ethernet / тақсимшуда
  • GUI / муши компютерӣ / WYSIWYG

Ва дар Harp таъсис ёфтааст АРПАНЕТ, ки пешвои интернет гардид.

PS Алан Кей ба саволҳои ҷомеаи Hacker News ҷавоб медиҳад.

Манбаъ: will.com

Илова Эзоҳ