В настоящей книге применяется дедуктивный подход к программированию, основанный на объединении программ с абстрактными математическими теориями, которые обеспечивают их работу.
Представлены вместе описания этих теорий, алгоритмы, записанные с точки зрения этих теорий, а также теоремы и леммы, описывающие их свойства. Реализация алгоритмов на реальном языке программирования является центральной темой книги.
Эта книга предназначена для тех, кто стремится глубже понять суть программирования, будь то профессиональные программисты или ученые и инженеры, для которых программирование составляет важную часть их профессиональной деятельности. Книга предназначена для чтения от начала и до конца. Читатели смогут достичь понимания материала, только изучая код, доказывая леммы и выполняя упражнения.
"В книге содержатся одни из наиболее замечательных образцов кода, с которыми я когда-либо сталкивался." — Бьярне Страуструп, разработчик языка C++
Краткое содержание книги
В главе 1 приведено описание значений, объектов, типов, процедур и концепций. Главы 2–5 посвящены алгоритмам на алгебраических структурах, таких как полугруппы и полностью упорядоченные множества. В главах 6–11 описываются алгоритмы на абстрактных представлениях памяти. В главе 12 рассматриваются объекты, содержащие другие объекты. В послесловии представлены общие размышения о подходе, изложенном в книге.
"Как известно, инженеры-механики, строители и электрики в своей работе опираются на надежные математические основания. С другой стороны, инженеры-программисты часто практикуют свое ремесло, не имея или почти не имея представления о том, на каком математическом фундаменте зиждется то, чем они занимаются. А потом мы не можем понять, почему программное обеспечение печально известно тем, что поставляется с опозданием и содержит много ошибок, тогда как другие инженеры обычно сдают в эксплуатацию готовые мосты, автомобили, электрические приборы и пр. своевременно и с незначительными дефектами. Настоящая книга призвана устранить это неравенство. Члены моего коллектива, занимающиеся сложными разработками в компании Adobe, после прохождения курса по материалам книги получили чрезвычайно положительную отдачу от вложенных усилий. На первый взгляд книга может показаться весьма специализированной, предназначенной только для теоретиков в области компьютерных наук, но в действительности она должна быть обязательно изучена всеми инженерами-программистами, которые ставят перед собой серьезные задачи".
— Мартин Ньюэлл, заслуженный исследователь Adobe
"Я счастлив видеть, что содержимое курса Алекса, разработку которого я настоятельно поддерживал как технический директор Silicon Graphics, теперь доступно для всех программистов в этой изящной небольшой книге".
— Форест Баскетт, главный партнер, New Enterprise Associates
"Терпение и организационный опыт Пола помогли создать на базе математического подхода Алекса четко структурированное произведение, а это — впечатляющий подвиг!"
— Роберт В. Тэйлор, основатель Xerox PARC SCL и DEC Systems Research Center
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
LVV>"Как известно, инженеры-механики, строители и электрики в своей работе опираются на надежные математические основания. С другой стороны, инженеры-программисты часто практикуют свое ремесло, не имея или почти не имея представления о том, на каком математическом фундаменте зиждется то, чем они занимаются. А потом мы не можем понять, почему программное обеспечение печально известно тем, что поставляется с опозданием и содержит много ошибок, тогда как другие инженеры обычно сдают в эксплуатацию готовые мосты, автомобили, электрические приборы и пр. своевременно и с незначительными дефектами.
автор так далёк от реалий разработки обычного(ненаучного) ПО?.
Здравствуйте, neFormal, Вы писали:
F>автор так далёк от реалий разработки обычного(ненаучного) ПО?.
Я эту книгу прочёл, ещё на английском, и у меня сложилось впечатление, что авторы справились бы с разработкой обычного ПО, а вот я бы лично не справился с разработкой научного. С++ код там действительно красивый, быстрый и правильный. Упор там конечно делается на математику, в обычном ПО этого наверно очень мало (покрайне мере у меня), но меня лично подкупил тот математический подход, который авторы используют в программировании, вот смотришь на их программы и чувствуешь, что они правильные от начала и до конца. Вообщем получил эстетическое удовольствие, но это пока всё, не думаю, что это вина авторов, главное они показали путь.
Здравствуйте, igna, Вы писали:
I>Здравствуйте, LaptevVV, Вы писали:
LVV>>http://www.ozon.ru/context/detail/id/6279127/
I>А качество перевода как? А то ведь за такие деньги и оригинал на amazon.com можно купить, разница только в стоимости пересылки.
Вот после праздника получу заказ — отпишу.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Здравствуйте, strumpf, Вы писали:
S>Здравствуйте, LaptevVV, Вы писали:
LVV>>Вот после праздника получу заказ — отпишу. S>Каковы впечатления?
О подробностях пока опущу — не все дочитал.
Но общее впечатление — попытка внести математическую строгость в написание программ.
Поэтому чтиво — не из простых. Но совсем уж откровений — нет.
Просто внесение математической логики в программирование.
Одновременно напоминает Хоора и Гриса (Наука программирования)
Хочешь быть счастливым — будь им!
Без булдырабыз!!!