Книги, которые стоит прочитать
Карр Николас Дж.
Блеск и нищета информационных технологий: Почему ИТ не являются конкурентным преимуществом./Пер. с англ.-М.: Издательский дом "Секрет фирмы", 2005.-176с.
Эта книга вызвала ожесточенные споры на Западе как среди практиков в области информационных технологий, так и среди консультантов. Причиной спора стало особое мнение автора книги, считающего, что огромные инвестиции предприятий в информационную инфраструктуру уже не дают избыточной отдачи, а в ряде случаев даже не являются необходимыми.
Значение Брукса в теории управления проектами сложно переоценить. Он такой же основоположник в этой области, как Маркс в экономике. Все последующие труды разных авторов вытекали из его постулатов.
Первое издание "Мифического человеко-месяца" вышло в 1975 году. Уже тогда программы создавались командами разработчиков. Но как работать командой, не знал никто. Брукс первым систематизировал и изложил постулаты командной работы.
Одна из основных идей книги формулируется в виде закона Брукса: "Если программистский проект не укладывается в сроки, то добавление рабочей силы только задержит его окончание".
"Мифический человеко-месяц" представляет собой ряд очерков, в которых обсуждаются узловые проблемы разработки крупных программных проектов, актуальность которых за 30 лет только возросла.
для потомков сохранил тут
Демистификация ИТ: Что на самом деле информационные технологии дают бизнесу.
/М. Арутюнян, Н. Ермошкин, С. Карминский и др.; Под общ. ред. Н. Ермошкина. Авт. вступ. сл. С. Шекшня.-М.: ООО "Альпина Бизнес Букс"; 2006 - 296 с.
Авторы, ведущие российские специалисты в области ИТ, поставили задачу навести мосты между миром ИТ и миром бизнеса, рассказать просто и доступно, без преувеличений, о развитии электронного бизнеса в начале нового тысячелетия, о том, что ИТ могут дать бизнесу и каким образом они помогают решать проблемы в самых разных областях.
Как замена "Мифическому человеко-месяцу"
Стив Макконелл "Совершенный код" / Пер.с англ. -М.: Издательско-торговый дом "Русская редакция";СПб.: Питер, 2005
Я правда не наю, насколько уместная моя критика, если учитывать то, что я не читал "Мифический человеко-месяц", но вот какое мнение о ней я нашел в книге С. Макконлла:
затем в этой же главе, Макконелл пишет о инкрементном проектировании:
Впредь необходимо указывать краткую информацию о содержимом книги, а не просто её название.
Книги должны соответствовать названию раздела "Общие вопросы программирования".
Несоответствующие посты будут безжалостно удаляться.
[/color]
Книга посвящена вопросам проектирования программного обеспечения с нуля до надёжной корпоративной системы с помощью модели Microsoft Solution Framework. Очень подробно рассматриваются вопросы сбора информации для бизнес-решения, планирования архитектуры программного продукта, а также вопросам масштабируемости, доступности, производительности и способности к взаимодействию с другими программными продуктами. Кроме того, в книге рассказано о планировании тестирования, стабилизации, развертывании и поддержке готового решения.
Главное - MSF работает гораздо эффективней, чем стандарты разработки ПО СССР конца семидесятых годов, а полученная в результате документация описывает проект исчерпывающе.
Главное - MSF работает гораздо эффективней, чем стандарты разработки ПО СССР конца семидесятых годов, а полученная в результате документация описывает проект исчерпывающе.
Небольшой оффтоп (потом удалю или перенесу).
При чем тут "стандарты разработки ПО СССР конца семидесятых годов"?
На фоне автомобилей конца 70х и Лада-Калина выглядит неплохо, однако она не является шедевром автомобилестроения.
Почему бы не сравнивать с др. современными процессами.
А на счет "исчерпывающей документации", всегда ли это хорошо иметь ворох документации?
Объектно-ориентированный анализ и проектирование.
в онлайне читать тут:
http://tovstik.net/oop_booch/
Генри Уоррен, мл. Алгоритмические трюки для программистов.
В ин. язе. Hacker's Delight.
Аннотация из перевода русского:
В этой книге слову "хакер" возвращено его первозданное значение - человека увлеченного, талантливого программиста, способного к созданию чрезвычайно эффективного и элегантного кода. В книге воплощен сорокалетний стаж ее автора в области разработки компиляторов и архитектуры компьютеров. Здесь вы найдете множество приемов для работы с отдельными битами, байтами, вычисления различных целочисленных функций. Большей части материала сопутствует строгое математическое обоснование.
Каким бы не был ваш профессионализм, вы обязательно найдете в этой книге новое для себя. Кроме того, книга заставит вас посмотреть на уже знакомые вещи с новой стороны. Не в меньшей степени эта книга пригодится и начинающему программисту, который может просто воспользоваться готовыми советами из книги, применяя их в своей повседневной практике.
Первая попавшаяся ссылка, коих вагон:
http://files.samouchka.net/books/comp/algoritmi4eskie_tryuki_samouchka.net_teraarhiv.ru.rar
Офф сайт книги http://www.hackersdelight.org
2 squirL
Полностью согласен с Аццким программером
Знание какого либо языка программирования, это необходимое, но часто недостаточное условие для создания эффективных проектов.
Аналогично как умение пользоватся каким либо инструментом, не заменяет необходимости создания проектного чертежа.
В этом на помощь приходят методики проектирования.
Объектно-ориентированое проектирование:
Освой самостоятельно UML за 24 часа
Автор: Джозеф Шмуллер.
Диаграммы. Связи, ассоциации и наследование. UML 2.0. Моделирование систем
Издательство "Вильямс", 2005
Книга посвещена разработки объектно-ориентированных систем при помощи унифицированного языка моделирования UML версии 2.0.
Будет полезна разработчикам программного обеспечения, а так же для тех, кто интересуется воросами объектного моделирования.
Объектно-ориентированое конструирование программных систем
Автор: Бертран Мейер.
Издательство "Русская Редакция", 2005
Название книги говорит само за себя. Книжка представляет собой достаточно объемный "талмуд", в котором достаточно подробно описываются методики предварительного анализа, проектирования, программирования и сопровождения проектов.
Предварительное проектирование систем помогает "отделить зерна от плевел", еще на самом раннем этапе разработки, делая этап непосредственного программирования более гладким.
Позволяет уйти от народных практик "программиста-акына" - "о чем сейчас думаю, о том и программирую"...
Помагает распределить обязанности в коллективе разработчиков. Т.е. разделить функции проектировщиков и кодеров.
Немного учебников:
Абстракция данных и решение задач на C++. Стены и зеркала
Автор: Френк Каррано, Джанет Причард.
Издательство "Вильямс", 2003
Отличнейший учебник по С++ и ООП. Посвещен теме абстракции данных. Разделению собственно спецификации и реализации. Основное внимание уделяется реализации абстрактных конструкций на С++.
Название: Приемы объектно-ориентированного проектирования. Паттерны проектирования.
Неплохо даны основы UML, приведены паттерны проектирования, книга содержит примеры кода и наглядные иллюстрации паттернов на учебных примерах.
Автор: Бентли Дж.
Год издания: 2002
Издательство "Питер", 2002
Эта книга написана для программистов. Хороший программист должен знать все, что написано до него, только тогда он будет писать хорошие программы. Главы этой книги посвящены наиболее привлекательному аспекту профессии программиста: жемчужинам программирования, рождающимся за пределами работы, в области фантазии и творчества. В них рассматриваются: постановка задач, теория алгоритмов, структуры данных, вопросы повышения эффективности кода, а также верификация и тестирование программ.
Скачать книгу можно здесь
Жемчужины программирования
1)<Приемы объектно-ориентированного проектирования. Паттерны проектирования>
Гамма, Хельм +++++++++
(Книга из разряда must have...начинать нужно именно с неё:)
2)
Мартин Фаулер
Рефакторинг. Улучшение существующего кода
(отличная книга, обязательно к прочтению)
3)
Кент Бек
Экстремальное программирование: разработка через тестирование
(вводная часть в тестирование...сейчас читаю...идет легко, сама по себе небольшая)
4)Джерард Месарош
Шаблоны тестирования xUnit. Рефакторинг кода тестов
xUnit Test Patterns: Refactoring Test Code
А это уже углубление в тестирование. Книженция потолще, и стоит недешево. Пока до неё не дошел, так что своё мнение высказать не могу.
5)
Джошуа Кериевски
Рефакторинг с использованием шаблонов
Refactoring to Patterns
6)
Мартин Фаулер
Архитектура корпоративных программных приложений
Patterns of Enterprise Application Architecture
8)
Поль М. Дюваль, Стивен Матиас и Эндрю Гловер
Непрерывная интеграция. Улучшение качества программного обеспечения и снижение риска
Continuous Integration: Improving Software Quality and Reducing Risk
9)
Кент Бек
Шаблоны реализации корпоративных приложений
Implementation Patterns
10)
Luke Hohmann
Beyond Software Architecture: Creating and Sustaining Winning Solutions
11)
Ramnivas Laddad
Aspect Oriented Refactoring
PS:
От себя могу добавить, что обязательно прочитайте книгу "Совершенный код". Книга из разряда немного обо всем, но при этом она не менее полезная, чем все остальные. На ней тоже можно поставить штамп must have))
Все фигня, кроме пчел. :rolleyes:
Рефакторинг это, конечно, интересно, но, право, не стоит зацикливаться на кодописании:
Алан Купер, "Психбольница в руках пациентов".
Искрометный юмор и толковые советы по юзабилити программ и железяк.
Цитата из книги (русского перевода):
Построение этого вводного курса по информатике отражает две основные задачи. Во-
первых, мы хотим привить слушателям идею, что компьютерный язык — это не просто
способ заставить компьютер производить вычисления, а новое формальное средство вы-
ражения методологических идей. Таким образом, программы должны писаться для того,
чтобы их читали люди, и лишь во вторую очередь для выполнения машиной. Во-вторых,
мы считаем, что основной материал, на который должен быть направлен курс этого
уровня, — не синтаксис определенного языка программирования, не умные алгоритмы для эффективного вычисления определенных функций, даже не математический анализ
алгоритмов и оснований программирования, но методы управления интеллектуальной
сложностью больших программных систем.
Наша цель — развить в студентах, проходящих этот курс, хороший вкус к элементам
стиля и эстетике программирования. Они должны овладеть основными методами управ-
ления сложностью в большой системе, уметь прочитать 50-ти страничную программу,
если она написана в хорошем стиле. Они должны в каждый данный момент понимать,
чего сейчас не следует читать и что сейчас не нужно понимать. Они не должны испыты-
вать страха перед модификацией программы, сохраняя при этом дух и стиль исходного
автора.
доступна невозбранно онлайн на англицком:
http://mitpress.mit.edu/sicp/full-text/book/book.html
но в сети можно найти и русский перевод в pdf
по типам неплохая книга:
http://newstar.rinet.ru/~goga/tapl/
Шаблоны тестирования xUnit. Рефакторинг кода тестов
xUnit Test Patterns: Refactoring Test Code
Очень муторная глава 26 "Минимальный объект". Такое ощущение что переводчик сам запутался в том, кто кому делегирует свои полномочия, и каким образом происходит разделение абстракции. Но благо, там есть примеры которые помогают докопаться до истины:)
Книга безусловно полезная, но в разряд "легких", увы отнести не могу, ввиду субъективно-тяжелого для меня слога. Кому-то может показаться тяжеловатой из-за достаточно высокой общности обсуждаемых тем, но если читатель подкован, не думаю что ему будет сложно вникать в суть объясняемых концепций.
Джошуа Кериевски
Рефакторинг с использованием шаблонов
Refactoring to Patterns
Книга читается легко. Самое полезное, что в ней вы сможете найти информацию, когда НЕ СТОИТ применять
паттерны. Также раскрывается суть использования многих паттернов. Является прекрасным дополонением
к книге "Паттерны проектирования". Расскрывает ряд дополнительных паттернов, отсутсвующих в книге
банды четырех(Null-object, creation method, Collecting parameter). Полезна будет прежде всего
новичкам после прочтения книги "Паттерны проектирования". Но и программисты, уже имеющие опыт использования
паттернов могут найти для себя полезную информацию.(Для меня, например, прояснилось, в каких ситуациях
действительно необходим паттерн Visitor)
Также книга, может использоваться как справочник, при рефакторинге существующего кода к паттернам, так
как там подробно описана техника рефакторига. Ну да это понятно из названия:)
Мартин Фаулер
Архитектура корпоративных программных приложений
Patterns of Enterprise Application Architecture
Вчера закончил с этой книгой. Бесспорно книга стоящая. Про неё очень много написано, как правило хорошего, и этот коммент не будет исключением. Может статься так, что вы изобрели новые подходы оттачивая свое мастерство, и открыв эту книгу окажется, что на самом деле этот подход был придуман лет эдак 10 назад, и Фаулер уже описал данную методику в своей книге и дал ей название. Так было и у меня=)
Книга на мой взгляд, обязательно к прочтению для архитекторов, хотя и обычному программисту лишней не будет. Не могу сказать, что со всеми заключениями Мартина по поводу использования того или иного типового решения согласился, но это не умоляет ценности типовых решений описанных в этой книге. Без ложки дегтя кстати не обошлось, - еще не видел ни одной книги, где был так ужасно отформатирован код. Зачастую разбираться с примерами просто не хотелось! Ну да это субъективно, так что не берите в расчет.
Жаль что этой книги нету в продаже, так бы обязательно купил к себе в коллекцию:)
Мартин Фаулер
Архитектура корпоративных программных приложений
Patterns of Enterprise Application Architecture
Вчера закончил с этой книгой. Бесспорно книга стоящая. Про неё очень много написано, как правило хорошего, и этот коммент не будет исключением. Может статься так, что вы изобрели новые подходы оттачивая свое мастерство, и открыв эту книгу окажется, что на самом деле этот подход был придуман лет эдак 10 назад, и Фаулер уже описал данную методику в своей книге и дал ей название. Так было и у меня=)
Книга на мой взгляд, обязательно к прочтению для архитекторов, хотя и обычному программисту лишней не будет. Не могу сказать, что со всеми заключениями Мартина по поводу использования того или иного типового решения согласился, но это не умоляет ценности типовых решений описанных в этой книге. Без ложки дегтя кстати не обошлось, - еще не видел ни одной книги, где был так ужасно отформатирован код. Зачастую разбираться с примерами просто не хотелось! Ну да это субъективно, так что не берите в расчет.
Жаль что этой книги нету в продаже, так бы обязательно купил к себе в коллекцию:)
Из минусов:
- написана (и переведена) совершенно отвратительным языком. "Толстовские" предложения на 5 строк, тяжелый для чтения и понимания язык, каждый абзац приходится перечитывать по 3 раза.
- Т.к. написана в 2001-2003 годах, не охватывает такие вещи, как IoC, NoSQL и ряд других. Не описывает приложения паттернов к текущим мейнстримным фреймворкам :(
Непрерывная интеграция. Улучшение качества программного обеспечения и снижение риска
Continuous Integration: Improving Software Quality and Reducing Risk
Книга больше полезная не архитекторам, а руководителям отделов программирования. Рассказывает о пользе использования практики CI, являющейся неотъемлемым атрибутом методологии экстремального программирования. Является неплохой точкой входа, для того чтобы начать погружение в мир автоматизации повседневных процессов связанных с разработкой ПО и снижения рисков. Предоставляет неплохой обзор существующих средств для интеграции CI. Жаль только что мой любимый TeamCity упоминается всего в одном предложении, эдак мимоходом. Если вам интересна, данная тема, то это книга создана для вас...
PS:
Из неё также узнал про забавную вещицу - "шар рассеянного света". Надо будет обязательно прикупить себе эту безделушку))
Щас еще одну книгу по Си залил, "Керниган, Ричи. Язык C". Тоже вещь неплохая, мне служит в качестве справочника)
1.Алгоритмы и комбинаторная оптимизация
2.Методологии разработки
Отличная подставка под монитор.
Смешная шутка, или напутствие-не читать?
Издательство: Питер
ISBN: 978-5-459-00435-9
Описание: В мире постоянно кто-то сталкивается с такими же проблемами программирования, которые возникают и у вас. Многие разработчики решают совершенно идентичные задачи и находят похожие решения. Если вы не хотите изобретать велосипед, используйте готовые шаблоны (паттерны) проектирования, работе с которыми посвящена эта книга. Паттерны появились, потому что многие разработчики искали пути повышения гибкости и степени повторного использования своих программ. Найденные решения воплощены в краткой и легко применимой на практике форме. Особенностью данного издания является уникальный способ подачи материала, выделяющий серию "Head First" издательства O'Reilly в ряду множества скучных книг, посвященных программированию. Книга будет интересна широкому кругу веб-разработчиков, от начинающих до профессионалов, желающих освоить работу с паттернами проектирования.