LINUX.ORG.RU
решено ФорумTalks

Какая математика нужна программисту

 ,


4

1

Я вот уже прочитал про дифуры и сейчас читаю функциональные ряды, в том числе и фурье. Но дальше кончается моя бумажная книга, вопрос в том что читать дальше? В реальном(не олимпиадном) программировании я пока сталкивался только с легкой планиметрией и стереометрией и средней трудности задачей с графами. Есть ли смысл читать что-то про графы с точки зрения математики(ведь есть статьи про графы с точки зрения программирования). Есть ли смысл учить теорию числ? Теорию вероятности?

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

★★★

Читай дискретку, линейку и аналитическую геометрию.
Эти вещи вряд ли тебе пригодятся, но ЕСЛИ что-то из математики тебе пригодится то оно будет в курсах дискретной математики, линейной алгебры или аналитической геометрии.

Stahl ★★☆
()

А ещё лучше забей вообще. Как только столкнёшься с проблемой, то потрать 40 секунд на выяснение к какой области математики эта проблема относится и некоторое время для её выяснения. Всё всё-равно знать не будешь, а главная задача программиста — автоматизация. Сегодня программист считает энергию электронной эмиссии, а завтра количество финансовой эмиссии. Всё знать не будешь. Ну никак.

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

Я вот уже прочитал про дифуры и сейчас читаю функциональные ряды, в том числе и фурье

ОЛОЛО, всё читаем передом на зад^W^W^W задом на перед

esandmann
()

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

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

Всё знать не будешь. Ну никак.

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

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

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

ОЛОЛО, всё читаем передом на зад^W^W^W задом на перед

Оно так в книжке идет, книжка старая, для математиков, а не программистов.

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

Сарказм? Линейная алгебра это не только и не столько векторы:)
Разумеется, если не сталкиваться с вычислительными задачами, то кроме дискретки (опционально) ничего не нужно. Я же специально написал: «Не надо, но ЕСЛИ ВДРУГ, то...».

Stahl ★★☆
()

Есть ли смысл учить теорию числ

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

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

Ну а что человек может осилить без подготовки? Линейные операторы в матричном виде или линейные уравнения? И как это ему пригодится?

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

Возьми какое-то лёгкое чтиво вроде Ландау для базовой физики, Мышкиса для базового матана, или Новикова для базовой дискретки.

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

Линейные уравнения довольно интересная штука. Оттуда растут т.н. комбинационные схемы и прочие вещи ближе к «паяльникам». Я код пишу не первый год и те дисциплины, которые я описал пригодились. Правда в таком объёме, что я мог бы их не изучать особо, а просто по факту проблемы копнуть на месте.
Что я, в принципе, и советую.

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

лёгкое чтиво

Ландау

ну-ну. самые отвратительные учебники вообще. Если «на почитать» физики, то можно брать Фейнмана, у него есть какие-то книги, где подготовка почти не нужна

esandmann
()

Матан при обработке изображений применяется, алгебра в компьютерной графике.

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

отвратительные учебники вообще

Я сказал «чтиво». И у Ландау есть много полу-учебников полу-научпопа. Человек умел красиво писать.
Для студента для сдачи экзамена не прокатит, но для специалиста для ознакомления — самое оно.
Да ладно — ты сам что, в детстве Ландау и Китайгородского «Физика для всех» не читал? Нет? Зря. На пальцах и очень доходчиво. Вполне в духе Фейнмана, который, правда, более серьёзно подходит и видимо хотел-таки написать учебник, а не просто книжку a la в метро почитать.

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

Теорию вероятностей таки осиль, это достаточно прикладная вещь.

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

Я сказал «чтиво». И у Ландау есть много полу-учебников полу-научпопа. Человек умел красиво писать.

А не, на знаю такого. Фейнман мог, а этот я даже не слышал, чтобы мог. Фейнман вообще генератор лулзов

и выдимо хотел таки написать учебник

У него их есть

esandmann
()

В 90% задач современного программирования математика используется максимум на уровне 5-ого класса. И чтобы сдать матан, нужно просто уметь сдавать.

Deathstalker ★★★★★
()

Есть ли смысл читать что-то про графы с точки зрения математики(ведь есть статьи про графы с точки зрения программирования). Есть ли смысл учить теорию числ? Теорию вероятности?

Да.

меня там научат тому что нужно

Нет.

hateyoufeel ★★★★★
()

поскольку я поступил в универ то меня там научат тому что нужно

Либо ты очень толстый, либо ты идиот.

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

В 90% задач современного программирования математика используется максимум на уровне 5-ого класса.

Только в задачах, от которых не тошнит, соотношение почему-то обратное.

lodin ★★★★
()

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

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

Miguel ★★★★★
()

дискретка, тервер, математическая логика, теория алгоритмов, всё в чем есть построение алгоритмов и машинный анализ данных

stevejobs ★★★★☆
()

последний месяц лета лучше потратить с пользой.

facepalm

Stil ★★★★★
()

поскольку я поступил в универ

но последний месяц лета лучше потратить с пользой.

Хаггарти Р. - Дискретная математика для программистов, издание 2-е (2012)

Новиков Ф.А. - Дискретная математика для программистов, издание 2-е (2007)

Романовский И.В. - Дискретный анализ (2008)

Кнут - Искусство программирования, тома 1-4 (2001-2008) и 4А (2013)

Вольфенгаген - Комбинаторная логика в программировании :-)

Седжвик, Уэйн - Алгоритмы на Java (2013)

Кормен, Лейзерсон, Ривест, Штайн - Алгоритмы. Построение и анализ. (2013)

Хватит на последний месяц?

stevejobs ★★★★☆
()
Последнее исправление: stevejobs (всего исправлений: 5)
Ответ на: комментарий от Miguel

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

посоветуй названия правильной матчасти, и в каком порядке засовывать в голову

stevejobs ★★★★☆
()

Элементарная математика - вот какая.

А типа высшая математика, да еще читаемая в заМКАДских радиотехнических типа «университетах» - не нужна.

Пруф - «Mathematics is unnecessary except in specialized fields such as 3D graphics or scientific computing.» (С) Eric Raymond

Программисту (да и любому айтишнику) нужен только хороший РАЗГОВОРНЫЙ английский язык. Не по скайпу, а IRL.

Пруф - http://pora-valit.livejournal.com/501417.html

Ну, и дарю напоследок - http://javarush.ru/04.html

И сюда - тыц! - http://e-maxx.ru/bookz/files/golub_cord.pdf

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

А ещё лучше забей вообще. Как только столкнёшься с проблемой, то потрать 40 секунд на выяснение к какой области математики эта проблема относится и некоторое время для её выяснения.

Хороший совет, я так и поступаю обычно :-)

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

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

stevejobs ★★★★☆
()

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

qrck ★★
()

Алгебра. Не линейная, а просто алгебра. Например от Винберга.

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

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

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

А вообще последний месяц лета рекомендую потратить на интенсив по каким-нибудь социальным танцам, сальса, хастл, вот это вот всё. Математики ещё вагон будет.

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

Либо ты очень толстый, либо ты идиот.

Речь о математике, более того, я иду в КПИ, в общем время покажет что там и как

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

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

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

Гм. Классическим введением является, видимо, Маклейн — «Категории для работающего математика». Говорят, правда, что русский перевод очень плох; хотя недавно, вроде бы, вышел новый перевод, про его качество не знаю.

Ещё один классический источник — Букур, Деляну, «Введение в теорию категорий и функторов».

Miguel ★★★★★
()

Какая математика нужна программисту

Целочисленная

тред не читал

Frakhtan-teh ★★
()
Ответ на: комментарий от Bioreactor

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

Сводить математику к решению уравнений - все равно что программирование сводить к навыку слепой печати.

alpha ★★★★★
()

Дискретка - обязательно. Линейная алгебра - желательно. Анальная геометрия - если будешь работать в игростроении. Остальное нафиг надо.

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

я иду в КПИ

Берегись! Ибо в КПИ есть я и «поляна».
Я даже не знаю что страшнее.
В общем будут на «поляне» обижать — скажи что замполита знаешь. Молодёжи пофиг, но старички не обидят.

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

Знаешь старую поговорку?
Политех не школа — за десять лет не закончишь:)

Stahl ★★☆
()

Начала программирования СтепановаSTL(c) :)

дифуры и прочее по возможности листани(в переводе али прямо латынь) Ньютона&Лейбница - они практичней(ибо люди своим умом/интуицией) чем наметодиченые в 19 веке чёткие дефиниции которые ...

НАЧАЛА ПРОГРАММИРОВАНИЯ Степанова ( дальше по библиографии)

посмотри http://www.stepanovpapers.com/#Programming_Conversations в первой лекции годный канон для программиста(программирования как дисциплина)

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

методично с самого начала переработай тот(те) учебники геометрии по которым ты учился в школе с 7го класса - месяца вполне хватит.

обнаружишь(95%) - что твоё отлично(если отлично) имеет малое отношение к знанию и пониманию геометрии как метода рассуждения.

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

жирно.

Романовский хорош ибо краток и есть лаконичные мысли.

почему нету поляка Липского с Комбинаторика для программистов - В. Липский ?

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