меню

Математика

Чи потрібно програмісту знати математику?
Таке питання я часто чую від школярів.
Є певний клас програмістів, яким дійсно це, напевно, не дуже потрібно. Можна навести просте порівняння. Є люди, які малюють картини - їх називають художниками. Є люди, які фарбують паркани, - це малярі. Ось так само і з програмістами: є програміст - творець, який творить щось нове, оригінальне або просто дуже складне, а є людина, яка пише коди по аналогії з вже прцючими програмами, перетворює в програму масу простих обчислень та іннтерфейсів.
Їх називають частіше не програмістами, а кодерами, їм непогано платять (в рази більше, ніж так званим менеджерам, тобто продавцям, але в рази менше, ніж справжнім програмістам), і ця професія зосім непогана. В кінцевому підсумку програміста від кодера багато в чому відрізняє знання математики, вміння тонко і детально розуміти математичну модель програми. Далі вибір за людиною. Або ти починаєш займатися математикою, і тоді у тебе з'являється шанс стати художником. Або фарбувати паркани - це також хороша професія. За першим часто лунає друге запитання:
Які математичні дисципліни потрібні програмісту?
Щоб відповісти на це запитання, потрібно поставити спочатку крапки над і. Кодер повинен знати основи елементарної (шкільної) математики? - Обов'язково. Все сказане вище стосувалось вищої (вузівської) математики. Але кожен кодер також повинен (на моє глибоке переконання) намагатись освоїти основи дискретної математики та лінійної алгебри. По дискретній математиці я рекомендую
книгу Р.Хаггарті “Дискретная математика для программистов”. Книжка досить доступна, і для початку достатньо освоїти гл. 1,2,3, 6,9 (з гл. 2 перші два параграфи). По лінійній алгебрі простий посібник
“К. Л. САМАРОВ.Математика. Учебно-методическое пособие по разделу ЛИНЕЙНАЯ АЛГЕБРА”.
Така самоосвіта дозволить кодеру не стати “Сongrammer” (згідно Вікіпедії “В английском сленге существует слово «Сongrammer»— недобросовестный программист, который не интересуется документацией по проектам, вследствие чего часто делает ошибки в исходном коде”). Для подальшого зростання програмісту потрібно знати математичну статистику, теорію ймовірності, обчислювальну математику, лінійне програмування, диференційні рівняння і т.д. і т. п. Не обов'язково все і відразу - життя підкаже, що потрібно.

Немає коментарів:

Дописати коментар