Книги по программированию. Книги для дизайнеров, верстальщиков, IT специалистов. По всем вопросам @evgenycarter
РКН clck.ru/3KoESW
Post #2555
3.23K
Книги, которые нас выбирают - «золотой фонд»
PDP-11
Тут мой безусловный фаворит — книга «PDP-11. Архитектура и программирование» (автор Т.Фрэнк). Никогда больше я не встречал (и, боюсь, уже не встречу) столь ясного, аккуратного и доброжелательного введения в программирование на ассемблере. Книга читалась (и читается) на одном дыхании. Кое‑где (в сложных темах) автор намеренно повторяется, но эти повторения выглядят уместными и полезными. После изучения архитектуры и ассемблера для PDP-11 все остальные архитектуры и их ассемблеры (прежде всего, для процессоров Intel) мне казались недоработанными и ущербными. И это чувство, увы, не пропало. Никого не хочу обидеть, но мне есть с чем сравнивать. Можно списать мою предвзятость на «юношескую любовь», но честное слово — я знаю о чем говорю. Извините, если кого обидел; как говорится — ничего личного.
Следующая книга «Мини‑ЭВМ PDP-11: программирование и организация машины» (автор — М.Сингер). Тоже интересная и полезная книга (особенно хорошо описано программирование ввода/вывода) из которой я почерпнул много сведений.
Наконец, «Мини‑ЭВМ: организация и программирование» (авторы Р.Экхауз и Л.Моррис). Изложение достаточно сжатое, но зато авторы рассмотрели реализацию основных структур данных (очереди, списки, стеки, буферы и т. д.) на ассемблере PDP-11. Кроме того, есть интересная, хотя и заметно более сложная глава о микропрограммировании и совсем небольшая глава с исходником простой операционной системы (в те годы их часто называли «мониторами»), написанной на ассемблере PDP-11.
Теория
Первая книга, которую я хочу упомянуть — «Наука программирования» (автор Д.Грис). Это, фактически, адаптация знаменитой «Дисциплины программирования» (автор Э.Дейкстра). Дейкстра предложил методику доказательства правильности алгоритмов и программ с использованием аппарата математической логики и продемонстрировал эту методику в своей книге на ряде впечатляющих и нетривиальных примеров (например, построение выпуклой оболочки), перемежающихся пространными и крайне интересными рассуждениями. Фактически, Дейкстра попытался сделать больше, чем следует из названия его книги — он попытался создать философию программирования. Почитайте сами и решите — так ли это или я заблуждаюсь.
Книга Гриса на такие высоты не претендует; зато она представляет собой систематический курс построения доказательств правильности алгоритмов и программ. Книга Гриса более техническая, но и более подробная. Любой алгоритм/процедура/функция — рассматривается как теорема, которую необходимо доказать посредством формальных логических выводов. Если такой вывод возможен — теорема (и, следовательно, алгоритм) правильна. В противном случае — увы. Никаких особенных требований к читателю книга не предъявляет: все, что необходимо излагается в ней самой. Книга захватывает, особенно если читателю удается «настроиться на волну» и «попасть в поток». Чтение не самое простое, но вполне доступное. Кроме того, в книге много упражнений как технического, так и творческого характера.
Следующая книга, о которой я хочу упомянуть — это «Математическая логика и автоматическое доказательство теорем» (авторы Ч.Чень и Р.Ли). Книга вышла в серьезной серии «Математическая логика и основания математики», что показывает ее немалый уровень сложности. Вся книга посвящена доказательству теорем методом резолюции (Ж.Эрбран и позже Дж.Робинсон). Теории немало, впрочем, не такой уж страшной. Требования к подготовке читателя тут уже повыше, чем в книге Д.Гриса, но при известном упорстве и усидчивости книга вполне доступна. Практическое значение этой книги я не могу оценить, но для развития навыков математических рассуждений — она очень ценна.
#подборка@programmist_of
👉@programmist_of
PDP-11
Тут мой безусловный фаворит — книга «PDP-11. Архитектура и программирование» (автор Т.Фрэнк). Никогда больше я не встречал (и, боюсь, уже не встречу) столь ясного, аккуратного и доброжелательного введения в программирование на ассемблере. Книга читалась (и читается) на одном дыхании. Кое‑где (в сложных темах) автор намеренно повторяется, но эти повторения выглядят уместными и полезными. После изучения архитектуры и ассемблера для PDP-11 все остальные архитектуры и их ассемблеры (прежде всего, для процессоров Intel) мне казались недоработанными и ущербными. И это чувство, увы, не пропало. Никого не хочу обидеть, но мне есть с чем сравнивать. Можно списать мою предвзятость на «юношескую любовь», но честное слово — я знаю о чем говорю. Извините, если кого обидел; как говорится — ничего личного.
Следующая книга «Мини‑ЭВМ PDP-11: программирование и организация машины» (автор — М.Сингер). Тоже интересная и полезная книга (особенно хорошо описано программирование ввода/вывода) из которой я почерпнул много сведений.
Наконец, «Мини‑ЭВМ: организация и программирование» (авторы Р.Экхауз и Л.Моррис). Изложение достаточно сжатое, но зато авторы рассмотрели реализацию основных структур данных (очереди, списки, стеки, буферы и т. д.) на ассемблере PDP-11. Кроме того, есть интересная, хотя и заметно более сложная глава о микропрограммировании и совсем небольшая глава с исходником простой операционной системы (в те годы их часто называли «мониторами»), написанной на ассемблере PDP-11.
Теория
Первая книга, которую я хочу упомянуть — «Наука программирования» (автор Д.Грис). Это, фактически, адаптация знаменитой «Дисциплины программирования» (автор Э.Дейкстра). Дейкстра предложил методику доказательства правильности алгоритмов и программ с использованием аппарата математической логики и продемонстрировал эту методику в своей книге на ряде впечатляющих и нетривиальных примеров (например, построение выпуклой оболочки), перемежающихся пространными и крайне интересными рассуждениями. Фактически, Дейкстра попытался сделать больше, чем следует из названия его книги — он попытался создать философию программирования. Почитайте сами и решите — так ли это или я заблуждаюсь.
Книга Гриса на такие высоты не претендует; зато она представляет собой систематический курс построения доказательств правильности алгоритмов и программ. Книга Гриса более техническая, но и более подробная. Любой алгоритм/процедура/функция — рассматривается как теорема, которую необходимо доказать посредством формальных логических выводов. Если такой вывод возможен — теорема (и, следовательно, алгоритм) правильна. В противном случае — увы. Никаких особенных требований к читателю книга не предъявляет: все, что необходимо излагается в ней самой. Книга захватывает, особенно если читателю удается «настроиться на волну» и «попасть в поток». Чтение не самое простое, но вполне доступное. Кроме того, в книге много упражнений как технического, так и творческого характера.
Следующая книга, о которой я хочу упомянуть — это «Математическая логика и автоматическое доказательство теорем» (авторы Ч.Чень и Р.Ли). Книга вышла в серьезной серии «Математическая логика и основания математики», что показывает ее немалый уровень сложности. Вся книга посвящена доказательству теорем методом резолюции (Ж.Эрбран и позже Дж.Робинсон). Теории немало, впрочем, не такой уж страшной. Требования к подготовке читателя тут уже повыше, чем в книге Д.Гриса, но при известном упорстве и усидчивости книга вполне доступна. Практическое значение этой книги я не могу оценить, но для развития навыков математических рассуждений — она очень ценна.
#подборка@programmist_of
👉@programmist_of
- 👍 7
- ❤ 1


















