Вообще, "математику для программиста" я разделил бы на три эшелона:
1. Общеразвивающий.
2. Вспомогательный.
3. Специальный.
1. "Чтобы ум в порядок привести" и вообще натренировать мозговую мышцу.
В принципе, математика не обязательна, в качестве мозговой гантели сходится и догматическое богословие, и история КПСС, лишь бы сложно было.
А без упорных упражнений крутизны не достичь. Правда, упражняясь в богословии - станешь "мутным программером", в истории КПСС - "дерзким", и только с математикой - "ч
отким"
.
Хотя можно быть "авторитетным программистом" и без крутизны. Только за счёт узкой ниши. Будь то программист в окружении пяти бабушек - докторов биологических наук или, скажем, "программист-одинец". Нет конкуренции - вот и авторитет.
2. Сюда относятся разные методы анализа алгоритмов, всякие O(N) и прочее "кнутовище". Полезно, но действительно полезно, когда подымаешься на определённый уровень выше механического кодинга. Опять же - не обязательно даже и в этом качестве, если знать, кто знает.
3. Решение конкретных задач в определённой области. Опять же - строгальщик интерфейсов и баз данных в дифурах и матрицах не нуждается. А при решении многих задач можно воспользоваться услугами специалиста или готовой библиотеки. Но:
Цитата:
Уроки кулинарии входили в светское воспитание. Не для того, чтобы стоять у плиты, а чтобы заказать обед в ресторане или с толком выбранить кухарку
(Кажется, Бальзак)