Чи потрібна математика програмістам?

Усі статті, обговорення, новини для початківців — в одному місці. Підписуйтеся на телеграм-канал!

Всім привіт я вчуся в універі перший курс на кніта, програмування подобається(готовий сидіти за ідею)але математику(в університеті) люблю так собі і маю погану зорову пам’ять,що порадите робити?п.с без негативу

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn

Найкращі коментарі пропустити

якщо хочеш бути формошльопером, то не потрібно. якщо хочеш робити щось складніше і цікавіше, то доведеться розібратись з булевою алгеброю, теорією ймовірності (основи), дискретна математика (напевне найбільше потрібна). якщо захочеш створювати нейронки — пригодиться матан, функан та інші види аналізів

Ты не туда попал. Программистам даже универ не нужен. А если ты попал в универ, то какой смысл там находиться, если не учить математику. Как ты собираешься БЕЗ МАТЕМАТИКИ вникать в физику, теорвер, нейронные сети, обработку сигналов, электротехнику, электронику, теорию информации?

Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Питання постійно задають студенти. Роками.
Давно стежу за відповідями, бо давно маю думку що — не треба, а «математичне мислення» можно набути іншими способами, аніж на вивчені розділів математики яки точно не треба (є такі що в цілому — корисно буде знати).
Причому, я побачив, що «математичне мислення» береться не з вивчення математики. Воно десь там, з дитинства береться, і його наявність, обирає математику, собі для розвитку, а не — «вчи математику, будеш мати математичне мислення!». ну такє, суб’єктивне звісно спостереження і пояснення, чому для більшістості дітей — математика мука, а для деяких — дуже цікава.

Так от, тренд:
Все частіше і більше відповідей:

Не треба.

Коли я починав — то саме питання частенько росцінювалось як богохульство: «Як тільки язик повертається такє запитати!».

Час на вивчення математики краще віддайте на вивчення англійської, мені математика десь аж раза два пригодилась

Більше 99% програмістів достатньо знання математики на рівні середньої школи. Але я аж ніяк не шкодую, що 5 років вивчав її в університеті. Шкодую, що мав можливисть застосувати лише дуже незначну частину знань

Математика не потрібна, не вчіть її.

Зустірчасвя з математикою під час задач по роботі з кольорами, імеджами, канвою і в криптографії, статистичні функції, теорія множин, булева логіка, дхойни. біг о, лейзі лоадінг. Бляха та вона всюди. Де не глянь, зараза, вилазить. І так її давлять і так. І нищать і викидають. А тут зараза то з мапи вилізе то з сету. То сортування, зараза, погано сотрує. То задовго дані переганяються. Опа і в конкаренсі треба знати кількітсь процесорів і закони Амдала. Що за крча погань. Чому її не позбудуться нареші назавжди. Як це так треба знати кількість памяті в докері і лямбдах тихі і ці процесори нудні. Залишиться має тільки один єдиний код. Ніякої математики. Повна свободи думки без цифр. Пропоную замінити цифри на букви. Одразу підвищиться рівень свободи програмістів. Бляха, а ще кожен продукт менеджер вимагає есмітейту. От клята послідовність Фібоначчі.

потрібна. але ні — тому що є нюанс )) і він простий — її треба знати так щоб вистачало — тільки тоді щось заробиш з цього знання, а це рівень викладача, ще й в розділах які зазвичай тут у нас не викладали у вузах))

Все залежить у якій сфері працюєшь.

Вивчення математики наводить порядок у голові та тренує абстрактне мислення. А от порядок у голові потрібен при любій роботі. А програміст без абстрактного мислення як комп без процесора.

Як зрозуміти чи є абстрактне мислення?)

Ті хто завзято наводить аргументи чому математика потрібна мабуть самі були б не проти помінятися з Ангуляр чи Реакт девелопером місцями))

Математика — це аналіз завдання і пошук шляхів розв’язання задачі.
Якщо не подобається, то яким можна стати програмістом, де так само — аналіз задачі та пошук алгоритму її розвязання ...

На проектах з математикою потрібна.
Але інформатика це не математика.

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

готовий сидіти за ідею

Ловіть дисидента!

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

По-перше, мені незрозуміло, навіщо треба зорова пам’ять в математиці? Як раз її краса полягає у тому, що можна нічного не запам’ятовувати, а виводити :-)
По-друге, математика та програмування досить схожі, по суті і те і те це суміш шахів та порнографії. Ізморфізм Карі-Говарда стверджує це. Але є питання смаку чим займатися. Можливо спеціалісту по математичній логіки може не дуже подобатися аналіз. Можливо ембедед програмісту не цікавий фронтенд.
А там просто знайти те, що тобі подобається, та вивчати це. Можна брати щось на зтику, на кшталт Coq (або Idris, Agda), де і математика, і програмування.

математика та програмування досить схожі

Це для сіньора так! Він там думає, ну так алгоритми і структури даних — це ж математика така! Для першокурсника, який створив топік, в якого пхають критерії сходимості рядів, визначення ліміту, властивості неперервних функцій і іншу муть основ матана, що для нас важлива для розуміння диферінційних рівнянь — це геть не так! Ні, воно мабуть треба, щоб ті самі диференційні рівняння мали сенс, щоб там все було доведено і математично і розуміти як їх можна складати і як не можна. Але для першокурсників це запросто якась незрозуміло нафіга потрібна фігня, яка доволі погано вчиться.

Ну і програмування — це далеко не тільки алгоритми та структури даних, це ще архітектура, що вже ближче до письменництва.

Навіть смішно: про Англійську ніхто навіть не питає! Яке може буде ІТ без Англійської? І просто читати зі словником — замало, треба ще вміти бадьоро щось казати на мітингах.
Ну а математика то вже не так важливо — може і без неї прокотить.
Скоро всі забудуть що комп’ютери вигадали вчені, аби вони допомогли вирішувати математичні задачі.

Англісьа зазвичай потрібна на співбесідах, далі тільки якщо є колеги іноземці. Тому необхідність залежить від компанії і проєкту, аби міг гайди читати.

Любой честно выученный навык всегда будет в плюс, вопрос только в эффективности. Математика — это высокоэффективный навык для программиста.

В основном математика учит думать, как и все точные науки. Но не всегда достаточно уметь думать, надо ещё знать формулы.

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

Очевидно что по крайней мере в некоторых областях она нужна и так же видно что многие люди(в том числе в комментариях) справляются без нее. Выходит это зависит от того чем заниматся

Більшість справляється без неї, але ті хто справляється без неї та все ж таки знає її (на суб’єктивному рівні), вважає за свій святий обов’язок покритикувати тих, хто її не знає.

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

Мені здалося що вже пройшли ті часи коли питали, нащо мені ті синуси, косинуси, ікси, число пі, Піфагор і т.д.
Гіки, що з вами?

Після 2015 і чергового підвищення курсу долара — ті часи пройшли.
А тепер — настали знову.

Ты не туда попал. Программистам даже универ не нужен. А если ты попал в универ, то какой смысл там находиться, если не учить математику. Как ты собираешься БЕЗ МАТЕМАТИКИ вникать в физику, теорвер, нейронные сети, обработку сигналов, электротехнику, электронику, теорию информации?

Універ треба для диплома. Корисний артефакт для еміграції.

Без шкільної математики важко. Її і для базового теорверу більш ніж достатньо. Інше для якихось БД, network, distributed systems — нафіг не треба. А це — складні напрямки, де платять дуже гарно. Той мізер, що може бути треба — довчається без проблем у процесі. А тут девопси розповідають як математика їм треба дофіга. Розкажіть, нафіга, де ви там застосували її в роботі?

Без шкільної математики важко.

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

Ну шкільна математика для мене була легка

Школьная математика НЕ РАВНА математике для поступления на бюджет на нормальную айти специальность. Там должен Сканави 3-й уровень от зубов отлетать. И это минимум.

сто балів є сто балів. (чи скільки там на зно)
ну і сканаві — це все ще шкільна математика здебільшого.

якихось БД, network, distributed systems — нафіг не треба

ряди, теорія множин, теорія імовірності аж бігом

І де там ряди? Що з теорії множин так використовуєтся, окрім наївного визначення множини? Теорія ймовірності... не теж на дуже почаковому рівні, якщо й треба. Більше назва, spooky language.

на дуже почаковому рівні,

наприклад гістограми які імлементація статистики таблиці це який рівень?
всякі аналітичні функціі для написання коду

Що з теорії множин так використовуєтся, окрім наївного визначення множини?

загальний хів думки як реляціяна база.
як написати джоін. Пересічення множин. що таке Cartesian Product?

я вже мовчу про графи чи якийсь геоспатіал

з усього що в мене найкраще виходило/подобалося в математиці це якраз чудово лягає на бази даних

наприклад гістограми які імлементація статистики таблиці це який рівень?

Скоріше за усе це ніякий рівень. Зрозуміти що таке гістограма можна нічого не тямлячи в інтегралах Стільт’єса та у критерії χ² і т. д. Гістограми можна у газетах побачити, де 99% читачів про це не чули.

всякі аналітичні функціі для написання коду

Яким чином це прив’язано до статистики? Щось мені здається, що статистику ти не знаєш :-)

як написати джоін. Пересічення множин. що таке Cartesian Product?

Взагалі теорія множин не дуже сильно займається кінцевими множинами, тому що з точки зору математики там усе просто: відповідь можна отримати просто перебором усіх варіантів. Все ж таки теорія множин це більше про таку муть, як аксіома вибору та ZF vs ZFC, це різні кардінали та ордінали. Але у програмуванні ми працюємо або з кінцевими множинами або зі зліченими. Якщо брати визначення, то перетинання множин та декартовий добуток множин у практичній площині можна зрозуміти й без математичного визначення, яке, до речі, у ZFC напишуть скільки відсотків програмістів? Ось на практиці, ти складаєш клас з трьох полів. Хтось каже про декартовий добуток? Або у більшості ширвжиткових мов, чи треба нам визначення декартового добутку для того, щоб зрозуміти функцію з двома аргументами?

Так, я розумію, що у разі реляційних баз даних був Дейт, читання якогось 15 років тому було обов’язковим, а зараз про нього ніхто й не пам’ятає. Він формалізував реляційні бази. Але принцип «дивися як роблять інші та роби так само» ніхто не відміняв. А ось ООП досі ніхто не формалізував, точніше це не поширилося у маси скоріше за усе. Ніхто з цього приводу і не страждає.

я вже мовчу про графи чи якийсь геоспатіал

Угу, мені просто цікаво, скільки програмістів на співбесіді дасть відповідь на запитання на кшталт «Що таке матроїд коциклів графу?»

Він формалізував реляційні бази.

Це зробив Кодд:)
Дейт написав гарну книгу, стоїть на полиці, але першим був не він.

Ось, дякую, навіть пригадав. Колись це знав, але давно забув як зайву ношу.

загальний хів думки як реляціяна база.
як написати джоін. Пересічення множин.

та в тім-то й біда, що це не зовсім перетин множин і така аналогія ще не факт, що не заплутує більше ніж пояснює. точніше, така аналогія працює, доки в таблиці нема інших даних крім ключів, а як є ще щось, то починаються питання. наприклад таке питання: для чого взагалі потрібен X left join Y? якщо дивитись на діаграму ейлера-вена i.stack.imgur.com/4zjxm.png , то виглядає, що просто берем Х, а від У нічого не залежить. і який взагалі був тоді смисл щось робити? а на практиці виявиться, що смисл був, бо той Х міг збагатитися новими колонками і в реальності об’єднання отаких талиць imgur.com/ogIwrco виглядало би якось так imgur.com/qDLuOok

З мого скромного досвіду скажу, що англійська навіть важливіша, + елементарне логічне мислення

тут головне креслення правильно тримати
ніколи не знаєш будуєш хмарочос чи бункер підземний

якщо хочеш бути формошльопером, то не потрібно. якщо хочеш робити щось складніше і цікавіше, то доведеться розібратись з булевою алгеброю, теорією ймовірності (основи), дискретна математика (напевне найбільше потрібна). якщо захочеш створювати нейронки — пригодиться матан, функан та інші види аналізів

Навіщо булеві алгебри? Оскільки будь яка булева алгебра ізоморфна булевої алгебри всіх відкрито-замкнених множин якогось компактного цілком незв’язного хаусдорфового топологічного простору, то практично усі результати теорії булевих алгер пов’язані з топологією без якогось великого зв’язку з програмуванням. Так, у топології поширена мова теорії категорій, але... як на мене буже великий шлях, якщо треба теорія категорій, чому б її напряму не юзати?
Дискретна математика це взагалі солянка, де надьоргані реультати різних розділів математики так, для освіти.
Щоб створювати нейронки... Треба чистити дані, усе інше зроблено до нас.

Так автор формошльоп, звідки йому знати що потрібно?

Народ та шо ви його лякаєте людину. Коротше математика потрібна на рівні школи 9 клас при умові що ти не лізеш в геймдев і нейромережі. Ідеально якщо любиш алгебру то з функціональними мовами програмування тобі буде найзручніше. Врахуй що є багато різних мов з різним синтаксисом. Якщо важко в одній переходи до іншої. Розглянь perl наприклад lisp. Я знаю людей які взагалі тільки асемблер тому що просто і зрозуміло без ситаксичного цукру.... Головне щоб ти від того задоволення отримував

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

Як раз я багато знаю непоганих програмістів, які не дуже розбираються в математиці. Думати можна навчитися де завгодно.

Це як качати мускули усе те саме, треба тренуватись. З цукром тільки обережно і з кавою, воно як стероїди. Краще мед, чорний шоколад тощо.

Кому-то нужна, а кому-то не очень. Но хотя бы основы арифметики знать нужно.

Ну шкільна математика в мене добре йшла )

Смотря сколько ты хочешь зарабатывать. Если больше десяти штук/месяц очень нужна

Коломойский, Ахметов, Поворознюк наверное каждый год в номинантах на премию Филдса.

Коломойский ради 10 штук даже с кровати не встанет, я думаю

Коломойский ради 10 штук, думаю очень многих в посадке прикопал.

менше ніж за двадцять штук він і лопату в руки не візьме

За ніякі не візьме. Цабе не знають, що таке лопата

а чим же він тоді гроші загрібає? О_О
усим відомо, що такі люди гроші гребуть лопатою

Не дуже. Вам там дадуть більш ніж потрібно математики для багатьох напрямків програмування, навіть якщо ви там будете профтикувати її старанно. Math heavy напрямків не дофіга насправді. То все «нє сідєл — нє мужик» ментальність. Плюс завжди можна піти у адміністративку, там у тімліда, архітекта — то гуманітарщина усе)
І у вас мабуть якась травма через математику, там не так страшно все і в ній, якщо нормально вчити.
Коротше ботайте і не парьтесь. Вчать часто достатньо криво, насправді там все не так абстрактно і криво як розповідають. Зорова і інші пам’яті, то не актуально для нас — www.youtube.com/watch?v=V-S_53HmEUA

Якщо хочеш буди просто сіньором, робити таски і допомагати іншим, не потрібна. Якщо хочешь чогось досягти, то потрібна.

Якщо хочеш чогось досягти — також не потрібна.

Спробуй, напиши, хоть щось значиме зараз, для армії, наприклад, без умовних перетворень Фур’є.

Ем, мобільна система зв’язку, котру напочатку вважали геймчейнджером? uk.wikipedia.org/wiki/Кропива_(БСУ

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

От комусь із значащих Масків чи Гейтсів математика потрібна?
Фаулєр геть з тої математики живе?
GoF на математику зав’язаний, чи на Фур’є?
Навіть в Седжвіка в першому томі Структур Даних та Алгоритмів (а другий ніхто не читає, а третій він не написав) нема математики. Бо вона не потрібна, доки не влізеш у графи. А туди майже ніхто не лазить.

І як часто ви робите такі проекти? Здається, в тих поправках в кропиві здебільшого табличні данні і ніякою вищої математики немає, взагалі артилеристи їх у полі на колінці рахують.
А якщо і треба, то індуси наробили купу відосиків англійською по всім вказаним тобою розділам. Як показує практика, кілька тижнів — достатньо, щоб розібратись.

Ну як мінімум в першому томі Сейджвіка математика потрібна для пояснення та розуміння складності алгоритмів, тому не згодний. Можливо деякі з тих, хто тут пишуть навіть не усвідомлюють, коли вони використовують математику (це вже відбувається десь на рівні підсвідомості). Тому для адекватного програміста як мінімум базові знання математики потрібні. Хоча зрозуміло, що програмісти зазвичай не доводять коректність своїх реалізацій за допомогою математичних методів.

Арифметика, здається, для складності алгоритмів.
Дивишся код, рахуєш на пальцях, скільки разів буде викликано внутрішній цикл.
От і уся складність.

Лише до моменту, коли доводиться мати справу з логарифмами (які далеко не завжди відносять до арифметики).
А потім маємо в закромах коду кубічну складність від формошльопів.
А автор коду потім скаже в свій захист: «Ну, зате хоч не факторіал».
А, ні, не скаже, бо не знатиме цього слова.

Седжвік усе пояснив на пальцях, а Ви ускладнюєте...

Чи потрібна фізуха спортсменам? Я дуже хочу бути каратистом, а ось фізкультуру не люблю... :)

Звісно, не усім, шахистам та кіберспортсменам — не дуже :D

Але в загальному випадку — регулярне виконання фізичних вправ підвищує якість кровообігу у мозку, тож — так, потрібна будь-яким спортсменам.

Для тих, хто не вміє в сарказм та алегорію — програмування, це про алгоритмічне мислення та логіку, чи потрібна мова (математика) і вправи (математичні задачі) для розвитку мозку в цьому напрямку? Важке питання, мабуть...

Програмування — про те, як не заплутатись у мільйонах рядків чужого коду. Або як написати свій так, щоб по році його зрозуміти. І математика тут ні до чого. Вірніше, до чого — приблизно так само, як вміння розкладати пасьянси чи маджонг.

Залежно яким програмістом. Щоб смикати АРІ математика не потрібна.

projecteuler.net

Классика!

Ось тут є відповіді на ваше питання, але можливо, колеги підкажуть щось ще.
youtu.be/Bra8LElOlYM

Підписатись на коментарі