Полезная литература по программированию

Автор Тема: Полезная литература по программированию  (Прочитано 61622 раз)

0 Пользователей и 2 Гостей просматривают эту тему.

Оффлайн Андрей БушманАвтор темы

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78
Смотрю тему закрепили зачем-то... Видимо для того, чтобы с книжками могли определиться те, кто только начинает программировать. Ок, в таком случае я приведу более подробный перечень полезных книг по разным темам:

  • Джеффри Рихтер "CLR via C#. Программирование на платформе .NET Framework 4.5 на языке C#". Эту книгу обязательно следует прочесть всем .NET-программистам. Она относится к категории классики компьютерной литературы по .NET программированию (подобно как K&R считается классикой по языку C). К сожалению, русский перевод обозначенной книги отвратителен. Если вы в ладах с английским, то имеет смысл купить книгу в оригинальном исполнении. Достаточно качественным является перевод предыдущей версии этой книги, написанной для .NET Framework 2.0, но эта версия платформы достаточно сильно отличается от версии .NET 4.5 по своим возможностям, а местами и по производительности (например в Reflection).
  • Герберт Шилдт "C# 4.0. Полное руководство". Весьма качественный, общепризнанный справочник по обозначенному языку программирования.
  • Албахари "C# 6.0. Справочник. Полное описание языка". Книга понравилась мне даже больше чем справочник Шилдта.
  • LINQ. Карманный справочник. Технологии LINQ (хотя бы LINQ to Objects и Linq to XML) должен знать каждый .NET программист. Материал изложен кратко сжато и без "воды". Чем-то даже напоминает набор шпаргалок. Очень полезен для изучения по теме этот ресурс. Технология LINQ позволит вам писать код более компактно и выполнять с объектами любые операции подобные тем, которые вы обычно выполняете при помощи SQL запросов в реляционных базах данных.
  • Джозеф Раттц-мл. "LINQ язык интегрированных запросов в C# 2010 для профессионалов".  Эта книга, на мой взгляд, несколько "размазанная", но по ряду подразделов материал изложен достаточно ясно. По этой книге (правда для версии C# 2008) я как раз когда-то и начинал изучение технологий LINQ to Object, LINQ to XML и LINQ to SQL (раздел LINQ to DataSet не читал). В книге отсутствует подробная информация по LINQ to Entities (это вообще отдельная большая тема, книги по которой следует искать отдельно).
  • Эндрю Троелсен. "Язык программирования C# 5.0 и платформа .NET 4.5". Я когда-то читал его книгу "C# и платформа .NET 3.0", но поскольку появились более свежие версии, то возможно имеет смысл читать их (правда качество их перевода мне не известно).  Это толстенный "талмуд", в котором автор постепенно обучает читателя языку программирования C# и использованию различных технологий, присутствующих в .NET Framework. На мой взгляд, автор в каждом очередном издании пытается объять необъятное, засунув в книгу всё что только можно (в виде отдельных глав): и WPF и LINQ, в результате ряд глав носит скорее ознакомительное, а не углублённое изложение. Однако книги данного автора очень популярны среди .NET программистов. Во всяком случае в той книге, которую я читал, материал был изложен на достаточно хорошем уровне.
  • Сеппа "Программирование на Microsoft ADO.NET 2.0. Мастер-класс" Эту книгу обязательно следует прочесть всем тем, кто хочет программно работать с СУБД. Книга является общепризнанной классикой по теме.
  • Петцольд "Программирование с использованием Microsoft Windows Forms. Мастер-класс". Автор в представлении не нуждается, все его книги - шедевры, один "Код. Тайный язык информатики" чего стоит (сейчас уж и не найти в продаже)... Эту книгу обязательно следует читать тем, кто хочет научиться создавать графические интерфейсы (GUI) средствами Windows Forms. Это устаревшая технология, но тем не менее она повсеместно используется и по сей день. На смену ей пришла более мощная технология WPF, удобство в использовании и навороченные возможности которой заставляют Windows Forms нервно курить в сторонке. Технология WPF доступна только под Windows, т. е. код, использующий её, не будет работать в Linux или MacOS, т. к. в Mono она не реализована и не планируется к реализации (к сожалению).

    Начиная с Windows 8, компания Microsoft вдруг резко изменила свои планы и WPF, так же как и Windows Forms перешла в категорию "поддерживаемых" (т. е. уже не ключевой) технологии, ибо начиная с обозначенной версии ОС, компания делает ставку на создание GUI посредством языка JavaScript. Не знаю, что у них там будет завтра, возможно, что и JavaScript вдруг резко утратит своё главенство...
  • Мак-Дональд "WPF in C# 2010: Windows Presentation Foundation with .NET 4.0". Отличная книга по созданию GUI при помощи технологии WPF. На мой взгляд, в ней упор больше сделан на XAML разметку, чем на программный код. Однако книга Петцольда (см. ниже) гармонично дополняет её.
  • Петцольд "Windows Presentation Foundation (WPF): базовый курс". Материал изложен на высшем уровне, собственно чему удивляться и не приходится, поскольку это Петцольд... В книге упор больше делается на программный код, чем на разметку XAML (на мой взгляд), поэтому книга хорошо дополняет литературу, указанную в предыдущем пункте.
  • Андерсон "Основы Windows Presentation Foundation". Книга, написанная одним из разработчиков технологии WPF. Материал изложен сжато, но ёмко. Рекомендую её к чтению помимо двух обозначенных выше книг.
  • Леве "Создание служб WCF". К сожалению, эту книгу я пока так и не прочёл. :( Покупал, руководствуясь положительными отзывами о ней в интернете. Книга будет полезна для написания собственных служб под Windows.
  • Фридл "Регулярные выражения". Если вам интересна тематика парсинга текстовой информации, то данная книга будет вам очень полезна.
  • Тидуэлл "XSLT". Если вы предпочитаете хранить в формате XML данные и различного рода настройки, то данный материал может оказаться для вас весьма интересным. Книга научит вас управлять визуальным отображением ваших XML файлов, представляя их, к примеру, в виде грамотно оформленной, удобной для чтения HTML страницы при открытии этого файла в браузере, хотя "за кулисами" это обычный XML представленный в удобной для вас произвольной форме.
  • Роббинс "Отладка приложений для Microsoft .NET". Единственная известная мне книга на русском языке, посвящённая тематике отладки .NET кода.
  • Макконнелл "Совершенный код. Практическое руководство по разработке программного обеспечения". Название говорит само за себя. Книга ориентирована на программистов в целом, а не специфична для тематики .NET, поэтому будет весьма полезна всем. Настоятельно рекомендую к прочтению.
  • Гамма, Хелм, Джонсон, Влиссидес "Приёмы объектно-ориентированного проектирования. Паттерны проектирования". Это классика о том, как правильно проектировать программы. Обязательно читать всем!. Дополнительную информацию по паттерном можно найти здесь.
  • Нильсон "Применение DDD и шаблонов проектирования: проблемно-ориентированное проектирование приложений с примерами на C# и .NET". Хорошая книга по проектированию корпоративного программного обеспечения.
  • Скиена "Алгоритмы. Руководство по разработке". Книга содержит огромную коллекцию различного рода алгоритмов, а так же ссылки на ресурсы, где ещё большее количество алгоритмов реализовано в виде уже готовых библиотек, доступных для использования в вашем программном коде. Материал полезен любым программистам, т. е. не специфичен конкретно для .NET.
  • Шнайер "Прикладная криптография. Протоколы, алгоритмы, исходные тексты на языке Си". Очень полезный (для любых программистов) материал по тематике криптографии.
  • Рой Ошероув "Искусство автономного тестирования с примерами на C#". Книга будет полезна тем, кто хочет научиться грамотно тестировать свой код.
  • Карл Вигерс и Джой Битти "Разработка требований к программному обеспечению". Издание третье, дополненное. Материал изложен доходчиво, с большим количеством интересных примеров из жизни. На мой взгляд, эта книга будет полезна не только применительно к разработке ПО, но и к любой другой сфере деятельности.
  • Чакон С., Штрауб Б. "Git для профессионального программиста". Книга по Git. Присутствует так же и материал по использованию GitHub.
  • Джеффри Рихтер "Windows via C/C++, Пятая редакция" - для тех, кто хочет по-настоящему разобраться в WinAPI.
  • Ч. Петцольд "Программирование для Windows 95" в двух томах - очень хорошо дополняет книгу, указанную в предыдущем пункте, особенно по теме создания GUI средствами WinAPI (не MFC). Рихтер в своей книге эту тему не затрагивал, а вот Петцольд разжевал её весьма основательно. Предварительно следует в обязательном порядке ознакомиться со второй главой ("Работа с символами и строками") книги Рихтера, указанной в предыдущем пункте.
  • Эндрю Троелсен "COM and .NET Interoperability" (англ.). О том, как работает взаимодействие управляемого кода с неуправляемым.
  • Шевчук А., Охрименко Д., Касьянов А.. Design Patterns via C#. Приемы объектно-ориентированного проектирования. В книге четко, последовательно и структурировано, с примерами реализации в языке C# изложены базовые знания о шаблонах проектирования. Книга впитала в себя многолетний опыт обучения разработчиков применению шаблонов проектирования. В ней нет ничего лишнего, она послужит надежным помощником начинающим и опытным .NET разработчикам.
    Это переложение книги GoF "Приёмы объектно-ориентированного проектирования. Паттерны проектирования" в современном варианте на языке C#. Распространяется бесплатно.
  • Мартин Фаулер. Шаблоны корпоративных приложений (Patterns of Enterprise Application Architecture). Книга предназначена для программистов, проектировщиков и архитекторов, которые занимаются созданием корпоративных приложений и стремятся повысить качество принимаемых стратегических решений. В книге представлены следующие типовые решения: представление бизнес-логики, архитектурные типовые решения источников данных , объектно-реляционные типовые решения, предназначенные для моделирования поведения , объектно-реляционные типовые решения, предназначенные для моделирования структуры , объектно-реляционное отображение с использованием метаданных , представление данных в Web , распределенная обработка данных , обработка задач автономного параллелизма, хранение состояния сеанса.
    Незаменимое руководство по архитектуре программных систем для любой корпоративной платформы. Не для начинающих.
« Последнее редактирование: 25-01-2018, 00:18:01 от Александр Ривилис »

Оффлайн Андрей БушманАвтор темы

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78
Добавил п. 21.

Оффлайн Привалов Дмитрий

  • ADN Club
  • *****
  • Сообщений: 546
  • Карма: 119
Видимо для того, чтобы с книжками могли определиться те, кто только начинает программировать

Неплохо бы отсортировать список по порядку, в котором следует изучать начинающему программисту.

Я бы лично посоветовал начинать с п.16
"Совершенный код" Стив Макконнелл

Все остальное на мой взгляд, углубленное изучение языка и технологий.

Еще можно добавить в п.16 книгу
"Чистый код. Создание, анализ и рефакторинг" Роберт К. Мартин
Это книга аналог, но поменьше объемом и легче читается.

Также на форуме видел рекомендацию прочитать новичкам:
"Идеальный программист. Как стать профессионалом разработки ПО" Роберт Мартин
сам ее пока не читал, только планирую

Оффлайн Андрей БушманАвтор темы

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78
Добавил п.22.

Оффлайн Андрей БушманАвтор темы

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78
Переименовал тему, т.к. помимо книг по .net обозначена литература, которая может быть полезна в т.ч. и применительно к др. языкам программирования.

Оффлайн Андрей БушманАвтор темы

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78
Добавил п.23.

Оффлайн Андрей БушманАвтор темы

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78
Добавил п.24.

Оффлайн Андрей БушманАвтор темы

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78
Добавил п.25.

Оффлайн Андрей БушманАвтор темы

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78
Добавил п. 26.

По поводу п. 12: имеет смысл читать сразу 4-ю редакцию книги, т.к. в ней имеются существенные отличия как по объёму материала, так и по объёму изменений в тексте (по отношению к первому изданию, для которого имеется русский перевод) - количество страниц увеличилось в два раза... Кроме того, в самом WCF, со времени публикации первой редакции книги, произошло много изменений (например изменена структура конфигурационных файлов). На сегодняшний день 4-я редакция книги доступна только на английском языке (переведена только первая редакция, насколько я помню). Материал очень хорошо разжёвывается автором.

Оффлайн Андрей БушманАвтор темы

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78
Подправил п.3: вместо Албахари "C# 5.0. Справочник. Полное описание языка" теперь указываю Албахари "C# 6.0. Справочник. Полное описание языка". Книга очень понравилась, даже болше чем справочник Шилдта.

Оффлайн Мурена

  • ADN OPEN
  • **
  • Сообщений: 53
  • Карма: 0
В этот список можно было бы внести книгу Мартина Фаулера "Шаблоны корпоративных приложений", а также книгу Шевчука/Охрименко/Касьянова Design Patterns via C# (Приёмы объектно - ориентированного проектирования)

Оффлайн Александр Пекшев aka Modis

  • ADN Club
  • *****
  • Сообщений: 1658
  • Карма: 366
  • Отец modplus.org
    • ModPlus
Андрей на форуме уже не появляется (забросил он автодеск немного )) ), так что если только Александр Ривилис захочет, то обновит топик

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
так что если только Александр Ривилис захочет, то обновит топик
Это только если Мурена не поленится и даст описание для этих книг, как давал Андрей Бушман
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Мурена

  • ADN OPEN
  • **
  • Сообщений: 53
  • Карма: 0
Шевчук А., Охрименко Д., Касьянов А.. Design Patterns via C#. Приемы объектно-ориентированного проектирования. В книге четко, последовательно и структурировано, с примерами реализации в языке C# изложены базовые знания о шаблонах проектирования. Книга впитала в себя многолетний опыт обучения разработчиков применению шаблонов проектирования. В ней нет ничего лишнего, она послужит надежным помощником начинающим и опытным .NET разработчикам.
Это переложение книги GoF "Приёмы объектно-ориентированного проектирования. Паттерны проектирования" в современном варианте на языке C#. Распространяется бесплатно.

Мартин Фаулер. Шаблоны корпоративных приложений (Patterns of Enterprise Application Architecture). Книга предназначена для программистов, проектировщиков и архитекторов, которые занимаются созданием корпоративных приложений и стремятся повысить качество принимаемых стратегических решений. В книге представлены следующие типовые решения: представление бизнес-логики, архитектурные типовые решения источников данных , объектно-реляционные типовые решения, предназначенные для моделирования поведения , объектно-реляционные типовые решения, предназначенные для моделирования структуры , объектно-реляционное отображение с использованием метаданных , представление данных в Web , распределенная обработка данных , обработка задач автономного параллелизма, хранение состояния сеанса.
Незаменимое руководство по архитектуре программных систем для любой корпоративной платформы. Не для начинающих ).

P.S. Так подойдёт?

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
P.S. Так подойдёт?
Спасибо. Добавил.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение