Введение в программирование
Задачи профессии программиста
К основным задачам программиста относятся:
- разработка/апгрейд программного обеспечения;
- установка/запуск ПО;
- разработка инструкций и правил работы с программой;
- разработка алгоритмов, решающих задачи предприятия/заказчика;
- разработка специальных форм документов;
- обнаружение/исправление ошибок в выпущенном ПО;
- тестирование программ.
Карьера программиста
Сферы применения программирования
Наиболее популярными направлениями программирования являются в наше время следующие направления:
- веб-разработка;
- разработка мобильных приложений;
- разработка компьютерных игр;
- разработка приложений для десктопов.
Нельзя сказать, что за каждым из них жестко закреплены те или иные языки программирования. Например, на Java, C# можно успешно писать программы любой из перечисленных категорий.
Сферы применения программирования
Мобильная разработка
And roid (Java, библиотека (SDK), Kotlin);
iOS (Swift и несколько устаревший Objective-C)
Разработка настольных приложений
Используется широкий спектр ЯП и фреймворков:
- С++, Python в связке с Qt (простота создания оконных интерфейсов)
- Java – собственные возможности создания графических интерфейсов (AWT, Swing, JavaFX)
- JavaScript в связи с фреймворками Electron, Node Webkit.
Веб-разработка
Существует две специализации:
- фронтенд – написание программ, работающих на стороне клиента – браузер (HTML, CSS, JavaScript, Ruby, C# и др)
- Бэкенд – написание кода, работающего на стороне веб сервера (Java, Python, PHP)
Разработка игр
Раньше– C, C++, Java.
Сейчас «движки» – программные ядра с готовыми физическими моделями
Например, Unity, в связке с C#, JavaScript
Уровни языков программирования
Важное примечание важное примечание
Уровни языков программирования
Высокоуровневые языки
Формальные и естественные языки
Язык, на котором говорят люди. Например, русский, английский, китайский и т.п. Естественные языки не были разработаны людьми, они развивались естественным путём.
Данный язык разрабатывается людьми для определённых целей. Например, язык математических символов - это формальный язык, который придуман для обозначения отношений между числами, для записи формул. Или язык нот, который придуман для записи музыки на бумагу.
Формальные и естественные языки
Языки программирования - это формальные языки, предназначенные для записи алгоритмов и вычислений в виде программы.
Формальные языки обычно имеют строгие синтаксические правила (правила языка), которым безоговорочно подчиняется структура кода.
Например, в математика выражение 3 + 2 = 5 имеет правильный синтаксис.
А вот 3 + 2 равно 5 имеет НЕ правильный синтаксис
Формальные и естественные языки
Программа – это описание на формальном языке, «понятном» компьютеру, последовательности действий, которые необходимо выполнить над данными для решения поставленной задачи.
Программа как вид информационной модели
Информационная модель – описание объектов или процессов с помощью набора величин и/или изображений, содержащих необходимую информацию об исследуемых объектах или процессах. Информационные модели представляют объекты и процессы в образной или знаковой форме.
Программа как вид информационной модели
Компьютерная модель – это представление объектов, процессов, явлений средствами специальных компьютерных программ: графических, анимационных редакторов, табличных процессоров, программ для создания баз данных, специализированных компьютерных тренажеров-симуляторов, виртуальных лабораторий.
Программа как информационный процесс
Информационные процессы — это действия над информацией или с ней.
- Получение;
- Передача информации;
- Хранение информации;
- Обработка информации.
Понятие «алгоритм»
Алгоритм – описание последовательности действий (план), строгое исполнение которых приводит к решению поставленной задачи за конечное число шагов.
Понятие «алгоритм»
Стадии создания алгоритма:
Алгоритм должен быть представлен в форме, понятной человеку, который его разрабатывает.
- Алгоритм должен быть представлен в форме, понятной тому объекту (в том числе и человеку), который будет выполнять описанные в алгоритме действия.
Исполнитель - объект, который выполняет алгоритм.
Элементы блок-схемы
Элементы блок-схемы