Представьте: вы садитесь в машину, берете в руки книгу и отправляетесь в путь. Вам не нужно управлять машиной – она управляет собой сама. Вам даже не нужно говорить ей, куда ехать, потому что она уже сверилась с вашим ежедневником, а он, в свою очередь, сам себя заполнил, проверив вашу почту и электронный план тренировок. Автомобиль везет вас не в магазин, потому что дроны уже доставили продукты в ваш холодильник, который еще на прошлой неделе сам отправил заявку в интернет-магазин), и не на работу (необходимость в офисе давно отпала), а, скажем, в оперу. Такой мир предлагает нам Интернет вещей.
Кажется, что это фантастика, однако все необходимые технологии уже существуют и выходят в серийное производство. Это значит, что идиллическая реальность Интернета вещей – вопрос самого ближайшего будущего. И у этого будущего есть обратная сторона: волна компьютерных преступлений, кибертерроризма и сетевого оружия, тотальная слежка и утрата контроля над собственной жизнью и окружающим миром.
Сэмюэл Грингард предлагает, не откладывая, отправиться в будущее и поразмыслить над важными вопросами, ответы на которые нам вскоре будут буквально жизненно необходимы.
Фундаментальный учебник по основам объектно-ориентированного программирования и инженерии программ. В книге подробно излагаются основные понятия объектной технологии – классы, объекты, управление памятью, типизация, наследование, универсализация. Большое внимание уделяется проектированию по контракту и обработке исключений, как механизмам, обеспечивающим корректность и устойчивость программных систем.
В книге Бертрана Мейера рассматриваются основы объектно-ориентированного программирования. Изложение начинается с рассмотрения критериев качества программных систем и обоснования того, как объектная технология разработки может обеспечить требуемое качество. Основные понятия объектной технологии и соответствующая нотация появляются как результат тщательного анализа и обсуждений. Подробно рассматривается понятие класса - центральное понятие объектной технологии. Рассматривается абстрактный тип данных, лежащий в основе класса, совмещение классом роли типа данных и модуля и другие аспекты построения класса. Столь же подробно рассматриваются объекты и проблемы управления памятью. Большая часть книги уделена отношениям между классами – наследованию, универсализации и их роли в построении программных систем. Важную часть книги составляет введение понятия контракта, описание технологии проектирования по контракту, как механизма, обеспечивающего корректность создаваемых программ. Не обойдены вниманием и другие важные темы объектного программирования – скрытие информации, статическая типизация, динамическое связывание и обработка исключений. Глубина охвата рассматриваемых тем делает книгу Бертрана Мейера незаменимой для понимания основ объектного программирования.