Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Так зачем программисту математика? Конкретно?

Просветленный (24326), закрыт 7 лет назад
Ну 50% говорит что не надо, 50% что надо. Я конечно точно не считал)
Из аргументов за, слышал о
1) "Это развивает логику/etc" - Не считаю за аргумент, есть и другие вещи
2) "Что бы стать мастером а не формошлепить" - Очень аргументированно
3) "Не поймешь алгоритмов" - Можете пару дать?)
И еще бы какую нибудь задачу где без математики не обойдешься, я имею виду не 5+5*2 а что нибудь серьезное
Лучший ответ
Алекс Куха Высший разум (446558) 7 лет назад
Да вот тут рядом вопрос https://otvet.mail.ru/question/196260174
Товарищ не понимает, что такое функция. Может это частный случай, но их таких набирается много. Та же алгебра - суть всего и вся в программировании. Абстракции математики плавно переходят в рутинное кодирование. Применение разных математических терминов (дизъюнкция, подмножества, пересечения ...) всё требуется при написании простого кода.
Возможно, что человек этого не осознаёт, но это не добавляет ему скила, скорее наоборот. Можно иметь природную интуицию, но таких единицы. Остальным надо всё же открывать учебники

Ха, тут таких людей, которые математику ставят ниже плинтуса "выше крыши сельсовета".
Вот ещё один https://otvet.mail.ru/question/196256009
Просветленный (24326) 7 лет назад
Я вот выучил сначала что такое функции в ЯП'ах а теперь мы проходим их на математике))
Алекс Куха Высший разум (446558)
Остальные ответы
Джон Доу Оракул (52722) 7 лет назад
Ещё и англ. язык.
Просветленный (24326) 7 лет назад
Ну английский язык это понятно
Дмитрий Абрамов Просветленный (47593) 7 лет назад
Сдачу с пива в магазине считать. Что за программист без пива?
Просветленный (24326) 7 лет назад
>И еще бы какую нибудь задачу где без математики не обойдешься, я имею виду не 5+5*2 а что нибудь серьезное
Я слышал обычно о pepsi)
Дмитрий Абрамов Просветленный (47593) Хорошо. Поймал.. Дезигнеры и прочие фотошоперы - пивные. Не только за себя говорю.
mcferden Мастер (2234) 7 лет назад
> "Не поймешь алгоритмов" - Можете пару дать?)

Напиши мне трассировщик лучей без знания математики и геометрии :)
Просветленный (24326) 7 лет назад
Уже писал, делал для примитивной 3d игры RayCasting
mcferden Мастер (2234) И что, математика не пригодилась?
Oleh Huz' Просветленный (49548) 7 лет назад
Чтобы посчитал предлагаемый гонорар, затраченное время и прикинул - а выгодно ли?
Просветленный (24326) 7 лет назад
>И еще бы какую нибудь задачу где без математики не обойдешься, я имею виду не 5+5*2 а что нибудь серьезное
Andrey B. Просветленный (27105) 7 лет назад
ты ГСМ ПХП быдлокодеров с программерами не путаешь?

3) "Не поймешь алгоритмов" - Можете пару дать?)

теорвер, теория автоматического управления, аналитическая геометрия.
Это только те что я применял когда сам програмил за деньги
сотни их.

А сейчас работая тестером в IT компнии вижу сотни таких как ты.

Д - деградация
Просветленный (24326) 7 лет назад
Посмотрел все разделы `теорвер`,что то там на уровне 8 класса все
Andrey B. Просветленный (27105) а ты нейрохирургию посмотри. Там тоже биология 8 класс.
Просветленный (24326) 7 лет назад
Посмотрел геометрию, все разделы. Все формулы оттуда еще легче чем первое
Валерий Шестаков Просветленный (25523) 7 лет назад
"какую нибудь задачу где без математики не обойдешься"
Любая прикладная не учебная задачка решает какой-нибудь вопрос какой-нибудь науки. А там, как правило, всякие формулы, иногда совсем зубодробительные. Без математики очень трудно разбить их на элементарные операции, доступные компьютеру (языку программирования).
Просветленный (24326) 7 лет назад
Я имел виду сложную математику. Не вижу кстати сложностей перевести формулу в компьютер, это вообще самое легкое
Валерий Шестаков Просветленный (25523) Ну, например, одна из недавних задач, которые мне пришлось решать. Есть двухслойный материал со скоростями V1 и V2 и "пространство" со скоростью V0. Известно, что луч, выходящий из точки A в пространстве проходит "пространство-материал1-материал2", отражается от границы "материал2/пространство" и идет обратно "материал2-материал1-пространство" и регистрируется в точке B. Задача - восстановить траекторию (найти все точки "перелома" луча). Известно все - скорости и размеры материалов, координаты точек излучения и приема. Все формулы - физика и математика седьмого класса. Без всяких интегралов.
Иван Сигаев Искусственный Интеллект (150195) 7 лет назад
Вот такие "программисты" и считают сумму ряда циклом, а не по формуле суммы ряда
Просветленный (24326) 7 лет назад
Поймал)) А на сколько алгоритм быстрее цикла?
Иван Сигаев Искусственный Интеллект (150195) А на сколько облако быстрее машины? Как можно сравнивать несравнимое?
Максим Искусственный Интеллект (198323) 7 лет назад
Да хотя бы уже затем, чтобы тут на проекте не приходили школьники, и не спрашивали, как посчитать проценты для элементарной задачи. А если серьёзно, то в программировании всё зависит от задач, которые могут быть как простыми, где достаточно математики средней школы, так и сложными, где нужно использовать высшую математику (компьютерная графика низкого уровня, к примеру) или очень сложная, где и того мало, или вообще потребуются специфические знания. Поэтому не известно, что может потребоваться.
231sad21 fasd12 Знаток (455) 7 лет назад
1) Математика на 5+
2) Англ. яз на 100%
А математика нужна для этого вот пример:

Сделай так чтоб программа вывела на экран 9
//y=4
//c=3
//q=2
//n=5
//k=-4
//k=-5
Так зачем математика? как примера решать там они сложнее и больше!
Просветленный (24326) 7 лет назад
printf("9");
Комментарии лишние)), да и пример странный и явно не жизненный
Андрей Высший разум (425884) 7 лет назад
Банальные логические выражения - Булева алгебра, математика.
3D - векторная и матричная алгебры, математика.
Финансы и планирование - линейная алгебра, математика.
"Физика" в играх - дифференциальное и интегральное исчисление, математика.
Базы данных - реляционная алгебра, математика.
Нахождение кратчайшего пути - графы, математика.
Проблема точности вычислений - вычислительная математика.
И т. д. по списку...

Каждая программистская задача сводится к набору математических дисциплин. Потому как:

Любая программа - это алгоритм. А любой алгоритм - это теория алгоритмов, математика.

P.S. Кстати, "лексеры и парсеры" - это тоже раздел математики под названием "формальные грамматики".
Просветленный (24326) 7 лет назад
Математика нужна, но я имел виду вышка и тому подобное. Забыл в описание добавить
Андрей Высший разум (425884) Всё, что я перечислил - это именно высшая математика.
Rumata Просветленный (36749) 7 лет назад
1) это аргумент, просто по своим наблюдениям.
2) Когда ты понимаешь формулы и алгоритмы, ты можешь их увидеть и применить, это сильно сокращает код.
3) Куча вещей, какую конкретно тебе придется знать зависит от области, выше все правильно написали, у тебя весь код так или иначе сводится к математике, любой парсер сводится к однозначности, у тебя всегда однозначный выбор.
А для примера например математического гемороя, один из моих вопросов с которым столкнулся недавно делая другу банальный калькулятор - расчет корня степени -5.5 из числа -4.4. В C#.
Ирония в том что выражение решается в Win калькуляторе (без понятных для меня причин (увы матан не мое, плохо знаю, плохо помню)), ответ на вопрос, почему оно работает или как оно работает, лежит в знаниях математики.
Нужна ли она прогеру, зависит от должности (уровня), предметной области и т. д. Я считаю что она не лишняя, алгоритмы понимаются и видятся также как формулы, внутри алгоритмов содержаться вшитые формулы, чтобы знать что и где хорошо применять, нужно понимать как и что работает, почему в одном случае быстрее одна сортировка, а в другом другая, как работают hash коды, почему они не могут есть больше 70% памяти без потери производительности? Почему минимум 30% памяти для задания этих кодов должно пустовать, ответы на самом деле в математике.

P.S. Это я тебе говорю как прогер, который не дружит с математикой, я плохо ее знаю, плохо ее помню, плохо ее применяю и мне жаль, что мой мозг, просто не может задолбить и запомнить эти формулы, что на понимание одного алгоритма у него могут уйти несколько дней, а потом будет эврика и снова тупизм и т. д.
Просветленный (24326) 7 лет назад
1) Нельзя его считать на словах верным, так как это может быть самообман. Плюс он не для всех возможен
Ирэн Ницше Искусственный Интеллект (213155) 7 лет назад
Обычно достаточно школьного курса.
Например, переменная в программировании - не совсем то же, что тв алгебре, но зная переменные в алгебре, их легче понять и в программировании.
Рисование окна программы и всего, что в нем будет видно, делается на основе двумерной системы координат, для игр используют трехмерную. Не зная, что такое координаты, управлять интерфейсом и писать игры трудно.

В реальности иногда приходится программировать сложные расчеты, но знать математику для этого не нужно. На это есть ТЗ и справочники (оттуда берем формулы) и библиотеки математических функций.
Я, например, написала программу, которая стиавит медицинские диагнозы, а собираюсь переделать ее в ЭИС.
Экспертно-исследовательскую систему.
В финале она будет брать базу данных, принесенную врачом-аспирантом, а выдавать ему готовые главы его диссертации, вычисленные и написанные ею)))))) ну до этого пока далеко))))))
Без формул там никак, но я не учу математику, а юзаю справочники.
Архитектура программ имеет математический вид только на уровне Hex-редактора, в котором никто программы не пишет.

Компьютеры затем и изобретены, чтобы все расчеты делать ЗА ВАС.
Работать с текстами, графикой и т. д. они научились позже, чем вычислять.

Например, вас просят написать софтинку, которая что-то там вычисляет.
А вы не знаете, как это вычислять.
Так это вам должны написать в ТЗ. Либо вы смотрите формулу в справочнике.
А в ней, скажем, используется игрек, который должен быть равен экспоненте от икс.
Так вам даже не надо знать, кто такая экспонента и как она считается.
Находите в справочнике по языку программирования, как писать экспоненту. И пишете:
y = Math.Exp(x);
и вуаля.
double значит, что ответ нужен в виде десяточной дроби и не надо его округлять до целого.
Алекс КухаВысший разум (446558) 7 лет назад
Ага, а как только речь зайдёт о географической проекции клиент заскулит и тихо сольётся, предоставив поле деятельности тем, кому школьного курса было недостаточно.
Ирэн Ницше Искусственный Интеллект (213155) не видела в ТЗ ничего более географического, чем яндекс. карты. А для работы с ними достаточно знать соответствующие API яндекса. Ну или гугл карты.
Алекс КухаВысший разум (446558) 7 лет назад
А так "не профи", ровно так, как выше написано. Нельзя быть профи везде одновременно в любой области, но можно минимизировать время погружения в любую область.
- ГИС
- системы компьютерной алгебры
- всяческие CADs
- баллистические расчёты
- статистические пакеты, GPSS
- системы управления технологическими объектами
- обработка любых экспериментов физических, химических, биологических
и прочее, прочее, прочее
Если для вас это "частные задачи", то дальнейшая дискуссия бесполезна.
Если вы считаете, что для решения этих задач достаточно собрать коллектив, который знает синтаксис яп и методы работы с тем или иным фреймворком, то так же не вижу смысла в дальнейших обсуждениях
Ирэн Ницше Искусственный Интеллект (213155) нах всем баллистические расчеты? во бред
Demon On Wheels Просветленный (30522) 7 лет назад
Как крутить 3Д объект без углов Эйлера?
MetotronИскусственный Интеллект (114872) 7 лет назад
Менять углы проекции осей координат, например. Правда, менять нужно синхронно для всех трёх осей, а это уже нетривиальная задача.
Алекс КухаВысший разум (446558) 7 лет назад
А зачем его крутить, цель - гордыня?
Metotron Искусственный Интеллект (114872) 7 лет назад
Мне разок пришлось делать калькулятор стоиости печати брошюр в зависимости от количества листов и количества экземпляров. Причём, зависимость была такая, что чем больше листов, тем дешевле брошюра, и чем больше экземпляров, тем дешевле брошюра. У меня было несколько значений, типа 10 экземпляров по 50 листов — столько-то, 100 экземпляров по 50 листов — столько-то. По несколько точек для каждого числа экземпляров и листов. И мне надо было заполнить промежуточные значения, то есть вывести формулу, по которой это всё меняется. Короче, вышла система уравнений из двух гипербол, которую я решил и нашёл коэффициенты этих гипербол.
А ещё можешь глянуть, как у меня бегают по кругу иконки на faceup.pro, там использована формула окружности, но я её вывел экспериментально, когда в школе информатике обучался и десятками делал всякие анимации на паскале. Пригодилось вот. А именно такую формулу окружности узнал уже в универе.
Кэтлин Эрин Мария Александра Знаток (460) 7 лет назад
Я видела, что в информатике иногда для расчётов применяются какие-то формулы с логарифмами.
Просветленный (24326) 7 лет назад
Я в последние время задаю профессиональные вопросы, на них ответить будет сложно/бессмысленно
А раньше я задавал полный бред, не советую читать
Кэтлин Эрин Мария Александра Знаток (460) ладно, мне просто баллы нужны были
Животное Мудрец (18958) 7 лет назад
Забей, Чувак! То, что в программировании зовётся "математикой" - лишь жалкое подобие настоящего матана. Просто иди к своей мечте и всё!

З. Ы.: Смотреть на то, как взрослые 30-летние дяди выпендриваются перед школьником, свои скромные познания выдадвая за жёсткий матан... Фейспалм и убожество!
Fhjcc Dghcc Ученик (2) 7 лет назад
Сам не понимаю зачем мне тригонометрия
Похожие вопросы