LINUX.ORG.RU
ФорумTalks

Без математики никуда

 


1

2

Для решения каких задач программисту нужно хорошо знать математику?
Ответ желательно вот в такой форме: проблема и какое-то знание из области математики.
Например «я не смогу без глубоко знания логики использовать операторы условного перехода»,
или там «не смогу добавить в массив значение без знания теории множеств».

Перемещено leave из development

★★

Последнее исправление: Int0l (всего исправлений: 1)

Ответ на: комментарий от Int0l

Ну не обижайся ты

Откуда такие выводы?

Я хотел показать что они не несут смысла. Вот и все.

Спорный вопрос. Я озвучил тебе цель постановки вопроса (причем здесь) и ни слова не сказал о природе этого вопроса (про что). Где конкретно ты увидел «жжение»? :)

znenyegvkby
()

Для решения каких задач программисту нужно хорошо знать математику?

Для решения задачи повышения своего благосостояния. Матстатистику там, теорию вероятностей.. Что бы делать морду кирпичом и требовать бабок в математически верный интервал времени

vasily_pupkin ★★★★★
()
Ответ на: комментарий от znenyegvkby

Ну вот какой смысл привносить лишние сущности в суть вопроса.
Зачем тут какие-то понятия не несущие логической нагрузки: «цель постановки вопроса», «природа этого вопроса».
Это как разбавлять программирование математикой когда она не нужна.
Как вместо скобок полагаться, что компилятор будет делать такие же приоритеты у операторов как в математике.
Это как думать, что для того, чтобы использовать оператор условного перехода, нужно знать логические операторы.

Int0l ★★
() автор топика
Ответ на: комментарий от Int0l

Ну вот какой смысл привносить лишние сущности в суть вопроса.
Зачем тут какие-то понятия не несущие логической нагрузки: «цель постановки вопроса», «природа этого вопроса».

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

Опять двадцать пять. Вот именно для этого и нужно привносить «лишние» сущности, чтобы ты перестал уже приплетать эти бредовые аналогии про логические операторы там, где они совершенно не в тему. Вдруг ты поймешь это, когда тебе разжуют и положат в рот.

znenyegvkby
()
Ответ на: комментарий от Int0l

что компилятор будет делать такие же приоритеты у операторов как в математике.

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

znenyegvkby
()
Ответ на: комментарий от znenyegvkby

логические операторы там, где они совершенно не в тему

Просто пойми, что они «в тему».

Int0l ★★
() автор топика
Ответ на: комментарий от Int0l

Почему я должен понимать какой-то не относящийся к теме бред? Объясни, для начала. Ты только осилил пару фраз о каких-то «начальных тестах» и прочую ахинею. Но это совершенно не объясняет причину, по которой твоя аналогия в тему. Если ты не понимаешь этого по-русски, давай я попробую объяснить тебе это на «твоем языке»:

Зачем зимой носить шапку, если есть волосы?
Зачем с утра заправлять кровать, если вечером все равно ложиться?
Зачем тебе жить, если ты все равно умрешь?
и т.д. и т.п.

Видишь ли, твои аналогии как и аналогии выше, не имеют ничего общего с обсуждаемой темой, а потому это эталонное «нинужно». Вполне справедливо я задал тебе вопрос «причем здесь это?». Но ты упорно продолжаешь мне доказывать важность и уместность своей аналогии. Зачем?!

znenyegvkby
()
Ответ на: комментарий от znenyegvkby

Ладно кароч. Спокойной ночи. А я пойду про айгуляр учить.

Int0l ★★
() автор топика
Ответ на: комментарий от Int0l

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

Ты любитель толстоты что-ли? Давайдосвидания, кароче.

znenyegvkby
()

Ты не сможешь осилить ничего дальше пэхапэ. Криптография - математика, machine learning - математика, computer graphics - математика. You name it - математика.

invy ★★★★★
()

Q:. Do I need to be good at math to become a hacker?

A:. No. While you do need to be able to think logically and follow chains of exact reasoning, hacking uses very little formal mathematics or arithmetic. In particular, you won't need trigonometry, calculus or analysis (we leave that stuff to the electrical engineers :-)). Some grounding in finite mathematics (including Boolean algebra, finite-set theory, combinatorics, and graph theory) can be helpful.

(C) Eric Steven Raymond

Есть разные мнения о возможности мышления вне языка, но я убежден, что аналитическое мышление того типа, который нужен в компьютерном программировании, тесно связано с языковыми навыками. Я не думаю, что является случайностью то, что многие из знакомых мне лучших программистов имеют дипломы по истории, филологии и схожим наукам. Также не является совпадением то, что некоторые из виденных мной худших программ были написаны инженерами, физиками и математиками, затратившими в университете массу энергии на то, чтобы держаться как можно дальше от занятий по языку и литературе. Сущность заключается в том, что математическая подготовка почти не нужна в компьютерном программировании. Тот тип организационного мастерства и аналитических способностей, который нужен для программирования, связан полностью с гуманитарными науками. Логика, например, преподавалась на философском факультете, когда я был в университете. Процесс, используемый при проектировании и написании компьютерных программ, почти полностью идентичен тому, который используется, чтобы сочинять и писать книги. Процесс программирования совсем не связан с теми процессами, которые используются для решения математических уравнений.

(C) Алан Голуб

От себя добавлю «п'ять копійок» -

После того, как проФФеСора В.С.ЛугоФФского выгнали из института, и только благодаря протекции он не загремел в армию (а выгоняют, как правило, за матан, за физику никого не выгоняли, типа «плохого студента армия исправит»(С)), то он стал всячески сублимировать, говоря о том, какой он крутой математик-функцианальщик, и сыпать умными словами про замыкания и подхвостовую рекурсию.

Я же сдавал математику на «хорошо» и «отлично» только из материальных соображений - чтобы степок платили.

Bioreactor ★★★★★
()
Последнее исправление: Bioreactor (всего исправлений: 3)

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

karton1 ★★★★★
()

В датасаенс не сможешь, нужен матстат. И не все игрушки клепать сможешь, нужен ангем и всякая такая хрень. Научное по тоже не сможешь.

Сам с нулевым знанием, грущу только от датасаенсе)

holuiitipun
()
Ответ на: комментарий от mkam

Грамматика, парсинг, регулярка — дискретная математика, в частности автоматы.

Как-то я без математики регулярками пользуюсь и автоматы пишу)

holuiitipun
()
Ответ на: комментарий от Softwayer

Для оценки времени работы нетривиальных алгоритмов нужны какие-никакие знания матана, дискретной математики и теорвера.

Школьных знание и знания сложности используемых штук за глаза.

holuiitipun
()
Ответ на: комментарий от Int0l

Вот вы товарищ смогли бы не зная математической логики использовать операторы условного перехода?

Софтскилз куда важнее математики. И никто в жизни не использует такой термин для if/when/etc.

И нет, для этого не нужно знать математику.

holuiitipun
()
Ответ на: комментарий от peregrine

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

Как раз обычно только джуны и помнят про математику)

holuiitipun
()
Ответ на: комментарий от holuiitipun

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

Softwayer ★★
()
Ответ на: комментарий от holuiitipun

Как-то я без математики регулярками пользуюсь и автоматы пишу)

Это еще что... некоторые регулярками XML парсят. А на досуге, наверное, рассуждают о ненужности математики.

tailgunner ★★★★★
()
Ответ на: комментарий от Softwayer

Не каждый школьник сможет время работы quicksort оценить

Ну не каждый школьник и программистом сможет стать.

алгоритме Киркпатрика локализации в триангуляции

Ну уж очень специфичная вешь, 99.99999% знать это не надо.

holuiitipun
()
Ответ на: комментарий от tailgunner

Это еще что... некоторые регулярками XML парсят. А на досуге, наверное, рассуждают о ненужности математики.

Такое обычно делают как раз со знанием математики, но не программирования)

holuiitipun
()
Ответ на: комментарий от holuiitipun

некоторые регулярками XML парсят. А на досуге, наверное, рассуждают о ненужности математики.

Такое обычно делают как раз со знанием математики

Да тебе-то откуда знать, что они знают...

tailgunner ★★★★★
()
Ответ на: комментарий от holuiitipun

Речь о знаниях, не о лейбле. Впрочем, на матмехе вполне могут не давать математику, профильную для прогера.

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

Как раз проблема в том что люди суют математику в программирование, когда она не нужна.

Int0l ★★
() автор топика
Ответ на: комментарий от Int0l

Как раз проблема в том что люди суют математику в программирование, когда она не нужна.

Чья проблема, где? Пример приведи.

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

Речь о знаниях, не о лейбле. Впрочем, на матмехе вполне могут не давать математику, профильную для прогера.

Профильную «математику» проще на курсере и едх пройти. Да и в каком месте автоматы, грамматики и формальные языки к математике-матиматеке? (если мы про регулярки) Это все можно осилить и с базовой школьной.

holuiitipun
()
Ответ на: комментарий от holuiitipun

Профильную «математику» проще на курсере и едх пройти

Проще чем что, почему проще?

Да и в каком месте автоматы, грамматики и формальные языки к математике-матиматеке?

Это, внезапно, раздел математики. Знания которого - рабочий инструмент.

Это все можно осилить и с базовой школьной.

Глубокая мысль. Я ее еще углублю - абсолютно всё можно «осилить с базовой школьной». И что?

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

Проще чем что, почему проще?

Проще чем идти и пять лет изучать математику.

Это, внезапно, раздел математики. Знания которого - рабочий инструмент.

Глубокая мысль. Я ее еще углублю - абсолютно всё можно «осилить с базовой школьной». И что?

Я не так прочитал тред и думал что тут про матфаки. 🤗

holuiitipun
()
Ответ на: комментарий от holuiitipun

Можно линк на профильную математику EDX, как раз хочу ей заняться.

Int0l ★★
() автор топика
Ответ на: комментарий от holuiitipun

Проще чем идти и пять лет изучать математику.

Ы? 5 лет математику учат математики, а не прогеры.

Я не так прочитал тред и думал что тут про матфаки. 🤗

Ну я выпускник матфака. Но в дипломе написано «инженер-программист», а собственно математическая программа была облегченной и модифицированной по сравнению с теми же приматами.

tailgunner ★★★★★
()
Последнее исправление: tailgunner (всего исправлений: 1)
Ответ на: комментарий от invy

Machine learning требует математики столько, сколько ни один программист в жизни осиливать не будет. Плохой пример.

Solace ★★
()
Ответ на: комментарий от holuiitipun

Data Science с мат.статом связан только «поскольку». На самом деле куда важнее опыт и набитые руки.

И не все игрушки клепать сможешь, нужен ангем и всякая такая хрень.

Не в 2016 году

Solace ★★
()

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

Deleted
()
Ответ на: комментарий от holuiitipun

Если веб, то так и есть (это единственная отрасль, где можно вообще ничего не помнить, хотя с БД работать, выборки делать тоже надо знать логику). Как работать вменяемым архитектором, не помня математики и не понимая, зачем нужна вычислительная сложность (смотри в треде выше) я ХЗ.

peregrine ★★★★★
()
Ответ на: комментарий от alpha

Математик не любящий формул - очень странно. Хотя я их не люблю, когда они слишком сложные и неудобные, но делать нечего.

peregrine ★★★★★
()

Если задаются такие вопросы, то задающему их, математика не нужна.

Я за всю свою практику программирования, знал всего трёх программеров, более менее разбирающихся в математике.

Только с одним я мог обсудить кое какие нюансы некоторых алгоритмов и всем им нафиг не нужно было знание математики в реальном программировании.

Если ты пилишь какую нибудь стандартную хрень типа бложика в стиле «хабр» или «хелоуворлд» для гитхаба, то и тебе математика не нужна.

Serg_HIS
()
Ответ на: комментарий от Solace

Программист может и нет, а computer scientist - да.

invy ★★★★★
()

ТСу не нужно ни для каких /thread

f1u77y ★★★★
()

Для ВСЕГО.

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

Miguel ★★★★★
()
Ответ на: комментарий от Miguel

Круто! Можно ссылку на код. Или хотя-бы какой алгоритм для какой прикладной задачи используешь.

Int0l ★★
() автор топика
Ответ на: комментарий от Pythagoras

Ну if может результат любой функции и любой теории использовать. Например теории струн. Но из этого не следует что мне нужно знать теорию струн или университетский курс мат.логики. Хотя некоторым «особо одаренным» это необходимо да.

Int0l ★★
() автор топика

Бухгалтерский и аудит + споры хозяйствующих субъектов.
От того как посчитаешь зависят судьбы людей. Не хухры-мухры.

TomBOY ★★
()
Ответ на: комментарий от Int0l

Ну как бы этим вопросом я проверяю способность человека к написанию программ. Если он говорит что для использования безусловного перехода нужно знать логические операторы, то сразу становится понятно что он не программист.

чо, такое говёное учебное заведение, что к концу года только основы и начали?

EvgGad_303 ★★★★★
()
Ответ на: комментарий от Int0l

Например теории струн

гы-гы... Это к Шелдону.

Вообще вначале появляется проблема/идея, потом ищутся способы как её решить/достичь. И тут не угадаешь какие матметоды понадобятся. Всё решает опыт и способность ума сидеть и долбиться в проблему, пока не решишь изучая тонны всего.

Но 99.(9)% повседневных задач, решаются уже существующими методологиями (типа паттернами и фреймворками с соответсвующими уже сделанными математическими либами).

Хочешь сделать свой «распознаватор» речи или чего либо вообще - сидишь и долбишься головой годами в разные направления математики, физики, биолгоии и т.п. (это самообразование уже)

Serg_HIS
()

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

Для этой задачи мне нужны хорошие знания в области Цифровой обработки данных, Нейронных сетей и Нечёткой логики, для понимания и эффективного применения которых нужно иметь некоторое представление о Линейной алгебре (так же необходимой для работы с графикой и создания игровых движков), Математической статистике, Математической логике, Численных методах и Математическом анализе.

Все эти дисциплины преподавались на моей специальности в университете, по многим из них (в частности, по всей логике) мне были доступны гениальные преподаватели - и на все из них я забил, считая, что математика тру программисту не нужна. Как оказалось, математика не нужна только макакам-кодерам.

Nebuchadnezzar ★★★★
()
Ответ на: комментарий от Nebuchadnezzar

Нейронных сетей и Нечёткой логики

Обе не нужны как класс.

Первая - не нужна как то, что описано в существующих книгах по программированию.

Вторая - вообще не нужна.

могу детально рассказать и про первую и про вторую.

Serg_HIS
()
Ответ на: комментарий от Nebuchadnezzar

Вот в том то и проблема математики. Знания дают в отрыве от реальности. Гениальные преподы не смогли даже такую простую вещь объяснить, как для чего и зачем нужна математика программисту.

Int0l ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.