Ако никога не сте чували за Алън Кей, поне сте чували известните му цитати. Например този цитат от 1971 г.:
Най-добрият начин да се предскаже бъдещето е да се измисли.
Най-добрият начин да предвидите бъдещето е да го измислите.
Алън има много колоритна кариера в компютърните науки. Той получи
В нашата
Относно разработката на софтуер
Алън Кей вярва, че компютърната революция тепърва предстои (
проблемът е слаби, лошо скалируеми идеи и инструменти, мързел, липса на знания и т.н.
Описва добре тази ситуация
Това, което Анди дава, Бил го отнема
Анди даде, Бил взе
Анди Гроув, главен изпълнителен директор на Intel, и Бил Гейтс, тогавашен главен изпълнителен директор на Microsoft.
Подобряването на текущото състояние на развитие беше целта на изследователския проект
В неговия проницателен доклад
Алън разглежда Интернет, TCP/IP протоколи, LISP интерпретатори,
Той нарича Интернет (TCP/IP) един от малкото мащабни софтуерни проекти, които са проектирани правилно и нивото на сложност е в баланс с нивото на сложност (усложнение срещу сложност). С по-малко от 20 1969 реда код, проектът работи като жива, динамична система, способна да поддържа милиарди възли, и никога не е излизал офлайн от първоначалното си стартиране през септември XNUMX г. Просто спряхме да смятаме Интернет за нормален софтуерен проект, създаден от хора:
Интернет е толкова добре развит, че много хора го третират като природен ресурс, като Тихия океан, а не като продукт на човешки труд. Кога за последен път видяхме толкова стабилна, ясна технология без грешки? За сравнение, мрежата е глупост. Мрежата е създадена от аматьори.
За обектно-ориентираното програмиране
Първото нещо, което ме заинтересува, беше неговото
Мислех за обектите като за нещо като биологични клетки и/или отделни компютри в мрежа, които могат да комуникират само чрез съобщения.
и опит в областта на математиката:
Моят опит в математиката ме накара да разбера, че всеки обект може да има няколко алгебри, те могат да бъдат комбинирани в семейства и това може да бъде много полезно.
Идеи за късно свързване и мощни мета-функции на LISPa:
Втората фаза е разбирането на LISPa и използването на това разбиране за създаване на по-лесни, по-малки, по-мощни структури и по-късно обвързване.
И скоро Алън започна да подкрепя идеята, че динамичните езици са
Късното обвързване позволява идеи, дошли по-късно в процеса на разработка, да бъдат включени в проекта с по-малко усилия (в сравнение с по-ранни обвързани системи като C, C++, Java и др.)
И потенциалът за промени в движение и по-бързи итерации:
Една от ключовите идеи е системата да продължи да работи по време на тестване, особено докато се правят промени. Дори големите промени трябва да бъдат постепенни и да отнемат не повече от част от секундата.
което липсва в
Ако използвате ранно обвързващи езици, както правят повечето хора, тогава се заключвате в това, което вече сте написали. Вече няма да е възможно да го преформулирате лесно.
Изненадващо, неговите мисли за ООП бяха ограничени до това:
OOP за мен е съобщения, локално задържане и защита, скриване на състоянието и късно свързване на всичко. Това може да се направи в Smalltalk и в LISP.
И нищо за наследството. Това не е ООП
Иска ми се да бях използвал термина "обект" за тази тема преди много време, защото той кара много хора да се съсредоточат върху по-малкото от идеите.
Голямата идея, която липсва на модерните статично въведени OO езици:
Голямата идея е "съобщенията"
Той вярва в фокусирането върху съобщенията, хлабавото свързване и взаимодействията на модулите, а не върху вътрешността на обект:
Ключът към създаването на добри мащабируеми системи е разработването на комуникационните механизми между модулите, а не разработването на техните вътрешни свойства и поведение.
Статично въведените езици му изглеждат
Не съм против типовете, но не знам за система от типове, която да не причинява болка. Така че все още харесвам динамичното писане.
Някои популярни езици днес използват идеите на Smalltalk за предаване на съобщения, късно свързване и
Унищожете всичко и създайте нещо по-добро
Алън има интересна теория за развитието на компютърните науки:
Струва ми се, че има само един вид компютърни науки и че науката е като изграждането на мостове. Някой строи мостове, а някой ги разрушава и създава нови теории. И трябва да продължим да строим мостове.
Относно LISP
Алън Кей вярва на Lisp
най-добрият език за програмиране на всички времена
И че всеки завършил компютърни науки трябва да го изучава:
Повечето хора, които следват степени по CS, не разбират важността на Lisp. Lisp е най-важната идея в компютърните науки.
За правилната атмосфера и контекст
Често си припомня уникалната атмосфера в
Гледната точка струва 80 IQ точки.
Алън Кей казва:
Историята на ARPA/PARC демонстрира как комбинация от визия, скромно финансиране, правилния контекст и процес може магически да роди нови технологии, които не само оказват влияние върху цивилизацията, но и създават огромна стойност за обществото.
И е вярно.
- Лазерни принтери
- Обектно-ориентирано програмиране / Smalltalk
- Персонални компютри
- Ethernet / разпределено изчисление
- GUI / компютърна мишка / WYSIWYG
И в
PS
Източник: www.habr.com