Python-разработчик: кто это, должностные обязанности и размер зарплаты

Что такое Python?

Python – это популярный язык программирования, на протяжении последних 5 лет он стабильно держится в тройке лидеров. Именно с него новичкам рекомендуют начинать изучать программирование, а опытные специалисты изучают его как второй или третий. Востребованность Питона объясняется его простотой и универсальностью: в нем меньше символов, более простой синтаксис, в результате код получается проще, короче. При этом Пайтон интегрируется с другими языками программирования: C, C++, Юникодом и может использоваться в любой сфере разработки. Он одинаково хорошо работает на всех платформах и операционных системах.

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

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

Начало работы в Python

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

Чем он хорош: в нём есть всё, что понадобится в работе.

В Anaconda уже встроены:

  • все библиотеки машинного обучения и библиотеки для работы с данными (например, NumPy и Pandas);
  • библиотека для визуализации (Matplotlib);
  • надстройка Jupyter, чтобы программировать прямо в браузере.

После того как вы установили и открыли Anaconda, у вас появится вот такое окно:

Кнопкой Launch запустим «тетрадку» Jupyter, которая откроет ваш дефолтный браузер. После этого ваше рабочее пространство будет выглядеть так:

Или так:

По функциональности они абсолютно одинаковые.

Важная особенность: комментарии в Python делаются с помощью решетки, вот так:

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

Во-первых, чтобы написать небольшое пояснение (например, к какой-то функции).

Во-вторых, можно закомментировать часть кода, чтобы посмотреть, как остальной код работает без этой части.

Выполнение кода. Для этого используется Shift+Enter, Ctrl+Enter или значок «Пуск».

В чём разница?

Если нажать Shift+Enter, то курсор перескочит на следующую ячейку.

Если нажать Ctrl+Enter — останется в той, где вы работали.

Плюсы и минусы профессии

Плюсы

  1. Возможность обучаться самостоятельно, что удобно для людей, которые решили отойти от сложного программирования.
  2. Быстрое обучение.
  3. Большое русскоязычное сообщество программистов.
  4. Красивый и простой код языка, что существенно ускоряет процесс разработки.
  5. Небольшое количество программистов, хорошо владеющих Python.
  6. Востребованность, поэтому работы будет много.

Минусы

  1. Язык Python менее популярный, чем Java, C/C++, что оказывает существенное влияние на размер заработной платы.
  2. Рассматриваемый язык программирования может быть вторым, но не первым языком.
  3. Программисты Python востребованы в известных компаниях, базирующихся в Москве, СПб и других крупных городах. Поэтому с поиском работы в отдаленных регионах у разработчика, который владеет только одним языком программирования, могут возникнуть проблемы.
  4. Для трудоустройства в крупную компанию необходимо иметь 2-3 года работы с Java, C/C++.

Научитесь самостоятельно программировать на Python

Изучите Python с помощью PythonRU.com

PythonRu предлагает уроки и примеры, которые помогут в обучении программированию с нуля.

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

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

Рекомендуемые книги

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

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

Обложка Описание
Третье издание «Изучаем Python» – это учебник, написанный доступным языком, рассчитанный на индивидуальную скорость обучения. В книге представлены основные типы объектов в языке Python, порядок их создания и работы с ними, а также функции как основной процедурный элемент языка.
Автор начинает с описания ключевых элементов Python, знание которых необходимо в качестве базовых понятий. Затем обсуждаются более сложные темы, поданные так, чтобы читатель мог постепенно наращивать свой опыт: распределение вычислительной нагрузки между несколькими процессами и потоками, использование сложных типов данных, управляющих структур и функций, создание приложений для работы с базами данных SQL и с файлами DBM.
Книгу можно рассматривать как современное практическое введение в разработку научных приложений на Python, ориентированных на обработку данных. Описаны те части языка Python и библиотеки для него, которые необходимы для эффективного решения широкого круга аналитических задач: интерактивная оболочка IPython, библиотеки NumPy и pandas, библиотека для визуализации данных matplotlib и др.
Научите своих детей программировать уже сейчас с помощью этой книги! В книге представлен язык Python, один из самых популярных и простых. Вы найдете здесь много упражнений – полезных, интересных и забавных, поэтому ваш ребенок не заскучает. Материал написан доступно и просто, поэтому ему не составит труда освоить азы программирования.

Python — потрясающий язык. Синтаксис настолько прост, и длина кода настолько коротка, что делает его понятным и легким в написании.

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

Легко упустить из виду факт, что Python — мощный язык. Хорош для обучения программированию. Воплотите свою идею, создайте игру или начните с Data Science, Python поможет во всем, чтобы вы не затеяли.

Особенности профессии Python-программиста

Опытные программисты постоянно обучаются, ведь если не получать новые знания, то разработчик быстро потеряет и квалификацию, и ценность на рынке труда. Python — это язык программирования широкого назначения, который разработчику желательно знать. Чаще всего за изучение Python берутся программисты, которые уже имеют солидный опыт работы с C++ или Java. Дело в том, что навыки работы с объектно-ориентированным программированием позволяют освоить Python в сжатые сроки.

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

Разработчик Python занимается сопровождением ПО, которое он разработал или модернизировал, обучением сотрудников, подготовкой инструкций, документации.

Практика: делаем график курса доллара

Приступим к последнему заданию — сделаем в Python график курса доллара с начала 2019 года.

Для начала импортируем библиотеки Numpy (в ней удобно работать с массивами и матрицами), Pandas (работа с CSV-файлами) и Matplotlib (визуализация).

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

На сайте Центрального Банка РФ скачаем CSV-файл с курсом от начала года.

Записываем скачанный файл в переменную money:

Теперь если мы выведем money, то увидим таблицу с курсом.

Вот такую:

В России принято отделять десятичную часть запятой, поэтому перед созданием графика мы напишем маленькую функцию, которая заменит запятые точками.

Теперь осталось только показать график командой:

Если вы всё сделали правильно, то сейчас вы видите график курса доллара США, у нас получилось вот так:

Python не привлекает девушек

Программисты женского пола, согласно отчету SuperJob, в большинстве своем не интересуются Python. 91% соискателей, пишущих на этом языке – это мужчины.

Быстрее, выше, сильнее: около сотни цифровых решений для спортсменов предложили разработчики столичным федерациям и клубам
Инновации и стартапы

Усредненный портрет соискателя на вакансию программиста Python

Критерий Средний показатель
Средний возраст 29 лет
Мужчины 91%
Имеют высшее образование 77%
Готовы к переезду 25%
На момент размещения резюме не имели работы 58%
Средний срок работы на последнем месте 1,8 года

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

Какие компании используют Python

В основном Python используется стартапами и компаниями, которые разрабатывают крупные проекты. Вот лишь часть огромного списка:

  • Alphabet использует язык для скраппинга в поисковике Google и реализации сервиса YouTube;
  • One Laptop Per Child — для разработки интерфейса и модели функционирования;
  • BitTorrent — для реализации сетей peer-to-peer;
  • Агентство национальной безопасности США — для шифрования и анализа разведданных;
  • ESRI — как инструмент настройки геоинформационных программ;
  • Maya — для создания мультипликации;
  • Pixar, Industrial Light & Magic — для создания анимационных фильмов;
  • Intel, Cisco, HP, Seagate, Qualcomm и IBM — для тестирования;
  • JPMorgan Chase, UBS, Getco и Citadel — для прогнозирования финансового рынка;
  • NASA, Los Alamos, Fermilab, JPL — для научных вычислений;
  • iRobot — для разработки коммерческих роботизированных устройств;
  • IronPort — для реализации почтового сервера.

Плюсы и минусы профессии

Плюсы профессии:

Минусы профессии:

  • Язык программирования Питон подходит для новичков, его относительно легко и просто выучить даже человеку, не работавшему в ИТ.
  • Много литературы и документации на русском языке, большое сообщество русскоязычных специалистов.
  • Быстрое обучение, поскольку команды языка и сам код интуитивно понятны.
  • Популярность языка продолжает расти, что обеспечивает Python программистам хорошую востребованность среди работодателей.
  • Python разработчики работают в крупных компаниях, например, такие вакансии есть в Яндекс, Майл.ру, Facebook, Yahoo, Instagram.
  • Высокие зарплаты.
  • Часто работодатели ищут сотрудников, которые помимо Python, знают другие языки программирования, например, Java. Это связано с тем, что Питон обычно используется для создания части программного продукта, а для другой части необходимо знать дополнительные языки.
  • Вакансий программистов на Python больше в Москве и Санкт-Петербурге. Если вы живете в регионе, скорее всего, вам потребуется искать удаленную работу или заказы на фрилансе.
  • Новичкам сложнее найти работу, чем опытным специалистам. Как решить эту проблему, расскажем в статье ниже.

Уровень зарплат в России и в других странах

В Москве программист Python получает от 30 000 до 450 000 рублей в зависимости от компании и его уровня квалификации. В Санкт-Петербурге от 25 000 до 350 000. Средняя зарплата разработчика составляет 120-150 тысяч в городах федерального значения и 75-100 в региональных центрах.

В странах СНГ сильный разброс зарплат. Например, в Узбекистане средний доход составляет от 20 до 40 тысяч в пересчете на российские рубли. В Белоруссии средняя зарплата — 2-3 тысячи долларов.

Зарплата в странах Европы составляет от 1500 до 5000 долларов в месяц в зависимости от страны и квалификации сотрудника. В США программистам предлагают от 2500 до 8500 тысяч долларов в месяц.

Модули, библиотеки, import

Язык Python хорош тем, что в него встроено большое количество модулей и библиотек по умолчанию. Более того, их можно дополнительно установить из официального репозитория при помощи команды «pip install название_модуля» в терминале проекта.

Модули (один файл) и библиотеки (несколько файлов с обязательным наличием документа __init__.py) расширяют возможности программистов и упрощают работу. Не нужно создавать велосипед заново, так как его уже кто-то сделал ранее для вас. Нужно лишь им воспользоваться, чтобы добраться из точки А в точку Б.

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

Итак, в стандартном наборе модулей имеется random, используемый для работы со случайными числами и генерацией оных, выборкой рандомных значений и т.п. Дополнительных установок не потребуется.

Перечислим все способы абсолютного импортирования в Питоне:

Сначала указываем модуль, а потом функцию через точку.

Модуль указывать не требуется.

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

Навыки

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

Поэтому с точки зрения кандидата, у которого нет никакого практического опыта, полезно накидать облако тегов, чтобы показать, что вы это пытались трогать и у вас есть какое-то плюс-минус представление о технологии:

Резюме от студентки 1-го курса магистратуры, факультет «Информатика и системы управления» и претендента на Junior Python backend and frontend разработчика

С другой стороны, в приведенных резюме складывается впечатление, что человек просто пока не определился. В результате рекрутер вместе с вами будет проходить этот список, по очереди уточняя, на каком уровне вы всё это умеете. Потому что у HR-ов были случаи, что человек указывал навык, потому что интересовался им, но на самом деле ничего не умел.

Лучше в облаке тэгов выделить те навыки, которые требуются на выбранную вами позицию. После чего их стоит отранжировать и добавить хотя бы пару слов, чтобы рекрутер понимал, на каком уровне вы знаете, например, Python или Go — базово, хорошо или отлично. Можно проставить уровень владения навыком — от 0 до 5, к примеру. Рекрутеры при этом смогут понять и то, на сколько вы сами себя оцениваете. Например, Python — 3 из 5, Django — 4 из 5, Go — 4 из 5. 

Иначе у рекрутеров сложится только абстрактное понимание, что кандидат — есть. Чего он хочет и куда его применить — непонятно. Поэтому пишите больше конкретики, если не хотите отвечать рекрутеру на вопросы типа «Как изучались языки?», «Какие задачи понравились больше, а какие кажутся интересными?», «А какие — посильными?», «Что при этом вызвало трудности, а что планируется изучать дальше?». Вплоть до «Сколько времени можете уделять на стажировку?». Обо всем этом можно написать более развернуто в разделе навыков или в блоке «О себе».

Следующий пример — противоположный джуновскому. Это не резюме на конкретную позицию, а общее перечисление того, что человек умеет, так было в профайле LinkedIn. 

Профайл из LinkedIn

В этом случае часто рекрутеры не знают, что же конкретно предложить. Непонятно, что конкретно вам интересно, чтобы не присылать потенциально лишние вещи.

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

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

В целом, для отклика на вакансию, лучше оставлять только то, что там требуется. Если это вакансия Perl-программиста, то пишите то, что связано с Perl. Если на Python, то все, что связано с Python. О нескольких резюме мы поговорим дальше.

Преимущества Python

  • Скорость выполнения программ написанных на Python очень высока. Это связанно с тем, что основные библиотеки Python
    написаны на C++ и выполнение задач занимает меньше времени, чем на других языках высокого уровня.
  • В связи с этим вы можете писать свои собственные модули для Python на C или C++
  • В стандартныx библиотеках Python вы можете найти средства для работы с электронной почтой, протоколами
    Интернета, FTP, HTTP, базами данных, и пр.
  • Скрипты, написанные при помощи Python выполняются на большинстве современных ОС. Такая переносимость обеспечивает Python применение в самых различных областях.
  • Python подходит для любых решений в области программирования, будь то офисные программы, вэб-приложения, GUI-приложения и т.д.
  • Над разработкой Python трудились тысячи энтузиастов со всего мира. Поддержкой современных технологий в стандартных библиотеках мы можем быть обязаны именно тому, что Python был открыт для всех желающих.

Как стать Python разработчиком, что нужно знать и уметь?

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

  • Сам язык программирования: синтаксис, операторы, выражения, циклы, массивы, функции. Базовую подготовку можно получить в Skillbox. Здесь есть 6-ти месячный курс для новичков.
  • Алгоритмы.
  • Фреймворк Django, если планируете трудиться в веб-разработке.
  • Освоить работу с базами данных.
  • Иметь представление, что такое ООП (объектно-ориентированное программирование).
  • Тестирование кода.
  • Знать, как работать с API сторонних сервисов.

Работа с циклами и условиями

Теперь посмотрим, как в Python устроены условия и циклы, которые позволяют направить вычисления в ту или иную сторону.

Для условий используются классические структуры if — else. Давайте с их помощью проверим число на чётность:

Важная особенность синтаксиса (хорошо видна в примере выше): для создания иерархии в Python используется отступ, а не фигурные скобки, как в некоторых других языках. Сначала это непривычно, но не пугайтесь: вы быстро привыкнете.

Циклы позволяют выполнять какое-то действие больше чем один раз. Виды циклов:

  • while: действие будет выполняться до тех пор, пока выполняется условие;
  • for: действие будет выполнено определённое количество раз.

Посмотрим на примерах, как это работает.

ПРИМЕР 1

Такой код выведет нам последовательность чисел от 10 до 0, а потом остановится.

ПРИМЕР 2

Здесь мы получим последовательность от 10 до 1 и напечатанное «Hurray!» в конце.

Перед работой с For-циклом надо узнать, что такое массив.

Массив — это набор информации, который представляется так:

В одном массиве можно хранить переменные разных типов. Например, в нашем массиве array хранится один int, два float и один str. Индексы в Python начинаются с нуля, поэтому чтобы получить информацию с первого места (в нашем случае цифру 1), напишем вот так:

С элементом массива можно работать как с обычным числом, то есть если написать array +1, мы получим 2.

Напишем простенький цикл:

Уровень зарплаты

Если есть возможность писать цену, лучше это сделать. Есть не очень богатые компании или стартапы, у которых нет HR-отдела и тимлидов. У них полтора землекопа и они всё делают сами

Для них несколько тысяч рублей (10-50 в зависимости от богатства) — это важно. Поэтому разработчик за 100 и за 150 тысяч рублей для  них — большая разница

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

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

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

Где искать вакансии для Python разработчика

Вакансии в России стоит искать на популярных специализированных сайтах:

  • https://hh.ru/,
  • https://www.superjob.ru/,
  • https://www.rabota.ru/,
  • https://ru.indeed.com/.

Предложения вакансий в других странах попадаются на https://ru.indeed.com/. Есть специализированный сайт по поиску работы заграницей — в СНГ, Китае, в Европе и США — https://24ru.com/, но на нем уровень зарплат занижен. Возможность трудоустроиться заграницей предоставляют и платформы для программистов-фрилансеров, например https://www.upwork.com/, где после удачного выполнения проекта вас могут заметить и предложить сотрудничество.

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

Стажерам на последних курсах института некоторые компании предлагают всего 20 000 рублей, но в целом, зарплаты на рынке далеко не всегда соответствуют квалификации программиста (обычно они занижены), поэтому очень важно для соискателя правильно оценивать свою квалификацию и рынок труда

Где используется Python и почему

В последние 5 лет Питон непрерывно находится в тройке самых популярных языков программирования. У него есть ряд сильных сторон, которые привлекают разработчиков со всего мира.

К типичным областям использования Python относят:

  • Веб-разработка (сайты любой сложности и функциональности без проблем создаются при помощи данного языка);
  • Работа с базами данных (можно работать как с «встроенной» sqlite3, так и любыми другими – реляционными и нереляционными);
  • Графические приложения (реально не просто писать исполняемые скрипты, но и разрабатывать полноценные графические интерфейсы под свои нужды);
  • Научные задачи (сложные вычисления, машинное обучение, нейронные сети);
  • Сетевое программирование (включает не только взаимодействие с сайтами, но и почтовыми сервисами, JSON-объектами, Интернет-протоколами);
  • Бизнес-приложения и игровая индустрия (ERP-системы, непрерывная разработка и тестирование, простые игры).

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

Основные показаны ниже (рис. 1).

Сильные стороны языка Python

Простота подразумевает легкость освоения и высокий уровень абстракции (минимум кода при максимальном эффекте).

Выразительность связана с минимальным количеством кода для достижения результата (некоторые особенности Питона сокращают объем кода чуть ли не до одной строки, если сравнивать с другими языками).

Скрипты на Python’e легко читать: нет лишних символов, нагромождения скобок, дополнительных уточнений.

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

Немаловажно и то, что исходный код Python свободно распространяется. Любая редакция языка доступна каждому как для личных, так и коммерческих нужд

Кроссплатформенность в дополнение ко всему гарантирует достижение идентичных результатов что на Windows, Linux, MacOS, так и на мобильных системах.

Отметим, также, ключевые плюсы и минуса Питона (таблица 1).

Плюсы Минусы
Легко изучать, писать и читать код Относительно медленный
Интерпретируемый (исполняет код на лету) Не всегда эффективно расходует память
Динамически типизированный Ограничен в мобильной разработке
С открытым исходным кодом При исполнении могут возникать ошибки, что требует тщательного тестирования
Имеет широкую поддержку  

Таблица 1 – Сильные и слабые стороны Python’a

Где платят больше всего

Если программист Python живет в Москве или работает на столичную компанию удаленно, то его максимальная зарплата, по данным SuperJob, составит 400 тыс. руб., а минимальная – 80 тыс. руб. Российская столица – лидер рейтинга, и за ней следуют Санкт-Петербург и Екатеринбург с минимальной зарплатой 70 тыс. руб. и максимальной 350 тыс. руб.

Уровень зарплат программистов Python по городам России

Зарплатный диапазон, в месяц I кат., руб. II кат., руб. III кат., руб. IV кат., руб. В среднем по рынку, руб.
Москва 80000—100000 100000—130000 130000—220000 220000—400000 180 000
Санкт-Петербург 70000—80000 80000—110000 110000—180000 180000—350000 150 000
Архангельск 50000—65000 65000—85000 85000—145000 145000—260000 120 000
Астрахань 50000—60000 60000—80000 80000—135000 135000—240000 110 000
Белгород 55000—70000 70000—90000 90000—150000 150000—270000 120 000
Владивосток 65000—80000 80000—110000 110000—180000 180000—350000 150 000
Волгоград 55000—70000 70000—90000 90000—150000 150000—280000 120 000
Воронеж 60000—75000 75000—95000 95000—165000 165000—300000 130 000
Екатеринбург 70000—80000 80000—110000 110000—180000 180000—350000 150 000
Казань 60000—75000 75000—95000 95000—160000 160000—300000 130 000

Меньше всего, вне зависимости от категории и опыта работы, знающие Python программисты зарабатывают в Астрахани. В этом городе они могут рассчитывать минимум на 50 тыс. руб. и максимум на 240 тыс. руб. Как ни странно, но схожая ситуация с зарплатами складывается и у программистов C# — в ноябре 2020 г. CNews писал, что Астрахань заняла предпоследнее место в аналогичном рейтинге SuperJob, обогнав лишь Оренбург.

Основные принципы ФП

  • Функции являются объектами первого класса (First Class Object).
    Это означает, что с функциями вы можете работать, также как и с данными — передавать их в качестве аргументов другим функциям, присваивать переменным и т.п.
  • Использование рекурсии в качестве основной структуры контроля потока управления. В некоторых языках не существует иной конструкции цикла, кроме рекурсии.
  • Акцент на обработке списков (lists, отсюда название Lisp — LISt Processing). Списки с рекурсивным обходом подсписков часто используются в качестве замены циклов.
  • Используются функции высшего порядка (High Order Functions). Функции высшего порядка – функции, которые могут в качестве аргументов принимать другие функции.
  • Функции являются “чистыми” (Pure Functions) – т.е. не имеют побочных эффектов (иногда говорят: не имеют сайд-эффектов).
  • Акцент на том, что должно быть вычислено, а не на том, как вычислять.
Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector