Математика в програмуванні
Підписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті
Я тут почитав кілька тем на форумі, де обговорювалося те, чи потрібна математика в програмуванні. І що цікаво, люди там демонстрували, як на мене, не зовсім вірне розуміння даного питання. Зараз спробую пояснити, що я маю на увазі.
Найбільше мене дивує те, що багато хто говорить, що математика в програмуванні — це написання програм для деякої математизованої предметної області. Мовляв, якщо ви не плануєте мати справу з такою предметною областю, то й математика вам не потрібна. Але невже ви думаєте, що суть математики полягає в використанні якихось алгоритмів і формул з певного домену знань? Суть програмування тоді, по-вашому, полягає в використанні фреймворків і мов програмування? Я веду до того, що оскільки людей, які роблять акцент лише на фреймворках і мовах програмування, ви називаєте «бидлокодерами», то чому ви тоді не бачите такої ж обмеженості в вашому поверховому трактуванні математики?
Як же тоді правильно трактувати математику (математику загалом й математику в програмуванні)? Я думаю, що математика загалом — це наука про дедуктивне мислення в рамках формалізованого середовища. Дедукція забезпечує рух від загального до більш конкретного: від аксіом до теорем, а формалізм породжує зрозумілий для всіх спосіб опису понять. Ось це і є математика! Не алгебри, геометрії чи абевегедетрії формують сутність математики, а саме дедукція + формалізм. Тому якщо ми говоримо про математику в програмуванні, то вона корисна тут перш за все тим, що дає можливість застосовувати дедукцію й формалізм. А ці дві речі є необхідними для будь-якого проекту, незалежно від математизованості його предметної області. Бо без дедукції й формалізму неможливо будувати архітектуру програмного забезпечення, та й взагалі будь-який системний розвиток цього програмного забезпечення без цих двох речей не є можливим. Адже дедукція в розробці програмного забезпечення являє собою шлях від створення приблизних абстракцій до їх поступового уточнення і нарешті реалізації, а це фундамент розробки. Формалізм же в розробці потрібен, щоб ці абстракції і їхні реалізації були описані якимось загальноприйнятим способом, інакше вони не будуть зрозумілими для тих суб’єктів, які з ними потім працюватимуть.
195 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів