Большинство разработчиков в конечном итоге работают над веб-приложениями или мобильными приложениями, я имею в виду, что на этом деньги. Большая часть этих разработчиков решает, казалось бы, простые, но очень важные задачи, помогающие малому и крупному бизнесу. Приложения CRUD лежат в основе многих бизнес-приложений и мобильных приложений, и для их реализации в основном не требуются математические вычисления. Так откуда же взялся этот сомнительный и нелепый миф? Я имею в виду миф о том, что если человек не изучит сложную дискретную и непрерывную математику, он не сможет добиться успеха как разработчик. Эти мифы не просто ложь, они представляют собой опасный «совет» для подавляющего большинства разработчиков, которые просто хотят создавать веб-приложения и мобильные приложения с помощью react, angularjs, nodejs, flutter, xamarin, django и т. Д.

Прежде чем мы продолжим, я хочу пояснить, что я имею в виду под «математикой». Если я пойду в магазин тортов, чтобы купить кекс за 3 доллара, и дам продавцу кексов 10 долларов, то моя сдача составит 7 долларов. Но если я куплю 2 кекса, то сдача составит 4 доллара. Откуда продавец тортов узнает об этом? Если он / она не может вычислить эту простую математику, то некоторые клиенты могут его обмануть. Означает ли это, что для того, чтобы быть продавцом тортов / платьев / мороженого, нужна математика? Ответ - нет, так как такая «математика» будет считаться здравым смыслом.

Большинство веб-разработчиков и мобильных разработчиков никогда не будут использовать основы алгебры за всю свою карьеру. Я имею в виду, например, 3x + 14 = 42, что такое x? это будет считаться математикой с 6 по 7 класс. Но такая математика выходит за рамки того, что большинство разработчиков программного обеспечения когда-либо делали бы в Интернете и на мобильных устройствах. Большинству разработчиков просто нужно хорошо понимать, что такое сложение, вычитание и когда их использовать. Заметьте, я даже не стал вдаваться в умножение и деление, так как это может даже не понадобиться.

Некоторые из сторонников математики сказали бы: «О нет, вы ошибаетесь! какая сложность алгоритмов? Толстяк О !! «Хорошо, давайте поговорим об этом. На современных очень мощных компьютерах ваши приложения должны будут выполнять операции с миллиардами элементов, прежде чем можно будет заметить какую-либо разницу между O (n. Logn) и O (n-квадрат). Даже такие различия будут незначительными для многих приложений. Если ваш эффективный алгоритм помогает вашему приложению выполнять задачу за 4 секунды, а не за 5,5 секунд, действительно ли вы собираетесь привлечь для этого клиентов? Большинство приложений даже не полагаются на такую ​​производительность. При разработке видеоигр или других приложений реального времени это начинает иметь значение.

Что, если тебе так нравится математика? Вся геометрия, тригонометрия, исчисление и т. Д., Которые вы выучили, - это пустая трата времени? смотря как. Есть области программирования, которые действительно основаны на математике. Фактически, если вы не математик, избегайте определенных областей программирования. Разработка трехмерных игр / игровых движков, звуковое программирование, моделирование, программирование физики для физических движков, написание API-интерфейсов 3D-графики, гео-пространственное программное обеспечение, робототехника, биоинформатика, разработка программного обеспечения для комплексного анализа данных и этот список можно продолжить.

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

«Так что же вредного в изучении сложной математики?» «Даже если мне это не нужно, разве это плохо учить?» Что ж, мы живем в эпоху очень конкурентной борьбы. Сейчас, как никогда, существует множество разработчиков, и вы не можете позволить себе изучать бесполезные вещи, которые не понадобятся на работе. Есть много фреймворков и плагинов, которые нужно изучить. Лучше потратить время на написание большего количества тестов, более качественную документацию, доработку кода и т.д.

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