Словарь полезных терминов

Декомпозиция - разделение чего-то большого и сложного на части попроще. Декомпозировать задачу ~ разбить задачу на подзадачи ~ “Есть слона по частям”.

Стек - это тип данных, работающий по принципу, напоминающему стопку блинов: чтобы съесть первый по времени приготовления блин, нужно съесть все блины, приготовленные позже. (Или верхний блин будет съеден первым, хотя его положили последним).

Классы - модель какого-то предмета из реального (и не только) мира, описывающая его свойства и функции. Например, у автомобиля свойствами будет его марка, цвет и др, а функцией будет возможность ехать, открывать двери и т.п.

Объект (экземпляр класса) - частный пример класса, то есть автомобиль конкретной марки и конкретного цвета.

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

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

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

Зависимости - если в проекте используется какая-то библиотека, то он становится зависим, а сама библиотека будет считаться его зависимостью.

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

Киллер фича - фича, которая есть только у данного продукта, и которая дает ему преимущества на рынке.

API (программный интерфейс приложения) - набор правил и команд, позволяющий одной программе взаимодействовать с другой. Чаще используется для получения информации, которая есть только у “другой” программы. Примеры: Yandex.Maps API, VK API.