61

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

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

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

drBatty пишет:


mogul82 пишет:

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

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

+

62 (10.03.2011 23:07:02 отредактировано mogul82)

drBatty пишет:

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

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

XMPP: mogul82@jabber.ru Фанбой AMD

63

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

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

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

64

elve пишет:

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

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

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

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

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

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

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

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

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

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

Давно уже не забавно наблюдать торжество отрицательного отбора.

65

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

ПатреГ не любит Gnome...

66

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

Chars67 пишет:

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

67

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

ПатреГ не любит Gnome...

68

sbin пишет:

К таму же Chars67 привел хороший пример:

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

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

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

69

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

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

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

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

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

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

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

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

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

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

Давно уже не забавно наблюдать торжество отрицательного отбора.

70

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

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

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

71

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

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

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

ПатреГ не любит Gnome...

72

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

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

73

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.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

74

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

75

mycetophylax пишет:

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

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

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

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

76

drBatty пишет:

неоднозначность детектед.

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


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

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

77 (04.03.2011 22:09:09 отредактировано mycetophylax)

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

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

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

78

mycetophylax пишет:

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

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

ПатреГ не любит Gnome...

79

mycetophylax пишет:

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

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

mycetophylax пишет:

и доктор (3%)

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

mycetophylax пишет:

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

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

mycetophylax пишет:

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

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

mycetophylax пишет:

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

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

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

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

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

80

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 или ещё что-то такое помогут только в этом случае)

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

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

81

drBatty пишет:

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

А почему бы и нет. Он-то должен лучше знать, что хочет клиент. Даже как считать проценты. Может поведение требуемое клиентом отличается от общепринятого (в математике например)? А программист полезет править, увидев, что математически это неверно.

82

mycetophylax пишет:

Даже как считать проценты. Может поведение требуемое клиентом отличается от общепринятого (в математике например)? А программист полезет править, увидев, что математически это неверно.

в данном случае так и получилось. ибо с т.з. математики (я в пятом классе это проходил ЕМНИП) будет 100.4, а не 140.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

83

изначально был вопрос:

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

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

Программист, - слишком общее нзв. Вы можете писать на 1С, php, C++, Java, Ruby, Delphi, быть верстальщиком,..etc и при этом решать совершенно разные бизнес задачи.
С каждым годом, популярность занятиями по программированию растет именно в связи с падением планкой входа в эту профессию, надобность знать математику падает из года в год.
Я бы сказал,  условия, без которого нельзя работать программистом - это усидчивость, развитость логики и любовь к технике.

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

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

84

Хорошо сказано.В точку!

Live Free or Die

85

Не будем  забывать что ЭВМ делали для мат расчётов. Правда сейчас все разделилось(можно делать музыку, редактировать на нем фотографии и тп), и компьютер может делать все за человека,если его научить этому, что и делают люди на протяжении лет так 25-30(прошу прощения если  ошибаюсь), чисто из лени. А тем временем про вычисления плавно забыли, особенно в этой стране, до сих пор все считают на бумажках и педагогический коллектив остался в 80-х, я  это заявляю как человек который сам все это видит своими глазами.
Если человек задаёт такой вопрос, это значит ему плохо припадают предмет, т.е.  учитель старается привить любовь к предмету, но очень уж большую любовь что и отвергается wink .

Я угадал? Сам  же на первом курсе wink

Пока начинающий линуксоид :)

86

vkonnov пишет:

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

Ну и не нужны они эти двери... За этими дверями скорее всего очень мало платят  wink

87

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

88

Danila52 пишет:

Какой-то ненормальной разговор. Если не знаешь математику хотя бы средней школы...

Учить математику в школе и институте - это не означает знать математику (если конечно это не математический факультет)  wink .

89

vkonnov пишет:

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

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

gnomsi пишет:

А тем временем про вычисления плавно забыли, особенно в этой стране

никто не забывал. кодирование видео/аудио и обработка фоток - одна сплошная математика. ну для программиста.
например фотоаппарат имеет трёхцветную матрицу, например

красный - зелёный
зелёный - синий

прежде чем что-то сделать с фоткой, нужно для начала восстановить цветовые компоненты, ведь на мониторе каждая точка имеет все три компоненты, а на фотке - по одной компоненте на каждую точку. Остальные цвета вычисляются по довольно хитрому алгоритму. Если просто тупо сложить, то фотик в 4Мпикселя превратится в фотик на 1Мпиксель - юзер вас не поймёт... В самом фотике конечно вшит этот алгоритм, но процессор там слабенький, и потому он не очень хорошо работает. А вот для того, что-бы из RAW сделать JPG вам понадобится разбить картинку на квадратики, и обойти их по спирали, вычисляя БПФ, что-бы вычесть "ненужные" компоненты. потом всё это прогнать через арифметический кодек, который превращает фотку в одно длинное число от 0 до 1.

vkonnov пишет:

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

ну без знания математики можно только самые примитивные проги писать, которые никому нафиг не сдались или уже давно без вас написаны.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

90

mycetophylax
Знать математику - это редкость, главное - применять, а этому как-раз учат.