Если не считать Кнута, который как бы авторитет для всех (в т.ч. для тех, кто откладывает прочтение до пенсии) — какие книги вы так же уважаете и можете выделить среди "толпы"?
Здравствуйте, Эйнсток Файр, Вы писали:
ЭФ>Библиотеку ACM. Там их много.
Еще в детстве заметил — если повторять "много, много" много раз — пулучится "гомно". Нет, сила не в количестве а именно в качестве — способности из множества выбрать лучшее.
Здравствуйте, Shmj, Вы писали:
S>Если не считать Кнута, который как бы авторитет для всех (в т.ч. для тех, кто откладывает прочтение до пенсии) — какие книги вы так же уважаете и можете выделить среди "толпы"?
Computer archirecture — A quantitative approach (Hennessy, Patterson)
Hacker's Delight (Henry Warren)
Programming multicore and many-core computing systems (Pllana, Xhafa)
The Art of Multiprocessor Programming (Herlihy, Shavit)
A commentary on the 6th edition Unix OS (Lions)
Введение в базы данных (Date)
Applied Cryptography (Schneier)
Чисто функциональные структуры данных (Окасаки)
Вычислительная геометрия (Препарата, Шеймос)
Основная книга Страуструпа по C++
Совершенный код (Макконнелл)
Алгоритмы и структуры данных (Вирт)
Трёхтомный учебник Столярова
Этюды для программистов (Wetherell)
Мифический человеко-месяц (Брукс)
Темы чистой околокомпьютерной математики, AI/ML/DS, схемотехники/электроники не рассматривал.
PS: сразу: 1. Боб Мартин неустойчив и сомнителен, идёт в лес. 2. "Книгу дракона" не включил намеренно из-за тяжёлого идеологического отставания (Кнут и то актуальнее).
Здравствуйте, Михaил, Вы писали:
М>Здравствуйте, netch80, Вы писали:
М>. 2. "Книгу дракона" не включил намеренно из-за тяжёлого идеологического отставания (Кнут и то актуальнее).
М>А кто вместо него?
Однозначного не увидел. Если для высокого полёта (полный компилятор) — что-то вроде комбинации Аппель + Мучник + SSA book + что-то по PEG, и продолжить, например, книгой по LLVM (как Лопес+Аулер) даже если дальше не будет на LLVM.
Если для задачи написания DSLей, то я вообще внятной литературы не видел.
Года 4 назад меня как-то вдохновило и я как раз после дракона начал писать то, что могло быть просто вводным к дракону, но активно продолжить пока не могу.
Книги для людей, желающих разобраться как устроен микропроцессор изнутри, а также какой код исполняется на нём быстрее и почему.
1. Рафикузаман М. Микропроцессоры и машинное проектирование микропроцессорных систем: В 2-х книгах.
2. David A. Patterson, John L. Hennessy — Computer Organization and Design RISC-V Edition The Hardware Software Interface.
М>>А кто вместо него? N>Однозначного не увидел. Если для высокого полёта (полный компилятор) — что-то вроде комбинации Аппель + Мучник + SSA book + что-то по PEG, и продолжить, например, книгой по LLVM (как Лопес+Аулер) даже если дальше не будет на LLVM. N>Если для задачи написания DSLей, то я вообще внятной литературы не видел. N>Года 4 назад меня как-то вдохновило и я как раз после дракона начал писать то, что могло быть просто вводным к дракону, но активно продолжить пока не могу.
Эту ещё не вчитался, но попробую в ближайшее время.
Но там только парсинг, а в драконе парсингу посвящено только процентов 30 объёма, остальное — куча других тем, вроде промежуточных представлений, оптимизации и всего такого.
Там оно всё древнее (простой пример: GCC с начала 2000-х на SSA, LLVM с самого начала был на нём, а в драконе даже в 2008 есть только упоминание вскользь, что есть такой подход — а ведь он всё между парсингом и генерацией объектного файла меняет полностью), но хотя бы объём проблематики показывает очень хорошо.
Здравствуйте, reversecode, Вы писали:
R>источник знаний это код
А которые этот код написали, они откуда узнали свои знания?
R>а книги это для умения красиво вылизывать кого то на собеседованиях R>или типа умно набрасывать в интернете и на форумах
1) "Язык программирования C++. Специальное издание" Страуструп Бьерн
2) "Архитектура корпоративных программных приложений" Фаулер Мартин.
3) "UML Основы. Краткое руководство по унифицированному языку моделирования. 3-е издание" Фаулер Мартин.
4) "Qt 5.10 Профессиональное программирование на C++" Шлее Макс.
5) "Shareware профессиональная разработка и продвижение программ" Жарков Станислав.
И так далее. У меня в каждом разделе есть книга, которую я признал лучшей. И даже лучшие перечислять довольно долго.
Например, что в первую очередь почитать про Scrum и Kanban.
*) "Scrum и Kanban выжимаем максимум" Книберг Хенрик.
*) "Scrum и XP заметки с передовой" Книберг Хенрик.
А если нужна книга по STL для новичков.
*) "STL для программистов на C++" Аммерааль Леен.
И всё в таком роде. Всё переписывать было бы долго. В каждом разделе куча книг, те же
*) "Программист фанатик" Фаулер Чед.
*) "Программист прагматик" Хант Эндрю.
*) "Идеальный программист" Мартин Роберт.
Какая из них лучше? Уважаю ли я эти книги?
Начнём с того, что не каждая тема заслуживает моего уважения. Соответственно и книги по какой-то теме можно почитать, но не более.
В целом же книги по программированию похожи на супер качественные сайты на определённые темы, которые в интернете и не найти. Но они уступают документации с кодом, потому что ведутся в повествовательном стиле.
Книги это хорошая стартовая база, гораздо лучше, чем статейки из интернета. Но потом уже нужно переходить на документацию, код и собственные наработки.