Вечный вопрос новичка

Тема в разделе "WASM.HEAP", создана пользователем micro, 30 дек 2010.

  1. micro

    micro New Member

    Публикаций:
    0
    Регистрация:
    24 июл 2010
    Сообщения:
    121
    Извиняюсь, конечно, что задаю глупые вопросы. Знаю, вы уже устали отвечать на такие вопросы. Но всё же надеюсь.

    СУТЬ ВОПРОСА.
    Программист без знания математики вовсе не программист, правильно? Чтобы написать простенький компилятор нужно знать кучу алгоритмов и различных понятий! А если человек не рубит матчасть, значит и написать он ничего не сможет своего, т.е. придется повторять созданное другими.
    Вот говорят же, что ЯП это всего лишь инструмент программиста, а что тогда является знанием? Ответ напрашивается: математика.
    Я прав?
     
  2. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    micro
    Да. Но для создания компилятора математику знать не надо, надо уметь искать. Не обязательное но достаточное условие - что бы начать изобретать свое надо досконально знать предметную область.
    Если всё сводить в абсолют, то вы правы.
     
  3. Mentor

    Mentor New Member

    Публикаций:
    0
    Регистрация:
    13 окт 2010
    Сообщения:
    67
    Программисты бывают разные.
    Есть куча прикладных кодеров, которые о математике или не слышали или давно забыли. В этом случае существенно большее значение имеет опыт решения разных практических ситуаций. Понимание как работает фреймворк, winAPI и т.д. тоже важную роль играет.
    Вообще конторы, в которых реально можно работать математиком-программистом, можно по пальцам одной руки пересчитать в любом городе замкадья.
     
  4. skomarov

    skomarov New Member

    Публикаций:
    0
    Регистрация:
    14 май 2008
    Сообщения:
    389
    micro
    Математика, информатика. Смежные дисциплины.
     
  5. cupuyc

    cupuyc New Member

    Публикаций:
    0
    Регистрация:
    2 апр 2009
    Сообщения:
    763
    Нужно заметить, что у одних, как правило, отвратительно получается делать другое. Математики часто пишут не читаемый гoвнoкoд, а у кодеров зачастую проблемы с выбором оптимальных алгоритмов, методов решения.
     
  6. Rockphorr

    Rockphorr Well-Known Member

    Публикаций:
    0
    Регистрация:
    9 июн 2004
    Сообщения:
    2.615
    Адрес:
    Russia
    micro
    имхо все зависит от сложности компилятора - для простого быть может хватит обычного курса вышки
     
  7. JCronuz

    JCronuz New Member

    Публикаций:
    0
    Регистрация:
    26 сен 2007
    Сообщения:
    1.240
    Адрес:
    Russia
    cupuyc
    Вот именно, также как математики пытаются преподавать информатику
     
  8. _sheva740

    _sheva740 New Member

    Публикаций:
    0
    Регистрация:
    31 авг 2005
    Сообщения:
    1.539
    Адрес:
    Poland
    micro
    Ярое гугленье - ведет к просветленью!
     
  9. krabz

    krabz New Member

    Публикаций:
    0
    Регистрация:
    26 май 2010
    Сообщения:
    135
    Что-то у меня такой ответ не напрашивается. Я написал немало программ, которые работают и приносят пользу кому-то, в том числе мне. При этом из математики там add, sub, mul, div, or, xor, and, not и ничего более.

    Один опытный IT-руководитель (забыл кто) написал в своей книге: программист должен быть скорее писателем, чем математиком, потому что для него очень важно уметь выразить свою мысль в письменной форме.

    А меня учили, что программист как и любой инженер должен в первую очередь знать ту предметную область, над которой он работает. То есть в идеале - знать вообще как мир устроен :) Потому что заказчики гораздо чаще вообще никак не могут выразить чего же они хотят на самом деле. Один руководитель, работавший в сфере IT ещё с советских времён, рассказывал, что по официальной статистике только 30% программных продуктов полностью соответствует изначальным требованиям.

    Хотя это всё сугубо имхо... возможно тупой кодер действительно должен тупо кодить и не задавать глупых вопросов...
     
  10. FatMoon

    FatMoon New Member

    Публикаций:
    0
    Регистрация:
    28 ноя 2002
    Сообщения:
    954
    Адрес:
    Russia
    Все зависит от задачи. Криптоалгоритмы - математика. Разработка алгоритма, доказательство стойкости - высшая математика. Реализация - в зависимости от, может быть достаточно среднего образования. Графика, особенно трехмерная - математика. Плоская графика - хватит в объеме средней школы. Симуляция чего-то - с нуля и разработкой алгоритма - гениальность. Математика? не лишне, но не принципиально. Пример - сложные достаточно системы, биологические взаимодействия, колебания популяций, химические реакции - моделируются системами иногда даже не дифференциальных, а обычных уравнений. Итерационные модели, к примеру. Что нужно (курить) знать, чтобы придумать такое? Обычно здравый смысл, общий кругозор, некоторая математика желательна... Но итог - то, что придется программировать, по уже придуманному алгоритму - как правило опять же математика в рамках средней школы. Это - круг специальных программ.

    А если перейдем на прикладные, типа базы данных, пользовательский интерфейс, операции с файлами, текстом, поиск - сам ведь ничего придумывать не будешь, все придумано. Берешь алгоритм, реализуешь на чем угодно, рисуешь интерфейс, одни и те же функции вставляешь - тут можно вообще быть гуманитарием-программистом, и кроме таблицы умножения, ничего не знать в математике.
    Ничего подобного. Для написания своего надо быть самоаналитиком. Психологом немного. Делаешь задачу руками, или частично руками, потом записываешь по шагам, вот тебе и алгоритм. Пойми, как ты умножаешь в уме 2 числа - и вот тебе алгоритм умножения. Изложи по шагам, как ты определяешь квадратный корень из числа - вот тебе алгоритм нахождения корня. Не самый оптимальный, но работающий. Надо сделать что-то с кучей файлов - определи КАК это сделает человек, и запрограммируй. Строго говоря, все программирование начинается и заканчивается на этапе детального описания задачи. Кто-то что-то хочет - выясняешь что именно, и как должно работать. Все, есть описание - можешь считать есть алгоритм. Дальше - работа оператора.
     
  11. Dian

    Dian Member

    Публикаций:
    0
    Регистрация:
    19 июн 2008
    Сообщения:
    222
    Есть еще корпоративные системы и автоматизация. Кстати, весьма востребованные. Серьёзной математикой там и не пахнет, да зачастую даже и серьёзными алгоритмами. Там важнее способность работать с большими объёмами кода. А еще есть web...
    Вобщем, не знания нужны, а навыки. Включая навык получения знаний :)
     
  12. ajak

    ajak New Member

    Публикаций:
    0
    Регистрация:
    24 окт 2007
    Сообщения:
    463
    Открой любой учебник по криптографии с мат выкладками и ужаснись
     
  13. artkar

    artkar New Member

    Публикаций:
    0
    Регистрация:
    17 авг 2005
    Сообщения:
    400
    Адрес:
    Russia
    Если ты сможешь доказать теорему пуанкаре, как тебе это поможет написать систему учёта остатков на складе продукции завода "пупкин и компаньоны" на MSSQL+ADO.NET?
    И во-вторых, какой раздел математики? Их много: и системы краевых уравнений и анализ и геометрия (которая в свою очередь тоже делиться по-специализации) и булевая алгебра и т.д. Математика давно уже разбилась на множество отдельных направлений.
     
  14. ajak

    ajak New Member

    Публикаций:
    0
    Регистрация:
    24 окт 2007
    Сообщения:
    463
    Не обязательно быть перельманом, чтобы быть хорошим кодером.
    Просто возьми сам себя и проверь, как я в своё время. Ну к примеру вот так.
    1) Напиши программу, которая исп твой алгоритм построения линии.
    , т.е. изобрети снова велосипед, но по своему.
    2) Тоже, но уже не линии, а окружности
    3) Запрограммируй спираль 2d,3d
    4) В торренте версии 1.6.1 в хелпе красивый 2d эффект
    5) Что-нибудь из фракталов, множества

    Ещё классно была придумана блудексом задача про тушканов мутантов, там уже графы, очень прикольная задачка.
    А ещё лучше почитать олимпиадные задачки.
     
  15. dZentle_man

    dZentle_man New Member

    Публикаций:
    0
    Регистрация:
    24 авг 2008
    Сообщения:
    414
    PaviaMentor skomarov FatMoon
    Давайте начистоту - на васме нету ни одного действительно хорошего математика. Есть люди, которые это дело "подизучили", часто в рамках потребности работать с крипторами и ко, но чтобы иметь фундаментальное и полное знание - ни одного. Таких кадров вообще наверное можно встретить только на олимпиадах по программированию. Проблема в том, что совместить основательную матподготовку с глубинным кодокопательством практически нереально, и то и другое требует массу времени и сил. Так что среди математиков программисты довольно средние, хотя и в состоянии спроектировать и заоптимизировать алгоритм с математической точки зрения.
     
  16. _sheva740

    _sheva740 New Member

    Публикаций:
    0
    Регистрация:
    31 авг 2005
    Сообщения:
    1.539
    Адрес:
    Poland
    Кажется Ландау - последний физик с полным и ясным
    представлением этой науки в целом.
    Ах да, он не знал ассемблер )) - useless )

    Очень в_общем Вы сказали. Хотя даже наши "приматы", на потоке, кажется
    никогда не снизойдут до смысловых моделей на уровне банальной mov eax,ebx )
    Там полет выше.

    Хотя вот книги Кнута достаточно математичны и
    применимы для программирования imho.

    Думаю - нужна математика, пусть учит )
     
  17. krabz

    krabz New Member

    Публикаций:
    0
    Регистрация:
    26 май 2010
    Сообщения:
    135
    Да вообще по-моему это просто стереотип из лохматых годов, когда ЭВМ создавали математики и сами же на них решали свои мудрёные задачи. Сегодня такие задачи тоже есть и для их решения строятся суперкомпьютеры, но появляется всё больше новых и новых задач для ПК и растущих сетей из этих ПК. Комп - это тупая железка, ЦП по возможностям не превосходит калькулятор 80-х годов, но его прикол в том, что он все эти вычисления делает сам и с бешеной скоростью. Посмотрите, математические задачи, которые человек решает одним способом, для машин перекладываются в другой - состоящий из множества мелких операций. Машина перестала быть вычислительной. Она скорее моделирующая. Да, считается что моделирование - тоже математика. Но я считаю, что тут математика - просто инструмент, такой же как язык программирования. Кто владеет этим инструментом - делает математические алгоритмы (то же шифрование, графика и т.п.), а кто не владеет - берёт уже созданные алгоритмы бесплатно или за деньги и спокойно обходится своими навыками.
     
  18. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    _sheva740
    Он был математиком. А в физике он прикладывал свои знания, причем очень фундаментально. Но это вопрос человека. Причем четно сказать ИХМО испортил физику, вернее физиков.

    dZentle_man
    Ну так я и не говорю что нужны глубокие знания математике. Математика это тот же язык и подходить к его изучению надо формально тупа заучиваем формулы и их смысл. Плюс теоремы.
    Участвовал в олимпиадах довольно неплохо. Большая часть задач сводятся к заучиванию алгоритмов и умению их видеть. Ряд задач на придумывания алгоритмов. Но обычно комбинируешь что знаешь. И чем больше знаешь тем лучше.

    Еще есть ряд математических олимпиад. Которые предлагается решать задачи на компьютере. Все они сводятся к хитрым переборам которые надо с оптимизировать по времени. Тут тоже стандартные приемы, но не известные широкой публике.

    У меня к примеру есть наработке в вопросах алгоритмов СУБД которые не описаны нигде или же не опубликованы.
    Вот в распознавание образов только представление. Нужна систематизация.

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

    PS. Считаю себя математиком, но только прикладным. Фундаменталист из меня плохой, так как это надо копаться глубоко. Бонально не интересно, не охото тратить время.
     
  19. dZentle_man

    dZentle_man New Member

    Публикаций:
    0
    Регистрация:
    24 авг 2008
    Сообщения:
    414
    Pavia
    У нас там на rsdn'е как раз разгорелась дискуссия по поводу математики, может быть вам будет интересно. А все началось с того, что мыщъх, как водится, взбаламутил хвостом воду - http://rsdn.ru/forum/job/4094102.flat.aspx#4094102
     
  20. cupuyc

    cupuyc New Member

    Публикаций:
    0
    Регистрация:
    2 апр 2009
    Сообщения:
    763
    Pavia, Ландау никогда не был математиком. Ландау занимался теорфизикой. Он даже говорил, что математику и преподавать незачем, типа, дал основы - как интегралы считать, производные и прочие приложения. Его как-то попросили доказать одну теорему, на что он ответил: а что тут доказывать? нарисовал - всё и так понятно! Если Вы читали курс теор физики, то могли заметить, что математическая строгость в изложении и выводе формул зачастую отсутствует. Наиболее часто формулы получаются интуитивно, на основании каких-то общих представлений о предметной области. Такой подход вполне нормален для физиков.