Перевод с английского под редакцией к.т.н. В.А. Биллига. — М.:
Национальный Открытый Университет «ИНТУИТ»; Бином. Лаборатория
знаний, 2011. — 775 с.
В книге обобщен многолетний опыт обучения программированию в ETH,
Цюрих. В ней удачно сочетаются три грани, характерные для
профессионального программирования, – наука, искусство и инженерия.
Она в первую очередь ориентирована на студентов, обучающихся в
области информационных технологий, и их преподавателей, но
представляет несомненный интерес для всех программистов, создающих
программный продукт высокого качества.
В книге излагаются основы объектно-ориентированного программирования (ООП). Особое внимание уделяется корректности программ за счет введения контрактов – предусловий, постусловий методов класса, инвариантов классов. Глубоко и подробно рассматриваются такие механизмы ООП, как наследование и универсальность. Изучаются алгоритмы и структуры данных – массивы, кортежи, списки, хэш-таблицы, различные виды распределителей, деревья. Подробно рассматриваются рекурсивные алгоритмы и рекурсивные структуры данных. Даются основы лямбда-исчисления и вводятся агенты, поддерживающие функциональный тип данных.
Язык Eiffel используется как рабочий язык программирования.
Книга содержит предисловие и шесть частей. Шестая часть содержит пять приложений, в которых дается сравнительный анализ языков программирования – Java, C#, C++, C.
В книге излагаются основы объектно-ориентированного программирования (ООП). Особое внимание уделяется корректности программ за счет введения контрактов – предусловий, постусловий методов класса, инвариантов классов. Глубоко и подробно рассматриваются такие механизмы ООП, как наследование и универсальность. Изучаются алгоритмы и структуры данных – массивы, кортежи, списки, хэш-таблицы, различные виды распределителей, деревья. Подробно рассматриваются рекурсивные алгоритмы и рекурсивные структуры данных. Даются основы лямбда-исчисления и вводятся агенты, поддерживающие функциональный тип данных.
Язык Eiffel используется как рабочий язык программирования.
Книга содержит предисловие и шесть частей. Шестая часть содержит пять приложений, в которых дается сравнительный анализ языков программирования – Java, C#, C++, C.