Всем ку. Вот такой вопрос (возможно не первый я другого похожего не нашел). Насколько важно знание математики в программировании в частности разумееца алгебры и чего то более высшего? Объясню ситуацию. Я учусь в коледже, математику упустил в 6-7 классе, собираюсь заниматься программированием на многих языках но на АСМ в первую очередь (дело не в вирусах и не железном кодинге просто понравился) так вот насколько реально мне его освоить? Если есть полезные ссылки для моего тяжёлого случая то плз не прятать) Заранее благодарю.
nikas Неясно что собрались кодить? Ассемблер можете осваивать вам никто не мешает лишь бы было желание. Энтузиазм позволит вам и математику выучить. Математика это инструмент который надо пользоваться. Формы клепать математика не нужна. Игры писать математика там есть, но есть все готовое бери и собирай. Многие алгоритмы хотя и имеют математическую составляющую без нее никуда, но суть можно передать простыми словами как не странно. И это скорее логика и здравый смысл. Математика нужна чтобы переводить с математики на др языки. Можешь не беспокоится можно смело кодить и без математики, а можно и с математикой.
Анекдоты про индуских програмистов все слышали? Вот это пример что будет с програмистом быз математики. Математика помогает начать думать так чтобы любой конструкт превратить в строгие понятия, а без этого всегда будете писать быдлокод хоть на асме хоть на С хоть на питоне
„Математика царица наук.“ — К.Ф.Гаусс „Человек, не способный к математике, не является разумным. Этого недочеловека в лучшем случае можно терпеть, раз он научился носить ботинки, мыться и не сорить в доме.“ — Р.Э.Хайнлайн Полезные ссылки: http://lurkmore.ru/Матан -- суть матана http://www.youtube.com/user/NWTU -- сборник видеоуроков по школьной и высшей математике, рассказывается так, что не поймут только клинические идиоты
nikas Понимаешь, знание какого-либо языка не делает из тебя программиста, знай ты хоть сотню языков результат будет нулевой если ты не сможешь их эффективно использовать. Другими словами математика тебе просто необходима, хотя бы для того, чтобы "правильно мыслить", составлять кротчайшие пути решения различных задач. Выучить синтаксис можно за неделю или меньше, получить опыт и навыки - год, стать программистом - может не хватить и жизни. =) Это не призыв сейчас же кидаться читать учебники по матану, а просто мое мнение, но как бы там ни было, фундаментальные знания математики необходимы для любого человека, будь он хоть программистом, экономистом или обычным дворником. П.С. Настоящие трутЪ программеры заканчивают матфаки, физфаки и(в большинстве своем) не знают ни одного яп. xD
Лично я думаю, что дело тут не в самой математике, а в том что она как бы... "побуждает думать". То есть строить модели для решения задач, анализировать. А привычка думать над задачей, анализировать её, а потом кодить сделает твою работу проще и быстрее. Я когда это понял стал писать гораздо лучше и почти с нулевым количеством ошибок(кроме совсем тривиальных, которые глазами ищутся за 2 минуты). Все эти матрицы, пределы, интегралы, степени, факториалы это лишь инструменты. Думать можно научиться и без математики, но разве мат. это не интересно ? Там ведь много увлекательных разделов. Да такие что от них крыша съедет. Было бы желание заниматься, а результаты будут. Ты просто умнее станешь от систематической умственной работы. А чем себя занимать не суть важно. >обычным дворником Ему-то как раз уже не надо. >и(в большинстве своем) не знают ни одного яп. Это прикол? Они что по-твоему в хексах что ли пишут? XD Ну а вообще язык -- это средство выражение мыслей. ЯП это как будто наш словарный запас, а идеи а алгоритмы -- предложения.
> математику упустил в 6-7 классе А что за "матан" )) в 6-7 классе изучают? Деление уголком и умножение столбиком? Квадратные уравнения? Абсолютно ненужные вещи. ))
Нууу... Развели тут... Будь спокоен, без математики тоже все пойдет ОК, у меня очень даже пошло. 99% кода написать никакая математика не нужна, особенно в связи с сегодняшними тенденциями написания кода. Я вообще различаю кодинг и программирование, так вот кодить без проблем и так можно. Другое дело, что раньше, как и многие в пору своей IT молодости я болел оптимизацией, потому и занялся асмом. Собственно и не жалею. Сейчас мне гораздо больше нравится составлять алгоритмы, а вот тут как раз математику бывает удается очень удачно применить. Вообще с матемой есть такая штука - в универе ее вдалбливают в тебя лошадиным темпом, как-то сдаешь зачеты, экзамены, а до головы, до реального самостоятельного применения (читай естественного восприятия), дело доходит где-то через 6-12 месяцев, так что запускать матему я бы не советовал, как бы это глупо не звучало, но поймешь потом. Короче ты не бАись (кста не в ВКИ часом учишься?), до матемы надо дорасти. Тут все, как и в любом другом деле, сложное состоит из простого, чтобы его применять, ты должен уметь оперировать простыми вещами. Если тебя написание кода заставляет думать, то еще рановато. Когда ты не будешь задумываться о коде, ваяя его левой пяткой в полудреме, то сам станешь задумыватья о высокоуровневой оптимизации, организации данных и прочих прелестях взгляда сверху, вот тогда и вспомнишь линейку, матан и прочие разделы магии.
Вот что я скажу, чтобы делать деньги на кодинге математику знать не надо))) Хотя всегда слышу мол без математики не куда)
Я спросил одного кадровика, почему все непременно требуют высшего образования. Он ответил: - Чтобы была гарантия, что этот человек в состоянии пять лет подряд бесплатно заниматься тупой неинтересной %уйнёй... вот также примерно и с математикой, даже если на практике она не пригождается то в процессе ее изучения тренируются мозги и результаты этих тренировок нужны и при кодинге и при программировании
Самый изнурительный форумный холивар в моей жизни был у меня именно на эту тему. Я был категорично против того, что программисту выше алгебры надо знать матан, чтобы считаться программистом. Мой оппонент - категорически за то что только владеющий приличным объемом матана кодер может считаться программером. В качестве одного из примеров он привел такую задачу, которая по его словам у него когда-то реально возникала в живом проекте. В проге надо было часто вычислять следующую, вроде бы простую, вещь: Представим себе ось X. Из точки 0 в начальный момент времени стартует объект A со скоростью Va в положительном направлении. В тот же момент из точки L (L>0) стартует объект B со скоростью Vb (Vb > Va) тоже в положительном направлении. Далее они двигаются равномерно прямолинейно с этими скоростями вечно. Но в этот же начальный момент времени из точки 0 стартует еще третий объект C со скоростью Vc (Vc>Vb>Va) с чуток более сложной схемой движения: когда он соприкасается с объектом A или объектом B он разворачивается и с той же скоростью Vc начинает лететь в противоположном направлении, т.к. "бьется" между ними, зеркалясь, отражаясь от них как от стенок. И всего делов то было - просчитать местоположение объекта C в произвольный момент времени t (t>0). Вроде несложная задачка, но быдлокодером была решена итеративно, сожрав непомерную кучу вычислительного времени. А как бы решили вы?
P.S. к предыдущему посту Речь даже не о том "как бы решили вы", а о том сколько времени у вас займет вывод аналитической формулы, дающей фиксированное время решения "в одну строчку" (можно даже без if-ов - одной строчкой, но и с if-ами пойдет, главное чтобы время константное). Если минут десять - вы уверенный матанщик с хорошей претензией на "тру-программера" по моему оппоненту. Если до часа - надежда еще есть. Если больше часа - вы быдлокодер (по мнению моего оппонента). Цимус в том, что всё для того чтобы решить эту задачу за 10 минут давалось еще в средней школе - уровень ЧУТЬ ЧУТЬ только выше арифметики нужен.
aa_dav Всё чтобы доказать теорему ферма тоже давалось в средней школе. Задача интересная, спасибо, чуток подумать пришлось. Аналитическую формулу выводить лень. Время не засекал, но я знаю, что я быдлокодер. ^)
Да, ещё прочитай эти две статьи: http://ru.wikipedia.org/wiki/Кватернионы http://ru.wikipedia.org/wiki/Цепь_Маркова если, стало что-то в них непонятно, то да, таки, нужно учить математику.
Матан ты знаешь...даже у нас в колледже такую хрнь не учат. Что конкретно я хочу от кодинга...что ж... 1 - Писать программы и игры (не обязательно сверхшутеры) 2 - Понимать как работает программа, уметь её отладить и если нужно переписать под себя. Это пожалуй основное)