@yokselmoksel

Почему в программировании столько математики?

Да-да, не смотря на то, что я сам инженер по специальности и математики в свое время был не вагон, а целый состав, но я тогда не понимал на кой в программировании столько математики?! программирование это ж текст, это ж какие-то там теги и прочее.. Сейчас конечно я понимаю что математические задачи в программировании определяют многое, но все равно объясните какую роль математика в приложении для какого-нибудь ios? одним словом пазл у меня не складывается, есть алгоритм, есть формула, какая-то магическая пижня, и на выходе рабочая программа типа shazam например.
  • Вопрос задан
  • 4104 просмотра
Пригласить эксперта
Ответы на вопрос 22
  • saboteur_kiev
    @saboteur_kiev
    build engineer
    Копирование файлика на уровне ОС - элементарная математика (байты перенести из одного места в другое), все числа целые, адресация простейшая.

    Программирование контроллера, который будет копировать данные - высшая математика, ибо нужен контроль целостности данных (алгоритмы хеширования или банальных контрольных сумм), алгоритмы коррекции ошибок, шифрование.

    Программирование передачи данных по сети - плюс ко всему прочему шифрование, протоколы передачи данных, асинхронная передача.

    Программирование в 2д или 3д - геометрия разного порядка. Вычисление стандартных вещей - можно ли пройти из точки А в точку Б и можно ли увидеть из точки А точку Б, а также как это отрисовать с минимальными ресурсами - ужас.

    Ну и далее. Простое приложение для какого-нить IOS которое выводит "привет вася" - это одно. А Shazam, который анализирует акустическую запись, разбирает ее на части, выполняет сравнение с учетом искажений - тут вам нужна не только хорошая математика, но и еще неплохо в этих сигналах разбираться, понимать как они хранятся в компе (как преобразуется аналог в цифру, с какими потерями, и что с ними делать) и так далее.

    В общем алгоритмы, алгоритмы, алгоритмы.
    Как говорил Ломоносов, математику следует учить только за то, что она приводит ум в порядок.
    Ответ написан
  • d0kuro
    @d0kuro
    Тык
    i-dont-need-math-ill-just-make-video-gam

    Видимо вы всё же не сильно понимаете и не когда не занимались разработкой чего либо сложнее вывода строки Hello World.

    программирование это ж текст, это ж какие-то там теги и прочее..

    Теги - это разметка, это не относится к программированию.

    объясните какую роль математика в приложении для какого-нибудь ios?


    Большую, даже самые глупые, шуточные приложения редко обходятся без использования математических операций.

    и на выходе рабочая программа типа shazam например.


    Думаете там нет математики и она там не как не применяется? Ага, ага.
    Ответ написан
  • PravdorubMSK
    @PravdorubMSK
    понимаешь, дорогой друг, есть два типа программистов - которые делают действительно что-то серьезное. их 0.1% от общего числа кодеров.

    а есть 99,9999% кодеров. у них ИНЫЕ задачи. у них задачи - собирать из кусков уже написанных высокоуровневых штук всякую муть ДЛЯ БИЗНЕСА. бизнесу редко нужна математика, бизнесу нужны всякие сайты и мобильные приложения.

    в рядовой вакансии какой-нибудь веб-макаки с зп средней по рынку математика действительно не нужна. вообще.

    так что тут все отпивавшиеся - скорее просто "понтуются" своей "правильностью". в реальной жизни, в реальной работе, нужна не математика, а знания технологий, которые востребованы на рынке, здесь и сейчас.

    всё.

    остальное - суть демагогия. за демагогию и за математику не платят. платят только за результат.
    Ответ написан
  • @asd111
    Математика активно используется не во всех областях программирования.
    Меньше всего математики в вебе и мобильной разработке.
    Больше всего в компьютерной графике, машинном обучении, мат. моделировании и т.п.
    Ответ написан
  • DMGarikk
    @DMGarikk
    Software Developer
    Попробую написать не так как остальные, opengl формулы и т.п.
    ===
    Вспомните любую сложную, например физическую задачу которая решается большим количеством расчётов с интегрированием...и, удивительно, но решение такой задачи это чистой воды программирование (где вы процессор и программист в одном лице) с разработкой модели решения и выделение абстрактных сущностей для расчётов
    Ведь вспомните как считаются интегралы, у них же нет единого правильного способа решения, также как и в программировании.
    А т.к. всё зачастую делается ручкой на бумажке, а не (уяк уяк и дебаггером смотрим) то по истечению пары десятков здоровенных тетрадей мышление становится упорядоченным и оптимальным.
    Ответ написан
  • @tekord
    Веб-разработчик
    Как пример математики в приложении мобильном - анимации. Анимация - это интерполяция значений от старта до финиша по какой-то функции (линейная, кубическая и т.д.). Работа с графами, деревья, поиск маршрутов из точки А до точки Б тоже математические штуки. Вычисление хеш функций для проверки целостности данных, криптография, шифрование - математика.
    Ответ написан
  • AlexMaxTM
    @AlexMaxTM
    Математика это универсальный язык всех наук. С тем же успехом можно было спросить почему у физиков так много математики, или у химиков, биологов. Даже историки без математики не обходятся.
    Ответ написан
  • oxyberg
    @oxyberg
    Продуктовый дизайнер
    В программировании много всяких штук типа функций — чувствуете связь с математикой? Да, чтобы написать какие-нибудь заметки матан ваще не пригодится, от слова совсем. А в этом вашем шазаме наверняка используются сложные математические алгоритмы, чтобы песни определялись как надо. Все зависит от задач приложения.

    з. ы. тащемта когда-нибудь придется столкнуться с алгоритмами и структурами, там тоже есть математика, но не аналитическая, а дискретная.
    Ответ написан
  • nki
    @nki
    Автоматизация бизнес-процессов.
    все равно объясните какую роль математика в приложении для какого-нибудь ios?

    Из того, что мне близко - приложение, которое пишет трек во время занятий бегом и выдает по нему какую-то статистику. Как вы считаете, нужна тут математика или нет?
    Ответ написан
  • @red-barbarian
    IT сфера очень молода. Откровенно говоря выпускник института имеет уже сразу устаревшие знания. Что преподавать реально никто не знает. И не знают какие знания в этой сфере будут достаточно долговечны и нужны. Так некие догадки и не более.
    Это относится к математике тоже. Курсы перенасыщены. Есть вещи практически полезные, но есть которые напрямую не связаны с практикой. Проблема и в том, что отделить одно от другого, понять какие вещи в образовании бесполезны, а какие важны никто не может.
    Для примера, интуитивно понятно что алгоритмы и математика связаны между собой, но ведь не со всей математикой что преподают)
    Тоже самое с навыком разбивать сложные структуры на простые части.
    В целом, вопрос правомерен, образование прегружено, но как правильно никто не знает.
    Проблема современного мира)
    Ответ написан
  • ilyazh
    @ilyazh
    Инженер-испытатель ЭКБ
    Математика учит мыслить. Ставить задачу, анализировать возможные решения, комбинировать различные функции\действия\операции, для получения результата, абстрактно мыслить. Это, блин, школа жизни. :) Основная цель преподавания математики - научить мыслить и анализировать. Ну не нравятся цифры? ну замените баранами, считайте баранов. И программирование тут не причём, как бы. Математику надо всем изучать, но в разной степени углубления.

    А далее, в зависимости от планов на жизнь - думать как эти знания применить. Программист учится алгоритмы делать и прочее, бухгалтер дебет с кредитом сводить. Математика - нечто фундаментальное. Хотя может и для программистов её слишком много дают, но мне кажется, что скорее дают не правильно, что студенты не понимают, зачем им это надо? И учат математику ради решения математических задач, ради оценок. И никто не знает зачем, ни препод, ни студент.
    Ответ написан
  • iCoderXXI
    @iCoderXXI
    Fullstack WEB dev, software/DB architect, sysadmin
    Компьютер, это от аглицкого to compute - вычислять, т.е. вычислятор. Все что умеет делать компьютер - это взять биты там, что-то с ними сделать в плане их трансформации в другие биты, причем путем вычислений, и положить это куда-то еще. На этом всё. Занавес.

    Казалось бы, при чем тут математика? А при том, что как без нее вычислять?

    Поэтому, что бы ни делал компьютер, играет ли он музыку, рендерит ли 3D, ходит ли в интернет, в конечном счете все сводится к вычислениям, а, стало быть, к математике. Дважды занавес.
    Ответ написан
  • @evgeniy_lm
    Компьютер это не более чем продвинутый калькулятор. Все данные в памяти хранятся в виде чисел, а выполнение программы процессором в итоге сводится к последовательности арифметических операций над этими числами.
    Таким образом задача программиста заключается в том чтобы научить компьютер конвертировать нечисловые данные, полученные от пользователя, в числа. Затем получившийся массив чисел как-то обработать и результат преобразовать обратно в форму понятную пользователю. Сейчас часть этой работы, как правило, скрыты от программиста, компилятор языка берет эти функции на себя, что позволило существенно снизить порог входа в программирование

    Существует даже специальный раздел математики - математическое моделирование. ММ определяет законы способы и методы перевоза нечисловой информации в числа
    Ответ написан
  • @sitev_ru
    sitev.ru - мой блог ...
    Кроме элементарной математики до 5-го класса, никакой больше особо математики не наблюдается, конечно, если не брать проекты, основанные на математике.
    Ответ написан
  • @radeon221
    но все равно объясните какую роль математика в приложении для какого-нибудь ios?


    Никакую роль. У меня знакомый сделал простую игру на иос с помощью какогото конструктора, в математике дуб дубом, зарабатывает тыщу в месяц...
    Ответ написан
  • angrySCV
    @angrySCV
    machine learning, programming, startuping
    алгебра изучает как работать с абстракциями - грубо говоря абстрактное программирование.
    возможно требуется больше времени что бы понять дзен
    Ответ написан
  • @younghacker
    Потому что в мире много молекул и объекты реального мира состоят из молекул.
    А программирование базируется на математике.
    Программирование решает те или иные математические задачи.
    Будь то построение на плоскость проекции трёхмерной модели освещённой виртуальным светом,
    или простая отрисовка кнопочки с тенью на экране айфона.
    Как ни крутись, а координаты и масштабы нужно посчитать.
    А чего стоит моделирование динамики прокрутки экрана с трением...
    Разумеется использование разных библиотек избавляет от необходимости изобретать велосипед, но ездить на нём всё же нужно уметь.
    Ответ написан
  • @potan
    "Природа говорит языком математики".
    Математика не для того, что бы мешать, а для того, что бы помогать. В программировании она помогает писать надежные элегантные легкие в поддержке программы.
    Многое можно написать и без математики, но чаще всего это приведет к багованному громозкому, сложному в поддержке и развитии коду, хоть и доступному менее квалифицированным разработчикам.
    Будь моя воля, я бы не допускал в профессию не знакомых с теорией множеств, формальной логикой и теорией категорий - качество ПО заметно бы вырасло. А для нематематиков есть еще много занятий, кроме программирования.
    Ответ написан
  • Потому что почти все действия в программе: вычисления,подсчёты и т.п. и ещё математика нужна чтобы ускорить\сократить память\время работы программы
    Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы