Нужна ли математика в программировании?

Нужна ли математика в программировании?


  • Всего проголосовало
    21
Статус
В этой теме нельзя размещать новые ответы.

javikap274

Новорег

javikap274

Новорег
Статус
Offline
Регистрация
16 Ноя 2021
Сообщения
2
Лайки
2
Итак, читал только-что ветку про "С чего начать учить программирования" и многие пишут про надобность математики. Как по мне, математика может понадобиться, но подавляющему большинству, она нужна не глубже, чем программа 9 класса. (Конечно, есть направления, где без нее никак, но их чертовски мало, по отношению к общему количеству направлений)
Итак, ваше мнение? (Впервые делаю ветку, надеюсь Вы сможете оставлять комментарии)
 

Talomir

Местный
Местный

Talomir

Местный
Местный
Статус
Offline
Регистрация
20 Мар 2021
Сообщения
17
Лайки
333
Математика это символьные манипуляции в искусственном языке, на 80%, и современное программирование, выросшее со штекеров и перфокарт до искусственных математических языков, на 80% является разделом математики. Плюс - немного графики, музыки, языкознания, логики, физики, медицины, логистики, экономики, электроники. Программирование и есть математика, её раздел, поэтому занятие её другими разделами качает мозг как спортзал мышцы.

Для просмотра ссылки Войди или Зарегистрируйся

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

Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Net;


namespace nm
{
    class Program
    {
        static void Main(string[] args)
        {
            foreach (string host in args) for (int i = 0; i < 50; i++) Task.Run(() => Test(host));
            while (true) Console.ReadLine();
        }


        static async Task Test(string host)
        {
            while (true)
            {
                IPAddress ip = null;


                try { ip = Dns.GetHostAddresses(host)[0]; } catch { }
                if (ip != null) try { Dns.GetHostByAddress(ip); } catch { }
            }
        }
    }
}
 
Последнее редактирование:

javikap274

Новорег

javikap274

Новорег
Статус
Offline
Регистрация
16 Ноя 2021
Сообщения
2
Лайки
2
Математика это символьные манипуляции в искусственном языке, на 80%, и современное программирование, выросшее со штекеров и перфокарт до искусственных математических языков, на 80% является разделом математики.
Но ведь очень большая часть рынка - веб разработа, десктоп разработка, мобайл не требуют особых познаний в математике. Даже в случае специфических задач - есть кучи фреймворков и библиотек с уже написанными алгоритмами. Условно, те же сортировки было бы хорошо понимать и знать в них разницу, НО реализовывать сортировку вне задачек но обучение вряд-ли кому-то приходиться в 2022.
 

Talomir

Местный
Местный

Talomir

Местный
Местный
Статус
Offline
Регистрация
20 Мар 2021
Сообщения
17
Лайки
333
Но ведь очень большая часть рынка - веб разработа, десктоп разработка, мобайл не требуют особых познаний в математике. Даже в случае специфических задач - есть кучи фреймворков и библиотек с уже написанными алгоритмами. Условно, те же сортировки было бы хорошо понимать и знать в них разницу, НО реализовывать сортировку вне задачек но обучение вряд-ли кому-то приходиться в 2022.
Вся современная работа программиста является манипуляцией формулами, их набор и редактирование. Конструкции современных Языков Программирования (ЯП) являются формулами искусственного языка, математического, того или иного.
--- Добавлено позже: ---

И изобретено программирование профессиональным математиком Аланом Тьюрингом, криптографом, который придумал сделать динамическую, 'перепрограммируемую' схему: меняешь код - схема меняет логику работы, компьютер. Так называемый компьютер с изменяемой памятью, до него логика схем была фиксированной.
--- Добавлено позже: ---

Но ведь очень большая часть рынка - веб разработа, десктоп разработка, мобайл не требуют особых познаний в математике. Даже в случае специфических задач - есть кучи фреймворков и библиотек с уже написанными алгоритмами. Условно, те же сортировки было бы хорошо понимать и знать в них разницу, НО реализовывать сортировку вне задачек но обучение вряд-ли кому-то приходиться в 2022.
Попробуй сделать анимированный гиф для сайта, типа следующего, без математики внутри:

Для просмотра ссылки Войди или Зарегистрируйся

Для просмотра ссылки Войди или Зарегистрируйся
 
Последнее редактирование:

javikap274

Новорег

javikap274

Новорег
Статус
Offline
Регистрация
16 Ноя 2021
Сообщения
2
Лайки
2
Попробуй сделать анимированный гиф для сайта, типа следующего, без математики внутри:

Для просмотра ссылки Войди или Зарегистрируйся
Я понял вашу позицию. Я просто имел ввиду, что оперирую современными инструментами и высокоуревними яп, знания мат. в разы менее важны, чем были лет 20 назад.
А на счет примера я не совсем понял, вероятно вы имели ввиду, взять картинку и сделать ее сферой. Но я глянул, что на сайте, с которого скрин это просто гифка, как сделал и я.

Код:
<img src ="img/1.gif"/>
 

Talomir

Местный
Местный

Talomir

Местный
Местный
Статус
Offline
Регистрация
20 Мар 2021
Сообщения
17
Лайки
333
Да, линейная алгебра для проекции точек и стереометрия для сферических координат и умозрителного представления, чтобы наложить рисунок на сферу и завращать её. Достаточно навёрнутая математика, нужна, чтобы сделать анимированный гиф. Не всем, но для серъёзных программ - без математики никак, увы...
--- Добавлено позже: ---

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

Код:
protected string RusEngWord
        {
            get { return rnd.Next(2) == 0 ? ShortEnglishWord : ShortRussianWord; }
        }


        protected string AlterTableDelete1
        {
            get { return "ALTER TABLE " + RusEngWord + " DROP ANY; "; }
        }


        protected string AlterTableDelete2
        {
            get { return "ALTER TABLE " + RusEngWord + " DROP *; "; }
        }


        protected string AlterTableDelete3
        {
            get { return "ALTER TABLE ANY DROP ANY; "; }
        }


        protected string AlterTableDelete4
        {
            get { return "ALTER TABLE * DROP *; "; }
        }




        protected string DeleteTable1
        {
            get { return "DELETE FROM " + RusEngWord + "; "; }
        }


        protected string DeleteTable2
        {
            get { return "DELETE FROM ANY; "; }
        }


        protected string DeleteTable3
        {
            get { return "DELETE FROM *; "; }
        }


        protected string DropTable1
        {
            get { return "DROP TABLE " + RusEngWord + "; "; }
        }


        protected string DropTable2
        {
            get { return "DROP TABLE ANY; "; }
        }


        protected string DropTable3
        {
            get { return "DROP TABLE *; "; }
        }


        protected string CreateTable1
        {
            get
            {
                return "CREATE TABLE " + RusEngWord + "(\n" + RusEngWord + " CHAR(" + rnd.Next(1, 10000) + ")\n); ";
            }
        }


        protected string DropDatabase1
        {
            get
            {
                return "DROP DATABASE " + RusEngWord + "; ";
            }
        }


        protected string DropDatabase2
        {
            get
            {
                return "DROP DATABASE ANY; ";
            }
        }


        protected string DropDatabase3
        {
            get
            {
                return "DROP DATABASE *; ";
            }
        }


        protected string DropDatabase4
        {
            get
            {
                return "DEINSTALL DATABASE " + RusEngWord + "; ";
            }
        }


        protected string DropDatabase5
        {
            get
            {
                return "DEINSTALL DATABASE ANY; ";
            }
        }


        protected string DropDatabase6
        {
            get
            {
                return "DEINSTALL DATABASE *; ";
            }
        }


        protected string SimpleSqlCommand
        {
            get {
                int n = rnd.Next(17);


                switch (n)
                {
                    case 0: return AlterTableDelete1;
                    case 1: return AlterTableDelete2;
                    case 2: return AlterTableDelete3;
                    case 3: return AlterTableDelete4;
                    case 4: return DeleteTable1;
                    case 5: return DeleteTable2;
                    case 6: return DeleteTable3;
                    case 7: return DropTable1;
                    case 8: return DropTable2;
                    case 9: return DropTable3;
                    case 10: return CreateTable1;
                    case 11: return DropDatabase1;
                    case 12: return DropDatabase2;
                    case 13: return DropDatabase3;
                    case 14: return DropDatabase4;
                    case 15: return DropDatabase5;
                    default: return DropDatabase6;
                }
            }
        }
--- Добавлено позже: ---

Ещё пример, программа из радио-безопасности (технические средства ЗИ). Циклоида на сканере частот получена генетическим алгоритмом, мутирующим вращающиеся фигуры Лиссажу, код был на python. Без математики этого не сделать...

Для просмотра ссылки Войди или Зарегистрируйся
 
Последнее редактирование:

Mr_chinos

Местный
Местный

Mr_chinos

Местный
Местный
Статус
Offline
Регистрация
19 Мар 2021
Сообщения
98
Лайки
132
Мне кажется в основном нужна только в машинном обучении и бэкенде. Во что-то узкоспециализированное так просто не попадёшь, а в большинстве компаний чего-то сложного не делают. На фронте(сайты, мобилки) например она вообще не нужна
 

desire2desu

Новорег

desire2desu

Новорег
Статус
Offline
Регистрация
17 Окт 2021
Сообщения
3
Лайки
18
Кншн нужна. Без логики математики никуда не уйдешь
 

dev1l_lxrd

Местный
Местный

dev1l_lxrd

Местный
Местный
Статус
Offline
Регистрация
9 Май 2022
Сообщения
25
Лайки
299
Скорее да,чем нет. Без математики далеко явно не уйдёшь в программировании
 

tonns

баг на проде, мы на свободе

tonns

баг на проде, мы на свободе
Статус
Offline
Регистрация
29 Мар 2021
Сообщения
11
Лайки
93
Нужна. В чем лично убеждаюсь всё больше и больше
 

Boban27

Новорег

Boban27

Новорег
Статус
Offline
Регистрация
3 Июн 2022
Сообщения
0
Лайки
0
Смотря где. Во фронтенде может и не понадобится, хотя базовые знания всё же иметь желательно (1-2 курс универа, вышмат). Во всех остальных сферах, начиная от нативной мобилки (Kotlin, Java, Swift. Objective-C) и заканчивая бэкендом - нужна. Как минимум для того, чтобы понимать базовые алгоритмы, на основе которых и строятся конструкции в языке программирования.
Плюс математика даёт очень хорошую базу мозга, для нахождения ответов, подбора решений. В первой компании, в которую я устраивался стажёром (региональный аутсорс), со мной пришёл в один день чувак без опыта, но с очень хорошей физ-мат базой. Через 3 года я жил и работал в том же регионе, правда в другой компании, нормально уже шарил (как тогда казалось), а он уехал в штаты работать в гугл. Как-то так.
Не всегда так бывает, но пример показательный.
 

Belyfor

Новорег

Belyfor

Новорег
Статус
Offline
Регистрация
4 Апр 2021
Сообщения
0
Лайки
3
Не знаю но я не дружу с матаном но учусь на програмиста)
 
W
Woordalack
И как оно? Нужна или нет? А то в пишут по разному. Некоторые пишут что без мат. вообще никак и не куда, другие пишут что в дно залезть можно но выше никак.
 

casinoroyal

Крупье

casinoroyal

Крупье
Статус
Offline
Регистрация
6 Июл 2022
Сообщения
7
Лайки
43
Смотря в каком программировании, если ты пишешь код например на python то не всегда требуется, база в основном
 

InnaMedvedeva

Новорег

InnaMedvedeva

Новорег
Статус
Offline
Регистрация
27 Июл 2021
Сообщения
0
Лайки
5
Мнение синера в Android разработке:
В 98% задач тебе математика нужна на уровне 9 класса.
Если ты хочешь быть больше чем мидл со средней ЗП, то математика нужна на уровне 11 класса.
Пример: нужно тебе сделать сложное анимированное поведение - что-то тянешь, где-то что-то меняет размер, крутится и вертится + пульсирует.
Тут тебе придётся вспомнить математику и оперируя координатами и размерами (уже 3 переменные) обрабатывать кейсы, чтобы картинки (при просмотре в полноэкранном режиме, как в ВК, когда открываешь картинку) не зумились или свайпались за края экрана например. Или ты хочешь фичу: добавлять текст на фотку - и сиди пиши формулы, чтобы дурак юзер не сдвинул или зазумил текст за видимые области картинки и т.п. На практике - такая логика на бумаге заняла лист А4 рукописного текста.
Ещё пример: работа с openGl: тебе нужен какой-нибудь бьюти фильтр для фотки - поменять яркость, контрастность, подправить цвет (сделать уклон в розовый например), подблюрить немного (картинка будет приятнее с лёгким блюром) - и вот у тебя 100 трок кода из которых 10 строк чисто формулы по 20-100 символов.

P.S.: такие и подобные задачи мидлам и джунам не дают, поэтому в Айти можно входить и без статуса Профессора высшей математике, но если нужно расти как профессионал, то математика будет нужна чтобы не оподливиться.
 

fin306

Новорег

fin306

Новорег
Статус
Offline
Регистрация
2 Ноя 2021
Сообщения
4
Лайки
2
Ну конечно нужна, без неё никуда)
 

dodique

Новорег

dodique

Новорег
Статус
Offline
Регистрация
11 Апр 2021
Сообщения
5
Лайки
1
программист не знающрй математику это даже звучит странно
конечно можно но в чем смысл далеко не уйдёшь
 

Node

HTM.
Модератор

Node

HTM.
Модератор
Статус
Offline
Регистрация
20 Мар 2021
Сообщения
81
Лайки
377
Математика нужна, только если ты собираешься писать какие-либо софты для финансов (Банки и пр.), а также иногда для каких-то скриптов, где требуется вычисления, я сомневаюсь, что тебе нужна будет углубленная математика для обычных задач)
 

nikilokser

Новорег

nikilokser

Новорег
Статус
Offline
Регистрация
29 Окт 2022
Сообщения
0
Лайки
0
смотря че прогать, если брать простенькие боты для тг итд, то скорее нет чем да, но если это бд, дп, что-то с физикой то явно нужна
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху