LinuxForum.Fans
Тема

Нужно ли знать математику что бы стать хорошим программистом?

Автор: White_Nelud 112 сообщений 32540 просмотров
#135856

Интересный вопрос (:

Нужно ли знать математику что бы стать хорошим программистом?

koala, хороший программист это человек с хорошим образованием по математики.
Иначе -

drBatty написал:

[quote=mogul82]
Я считаю - без знаний математики ты просто девелопер и кодер. А все ПШП кодеры и есть девелоперы. Т.к. ПШП это ПШП
А вот с знанием математики ты уже программист.

нет. без знания математики ты не девелопер и не кодер. ты быдлокодер, и всё что ты можешь: говнокод писать.
[/quote]
+

#135892
drBatty написал:
нет. без знания математики ты не девелопер и не кодер. ты быдлокодер, и всё что ты можешь: говнокод писать.

sbin, не фига подобного, вот те кто так кричат даже свои исходники не показывают

#135920

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

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

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

#135935
elve написал:
На самом деле хорошему программисту надо знать как можно больше всего из самых разных областей.

Очень сомнительный тезис:

начиная с того, что у младших братьев по разуму (физфак) в БФА висел лозунг: "Главное - не знать лишнего!!!"

далее, например все внятные экспертные системы по медицине написаны медикусами,
которые в ладах с программированием
(знакомство с Лиспом или Прологом, Ви-Басик - не канает, это да)

знакомство с современной теорией формальных систем и реальная способность формализовать
пригодным для программирования образом некоторую предметную область -
сущности ортогональные

(и это не вброс для идиотов, это - реальность)

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

А математика - ну что математика?!

Вон Паскаль - плакал, визжал и кусался, знакомясь с отрицательными числами:

"Современный школяр знает гораздо больше Паскаля, ещё бы он умел так же думать, как Паскаль" (С) Сент-Экс

#136031

drBatty, Chars67, я предлагаю вам друг друга что называется "не замечать"
думаю, будет полезно для психического здоровья остальных участников конференции...

#136128

Termo, почему же?
Пестрая струя заставляет активней работать мозговое вещество :)
К таму же Chars67 привел хороший пример:

Chars67 написал:
например все внятные экспертные системы по медицине написаны медикусами,
которые в ладах с программированием
#136162

sbin, когда они пишут для форумчан - всё нормально
но когда они начинают смотреть друг на друга... smile

#136190
sbin написал:
К таму же Chars67 привел хороший пример:


например все внятные экспертные системы по медицине написаны медикусами,
которые в ладах с программированием

...который совершенно здесь не в тему. ибо как эти докторишки знали матан - никому не ведомо.

#136284

Если чО - у меня алиби:

(и это не вброс для идиотов, это - реальность)

Ведь сразу это было оговорено.

Ну и зачем, не зная ни Лиспа, ни Пролога, ни ТФС, ни её альтернатив, ...
и, до кучи, не владея элементарной культурой проведения инженерных расчетов (могу напомнить :rolleyes: )
некто Х будет лезть в рассуждения о сущностях, о которых даже понаслышке не знает?

Если у этого Х есть хоть зачаток здравого смысла, он сюда не полезет.
Но коли оного нету - "тады ой"!!!

Не хочу сказать, что для станочника широкого профиля
табуировано чтение математических работ,
просто коли Чёрч, Чень&Ли, Ковальски, ...

(да легион им имя, просто вот основные авторы, у которых интересно лично мне "воровать" идеи)

- читаны, это сразу заметно,
но коли не читаны - оно тоже сразу заметно :(

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

Не могу ещё раз не повторить, что это - не вброс для идиотов.
И, соответственно,
идиотам - не надо подключаться к обсуждению.

#136290

а некоторым зело умным не помешает научится читать.

дебилом отвечать на этот пост - не нужно
(у меня алиби(С))

#136291

а ведь взрослые же люди! :D

тема закрыта на сутки
тема хочет спать...

открыто по просьбам! :)

#136314

Ну-ка математики ответьте мне на следующий вопрос:

В 2010 году программистов, знающих математику было 30% от общего числа, в 2011 году - 33%. На сколько процентов больше стало программистов, знающих математику?

#136324
mycetophylax написал:
В 2010 году программистов, знающих математику было 30% от общего числа, в 2011 году - 33%. На сколько процентов больше стало программистов, знающих математику?

2010 ---- 30% === 30/100
2011 ---- 33% === 33/100

33/100 - 30/100 = 3/100

3/100 === 3%

Ответ: 3%

Вывод - т.к. знаменатель равен константе 100, то дроби можно вычитать. А проценты === дроби.

Вопрос: ОТ ЧЕГО?
Сам по себе процент не имеет смысла, ибо это коэффициент - константа, на которую умножают. 10% от 220вольт === 220*10/100 == 22вольта.
сами по себе проценты не имеют никакого физического смысла или наименования - % это постфиксная операция, причём операция мультипликативная. Физического смысла не имеет как раз выражения 220 вольт + 10%. Ибо вольты складываются только с вольтами (что-бы получить вольты, а не НЕХ). А проценты - не вольты. Вот умножать на проценты - кошерно. Как и на любую константу. Например можно сказать - напряжение увеличилось вдвое, или, на 100%. Парсится это так: 220вольт + 220вольт * 100% == 440 вольт.
т,е. 100% это сокращённая запись 100/100.

#136330

drBatty, Ну тогда еще один вопрос.
В первой группе 33 программиста.
Во второй группе 30 программистов.
На сколько процентов больше программистов в первой группе?

#136332
mycetophylax написал:
На сколько процентов больше программистов в первой группе?

относительно какой группы?
неоднозначность детектед.

Кстати, хотя, как показано выше, нельзя складывать проценты с чем-то, но можно складывать коэффициенты
100+40% == 10000% + 40% = 10040% = 100.4

#136338
drBatty написал:
неоднозначность детектед.

Ага действительно, пропустил глагол. Надо было примерно так :
В группе в 2010 году было 30 программистов.
В 2011 году стало 33 программиста.


1. Была зарплата 30$ в день, стала 33$ в день. На сколько процентов больше стала зарплата?

2. Была зарплата 33$ в день, стала 30$ в день. На сколько процентов меньше стала зарплата?

#136348

Ну ладно, не буду ждать доктора и тянуть резину. Объясню почему я перенёс обсуждение из этой (http://linuxforum.ru/viewtopic.php?id=11529) темы, хотя на первый взгляд ей самое место было там.
Просто на этом примере, хотел показать, что программисту математику знать не обязательно:
На вопрос правильно ответили и я (10%) и доктор (3%). Критерием правильности являются требования клиента - заказчика ПО. А так как клиенты обычно нормально сформулировать то, что они хотят, сами не могут (нет, конечно, могут, но из этого часто получается совсем не то wink ), то появились на свете люди, которых обычно называют системными аналитиками. Вот он-то как раз должен знать математику, но при этом ему совсем не нужно быть программистом.
А совместить приятное с полезным (аналитика и программиста) получится только в сказках. Я не утверждаю, что таких людей нет (мало ли чудес на свете), но почему-то мне кажется, что их очень мало.

Вывод: Аналитик составляет модель (техническое задание), программист ее реализует (выполняет).

---
Хотя... смотрите подпись.

#136387
mycetophylax написал:
В первой группе 33 программиста.
Во второй группе 30 программистов.
На сколько процентов больше программистов в первой группе?

если за основу взять вторую группу, то в первой больше на 10%
потому как 3 чувака - это и есть 10% от 30 человеков

#136412
mycetophylax написал:
1. Была зарплата 30$ в день, стала 33$ в день. На сколько процентов больше стала зарплата?

очевидно, что зарплата стала больше на $3.
так-же очевидно, что $3 это ровно 10% от первоначальной зп.

mycetophylax написал:
и доктор (3%)

простите, где я такой бред написал? 3% это меньше одного бакса. или чуть больше, если брать процент от новой зарплаты.

mycetophylax написал:
Критерием правильности являются требования клиента - заказчика ПО. А так как клиенты обычно нормально сформулировать то, что они хотят, сами не могут

я знаю. вот только это не отменяет знания математики. в конце концов, если программа от drBatty напишет $100, а банк выдаст $10, то виноватым окажусь именно я. Я ОБЯЗАН выявить и устранить неоднозначность. Если я не знаю, КАК этот банк начисляет проценты - я могу это узнать. Впрочем, я могу и догадаться - если есть неоднозначность, то банк будет трактовать её в свою пользу - ибо тамошние кодеры знают математику, и тоже видят неоднозначность. Вообще говоря, неоднозначности - это способ заработать деньги банку. Точно так-же зарабатывают организаторы лотерей, эксплуатируя математическую безграмотность людей. (лотерея - налог за незнание математики(С)кто-то из великих).

mycetophylax написал:
Просто на этом примере, хотел показать, что программисту математику знать не обязательно:

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

mycetophylax написал:
Объясню почему я перенёс обсуждение из этой (Калькулятор в Ubuntu 9.04_x86-64) темы, хотя на первый взгляд ей самое место было там.

ИМХО закрыть надо эту грустную тему... В которой складывают непонятно что, с частью какой-то другой НЕХ. И при этом получают разный результат. Ну давайте ещё вспомним:

text
int x = 7;
x = x+++++x;

(язык С)
чему равно x?

#136415
drBatty написал:
100+40% == 10000% + 40% = 10040% = 100.4

Обратите внимание:
1) примем как аксиому, что 1 эквивалентно 100%.
(эквивалентность здесь значит, что везде мы можем писать вместо 1. При этом это относится только к числам. например 1кг это не 100%. Это 100% * 1кг. Умножение здесь появилось потому, что процент по определению - часть. Т.е. дробь. Потому-то на неё надо именно умножать).
2) также примем как вторую аксиому, что 1%+1%=2% (т.е. % величина аддитивная, и их можно складывать как действительные числа, получая на выходе другие числа, которые будут также процентами).
3) из аксиом (1) и (2) следует, что 100 эквивалентно 10000% (это можно доказать математической индукцией, или ручками, многократно применяя эти аксиомы).
4) по аксиоме (2) мы получаем, что 10000% + 40% === 10040%.
5) по аксиоме (1) мы получаем, что 10040% === 100.4

Вывод: с точки зрения математики должно получится 100.4

Почему-же получается 140? Всё просто: сменился алгоритм выполнения операции +. И аксиома 1 теперь НЕ верна. Алгоритм сменили на следующий:
Дано X+Y
1) проверяем посл. символ Y, если это %, то goto 4.
2) иначе складываем как обычно.
3) выход
4) если %, то сначала вычисляем X.
5) вычисляем сумму, по формуле(алгоритму) X + X * Y / 100 (здесь сам процент уже отрезан)
6) выход
7) профит.

Т.е. в данном случае % это не оператор, а ТИП числа. 10% это вовсе не 10, а некая особая НЕХ, которая обладает особыми свойствами. Например сложение работает по другому. Перед сложением необходимо преобразовать 10% в что-то другое, причём математически правильный подход даёт убунта9 (100.4), но другие ОС дают хоть и неправильный результат, но на практике куда как более удобный. Конечно, бухгалтеру пофиг, ему деньги считать надо, а вот программисту - нет. Именно он обязан знать, что на самом деле, вычисления происходят по другой формуле (X + X * Y). Вы видите - если вы не знаете математики, вы даже простейший калькулятор не напишите. Ибо заказчик требует 140, а у вас получается 100.4. Как сделать из 100.4 -> 140 - понять без знания математики невозможно (ибо +39.6 или ещё что-то такое помогут только в этом случае)

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

Войдите или зарегистрируйтесь, чтобы ответить.