Комментарии 9
А вот умения (и даже понимания полезности) доказывать корректность программы и понимание способов композиции кода современным программистам (точнее пользователям их программ, программисты про это просто не думают) остро не хватает.
Не хочу влезать, но алгоритмы действительно не самая важная часть CS, а по факту, в CS настолько много разделов, что алгоритмы и структуры данных далеко не самый крупный раздел. О таких темах, как компиляторы, операционные системы, сети и т.д. написано не один десяток книг. В большей части все это опирается на математику (дискретная математика, реляционная алгебра, асимптотический анализ, теория типов, теория категорий, теория языков, автоматы, теория сложности вычислений, линейная алгебра, вычислительная геометрия, линейная алгебра и т.д.).
Просто сейчас стало модно проводить так называемые алгоритмические собеседования. В большинстве случаев это обусловлено тем, что если кандидат знает оптимальный алгоритм или достаточно находчив, чтобы найти такой самостоятельно, то в дальнейшем он сможет быстро и эффективно решать любые поставленные задачи. С другой стороны хватает собесов, где тебя оценивают по практическим навыкам (знания конкретного языка\фреймворка\инструментария, реальный опыт работы и т.д.).
Впервые столкнулся с английским изданием этой книги в начале года. Думал, что здесь будет если не полное погружение в CS (такая книга заняла бы не одну тысячу страниц), то хотя бы систематический обзор фундаментальных концепций и направлений в CS с ссылками для дальнейшего погружения (например, Кормен/Седжвик — Алгоритмы и структуры данных, Ахо и Ульман — Компиляторы, Таненбаум — Сети и ОС, и т.д.). Оказалось, что эта книжка вообще ни о чем. Здесь нет систематического подхода ни к одной из представленных тем. Автор ожидает, что читатель уже знаком с CS и просто набрасывает темы а ля динамическое программирования и жадные алгоритмы, не утруждаясь нормально объяснить «что это». Подбор тем условный и произвольный. То, что есть, скомкано и не дает минимума общего представления темы. Для опытного разработчика эта книга станет пустой тратой времени. Для начинающего — только больше запутает и создаст кашу в голове.
Никого не зазываю, но я бы не стал рекомендовать эту книгу для погружения в профессию. Никогда.
Книга «Гид по Computer Science для каждого программиста»