LINUX.ORG.RU

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

mihelson
()

where условие SQL'а - чем не дискретная матема? я понимаю: сессия приближается, мним из себя крутого программера, учиццо лень ищем - отмазки... не переживай: картриджи в принтерах можно и без теории алгоритмов менять :)

Pi ★★★★★
()

Законы де Моргана - постоянно :) Остальное - редко.

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

> where условие SQL'а - чем не дискретная матема? я понимаю: сессия приближается, мним из себя крутого программера, учиццо лень ищем - отмазки... не переживай: картриджи в принтерах можно и без теории алгоритмов менять :)

Да, без дээмки ни тебе однострочник накатать, ни оракел с винампом поднять. Боюсь даже говорить про мало-мальски крупные решения.

Gharik
()

Какой-то нелепый вопрос. О, бедный Тьюринг и бедный Марков!

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

> Да, без дээмки ни тебе однострочник накатать, ни оракел с винампом поднять. Боюсь даже говорить про мало-мальски крупные решения.

И где здесь программирование?

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

> И где здесь программирование?

Дык не боги же горшки обжигают. И даже жабакодеры, как ни крути - тоже программисты.

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

а надо быть богом, чтоб знать минимум дискретной?

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

> Дык не боги же горшки обжигают. И даже жабакодеры, как ни крути - тоже программисты.

Интересно, и какую же такую программу надо написать, чтобы установить на своем компьютере базу данных? :)

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

dave ★★★★★
()

> Как часто(если) вам в программировании приходилось использовать Дискретную математику?

Достаточно часто при проектировании систем, использующих те или иные математические методы.
Например, при разработке методов AI в игровом движке и т.п.
P.S. А почему ты так выделяешь дискретку из математики и науки в целом ? :)

pacify ★★★★★
()

На самом деле при эффективной разработке она используется все время. Элементарный пример - в любой системе полно инвариантов, которые надо контролировать (в частности, у любой абстракции есть representation invariants).

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

> а чем занимаешься

Системное программирование, кодирование аудио.

Zmacs
()
Ответ на: комментарий от pacify

"Также не является случайностью то, что некоторые из виденных мной худших программ были написаны инженерами, физиками и математиками, затратившими в университете массу энергии на то, чтобы держаться как можно дальше от занятий по языку и литературе. Сущность заключается в том, что математическая подготовка почти не нужна в компьютерном программировании. Тот тип организационного мастерства и аналитических способностей, который нужен для программирования, связан полностью с гуманитарными науками. Логика, например, преподавалась на философском факультете, когда я был в университете. Процесс, используемый при проектировании и написании компьютерных программ, почти полностью идентичен тому, который используется, чтобы сочинять и писать книги. Процесс программирования совсем не связан с теми процессами, которые используются для решения математических уравнений. Здесь я делаю различие между информатикой (computer science) — математическим анализом компьютерных программ — и программированием или разработкой программного обеспечения — дисциплиной, интересующейся написанием компьютерных программ. Программирование требует организационных способностей и языковой подготовки, а не абстрактного мышления, необходимого для занятий математическим анализом. (В университете меня заставили проходить год на лекции по математическому анализу, но я никогда из него ничего не использовал ни на занятиях по информатике, хотя для них матанализ был необходимым условием, ни в реальной жизни)." Ален И. Голуб

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

>Ален И. Голуб

Так Голуб и написал свою известную книгу для кодеров. Хочешь быть кодером --- будь им. А мне ни дискретка, ни теория вероятностей, ни мат. статистика не помешали :)

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

> (В университете меня заставили проходить год на лекции по математическому анализу, но я никогда из него ничего не использовал ни на занятиях по информатике, хотя для них матанализ был необходимым условием, ни в реальной жизни)

При чем здесь матанализ? Он действительно может не понадобиться, если задачи решаются вне той области, где это действительно нужно. А дискретка - вещь нужная любому программисту.

PS. Даже если матанализ не будет никогда испольоваться - его все равно надо учить, чтобы не изобретать велосипеды, если попадется что-то на эту тему. Хотя-бы на уровне "Помню, что-то такое мы проходили ..." - чтобы приблизительно знать в какую чторону копать.

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

Для быдлокодера может и не нужна. Опять жу у вас психология ущербная: лишнее знание НИКОГДА НЕ ПОВРЕДИТ, а вот незнание может очень серьёзно навредить. Если вам рост в профессиональном смысле не нужен, то можете вообще бросить университет. Для быдлокодера образование вообще вредно....

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

а кто такой "быдлокодер"?если лишнее знание НИКОГДА НЕ ПОВРЕДИТ,отчего бы вам на досуге не выучить язык древней цивилизации Майя?

anonymous
()
Ответ на: комментарий от grob

Запишите меня в быдлокодеры, но Голуб отчасти прав. В программировании от владения языком (человеческим, а не ЯВУ) и четкого логического мышления (такого, которое вырабатывается курсом логики) зависит не меньше, чем от знания математики. Тем более, что математика нужна довольно специфическая. А если учесть, что работа в команде требует некоторых навыков общения, то увеличение доли гуманитарной (языковой) кажется хорошей идеей.

Есть здесь те, кто программирует 15-20 лет и больше? Интересно было бы услышать их мнение.

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

>а кто такой "быдлокодер"?если лишнее знание НИКОГДА НЕ ПОВРЕДИТ,отчего бы вам на досуге не выучить язык древней цивилизации Майя?

Вы не поверите, но профессиональные программисты учат таки "языки Майа", применительно к своей области, разумеется, такие как: lisp, рефал, smalltalk. Наверное им просто делать нечего, раз они такой ерундой занимаются... И вообще причём тут языки - вопрос был о теории.

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

Хотя я программирую активно не более 6 лет, считаю, что все это очень важно.

Как-то читал на java.sun.com статью, где один товарищ сравнивал написание программ с сочинением стихов и утверждал, что интуиция и умение чувствовать прекрасное - необходимые навыки для настоящего программиста. Сам же я нередко сначала чувствую, что в коде что-то не так, а потом действительно нахожу ошибку. :)

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

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

> интуиция и умение чувствовать прекрасное - необходимые навыки для настоящего программиста.

Очень хорошо сказано - "навыки". Это именно навыки - постоянно используемые на практике.

> архитектор, алгоритмист, и самое сложное - постановщик задачи

Это три _очень_ разные роли (хотя это не профессии ни разу). Алгоритмисту, конечно, математику знать необходимо. А вот двум другим - это полезно, но умение четко выражать мысли, общаться с людьми и организовывать работу не менее полезны. Это пограничные роли - там разбираться в людях нужно не меньше, чем в технике дела.

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

>Вы не поверите, но профессиональные программисты учат таки "языки Майа", применительно к своей области, разумеется, такие как: lisp, рефал, smalltalk. Наверное им просто делать нечего, раз они такой ерундой занимаются... И вообще причём тут языки - вопрос был о теории.

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

anonymous
()

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

кстати, о кнутах: Кнута читать нужно. "конкретеую математику".

asgard
()
Ответ на: комментарий от tailgunner

Опять же, Голуб писал про тех, кто решает тактические задачи. То бишь code monkeys. А для тех, кто решает стратегические задачи (те самые архитекторы, алгоритмизаторы, эксперты по выбору средств реализации и т.д.) знание математики на уровне как минимум технического ВУЗа --- необходимость. Во-первых, потому что ум в нужный порядок приводит и учит правильно думать, и во-вторых, потому что математические знания приходятся к месту очень часто и не в математических задачах.

PS: Будущих code monkeys обычно видно уже во время обучения в университетах/институтах.

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

Будущих code monkeys обычно видно уже во время обучения в университетах/институтах.

по каким признакам

anonymous
()
Ответ на: комментарий от Ay49Mihas

> Опять же, Голуб писал про тех, кто решает тактические задачи. То бишь code monkeys

По приведенной цитате я этого не заметил

> для тех, кто решает стратегические задачи (те самые архитекторы, алгоритмизаторы, эксперты по выбору средств реализации и т.д.) знание математики на уровне как минимум технического ВУЗа --- необходимость

Я не то чтобы спорю с этим утверждением, но - ты привел 3 совсем разные роли. Каков твой опыт работы в любой из этих ролей? На основании чего судишь?

> потому что ум в нужный порядок приводит и учит правильно думать

С этим никто не спорит. Но, может быть, не только математика приводит ум в порядок?

> PS: Будущих code monkeys обычно видно уже во время обучения

И их признаками является что? Хочу проверить на себе.

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

>И их признаками является что? Хочу проверить на себе.

1) Излишняя самоуверенность и самодовольство;
2) Бездумный copy/paste (особенно распространено в среде халявщиков);
3) Преобладание местечково-эмпирических методик получения результата над фундаментальным теоретическим обоснованием решения задачи;
4) Нездоровая алергия к конкретным продуктам, технологиям, средствам разработки, языкам программирования (типа "этого X не знаю и не люблю, а потому этот X - отстой");
5) Шаблонность мышления, затруднения при решении нестандартных задач.

В последнее время наблюдается тенденция к появлению новой группы code/PR monkeys aka внештатных агентов мелкомягких.

anonymous
()
Ответ на: комментарий от Ay49Mihas

> То бишь code monkeys.

Обычным кодерам тоже ДМ нужна, хоть в каком-то объеме. Взять довольно-таки часто встречающийся пример - разбор регулярного текста (например, разбивка на лексемы). Человек, знающий ДМ построит простой и понятный КА, в то время как незнающий начнет лепить кучу условий и кучу проверок, в результате чего запутается в этом и сдохнет-таки от всех этих взаимосвязей, взаимовлияний и т.п. То же касается графов, множеств и пр. и пр.

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

> 1) Излишняя самоуверенность и самодовольство;

Свойственно всема молодым

> 2) Бездумный copy/paste (особенно распространено в среде халявщиков);

Мачит казлов

> 3) Преобладание местечково-эмпирических методик получения результата над фундаментальным теоретическим обоснованием решения задачи;

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

> 4) Нездоровая алергия к конкретным продуктам, технологиям, средствам разработки, языкам программирования (типа "этого X не знаю и не люблю, а потому этот X - отстой");

аЛЛергия. В остальном - пожалуй, верно.

> 5) Шаблонность мышления, затруднения при решении нестандартных задач.

Меру надо знать. Принцип KISS помнить.

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

> Есть здесь те, кто программирует 15-20 лет и больше? Интересно было бы услышать их мнение.

На самом деле нужно и то и другое. И даже третье.

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

>> Будущих code monkeys обычно видно уже во время обучения в университетах/институтах.

> по каким признакам

Обычно очень любят работать и очень не любят учиться.

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

>>> Будущих code monkeys обычно видно уже во время обучения в университетах/институтах.

>> по каким признакам

>Обычно очень любят работать и очень не любят учиться.

Тогда я, пожалуй, и есть code monkey

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

> Тогда я, пожалуй, и есть code monkey

Suum quique

Однажды некто, прогуливаясь по лесу, увидел дровосека, который пилил дерево тупой пилой. Прохожий обратил внимание дровосека, что не мешало бы немного заточить пилу. На что дровосек ответил: "Мне некогда заточить пилу. Мне нужно пилить!"

Ну или, в более вульгарном варианте: "А чего тут думать? Трусить надо!" (C)

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