Главная » Просмотр файлов » Х. Абельсон, Дж. Дж. Сассман, Дж. Сассман - Структура и интерпретация компьютерных программ

Х. Абельсон, Дж. Дж. Сассман, Дж. Сассман - Структура и интерпретация компьютерных программ (1108516), страница 4

Файл №1108516 Х. Абельсон, Дж. Дж. Сассман, Дж. Сассман - Структура и интерпретация компьютерных программ (Х. Абельсон, Дж. Дж. Сассман, Дж. Сассман - Структура и интерпретация компьютерных программ) 4 страницаХ. Абельсон, Дж. Дж. Сассман, Дж. Сассман - Структура и интерпретация компьютерных программ (1108516) страница 42019-04-28СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 4)

Он обязателен для всехстудентов MIT на специальностях «электротехника» и «информатика», как одна из четырех частей «общей базовой программы обучения», которая включает еще два курса поэлектрическим схемам и линейным системам, а также курс по проектированию цифровыхсистем. Мы принимали участие в развитии этого курса начиная с 1978 года и преподавали этот материал в его нынешней форме начиная с осени 1980 года шестистам–семистамстудентам в год. Большая часть этих студентов не имела почти или совсем никакого формального образования в области вычислительной техники, хотя у многих былавозможность общения с компьютерами, а некоторые обладали значительным опытом впрограммировании либо проектировании аппаратуры.Построение этого вводного курса по информатике отражает две основные задачи. Вопервых, мы хотим привить слушателям идею, что компьютерный язык — это не простоспособ заставить компьютер производить вычисления, а новое формальное средство выражения методологических идей.

Таким образом, программы должны писаться для того,чтобы их читали люди, и лишь во вторую очередь для выполнения машиной. Во-вторых,мы считаем, что основной материал, на который должен быть направлен курс этогоуровня, — не синтаксис определенного языка программирования, не умные алгоритмы16Предисловие к первому изданиюдля эффективного вычисления определенных функций, даже не математический анализалгоритмов и оснований программирования, но методы управления интеллектуальнойсложностью больших программных систем.Наша цель — развить в студентах, проходящих этот курс, хороший вкус к элементамстиля и эстетике программирования.

Они должны овладеть основными методами управления сложностью в большой системе, уметь прочитать 50-ти страничную программу,если она написана в хорошем стиле. Они должны в каждый данный момент понимать,чего сейчас не следует читать и что сейчас не нужно понимать. Они не должны испытывать страха перед модификацией программы, сохраняя при этом дух и стиль исходногоавтора.Все эти умения ни в коем случае не исчерпываются компьютерным программированием. Методы, которым мы учим и из которых мы черпаем, одни и те же в любом техническом проектировании. Мы управляем сложностью с помощью построения абстракций,скрывающих, когда это нужно, детали. Мы управляем сложностью путем установлениястандартных интерфейсов, которые позволяют нам строить системы из единообразных,хорошо понимаемых кусков способом «смеси и стыковки».

Мы управляем сложностью спомощью построения новых языков для описания проекта, каждый из которых концентрирует внимание на определенных деталях проекта и уводит его от других.В основе нашего подхода к предмету лежит убеждение, что «компьютерная наука» неявляется наукой и что ее значение мало связано с компьютерами.

Компьютерная революция — это революция в том, как мы мыслим и как мы выражаем наши мысли. Сущностьэтих изменений состоит в появлении дисциплины, которую можно назвать компьютерной эпистемологией, — исследования структуры знания с императивной точки зрения,в противоположность более декларативной точке зрения классических математическихдисциплин. Математика дает нам структуру, в которой мы можем точно описывать понятия типа «что такое».

Вычислительная наука дает нам структуру, в которой мы можемточно описывать понятия типа «как».В преподавании мы используем диалект языка программирования Лисп. Мы не учимформальной стороне языка, поскольку в этом не возникает нужды. Мы просто его используем, и студенты схватывают его за несколько дней. В этом состоит одно из больших преимуществ лиспоподобных языков: в них очень мало способов строить составныевыражения и нет почти никакой синтаксической структуры. Все формальные детали могут быть описаны за час, как правила шахмат.

Спустя некоторое время мы забываем оформальных свойствах языка (поскольку их нет) и продолжаем говорить о настоящихвопросах; определяем, что именно мы хотим вычислить, как мы будем разбивать задачуна куски разумного размера и как потом будем работать с этими кусками. Еще одно преимущество Лиспа состоит в том, что он поддерживает (но не навязывает) больше крупномасштабных стратегий разбиения программ на модули, чем любой другой известный намязык. Можно строить абстракции процедур и данных, можно использовать функции высших порядков, чтобы охватить общие шаблоны их использования, можно моделироватьлокальное состояние с использованием присваивания и изменения данных, можно связывать части программы с помощью потоков и задержанных вычислений, и можно с легкостью реализовывать встроенные языки. Все это включено в диалоговое окружение с превосходной поддержкой пошагового проектирования, построения, тестирования и отладкипрограмм.

Мы благодарны всем поколениям кудесников Лиспа начиная с Джона Маккарти, которые создали замечательный инструмент непревзойденной силы и красоты.Предисловие к первому изданию17Scheme, тот диалект Лиспа, который мы используем, пытается совместить силу икрасоту Лиспа и Алгола.

От Лиспа мы берем метаязыковую мощь, которой он обязанпростоте своего синтаксиса, единообразное представление программ как объектов данных, выделение данных из кучи с последующей их утилизацией сборщиком мусора.От Алгола мы берем лексическую область действия и блоковую структуру, подаренныенам первопроходцами проектирования языков программирования из комитета по Алголу.Мы хотим упомянуть Джона Рейнольдса и Питера Ландина, открывших связь Чёрчева лямбда-исчисления со структурой языков программирования. Мы также отдаем даньпризнательности математикам, разведавшим эту область за десятилетия до появленияна сцене компьютеров.

Среди этих первопроходцев были Алонсо Чёрч, Беркли Россер,Стефен Клини и Хаскелл Карри.БлагодарностиМы хотели бы поблагодарить множество людей, которые помогли нам создать этукнигу и этот курс.Наш курс — очевидный интеллектуальный потомок «6.321», замечательного курса покомпьютерной лингвистике и лямбда-исчислению, который читали в MIT в конце 60-хДжек Уозенкрафт и Артур Эванс мл.Мы очень обязаны Роберту Фано, который реорганизовал вводную программу MITпо электротехнике и информатике, сосредоточившись на принципах технического проектирования.

Он вдохновил нас на это предприятие и написал первую программу курса,из которого развилась эта книга.Стиль и эстетика программирования, которые мы пытаемся привить читателю, вомногом были разработаны совместно с Гаем Льюисом Стилом мл., который вместе сДжеральдом Джеем Сассманом участвовал в первоначальной разработке языка Scheme.В дополнение к этому Дэвид Тёрнер, Питер Хендерсон, Дэн Фридман, Дэвид Уайзи Уилл Клингер научили нас многим из приемов функционального программирования,которые излагаются в данной книге.Джон Мозес научил нас структурировать большие системы. Благодаря его опыту ссистемой символьных вычислений Macsyma мы стали понимать, что необходимо избегать усложненности структур управления и в первую очередь заботиться о такой организации данных, которая отражает реальную структуру моделируемого мираМарвин Минский и Сеймур Пэйперт сильно повлияли на формирование нашего подхода к программированию и к его месту в нашей интеллектуальной жизни.

Благодаря иммы понимаем, что вычисление дает нам средство выражения и исследования мыслей, которые иначе были бы слишком сложны, чтобы с ними можно было точно работать. Ониподчеркивают, что способность писать и изменять программы дает студенту мощноесредство, с помощью которого исследование становится естественной деятельностью.Кроме того, мы полностью согласны с Аланом Перлисом в том, что программирование — это огромное удовольствие и что нам нужно стараться поддерживать радостьпрограммирования. Часть этой радости приходит от наблюдения за работой великих мастеров. Нам выпало счастье быть учениками у ног Билла Госпера и Ричарда Гринблатта.Трудно перечислить всех тех, кто принял участие в развитии программы нашего курса.

Мы благодарим всех лекторов, инструкторов и тьюторов, которые работали с нами впрошедшие пятнадцать лет и потратили много часов сверхурочной работы на наш предмет, особенно Билла Сиберта, Альберта Мейера, Джо Стоя, Рэнди Дэвиса, Луи Брэйда,Эрика Гримсона, Рода Брукса, Линна Стейна и Питера Соловитца. Мы бы хотели особоотметить выдающийся педагогический вклад Франклина Турбака, который теперь пре-Благодарности19подает в Уэллесли: его работа по обучению младшекурсников установила стандарт, накоторый мы все можем равняться. Мы благодарны Джерри Сальтцеру и Джиму Миллеру, которые помогли нам бороться с тайнами параллельных вычислений, а также ПитеруСоловитцу и Дэвиду Макаллестеру за их вклад в представление недетерминистскихвычислений в главе 4.Много людей вложило немалый труд в преподавание этого материала и в другихуниверситетах.

Вот некоторые из тех, с кем мы тесно общались в работе: это ДжекобКацнельсон в Технионе, Хэрди Майер в Калифорнийском университете в Ирвине, ДжоСтой в Оксфорде, Элиша Сэкс в университете Пердью и Ян Коморовский в Норвежскомуниверситете Науки и Техники. Мы гордимся коллегами, которые получили наградыза адаптацию этого предмета в других университетах: это Кеннет Йип в Йеле, БрайанХарви в Калифорнийском университете в Беркли и Дон Хаттенлохер в Корнелле.Эл Мойе дал нам возможность прочитать этот материал инженерам компании ХьюлеттПаккард и устроил производство видеоверсии этих лекций.

Характеристики

Список файлов книги

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6372
Авторов
на СтудИзбе
309
Средний доход
с одного платного файла
Обучение Подробнее