Калі вы ніколі не чулі пра Алана Кэя, то прынамсі чулі яго знакамітыя цытаты. Напрыклад, гэтае выказванне 1971 года:
Добрая мэта для таго, каб пазбавіць сябе будучым у гэтым.
Лепшы спосаб прадказаць будучыню гэта вынайсці яго.
У Алана вельмі яркая кар'ера ў інфарматыцы. Ён атрымаў
У нас у
Пра распрацоўку ПЗ
Алан Кэй лічыць, што кампутарная рэвалюцыя яшчэ наперадзе (
праблема ў слабых, дрэнна якія маштабуюцца ідэях і прыладах, ляноты, недахопу ведаў і т.д.
Гэтую сітуацыю добра апісвае
What Andy giveth, Bill taketh away
Эндзі даў, Біл узяў
Эндзі Грув, CEO Інтэла, і Біл Гейтс, тагачасны CEO Майкрасофта.
Паляпшэнне бягучага стан распрацоўкі было мэтай даследчага праекта
У яго дакладзе, які адкрывае вочы
Алан лічыць Інтэрнэт, пратаколы TCP/IP, інтэрпрэтатары LISP,
Ён называе Інтэрнэт (TCP/IP) адным з нямногіх маштабных софтверных праектаў, які быў правільна распрацаваны, і яго ўзровень складанасці – у балансе з узроўнем комплекснасці (complication vs. complexity). Гэты праект, у якім менш за 20 тысяч радкоў кода, працуе як жывая, дынамічная сістэма, здольная падтрымліваць мільярды вузлоў, і яна ні разу не адключалася пасля першага запуску ў верасні 1969 гады. Мы проста перасталі лічыць Інтэрнэт нармальным софт-праектам, створаным людзьмі:
Інтэрнэт распрацаваны настолькі добра, што многія ставяцца да яго як да натуральнага рэсурсу, накшталт Ціхага акіяна, а не да плёну чалавечай працы. Калі ў апошні раз мы бачылі настолькі стабільную, дакладную тэхналогію без памылак? Для параўнання, Інтэрнэт гэта глупства. Вэб створаны дылетантамі.
Пра аб'ектна-арыентаванае праграмаванне
Першае, што мяне цікавіла, гэта яго
Я лічыў аб'екты чымсьці накшталт біялагічных клетак, і/ці асобных кампутараў у сетцы, якія могуць мець зносіны толькі праз паведамленні.
і вопыт у матэматыцы:
Мой досвед у матэматыцы прымусіў мяне зразумець, што кожны аб'ект можа мець некалькі алгебр, яны могуць аб'ядноўвацца ў сямейства, і гэта можа быць вельмі карысным.
Ідэі позняга ззяння і магутных мета-магчымасцяў LISPa:
Другая фаза - гэта разуменне LISPa і выкарыстанне гэтага разумення для стварэння больш зручных, маленькіх і магутных структур і пазнейшае звязванне.
І неўзабаве Алан стаў падтрымліваць ідэю таго, што дынамічныя мовы гэта
Пазней звязванне дазваляе з меншымі намаганнямі ўбудоўваць у праект ідэі, якія ўзніклі пазней у працэсе распрацоўкі (у параўнанні з сістэмамі з больш раннім звязваннем накшталт C, C++, Java, і інш.)
І патэнцыял для змен на хаду і больш хуткіх ітэрацый:
Адна з ключавых ідэй: сістэма павінна працягваць працу падчас тэставання аб асабліва падчас твора змен. Нават буйныя змены павінны быць паэтапнымі і займаць не больш за долю секунды.
які адсутнічае ў
Калі вы выкарыстоўваеце мовы з раннім звязваннем, як гэта робіць большасць, тыя вы замыкаеце сябе ў рамкі таго, што ўжо напісалі. Перафармуляваць з лёгкасцю ўжо не атрымаецца.
Дзіўна, але яго думка пра ААП абмяжоўваліся гэтым:
ААП для мяне гэта паведамленні, лакальнае ўтрыманне і абарона, утойванне стану і пазней звязванне за ўсё. Гэта можна зрабіць у Smalltalk і ў LISP.
І нічога пра ўспадкоўванне. Гэта не той ААП,
Мне шкада, што даўным-даўно я выкарыстоўваў тэрмін «аб'ект» для гэтай тэмы, таму што з-за гэтага многія людзі факусуюцца на меншай з ідэй.
Вялікая ідэя, якой не хапае сучасным статычна-тыпізаваным ГА-мовам:
Вялікая ідэя гэта "паведамленні"
Ён лічыць, што трэба факусавацца на паведамленнях, слабой сувязі і ўзаемадзеянні модуляў, а не на вантробах аб'екта:
Ключ да стварэння добрых якія маштабуюцца сістэм гэта прапрацоўка механізмаў зносін модуляў, а не прапрацоўка іх унутраных уласцівасцяў і паводзін.
Статычна-тыпізаваныя мовы здаюцца яму
Я не супраць тыпаў, але мне не знаёмая ні адна сістэма тыпаў, якая не выклікала б болі. Так што мне ўсё яшчэ падабаецца дынамічная тыпізацыя.
Некаторыя папулярныя мовы сёння выкарыстоўваюць ідэі перадачы паведамленняў Smalltalk'а, пазней звязванне, і канструкцыю
Знішчыць усё і стварыць нешта лепш
У Алана ёсць цікавая тэорыя аб развіцці інфарматыкі:
Мне здаецца, што існуе толькі адзін тып кампутарнай навукі, і гэта навука падобная да будаўніцтва мастоў. Нехта будуе масты, а нехта разбурае іх і стварае новыя тэорыі. І нам трэба працягваць будаваць масты.
Пра LISP
Алан Кэй лічыць Лісп
лепшай мовай праграмавання ўсіх часоў
І што яго павінен вывучаць кожны выпускнік у computer science:
Большасць людзей, якія атрымліваюць дыпломы ў CS, не разумеюць усёй важнасці Lisp. Lisp гэта найважнейшая ідэя ў computer science.
Пра правільную атмасферу і кантэкст
Ён часта ўспамінае аб унікальнай атмасферы ў
Пункт гледжання дае 80 балаў IQ.
Алан Кэй лічыць:
Гісторыя ARPA/PARC дэманструе, як камбінацыя бачання, сціплага фінансавання, правільнага кантэксту і працэсу можа чароўнай выявай нараджаць новыя тэхналогіі, якія не толькі ўплываюць на цывілізацыю, але і ствараюць велізарную каштоўнасць для грамадства.
І гэта праўда.
- Лазерныя прынтэры
- Аб'ектна-арыентаванае праграмаванне / Smalltalk
- Персанальныя кампутары
- Ethernet / размеркаваныя вылічэнні
- GUI / кампутарная мыш / WYSIWYG
А ў
PS
Крыніца: habr.com