LINUX.ORG.RU
ФорумTalks

доколе!


11

1

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

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

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

А причина проста - все эти советчики сами из всего линала только и знают эти самые две главы, и это в лучшем случае! А в основном у них представление об этом «слышал звон, да не знаю где он». На этом их представление что о линале, что о матане или дискретке заканчивается.

Но, млеа, надо же ощутить себя крутым программистом!

Выдохнул.

★★☆☆☆

Последнее исправление: dikiy (всего исправлений: 2)

дискретка нужна (ничего вроде сложного в основах), остальное по специальности же

Sonsee
()

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

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

прости, но не надо называть редуцировать основу дискретки до правил де-Моргана. А более программисту и не нужно. Ну а если вдруг вылезет, то можно и прочитать на вики что-то. Но зачем же, упаси Патрег, призывать к тому, чтобы ее ботать!

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

Пока не конкретных глав - не засчитывается.

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

dikiy ★★☆☆☆
() автор топика

Да, линалгебра сферическому программисту не нужна. А вот основы теории алгоритмов очень даже. Как минимум, чтобы писать программы с заранее известной сложностью, а не так, что программа в большинстве случаев имеет, например, O(n log n), но в плохих дает O(n^2), а программист этого не просек.

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

cvs-255 ★★★★★
()
Ответ на: комментарий от dikiy

прости, но не надо называть редуцировать основу дискретки до правил де-Моргана. А более программисту и не нужно. Ну а если вдруг вылезет, то можно и прочитать на вики что-то. Но зачем же, упаси Патрег, призывать к тому, чтобы ее ботать!

именно так и есть

Sonsee
()

А потом мы удивляемся, почему у нас Фобосы бороздят просторы океана и появляются systemd

malishok
()
Ответ на: комментарий от cvs-255

Да, линалгебра сферическому программисту не нужна. А вот основы теории алгоритмов очень даже. Как минимум, чтобы писать программы с заранее известной сложностью, а не так, что программа в большинстве случаев имеет, например, O(n log n), но в плохих дает O(n^2), а программист этого не просек.

а это разве к математике отношение имеет? есть же отдельные курсы по алгоритмам и типам данных.

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

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

Э нет, так просто ты не соскочишь. Главы матана? Дискретки? С галерки еще спрашивают про алгебру.

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

Если ты не знаешь всяких хитрых физик химий и математик, ты вообще не человек и не имеешь права так называться.

Ну вообще-то да. Любой человек, в случае апокалипсиса, должен быть в состоянии восстановить цивилизацию.

Deleted
()

программисту нужна линейная алгебра,

Линал, это в первую очередь матричная арифметика. Или матрицы программисту тоже не нужны?

дискретка

Программисту будет плохо без теории множество, диаграмм Верна, логики, теории групп, полей, и пр. На этом вся теория информации Шеннона, а следовательно и криптография и прочие кодирующие алгоритмы.

матан

Лютый матан МБ и не нужен, но основы не помешают. Да и вообще,матан развивает мышление.

Выдохнул

Вброс засчитан

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

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

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

Как минимум, чтобы писать программы с заранее известной сложностью, а не так, что программа в большинстве случаев имеет, например, O(n log n), но в плохих дает O(n^2), а программист этого не просек.

для этого не надо читать тома всякого мозготраха. Это для всяких математиков нужно, да. Но зачем же обыкновенному смертному фэйлиться на ровном месте?

чтобы осилить отличия O(n log n) и O(n^2) не нужно читать такие тома. достаточно просто почитать вики или другие источники по-проще. Тут как раз и нужна та глава матана, о которой я говорил (пределы), да и то ее в школе еще проходят.

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

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

dikiy ★★☆☆☆
() автор топика

Доколе, наконец, ушлёпки, вы будете злоупотреблять терпением нашим?

Deathstalker ★★★★★
()

Пихать программисту матан - непедагогично. Он должен сначала понять и окончательно решить для себя, что твердо решил заниматься программированием, а потом уже сам будет бегать за матанами и чем угодно, причем с удовольствием

vertexua ★★★★★
()

настоящим программистом

Кстати, тут можно припомнить своеобразную сегрегацию кодеров и тру программистов.

yoghurt ★★★★★
()

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

Проблема совсем в другом.

Есть - учёные. Которые открывают новые закономерности.
Есть - программисты. Которые изобретают новые, и исследуют существующие алгоритмы.

А есть - технари, которым достаточно готовых сформулированных тавтологий в виде «теорем» и «алгоритмов».

NeProfessor
()

Баянист, а какой ты дистриб, какой видеодрайвер иксов, и какой DE используешь? Интересно стало.

Что юзаешь для обработки звука, для монтажа видео+звука?

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

Это только основы. Пример посложнее: вот есть система работы с заявками. Заявки хранятся в базе данных. Над ними выполняют действия. Задача в том, чтобы оптимизировать работу системы (ибо тормозит жестко), возможно путем изменения алгоритма работы, либо же показать, почему этого нельзя сделать без закупки нового, более мощного, оборудования.

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

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

Э нет, так просто ты не соскочишь. Главы матана? Дискретки? С галерки еще спрашивают про алгебру.

линал:

ортогональные преобразования (и то - не всем, а только тем, кто с графикой работает), преобразования базисов.

матан: пределы, в крайне редких случаях - ряды.

дискретка+теория графов: основные алгоритмы на графах, правила де-Моргана, сложность алгоритмов (вот тут пределы собсно нужны).

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

программисту нужна линейная алгебра,

Линал, это в первую очередь матричная арифметика.

Нетт. В линале матрицы играют совсем не центральную роль. Это лишь как реализация линейного преобразования и не более. Короче - ты не прав.

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

чтобы осилить отличия O(n log n) и O(n^2) не нужно читать такие тома. достаточно просто почитать вики или другие источники по-проще.

это если алгоритм простой. Но, как показывает 12309, не все алгоритмы простые.

cvs-255 ★★★★★
()

я обожал математику в школе. учился в 50 гимназии Минска (может кто знает). пришел в БГУ на мехмат и попал в суровую реальность. это же вонючий законсервированный совок : старые дураки давно забыли что они читают и зачем, кучка зазывал в аутсорсы и 2 реальных (полу-поехавших в такой обстановке) альтруиста. какая наука вы обосрались чтоли? если они 10% книги 80-го года сковырнут и то хорошо. 2 года назад как закончил. отмучался, спасибо. если у меня будут дети то учится в СНГ они не будут.

punya ★★
()
Последнее исправление: punya (всего исправлений: 2)

Ты слишком серьезно относишься к школоте в dev.
Они кривляются в духе «хачю стать програмистом», а остальные кривляются в ключе «сперва осиль Кнута и весь матан, или быдло».

thesis ★★★★★
()
Последнее исправление: thesis (всего исправлений: 1)
Ответ на: комментарий от cvs-255

чтобы осилить отличия O(n log n) и O(n^2) не нужно читать такие тома. достаточно просто почитать вики или другие источники по-проще.

это если алгоритм простой. Но, как показывает 12309, не все алгоритмы простые.

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

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

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

malishok
()
Ответ на: комментарий от cvs-255

Если алгоритм сложный, то нужно исследовать его простые части. А если их нельзя выделить, то алгоритм плохой

vertexua ★★★★★
()
Ответ на: комментарий от cvs-255

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

да. Ибо 99.9% разработки алгоритма - это грамотный поиск по литературе, вместо того, чтобы делать свой квадратный велосипед.

а остальной 0.1% оставим задротам (в хорошем смысле этого слова).

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

Весь линал держится на векторно-матричных пространствах.

векторно-матричное пространство - это что-то новенькое %)

ну да ладно. То, что он на вектроных пространствах держится не отменяет всей остальной содомии. Вот представь - тебе посоветовали учить линал. Ты открываешь книжку, начинаешь читать. Тебе тут же выносят мозг коммутативными группами, полями и прочей лабудой. Есть вероятность, что ты пойдешь бухать даже не дойдя до понятия векторного пространства. Не говоря уже обо всем остальном.

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

Но вот только c вероятностью 99.9% именно эти программисты и будут писать подсистему ввода-вывода. И в результате 12309.

cvs-255 ★★★★★
()
Последнее исправление: cvs-255 (всего исправлений: 1)
Ответ на: комментарий от NeProfessor

Баянист, а какой ты дистриб, какой видеодрайвер иксов, и какой DE используешь? Интересно стало.

Arch, блоб, lxde с плюшками от geekless.

Что юзаешь для обработки звука, для монтажа видео+звука?

audacity (пару раз юзал даже ardour). Видео со звуком пока еще не монтировал... Но вскоре придется.

dikiy ★★☆☆☆
() автор топика
Ответ на: комментарий от cvs-255

Разработка алгоритма часто сводится к изменению и оптимизации под определённый круг задач уже существующего. Принципиально новое создаётся крайне редко, в каких нибудь вершинах it мира.
Программист по определению прикладная профессия, а не учёный который что то изобретает изо дня в день. Да, это условно, но это так.

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

Но вот только c вероятностью 99.9% именно эти программисты и будут писать подсистему ввода-вывода. И в результате 12309.

код открытый. 0.1% вполне мог бы исправить, если бы это было так легко. Но оказывается, что не так легко.

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

из этих 0.1% почти всем будет требоваться дискретка, аналитическая и вычислительная геометрии, алгоритмика. а в «университете» любой страны СНГ тебе будут переть все и поверхностно. без возможности выбора и тем более помощи в выборе.

punya ★★
()

стадо ушлепков

Сам дурак.

Перец сообщил: хочу писать прожки для видео под вебкой. Докажешь, что для обработки видео не нужен матан?

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

Да, не легко изменить так, чтоб не пришлось пол-ядра перепиливать. Что есть следствие политики «нафик микроядра».

cvs-255 ★★★★★
()
Ответ на: комментарий от punya

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

даже этому 0.1% из дискретки будет требоваться больше, но не намного чем те же правила де-Моргана %) Но я не хочу далее углубляться в спекуляции, а всего лишь отвечу, что ТС из Development не претендуют на этот 0.1%. А как начнут претендовать, то уж сами разберуться что к чему.

dikiy ★★☆☆☆
() автор топика

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

Я вот советую всем, кто ещё не, приобщиться к теории вероятностей и математической статистике. Эта штука ооочень сильно меняет восприятие реальности. Но это не значит, что без этого Вы не сможете стать специалистом в какой-то своей области.

Sadler ★★★
()
Последнее исправление: Sadler (всего исправлений: 1)
Ответ на: комментарий от drSchur

Перец сообщил: хочу писать прожки для видео под вебкой. Докажешь, что для обработки видео не нужен матан?

возьмет готовые либы и вперед. Или ты думаешь, что ему надо в обязательном порядке осиливать анализ Фурье, функан и весь сопутствующий адЪ?

dikiy ★★☆☆☆
() автор топика
Ответ на: комментарий от drSchur

в нормальном учебном учреждении этому человеку подберут правильный курс для досконального изучения нужной темы. а не будут долбить всех поверхностными знаниями 80-х годов

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

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

Только не говори что они не нужны программисту.

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