?

Log in

No account? Create an account

Previous Entry | Next Entry

Друзья,
я знаю или догадываюсь, что многие из вас программисты и/или математики. У меня к вам просьба! Объясните, пожалуйста, 14-летнему ребенку Насте и мне заодно, зачем программисту математика и чем программист-математик отличается по своим возможностям, скажем так, от программиста не-математика.

Comments

( 30 comments — Leave a comment )
livelight
Nov. 7th, 2014 09:14 am (UTC)
Численные методы, допустим, нужны не любому программисту.
Но всё программирование - это разнообразная алгебра. Работа с абстрактными структурами данных, поиск инвариантов алгоритма (что необходимо для оптимизации), логика взаимодействие компонентов - это всё алгебра, алгебра, алгебра.
Программист, не владеющий алгеброй - это быдлокодер самого низкого пошиба веб-дизайнер, например. Или маркетолог. Или ещё какой-нибудь полезный в деле человек, но не программист ни разу.
cybercat
Nov. 7th, 2014 09:15 am (UTC)
Два параллельных эффекта. Во первых, куда ни копни всерьёз, если уйти от совсем простых "ремесленных" задач - начинается математика. Теория алгоритмов - математика. Моделирование сред и Ray tracing в 3D-графике - математика. Любая криптография - очень серьёзная математика. И так везде.

При этом, занятия математикой сами по себе дают ту "гимнастику ума", которая позволяет кодить лучше, быстрее и эффективнее. Навык работы с многоуровневыми абстракциями. Причём - развивают этот навык быстрее, чем он развивался бы естественным путём, сидя за кодом. Просто потому, что задачи сложнее и интереснее.
leotsarev
Nov. 7th, 2014 09:15 am (UTC)
Можно вот так: я программист, но не математик. Румата: программист и математик. З/п Руматы в 2-2.5 раза больше.
xeniaku
Nov. 7th, 2014 09:21 am (UTC)
Про что-то такое я догадывалась. Тут как раз и хотелось бы понять, в чем такая принципиальная между вами разница.
(no subject) - aleks - Nov. 7th, 2014 09:30 am (UTC) - Expand
(no subject) - niggle - Nov. 7th, 2014 10:51 am (UTC) - Expand
(no subject) - leotsarev - Nov. 7th, 2014 10:53 am (UTC) - Expand
kolitan
Nov. 7th, 2014 09:17 am (UTC)
Подписался на обновления)))

Я ни разу не программист и математик из меня разве что математик-дилетант, но мне видится, что это как-то связано с тем, что любые модели, алгоритмы, проекты описываются математическими методами. Да и сам по себе любой компьютер - улучшенная версия калькулятора.
ringlin
Nov. 7th, 2014 09:24 am (UTC)
Будущее нашего программирования - 3D-моделирование, визуализация, а это очень много математики. Даже в тех областях программирования, которые пока обходятся почти без математики (интернет, базы дынных) объемы информации или вариантов уже таковы, что без математики все очень долго (то есть неконкурентоспособно). А так матстатистика нужна при любых обработках, оцифровка любых данных подразумевает знание высшей математики.
livelight
Nov. 7th, 2014 09:37 am (UTC)
Базы Данных обходятся без математики????!!!1111 Вы бы видели, что у них под капотом!
Что касается "интернета" (крайне расплывчатый термин), то, например, хоть в соцсеточках, хоть в системах маршрутизации пакетов активно используют ядрёнейшие графовые алгоритмы.
(no subject) - ringlin - Nov. 7th, 2014 09:39 am (UTC) - Expand
(no subject) - xeniaku - Nov. 7th, 2014 09:43 am (UTC) - Expand
(no subject) - livelight - Nov. 7th, 2014 10:37 am (UTC) - Expand
(no subject) - ringlin - Nov. 7th, 2014 11:11 am (UTC) - Expand
(no subject) - livelight - Nov. 7th, 2014 09:48 am (UTC) - Expand
(no subject) - ringlin - Nov. 7th, 2014 10:09 am (UTC) - Expand
(no subject) - livelight - Nov. 7th, 2014 10:21 am (UTC) - Expand
(no subject) - livelight - Nov. 7th, 2014 10:26 am (UTC) - Expand
(no subject) - leotsarev - Nov. 7th, 2014 10:50 am (UTC) - Expand
(no subject) - livelight - Nov. 7th, 2014 11:08 am (UTC) - Expand
(no subject) - leotsarev - Nov. 7th, 2014 11:17 am (UTC) - Expand
(no subject) - livelight - Nov. 7th, 2014 12:12 pm (UTC) - Expand
irumata
Nov. 7th, 2014 10:46 am (UTC)
Ябы 14 летней девочке объяснял так.
Компьютер это большая мат. модель. Если ты понял язык компьютера то можешь, писать программы для решения различных задач.
Однако, как только тебе понадобиться развить существующий метод или найти что-то принципиально новое тебе придется построить модель и решить какую-нибудь мат. задачку. При этом простые модели все давно уже построили, и сейчас самое интересное и перспективное в сложных моделях и задачах.
Можно перечислить известные математическо-емкие области - криптография, графика, распознование предметов, построение моделей всего и вся(от машины и гидростанции до общества и бизнес-процессов) и решения задачек для этих моделей.
Так или иначе математика понадобится, вопрос только эти новые знания будут ложиться на фундамент или использоваться как "волшебный черный ящик".
dennis_chikin
Nov. 7th, 2014 10:51 am (UTC)
http://dennis-chikin.livejournal.com/345011.html

Вот как-то так. Это я в нем своими шаловливыми ручками покопался, до того было страниц 5 тригонометрии.
Есть примеров поинтереснее, но там букофф сильно больше.

А банальная оптимизация сетевого траффика как-то потребовала двойной параметрический интеграл считать. Тупо в лоб просто железо не тянуло.

И, да, *-математиков выпускают университеты, а инженегров-* - техвузы.
yarwain
Nov. 7th, 2014 02:58 pm (UTC)
*не математик и не программист, но мнение имею*
Думаю, как-то так: чтобы выучить сам язык программирования (т.е. какими буковками записать алгоритм в компьютер), особой математики не нужно. Но большинство задач, которые решают программисты (т.е. как составить алгоритм, чтобы добиться поставленной цели, и сама цель) как правило требуют математики разной степени сложности.
tari_bird
Nov. 7th, 2014 04:08 pm (UTC)
Отличный вопрос, интересные ответы :) Вспомнила, как сама объясняла одиннадцатилетней девочке тот же вопрос
andreylv
Nov. 9th, 2014 10:49 pm (UTC)
(Я тут мимо проходил, но если позволите, свои две копейки вставлю.)

Дело в том, что сама профессия программиста стремительно меняется. Десять лет назад программист был кто? Кто делает веб-сайты. А сейчас самое интересное - это собирать и обрабатывать данные. А для этого нужна статистика и прочая дискретная математика. Те же "программистские" специальности, которые были в ходу 10 лет назад, не исчезают, конечно, но во многом автоматизируются, и "теряют в цене".
lilsla
Nov. 12th, 2014 07:13 pm (UTC)
Не могу пройти мимо:)
http://habrahabr.ru/company/yandex/blog/239339/ - яндексовская статья про это на хабре с видео, как мы любим%)
the_modifier
Dec. 16th, 2014 09:03 pm (UTC)
Программирование само по себе - это просто ремесло, которое достаточно просто освоить, что-то из разряда слесаря или электрика, просто высококвалифицированное в силу того, что многие люди ещё побаиваются компьютеров. Это очень широкая отрасль, которая включает в себя множество вещей от банальщины на уровне "создать сайт-визитку" до проектирования нейронных сетей.

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

Математика же в программировании нужна исключительно как универсальный язык, который может описать и поведение мобов в компьютерных играх, и составить корпус текстов для электронных переводчиков. Кстати, в программировании нужна совсем не та математика, которая математический анализ, а дискретная математика - теория множеств, математическая логика, теория формальных языков и так далее. Матан же - исключительно прикладная область, которая нужна, по большому счёту, только в инженерных дисциплинах.
( 30 comments — Leave a comment )

Profile

2017
xeniaku
Ксеняка

Latest Month

November 2017
S M T W T F S
   1234
567891011
12131415161718
19202122232425
2627282930  
Powered by LiveJournal.com
Designed by Julie Kurylo