Змінюй хід війни! Допомагай ЗСУ!

Математика для программиста.

🟡 13:32 Відбій тривоги в Харківська область.Зверніть увагу, тривога ще триває у:- Куп’янський район- Харківський район- Липецька територіальна громада- Вовчанська територіальна громада#Харківська_область
  • 🟡 13:32 Відбій тривоги в Харківська область.Зверніть увагу, тривога ще триває у:- Куп’янський район- Харківський район- Липецька територіальна громада- Вовчанська територіальна громада#Харківська_область
  • #21
ТС спрашивал про программиста, а не про говнокодера
он спрашиавал нужна ли математика.
Какой процент проектов, начиная от бухгалтерских програм заканчивая вебсайтами требует знания тригонометрии или дискретной математики?
Возьми первые 1000 опенсорс проектов на гитхабе например и покажи где там там высшая математика. Или хотя бы какая нибудь математика сложнее арифметики.

но что-то будет обязательно, даже для обычного резинового сайта нужно по формуле для укладки элементов, это не абстрактная алгебра или матстат, но и с потолка не упадёт.
И шо ж там за охуенная формула? Двойной интеграл? система дифференциальныз уравнений?
 
  • 🟡 13:32 Відбій тривоги в Харківська область.Зверніть увагу, тривога ще триває у:- Куп’янський район- Харківський район- Липецька територіальна громада- Вовчанська територіальна громада#Харківська_область
  • #22
он спрашиавал нужна ли математика.
Какой процент проектов, начиная от бухгалтерских програм заканчивая вебсайтами требует знания тригонометрии или дискретной математики?

дискретная математика в той или инной степени нужна в 100% проектов. Тригонометрия в большинстве софта производящего какие-либо расчетные задачи. Тригонометрия также нужна в 100% проектов использующих 3D графику.

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

если ты чего-то не знаешь и не видишь, из этого не следует что этого нет ;)
 
  • 🟡 13:32 Відбій тривоги в Харківська область.Зверніть увагу, тривога ще триває у:- Куп’янський район- Харківський район- Липецька територіальна громада- Вовчанська територіальна громада#Харківська_область
  • #23
дискретная математика в той или инной степени нужна в 100% проектов.
покажи хоть один. Даже элементарная сортировка делается встроенными библиотеками.
Тригонометрия в большинстве софта производящего какие-либо расчетные задачи.
покажи тригонометрию в финансовых програмах. А это 90% проектов с расчетами.

Тригонометрия также нужна в 100% проектов использующих 3D графику.
Программы использующие 3D графику составляют доли процента от общего количества, и то там используются графические библиотеки. Никто там тригонометрию не считает. Берут директикс или опенгейл где уже все посчитано.

если ты чего-то не знаешь и не видишь, из этого не следует что этого нет
если ты не можешь это показать то не надо рассказывать что это есть. Когда перейдешь от теории прослушаной в институте к практическому програмированию тогда будешь рассказыват что есть а чего нет.
99% процентов програм сводится к тому чтобы взять введеные пользователем данные, положить их в некое хранилище потом показать пользователю отобрав по некоему критерию на уровне больше меньше равно (все что сложнее уже выполняется готовымми программными средствами типа SQL) .
Но даже если взять специфические и редкие в общем количестве проекты типа серверов БД или каких нибудь сложных систем управления (чего ТС никогда програмировать не будет) то там математикой занимаются не програмисты а соответствующие спецы в соответствующей области.
 
  • 🟡 13:32 Відбій тривоги в Харківська область.Зверніть увагу, тривога ще триває у:- Куп’янський район- Харківський район- Липецька територіальна громада- Вовчанська територіальна громада#Харківська_область
  • #24
покажи хоть один. Даже элементарная сортировка делается встроенными библиотеками.
дискретная математика это ото || && в ифе, да и простая сортировка не всегда подходит, ведь не всегда надо сортировать по алфавиту или возрастанию убыванию, бывают изощренные потребности
 
  • 🟡 13:32 Відбій тривоги в Харківська область.Зверніть увагу, тривога ще триває у:- Куп’янський район- Харківський район- Липецька територіальна громада- Вовчанська територіальна громада#Харківська_область
  • #25
дискретная математика это ото || && в ифе
это элементарные булевы операции которые выучивают с синтаксисом языка и даже не подозревают что это (Еба!) дискретная математика
сортировать по алфавиту или возрастанию убыванию, бывают изощренные потребности
бывают они редко и сводятся к тому чтобы передать калбэк функцию с критериями соответсвующей програме сортировки. А в большинствые случаев сводится к перечеслению нужных полей в нужном порядке в order by запроса к БД.
исключение составляют новички которые либо не подозревают о существовании отработаных решений либо криво проектируют програму что потом нужны извращения с кодом


.
 
  • 🟡 13:32 Відбій тривоги в Харківська область.Зверніть увагу, тривога ще триває у:- Куп’янський район- Харківський район- Липецька територіальна громада- Вовчанська територіальна громада#Харківська_область
  • #26
Программы использующие 3D графику составляют доли процента от общего количества, и то там используются графические библиотеки. Никто там тригонометрию не считает. Берут директикс или опенгейл где уже все посчитано.

чтобы использовать DirectX или OpenGL, нужно хорошо понимать тригонометрию.

Даже если ты используешь готовый движок, который скрывает большую часть работы с DirectX или OpenGL, то тебе всеравно нужно понимать как это работает. Например, тебе нужно повернуть объект на угол (ax, ay, az), вычисли кватернион вращения, имея нулевые знания в математике ;)

А в большинствые случаев сводится к перечеслению нужных полей в нужном порядке в order by запроса к БД.

ну вот тебе простейшая задача: имеется таблица описывающая некоторое дерево:

id, parent_id, value_txt

напиши запрос рекурсивно выбирающий все дочерние элементы у узлов соответствующих некоторому условию, например value_txt='abc'
Интересно посмотреть как ты это с помощью order by будешь решать... :)
 
  • 🟡 13:32 Відбій тривоги в Харківська область.Зверніть увагу, тривога ще триває у:- Куп’янський район- Харківський район- Липецька територіальна громада- Вовчанська територіальна громада#Харківська_область
  • #27
Например, тебе нужно повернуть объект на угол (ax, ay, az),
я укажу соответствующему объекту повернутся и либа все вычислит сама включая прорисовку теней и преломление лучей. Но опять же такие задачи составляют доли процента от общего количества.

напиши запрос рекурсивно выбирающий все дочерние элементы у узлов соответствующих некоторому условию, например value_txt='abc'
Интересно посмотреть как ты это с помощью order by будешь решать...
никак потому что это говнокод который пишут новички а потом чешут репу как пройтись по дереву - тащить в память или sql запросы рекурсивно гонять.
я добавляю дополнительное поле содержащее уровень узла и список его родителей и делаю любую выборку и даже любое удаление одним запросом.
Это и есть ПРАКТИЧЕСКОЕ програмирование.
Реально математика нужна была для програмистов лет 50 назад когда компьютеры использовались для решения исключительно вычислительных и расчетных задач а не для того вывести список топиков на форуме.
 
  • 🟡 13:32 Відбій тривоги в Харківська область.Зверніть увагу, тривога ще триває у:- Куп’янський район- Харківський район- Липецька територіальна громада- Вовчанська територіальна громада#Харківська_область
  • #28
это элементарные булевы операции которые выучивают с синтаксисом языка и даже не подозревают что это (Еба!) дискретная математика

ты уже выучил с синтаксисом? ну тогда соптимизируй вот это выражение :):

Код:
if ( (!a && b && c && d) || (!a && b && !c && d) )
{
   // do something
}
 
  • 🟡 13:32 Відбій тривоги в Харківська область.Зверніть увагу, тривога ще триває у:- Куп’янський район- Харківський район- Липецька територіальна громада- Вовчанська територіальна громада#Харківська_область
  • #29
ты уже выучил с синтаксисом? ну тогда соптимизируй вот это выражение
это выражение высосано из пальца либо взято из вузовского задания (такой херней я занимался давным давно в ХИРЕ тогда еще использовали карты Карно для упрощения выражений, шо там сейчас не знаю) и не имеет никакого отношения к ПРАКТИЧЕСКОМУ програмированию (не считая говнокода конешно).
 
  • 🟡 13:32 Відбій тривоги в Харківська область.Зверніть увагу, тривога ще триває у:- Куп’янський район- Харківський район- Липецька територіальна громада- Вовчанська територіальна громада#Харківська_область
  • #30
ты уже выучил с синтаксисом? ну тогда соптимизируй вот это выражение :
это уже базовая математика, нежели дискретная, за скобки вынести... делов-то... любой дурак сможет =\
 
  • 🟡 13:32 Відбій тривоги в Харківська область.Зверніть увагу, тривога ще триває у:- Куп’янський район- Харківський район- Липецька територіальна громада- Вовчанська територіальна громада#Харківська_область
  • #31
  • 🟡 13:32 Відбій тривоги в Харківська область.Зверніть увагу, тривога ще триває у:- Куп’янський район- Харківський район- Липецька територіальна громада- Вовчанська територіальна громада#Харківська_область
  • #32
  • 🟡 13:32 Відбій тривоги в Харківська область.Зверніть увагу, тривога ще триває у:- Куп’янський район- Харківський район- Липецька територіальна громада- Вовчанська територіальна громада#Харківська_область
  • #33
я укажу соответствующему объекту повернутся и либа все вычислит сама включая прорисовку теней и преломление лучей. Но опять же такие задачи составляют доли процента от общего количества.

я тебе привел конкретный пример с конкретной билиотекой - у либы есть функция Rotate(Quat q). Тебе нужно произвести вращение на заданные углы (ax, ay, az). Опиши как ты будешь вычислять аргумент. ;)
Чтобы было понятнее

Конструктор кватерниона принимает четверку чисел: Quat(w, x, y, z). Чтобы было понятнее, кватернион это 4-х мерное расширение множества комплексных чисел. Т.е. кватернион задается выражением w + xi + yj + zk, где i, j, k - мнимая единица (i^2=j^2=k^2=-1).
Таким образом нужно вычислить четверку значений: w, x, y, z
На входе тройка значений с углами вращения относительно осей: ax, ay, az


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

никак потому что это говнокод который пишут новички а потом чешут репу как пройтись по дереву - тащить в память или sql запросы рекурсивно гонять.

феерично :іржач::клас:
Позвольте полюбопытствовать, и как-же в таких случаях поступают тру профессионалы? Переписывают всю базу? Кричат что тут все написано криво и надо всё переписать с нуля нах :D
Опишите как-бы вы решали эту задачу? ;)
Интересно будет узнать ваши варианты решений для двух случаев:
1) допустим вы проектируете базу, вам понадобилось хранить дерево, раз вас не устраивает указанная схема, как бы вы описали дерево? И как реализовали запрос?
2) база уже спроектирована опытным архитектором, на таблицу есть куча ссылок, в таблице набит большой набор данных. Она используется из множества процедур и используется в множестве приложений. Никто в здравом уме разрешения на перепроектирование схемы не пойдет. Как вы будете решать поставленную задачу?
Кстати задача имеет решение, плохо "гуглил" :D

это выражение высосано из пальца либо взято из вузовского задания

Заказчику похуй из чего оно высасоно, ему нужно соптимизировать. Ты уже несколько задач отфутболил, это самая примитивная ;)
Или ты так всех заказчиков посылаешь? :)
 
  • 🟡 13:32 Відбій тривоги в Харківська область.Зверніть увагу, тривога ще триває у:- Куп’янський район- Харківський район- Липецька територіальна громада- Вовчанська територіальна громада#Харківська_область
  • #34
а есть ещё программирование станков, без математики вы даже зубочистку не выточите. Чтоб запустить линию уже на месте подгоняют кучу параметров, это не считая кучи САПРов и расчётов на стадии их производства. Понятное дело что технолог и Ко тоже причастен, но и программист должен знать что он делает.
 
  • 🟡 13:32 Відбій тривоги в Харківська область.Зверніть увагу, тривога ще триває у:- Куп’янський район- Харківський район- Липецька територіальна громада- Вовчанська територіальна громада#Харківська_область
  • #35
я тебе привел конкретный пример с конкретной билиотекой - у либы есть функция Rotate(Quat q). Тебе нужно произвести вращение на заданные углы (ax, ay, az). Опиши как ты будешь вычислять аргумент
возьму библиотеку которой достаточно задать эти углы. Хочешь дам тебе мой текущий проект по медицинской тематике и на основании этого докажу что програмист должен знать медицину а не математику?

Позвольте полюбопытствовать, и как-же в таких случаях поступают тру профессионалы? Переписывают всю базу? Или кричат что тут все написано криво и надо всё переписать с нуля нах
пишут изначально по человечески

Опишите как-бы вы решали эту задачу?
какую задачу? выправить чей то говнокод?

Заказчику похуй из чего оно высасоно, ему нужно соптимизировать.
Не нужно потому что таких задач не бывает в ПРАКТИЧЕСКОМ програмировании. Только как результат говнокода.
Ты уже несколько задач отфутболил, это самая примитивная
потому что ты высасываещь их из пальца.


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

а есть ещё программирование станков, без математики вы даже зубочистку не выточите. Чтоб запустить линию уже на месте подгоняют кучу параметров, это не считая кучи САПРов и расчётов на стадии их производства. Понятное дело что технолог и Ко тоже причастен, но и программист должен знать что он делает.
И много ты сапров напрограмировал? Я говорю о 99% процентах задач которые могут встретится обычному программеру . Даже 99,9% с учетом веб приложений.
 
  • 🟡 13:32 Відбій тривоги в Харківська область.Зверніть увагу, тривога ще триває у:- Куп’янський район- Харківський район- Липецька територіальна громада- Вовчанська територіальна громада#Харківська_область
  • #36
возьку библиотеку которой достаточно задать эти углы.

ну вперед, ждем, какую именно ты библиотеку возьмешь чтобы решить эту задачу? :D

Хочешь дам тебе мой текущий проект по медицинской тематике и на основании этого докажу что програмист должен знать медицину а не математику?

отличная тема, допустим имеется оцифровка ЭКГ в виде массива int[], пусть частота оцифровки - f герц. Тебе поставлена задача написать функцию производяющую поиск точек P,Q,R,S,T,U.
536_8.jpg

Каким образом ты будешь ее решать? Немножко усложним задачу - значения сырые прямо с АЦП, т.е. их нужно еще и отфильтровать. Т.е. реализовать цифровой фильтр. :)

Ждем ваше решение, это ведь знакомая вам область не правда ли? Интересно узнать, как вы обходитесь без математики :)


пишут изначально по человечески

какую задачу? выправить чей то говнокод?

Не нужно потому что таких задач не бывает в ПРАКТИЧЕСКОМ програмировании. Только как результат говнокода.

потому что ты высасываещь их из пальца.

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

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

Хотел бы я посмотреть что это за серьезный проект такой, в котором не используются структуры данных в виде деревьев :D

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

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

PS: не хочется вас расстраивать, но ваши убеждения наводят меня на мысль о классическом говнокоде :)
 
Останнє редагування:
  • 🟡 13:32 Відбій тривоги в Харківська область.Зверніть увагу, тривога ще триває у:- Куп’янський район- Харківський район- Липецька територіальна громада- Вовчанська територіальна громада#Харківська_область
  • #37
отличная тема, допустим имеется оцифровка ЭКГ в виде массива int[], пусть частота оцифровки - f герц. Тебе поставлена задача написать функцию производяющую поиск точек P,Q,R,S,T,U.
Каким образом ты будешь ее решать? Немножко усложним задачу - значения сырые прямо с АЦП, т.е. их нужно еще и отфильтровать. Т.е. реализовать цифровой фильтр.
поскольку "в теме" я а не ты то я беру фреймворк фирмы LeadTools (платный но платит заказчик) где все манипуляции над ЭКГ и другими типами изображений (МРТ, КТ, ПЭТ и иже с ними) уже заложены включая манипуляции с изображениями и алгоритмы не высосаны из пальца неким Klez а реализованы в соответствии с DICOM стандартом. И то такой специфичный проект не требует знания ни математики ни медицины. Более того я прошелся по исходникам всех их проектов когда получил доступ к TFS там и близко нет никакой математики хотя контора специализируется на медицинском ПО и ставит его по все стране (конечно страна Голандия не намного болше Харьковской области но все же). Никто уже не пишет проги снятия сигналов с АЦП так же как не делает электронику на "рассыпухе".


Я тебе привел примеры реальных задач, за которые платят деньги.
это даже близко не реальные задачи за исколючением дерева иерархий и то проблема там исключительно изза говнокода. Как впрочем и остальных.
С твоих слов делаю вывод - програмистам нужна математика чтобы справлятся со своим говнокодом. Лично я предпочитаю писать грамотно и исправлять код если где то налажал, несмотря на то что у меня с высшей математикой все в порядке - на факультете радиотехники без этого было никак.

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

не хочется вас расстраивать, но ваши убеждения наводят меня на мысль о классическом говнокоде
дико извиняюсь но примеры говнокода приводил ты.
 
  • 🟡 13:32 Відбій тривоги в Харківська область.Зверніть увагу, тривога ще триває у:- Куп’янський район- Харківський район- Липецька територіальна громада- Вовчанська територіальна громада#Харківська_область
  • #38
И много ты сапров напрограмировал? Я говорю о 99% процентах задач которые могут встретится обычному программеру . Даже 99,9% с учетом веб приложений.

сапров я увы не писал.
Ты уж извини, но в 99% проектов которые я видел, математика есть. Другое дело что говнокодерам такие части проекта никто в здравом уме не отдаст реализовывать, видимо по этой причине они и не догадываются о том что такие задачи есть :)
 
  • 🟡 13:32 Відбій тривоги в Харківська область.Зверніть увагу, тривога ще триває у:- Куп’янський район- Харківський район- Липецька територіальна громада- Вовчанська територіальна громада#Харківська_область
  • #39
Ты уж извини, но в 99% проектов которые я видел, математика есть.
покажи мне математику в проекте на который ты смотришь уже несколько часов

Другое дело что говнокодерам такие части проекта никто в здравом уме не отдаст реализовывать, видимо по этой причине они и не догадываются о том что такие задачи есть
Это юношеские понты . когда то я то же считал себя мегапрограмистом а остальных говнокодерами не умеющими свернуть десять сишных строк в одну. Это проходит с опытом когда понимаешь что сворачивать их нахуй не нужно потому что компилятору все равно а тем то читает не все равно..
 
  • 🟡 13:32 Відбій тривоги в Харківська область.Зверніть увагу, тривога ще триває у:- Куп’янський район- Харківський район- Липецька територіальна громада- Вовчанська територіальна громада#Харківська_область
  • #40
поскольку "в теме" я а не ты то я беру фреймворк фирмы LeadTools (платный но платит заказчик) где все манипуляции над ЭКГ и другими типами изображений (МРТ, КТ, ПЭТ и иже с ними)

а заказчик тебе говорит, "нифуя, LeadTools мы покупать не будем, мы будем делать свой фреймворк, который должен быть на порядок эффективнее чем LeadTools, и твоя задача состоит в том чтобы написать указанную функцию, а не покупать чужую. Так что давай веред, либо если ты не умеешь решать поставленные задачи, то успехов тебе в поиске другого заказчика" :)


дико извиняюсь но примеры говнокода приводил ты.

ну так приведи правильное решение.

Только не надо опять писать что ты "возьмешь либу которая сама сохраняет и вычитывает дерево в базу" :)

Ты выше написал что любая задача решается с помощью order by, ну так продемонстрируй, на примере так сказать... :зуби:

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

речь идет не о сворачивании строк, а о том чтобы писать код который делает то что нужно корректно и эффективно. А не придумывать кривые велосипеды и искать "либу которая ..."



а проблема с иерархическими данными решается грамотными архитектурными приемами а не исправляется мудреными математическими алгоритмами.

ну так продемонстрируй грамотный архитектурный приём, на примере такой простой задачи.
Надеюсь "грамотные архитектурные приёмы" не сводятся к тому чтобы "взять готовую либу которая..."? :D
 
Останнє редагування:
Назад
Зверху Знизу