Инструмент программирования


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

Различие между инструментами и приложениями размыто. Например, разработчики постоянно используют в качестве инструментов простые базы данных (например, файл , содержащий список важных значений ). [ сомнительно ] Однако полноценная база данных обычно рассматривается как самостоятельное приложение или программное обеспечение. В течение многих лет пользовались спросом инструменты компьютерной разработки программного обеспечения (CASE). Успешные инструменты оказались неуловимыми. С одной стороны, CASE-инструменты делали упор на поддержку дизайна и архитектуры, например UML. Но наиболее успешными из этих инструментов являются IDE.

Современные компьютеры очень сложны и для их продуктивного программирования нужны различные абстракции. Например, вместо того, чтобы записывать двоичное представление программы, программист напишет программу на таком языке программирования , как C, Java или Python. Инструменты программирования, такие как ассемблеры , компиляторы и компоновщики , переводят программу с исходного языка, доступного для записи и чтения человеком, в биты и байты, которые могут быть выполнены компьютером. Интерпретаторы интерпретируют программу на лету, чтобы добиться желаемого поведения.

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

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

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