Издательство Springer, 2009, 920 стр.
Язык английский. Качество изначально компьютерное (eBook). Автор книги Бертран Мейер является одним из ведущих ученых в области инженерии программного обеспечения. Он автор девяти книг. Им опубликовано более 250 научных работ. В настоящее время заведующий знаменитой кафедры Software Engineering в швейцарском ETH (Eidgenoessische Technische Hochschule) — Высшей Политехнической школе в Цюрихе. Создатель языка программирования Eiffel. Новая книга Бертрана Мейера (русское название - "Почувствуй класс. Учимся программировать хорошо с объектами и контрактами") посвящена важному направлению в теории и практике программирования, а именно программной инженерии, девизом которой может служить выражение: программа не только должна быть написана, но и должна правильно работать. В книге обобщен многолетний опыт обучения программированию в ЕТН. В ней удачно сочетаются три грани, характерные для профессионального программирования, - наука, искусство и инженерия. Она в первую очередь ориентирована на студентов, обучающихся в области информационных технологий, и их преподавателей, но представляет несомненный интерес для всех программистов, создающих программный продукт высокого качества.
В книге излагаются основы объектно-ориентированного программирования (ООП). Особое внимание уделяется корректности программ за счет введения контрактов - предусловий, постусловий методов класса, инвариантов классов. Глубоко и подробно рассматриваются такие механизмы ООП, как наследование и универсальность. Изучаются алгоритмы и структуры данных - массивы, кортежи, списки, хэш-таблицы, различные виды распределителей, деревья. Подробно рассматриваются рекурсивные алгоритмы и рекурсивные структуры данных. Даются основы лямбда-исчисления и вводятся агенты, поддерживающие функциональный тип данных.
Язык Eiffel используется как рабочий язык программирования. Книга содержит предисловие и шесть частей. Шестая часть содержит пять приложений, в которых дается сравнительный анализ языков программирования - Java, С#, С++, С и использование среды программирования EiffelStudio. Содержание
Community resources
Dedication
Prefaces
Student_preface
Instructor_preface
Note to instructors: what to cover?
Contents
Part I Basic
The industry of pure ideas
Dealing with objects
Program structure basics
The interface of a class
Just Enough Logic
Creating objects and executing systems
Control structures
Routines, functional abstraction and information hiding
Variables, assignment and references
Part II How things work
Just enough hardware
Describing syntax
Programming languages and tools
Part III Aalgoritms and data structures
Fundamental data structures, genericity, and algorithm complexity
Recursion and trees
Devising and engineering an algorithm: Topological Sort
Part IV Object-oriented techniques
Inheritance
Operations as objects: agents and lambda calculus
Event-driven design
Part V Towards software engineering
Introduction to software engineering
Part VI Appendices
An introduction to Java (from material by Marco Piccioni)
An introduction to C# (from material by Benjamin Morandi)
An introduction to C++ (from material by Nadia Polikarpova)
From C++ to C
Using the EiffelStudio environment
Язык английский. Качество изначально компьютерное (eBook). Автор книги Бертран Мейер является одним из ведущих ученых в области инженерии программного обеспечения. Он автор девяти книг. Им опубликовано более 250 научных работ. В настоящее время заведующий знаменитой кафедры Software Engineering в швейцарском ETH (Eidgenoessische Technische Hochschule) — Высшей Политехнической школе в Цюрихе. Создатель языка программирования Eiffel. Новая книга Бертрана Мейера (русское название - "Почувствуй класс. Учимся программировать хорошо с объектами и контрактами") посвящена важному направлению в теории и практике программирования, а именно программной инженерии, девизом которой может служить выражение: программа не только должна быть написана, но и должна правильно работать. В книге обобщен многолетний опыт обучения программированию в ЕТН. В ней удачно сочетаются три грани, характерные для профессионального программирования, - наука, искусство и инженерия. Она в первую очередь ориентирована на студентов, обучающихся в области информационных технологий, и их преподавателей, но представляет несомненный интерес для всех программистов, создающих программный продукт высокого качества.
В книге излагаются основы объектно-ориентированного программирования (ООП). Особое внимание уделяется корректности программ за счет введения контрактов - предусловий, постусловий методов класса, инвариантов классов. Глубоко и подробно рассматриваются такие механизмы ООП, как наследование и универсальность. Изучаются алгоритмы и структуры данных - массивы, кортежи, списки, хэш-таблицы, различные виды распределителей, деревья. Подробно рассматриваются рекурсивные алгоритмы и рекурсивные структуры данных. Даются основы лямбда-исчисления и вводятся агенты, поддерживающие функциональный тип данных.
Язык Eiffel используется как рабочий язык программирования. Книга содержит предисловие и шесть частей. Шестая часть содержит пять приложений, в которых дается сравнительный анализ языков программирования - Java, С#, С++, С и использование среды программирования EiffelStudio. Содержание
Community resources
Dedication
Prefaces
Student_preface
Instructor_preface
Note to instructors: what to cover?
Contents
Part I Basic
The industry of pure ideas
Dealing with objects
Program structure basics
The interface of a class
Just Enough Logic
Creating objects and executing systems
Control structures
Routines, functional abstraction and information hiding
Variables, assignment and references
Part II How things work
Just enough hardware
Describing syntax
Programming languages and tools
Part III Aalgoritms and data structures
Fundamental data structures, genericity, and algorithm complexity
Recursion and trees
Devising and engineering an algorithm: Topological Sort
Part IV Object-oriented techniques
Inheritance
Operations as objects: agents and lambda calculus
Event-driven design
Part V Towards software engineering
Introduction to software engineering
Part VI Appendices
An introduction to Java (from material by Marco Piccioni)
An introduction to C# (from material by Benjamin Morandi)
An introduction to C++ (from material by Nadia Polikarpova)
From C++ to C
Using the EiffelStudio environment