Алан Кей: «Які книги Ви порадили б прочитати тому, хто навчається на Computer Science»

Якщо коротко, то я б порадив читати багато книг, які не мають відношення до інформатики.

Алан Кей: «Які книги Ви порадили б прочитати тому, хто навчається на Computer Science»

Важливо розуміти, яке місце займає поняття “science” у “Computer Science”, і що означає “engineering” у “Software Engineering”.

Сучасне поняття «науки» можна сформулювати так: це спроба перекласти явища в моделі, які можна легко пояснити і передбачити. На цю тему можна прочитати Sciences of the Artificial (одна з важливих книг Герберта Саймона). На це можна дивитись з такої точки зору: якщо люди (особливо розробники) будують мости, то вчені можуть пояснювати ці явища, створюючи моделі. Найцікавіше в цьому те, що наука майже постійно знаходитиме нові, найкращі способи наведення мостів, тож дружні стосунки між вченими та розробниками цілком можуть покращуватися з кожним роком.

Прикладом подібного зі сфери Комп'ютерні науки є Джон Маккарті, який розмірковує про комп'ютери в кінці 50-х років, тобто про неймовірно великий спектр того, що вони можуть зробити (може бути, ІІ?), і створення моделі обчислень, яка є мовою, і може служити власною метамовою (Lisp). Моя улюблена книга на цю тему - The Lisp 1.5 Manual від MIT Press (автор Маккарті зі співавторами). Перша частина цієї книги, як і раніше, залишається класикою того, як потрібно думати загалом і про інформаційні технології зокрема.

(Пізніше вийшла книга "Smalltalk: the language and its implementation", автори якої (Адель Голдберг і Дейв Робсон) надихалися всім цим. Також містить повний опис практичного застосування проекту, написаний мовою Smalltalk і т.д.).

Мені дуже подобається книга The Art of the Metaobject Protocol під авторством Кікзалеса, Боброу і Рівери, що вийшла ще пізніше попередніх. Вона із тих книг, які можна назвати «серйозною інформатикою». Перша частина особливо гарна.

Інша наукова робота 1970 року, яку можна вважати серйозною Комп'ютерні науки - "A Control Definition Language" Дейва Фішера (Університет Карнегі Меллон).

Може здатися, що моя улюблена книга про комп'ютерні обчислення (computing) далека від сфери ІТ, але вона чудова і її приємно читати: "Computation: Finite and Infinite Machines" Марвіа Мінського (близько 1967). Просто чудова книга.

Якщо потрібна допомога з "наукою" ("science"), я зазвичай рекомендую безліч книг: "Principia" Ньютона (основна наукова книга та установчий документ), "The Molecular Biology of the Cell" Брюса Альбертса та ін. Або, наприклад, книга із записами Максвелла і т.д.

Вам потрібно усвідомити, що "Computer Science" - це все ще прагнення досягти, а не досягнуте.

"Розробка" ("Engineering") означає "проектування та конструювання речей принциповим експертним способом". Необхідний рівень цього вміння дуже високий всім областей: цивільної, механічної, електротехнічної, біологічної та інших.

Слід ретельно вивчати цей аспект, щоб краще зрозуміти, що означає займатися «розробкою» («engineering»).

Якщо потрібна допомога з розробкою (engineering), спробуйте почитати про створення Емпайр Стейт Білдінг, греблі Гувера, мосту «Золоті Ворота» і т.п. Мені подобається книга "Now It Can Be Told", написана генерал-майором Леслі Гровс (почесне звання учасника Манхеттенського проекту). Він інженер, і ця історія абсолютно точно не про Лос-Аламоський проект POV (яким він також керував), а про Оук-Рідж, Хенфорд і т.д., а також про дивовижне залучення більше 600 000 чоловік та величезних грошей для виконання проектування необхідного для створення потрібних матеріалів.

Крім того, подумайте про те, в якій сфері немає частини «розробки ПЗ» («software engineering») — знову ж таки, вам потрібно зрозуміти, що «розробка ПЗ» у будь-якому «розробному» сенсі в кращому разі залишається прагненням досягти, а не досягненням.

Комп'ютери також є свого роду «медіа» та «посередниками», тому треба розуміти, що вони роблять для нас і який впливають на нас. Вважайте Маршалла Маклюена, Ніла Постмана, Інніса, Хейвлока і т.д. Марк Міллер (коментар нижче) щойно нагадав мені, щоб я порекомендував книгу «Technics and Human Development», тому. 1 із серії "The Myth of the Machine" Льюїса Мамфорда - великого попередника як ідей медіа-середовища, так і важливого аспекту антропології.

Мені складно порадити хорошу книгу з антропології (може бути, хтось інший це зробить), але розуміння людей як живих істот — це найважливіший аспект освіти і слід його вивчити. В одному з коментарів нижче Метт Габурі порекомендував Human Universals (я думаю, що він має на увазі книгу Дональда Брауна). Ця книга, безумовно, має бути прочитана і зрозуміла — вона не з тієї ж полиці, що й книги про якусь певну область, як-от «Molecular Biology of the Cell».

Мені подобаються книги Едварда Тафті із серії Envisioning Information: прочитайте їх усі.

Книги Бертрана Рассела, як і раніше, дуже корисні хоча б для того, щоб глибше замислитися над тим і цим (A History of Western Philosophy все ще вражає).

Безліч точок зору – це єдиний спосіб боротися з людським бажанням вірити і створювати релігії, тому моєю улюбленою книгою з історії є “Destiny Disrupted” Таміма Ансарі. Він виріс в Афганістані, переїхав до США у віці 16 років і здатний написати чітку, просвітницьку історію світу з часів Мухаммеда з погляду цього світу і без зайвих закликів вірити.

*POV (propagation of variance) - поширення протиріч у показаннях (прим.пер.)

Переклад виконано за підтримки компанії EDISON Softwareяка професійно пише софт для IoT у міських масштабах, А так само розробляє програмне забезпечення для нових томографів .

Джерело: habr.com

Додати коментар або відгук