Сегодня я хотел бы поговорить про математику. Периодически задается вопрос: нужна ли математика программисту?
Ответ на самом деле очевиден. Если вы хотите стать программистом и успешно развиваться в этой профессии, то математика вам просто необходима. Опять же какой объем знаний по математике вам требуется. Если вы становитесь прикладным программистом, а большинство Java программистов является прикладными программистами – они решают задачи связанные с бизнесом, а для этого большой математики не требуется. Если же вы хотите стать ученым программистом, то вам соответственно математика нужна, и нужна высшая математика.
Если мы рассматриваем программистов средней руки, то объёма школьных знаний будет вполне достаточно, чтобы нормально изучить программирование и развиваться в этом направлении.
Если же вы хотите заниматься алгоритмами, например, анализом изображения или компрессорами видео, где соответственно необходимо хорошее понимание алгоритмов, то вам необходима высшая математика.
Как проверить, есть ли у вас эти знания или нет? Возьмите любой алгоритм сортировки и докажите его математическую модель. Если у вас хватает знаний и возможностей это сделать, то соответственно можете в этом направлении развиваться. Если же не хватает, то не стоит даже туда соваться, потому что никакого развития и тем более быстрого карьерного роста вы не получите.
Ещё одна интересная область, где нужна хорошая математика – это соответственно Big Data, где все алгоритмы сначала описываются математическими моделями, а после этого выводится общая форма, по которой мы уже можем анализировать эти большие данные. Соответственно там, чтобы стать нормальным специалистом вам нужна хорошая математика, институтская математика, где вы можете доказывать различные вещи.
Если вы чувствуете, что в математике вы проседали, в школе у вас было с этим тяжело, математика заходила с трудом, получали за этот предмет неудовлетворительные оценки, то в программировании вам делать нечего. Не тратьте свое время, обратите внимание на другие специальности, в которых нет необходимости в логике. Программирование – это логика, это последовательность действий, которые мы загружаем в компьютер, все это описывается с помощью математики и логики.
Если вы хотите развиваться в Big Data, то там соответственно вам нужна крутая математика, и советую налегать на учебники по математики, по высшей математике, по дискретной математике, по алгебре и соответственно развиваться в этом направлении.
Для обычных программистов объема школьной математики хватит сполна, поэтому если в школе у вас по математике были хорошие оценки, смело учите программирование и становитесь хорошими специалистами – прикладными инженерами, прикладными программистами.