Възможно ли е да станете добър програмист без познания по математика и алгоритми
Възможно ли е да станете добър програмист без познания по математика и алгоритми? Този въпрос беше обсъден от потребителите на уебсайта Quora. И KV.by реши да събере най-интересните отговори за своите читатели.

Джакомбо Сорби, самоук програмист
Не, добрият програмист постоянно е наясно с най-новите иновации и се стреми да научава нещо ново всеки ден.
Това не е така, когато например искате да станете страхотен специалист по латински език (на онези хора, които си изкарват прехраната на латински, няма да се каже обида и в даден момент постигнете високо ниво на владеене на вашата тема и можете да си кажете "Най-накрая го направих!".
ИТ индустрията се развива с удивителна скорост и ако се ограничите от самото начало, това ще ви струва повече в дългосрочен план.
Що се отнася до техническите умения, всичко зависи от това какво искате да направите. За да бъдете добър уеб разработчик, трябва да имате минимални познания по математика и алгоритми. Но ако искате да работите като пълноправен разработчик в сложни проекти, тогава изискванията ще бъдат подходящи.
Имайте предвид обаче, че не е нужно да познавате перфектно дори и най-сложните алгоритми. Това е по-вероятно въпрос за разпознаване на модела, така че ще намерите проблем А или задача Б, докато знаете, че за да работите, ви е необходим алгоритъм за намиране на най-краткия път или алгоритъм за изчисляване на разстоянието на Левенщайн. Но винаги можете да намерите конкретен код или по-конкретна информация за него.
Опитайте се да кодирате, докато се състезавате с другите. Така че можете не само да научите основите на програмирането, но, евентуално, да се забавлявате. Вярвам, че например имах добри познания по математика, но научих много интересни и нови неща в проекти като Project Euler (внимание: този проект не е за начинаещи) или CodeWars (по-приятелска общност ).

Уестън Бийкрофт, специалист по софтуер, математика, философия, когнитивна наука
В областта на ИТ, както и във всяка друга, има правило, според което теорията и практиката са взаимосвързани, а именно теорията ви кара да искате да я използвате на практика, практиката консолидира теорията и т.н. в кръг. Преди да започнете проект, бих предложил да се уверите, че разполагате с цялата необходима теория, за да работите по него. От практическа гледна точка теорията ще ви помогне много, докато работите, затова ще се задълбоча малко по-дълбоко в тази тема.
Първо: алгоритми. Не се притеснявайте твърде много за тях. По тази тема има достатъчно теоретичен материал, който както описва тяхната същност, така и влияе върху това колко ресурси са необходими за изпълнението на определен алгоритъм. Ако нещо от това ви интересува, тогава, разбира се, проверете. Теорията е малко вероятно да повлияе значително на вашите професионални умения като програмист. Това, което наистина ви трябва за алгоритмите, е практиката. Просто продължете да ги пишете, наблюдавайте какво работи от това, което сте написали и кое не, вижте какво пишат други хора, направете заключения, напишете себе си отново и т.н.
Второ: математика. Това е по-трудно да се каже, защото терминът "математика" може да се отнася до много неща. Не мисля, че някакви специфични познания по математика могат да повлияят значително на способностите ви като програмист. По мое мнение има само едно изключение: теория на езика за програмиране.
Тънкият въпрос за математиката е, че, от една страна, не се нуждаете от знания за определени области от този предмет (различни от теорията на програмните езици), а от друга страна, наистина се нуждаете от ясно разбиране на същността на тази наука и как мислят математиката. За програмиране е математиката.!
Неговата „природа“ се корени в математиката и лингвистиката. Следователно, ако искате да получите теоретична подкрепа, тогава, ако бях на ваше място, бих се опитал да постигна възможно най-ясното разбиране на случващото се, докато програмирате. Опитът да постигнете това разбиране може да отнеме години - напълно възможно е да се занимавате с това през цялата си кариера. Върнете се към този въпрос, когато можете или когато почувствате нужда да го направите, но никога не позволявайте на вашето невежество да ви спре да програмирате.
Бих препоръчал следните първи стъпки в теорията на програмирането: Научете малко за това как компютрите изпълняват програми, след това научете основите на теорията на компилатора. Дълго време мислех за компилаторите просто като допълнителни инструменти, които само трябваше да използваме, но всъщност разбирането на тяхната работа е изключително важно за общото разбиране на това как функционират самите програми. Ако успешно овладеете основните знания, те ще се превърнат в карта, която ще ви позволи да разберете какво се случва около вас с един поглед на нов обект.