Здравствуйте unintruder, Вы писали:
U>Здравствуйте Aquary, Вы писали:
A>>Часто слышу мнение, что для того, чтобы стать хорошим программистом, нужно хорошо знать математику. Соответственно, если знаешь на 3 — не быть тебе програмером никогда.
U>Выскажу свое мнение может резковато:
U>- если человек не способен прочитать/понять такой труд как "Искусство программирования", то не может в принципе считать себя Real Programmer , а читать его без глубоких познаний математики бессмысленно...
...Продолжу фразу... "...нечитавших и не желающих это делать считать всего лишь кодерами!!!
_____________________
С уважением,
Stanislav V. Zudin
Здравствуйте small_cat, Вы писали:
SC>Здравствуйте OlegO, Вы писали:
OO>>Здравствуйте achp, Вы писали:
A>>>Здравствуйте unintruder, Вы писали:
A>>>Во-первых, читать Кнута — все равно, что читать энциклопедию. Да это, собственно, и есть энциклопедия. А их не читают, ими пользуются (а это, в свою очередь, тоже требует определенного умения).
OO>>Согласен Кнут своего рода энциклопедия, но не совсем, я бы сказал это шкатулка знаний, особенно, если учесть как достаточно подробно Кнут ставит задачи, анализирует их, а потом решает, это просто JAZZ, и вот этому у него и стоит обязательно поучиться.
OO>>А алгоритмы, которые Кнут приводит, часть запомнятся, часть забудутся, но их всегда можно будет вспомнить.
OO>>ЗЫ: Первый том Кнута, я прочитал после первого курса + пытался его задания решать, он мою эрудицию увеличил в разы
SC>Кстати, он и сам не советует все уж очень глубоко закапывать и раскапывать
Что-то я не встречал от Кнут таких слов, особенно если смотреть по его работам, как он подробно и дасконально все разбирает по косточкам. Хотя согласен, что чуство меры нужно знать везде. Ну а это уже другая тема
dmz>>Посмотрел я как-то в исходниках MS STL, как работает функция поиска подстроки. И, насколько можно понять из абсолютно нечитабельного кода, реализована она там была брут-форсом. И где гарантии, что остальные вещи реализованы не так же... эээ... халтурно?
A>Я не согласен с оценкой реализованного в стандартных библиотеках алгоритма!
Ну я и не берусь оценивать. Так, вспомнилось просто. У той-же SGI в ее STL все хорошо было,
насколько я помню.
A>Например, простой поиск — самое разумное решение для моих типичных задач поиска подстрок (строки и подстроки A>не настолько велики, чтобы сказывалось асимптотическое преимущество более совершенных алгоритмов поиска).
Ну а я строку в файлах искал. В большом количестве больших файлов. Банально, но брут-форс тут как-то не очень...
Там же в комментариях к функции не писали, что подходит только для маленьких строк.
A>Задача стандартной библиотеки — предоставить простое и удобное решение типичной задачи.
Интерфейс-то один и тот-же: find (к примеру). Насколько оно сложно внутри, пользователя библиотеки
мало беспокоит — да и нет ничего такого сложного в Бойер-Муре или Кнуте-Морисе-Пратте.
A>Если вам нужно что-то особенное (а может, в конкретной задаче удобней использовать не БМ, а конечные автоматы?),
Чего такого особенного в поиске подстрок? Почему оно было реализовано брут-форсом, если есть общеизвестный быстрый алгоритм?
A>вы выберете нужный именно вам алгоритм, реализуете его так или иначе, положите в свою личную библиотеку или A>поделитесь с другими, но это не должна быть стандартная функция...
Однако функция sort реализует QSort, а никак не пузырёк. По такой логике должен быть пузырек
— самое простое решение типовой задачи.
Собственно, мой пойнт в том, что человек, который принципиально не читает Кнутов,
и верит, что все алгоритмы уже хорошо реализованы (причем, в стандартных библиотеках)
— может неслабо наколоться иной раз.
Здравствуйте Аноним, Вы писали:
А>Фон Неймовское считай императивное. А ведь есть еще функциональное и логическое. И то, что императивное распространено больше, лишь доказывает, что мир ущербен по своей сути.
С миром-то как раз всё в порядке. Ну и что что самолёт быстрее летает, чем автомобиль едет. Однако у большинства людей всё-таки автомобили для передвижения, а не самолёты. Всё делается постепенно, через несколько веков, м.б., у каждого будет по персональному "самолёту" (или как он там будет называться!).
Не настало ещё время для них. Было время как-то, занимались немного оптическими "компьютерами", там и в помине Нейманом не пахло.
Здравствуйте OlegO, Вы писали:
OO>Здравствуйте small_cat, Вы писали:
SC>>Здравствуйте OlegO, Вы писали:
OO>>>Здравствуйте achp, Вы писали:
A>>>>Здравствуйте unintruder, Вы писали:
A>>>>Во-первых, читать Кнута — все равно, что читать энциклопедию. Да это, собственно, и есть энциклопедия. А их не читают, ими пользуются (а это, в свою очередь, тоже требует определенного умения).
OO>>>Согласен Кнут своего рода энциклопедия, но не совсем, я бы сказал это шкатулка знаний, особенно, если учесть как достаточно подробно Кнут ставит задачи, анализирует их, а потом решает, это просто JAZZ, и вот этому у него и стоит обязательно поучиться.
OO>>>А алгоритмы, которые Кнут приводит, часть запомнятся, часть забудутся, но их всегда можно будет вспомнить.
OO>>>ЗЫ: Первый том Кнута, я прочитал после первого курса + пытался его задания решать, он мою эрудицию увеличил в разы :super:
SC>>Кстати, он и сам не советует все уж очень глубоко закапывать и раскапывать :))
OO>:???: Что-то я не встречал от Кнут таких слов, особенно если смотреть по его работам, как он подробно и дасконально все разбирает по косточкам. Хотя согласен, что чуство меры нужно знать везде. Ну а это уже другая тема
Ну не конкртено так :)) Попробую найти, это где-то в начале у него открытым текстом сказано. Ну и по ходу книги тоже вроде попадалось. Я правда других его работ не читал :shuffle:
Здравствуйте Аноним, Вы писали:
А>Ну не конкртено так Попробую найти, это где-то в начале у него открытым текстом сказано. Ну и по ходу книги тоже вроде попадалось. Я правда других его работ не читал
Ок Вечером дома пороюсь в Кнуте, аж самому интересно.
С уважением, OlegO.
Re[6]: Всё будет, дай срок!
От:
Аноним
Дата:
16.08.02 13:57
Оценка:
Здравствуйте Vi2, Вы писали:
Vi2>Здравствуйте Аноним, Вы писали:
А>>Фон Неймовское считай императивное. А ведь есть еще функциональное и логическое. И то, что императивное распространено больше, лишь доказывает, что мир ущербен по своей сути.
Vi2>С миром-то как раз всё в порядке. Ну и что что самолёт быстрее летает, чем автомобиль едет. Однако у большинства людей всё-таки автомобили для передвижения, а не самолёты. Всё делается постепенно, через несколько веков, м.б., у каждого будет по персональному "самолёту" (или как он там будет называться!).
Vi2>Не настало ещё время для них. Было время как-то, занимались немного оптическими "компьютерами", там и в помине Нейманом не пахло. :-\
Не знаю, ресурсов современных компьютеров вполне достаточно, чтобы потянуть интерпретаторы функциональных языков. Java, например, намного тормознутей. Дело, я думаю, в том, что привыкли люди копаться с низкоуровневыми языками. Им легче претерпеть массу мучений, чтобы написать рабочую программу на c++ (заметим, что не каждому это под силу!). Зато они могут смело заявлять, что с++ позволяет использовать все ресурсы системы, хотя зачем эти ресурсы нужны в большинстве задач непонятно. Жаль, так и не настал золотой век, не создали функциональные процессоры, менеджеры в микрософт не прочитали нужных статей. Теперь остается ждать квантовых или еще каких компьютеров, когда все эти COM+, Oracleы и т.п. уйдут в историю и программисты снова смогут решать задачи, а не проводить недели штудируя километровые спецификации к системам, созданным бог знает кем с явного перепою.
Здравствуйте Аноним, Вы писали:
А>Жаль, так и не настал золотой век, не создали функциональные процессоры, менеджеры в микрософт не прочитали нужных статей. Теперь остается ждать квантовых или еще каких компьютеров, когда все эти COM+, Oracleы и т.п. уйдут в историю
А>и программисты снова смогут решать задачи, а не проводить недели штудируя километровые спецификации к системам, созданным бог знает кем с явного перепою.
Ну этого всегда будет с избытком. Может и не километровые, а мегаметровые в нашем исчислении. Будет, наверное, съел таблетку — и всё знаешь!
Но граница знание/не знание, как известно, только увеличивается. Так что учить всегда будет что.
U>>- если человек не способен прочитать/понять такой труд как "Искусство программирования", то не может в принципе считать себя Real Programmer SVZ>...Продолжу фразу... "...нечитавших и не желающих это делать считать всего лишь кодерами!!!
Чего мелочиться... сразу "если не решил самостоятельно всех упражнений, включая доказательство великой теоремы Ферма..."
A>>В STL есть 1% алгоритмов из кнута и они покрывают 99% A>>повседневной необходимости, если ты для реализованных A>>алгоритмов читаешь Кнута, а не руководство по STL A>>то ты плохой программист(хотя скорее всего хороший математик)
dmz>Посмотрел я как-то в исходниках MS STL, как работает функция поиска подстроки. И, насколько можно понять из абсолютно нечитабельного кода, реализована она там была брут-форсом. И где гарантии, что остальные вещи реализованы не так же... эээ... халтурно?
В смысле? А ты знаешь более эффективнй метод поиска чем
линейный просмотр строки?
Любая проблема дизайна может быть решена введением дополнительного абстрактного слоя, за исключением проблемы слишком большого количества дополнительных абстрактных слоев
Здравствуйте ToShA_2K, Вы писали:
T2>Здравствуйте Anatolix, Вы писали:
A>>В смысле? А ты знаешь более эффективнй метод поиска чем A>>линейный просмотр строки?
T2>А ты не знаешь ?
Да теперь знаю
Любая проблема дизайна может быть решена введением дополнительного абстрактного слоя, за исключением проблемы слишком большого количества дополнительных абстрактных слоев
Здравствуйте Vi2, Вы писали:
Vi2>Здравствуйте Aquary, Вы писали:
A>>Часто слышу мнение, что для того, чтобы стать хорошим программистом, нужно хорошо знать математику. Соответственно, если знаешь на 3 — не быть тебе програмером никогда. A>>Собстно, хотелось бы узнать мнение общественности по этому вопросу...
Vi2>Отсюда мораль: знаешь законы — быстрее придёшь к цели, не знаешь — потратишь время на их изучение на собственном опыте. Поэтому и незнающий математики будет постигать это таинство самостоятельно и неосознанно.
Здравствуйте ToShA_2K, Вы писали:
T2>А если уж человек способен, то он придет от программирования к математике, или от математики к программированию это значения не имеет (IMO).
T2>То есть вывод такой: изучать математику прийдется (либо сначала, либо потом).
Ну и на основании чего вы сделали такой вывод? Это было давно и неправда — сейчас все ж XXI век у меня на дворе...
T2>Хотя это все конечно рассуждения на тему. Я в своей жизни не встречал хороших программистов, у которых было бы очень плохо с математикой.
Здравствуйте Anatolix, Вы писали:
A>Здравствуйте Lefay, Вы писали:
L>>По этому поводу давайте заведем новый сабж о том кого относить к программистам, а кого нет L>>ИМХО,если человек в своей профессиональном деле использует программирование, то его уже можно назвать программистом, а пишет ли он там математические системы или нет — это уже вопрос класификации программистов
A>Если он думает 2 года а потом за месяц пишет прототип на фортран A>то наверное он всетаки больше математик.
Здравствуйте Igor Trofimov, Вы писали:
A>>Что касается "глубоких познаний математики", — да не согласен я! Глубоких познаний не нужно, нужен здравый смысл, умение читать и анализировать прочитанное, да немного общей математической подготовки. Очень помогает общая эрудиция.
IT>И все-же...все-же... У Кнута очень часто фигурирует математика, выходящая за рамки... ммм... скажем так ВУЗовского курса математики на технической, но не математической специальности.
Но прошедший курс "технической математики" все же сможет разобраться в этой "кнутовской математике"?
A>>>В смысле? А ты знаешь более эффективнй метод поиска чем A>>>линейный просмотр строки? T2>>А ты не знаешь ? A>Да теперь знаю
Ну, думаю, тезис о качестве программиста использующего алгоритмы из Кнута, а не алгоритмы из стандартных либ можно считать дискредетированным на конкретном примере на примере автора тезиса
Здравствуйте VVP, Вы писали:
A>>То есть, поставил задачу в терминах SQL, а отвечать надо выражением, не привязанным к нему? Какая связь с матемаиикой? VVP>Мда мил человек, печально. VVP>Хочешь используй SQL, ничего от этого не поменяется, принципиально здесь само функциональное выражение, подставляемое в DDL предложение. Связь с математикой такова, что без нее такой индекс не построишь.
Здравствуйте Igor Trofimov, Вы писали:
IT>Ну, думаю, тезис о качестве программиста использующего алгоритмы из Кнута, а не алгоритмы из стандартных либ можно считать дискредетированным на конкретном примере на примере автора тезиса
Нет не канает. Даже теперь я не буду применять не идин из них,
т.к. они работают просто медленнее если искать текст не в объеме
нескольких мегабайт. Кроме того для того чтобы почвствовать
эффект нужно большое количество обманных строк т.е. типа ищем abc
а строка abdabf и тп.
Вообщем пока я не начну писать что-то типа yandex я больше не вспомню
про эти алгоритмы. Т.е. я получил знания что они есть и этого вполне
достаточно, вообщем кнут здесь совсем не нужен.
Кстати можно тебе вопрос на засыпку: вот ты судя по твоему коммендарию
уже знал эти алгоритмы, во сколькох своих программах ты их использовал?
Любая проблема дизайна может быть решена введением дополнительного абстрактного слоя, за исключением проблемы слишком большого количества дополнительных абстрактных слоев