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