Pull to refresh

Comments 168

Наверно, я какой-то странный, но мне пригодилось все вышеперечисленное.
А где вам, например, пригодился функциональный анализ?
Однажды в сливной коллектор я уронил связку ключей. Тогда я сделал из проволоки интеграл и достал их!;) Интегралы очень полезная вещь.
Очень глупая шутка. Хотел бы пояснить почему.

В общем случае когда человек занимается спортом, зачем он это делает? Например, тягая штангу, как ему это в будущем пригодится? Он планирует тягать штангу в офисе по 8 часов каждый день за оклад? Или например при каждом подъеме штанги он будет спасать жизнь котенку?
Занимаясь физическими упражнениями человек развивает силу, выносливость, гибкость и пр — вот для чего занятия. А где могут пригодиться эти качества? Да где угодно: начиная от помощи бабушке с сумками и заканчивая спасением жизни.

Так и с образованием: подобно мышцам мозг «качается». Упражнения могут быть разными, но суть не в их разнообразии, а в результате — прокачке ума. И сферу применения живого, творческого ума объяснять ведь не нужно?

Если бы все было как в этой шутке, то в школе и институте нас учили бы только минимально необходимому для жизни и работы: что есть чтобы не умереть, как класть бетон и подавать ключ на 13.
Полностью с вами согласен. Если бы я не тренировал свой мозг интегралами в школе/институте, ни за что бы не догадался согнуть так проволочку… ;-)
Мозг «прокачивается» совершенно иначе, чем мышцы. Мозг действительно учиться быстрее и лучше решать задачи того типа, которым вы его кормите, однако это не влияет ни на общую способность лучше мыслить, ни на решение другого типа задач.
UFO just landed and posted this here
Плюсану, хоть подобное — сюжет довольно старого математического анекдота
Возможно, это смелое обобщение, но тот же ряд фурье – это скорее функционалка, чем матанализ.
функан от матана отличается как раз тем что изучает функционалы а не ряды
Оопс, как я в лужу сел :) Спасибо.
Но все равно я почти попал, куда хотел: «Теория преобразования Фурье, используемая во многих областях науки и техники (например, в теории обработки изображений), также является частью функционального анализа.» © ru.wikipedia.org/wiki/%D0%A4%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9_%D0%B0%D0%BD%D0%B0%D0%BB%D0%B8%D0%B7
Преобразование Фурье != ряд Фурье
Ясно дело. Потому и «почти». А «почти» издревле не считается
Маленькая поправка.

На самом деле, является. Есть такая наука про преобразование Фурье на локально компактных группах, частными случаями которой являются оба классических понятия. Наука уже тоже классическая, ей лет сорок.
функциональные языки программирования? лямбда исчисления те же.
Да чтож такое!
Неужели мы одни функан называли просто ФАНом?)
видимо таки да, мы его тоже звали «функаном» =)
Это мат логика скорее. Функциональный анализ про бесконечномерные векторные пространства с дополнительными структурами.
Это теория алгоритмов (aka теория вычислимости) вообще-то. Обычно ее не включают как часть матлогики.
А как лямбда-исчисление связано с функциональным анализом? У меня не было курса по лямбда-исчислением и сам я их специально не изучал, но по функиональному анализу был. И я не очень представляю их связь.
Да, физика в геймдеве очень и очень актуальна. Я вот за 5 лет клепания прикладухи после универа физику подзабыл и планирую обратиться к Метери Учения (ака повторение) в ближайшее время. Кроме того, немного соскучившись от стандартной прикладухи, реально потянуло на сольные проекты поинтереснее, и «внутренний математик» вновь проснулся и просит пищи — стал косо поглядывать на собрание томов «Искусства Программирования» и литературу такого уровня. Вообще, очень жалею, что математику в универе не учил, а сливал, сейчас понимаю, что математика — это кроме очевидной пользы, еще и очень интересно и увлекательно. Повзрослел. А ведь до 10го класса математику очень любил, и всегда во всех классах был одним из лучших учеников, а иногда и самым лучшим. Потом пошли гулянки в стиле конца 90х и начала 2000х, дискотеки, девочки и пр., образование отошло на второй план, кроме разве что самого программирования. Но программирование без математики в большинстве случаев подобно обескрыленной птице ИМХО. Очень многие направления программирования просто не могут существовать и развиваться без математики.
Опять нытьё на хабре (конец августа, зимняя сессия, летняя сессия). Идите учитесь лучше!
Нытье? Где вы это увидели? Мне просто интересно, кому пригодилась математика в работе. Никоим образом не намекая на то, что она не нужна.
Боюсь, те, кому она не пригодилась – плохо работали :)
Предлагаю сразу расстрелять всех, кто не отметил «Дискретная математика», и отметили «Математическая логика».
Вариационное исчисление. Например, реализация ПО для проектирования оптимального профиля металло-пластикового окна.
В принципе, кучу задач можно оформить вариационкой. Вероятно, правда, что очень не всегда будет выгодно их так решать
По последнему ответу можно оценить, сколько читателей работают code monkey.

Даже глупый, рутинный таск можно написать кучей разных способов.
Если так подумать, то последний вариант вообще бессмысленный. Любой if с более чем одним условием по определению тянет за собой применение булевой логики =)
a + b тянет за собой алгебру :)
А мат логика тут при чем? Булевыми функциями занимаются на дискретной математике. А мат логика — она про доказуемость утверждений, алгоритмическую разрешимость, колмогоровскую сложность и.т.д.
Почти все общепринятые алгоритмы пришли из логики
вы путаете логику и мат. логику
Не путаю, корректность алгоритмов доказывается через математическую логику.
каких алгоритмов? алгоритмов маркова?
или может докажете мне корректность heap-sort'а на языке матлогики?
матлогика — это совсем не прародитель алгоритмизации. не путайте понятия.
Загляните в определения для начала. Возмите хотя бы википедию

Математи́ческая ло́гика (теоретическая логика, символическая логика) — раздел математики, изучающий доказательства и вопросы оснований математики.
я очень рад за вас, что вы заглянули в википедию и привели пример, не содержащий ни единого слова «алгоритм». При чём определение это можно даже под матан подписать.

я матлогику в универе 3 года назад проходил, и знаю что это такое.
Бывает, требуются как знания как раз мат. логики чтобы упростить череду длиннющих if-ов,
а что если я с условными выражениями и циклами познакомился раньше мат-логики? Для меня вот мат-логика это такая искусственная наука, а ИФы — реальны =)
Мне пригодилось кучу математических знаний, но я не знаю, к какому предмету они относятся =(
Например? Я знаю кучу названий предметов, сейчас подберем)
Я так понимаю, что это базовая геометрия и тригонометрия, векторы, теория вероятности, возможно, аналитика какая.
Лучше объяснить, что каждая из наук означает, а мы бы подобрали соответствия к ним )
Люди всю жизнь учат эти объяснения :)
Можно в википедию заглянуть. Перечисленное вами почти не выходит за рамки школьной программы.
Если это так просто, ответьте вкратце и своими словами, что анализируют методы мат. анализа (для анализа чего они предназначены)?
Изменяющиеся, динамические характеристики объектов (в противоположность статическим), объекты в движении, зависимость характеристик одних объектов от меняющихся характеристик других.
Я заслужил пирожок?
В принципе, да, но представьте себе чёрный ящик, который посылает в вашу сторону сигналы (например, мигает лампочкой). Вам надо проанализировать, какими свойствами эти сигналы обладают (больше ничего не известно). По-моему, эта задача сильно выходит за пределы матана.

Я всё надеялся, что MihailOlenin ответит. По мне, самое простое определение матана в том, что он призван анализировать [динамические] взаимоотношения между числами (которые в, свою очередь могут быть отражением свойств динамических объектов).
Если не утрировать, то ничего не пригодилось. Но допускаю что все еще впереди.
Линейная алгебра (матрицы и действия над ними) и из списка: дискретная математика, теория вероятности, геометрия.
Без линейной алгебры в разработке 3D сцен никуда.
расчёт любой координаты на любой сцене — это преобразования матриц
Для пользователя (моделера) или для ПО(редактора)? Подавляющее большинство преобразований при моделировании прозизводиться путем манипуляций с интерфейсом а то что «по ту сторону» происходят «преобразования матриц» и тд моделер может и вовсе не знать в принципе…
Но есть конечно процедурное моделирование и там без формул, матриц не обойтись, или например архитектура и тд и тп, но это подвиды и там в расчеты требуются так как необходима повышенная точность.
в заголовке голосования присутствуют слова «в программировании». очень жаль, что кто-то голосует, не увидев их.
Там то это видно. Я же отвечал именно в контексте вашей реплики, но видимо ввел в заблуждение за что заранее извиняюсь.
А я аналитической геометрией обходился :)
Аналитическая геометрия построена вокруг линейной алгебры.
Расскажите, кому и как пригодилась топология. Не геометрия, а именно то, что изучается топологией.
Не хочу сказать, что она не нужна, просто интересны её области применения. Про дифференциальную геометрию тоже не прочь услышать.
Сам не применял, но читал, что для задач OCR очень часто используются законы топологии.
Из универа из полезного вынес Численные методы, да дискретную математику — без этих основ понять как работает железо довольно сложно.
Численные методы — плюсую!
У нас их называли ЧМЫ
А у нас в украинском вузе так и называлось ЧМО (чисельнi методи обчислень), а преподы соответственно ЧМОшники. :)
Методы вычислений и методы оптимизации.
гм. математические науки?
Не совсем понял вопрос. Вычметоды и метопты — вполне себе математические науки.
если вычметоды — это численные методы, то да.
а методы оптимизации — больше к computer science.
а, понятно. у нас курс оптимизации был о другом и относился к CS.
по большей части линейная алгебра, теория графов и геометрия
UFO just landed and posted this here
Теория графов — раздел дискретной математики
Теория графов входит в дискретную математику.
Как и теория множеств (кто-то выше писал) и много чего ещё.
у нас теория множеств была введением к матану
Видимо, у вас при составлении программы не знали куда её удобнее пристегнуть по количеству выделенных часов — ну и пристегнули к матанализу.
Но вообще к матанализу (теория пределов, бесконечно малые и большие величины, дифференциальное и интегральное исчисление, теория рядов) множества отношения не имеют. Это самая настоящая дискретка.
Кстати, у нас теория множеств была в составе курса матлогики.
Матлогика вообще-то тоже входит в дискретную математику. Просто это довольно большой её раздел, который удобно выносить как самостоятельный предмет.

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

Но, справедливости ради и чувствуя подоплеку вопроса, замечу, что подавляющее большинство пригодившихся знаний было получено в школе, в кружке математике и из научно-популярных статей в журналах типа «Квант», «Наука и жизнь» и т. п.
>матстатистика (странно, что не отмечена — никто среднее не брал в мускуле? :) )

а, так вот оно шо было!
В общем-то все пригодилось, в том числе и не упомянутые методы вычислений. Но проголосовал за алгебру и топологию — абстрактно мыслить они развивали как ничто другое.
Из того, чему учат в университете пригодилась только мат. логика. Ее учат обычно на 1ом курсе.
её обычно учат в конце второго. на первом есть дискретка. видимо, так учили.
На МехМате МГУ дискретную математику учат на 4ом курсе
у меня был не мех-, а просто мат. и да, не МГУ.
Мы учили дискретку на первом курсе, мат. логику на втором.
Так что везде видимо по-разному и зависит от университета и, возможно, от специальности.
я сужу по трём университетам нашего города (техническому, академическому и экономическому) и трём факультетам в них (мат, мехмат и радиотехника), одновременно с бывшими одноклассниками проходили
Алгебра и теория чисел (скорее линейная алгебра) — испльзовал довольно часто преобразования матриц, один раз даже при оптимизации дизайна ДБ

Математическая логика — использовал только в одном проекте когда программировал искуственный интеллект. Это было очень давно и ничего из етого не вышло ).(

Дискретная математика — чесно говоря никаких конкретных задач я вспомнить не могу, но все же конечные автоматы и машина Тьюринга заставили меня отметить етот чекбокс )
Хоть раз, да пригодились: теория множеств, теория категорий, лямбда-счисление, теория типов, реляционная алгебра, теория управления, мат. статистика, комбинаторика, теория графов, формальные грамматики.
Насколько я понимаю, теория типов, лямбда-исчисление и формальные грамматики относятся к математической логике. Графы — к комбинаторике. А вообще, продвинутый список! Теория категорий отностится к монадам?
Монады относятся к теории категорий.
Прошу прощения, неясно выразился. Имелось ввиду, упомяналась ли автором теория категорий в связи с понятием монады. Впрочем, так и не дошли мои руки выяснить, как программистские монады относятся к настоящим.

Кстати, есть и обратный процесс: программирование немного влияет на логику и обоснования математики. В частности, Coq. А вот и ссылка на центр этой деятельности.
мат логика и теория множеств очень хорошо ложатся на работу с реляционными данными.
Пригодилось все. И это еще не полный список.
Кстати, а кто может порекомендовать книжки типа «Математика для программиста», заточенные именно под кодеров, а лучше ими же и написанные? Можно на инглише.
А смысл в таких книгах? Это как знать алгоритм сортировки, но не понимать как он работает.
Искусство программирования, например :).
Или «Конкретная математика».
Математике по искусству программирования не научишься.
А в какой области? Если геймдев то можете посмотреть на Mathematics for 3D Game Programming and Computer Graphics. Книга очень хорошим языком написана, все разжевано и расставлено по полочкам.
UFO just landed and posted this here
Мне пригодилось все перечисленное и много чего еще из не перечисленного. Когда пишешь программы по вычислительной аэродинамике выбора нету.
Математика во всех проявлениях учит прежде всего решать поставленные задачи доступными средствами. Программирование — это та же математика.
Я считаю, что те, у кого было все в порядке с математикой, кто легко решал задачи, участвовал в олимпиадах и пр., будут хорошими программистами.
Насчет прикладников не уверен. Например, математическая нотация очень сильно по своим принципам отличается от кода при императивной модели вычислений, математик может выдавать весьма любопытный код на функциональном ЯП, но при использовании декларативного пытаться свести его к тому же ФЯП, что приводит к просто ужасным конструкциям.
За последние 5 лет — ничего. Сугубо прикладные моменты вроде оценки сложности алгоритмов едва ли можно интерпретировать как использование математических наук.
В моей работе в одном из институтов РАН (написание софта для решения задач матфизики) пригодилось все, кроме функана. Да и функан пригодился не потому, что не нужен, а потому, что я его плохо учил :)
а если бы вы писали софт для решения задач по БЖД, вы бы и БЖД отметили как необходимую дисциплину?
Ага, а автору программы для хранения кулинарной книги надо техникум питания заканчивать? Приведите пример программы для БЖД, для которой требуется знание БЖД в уровне большем, чем десятиминутный ликбез от заказчика — тогда посмотрим.
Да и не понимаю сути вопроса. Я сам математикой не занимаюсь совершенно, только программированием. Но чтоб понять суть какого-то алгоритма и реализовать его эффективней реально требуются знания многих областей математики.
суть в том, что вряд ли вы кого-то удивили тем, что софта для решения задач матфизики, пригодилось очень много математики.
Судя по комментам и по результатам голосования, большинство прочитало вопрос как «значения каких из перечисленных слов Вы знаете?».
господа голосующие за матан, скажите, где он вам пригодился?
Я писал софт для моделирования одного физ. процесса, там сплошной матан.
Но, это скорее domain knowledge, чем что-то относящееся непосредственно к разработке.
а какие разделы матана конкретнее там затрагивались?
Диф. и интегральное счисления. Это удобный способ описания протекающих во времени процессов.
Если конкретней, то это была модель подземного выщелачивания соли, основанная на реакторах идеального смешения и идеального вытеснения.
я в принципе так и подумал. я, правда, считал, что это скорее диффуры, чем матан.
Матан лежит в основе многих разделов математики, в том числе и перечисленных в качестве вариантов ответов. Косвенно он используется почти везде.
честно говоря, я ещё в том комментарие хотел отметить именно прямое, а не косвенное использование. меня просто интересует, где же таки могли пригодиться ряды, многомерные интегралы, и что-то с четвёртого семестра, чего я вообще уже не помню.
Матан это не только многомерные интегралы и ряды, но еще и обычные производные и интегралы.
Сосвем не пригодилась только теория вероятности. Ну специфичная она. А всё остальное в той, или иной мере, использовал.
Нам пригодилась при вычислении того, как мы буем хранить данные и как их будем кэшировать :)
Я гуманитарий по образованию и могу искренне признаться в том, что почти все перечисленное для меня не более, чем словосочетания. Тем не менее, я думаю, имей я вышеперечисленное в своем багаже знаний, мне было бы значительно проще решать те или иные проблемы, которые встречают в работе. Но в тоже время, смело могу заметить, что нередко даю фору большинству своих приятелей, пошедших по пути технического образования. Моя ли это заслуга или их косяк — не знаю.

Но все равно, жаль, что я не технарь. Иногда явственно ощущаю это.
>смело могу заметить, что нередко даю фору большинству своих приятелей
Фору в чем?
в беге на длинные дистанции (в ларек за пивом) — что еще можно доверить гуманитарию!
На короткие. Супермаркет рядом
Прозвучит громко, но во всем. Методологии разработки и их применение на практике, алгоритмы, паттерны, ООА.

Есть отдельные товарищи, которые лучше подкованы в вопросах алгоритмизации. Ну и C/C++. Но последнее можно не брать в учет, так я просто никогда не писал на этих языках.
>Методологии разработки и их применение на практике, алгоритмы, паттерны, ООА.

так бы и сказали — олимпиадники алгоритмисты все знают, но писать не умеют.
Список говорит о том, что вы как раз таки технарь. Наверное вместо «жаль, что я не технарь» вы имели в виду «жаль, что я потратил время на гуманитарное образование, вместо технического».
Сколько бы я не читал книг, статей, блогов и прочего, у меня всегда остается ощущение, что я откровенно не дотягиваю до какого-то уровня. Причем я не могу понять, что это за уровень. Мне кажется, техническое образование помогло бы систематизировать знания.

Когда только начинал работать в ИТ, устраиваясь на новое место работы, я всякий раз думал, — Вот сейчас я увижу, как работают настоящие профи. Примерно с той же целью я хотел бы сменить свое гуманитарное образование на техническое, чтобы посмотреть, чему и как учат программистов.
Ничему там не учат, продолжайте лучше читать, наоборот может какую-то базу в универе и можно приобрести, но уровень поднять только практика+самообучение. Работа с профи конечно тоже, но найти настоящего профи, который что-то будет лично пояснять, почти не реально.
Я и не думал, что будут пояснять. Хотелось видеть инструменты, с которыми работают, подходы, которые используют. На какие составляющие разбивается цикл разработки и так далее. Еще до своей первой должности в IT компании я читал про TDD, ООА и прочее. Очень хотелось видеть, как все это используется в реальных рабочих процессах.

К слову, одному знакомому, на каком-то из курсов, читали UML. Я очень ему завидовал в то время :)
Ах да, исправил, спасибо.
Ан нет, нельзя редактировать ответы, к сожалению.
>смело могу заметить, что нередко даю фору большинству своих приятелей
Фору в чем?
категорически не знаю, «кто все эти люди» и очень переживаю, что я быдло и в светлом будущем меня расстреляют в биореакторе.

вот например, я когда пишу что-то вроде
lambda x: randint(1,x)


или там беру среднее значение из списка — это уже использование знаний о лямбда-исчислении, матстату и терверу или надо сначала пять лет поучиться, чтобы такие заявления делать?
Нет, когда вы это пишете, вы не пользуетесь этими знаниями, по тому, что у вас их нет :)
А вот когда вы можете объяснить (и понимаете почему), что:
lambda x: randint(1,x)*randint(1,x)

Не даст «более случайного» значения, то да, вы уже воспользовались какими-то знаниями.
Я, конечно, понимаю, какое заблуждение вы имели в виду под словами «более случайное». Но, между прочим,
randint(1,x)*randint(1,x)
расширил диапазон распределения, и неплохо так поменял вероятности.
Но между прочим, чтобы посчитать как именно это изменило вероятности, нужно знать теорвер и матан.
Не спорю.
Я ни в коем случае не противоречил исходной точке зрения, замечание касалось исключительно слов о «более случайном».
давайте опрос — знания, которые Вам мешают в программировании.
Из изученного за полтора года на вышке — не помню ничего. Либо знал раньше, либо самостоятельно изучал позже. Ибо в вузе первые два-три года учат умению учиться (тавтология тавтологическая).
Диффуры и численные методы попадались в более специализированных курсах. Фурье, терверы, операционное исчисление… все нужно, но не факт что этому всех обучат.
+ мат. логика, теория автоматов, вычислительные методы.
Такую дисциплину как «Исследование операций» забыли.
Если честно, много чего забыл, вернее не написал, в ответах, так сказать, основы вузовской математики что-ли… По этому и есть вариант ответа «что-то другое» :)
Пригодилось все, но больше всего — дискретка, тервер (особенно теория массвого обслуживания) и матстатистика.
Мне, как спецу по тематике цифровая обработка сигналов, пригодилось все!
Правда тут есть тонкость: программирование на VHDL является программированием в полном смысле этого слова? Ведь за каждой операцией мне нужно представлять не абстракцию функций, а конкретную схему на элементраной электронике )))
кроме выше перечисленного, мне так же пригодилось знание административного устройства страны
При обработке изображений пригождалось всё из перечисленного и кое-что ещё(теория чисел была нужна для криптографии результата только). В принципе можно ещё разделить «теорвер» и «матстат». Это примерно как «алгебра» и «матан». Второй куда боле нагруженный и спецефичный. Сомневаюсь, например, что фильтр Калмана это чистый теорвер.
у нас в универе предмет так и назывался — ТВиМС, «теорвер и матстат» :)
У нас это были отдельные курсы. Причём теорвер был один семестр общий для всех, а матстат читался каждому факультету свой и от теорвера там было всего пару общих формул)
Ну, я учусь на экономической специальности, поэтому нам так широко не давали :) Так, общий курс...))
Голосование подтверждает мою мысль, что дискретную математику и статистику нужно включить в обязательную школьную программу. А то слишком у многих взрослых людей проблемы с логикой, причинно-следственными связями и вероятностями.
UFO just landed and posted this here
Хочу придраться к формулировке. Может быть я странный, но у меня программирование начинается обычно после того как всё вышеперечисленное могло найти применение при решении конкретной задачи. Т.е. если мне надо выделить из сигнала определённую гармонику, то я решаю использовать преобразование фурье. Задача ясна, можно приступать к программированию. Или не приступать, если лень. Т.е. когда дело доходит до программирования, то в этом процессе используется разве что пространственное воображение, знание ЯП и прикидки по производительности. Вся математика имела место в голове до начала составления программы, т.е. собственно программирования.
Имелось в виду, что не конкретно в самом процессе программирования, а в программировании в общем, а именно знания математики при решении определенных задач. Именно, как в Вашем последнем предложении. Если расписывать вопрос подробно, то заголовок получился бы пожалуй очень длинным :)
Программирование вобщем — это знание синтаксиса что ли?
Не так выразился. Т.е. реализация проектов, которые требуют определенных математических знаний.
Обработка изображений:
  • матрицы (линейная алгебра)
  • интегралы, производные, разложение в ряд Тейлора, корреляционная функция (матан)
Системное администрирование:
  • Statistics
  • Complexity Theory
  • Probability Theory
  • Chaos Theory
Sign up to leave a comment.

Articles