LINUX.ORG.RU

Нужна ли математика для системного/низкоуровневого программирования?


0

1

Слышал мнение, что математика мало нужна для системного/низкоуровневого программирования (и для всяких там микропроцессоров и микроконтроллеров тоже), мол, там гораздо важнее знание архитектуры платформы, знание устройства системы и прочее. Если нужна, то какие разделы?

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

как минимум, нужно понимать про системы счисления, двоичное представление чисел (отрицательных, с плавающей и с фиксированной точкой), булеву алгебру

Harald ★★★★★
()
Ответ на: комментарий от anonymous

Однажды найдя ЛОР, невозможно остановиться

Rockatansky
() автор топика

Может, хватит на каждый чих создавать отдельную тему?

Заведи персональный топик, подготовь вопросы и начинай многостраничный срач.

А ещё погугли, что такое дискретная математика.

schizoid ★★★
()

Не слушай старых пердунов, задавай побольше.

anonymous
()

Конечно нужна! Вот, например, есть у тебя в одном регистре число и в другом регистре число, как ты без математики их сложишь? Про умножение я вообще молчу! Так что давай, садись за матан и приходи лет через восемь.

anonymous
()

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

Ой ли? Коли мы это примем на веру, так и в остальных областях математика нужной окажется.

const86 ★★★★★
()

Нужна. Как иначе ты риалтайм доказывать будешь? Как оптимизировать без математики?

anonymous
()

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

ну какбэ этсамое, «ставит мозг» - это очень и очень надо.

а по сути - понятия на уровне «а чего это такое, почему и зачем» об используемых инструментах/алгоритмах/методах - обязательно, полное математическое обоснование (всяческие доказательства, выводы окончательных формул итд) - хоть и желательно, но не приоритетно ни разу.

arkhnchul ★★★
()
Ответ на: комментарий от arkhnchul

ну какбэ этсамое, «ставит мозг» - это очень и очень надо.

Что-то по тебе не заметно.

anonymous
()

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

Deleted
()
Ответ на: комментарий от Deleted

Опять же, какой-нибудь PID-контроллер.

Это уже теория управления и суровый хардкорный матан :)

Harald ★★★★★
()
Ответ на: комментарий от anonymous

Ну уж согласись, доля правды в моих словах есть. Теорию осилить не так сложно, а вот увидеть, где надо применить не всегда получается. По крайней мере, у меня так.

netcat ★★
()
Ответ на: комментарий от marvin_yorke

я думаю что ТС спрашивал о несколько более другой математике

Типо того.

Вот статья на вики о разделах математики. http://ru.wikipedia.org/wiki/Разделы_математики

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

В системном программировании какие используются (какие полезны) разделы математики? Уже называли дискретную математику.

Rockatansky
() автор топика

Имха нужна. Низкоуровневые вещи часто делают для встраиваемых систем. Как то был на курсах по кернел девелопменту. Там как раз рассказывали про компьютерное зрение, обработку изображений, нейронки.

dizza ★★★★★
()

Теория управления, цифровая обработка сигналов.

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

prischeyadro ★★★☆☆
()
Ответ на: комментарий от Rockatansky

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

Фактически речь шла о новом ПО на основе реверснутых алгоритмов. Каналы, ЕМНИП, были довольно «узкие».

Deleted
()
Последнее исправление: rht (всего исправлений: 1)
Ответ на: комментарий от buddhist

Видишь ли, каждый раз хочется попытаться объяснить, что нужна прежде всего математическая культура, и тогда подобных вопросов задавать не придётся. И каждый раз, читая комментарии понимаешь, что этого здесь не получится. По крайней мере, мне ещё ни разу не удалось достаточно напиться или озвереть, чтобы начать.

ABW ★★★★★
()
Ответ на: комментарий от anonymous

Конечно нужна! Вот, например, есть у тебя в одном регистре число и в другом регистре число, как ты без математики их сложишь?

кстати, как сложишь - понятно, командой ADD. А как разделишь, если DIV нет (есть ADD, сдвиги и SUB)?

drBatty ★★
()

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

anonymous
()

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

В основном такие области(элементарную математику я даже не рассматриваю-это по-умолчанию): Дискретная математика, теория алгоритмов, автоматов, множеств, чисел, ряды, функции...

ChAnton ★★
()

Иди уже Танненбаума почитай. Почти все вопросы отпадут.

aedeph_ ★★
()
Ответ на: комментарий от tailgunner

Извини, упомянутого персонажа с ходу не вспомню, но могу предложить Гауссовское «Боюсь крика беотийцев».

ABW ★★★★★
()
Ответ на: комментарий от tailgunner

Ну ты и предложил тему...
Я не хочу её обсуждать в такой компании.
Фильма я не видел, хотя хвастаться тут нечем. Просто я избегаю просмотра фильмов, снятых «по...», «по мотивам...», и т.д.
abwaldner@ya.ru

ABW ★★★★★
()
Ответ на: комментарий от tailgunner

Пока отвечал, вспомнил, о ком ты.

ABW ★★★★★
()

не нужна.

что челу нужно - так это способность понять , что его задача уже кем-то решена и найти это решение либо самостоятельно либо пользуясь инженерной эрудицией в «архивах»

вообще ничего не нужно .
ни математики
ни гигиены
ни этикета
ни представления «свободно весящие предметы подают вниз»
ни «очевидного»

qulinxao ★★☆
()
Ответ на: комментарий от netcat

Нафиг тебе сдался ЛОР? Ничего полезного ты от сюда не вынесешь. Твои 3D-игры, десктопные приложения, ковыряние в линухе - все это мишура, безделушки.

Лучше найди у себя в городе какой-нибудь физмат лицей и затуси там. Будешь решать интересные и сложные задачи, соревноваться, развиваться. Это намного интереснее. И это будет отличной базой для поступления в сильный ВУЗ.

anonymous
()

как минимум дисктретка, логика, теор.вер. немного, теория чисел. В общем да, нужна

comp00 ★★★★
()
Ответ на: комментарий от qulinxao

бросай уже вещества, а? Ибо твой феерический бред уже не укладывается в рамки здорового человека.

Deleted
()
Ответ на: комментарий от netcat

Но программирование не брошу, уж извини.

Я и не говорю программирование бросать. Просто то, чем ты занимаешься, ни разу не программирование.

anonymous
()
Ответ на: комментарий от anonymous

Нафиг тебе сдался ЛОР? Ничего полезного ты от сюда не вынесешь.

Если постараться — можно и из лора полезную информацию выжать. Ну или как минимум пообщаться с умными/более опытными людьми

Будешь решать интересные и сложные задачи, соревноваться, развиваться. Это намного интереснее.

Не согласен

comp00 ★★★★
()
Ответ на: комментарий от anonymous

Просто то, чем ты занимаешься, ни разу не программирование.

Знаешь, не все, чем я занимаюсь, доступно твоему взору. Например, патч на 10 килострок, который я подготовил для kexi и который заапрувили.

netcat ★★
()
Ответ на: комментарий от comp00

Не согласен

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

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

Ну а ковыряние в чужом быдлокоде вообще не рассматриваем.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.