Johnny Gat, крупные IT компании редко используют такие железки, чаще это самые обычные сервера или блейды, с подключенными полками, если это нужно для конкретной машинки.
Сергей Соколов, ну вот смотрите, вы явно не помните/не знаете как обозначаются даже нормы и произведения, не говоря уже о более сложных вещах.
Формулы категорически недостаточно просто уметь прочесть, это примерно как выучить из незнакомого языка только алфавит, вы сможете распознать буквы, но не поймёте смысл.
Но если вам действительно хочется "выучить алфавит", то можете посмотреть на список обозначений в соответствующих учебниках, это как раз те самые матан, линал и дискран.
Иван, должно хватить, там довольно простые концепции используются, кроме того в книге Кормена полно справочных материалов - она сама по себе учебник, а не научная литература.
Иван, для большей части алгоритмов достаточно базовой математической интуиции и умения вдумчиво читать объяснения (в конце книги есть приложение с кратким разъяснением используемых инструментов).
Если рассматривать математический аппарат, который нужен для полного понимания доказательств всех описанных алгоритмов, то это комбинаторика, начала анализа, дискретная теория вероятностей, начала линейной алгебры.
Но делать так не надо. Для того, чтобы это стало очевидным, достаточно представить себе еще пару функций, устроенных аналогичным образом и необходимость внести в логику авторизации некое изменение, специфичное для каждой функции.
SolidMinus, давайте я приведу несколько примеров:
- вычеты по модулю
- сочетания, размещения, перестановки
- скалярное произведение векторов (векторные операции быстрее в скриптовых языках)
- рекурсия
- множества
- системы счисления
Это первые пришедшие мне в голову сущности с очевидным отображением в математику, которые действительно регулярно используются в работе.
Чем глубже погружаешься в используемые инструменты, тем больше там интересного, имхо :)
Вот, кстати, тоже интересно, вы говорите, что погружение в математический смысл объектов помешает абстрагироваться, но ведь абстрагирование - это переход к абстрактным образам, то есть к математической сути происходящего.
SolidMinus, это автоисправление, имелось ввиду "нерепрезентативен", то есть не являюсь человеком, по которому стоит судить о генеральной совокупности (всех программистах, многим из которых действительно в повседневной деятельности не нужно ничего сложнее наследования).
Я согласен с вашим описанием программирования как инструмента, но у меня всё-таки закрепилось представление, что информационные технологии, практически целиком - плод развития соответствующих областей математики.
Говоря про предметную область, которую программисту нужно знать, чтобы написать что-то адекватное, вы упускаете из виду тот факт, что ему придется переформулировать задачу на формальном языке, который, так или иначе, сводится к математической модели преобразования данных.
Noizefan zzz, из утверждения "математика логична, а творчество нет" не следует, что "программирование - не творчество", не говоря уже о том, что я в корне не согласен с утверждением "внутренняя структура продукта творчества не может подчиняться формальной логике".