Здравствуйте, LaptevVV, Вы писали:
LVV>>Но явно ты под программированием понимаешь сплошное новье типа С# или аналогичные дела в БД и Web-программировании. LVV>>Если следовать такому принципу, то у нас и математике не учат.
LVV>>Интегралы — 300 назад изобрели.
LVV>>А дейкстра свой алгоритм 45 лет назад нарисовал. LVV>>Ну-ка, скажите мне математическое открытие 45-летней давности, которое студентам как классику преподают?
LVV>>Так что программированию-таки учат, таже мы — рыбный институт.
Disclaimer. Это не наезд.
Так-так, товарищь преподаватель, попались. Математики мы не знаем.
Маленькая справочка.
Lebesgue, Henri-Léon
Encyclopædia Britannica Article
born June 28, 1875, Beauvais, France
died July 26, 1941, Paris
French mathematician whose generalization of the Riemann integral revolutionized the field of integration.
Маленькие траблы с кодами форматирования и HTML-ем.
Короче, те интегралы, которые изобрели 300 лет назад, в современной математике -- исторический рудимент. "Настоящая" теория меры и интегрирования началась только в XX веке с пионерских работ Анри Лебега. Топология -- начало XX века. Теория вероятности, созданная как математическая дисциплина Колмогоровым (аксиомы Колмогорова) -- точно не помню, что-то вроде 30-х годов. Коммутативная алгебра, Гомологическая алгебра, Алгебраическая топология, Комплексно-аналитическая геометрия, современная Алгебраическая геометрия, Теория чисел (или как стало модно последние 20-30 лет говорить Диофантова геометрия), да, кстати, Математическая логика и теория алгоритмов (основопологающие труды Гёделя, Маркова, Гильберта, Тарского, Клини, Тьюринга, фон Неймана всех и не упомню), а как насчет работ Шенона, а? Функциональный анализ -- заложеный ещё Гильбертом в XIX веке, и продолженый фундаментальными работами Банаха и Гельфанда в XX-м? Между прочим -- математический фундамент квантовой механики. Уж про современную квантовую теорию поля и не говорю. А симплекс-метод? А алгоритм Форда-Фалкерсона? А работы Шварца, теория распределений (или как ещё называют обобщённых функций, типа функции Дирака)? А теорема Римана-Роха! АААА!!! В новомодной бивариантной трактовке Фултона и Мак Ферсона -- два живых, можно сказать, классика, воссоздавших заново теорию пересечений алгебраических циклов (70-е годы)? ...
А теория топосов(элементарных) Ловера и Тьерне. Это же чуть ли не наши дни. Кстати, с изложением теории топосов в элементарном варианте стоит ознакомиться. Если есть хороший вкус к хорошей математике, конечно. У неё есть очень интересные логические и алгоритмические аспекты.
Настоящая математика началась только в XX веке. Но это технарям не преподают. Или преподают в сильно искалеченом виде. Очень трудно обьяснить, что такое интеграл Фурье, например, без теории Гильбертовых пространств.
Уф. Тема эта уж очень обширная. Мы живем в интересная время, где ослепительные достижения науки соседствуют с глубочайшим невежеством. Причем математический уровень большинства технических проектов, действительно, чуть ли не 300-летней давности. Такое ощущение, что математики с очень большим запасом поработали.
Ещё на 300 лет вперед хватит.
Здравствуйте, Agent Smith, Вы писали: AS>Про архиваторы: математик-программист будет писать свой алгоритм, а обычный программист без математической подготовки кричать на форумах: "где можно скачать компонент архивации?" Так, да?
Нет. Программист совсем без подготовки не уверен, можно ли получить универсальный алгоритм упаковки бех потерь, т.е. алгоритм, сжимающий любые входные данные хотя бы на один байт. Идеальный случай — уверенность, что такие алгоритмы существуют, и даже вроде у друга была какая-то тулза...
Программист с подготовкой знает, что такого алгоритма не может быть, и при нужде способен предоставить доказательство. Но прикинуть, какой алгоритм эффективнее на данных, которые обладают известными свойствами, ему вряд ли удастся.
Программист-математик знает границы применимости различных алгоритмов, и в состоянии оценить производительность и эффективность алгоритма, который пришел ему в голову.
... << RSDN@Home 1.1 beta 2 >>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Здравствуйте, Nikto, Вы писали:
N>Нет не студент и не твой и даже не бывший твой студент .
Ага! Именно поэтому ты и говоришь, что не учат!
А вот Morgun — мой студент. Так его научили!
Так что обощать на все вузы не надо. N>Вижу только подтверждение своих слов: выпускник строительного техникума готов "строить" дома, а вот выпускник любого ВУЗа(если он не выходил за рамки программы) НЕ готов
заниматься программированием. Его еще надо этому учить.
Ну уж опять! Прям
А наши — готовы!
Им только немного опыта коллективных проектов поднабраться. А программировать они — готовы. И знают, что, где и как. И какие продукты использовать, и как их использовать. И как проектировать систему и как реализовать. Только реального внедрения не было. Так будет!
Какие ихние годы?! Но внедрение — это НЕ программирование.
LVV>>Эт смотря какие задачи решать. А то задача оптимального распределения чего-то там в тепловой сети — вот тебе напрямую и теория графом и потоки в сетях. А там теорем — больше чем в матанализе.
N>Такие задачи редкость. Об этом вроде как и шел разговор. Если же ты встечаешь такую задачу, берешь книгу и читаешь. При наличии навыков обучения на математическом факультете будет не сложно это изучить...
Не редкость! Вся связь на этом стоит. И телефонная и всякая другая. И все городское хозяйство: тепловая сеть, водопроводная, газовая, и даже канализация!
А ты говоришь — редкость?
Или для тебя программирование — это только бухгалтерия на 1С?
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Здравствуйте, LaptevVV, Вы писали:
LVV>Здравствуйте, Nikto, Вы писали:
N>>Я не верю что есть хоть один ВУЗ у нас в стране в котором действительно учат программированию (Лаптева В.В. прошу не обижаться ). LVV>Ага, мой студент попался! LVV>Но явно ты под программированием понимаешь сплошное новье типа С# или аналогичные дела в БД и Web-программировании.
Доучишся до 5 курса, а еще лучше до выпуска — поймешь что учат. И писать хорошо учат и проектировать. Не надо обо всем так быстро судить (и не судим будешь).
LVV>Если следовать такому принципу, то у нас и математике не учат. LVV>Интегралы — 300 назад изобрели. LVV>А дейкстра свой алгоритм 45 лет назад нарисовал. LVV>Ну-ка, скажите мне математическое открытие 45-летней давности, которое студентам как классику преподают? LVV>Так что программированию-таки учат, таже мы — рыбный институт. LVV>Другое дело, что организацию РЕАЛЬНЫХ работ в вузе тяжело преподать. Ну так это не программирование, а организация работ. LVV>Все-таки вуз — это учеба. LVV>Строителей вон тоже не учат строительству, однако никто не говорит, что ни один вуз строительству не учит.
Да-да-да, есть термин такой "фундаментальное образование"
N>>Лучше всего учишься этому только на кокнкретных проектах. Вступай в какой-нибудь ОпенСурс или сам делай проекты/изучай технологии( первое предпочтительнее).
Ну знаете — так быстро вас в хороший профессиональный опенсоурс не примут.
N>>А преподы так говорят чтобы у вас стимул был... Реально математика "напрямую" тебе в программмировании может не пригодиться ни разу в жизни. Другое дело математический склад ума, умение быстро обучаться сложным вещам — это будет полезно в программировании... LVV>Эт смотря какие задачи решать. А то задача оптимального распределения чего-то там в тепловой сети — вот тебе напрямую и теория графом и потоки в сетях. А там теорем — больше чем в матанализе.
Все гораздо хуже — математика везде. Будучи студентом 2 курса я тоже думал — нафига мне теория вероятности — я и без нее програмить могу — уж АСУшные задачи точно. А вырос — стал писать по-крупному, преподавать, и понял, что ее методами и понятиями пользуюсь постоянно: и для оценки оптимальности написанного кода, и даже для его (кода) написания.
Вот и выходит, что в основе программирования математика лежит, только прикладная она.
Здравствуйте, Agent Smith, Вы писали:
AS>Общепринято, что математика является важной составной частью работы программиста. Это очевидно, когда, скажем, проект напрямую связан с математическими вычислениями (построение графиков, решение уравнений, моделирование и т.п.), но как часто вам приходится использовать свои знания по высшей математике при использовании таких технологий, как .net, Remoting, SOAP, COM (причем проект функционально не является инструментом математика, физика)? AS>PS: задал этот вопрос, т.к. сейчас учусь на факультете, где очень сильно преподается математика, а сами преподаватели часто замечают, что эти знания пригодятся в программировании.
За те четыре года, что я занимаюсь программированием на работе математика как предмет мне была нужно крайне редко.
Так что к их словам нужно относиться с изрядной долей скептицизма.
Другой вопрос, что изучение математики прививает человеку "правильное" мышление.
Здравствуйте, LaptevVV, Вы писали:
LVV>Здравствуйте, Nikto, Вы писали:
N>>Нет не студент и не твой и даже не бывший твой студент . LVV>Ага! Именно поэтому ты и говоришь, что не учат! LVV>А вот Morgun — мой студент. Так его научили! LVV>Так что обощать на все вузы не надо. N>>Вижу только подтверждение своих слов: выпускник строительного техникума готов "строить" дома, а вот выпускник любого ВУЗа(если он не выходил за рамки программы) НЕ готов LVV>заниматься программированием. Его еще надо этому учить.
LVV>Ну уж опять! Прям
LVV>А наши — готовы!
LVV>Им только немного опыта коллективных проектов поднабраться. А программировать они — готовы. И знают, что, где и как. И какие продукты использовать, и как их использовать. И как проектировать систему и как реализовать. Только реального внедрения не было. Так будет! LVV>Какие ихние годы?! Но внедрение — это НЕ программирование.
Мало-ли кто готов программировать? Вопрос в том, готов-ли работодатель доверять судьбу проекта в руки вашим студентам. Которым надо немного опыта коллективных проектов (то есть они не имеют опыта работы в команде, и, соответственно, не знакомы с технологиями программирования на практике, не знают зачем нужна проектная документация и не умеют ее писать, и.т.д.), которые думают что знают что и как, и думают что знают как проектировать систему (любопытно, ведь любая реальная система это всегда компромис между качеством дизайна, сроками, и функционалом. Инженеры годами учатся делать удачно этот компромис, _это_ суть инженерной работы, а не знание технологий. А ваши студенты уверены что ЗНАЮТ как все надо делать.). Меня как менеджера и выпускника одного из лучших профильных ВУЗов — я знаю как учат у нас и видел в работе многих выпускников всех ведущих (и нескольких не очень) русских вузов, — пугает список достоинств ваших студентов.
Про внедрение я вообще не говорю. Это тот момент, когда инженер проверяет, как сработали его решения. Это важнейший элемент обратной связи, который позволяет учесть ошибки и сделать выводы. Не было внедрений — ваш выпускник СТАЖЕР. Он не инженер-программист.
LVV>>>Эт смотря какие задачи решать. А то задача оптимального распределения чего-то там в тепловой сети — вот тебе напрямую и теория графом и потоки в сетях. А там теорем — больше чем в матанализе.
Ну не больше их там, не больше
N>>Такие задачи редкость. Об этом вроде как и шел разговор. Если же ты встечаешь такую задачу, берешь книгу и читаешь. При наличии навыков обучения на математическом факультете будет не сложно это изучить... LVV>Не редкость! Вся связь на этом стоит. И телефонная и всякая другая. И все городское хозяйство: тепловая сеть, водопроводная, газовая, и даже канализация! LVV>А ты говоришь — редкость? LVV>Или для тебя программирование — это только бухгалтерия на 1С?
Согласен с предыдущим докладчиком, и тоже говорю Редкость (имея при этом математическое образование). Посмотрите статистику IDC по объему рынка по секторам IT. Посмотрите вакансии, например, на JOB.RU или на Monster.com. И посчитайте. Зачем спорить с очевидным?
Хотите, например, узнать, как обсчитывали аэродинамику Бурана? Уравнения Навье-Стокса? Пограничный слой?
Считают на практике так: продувают модельку, интерполируют решения сплайнами. Все! А знаете почему? Так _дешевле_, и сроки гарантированы. Вот он инженерный компромисс. И никакой зубодробительной математики.
Здравствуйте, Croc, Вы писали:
C>Через полтора года после восторженного открытия понятия множества мы сидели на лекции по алгебре и уже второй месяц слушали доказательство изумительной теоремы, доказывающей изоморфизм поля (м.б. кольца?) корней полиномов с рациональными коэффициентами с каким-то там еще не менее удивительным полем, и даже самые ботаны и фанаты от алгебры говорили, что это "через чур". Да, пожалуй, та теорема мне пока не пригодилась в жизни (и вдяд ли понадобится), хотя алгеброид говорил, что мне, как будующем физику эта теорема нужна как хлеб. Однако, кто-то из нас стал заниматься алгеброй, а если бы я занялся каким-то подразделом ядерной физики, то мне бы тоже пригодилось.
А что такое блочный линейный код?
Определение такое: Линейное векторное пространство над полем Галуа.
И в это определение укладывается половина космической передачи информации.
А вторая половина — это оптимальный неравномерный код Хаффмена.
А говорят, что математика не нужна?
C>Ну а теперь конкретно: мой проект не является инструментом математика/физика, но алгебру/геометрию использую регулярно.
Да, еще забыл сказать.
А графика на компьютере? Да там такая математика — ужас!!!
Так что нужна, нужна, и еще раз нужна!!!!
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Здравствуйте, Agent Smith, Вы писали:
AS>Общепринято, что математика является важной составной частью работы программиста. Это очевидно, когда, скажем, проект напрямую связан с математическими вычислениями (построение графиков, решение уравнений, моделирование и т.п.), но как часто вам приходится использовать свои знания по высшей математике при использовании таких технологий, как .net, Remoting, SOAP, COM (причем проект функционально не является инструментом математика, физика)? AS>PS: задал этот вопрос, т.к. сейчас учусь на факультете, где очень сильно преподается математика, а сами преподаватели часто замечают, что эти знания пригодятся в программировании.
С моей точки зрения они совершенно правы — очень даже пригодится. Нет, конечно если постоянно заниматься только какими-то простенькими проектами, то это совсем не очевидно, но ... часто ли так бывает??? Имхо постоянно заниматься чем-то простым никому не светит, рано или поздно (лучше рано ) каждый столкнется с более-менее сложным проектом. Взять, например, те же бухгалтерсие программы — в простейшем варианте база данных — ну зачем тут математика??? Правильно — нафиг не нужна, но ... фирма развивается и поделка за три дня уже не устраивает, уже нужен анализ данных, с вероятностью близкой к 1 придется работать с нейронной сетью. Не думаю, что без математической подготовки с ними так уж просто разобраться и, тем более, грамотно применить.
Или еще пример — уже из моей практики: — не ждал не гадал, пару лет писал прикладные утилиты, а в итоге сейчас занимаюсь обработкой изображений — так я неделю проектом практически не занимался — усиленно повторял матан и вспоминал что такое нечеткая логика и как с этим всем без бутылки общаться Поймал себя на мысли, что совершенно не против позадавать кому-нить кучу вопросов — в универе проблем бы не было, а так самому разбираться приходится, бо как закончил. Хорошо, что еще кое-что помню — очень за это благодарен своим преподавателям (я ж сопротивлялся ... пока не поумнел).
Так что то, что у вас сильно преподают математику — это просто великолепно, будет гораздо проще потом вникнуть в анализ алгоритмов, да и велика вероятность того, что сильно будут преподавать не только математику . Тем более, что все-равно с бОльшей частью технологий (COM, SOAP, ... ) придется разбираться самому — имхо в вузе, кроме как обзорно, их никто давать не будет — на остальное времени не хватит.
Здравствуйте, Agent Smith, Вы писали:
LVV>>Про блочный линейный код? LVV>>Это просто наиболее близкий к практике пример. Так же, как и коды Хаффмена — все архиваторы тут лежат. А ZIP так непосредственно адаптивное кодирование по Хаффмену использует. AS>А на каком примерно курсе это изучают? (имеется в виду не курс университета, а читаемый курс )
На нашей специальности АСОИУ есть курс Теория информации и кодирования. Мы там немного всего этого касаемся — просто основы. А вот у нас есть кафедра Защиты информации, так там всерьез изучают всю математику по шифрованию и кодированию. Например, математические основы шифрования с открытым ключом и еще много чего. Я тут не сильно большой специалист, просто пришлось этот курс студентам рассказывать, вот и познакомился. AS>Про архиваторы: математик-программист будет писать свой алгоритм, а обычный программист без математической подготовки кричать на форумах: "где можно скачать компонент архивации?" Так, да?
Не, программист напишет алгоритм кодирования-сжатия по Хаффмену (наверное, уже с усовершенствованиями, хотя Хаффмен-это классика). AS>Про связь: тут я полностью с вами согласен. Еще, на сколько я знаю, на этом строятся протоколы передачи данных. Опять математика?
Не протоколы — это из другой оперы. Это соглашения (наверное, скорее, стандарты), в каком порядке обмениваться информацией в сети между узлами. И там уровней много — от физического и до .... Я только до ТСР/IP слыхал. А там наверное тоже наизобретали — море.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Здравствуйте, Agent Smith, Вы писали:
AS>2 LaptevVV AS>А можно еще подобных примеров? Интересно очень...
Про блочный линейный код?
Это просто наиболее близкий к практике пример. Так же, как и коды Хаффмена — все архиваторы тут лежат. А ZIP так непосредственно адаптивное кодирование по Хаффмену использует.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Здравствуйте, LaptevVV, Вы писали:
LVV>Здравствуйте, Agent Smith, Вы писали: AS>>А на каком примерно курсе это изучают? (имеется в виду не курс университета, а читаемый курс ) LVV>На нашей специальности АСОИУ есть курс Теория информации и кодирования. Мы там немного всего этого касаемся — просто основы. А вот у нас есть кафедра Защиты информации, так там всерьез изучают всю математику по шифрованию и кодированию. Например, математические основы шифрования с открытым ключом и еще много чего. Я тут не сильно большой специалист, просто пришлось этот курс студентам рассказывать, вот и познакомился.
Я это слегка задеваю в курсе Комбинаторные алгоритмы. Шифрование — в основном с теорией чисел связано (в основном с простыми числами)
AS>>Про архиваторы: математик-программист будет писать свой алгоритм, а обычный программист без математической подготовки кричать на форумах: "где можно скачать компонент архивации?" Так, да? LVV>Не, программист напишет алгоритм кодирования-сжатия по Хаффмену (наверное, уже с усовершенствованиями, хотя Хаффмен-это классика).
На лабах — пишут. Тем более что Хаффмен — отличный пример так называемого жадного алгоритма.
AS>>Про связь: тут я полностью с вами согласен. Еще, на сколько я знаю, на этом строятся протоколы передачи данных. Опять математика? LVV>Не протоколы — это из другой оперы. Это соглашения (наверное, скорее, стандарты), в каком порядке обмениваться информацией в сети между узлами. И там уровней много — от физического и до .... Я только до ТСР/IP слыхал. А там наверное тоже наизобретали — море.
Вот про протоколы — отдельная история. Протокол — это действительно соглашение или стандарт. ТСР/IP — это стек протоколов (набор, в котором уровани различают). Есть еще модель OSI, но это отдельная история.
А математика вот где.
Передача данных процесс не надежный — помехи разные, шумы (тут физика уже) — поэтому данные передают с кодами проверки и ошибок (Хемминга например). Некоторые коды проверки могут позволить ошибки эти исправить. Тут применяетются понятия теор вероятности (Марковские процессы там и все такое).
Есть еще такое дело как оцифровка (звука например — АЦП/ЦАП если слышал) — опять же гармонические сигналы, теорема Котельникова — математика одно слово.
Здравствуйте, Agent Smith, Вы писали:
AS>Где-то читал, что для наибольшей эффективности пакеты идут к адресату каждый своим путем, поэтому важно эти пути просчитать. Разве тут не замешана математика?
Замешена, конечно. Но тут уже в основном теория графов. Сеть ведь как граф представить можно. Вершины у него — компьютеры, маршрутизаторы, коммутаторы и т.д. Дуги их соединяющие — "провода" (кабели разнообразные). Естественно что данные от компа к компу могут идти разными путями.
И здесь выбор: либо от очередного узла (компьютера, маршрутизатора) пакет информации идет во "все возможные стороны" к соседям, либо решается задача оптимизации и выбирается группа "наивыгоднейших" направлений (соседей). В любом случае пакет может прийти к пункту назначения несколько раз, с разных сторон. Естественно повторяющиеся пакеты отбрасываются.
Решение задачи оптимизации — вещь интересная. Более дого в такой большой сети как Internet например полное решение задачи оптимизации пересылки пакетов данных получить нельзя (время много очень требуется, и саму постоянно меняющуюся структуру сети на одной машине помнить нельзя). И задача решается приближенно в условиях неполной информации, а это методами ИИ пахнет (которые тоже математика).
Протоколы — это правила игры. Они определяют правила именования (нумерования) машин(IP, IPv6), условий и гарантирования доставки пакетов (TCP, UDP), логический формат передаваемых данных (HTTP/FTP) и еще много всего.
AS>Вообще, было бы любопытно узнать, как работают протоколы на программном уровне, т.е. что происходит после вызова клиентом сервера и до того момента, когда сервер получает запрос. И как здесь обрабатываются ошибки, возможные сбои и прочие неприятности. Если кто может такое рассказать на примере, скажем, SOAP (очень жизненно), буду благодарен, хотя это уже тема отдельной ветки в соответствующем форуме...
Ну это много писать слишком надо. По крайней мере статью, а лучше книгу.
И мой тебе совет — если заинтересовался так, все таки книжки по этому поводу почитай.
Математика может быть очень интересной, если ее умело приложить.
> Поэтому интересна разница между теми, кто изучил, скажем С++, .net, C# по книжкам и теми, кто в универе учил Методы программирования, C++, ФОРТРАН, а .net и C# также учил по книжкам.
Язык программирования -- это как язык на котором разговаривают люди: какая разница для тебя на каком языке изложить свою мысль если она есть ... одно и тоже можно сказать и по английски и по итальянски.
Твоя задача в универе научиться мыслить иначе, оперировать другими понятиями ... и математика здесь очень полезна, а сменить язык программирования дело недели-двух.
AS>Общепринято, что математика является важной составной частью работы программиста. Это очевидно, когда, скажем, проект напрямую связан с математическими вычислениями (построение графиков, решение уравнений, моделирование и т.п.), но как часто вам приходится использовать свои знания по высшей математике при использовании таких технологий, как .net, Remoting, SOAP, COM (причем проект функционально не является инструментом математика, физика)? AS>PS: задал этот вопрос, т.к. сейчас учусь на факультете, где очень сильно преподается математика, а сами преподаватели часто замечают, что эти знания пригодятся в программировании.
Если бы вы учились в ПТУ, то там абсолютно точно известно, какие знания понадобятся для работы на конкретном станке.
Вы же учитесь в ВУЗе, а потому высшую математику надо знать обязательно, так как всё, что происходит в мире, описывается с помощью нее (а именно — дифференциальными уравнениями).
Более того, программирование — особый вид деятельности в том смысле, что в чистом виде она никому не нужна, программы пишутся для конкретной предметной области, а потому тебе придется еще учить и ее: биологию или геологию — как повезет (а если не повезет — то бухгалтерию )
Здравствуйте, Gaperton, Вы писали:
G>Мало-ли кто готов программировать? Вопрос в том, готов-ли работодатель доверять судьбу проекта в руки вашим студентам. Которым надо немного опыта коллективных проектов (то есть они не имеют опыта работы в команде, и, соответственно, не знакомы с технологиями программирования на практике, не знают зачем нужна проектная документация и не умеют ее писать, и.т.д.), которые думают что знают что и как, и думают что знают как проектировать систему (любопытно, ведь любая реальная система это всегда компромис между качеством дизайна, сроками, и функционалом.
1. Опыт работы в комманде у многих имеется, поскольку дипломные проекты — часто коллективные, на 2-3 студента.
2. Проектную документацию они уже писали, поскольку пояснительная записка к дипломному проекту делалась по требованиям РД 34 и ГОСТ ЕСПД, а так же с использованием CASE-систем типа ERWin, BPWin, RRose, Disigner 2000, Visio и им подобных. Кроме того, они сейчас работаю в отделе АСУ и с них ТРЕБУЮТ написание документации соответственно по ГОСТам.
3. Согласен, что многие из них ДУМАЮТ, что умеют, но на самом деле пока не сдавали еще систем. Тут-то им старшие товарищи и помогут. Исключительно поправить их молодой розовый идеализм, но ни в коей мере не убить энтузиазм
G>Инженеры годами учатся делать удачно этот компромис, _это_ суть инженерной работы, а не знание технологий. А ваши студенты уверены что ЗНАЮТ как все надо делать.). Меня как менеджера и выпускника одного из лучших профильных ВУЗов — я знаю как учат у нас и видел в работе многих выпускников всех ведущих (и нескольких не очень) русских вузов, — пугает список достоинств ваших студентов.
Достоинство, собственно, одно — молодость, которая, как известно, имеет привычку быстро заканчиваться. А про ЗНАЮТ — см. выше. Тут я согласен. G>Про внедрение я вообще не говорю. Это тот момент, когда инженер проверяет, как сработали его решения. Это важнейший элемент обратной связи, который позволяет учесть ошибки и сделать выводы. Не было внедрений — ваш выпускник СТАЖЕР. Он не инженер-программист.
Ну, опять вспомним про старших товарищей, которые вовремя поправят.
G>Согласен с предыдущим докладчиком, и тоже говорю Редкость (имея при этом математическое образование). Посмотрите статистику IDC по объему рынка по секторам IT. Посмотрите вакансии, например, на JOB.RU или на Monster.com. И посчитайте. Зачем спорить с очевидным?
А я таким задачам 3 года отдал, пока не надоело. Правда, достаточно давно это было. Но считать-то все-равно не прекратили — никуда же эти задачи не делись. Это как зарплата — или она есть, или ее — нет. G>Хотите, например, узнать, как обсчитывали аэродинамику Бурана? Уравнения Навье-Стокса? Пограничный слой? G>Считают на практике так: продувают модельку, интерполируют решения сплайнами. Все! А знаете почему? Так _дешевле_, и сроки гарантированы. Вот он инженерный компромисс. И никакой зубодробительной математики.
Понятно. И мы в некоторых местах так же делали. Ну и что?
Сплайны чтобы знать — математику учить надо!
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Общепринято, что математика является важной составной частью работы программиста. Это очевидно, когда, скажем, проект напрямую связан с математическими вычислениями (построение графиков, решение уравнений, моделирование и т.п.), но как часто вам приходится использовать свои знания по высшей математике при использовании таких технологий, как .net, Remoting, SOAP, COM (причем проект функционально не является инструментом математика, физика)?
PS: задал этот вопрос, т.к. сейчас учусь на факультете, где очень сильно преподается математика, а сами преподаватели часто замечают, что эти знания пригодятся в программировании.
Never argue with a woman who reads. It's likely she can also think. (c)
Ок. Перефразирую вопрос: на таких факультетах, где учусь я информатику очень тесно изучают с математикой (например, для изучения каких-либо аспектов программирования ставится чисто математическая задача), даействительно ли эти знания потом пригодятся? и еще: я, конечно, понимаю, что изучение Фортрана — отличный способ понять стиль программирования, но изучение _новейших_ технологий — проблема студента (ничего удивительного). Поэтому интересна разница между теми, кто изучил, скажем С++, .net, C# по книжкам и теми, кто в универе учил Методы программирования, C++, ФОРТРАН, а .net и C# также учил по книжкам.
PS: этим я никак не ставлю вопроса о том, надо ли или нет изучать что-то в универе, мне просто интересно узнать, какие знания и в какой степени мне могут пригодиться в будущем
Never argue with a woman who reads. It's likely she can also think. (c)
Здравствуйте, Agent Smith, Вы писали:
AS>Общепринято, что математика является важной составной частью работы программиста. Это очевидно, когда, скажем, проект напрямую связан с математическими вычислениями (построение графиков, решение уравнений, моделирование и т.п.), но как часто вам приходится использовать свои знания по высшей математике при использовании таких технологий, как .net, Remoting, SOAP, COM (причем проект функционально не является инструментом математика, физика)?
С этими технологиями не связан, занимаюсь главным образом всякими околокомпиляторными штуками (навроде семантических анализаторов), так вот в этой области знания по математики сильно пригождаются. (в основном теория графов, абстрактная алгебра, конечные автоматы).
Математика помогает видеть алгоритмическую суть задачи, всякие технические детали реализации — это уже просто.
Потом мат. подготовка помогает читать всякие научные статьи по данной тематике и вычленять из них что-то для себя полезное.
> а сменить язык программирования дело недели-двух.
дополню.
возможно еще и framework будет другой, также время надо,
но это не принципиально
Posted via RSDN NNTP Server 1.7 "Bedlam"
Только на РСДН помимо ответа на вопрос, можно получить еще список орфографических ошибок и узнать что-то новое из грамматики английского языка (c) http://www.rsdn.ru/forum/cpp/4720035.1.aspx
Здравствуйте, Victor Vishnyakov, Вы писали:
VV>Твоя задача в универе научиться мыслить иначе, оперировать другими понятиями ... и математика здесь очень полезна
А я думал, что моя задача выучить математику и информатику Все-таки польза метематического мышления при решении математических задач на языке программированя очевидна, но так ли важно это при решении задач с использованием, например, тех же технологий?
Поясните...
Never argue with a woman who reads. It's likely she can also think. (c)
Re: Математика в программировании
От:
Аноним
Дата:
02.10.03 07:20
Оценка:
Здравствуйте, Agent Smith, Вы писали:
AS>Общепринято, что математика является важной составной частью работы программиста. Это очевидно, когда, скажем, проект напрямую связан с математическими вычислениями (построение графиков, решение уравнений, моделирование и т.п.), но как часто вам приходится использовать свои знания по высшей математике при использовании таких технологий, как .net, Remoting, SOAP, COM (причем проект функционально не является инструментом математика, физика)? AS>PS: задал этот вопрос, т.к. сейчас учусь на факультете, где очень сильно преподается математика, а сами преподаватели часто замечают, что эти знания пригодятся в программировании.
Ты же вроде только начал учится. 1-й курс? Прикладная математика?
Здравствуйте, Agent Smith, Вы писали:
AS>Общепринято, что математика является важной составной частью работы программиста. Это очевидно, когда, скажем, проект напрямую связан с математическими вычислениями (построение графиков, решение уравнений, моделирование и т.п.), но как часто вам приходится использовать свои знания по высшей математике при использовании таких технологий, как .net, Remoting, SOAP, COM (причем проект функционально не является инструментом математика, физика)? AS>PS: задал этот вопрос, т.к. сейчас учусь на факультете, где очень сильно преподается математика, а сами преподаватели часто замечают, что эти знания пригодятся в программировании.
Я не верю что есть хоть один ВУЗ у нас в стране в котором действительно учат программированию( Лаптева В.В. прошу не обижаться ). Лучше всего учишься этому только на кокнкретных проектах. Вступай в какой-нибудь ОпенСурс или сам делай проекты/изучай технологии( первое предпочтительнее).
А преподы так говорят чтобы у вас стимул был... Реально математика "напрямую" тебе в программмировании может не пригодиться ни разу в жизни. Другое дело математический склад ума, умение быстро обучаться сложным вещам — это будет полезно в программировании...
Re[2]: Математика в программировании
От:
Аноним
Дата:
02.10.03 11:23
Оценка:
Здравствуйте, Nikto, Вы писали:
N>Я не верю что есть хоть один ВУЗ у нас в стране в котором действительно учат программированию
[skipped]
У нас учат. И .Net, и проектированию, и методологиям различным. Вообщем, технически подковывают.
Что же насчет математики и программирование, то скажу лишь что раньше, например, физиков и математиков учили на одном факультете. А сейчас? Да они друг от друга открещиваються и готовы глотку перегрызть, лишь бы на первенство вылезти....
К чему это я? Да к тому, что у нас как-то не догадываються (а если и догадываються, то не хотят), что нужно разделение. Оно уже созрело. Если спеца напичкать всякой ненужной информацией, то он просто расстеряется и забудет половину. Это делать не надо. Как вы думаете, дантиста учат как оперировать больному аппендецит? Нет. И правильно делают. А у нас же... Э-хе-хе.
К месту будет сказано, что некоторые программисты думают, что они и математику хорошо знают и программированием отлично владеют. Гон! Сами себя заблуждают.
Здравствуйте, Agent Smith, Вы писали:
AS>Общепринято, что математика является важной составной частью работы программиста. Это очевидно, когда, скажем, проект напрямую связан с математическими вычислениями (построение графиков, решение уравнений, моделирование и т.п.), но как часто вам приходится использовать свои знания по высшей математике при использовании таких технологий, как .net, Remoting, SOAP, COM (причем проект функционально не является инструментом математика, физика)? AS>PS: задал этот вопрос, т.к. сейчас учусь на факультете, где очень сильно преподается математика, а сами преподаватели часто замечают, что эти знания пригодятся в программировании.
Сначала немного пофилософствую...
Во-первых, хочу заметить, что изучение высшей математики добавляет тебе определенный стиль мышления, который необходим для программирования. Большое количество базовых знаний используется программистом как-бы на подсознательном уровне. Я, например, отлично помню, какую бурю восторга в моем сознании произвело понятие множества. Однако, однажды усвоенное, оно перестает быть чудом, и становится инструментом и стилем мышления. Причем, сидит настолько глубоко, что оперируя этим инструментом ты даже не вспомнишь слово "математика".
Через полтора года после восторженного открытия понятия множества мы сидели на лекции по алгебре и уже второй месяц слушали доказательство изумительной теоремы, доказывающей изоморфизм поля (м.б. кольца?) корней полиномов с рациональными коэффициентами с каким-то там еще не менее удивительным полем, и даже самые ботаны и фанаты от алгебры говорили, что это "через чур". Да, пожалуй, та теорема мне пока не пригодилась в жизни (и вдяд ли понадобится), хотя алгеброид говорил, что мне, как будующем физику эта теорема нужна как хлеб. Однако, кто-то из нас стал заниматься алгеброй, а если бы я занялся каким-то подразделом ядерной физики, то мне бы тоже пригодилось.
Когда ты учишься в институте, то часто ловишь себя на мысли, что "это тебе в жизни не пригодится". Да, ты можешь быть уверен, что в жизни ты будешь напрямую используешь отсилы 20% полученных в институте знаний, причем если будешь работать по специальности (типично 0-10%). Однако сидя за партой ты не угадаешь, какие знания тебе пригодятся, а какие нет. Так что отфильтровав в институте 50% "по видимому ненужных знаний", ты приблизительно на столько же уменьшишь количество знаний, которые бы тебе в жизни пригодились. Закроешь для себя какие-то пути... И это не говоря о том, что все эти "ненужные упражнения" тренируют твой соображающий орган.
Ну а теперь конкретно: мой проект не является инструментом математика/физика, но алгебру/геометрию использую регулярно.
Здравствуйте, Nikto, Вы писали:
N>Я не верю что есть хоть один ВУЗ у нас в стране в котором действительно учат программированию (Лаптева В.В. прошу не обижаться ).
Ага, мой студент попался!
Но явно ты под программированием понимаешь сплошное новье типа С# или аналогичные дела в БД и Web-программировании.
Если следовать такому принципу, то у нас и математике не учат.
Интегралы — 300 назад изобрели.
А дейкстра свой алгоритм 45 лет назад нарисовал.
Ну-ка, скажите мне математическое открытие 45-летней давности, которое студентам как классику преподают?
Так что программированию-таки учат, таже мы — рыбный институт.
Другое дело, что организацию РЕАЛЬНЫХ работ в вузе тяжело преподать. Ну так это не программирование, а организация работ.
Все-таки вуз — это учеба.
Строителей вон тоже не учат строительству, однако никто не говорит, что ни один вуз строительству не учит. N>Лучше всего учишься этому только на кокнкретных проектах. Вступай в какой-нибудь ОпенСурс или сам делай проекты/изучай технологии( первое предпочтительнее). N>А преподы так говорят чтобы у вас стимул был... Реально математика "напрямую" тебе в программмировании может не пригодиться ни разу в жизни. Другое дело математический склад ума, умение быстро обучаться сложным вещам — это будет полезно в программировании...
Эт смотря какие задачи решать. А то задача оптимального распределения чего-то там в тепловой сети — вот тебе напрямую и теория графом и потоки в сетях. А там теорем — больше чем в матанализе.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Здравствуйте, LaptevVV, Вы писали:
LVV>А что такое блочный линейный код? LVV>Определение такое: Линейное векторное пространство над полем Галуа. LVV>И в это определение укладывается половина космической передачи информации. LVV>А вторая половина — это оптимальный неравномерный код Хаффмена. LVV>А говорят, что математика не нужна?
Теория групп — воистину великая вещь.
Теория чисел — тоже.
Специалисты по безопасности — где ж вы? Объясните что такое кодирование и шифрование.
А вообще, конечно, на практике вспоминать доказательство теорем не приходится. Мы пользуемся ими как постулатами и даже порой не замечаем этого, но это так.
Здравствуйте, LaptevVV, Вы писали:
LVV>Здравствуйте, Nikto, Вы писали:
N>>Я не верю что есть хоть один ВУЗ у нас в стране в котором действительно учат программированию (Лаптева В.В. прошу не обижаться ). LVV>Ага, мой студент попался!
Нет не студент и не твой и даже не бывший твой студент .
LVV>Но явно ты под программированием понимаешь сплошное новье типа С# или аналогичные дела в БД и Web-программировании. LVV>Если следовать такому принципу, то у нас и математике не учат. LVV>Интегралы — 300 назад изобрели. LVV>А дейкстра свой алгоритм 45 лет назад нарисовал. LVV>Ну-ка, скажите мне математическое открытие 45-летней давности, которое студентам как классику преподают? LVV>Так что программированию-таки учат, таже мы — рыбный институт. LVV>Другое дело, что организацию РЕАЛЬНЫХ работ в вузе тяжело преподать. Ну так это не программирование, а организация работ. LVV>Все-таки вуз — это учеба. LVV>Строителей вон тоже не учат строительству, однако никто не говорит, что ни один вуз строительству не учит.
Вижу только подтверждение своих слов: выпускник строительного техникума готов "строить" дома, а вот выпускник любого ВУЗа(если он не выходил за рамки программы) НЕ готов заниматься программированием. Его еще надо этому учить.
LVV>Эт смотря какие задачи решать. А то задача оптимального распределения чего-то там в тепловой сети — вот тебе напрямую и теория графом и потоки в сетях. А там теорем — больше чем в матанализе.
Такие задачи редкость. Об этом вроде как и шел разговор. Если же ты встечаешь такую задачу, берешь книгу и читаешь. При наличии навыков обучения на математическом факультете будет не сложно это изучить...
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, Nikto, Вы писали:
N>>Я не верю что есть хоть один ВУЗ у нас в стране в котором действительно учат программированию А>[skipped]
А>У нас учат. И .Net, и проектированию, и методологиям различным. Вообщем, технически подковывают.
Речь шла не о преподают, а о научат. И не о технологиях, а о работе. Преподавать можно все что угодно, но:
1.) Любой препод ориентируется на средний уровень студентов.
2.) Реальной практики не будет.
Здравствуйте, Nikto, Вы писали: N>Вижу только подтверждение своих слов: выпускник строительного техникума готов "строить" дома, а вот выпускник любого ВУЗа(если он не выходил за рамки программы) НЕ готов заниматься программированием. Его еще надо этому учить.
Знаешь, я давно закончил вуз (бывший студент LaptevVV, теперь аспирант). Я конечно плохой пример — выходил за рамки учебной программы и не раз. Но всегда в группе присутствуют ленивые люди для которых книжку взять в руки даже по специальности — уже мучение. Но все кто закончил в итоге работают по специальности — и никто не жалуется что их грузили не нужными знаниями, а нужных не додавали (нет то есть конечно нам не давали .NET и SOAP и т.п. — но .Net вышел когда я уже занимался дипломным проектированием, а следующим курсам его уже обзорно дают, остальное — специфика — все все равно не раскажешь). Иными словами учат программированию в моем вузе, и не плохо относительно учат.
LVV>>Эт смотря какие задачи решать. А то задача оптимального распределения чего-то там в тепловой сети — вот тебе напрямую и теория графом и потоки в сетях. А там теорем — больше чем в матанализе.
N>Такие задачи редкость. Об этом вроде как и шел разговор. Если же ты встечаешь такую задачу, берешь книгу и читаешь.
Я кстати противоположного мнения. Появилась новая технология — взял книжку и читаешь. А вот математику "с нуля" изучить сложно. А впрограммировании она почти на каждом шагу, даже казалось в простых АСУшных задачах.
Когда я начал практиковать (в смысле писать программы) выяснилось, что простые задачи типа ввел, посчитал статистку и вывел — уже в большинстве своем написаны. Требуется второй шаг автоматизации — сделать так чтобы компьютер делал за человека большинство оптимизационных задач — сам предлагал решения. А здесь без математики никак.
Потом — технологии в программировании меняются очень быстро. Математика — остается незыблимо. Исходя из этого — как по-вашему что должно преподаваться в вузе — то что вы будете использовать всю жизнь или то что изменится через 10 лет?
N>При наличии навыков обучения на математическом факультете будет не сложно это изучить...
Это правда. Как говорится — математика гимнастика для ума. Но в программировании — это еще и основа основ.
Re[5]: Математика в программировании
От:
Аноним
Дата:
03.10.03 05:33
Оценка:
M>Это правда. Как говорится — математика гимнастика для ума.
Ой, не надо так говорить. Потому как для многих гимнастика — это нечто абсолютно ненужное. Это про шахматы так говорили, и то это был Ленин
M>Но в программировании — это еще и основа основ.
Здравствуйте, Morgun, Вы писали:
M>Вот и выходит, что в основе программирования математика лежит, только прикладная она.
У меня факультет так называется "Прикладная математика и информатика" Всем спасибо за ответы. Конечно, было понятно, что математика нужна, но вот только сейчас сложилась более-менее понятная картина, для чего. А то очень трудно что-то понимать, точно не зная для чего это нужно (это я не про математику, а в целом)
2 LaptevVV
А можно еще подобных примеров? Интересно очень...
Never argue with a woman who reads. It's likely she can also think. (c)
Re[4]: Математика в программировании
От:
Аноним
Дата:
03.10.03 07:46
Оценка:
Здравствуйте, Nikto, Вы писали:
N>Речь шла не о преподают, а о научат. И не о технологиях, а о работе. Преподавать можно все что угодно, но:
Учат работе? Можешь копать, а можешь не копать.
N>1.) Любой препод ориентируется на средний уровень студентов.
Сейчас уже нет.
N>2.) Реальной практики не будет.
И тут не согласен. Если расторопен, то будет, да еще как. А если нет, то придеться работать во всяких НИИ при ВУЗЕ (или с преподом что-нибудь ваять). Вообщем, тут все от желания, а не от возможностей.
Здравствуйте, LaptevVV, Вы писали:
LVV>Про блочный линейный код? LVV>Это просто наиболее близкий к практике пример. Так же, как и коды Хаффмена — все архиваторы тут лежат. А ZIP так непосредственно адаптивное кодирование по Хаффмену использует.
А на каком примерно курсе это изучают? (имеется в виду не курс университета, а читаемый курс )
Про архиваторы: математик-программист будет писать свой алгоритм, а обычный программист без математической подготовки кричать на форумах: "где можно скачать компонент архивации?" Так, да?
Про связь: тут я полностью с вами согласен. Еще, на сколько я знаю, на этом строятся протоколы передачи данных. Опять математика?
Never argue with a woman who reads. It's likely she can also think. (c)
Здравствуйте, LaptevVV, Вы писали:
LVV>Здравствуйте, Nikto, Вы писали:
N>>Нет не студент и не твой и даже не бывший твой студент . LVV>Ага! Именно поэтому ты и говоришь, что не учат! LVV>А вот Morgun — мой студент. Так его научили!
Здравствуйте, Mika Soukhov, Вы писали:
LVV>>Ага! Именно поэтому ты и говоришь, что не учат! LVV>>А вот Morgun — мой студент. Так его научили!
MS>А что ты(вы?) преподаешь? Жуть как интересно
Да ладно, давай на ты.
Ну, во-первых, мне пришлось в свое время писать много и разных задач: от операционной системы до зарплвты. От ассемблера и восмеричных кодов до Клиппера и foxbase. А потом так получилось, что я из программиста переквалифицировался в преподавателя. Отстаю понемногу — уж очень быстро все развивается.
Но зато — широкого профиля
Языки программирования, ООП, Системное программирование, Операционные системы, Технология программирования, Системы искусственного интеллекта.
Это оснновное. Еще по мелочи довелось преподавать теорию надежности, Теорию информациии и кодирования, Численные методы и даже высшую математику (образование позволяет).
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Здравствуйте, LaptevVV, Вы писали: LVV>Не редкость! Вся связь на этом стоит. И телефонная и всякая другая. И все городское хозяйство: тепловая сеть, водопроводная, газовая, и даже канализация! LVV>А ты говоришь — редкость? LVV>Или для тебя программирование — это только бухгалтерия на 1С?
Знали бы вы сколько может понадобиться математики в бухгалтерии если сильно в нее влазить. Это ж тоже оптимизационная задача. Целая кафедра в вузе есть "Прикладная информатика в экономике" (за дословность формулировки не ручаюсь).
Здравствуйте, Sinclair, Вы писали:
S>Программист-математик знает границы применимости различных алгоритмов, и в состоянии оценить производительность и эффективность алгоритма, который пришел ему в голову.
Очень верно сказано между прочим. Целая теория есть о NP полноте задач, зависимости скорости исполнения (оценки роста функций O, тета и омега сюда прямо относятся) — и все это математические методы.
Здравствуйте, Morgun, Вы писали:
M>Вот про протоколы — отдельная история. Протокол — это действительно соглашение или стандарт. ТСР/IP — это стек протоколов (набор, в котором уровани различают). Есть еще модель OSI, но это отдельная история. M>А математика вот где. M>Передача данных процесс не надежный — помехи разные, шумы (тут физика уже) — поэтому данные передают с кодами проверки и ошибок (Хемминга например). Некоторые коды проверки могут позволить ошибки эти исправить. Тут применяетются понятия теор вероятности (Марковские процессы там и все такое).
Где-то читал, что для наибольшей эффективности пакеты идут к адресату каждый своим путем, поэтому важно эти пути просчитать. Разве тут не замешана математика? Вообще, было бы любопытно узнать, как работают протоколы на программном уровне, т.е. что происходит после вызова клиентом сервера и до того момента, когда сервер получает запрос. И как здесь обрабатываются ошибки, возможные сбои и прочие неприятности. Если кто может такое рассказать на примере, скажем, SOAP (очень жизненно), буду благодарен, хотя это уже тема отдельной ветки в соответствующем форуме...
PS: после того, как к обсуждению подключились участники RSDN Team оно (обсуждение) стало намного интереснее и информативнее...
Never argue with a woman who reads. It's likely she can also think. (c)
Здравствуйте, Agent Smith, Вы писали:
AS>Да, а какие главы математики (в основном, конечно) используются для редактирования видео? Вот там как раз математики навалом, IMHO..
Ну это смотря, что понямать под "редактированием". Если сжатие(идео) то теория кодирования, конечно. А вот опирается она на теорию групп, теорию вероятности и еще очень много всего.
Если эффекты — то вопрос в сторону CAD систем и систем 3D моделирования — там очень много геометрии и физики(!).
На программирование — очень много наук влияет. А еще она очень ко многим прикладывается. К кому прикладывается — те на нее и влияют. Гуманитарные (социальные) в том числе — не забывайте про них, пожалуйста.
Здравствуйте, LaptevVV, Вы писали:
LVV>Здравствуйте, Croc, Вы писали:
LVV>А что такое блочный линейный код? LVV>Определение такое: Линейное векторное пространство над полем Галуа. LVV>И в это определение укладывается половина космической передачи информации. LVV>А вторая половина — это оптимальный неравномерный код Хаффмена. LVV>А говорят, что математика не нужна?
А что такое уравнения движения в механике?
Да этож линейный функционал на касательном расслоении конфигурационного пространства, всего-то! (Арнольд — Теоретическая Механика)
Прошу добавить это к списку причин, почему программисту просто необходима математика в повседневной работе: чтобы кидать пальцы
LVV>Да, еще забыл сказать. LVV>А графика на компьютере? Да там такая математика — ужас!!!
Зря пугаетесь. Математика там как раз простая, на уровне 1 курса. То, что входит в "общеобразовательную", базовую программу. Это не теоретическая механика, не дифференциальная геометрия, и не функциональный анализ.
Здравствуйте, Gaperton, Вы писали:
G>Здравствуйте, LaptevVV, Вы писали:
LVV>>Здравствуйте, Croc, Вы писали:
LVV>>А что такое блочный линейный код? LVV>>Определение такое: Линейное векторное пространство над полем Галуа. LVV>>И в это определение укладывается половина космической передачи информации. LVV>>А вторая половина — это оптимальный неравномерный код Хаффмена. LVV>>А говорят, что математика не нужна? G> А что такое уравнения движения в механике? G>Да этож линейный функционал на касательном расслоении конфигурационного пространства, всего-то! (Арнольд — Теоретическая Механика) G>Прошу добавить это к списку причин, почему программисту просто необходима математика в повседневной работе: чтобы кидать пальцы
Ну механика имеет весьма опосредованое отношение к программированию. Блочный линейный код -основа теории кодирования. А это все таки раздел COMPUTER SCIENCE.
LVV>>Да, еще забыл сказать. LVV>>А графика на компьютере? Да там такая математика — ужас!!! G>Зря пугаетесь. Математика там как раз простая, на уровне 1 курса. То, что входит в "общеобразовательную", базовую программу. Это не теоретическая механика, не дифференциальная геометрия, и не функциональный анализ.
Ну термех опять лишний в списке. Хотя на счет 1 курса ты прав. Одно только — вопрос студент первых курсов и задавал, насколько я понял.
Здравствуйте, Morgun, Вы писали:
M>Ну механика имеет весьма опосредованое отношение к программированию. Блочный линейный код -основа теории кодирования. А это все таки раздел COMPUTER SCIENCE.
Ну не-е-е... Это по моей памяти все-таки APPLIED MATH. Да и какая разница? Пример был о том, как можно по сложному обозвать простую вещь. Бессмысленно и жестоко. "Математику только затем учить надо, чтобы слушать такое и не чуствовать себя идиотом".
M>Ну термех опять лишний в списке. Хотя на счет 1 курса ты прав. Одно только — вопрос студент первых курсов и задавал, насколько я понял.
Студент первых курсов? Тогда нехай учится, чему учат! Нечего вопросы задавать, надо постигать ДАО.
Термех (так же как "уравнения математической физики") это хардкорная математика (не физика). Ничем не хуже остальных разделов, например функционального анализа. С вашего позволения, я его все-таки оставлю.
Здравствуйте, Agent Smith, Вы писали:
AS>Здравствуйте, Gaperton, Вы писали:
G>>Студент первых курсов? Тогда нехай учится, чему учат! Нечего вопросы задавать, надо постигать ДАО.
AS>What is ДАО?
ДАО выраженное словами — не есть истинное ДАО.
ЛАО ЦЗЫ.
Мудрый программист слышит о Дао и усердно следует ему. Программист средних способностей слышит о Дао и ищет его. Неумный программист слышит о Дао и смеется над ним.
Здравствуйте, LaptevVV, Вы писали:
LVV>Но явно ты под программированием понимаешь сплошное новье типа С# или аналогичные дела в БД и Web-программировании. LVV>Если следовать такому принципу, то у нас и математике не учат.
LVV>Интегралы — 300 назад изобрели.
Так-так, товарищь преподаватель, попались. Математики мы не знаем.
Маленькая справочка.
Lebesgue, Henri-Léon
Encyclopædia Britannica Article
Article Index Entry
E-mail this article Print this article Cite this article
born June 28, 1875, Beauvais, France
died July 26, 1941, Paris
French mathematician whose generalization of the Riemann integral revolutionized the field of integration.
LVV>А дейкстра свой алгоритм 45 лет назад нарисовал. LVV>Ну-ка, скажите мне математическое открытие 45-летней давности, которое студентам как классику преподают?
LVV>Так что программированию-таки учат, таже мы — рыбный институт.
LVV>>Интегралы — 300 назад изобрели.
Ш> Короче, те интегралы, которые изобрели 300 лет назад, в современной математике -- исторический рудимент. "Настоящая" теория меры и интегрирования началась только в XX веке с пионерских работ Анри Лебега.
Так я не понял, те интегралы, которые 300 лет назад изобрели — не настоящие? А как же им пользовались для практических расчетов? Или все полученные результаты неправильные? Наверное из-за этого Эйфелева башня скоро рухнет.
Ш> Топология -- начало XX века. Теория вероятности, созданная как математическая дисциплина Колмогоровым (аксиомы Колмогорова) -- точно не помню, что-то вроде 30-х годов. Коммутативная алгебра, Гомологическая алгебра, Алгебраическая топология, Комплексно-аналитическая геометрия, современная Алгебраическая геометрия, Теория чисел (или как стало модно последние 20-30 лет говорить Диофантова геометрия), да, кстати, Математическая логика и теория алгоритмов (основопологающие труды Гёделя, Маркова, Гильберта, Тарского, Клини, Тьюринга, фон Неймана всех и не упомню), а как насчет работ Шенона, а? Функциональный анализ -- заложеный ещё Гильбертом в XIX веке, и продолженый фундаментальными работами Банаха и Гельфанда в XX-м? Между прочим -- математический фундамент квантовой механики. Уж про современную квантовую теорию поля и не говорю. А симплекс-метод? А алгоритм Форда-Фалкерсона? А работы Шварца, теория распределений (или как ещё называют обобщённых функций, типа функции Дирака)? А теорема Римана-Роха! АААА!!! В новомодной бивариантной трактовке Фултона и Мак Ферсона -- два живых, можно сказать, классика, воссоздавших заново теорию пересечений алгебраических циклов (70-е годы)? ...
Ш> А теория топосов(элементарных) Ловера и Тьерне. Это же чуть ли не наши дни. Кстати, с изложением теории топосов в элементарном варианте стоит ознакомиться. Если есть хороший вкус к хорошей математике, конечно. У неё есть очень интересные логические и алгоритмические аспекты.
Ш> Настоящая математика началась только в XX веке. Но это технарям не преподают. Или преподают в сильно искалеченом виде. Очень трудно обьяснить, что такое интеграл Фурье, например, без теории Гильбертовых пространств.
Ш> Уф. Тема эта уж очень обширная. Мы живем в интересная время, где ослепительные достижения науки соседствуют с глубочайшим невежеством. Причем математический уровень большинства технических проектов, действительно, чуть ли не 300-летней давности. Такое ощущение, что математики с очень большим запасом поработали. Ш> Ещё на 300 лет вперед хватит.
И для чего ты это написал? Постебаться захотелось?
Здравствуйте, Agent Smith, Вы писали:
AS>Ок. Перефразирую вопрос: на таких факультетах, где учусь я информатику очень тесно изучают с математикой (например, для изучения каких-либо аспектов программирования ставится чисто математическая задача), даействительно ли эти знания потом пригодятся?
Пригодится умение ставить и решать абстрактные задачи на некотором языке программирования.
AS>и еще: я, конечно, понимаю, что изучение Фортрана — отличный способ понять стиль программирования, но изучение _новейших_ технологий — проблема студента (ничего удивительного). Поэтому интересна разница между теми, кто изучил, скажем С++, .net, C# по книжкам и теми, кто в универе учил Методы программирования, C++, ФОРТРАН, а .net и C# также учил по книжкам.
Никакой зависимости ты здесь не проследишь. Здесь вопрос не в том, кто что учил а в том, кто что понял и какие выводы сделал.
AS>PS: этим я никак не ставлю вопроса о том, надо ли или нет изучать что-то в универе, мне просто интересно узнать, какие знания и в какой степени мне могут пригодиться в будущем
На мой взгляд, это слишком конкретная постановка вопроса. Пригодится умение ориентироваться в структурах знаний. Без этого точно — не проживёшь.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!