Generated with Avocode. Generated with Avocode. Generated with Avocode. Group 15 close hat Generated with Avocode. Generated with Avocode. Generated with Avocode. Generated with Avocode. Generated with Avocode. Generated with Avocode. path40

7 дисциплин, которые стоит знать программисту

Чтобы писать логичный и полезный код, нужно не только быть хорошим программистом, но и разбираться во многих других вещах.

Изучить популярный язык или даже несколько недостаточно, чтобы стать программистом. Чтобы создавать сайты, приложения, ПО, игры, да и вообще хоть
что-то, необходимо разбираться в науках и языках. Их не так уж и много, но погружение занимает даже больше времени, чем изучение какого-нибудь PHP или еще чего-то попроще.

Английский язык

Если вы пишете на 1С, сразу переходите к следующему пункту. Ну а всем остальным знание английского языка пригодится, чтобы:

  • лучше понимать код;
  • читать мануалы;
  • взаимодействовать с иностранными заказчиками.

Кроме того, английский язык позволит задавать вопросы на зарубежных форумах и stackoverflow —  это иногда единственный способ получить помощь, потому что на англоязычных ресурсах люди стараются помочь, в то время как на отечественных прежде всего поднимут на смех, спросят, зачем вам это нужно и для чего вообще вы пришли в программирование, и только потом, может быть, помогут.

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

Полезная литература:

Нужно: всем.

Математика

Большинству программистов хватит умения выполнять простые операции и знания нескольких формул. Например, полезно разбираться в процентах — с их помощью можно создавать адаптивные интерфейсы, работать со звуком и прозрачностью. Вот образец того, как разработчик компьютерных игр может использовать математику:

<?

$hp = 500; //Оставшиеся очки здоровья

$hpMax = 1730; //Полное здоровье персонажа

$currHp = ($hp / $hpMax) * 100; //Сколько процентов осталось

echo "Здоровье: ".$hp." / ".$hpMax." (".$currHp." %)"; //Вывод оставшегося здоровья

?>

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

Полезная литература:

Нужно: всем.

Логика

Все программы построены на логике. Они получают какие-то данные, проводят вычисления и, в зависимости от результата, делают что-то еще. Например, вот пример кода акции в интернет-магазине:

$cost = $position['cost'];

$costMessage = "Цена: ".$cost;

if($position['type'] == $sale['type']) { //Проверяем, участвует ли этот тип товаров в акции

if($date <= $sale['last_date']) { //Проверяем, не прошел ли срок акции

             $cost *= 0.7; //Снижаем цену на 30%

             $costMessage = "Старая цена: ".$position['cost']." | Новая цена: ".$cost." (Выгода 30%)";

}

}

echo $costMessage;

В коде две логических операции: первая проверяет, распространяется ли акция на товар, а вторая — не прошел ли срок ее действия. В зависимости от результата меняется цена и выводимое сообщение. Это банальный пример; в реальных программах логики очень много, поэтому в ней нужно разбираться хотя бы на базовом уровне.

Полезная литература:

Нужно: всем.

Статистика

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

  • день недели и время публикации;
  • формат статьи;
  • объем;
  • затраты на рекламу;
  • тема;
  • автор;
  • язык;
  • количество ключей.

Также с помощью статистики и алгоритмов можно создать искусственный интеллект с машинным обучением — тогда программисту останется лишь подождать, когда ИИ сам найдет закономерности.

Полезная литература:

Нужно: аналитикам, ученым, разработчикам ИИ.

Информатика

В школах курс информатики состоит из примерно таких уроков:

  • как включить компьютер;
  • как выключить компьютер;
  • как открыть/создать/удалить папку;
  • как работать в MS Word;
  • как писать программы на Pascal и HTML в тетради.

Программист, конечно, должен уметь все это, но информатика — это не только компьютерная грамотность: это наука об информации, ее сборе, хранении, передаче, обработке, шифровании и других операциях с данными. Знание может помочь как в написании кода, так и в его оптимизации. Поэтому в информатику нужно хотя бы немного погрузиться, а углубляться — только по желанию.

Полезная литература:

  • Иванов Б.Н. «Дискретная математика. Алгоритмы и программы. Расширенный курс».
  • Есипов А. «Информация и информационные технологии».

Нужно: желающим.

Профильные науки

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

  • найти ближайший магазин;
  • решить домашку по математике;
  • рассчитать стоимость строительства;
  • отредактировать фотографию;
  • создать 3D-модель;
  • сохранить запись в базе данных;
  • проанализировать статистику;
  • перевести текст.

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

Нужно: всем.

Программирование

Последнее, но не по значению, — программирование. Тут не важен какой-то конкретный язык — важен сам подход. Необходимо понимать, как составляются приложения, для чего они нужны, как лучше решить ту или иную задачу и многое другое.

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

Я – Веб-разработчик PRO
С нуля до профессионального веб-разработчика. Вы научитесь верстать сайты и создавать интерфейсы, соберете 6 проектов в портфолио и получите востребованную профессию. Расходы за первые полгода курса берет на себя Skillbox. В это время вы посещаете все лекции и воркшопы, прокачиваете навыки, находите себе работу и начинаете получать деньги.
  • Живая обратная связь с преподавателями
  • Неограниченный доступ к материалам курса
  • Стажировка в компаниях-партнёрах
  • Дипломный проект от реального заказчика
  • Гарантия трудоустройства в компании-партнёры для выпускников, защитивших дипломные работы
Хочешь получать крутые статьи по программированию?
Подпишись на рассылку Skillbox
Новогодняя распродажа курсов