Re[4]: Мат.анализ для программиста
От: Олег К.  
Дата: 20.01.14 02:38
Оценка:
ОК>>Пардон, но что такого нужно из дискретной математики чтобы освоить компиляторы?
LVV>Теория графов
LVV>Теория алгоритмов
LVV>Теория автоматов
LVV>Теория множеств (отдельные разделы)
LVV>Теория формальных грамматик

Мама мия! Да в любой нормальной книжке по компиляторам дается вся нужная теория.
Re[5]: Мат.анализ для программиста
От: LaptevVV Россия  
Дата: 20.01.14 05:23
Оценка: 1 (1) +1
Здравствуйте, Олег К., Вы писали:

ОК>>>Пардон, но что такого нужно из дискретной математики чтобы освоить компиляторы?

LVV>>Теория графов
LVV>>Теория алгоритмов
LVV>>Теория автоматов
LVV>>Теория множеств (отдельные разделы)
LVV>>Теория формальных грамматик

ОК>Мама мия! Да в любой нормальной книжке по компиляторам дается вся нужная теория.

Ну так это и есть — дискретка...
только есть такой умственный закон: чтобы хорошо разбираться в малом, надо много больше знать...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re: Мат.анализ для программиста
От: vl690001x Россия  
Дата: 27.01.14 05:00
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Уважаемые читатели этого форума!

А>Учусь на первом курсе в университете и, собственно, назрел вопрос: нужно ли особо углубляться в математический анализ для последующей работы программисту?
А>Или обычного университетского курса будет достаточно?
А>И в какую математику лучше сделать упор? Дискретка, теорвер?

Сейчас я склоняюсь к тому что все-таки нужно.
Со временем вы конечно забудете продвинутую математику, но останется главное — понимание того в каком месте можно ее использовать, а тут уже на помощь придут готовые либы, и вы будете просто использовать имеющиеся в них методы для собственных нужд.
Re[3]: Мат.анализ для программиста
От: Lepsik Индия figvam.ca
Дата: 27.01.14 20:54
Оценка:
V>А можно ссылку на вакансии, где это требуется?

http://www.careercup.com/
Re: Мат.анализ для программиста
От: velkin Удмуртия http://blogs.rsdn.org/effective/
Дата: 27.01.14 22:05
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Уважаемые читатели этого форума!

А>Учусь на первом курсе в университете и, собственно, назрел вопрос: нужно ли особо углубляться в математический анализ для последующей работы программисту?
А>Или обычного университетского курса будет достаточно?
А>И в какую математику лучше сделать упор? Дискретка, теорвер?

Смотря на чём специализироваться, одним программистам нужно углублённое изучение, другим не нужно знать вообще ничего из этих курсов.

Плюс те, кто увлекается высшей математикой начинают мыслить по другому. И если это станет стилем мышления, то некоторые задачи они решат очень эффективно и в краткие сроки, некоторые напротив плохо, а некоторые никогда.
Re[4]: Мат.анализ для программиста
От: Vzhyk  
Дата: 28.01.14 08:09
Оценка:
1/27/2014 11:54 PM, Lepsik пишет:

> http://www.careercup.com/

А что сразу не на хахару?
Posted via RSDN NNTP Server 2.1 beta
Re[2]: Мат.анализ для программиста
От: HrorH  
Дата: 28.01.14 14:52
Оценка:
Здравствуйте, velkin, Вы писали:

V>Плюс те, кто увлекается высшей математикой начинают мыслить по другому. И если это станет стилем мышления, то некоторые задачи они решат очень эффективно и в краткие сроки, некоторые напротив плохо, а некоторые никогда.


А можно пример, какую задачу увлекающийся высшей математикой решить не сможет, а не увлекающийся сможет?
Или не пример, а просто можете что-то более конкретное сказать об этом?
Re[2]: Мат.анализ для программиста
От: Lepsik Индия figvam.ca
Дата: 28.01.14 21:38
Оценка:
C>Матан надо знать в объёмах первого курса — он простой и пригодится может много где. Продолжения матана — дифуры, функции комплексной переменной и прочее уже вряд ли.

udachi

http://rosalind.info/problems/list-view/
Re[3]: Мат.анализ для программиста
От: Cyberax Марс  
Дата: 28.01.14 21:44
Оценка:
Здравствуйте, Lepsik, Вы писали:

C>>Матан надо знать в объёмах первого курса — он простой и пригодится может много где. Продолжения матана — дифуры, функции комплексной переменной и прочее уже вряд ли.

L>udachi
L>http://rosalind.info/problems/list-view/
Ну вот не надо мне рассказывать про них, я работаю как раз в области биоинформатики. Матан и дифуры там нафиг не нужны. Функции комплексной переменной тоже.

Нужно знание нескольких базовых методик и умение находить приемлимые эвристики.
Sapienti sat!
Re[4]: Мат.анализ для программиста
От: Isscander  
Дата: 28.01.14 23:49
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Здравствуйте, Lepsik, Вы писали:


C>>>Матан надо знать в объёмах первого курса — он простой и пригодится может много где. Продолжения матана — дифуры, функции комплексной переменной и прочее уже вряд ли.

L>>udachi
L>>http://rosalind.info/problems/list-view/
C>Ну вот не надо мне рассказывать про них, я работаю как раз в области биоинформатики. Матан и дифуры там нафиг не нужны. Функции комплексной переменной тоже.

В биоинформатике дифуры может и не понадобятся, а в каком-нибудь fluid dynamics или continuous-time simulation вполне могут пригодиться.
Re[5]: Мат.анализ для программиста
От: Cyberax Марс  
Дата: 29.01.14 01:22
Оценка:
Здравствуйте, Isscander, Вы писали:

L>>>http://rosalind.info/problems/list-view/

C>>Ну вот не надо мне рассказывать про них, я работаю как раз в области биоинформатики. Матан и дифуры там нафиг не нужны. Функции комплексной переменной тоже.
I>В биоинформатике дифуры может и не понадобятся, а в каком-нибудь fluid dynamics или continuous-time simulation вполне могут пригодиться.
Следующий вопрос — а нафига программисту fluid dynamics? Софтом для симуляции всяких гидросистем занимается исчезающе малое количество программистов.

Если зайдёт речь про игры и красивую симуляцию жидкостей в них, то там нужна ровно одна вещь — решение уравнений Навье-Стокса методом конечных элементов. Чтобы понять нужную _математику_ там достаточно тех самых основ. А дальше нужны уже знания практических алгоритмов, в которых конкретно матан уже постольку-поскольку.
Sapienti sat!
Re[3]: Мат.анализ для программиста
От: velkin Удмуртия http://blogs.rsdn.org/effective/
Дата: 29.01.14 07:01
Оценка:
Здравствуйте, HrorH, Вы писали:

HH>Здравствуйте, velkin, Вы писали:


V>>Плюс те, кто увлекается высшей математикой начинают мыслить по другому. И если это станет стилем мышления, то некоторые задачи они решат очень эффективно и в краткие сроки, некоторые напротив плохо, а некоторые никогда.


HH>А можно пример, какую задачу увлекающийся высшей математикой решить не сможет, а не увлекающийся сможет?

HH>Или не пример, а просто можете что-то более конкретное сказать об этом?

Давайте условно разделим программистов на:
1. Чистых математиков не программистов
2. Математиков-программистов
3. Программистов не математиков

Скажем так, программист не математик всё равно знает математику, но на уровне обывателя, посчитать деньги в кошельке (арифметика) и т.д.
А программирует он используя присущую человеку логику и другие дисциплины компьютерной науки.
Чистый математик напротив не понимает, что компьютерные системы накладывают определённые требования.

старый боян

Переменная I представляет собой целое число. I принимает значения 1 или 2. Если I оказалось равным 1, то замените его на 2, и наоборот.


Чистый математик якобы решил бы её так:

I=3-I;


Преподаватель программирования вот так:

IF I=2 THEN I=1;
IF I=1 THEN I=2;


Это, конечно, всё шутки, но уже непрозрачно намекает. Предположим программист проведёт ручное или автоматизированное тестирование.
На вход будет подано 10.
3-10 = -7 (неожиданный для того, кто воспользуется подобной функцией результат)
А если целое окажется беззнаковым возникнет переполнение.

Из жизни могу сказать, что решение программистов с сильным уклоном в высшую математику "как конечный автомат". Это автомат и он конечный, всё работает, пока не придёт кто-нибудь и не скажет "а давайте добавим вот эту фичу".

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

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

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

Следующий вопрос, как шаблоны проектирования связаны с высшей математикой. Шаблоны проектирования не привязаны к конкретной парадигме программирования (функциональная, объектно-ориентированная, обобщённая и т.д.) и уж тем более они не связаны с высшей математикой. Их можно и не использовать, вопрос в том, как потом наращивать систему.

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

Изучив конкретный раздел математики в некоторых областях компьютерной науки человек может стать специалистом высокого класса. Проблема в том, что как и математика компьютерная наука состоит из непохожих друг на друга разделов. Чтобы решить некоторые задачи может потребоваться полное переобучение.
Re[5]: Мат.анализ для программиста
От: Vzhyk  
Дата: 29.01.14 07:43
Оценка:
1/29/2014 2:49 AM, Isscander пишет:

> В биоинформатике дифуры может и не понадобятся, а в каком-нибудь fluid

> dynamics или continuous-time simulation вполне могут пригодиться.
Ровно настолько, насколько сантехнику, который в НИИ водопровод чинить
будет.
Posted via RSDN NNTP Server 2.1 beta
Re[3]: Мат.анализ для программиста
От: Isscander  
Дата: 29.01.14 16:45
Оценка:
Здравствуйте, HrorH, Вы писали:

HH>Здравствуйте, velkin, Вы писали:


V>>Плюс те, кто увлекается высшей математикой начинают мыслить по другому. И если это станет стилем мышления, то некоторые задачи они решат очень эффективно и в краткие сроки, некоторые напротив плохо, а некоторые никогда.


HH>А можно пример, какую задачу увлекающийся высшей математикой решить не сможет, а не увлекающийся сможет?

HH>Или не пример, а просто можете что-то более конкретное сказать об этом?


Machine Learning/data analysis/prediction сейчас в США — одна из самых востребованных специализаций. А весь современный Machine Learning завязан на линейную алгебру, дифференциальное/интегральное исчисления, и, конечно, тервер и статистику. Без хорошей математической базы разобраться в нем если не невозможно, то, по крайней мере, очень трудно. Вообще, Machine Learning сейчас применяется все чаще — даже собственно в Software Engineering сейчас строят мат. модели риска на основе ML.
А для Image processing/computer vision/ в добавок надо знать аналитическу геометрию и, желательно, оптику.


Но это работы уровня Research and Development. Там где и деньги платят, и работать интересно. Ну а для писания на ПХП матан, конечно, не нужен.
Re[4]: Мат.анализ для программиста
От: Vzhyk  
Дата: 29.01.14 18:59
Оценка:
1/29/2014 7:45 PM, Isscander пишет:

> в США

Вот в этом все. Высшая математика и др. университетские программы нужны
в США, если же ТС не планирует в США, то нафиг не надо.
Но, к этому нужно добавить, что всю эту математику учить желательно тоже
в США или хотя бы phd там. Если же просто тушкой отсюда через MS, Гугл,
Амазон, то там тоже будешь на php писать вместе с индусами.
Posted via RSDN NNTP Server 2.1 beta
Re[4]: Мат.анализ для программиста
От: Cyberax Марс  
Дата: 29.01.14 21:00
Оценка: +1
Здравствуйте, Isscander, Вы писали:

I>Machine Learning/data analysis/prediction сейчас в США — одна из самых востребованных специализаций. А весь современный Machine Learning завязан на линейную алгебру, дифференциальное/интегральное исчисления, и, конечно, тервер и статистику.

Щито? Линейка нужна, но в обычном объёме первого курса. Диф. исчисление зачем в machine learning — понятия не имею.

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

I>А для Image processing/computer vision/ в добавок надо знать аналитическу геометрию и, желательно, оптику.

Анальгия — это в базу как раз входит.
Sapienti sat!
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.