Книга посвящена описанию различных систем программного синтаксиса, анализу перехода от набора алгоритмов к программному коду. Значительное место уделяется обсуждению набора "элементарных программ", использующихся в качестве элементов конструкции программ более высоких уровней
сложности, оптимизации соотношения их "веса" и эффективности. Особое внимание авторы уделяют анализу проблемы взаимодействия компьютера как физического объекта и программного кода, обеспечивающего информационную составляющую вычисления.
Книга будет полезна всем, кому приходится иметь дело с программированием, в том числе и в гуманитарных областях знания.
... полное описание
Классическая книга Э.Эванса освещает наиболее общий, стратегический круг вопросов, связанных с объектно-ориентированной разработкой программного обеспечения. Это переработка и структуризация знаний о предметных областях, применение типовых архитектурных шаблонов, построение
и анализ моделей предметных областей, проектирование программных объектов с точки зрения качества их взаимодействия и передачи логической структуры знаний, организация программ на основе крупномасштабных структур, выработка общего языка и стратегии коммуникации в группе. Подход автора строится на динамичном рефакторинге модели и постоянной дистилляции знаний. Это позволяет достигнуть высокой степени гармонии между логикой предметной области и кодом программы, а также достаточной гибкости программной архитектуры для целей удобной доработки и интеграции программного обеспечения. Книга насыщена практическими примерами из реальных проектов.
Мировое сообщество программистов признает, что моделирование предметных областей - ключевой раздел проектирования программного обеспечения. В моделях предметных областей разработчики выражают сложные функции своих программ, реализуя их затем в таком виде, который отвечает реальным потребностям пользователей. Но несмотря на очевидную важность предмета, существует очень мало пособий по эффективному внедрению моделирования предметных областей в практику разработки программ.
Книга Эрика Эванса заполняет этот пробел.
Она посвящена не отдельным технологиям, а систематическому предметно-ориентированному подходу. В ней представлен широкий набор приемов и методик, основанных на практическом опыте, и фундаментальных принципов, помогающих в реализации программных проектов из сложных предметных областей. Органично переплетая практику проектирования и реализации программ, эта книга содержит множество фактических примеров, иллюстрирующих применение общих стратегических принципов в реальных программных проектах.
Из книги читатель узнает, как с помощью модели предметной области придать разработке сложной системы нужную направленность и динамику. Выделены основные приемы и образцы-шаблоны, образующие общий язык группы разработчиков. Особо подчеркивается необходимость рефакторинга не только кода, но и модели в его основе, что в сочетании с итерационной agile-методикой приводит к углублению знаний о предметной области и повышению качества взаимодействия между специалистами и программистами. Подход книги строится именно на этом фундаменте, предлагая модели и архитектуры для систем и организаций любой сложности.
В частности, в книге рассматриваются следующие темы:
Единый язык общения для всей группы разработчиков.
Глубокая связь между моделью и программной реализацией.
Выделение ключевых черт модели.
Управление циклом существования объектов.
Написание легко интегрируемого кода предметной облас...
... полное описание
Лучшая книга об игровой индустрии от известного американского журналиста Джейсона Шрейера. Автор собрал сотни уникальных и захватывающих историй создания лучших компьютерных игр десятилетия, рассказанных ему самими создателями. Получилась жизненная и нетривиальная книга о том, что стоит за каждой культовой игрой современности и какой ценой ее разработчики выпускают продукты, собирающие миллионы фанатов по всему миру. В книге вы найдете истории создания Diablo III и Dragon Age: Inquisition, Uncharted 4, Witcher III и многих других игровых бестселлеров. ... полное описание
Книга Алгоритмы: построение и анализ удачно объединяет в себе полноту охвата и строгость изложения материала. Много книг, посвященных алгоритмам, отличается строгостью изложения материала, но страдает определенной неполнотой; другие книги охватывают огромный объем материала, но недостаточно строго излагают его. В книге Алгоритмы: построение и анализ описаны самые разнообразные алгоритмы, сочетается широкий диапазон тем с глубиной и полнотой изложения; при этом изложение доступно для читателей самого разного уровня подготовки. Каждая глава книги относительно самодостаточна и может использоваться в качестве отдельной темы для изучения. Алгоритмы в книге Алгоритмы: построение и анализ описаны простым человеческим языком и с применением псевдокода, который понятен любому, кто хоть в небольшой степени знаком с программированием, а пояснения принципов их работы даны без излишней математической строгости и требуют лишь элементарных знаний. Первое издание книги Алгоритмы: построение и анализ давно стало стандартным справочным руководством для профессионалов и учебным пособием для университетов. Второе издание было дополнено новыми главами, раскрывающими такие темы, как вероятностный анализ и рандомизированные алгоритмы, линейное программирование. Третье издание также существенно дополнено и пересмотрено. В него вошли две совершенно новые главы, посвященные деревьям ван Эмде Боаса и многопоточным алгоритмам, а глава, посвященная рекуррентности, существенно расширена. Изменена подача такого материала, как динамическое программирование и жадные алгоритмы, и введено новое понятие потока, основанного на ребрах, в материале о транспортных сетях. В третье издание книги Алгоритмы: построение и анализ также было добавлено множество новых упражнений и задач. Фундаментальный труд Алгоритмы: построение и анализ известных специалистов в области информатики достоин занять место на полке любого человека, чья деятельность так или иначе связана с вычислительной техникой и алгоритмами: для профессионала эта книга может служить настольным справочником, для преподавателя - пособием для подготовки к лекциям и источником интересных нетривиальных задач, для студентов и аспирантов - отличным учебником. Каждый может найти в ней именно тот материал, который касается интересующей его темы и представлен именно с тем уровнем сложности и строгости, который требуется читателю. Описание алгоритмов на естественном языке дополняется псевдокодом, который позволяет любому имеющему хотя бы начальные знания и опыт программирования, реализовать алгоритм на используемом им языке программирования. Строгий математический анализ и обилие теорем сопровождаются большим количеством иллюстраций, элементарными рассуждениями и простыми приближенными оценками. Широта охвата материала и степень строгости его изложения дают основания считать эту книгу одной из лучших книг, посвященных разработке и анализу алгоритмов. Третье издание этого классического труда в большой степени доработано. В нем появились новые главы, в том числе посвященные такой важной в последнее время теме, как многопоточные алгоритмы, а старые подверглись переработке, местами весьма существенной, когда уже имевшийся во втором издании материал излагается с иных позиций, чем ранее. Данная книга будет не лишней как на столе студента и аспиранта, так и на рабочей полке практикующего программиста. Об авторах Томас Кормен - профессор информатики в колледже Дартмута и бывший директор Института литературы и риторики Дартмутского колледжа. Чарльз Лейзерсон - профессор информатики и электротехники в Массачусетском технологическом институте, где также работает и профессор Рональд Ривест. Клиффорд Штайн - профессор организации производства и исследования операций в Колумбийском университете. Отзывы о книге: "В свете взрывного роста количества данных и распространения вычислительных приложений эффективные алгоритмы востребованы в еще большей степени, чем ранее. Эта прекрасно написанная, тщательно продуманная и организованная книга является отличным введением в разработку и анализ алгоритмов. Первая ее половина представляет собой эффективный учебник теории алгоритмов, а вторая в большей степени предназначена для научных работников и любознательных студентов, которые хотели бы получить дополнительные знания об этой интересной науке." Шан-Хуа Тенг, Университет Южной Каролины "Это настоящая библия в указанной области, исчерпывающий учебник, охватывающий весь спектр современных алгоритмов: от быстрых алгоритмов и структур данных до алгоритмов с полиномиальным временем работы для решения очень сложных задач, от классических алгоритмов теории графов до специализированных алгоритмов поиска подстрок, вычислительной геометрии и теории чисел. Нельзя не упомянуть появившиеся в третьем издании деревья ван Эмде Боаса и многопоточные алгоритмы, важность которых постоянно увеличивается". Дэниел Шпильман, факультет информатики Йельского университета "Как преподаватель и исследователь в области алгоритмов с более чем двадцатилетним стажем, могу с уверенностью утверждать, что книга Кормена - лучший из встречавшихся мне учебников. Это умный, энциклопедичный и современный подход к изучению алгоритмов; наш факультет продолжит использовать эту книгу как в качестве учебника для студентов и аспирантов, так и в качестве рекомендуемого справочного пособия". Габриэль Робинс, факультет информатики Университета Вирджинии. 3-е издание. ... полное описание
Находясь на переднем крае программирования, книга "Программист-прагматик" абстрагируется от всевозрастающей специализации и технических тонкостей разработки программ на современном уровне, чтобы исследовать суть процесса - требования к работоспособной и поддерживаемой программе,
приводящей пользователей в восторг. Книга охватывает различные темы - от личной ответственности и карьерного роста до архитектурных методик, придающих программам гибкость и простоту в адаптации и повторном использовании. Прочитавэту книгу, вы научитесь: Бороться с недостатками программного обеспечения; Избегать ловушек, связанных с дублированием; Создавать гибкие, динамичные и адаптируемые программы; Избегать программирования в расчете на совпадение; Защищать вашу программу при помощи контрактов, утверждений и исключений; Собирать реальные требования; Осуществлять безжалостное и эффективное тестирование; Приводить в восторг ваших пользователей; Формировать команды из программистов-прагматиков; С помощью автоматизации делать ваши разработки более точными.
Книга "Программист-прагматик" написана в виде последовательных законченных разделов и изобилует анекдотами, серьезными примерами и разнообразными аналогиями. В ней описываются самые интересные случаи из практики авторов и основные ловушки, относящиеся к разным аспектам разработки программ.
Будь вы новичок, опытный программист или менеджер, ответственный за проекты в области программного обеспечения, - в любом случае используйте в своей работе уроки, описанные в книге, и вскоре ваша производительность, точность и удовлетворение от сделанной работы возрастут. Вы получите навыки и сформируете привычки, которые станут основой для долгосрочной успешной карьеры. Вы станете программистом-прагматиком.
... полное описание
Даже плохой программный код может работать. Однако если код не является "чистым", это всегда будет мешать развитию проекта и компании-разработчика, отнимая значительные ресурсы на его поддержку и "укрощение".
Эта книга посвящена хорошему программированию. Она полна реальных примеров
кода. Мы будем рассматривать код с различных направлений: сверху вниз, снизу вверх и даже изнутри. Прочитав книгу, вы узнаете много нового о коде. Более того, вы научитесь отличать хороший код от плохого. Вы узнаете, как писать хороший код и как преобразовать плохой код в хороший.
Книга состоит из трех частей. В первой части излагаются принципы, паттерны и приемы написания чистого кода; приводится большой объем примеров кода. Вторая часть состоит из практических сценариев нарастающей сложности. Каждый сценарий представляет собой упражнение по чистке кода или преобразованию проблемного кода в код с меньшим количеством проблем. Третья часть книги - концентрированное выражение ее сути. Она состоит из одной главы с перечнем эвристических правил и "запахов кода", собранных во время анализа. Эта часть представляет собой базу знаний, описывающую наш путь мышления в процессе чтения, написания и чистки кода.
... полное описание
Немногие книги по управлению проектами можно назвать столь же значимыми как "Мифический человеко-месяц". Смешение примеров из реальной разработки ПО, мнений и размышлений создает яркую картину управления сложными проектами. Эти эссе основаны на пятидесятилетнем опыте работы Брукса менеджером проектов в IBM System/360, а затем в OS/360. Первое издание книги вышло 45 лет назад, второе 25 лет назад. Возникают новые методологии, появляются новые языки программирования, растет количество процессоров, но эта книга продолжает оставаться актуальной. Почему? Спустя полвека мы продолжаем повторять ошибки, которые описал Брукс. Некоторые темы, поднимаемые в книге, кажутся устаревшими, но это лишь видимость. Фундаментальные проблемы, стоящие за ними, все так же актуальны в наше время. Важно знать свое прошлое, чтобы понимать, куда развивается индустрия разработки программного обеспечения. Поэтому, спустя 45 лет мы и читаем Брукса. Многое изменилось в мире, но девять женщин всё так же не могут выносить ребенка за один месяц. ... полное описание
Впервые изданная в 2000 году, книга «Не заставляйте меня думать», написанная гуру юзабилити Стивом Кругом, успела помочь сотням тысяч веб-дизайнеров и разработчиков освоить принципы интуитивной навигации и информативного дизайна. Благодаря своей практичности, остроумию и здравому смыслу, эта книга стала одним из самых любимых и рекомендуемых изданий на тему юзабилити. Сегодня Стив вернулся к своим читателям с новыми знаниями и дополненными представлениями о юзабилити, пересматривая правила, сделавшие книгу «Не заставляйте меня думать» классикой. Автор освежил примеры, а также добавил новую главу о юзабилити для мобильных устройств. Книга по-прежнему небольшая, хорошо иллюстрированная и, что важнее всего, увлекательная. Стив Круг трудился в качестве высокоуважаемого консультанта по юзабилити, пока не вышло первое издание книги «Не заставляйте меня думать». Через десять лет после этого он накопил достаточно сил для написания еще одной книги — руководства по юзабилити-тестированию Rocket Surgery Made Easy: The Do-It-Yourself Guide to Finding and Fixing Usability Problems («Ракетная хирургия с легкостью: Руководство в стиле «Сделай сам» по отысканию и устранению проблем юзабилити»). Эти книги основаны на его более чем двадцатилетнем опыте работы юзабилити-консультантом с самыми разными клиентами, такими как Apple, Bloomberg.com, Lexus.com, NPR, Международный валютный фонд и другими. Его консультационная фирма Advanced Common Sense («Продвинутый Здравый Смысл») располагается в городе Честнат-Хилл (штат Массачусетс). Сейчас Стив основную часть времени посвящает проведению мастер-классов по юзабилити, консультированию, а также просмотру черно-белых фильмов 30—40-х годов прошлого века. Чтобы узнать больше о Стиве и о его занятиях, посетите сайт www.stevekrug.com или отыщите Стива в социальной сети Twitter (@skrug). ... полное описание
Книга является наиболее полным руководством по разработке эффективных алгоритмов. Первая часть книги содержит практические рекомендации по разработке алгоритмов: приводятся основные понятия, дается анализ алгоритмов, рассматриваются типы структур данных, основные алгоритмы сортировки, операции обхода графов и алгоритмы для работы со взвешенными графами, примеры использования комбинаторного поиска, эвристических методов и динамического программирования. Вторая часть книги содержит обширный список литературы и каталог из 75 наиболее распространенных алгоритмических задач, для которых перечислены существующие программные реализации. Приведены многочисленные примеры задач. Книгу можно использовать в качестве справочника по алгоритмам для программистов, исследователей и в качестве учебного пособия для студентов соответствующих специальностей. ... полное описание
Более 10 лет первое издание этой книги считалось одним из лучших практических руководств по программированию. Сейчас эта книга полностью обновлена с учетом современных тенденций и технологий и дополнена сотнями новых примеров, иллюстрирующих искусство и науку программирования.
Опираясь на академические исследования, с одной стороны, и практический опыт коммерческих разработок ПО - с другой, автор синтезировал из самых эффективных методик и наиболее эффективных принципов ясное прагматичное руководство. Каков бы ни был ваш профессиональный уровень, с какими бы средствами разработки вы ни работали, какова бы ни была сложность вашего проекта, в этой книге вы найдете нужную информацию, она заставит вас размышлять и поможет создать совершенный код.
Книга состоит из 35 глав, предметного указателя и библиографии.
... полное описание
В предлагаемой книге описываются простые и изящные решения типичных задач, возникающих в объектно-ориентированном проектировании. Паттерны появились потому, что многие разработчики искали пути повышения гибкости и степени повторного использования своих программ. Найденные решения воплощены в краткой и легко применимой на практике форме. Авторы излагают принципы использования паттернов проектирования и приводят их каталог. Таким образом, книга одновременно решает две задачи. Во-первых, здесь демонстрируется роль паттернов в создании архитектуры сложных систем. Во-вторых, применяя содержащиеся в справочнике паттерны, проектировщик сможет с легкостью разрабатывать собственные приложения. Издание предназначено как для профессиональных разработчиков, так и для программистов, осваивающих объектно-ори�... ... полное описание