×Закрыть

Область программирования с интересной математикой

Добрый день!
В данный момент работаю бэкенд разработчиком, но хочу сменить область работы. Всегда любил математику, легко разбирался в универе в сложных и необычных ее разделах.

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

Вроде Machine Learning и обработка/распознавание изображений неплохие, Data Science выглядит чем-то рутинно-статистическим

LinkedIn
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Какие есть области программирования с интересной математикой?

Quantitative Trading, Data Science, Artificial Neural Networks, ML

Какие есть области программирования с интересной математикой?

квантовое программирование?
причем у D-Wave Systems уже продаются компьютеры на 2000 кубитов, соответственно программирование там уже давно прикладное

в Украине?

в Google, NASA, etc :-)

и $15 лямов за ящик
Тоже будут искать с 3 годами опыта работы

Финансовая математика, т.е. работа квантом — вот ваш выбор. В принципе, основной язык непосредственно для разработки торговых систем это все-таки еще С++ (хотя и есть всякие Jane Street с их OCaml-ом), а для анализа подходят CAS системы (MATLAB, R, Pythonовые пакеты, Julia). Из знаний то нужны: теорвер/статистика, дифф.ур.-ы, теория меры, стохастика, знания финансовой состовляющей.

А нахера все это нужно, если достаточно знать элементарный питон и сразу идти на квантконнект и квантопиан?

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

Функціональщина з її монадами та теоркатом може. Заодно десь біля бекенду.

в функциональщине этого теорката пару недель максимум поразбирать

Да и не нужено както особо знать теор кат на практике.

Какие есть области программирования с интересной математикой?

области программирования, где точно нужны нехилые знания математики:
— геймдев (особенно разработка игровых и физических движков)
— научный софт (например, на гитхабе есть репозитории NASA)
— всякие финансовые опердени и статистики
— разработка ИИ
— ну и всякие модные машинные обучалки и т.п.

А вот где матиматия будет интересна — это уже от топикстартера зависит, какого рода матиматика ему больше нравится)

Для начала хорошо бы разобраться, что именно имеется в виду под «интересной математикой».
В прикладных задачах «интересная математика», которая является интересной именно математикам, вообще не возникает.

Это скорее не область программирования, а конкретные продукты в конкретных компаниях. У меня похожие интересы и, к сожалению, в аутсорсе я их не нашёл. Поэтому сейчас работаю в неайтишной компании с IT департментом и своим продуктом, где много математики вокруг Geoscience. Правда, это уже не в Украине.

Machine Learning и обработка/распознавание изображений неплохие, Data Science выглядит чем-то рутинно-статистическим

Ну да, гордо произнести я занимаюсь «глубоким обучением искусственных нейронных сетей» куда пафосней чем сказать «я выполняю построение многомерной нелинейной лассо-регрессионной модели с ручным подбором метапараметров и ресемплингом» :-)
Вообще странно как-то звучит противопоставление. Если понимать «заниматься ML и DS» как «вызвать Python-функцию XYZ c первым параметром равным A, а вторым — равным В» ( к чему сейчас, увы, скатываются многие книги и он-лайн курсы) то да, можно говорить, что что-то «неплохое», а что-то «рутинное». (Мне видится это — как «ремесло»). Если же говорить именно о «математике», т.е. о том, какие методы применяются, как, почему, их сравнение, а может быть в далеком будущем — и улучшение, (мне видится — как «профессионализм») тогда противопоставлять одно другому — не просто неправильно, но еще и вредно. Так как это просто несколько ответвлений одной большой науки, со взаимным проникновением методов и подходов, средств и идей. И тогда надо изучать «все» :-) А уж потом выбирать (с умом) и применять то, что «нужно» в конкретном проекте.

«я выполняю построение многомерной нелинейной лассо-регрессионной модели с ручным подбором метапараметров и ресемплингом» :-)

Шо?

Також вважаю, що різниця між Data Scientist і Machine Learning Engineer не в тому, що перший займається рутинними речами, а другий — цікавими.
Моє розуміння таке, що мета першого — створити хороший прототип. А тому використовуються R, Python, MATLAB. Другого — те, що добре працюватиме у production під високим навантаженням. Тому — Java/Scala, C/C++.

Рутина чи не рутина, залежить від задачі. Якщо спосіб її вдалого розв’язання добре відомий, і є готові зразки коду, які можна використати, то одне. Якщо успішні випадки розв’язання задачі невідомі, або є мало компаній, які роблять щось схоже, й ідеї з кодом не є у вільному доступі, тобто треба читати й аналізувати статті, експериментувати, то інше.

На проектах связанных с разработкой CAD-систем нужна математика.

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

Просто интересно, извините,что влажу со своим’ грузом’:
мне нравится язык Си, что бы сносно писать на нем код и делать годные продукты для систем, нужны хорошие знания математики?

Не нужны и никто уже не пишет на чистом Си. Нерентабельно и не технологично.

Особенно кернельщики не пишут на С))

и сколько таких среди общего числа програмистов? Особенно у нас?

Так ведь вопрос по другому стоял:

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

Ответ — смотря что писать.
А то, в какой процент ты потом попадешь — это совсем другая песня. Попадешь туда куда будешь стремиться попасть. Если хватит амбиций.
А с багажом С++ за спиной — во-первых — самый незатратный в последующем переход на любую другую платформу, а во вторых — вон GoLand замаячил, вполне перспективное В БУДУЩЕМ направление.

вопрос стоял о знании математики. Вероятность попадания в процент как играть в лотерею. ПРосто потому что этот процент на самом деле доли процента.
И что там перспективное а что нет никто не знает.
Учить нужно програмирование а не языки программирования

я спросил о проценте програмистов кернелщиков (на вашей блатной фене как я понял это те кто разрабатывает ядро операционок) а не что в линкедине.

и сколько таких среди общего числа програмистов? Особенно у нас?

Поиск «linux kernel», country = Ukraine дает 737 результатов. Вы спросили не %, а сколько у нас.

я везде говорю именно о проценте
Процент с общего количества програмистов возьмите сами.
А если взять число не с линкедина где как и в каждом резюме в основном вранье то можно смело делить еще на 10.

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

Процентов 70% пакетов, которые используются в R и Python написаны на С/С++. Другое дело, что пишутся они как правило «не у нас».
Так что все зависит от амбициозности целей, которые перед собой ставятся.

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

От того, что процент мал, эта область резко становится ненужной?

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

Нет.
За последние кучу лет алгоритмы (сортировка, списки там всякие, оптимизация по скорости) понадобились раза 3-4 (2 раза — телефонная книга и история звонков для радиотелефонов, 1 раз сделал движок регекспа, о чем пожалел, так как ушло немеряно времени, 1 раз — надо было оптимизировать алгоритмы, но ничего не выоптимизировалось).
Математика даже школьного уровня не нужна.
Нужно уметь оценить зависимости в системе, найти слабые места и прикинуть все возможные варианты поведения Вашего кода (вот Вы обрабатываете пакет данных из интернета. А что если: * длина пакета в заголовке есть, а начинки — нет; * длина в заголовке пакета отличается от длины в заголовках вложенных пакетов; * при передаче пакета дальше в систему перегружена очередь отсылки...) и понять, что в каждом из вариантов произойдет, и что из этого неприемлемо.

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

В Финансах есть математика, но похоже это минимум нужно ехать в Нью-Йорк. Тут на аутсорсинге вряд-ли есть. В Вроцлаве я знаю есть отдел аналитиков-финансистов в Кредит Свисе. Они пишут на F#

Как правильно развиваться в этом направлении обычному галерному синьору, что бы найти в этом секторе работу? Ну собственно кроме изучения F#

Это аццкий — ад! Там математика уровня 6 класса. В кредит свиссе вообще могут заставить макросы из екселя переписывать.

3D, геолокация, AI в целом.

Подписаться на комментарии