Прочитал обе статьи и понял, что у меня просто не хватит желания тратить кучу времени на расписывание проблем 1С, которые не были озвучены в этих публикациях.
Переписывать все нужно с нуля, причем с открытым исходным кодом и без всякого русского языка в синтаксисе, а на общедоступных скриптовых языках. Это я говорю как программист 1С с 5 летним стажем знающим ассемблер, С++, C#, JavaScript.
Если у «кодера» нет подобных знаний, то можно опасаться, что примитивную сортировку он осуществит посредством полного перебора.
В большинстве случаев так и поступают. Если всё работает на приемлемом уровне — хорошо. Если тормозит — начинают оптимизацию, вспоминают про вычислительную сложность и т.п. Но в большинстве случаев просто возьмут другую функцию сортировки. В общем будут решать проблемы по мере поступления, а не вспоминать про полиномы перед тем как написать алгоритм сортировки каких то данных.
Ага! Значит, работали в действительных числах и учитывали их специфику (ошибки округления и т.д.)
Действительные числа эта моя ежедневная головная боль, особенно ошибки округления и последующие ошибки SQL сервера.
Вам достаточно просто знать, что такие теоремы существуют. Соврешенно не обязательно помнить формулы
Не обязательно. Об их существовании я узнаю из интернет-поисковика по запросу «как вычислить площадь треугольника». Вы забываете, что мы теперь живем в новом мире, мире где не нужно всё запоминать и ходить в библиотеку.
что есть функция `Sleep`
Это неизбежная ситуация. Дело в том, что с обновлением версии библиотеки могут какие-то функции стать depricated и появится новые, взамен их. В итоге знания о существовании функций, которые оставили для совместимости будут уже не нужными. Это нормальная ситуация. Если код работает это уже хорошо.
Линейная алгебра, аналитическая геометрия, матанализ, численные методы, дифференциальные уравнения — в обработке изображений всё это находит применение.
Как преподаватель в области обработки изображений, я заставляю своих студентов первые полгода изобретать велосипеды, а не пользоваться библиотеками. Потому что если студент не понимает внутреннего устройства библиотечных методов, и допускает глупые ошибки, он бесполезен для серьёзной работы в грантах/проектах.
Вы говорите об очень узкой сфере применения. Грубо говоря, Вы, как преподаватель, просто «имеете» мозги ученикам. Скажите мне, вот зачем им знать внутреннее устройство библиотечных методов? Давайте будем их заставлять изучать в отладчике исходный код ядра Windows, чтобы они знали как всё устроено, вместо того, чтобы просто пользоваться.
В программировании также как и в строительстве есть люди, которые создают фундамент. Их единицы, обычно это профессионалы высшего класса. Они пишут библиотеки, драйверы, прошивки, компиляторы и т.д. Большинство будущих программистов ими никогда не станут, тратить время на изучение того, что в 90% вероятности не пригодится — бессмысленно.
Без прочного знания основ математики получится работать только с тривиальным кодом для очень простых задач.
Тривиальный код и простые задачи (в математическом плане) — 90% кода и рутины программиста. Это хорошо видно на открытых исходных кодах крупных проектов.
Будущий программист должен знать основные теоремы математики и уметь их применять на практике
Нет не должен. Из этого списка мне в программировании пригодились только две теорема Пифагора и теорема синусов:
Теорема Пифагора
Теорема Виета
Теорема косинусов
Теорема синусов
Теорема Безу
Теорема Герона
Теорема о сумме углов треугольника
Теорема о внешнем угле треугольника
Теорема Менелая
Теорема о трех перпендикулярах
Теорема о базисном миноре
Теорема сложения вероятностей
Теорема умножения вероятностей
Теорема Больцано-Вейерштрасса
Теорема Больцано-Коши
Теорема о среднем
Теорема Фалеса
Теорема Ферма
В обоих случаях, когда они мне пригодились можно было воспользоваться готовыми функциями, но их не было в скриптовом языке, который я выбрал для реализации.
В большинстве проектах где я участвовал требовалась не математика, а логика.
Основные алгоритмы по вычислению чего бы то ни было давно реализованы в виде функций или отдельных библиотек. А для того, чтобы рассчитать НДС или себестоимость не требуется углубленного изучения математики. Есть направления программирования где она нужна — шифрование, кодирование, сжатие информации, 3D моделирование, аналитика и т.п. Но это узкие направления и если человек собирается ими заниматься, то будет изучать предметную область так или иначе. Не вижу смысла насильно кормить будущих программистов интегралами, дифференциалами и т.п. мусором, по другому и не скажешь. Лучше бы это время потратили на реальные задачи, как вариант даются проблемные программы и их исходники, проблемы следующие — утечка памяти, медленное выполнение кода, падение программы. Задача — найти причину через отладчик и устранить изменив/оптимизировав исходный код. Реализация алгоритмов разложения числа на простые множители на Basic — скучно, не интересно, не полезно и отбивают любое желание становиться программистом.
В IT сфере более 15 лет, до сих пор не могу понять на кой чёрт математику как предмет впаривают будущим программистам в ВУЗах. Может преподаватели рассчитывают на то, что будущий программист придумает формулы, которые не придумали другими математики и включит их в состав какой-нибудь библиотеки? Короче математика нужна в очень редких случаях. И уж поверьте мне, когда этот случай возникает, то вы все равно полезете в интернет-поисковик вспоминать детали. Но скорее за готовым кодом…
Аналогично обучался информатике в школе, колледже и универе. В Москве. Ничему там не учат.
Мне 35, бросил ВУЗ на предпоследнем курсе лет 10 назад. Сожаление о совершенном возникло только тогда, когда пришло осознание того, что многие полугосударственные структуры остались жить в советском союзе и зарплата в них зависит от должности, которую дают при наличии «корочки». Им наплевать на то какой ты крутой профессионал, что ты доказывал это годами каждый день. Есть политика организации и они ничего не могут с этим поделать, т.к. нарушение политики допускается только для «блатных».
Переписывать все нужно с нуля, причем с открытым исходным кодом и без всякого русского языка в синтаксисе, а на общедоступных скриптовых языках. Это я говорю как программист 1С с 5 летним стажем знающим ассемблер, С++, C#, JavaScript.
В большинстве случаев так и поступают. Если всё работает на приемлемом уровне — хорошо. Если тормозит — начинают оптимизацию, вспоминают про вычислительную сложность и т.п. Но в большинстве случаев просто возьмут другую функцию сортировки. В общем будут решать проблемы по мере поступления, а не вспоминать про полиномы перед тем как написать алгоритм сортировки каких то данных.
Действительные числа эта моя ежедневная головная боль, особенно ошибки округления и последующие ошибки SQL сервера.
Не обязательно. Об их существовании я узнаю из интернет-поисковика по запросу «как вычислить площадь треугольника». Вы забываете, что мы теперь живем в новом мире, мире где не нужно всё запоминать и ходить в библиотеку.
Это неизбежная ситуация. Дело в том, что с обновлением версии библиотеки могут какие-то функции стать depricated и появится новые, взамен их. В итоге знания о существовании функций, которые оставили для совместимости будут уже не нужными. Это нормальная ситуация. Если код работает это уже хорошо.
Вы говорите об очень узкой сфере применения. Грубо говоря, Вы, как преподаватель, просто «имеете» мозги ученикам. Скажите мне, вот зачем им знать внутреннее устройство библиотечных методов? Давайте будем их заставлять изучать в отладчике исходный код ядра Windows, чтобы они знали как всё устроено, вместо того, чтобы просто пользоваться.
В программировании также как и в строительстве есть люди, которые создают фундамент. Их единицы, обычно это профессионалы высшего класса. Они пишут библиотеки, драйверы, прошивки, компиляторы и т.д. Большинство будущих программистов ими никогда не станут, тратить время на изучение того, что в 90% вероятности не пригодится — бессмысленно.
Тривиальный код и простые задачи (в математическом плане) — 90% кода и рутины программиста. Это хорошо видно на открытых исходных кодах крупных проектов.
Нет не должен. Из этого списка мне в программировании пригодились только две теорема Пифагора и теорема синусов:
В обоих случаях, когда они мне пригодились можно было воспользоваться готовыми функциями, но их не было в скриптовом языке, который я выбрал для реализации.
Основные алгоритмы по вычислению чего бы то ни было давно реализованы в виде функций или отдельных библиотек. А для того, чтобы рассчитать НДС или себестоимость не требуется углубленного изучения математики. Есть направления программирования где она нужна — шифрование, кодирование, сжатие информации, 3D моделирование, аналитика и т.п. Но это узкие направления и если человек собирается ими заниматься, то будет изучать предметную область так или иначе. Не вижу смысла насильно кормить будущих программистов интегралами, дифференциалами и т.п. мусором, по другому и не скажешь. Лучше бы это время потратили на реальные задачи, как вариант даются проблемные программы и их исходники, проблемы следующие — утечка памяти, медленное выполнение кода, падение программы. Задача — найти причину через отладчик и устранить изменив/оптимизировав исходный код. Реализация алгоритмов разложения числа на простые множители на Basic — скучно, не интересно, не полезно и отбивают любое желание становиться программистом.
Мне 35, бросил ВУЗ на предпоследнем курсе лет 10 назад. Сожаление о совершенном возникло только тогда, когда пришло осознание того, что многие полугосударственные структуры остались жить в советском союзе и зарплата в них зависит от должности, которую дают при наличии «корочки». Им наплевать на то какой ты крутой профессионал, что ты доказывал это годами каждый день. Есть политика организации и они ничего не могут с этим поделать, т.к. нарушение политики допускается только для «блатных».