Ebook: Структура и интерпретация компьютерных программ
Author: Абельсон Х. Сассман Д.
- Genre: Компьютеры // Программирование
- Year: 2006
- Publisher: Доброcвет
- Edition: 2
- Language: Русский
- pdf
“Мне кажется, чрезвычайно важно, чтобы мы, занимаясь информатикой, получали радость от общения с компьютером. С самого начала это было громадным удовольствием. Конечно, время от времени встревали заказчики, и
через какое-то время мы стали серьезно относиться к их жалобам. Нам стало
казаться, что мы вправду отвечаем за то, чтобы эти машины использовались
успешно и безошибочно. Я не думаю, что это так. Я считаю, что мы отвечаем
за то, чтобы их тренировать, указывать им новые направления и поддерживать уют в доме. Я надеюсь, что информатика никогда не перестанет быть
радостью. Я надеюсь, что мы не превратимся в миссионеров. Не надо чувствовать себя продавцом Библий. Таких в мире и так достаточно. То, что Вы
знаете о программировании, могут выучить и другие. Не думайте, что в ваших руках ключ к успешной работе с компьютерами. Что у Вас, как я думаю
и надеюсь, есть — это разум: способность увидеть в машине больше, чем Вы
видели, когда Вас впервые к ней подвели, увидеть, что Вы способны сделать
ее бoльшим.” ´
Алан Дж. Перлис (1 апреля 1922 – 7 февраля 1990)
Программированием занимаются учителя, генералы, диетологи, психологи и родители. Программированию подвергаются армии, ученики и некоторые виды обществ. При
решении крупных задач приходится применять последовательно множество программ,
большая часть которых возникает прямо в процессе решения. Эт ´ и программы изобилуют деталями, относящимися к той конкретной задаче, которую они решают. Если же
Вы хотите оценить программирование как интеллектуальную деятельность особого рода, то Вам следует обратиться к программированию компьютеров; читайте и пишите
компьютерные программы — много программ. Не так уж важно, что будет в них написано и как они будут применяться. Важно то, насколько хорошо они работают и как
гладко стыкуются с другими программами при создании еще более крупных программ.
Программист должен равно стремиться и к совершенству в деталях, и к соразмерности
сложного целого. В книге, которую Вы держите в руках, словом «программирование» мы
будем обозначать прежде всего создание, выполнение и изучение программ, написанных
на одном из диалектов языка Лисп и предназначенных для выполнения на цифровом
компьютере. Использование Лиспа не ограничивает нас в том, что мы можем описать в ´
наших программах, — лишь в способе их выражения.
Материал этой книги был основой вводного курса по информатике в MIT начиная с
1980 года. К тому времени, как было выпущено первое издание, мы преподавали этот
материал в течение четырех лет, и прошло еще двенадцать лет до появления второго
издания. Нам приятно, что наша работа была широко признана и включена в другие
тексты. Мы видели, как наши ученики черпали идеи и программы из этой книги и
на их основе строили новые компьютерные системы и языки. Буквально по старому
талмудическому каламбуру, наши ученики стали нашими строителями. Мы рады, что у
нас такие одаренные ученики и такие превосходные строители.
Готовя это издание, мы включили в него сотни поправок, которые нам подсказали
как наш собственный преподавательский опыт, так и советы коллег из MIT и других
мест. Мы заново спроектировали большинство основных программных систем в этой
книге, включая систему обобщенной арифметики, интерпретаторы, имитатор регистровых машин и компилятор; кроме того, мы переписали все примеры программ так, чтобы
любая реализация Scheme, соответствующая стандарту Scheme IEEE (IEEE 1990), была
способна выполнять этот код.
В этом издании подчеркиваются несколько новых тем. Самая важная из них состоит
в том, что центральную роль в вычислительных моделях играют различные подходы ко
времени: объекты, обладающие состоянием, параллельное программирование, функциональное программирование, ленивые вычисления и недетерминистское программирование. Мы включили в текст новые разделы по параллельным вычислениям и недетерминизму и постарались интегрировать эту тему в материал книги на всем ее протяжении.
Сайт World Wide Web http://mitpress.mit.edu/sicp предоставляет поддержку
пользователям этой книги. Там есть программы из книги, простые задания по программированию, сопроводительные материалы и реализации диалекта Лиспа Scheme.
через какое-то время мы стали серьезно относиться к их жалобам. Нам стало
казаться, что мы вправду отвечаем за то, чтобы эти машины использовались
успешно и безошибочно. Я не думаю, что это так. Я считаю, что мы отвечаем
за то, чтобы их тренировать, указывать им новые направления и поддерживать уют в доме. Я надеюсь, что информатика никогда не перестанет быть
радостью. Я надеюсь, что мы не превратимся в миссионеров. Не надо чувствовать себя продавцом Библий. Таких в мире и так достаточно. То, что Вы
знаете о программировании, могут выучить и другие. Не думайте, что в ваших руках ключ к успешной работе с компьютерами. Что у Вас, как я думаю
и надеюсь, есть — это разум: способность увидеть в машине больше, чем Вы
видели, когда Вас впервые к ней подвели, увидеть, что Вы способны сделать
ее бoльшим.” ´
Алан Дж. Перлис (1 апреля 1922 – 7 февраля 1990)
Программированием занимаются учителя, генералы, диетологи, психологи и родители. Программированию подвергаются армии, ученики и некоторые виды обществ. При
решении крупных задач приходится применять последовательно множество программ,
большая часть которых возникает прямо в процессе решения. Эт ´ и программы изобилуют деталями, относящимися к той конкретной задаче, которую они решают. Если же
Вы хотите оценить программирование как интеллектуальную деятельность особого рода, то Вам следует обратиться к программированию компьютеров; читайте и пишите
компьютерные программы — много программ. Не так уж важно, что будет в них написано и как они будут применяться. Важно то, насколько хорошо они работают и как
гладко стыкуются с другими программами при создании еще более крупных программ.
Программист должен равно стремиться и к совершенству в деталях, и к соразмерности
сложного целого. В книге, которую Вы держите в руках, словом «программирование» мы
будем обозначать прежде всего создание, выполнение и изучение программ, написанных
на одном из диалектов языка Лисп и предназначенных для выполнения на цифровом
компьютере. Использование Лиспа не ограничивает нас в том, что мы можем описать в ´
наших программах, — лишь в способе их выражения.
Материал этой книги был основой вводного курса по информатике в MIT начиная с
1980 года. К тому времени, как было выпущено первое издание, мы преподавали этот
материал в течение четырех лет, и прошло еще двенадцать лет до появления второго
издания. Нам приятно, что наша работа была широко признана и включена в другие
тексты. Мы видели, как наши ученики черпали идеи и программы из этой книги и
на их основе строили новые компьютерные системы и языки. Буквально по старому
талмудическому каламбуру, наши ученики стали нашими строителями. Мы рады, что у
нас такие одаренные ученики и такие превосходные строители.
Готовя это издание, мы включили в него сотни поправок, которые нам подсказали
как наш собственный преподавательский опыт, так и советы коллег из MIT и других
мест. Мы заново спроектировали большинство основных программных систем в этой
книге, включая систему обобщенной арифметики, интерпретаторы, имитатор регистровых машин и компилятор; кроме того, мы переписали все примеры программ так, чтобы
любая реализация Scheme, соответствующая стандарту Scheme IEEE (IEEE 1990), была
способна выполнять этот код.
В этом издании подчеркиваются несколько новых тем. Самая важная из них состоит
в том, что центральную роль в вычислительных моделях играют различные подходы ко
времени: объекты, обладающие состоянием, параллельное программирование, функциональное программирование, ленивые вычисления и недетерминистское программирование. Мы включили в текст новые разделы по параллельным вычислениям и недетерминизму и постарались интегрировать эту тему в материал книги на всем ее протяжении.
Сайт World Wide Web http://mitpress.mit.edu/sicp предоставляет поддержку
пользователям этой книги. Там есть программы из книги, простые задания по программированию, сопроводительные материалы и реализации диалекта Лиспа Scheme.
Download the book Структура и интерпретация компьютерных программ for free or read online
Continue reading on any device:
Last viewed books
Related books
{related-news}
Comments (0)