Большинство разработчиков в конечном итоге работают над веб-приложениями или мобильными приложениями, я имею в виду, что на этом деньги. Большая часть этих разработчиков решает, казалось бы, простые, но очень важные задачи, помогающие малому и крупному бизнесу. Приложения 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.