Инструмент программирования
Часть серии о |
Разработка программного обеспечения |
---|
Инструмент программирования или инструмент разработки программного обеспечения — это компьютерная программа , которую разработчики программного обеспечения используют для создания, отладки, обслуживания или иной поддержки других программ и приложений. Этот термин обычно относится к относительно простым программам, которые можно комбинировать для выполнения задачи, подобно тому, как можно использовать несколько рук для ремонта физического объекта. Самыми основными инструментами являются редактор исходного кода и компилятор или интерпретатор , которые используются повсеместно и постоянно. Другие инструменты используются в той или иной степени в зависимости от языка, методологии разработки и конкретного разработчика, часто используемые для отдельных задач, например отладчик или профилировщик. Инструменты могут представлять собой отдельные программы, выполняемые отдельно (часто из командной строки ), или могут быть частями одной большой программы, называемой интегрированной средой разработки (IDE). Во многих случаях, особенно для более простого использования, вместо инструмента используются простые специальные методы, такие как отладка печати вместо использования отладчика, ручное определение времени (для всей программы или раздела кода) вместо профилировщика или отслеживание ошибок в текстовый файл или электронная таблица вместо системы отслеживания ошибок.
Различие между инструментами и приложениями неясно. Например, разработчики используют простые базы данных (например, файл, содержащий список важных значений ) в качестве инструментов. постоянно [ сомнительно – обсудить ] Однако полноценная база данных обычно рассматривается как отдельное приложение или программное обеспечение. В течение многих лет искались инструменты компьютерной разработки программного обеспечения (CASE). Успешные инструменты оказались неуловимыми. В каком-то смысле инструменты CASE делают упор на поддержку дизайна и архитектуры, например, UML. Но наиболее успешными из этих инструментов являются IDE.
Использование инструментов программирования
[ редактировать ]Перевод с человеческого на компьютерный язык
[ редактировать ]Современные компьютеры очень сложны и для продуктивного их программирования необходимы различные абстракции. Например, вместо того, чтобы записывать двоичное представление программы, программист напишет программу на таком языке программирования , как C, Java или Python. Инструменты программирования, такие как ассемблеры , компиляторы и компоновщики, переводят программу с исходного языка, доступного для записи и чтения человеком, в биты и байты, которые могут быть выполнены на компьютере. Интерпретаторы интерпретируют программу «на лету», чтобы добиться желаемого поведения.
Эти программы выполняют множество четко определенных и повторяющихся задач, которые, тем не менее, отнимают много времени и подвержены ошибкам, если их выполняет человек, например размещение частей программы в памяти и исправление ссылок между частями программы, как это делает компоновщик. С другой стороны, оптимизирующие компиляторы могут выполнять сложные преобразования исходного кода, чтобы улучшить скорость выполнения или другие характеристики программы. Это позволяет программисту больше сосредоточиться на концептуальных аспектах программы более высокого уровня, не беспокоясь о деталях машины, на которой она работает.
Сделать информацию о программе доступной для людей
[ редактировать ]Из-за высокой сложности программного обеспечения большинство программ невозможно понять с одного взгляда даже самому опытному разработчику программного обеспечения. Абстракции, предоставляемые языками программирования высокого уровня, также затрудняют понимание связи между исходным кодом, написанным программистом, и реальным поведением программы. Чтобы найти ошибки в программах и предотвратить создание новых ошибок при расширении программы, разработчик программного обеспечения использует некоторые инструменты программирования для визуализации всех видов информации о программах.
Например, отладчик позволяет программисту извлекать информацию о запущенной программе с точки зрения исходного языка, используемого для ее программирования. Отладчик может вычислить значение переменной в исходной программе на основании состояния конкретной машины, используя информацию, хранящуюся в компиляторе. Отладчики памяти могут напрямую указать на сомнительные или явно неправильные обращения к памяти запущенных программ, которые в противном случае могли бы остаться незамеченными и являются частым источником сбоев программ.
Список инструментов
[ редактировать ]Программные инструменты бывают разных форм:
- двоичной совместимости Инструменты анализа
- Базы данных ошибок : Сравнение систем отслеживания ошибок – включая системы отслеживания ошибок.
- Инструменты сборки: автоматизация сборки , список программного обеспечения для автоматизации сборки.
- График звонков
- Покрытие кода : Покрытие кода#Инструменты покрытия программного кода .
- Проверка кода : список инструментов для проверки кода.
- Сайты кодообмена: Freshmeat , Krugle , SourceForge , GitHub . См. также Поисковые системы по коду .
- компиляции и компоновки Инструменты : GNU Toolchain , gcc , Microsoft Visual Studio , CodeWarrior , Xcode , ICC.
- Отладчики : Отладчик#Список отладчиков . См. также Отладка .
- Дизассемблеры : обычно инструменты для обратного проектирования .
- Генераторы документации : Сравнение генераторов документации , help2man, Plain Old Documentation , asciidoc
- Формальные методы : Математические методы спецификации, разработки и проверки.
- Генераторы графического интерфейса
- Генераторы интерфейсов библиотеки: SWIG
- Инструменты интеграции
- Отладчики памяти часто используются в языках программирования (таких как C и C++ ), которые позволяют управлять памятью вручную и, следовательно, исключают возможность утечек памяти и других проблем. Они также полезны для оптимизации эффективности использования памяти. Примеры: dmalloc , Electric Fence , Insure++ , Valgrind.
- Генераторы парсеров : Программное обеспечение для разработки Parsing#Parser
- Анализ производительности или профилирование: список инструментов анализа производительности.
- Контроль версий : Список программного обеспечения для контроля версий , Сравнение программного обеспечения для контроля версий
- Языки сценариев : PHP , AWK , Perl , Python , REXX , Ruby , Shell , Tcl.
- Поиск: grep , найти
- Поиск клонов/дубликатов исходного кода: повторяющийся код#Инструменты
- Редактор исходного кода
- Форматирование исходного кода : отступы , красивые принтеры , украшения , минификаторы.
- Инструменты генерации исходного кода : Автоматическое программирование#Реализации.
- Статический анализ кода : lint , Список инструментов для статического анализа кода
- Модульное тестирование: список фреймворков модульного тестирования.
Иды
[ редактировать ]Интегрированные среды разработки объединяют возможности многих инструментов в одном пакете. Например, они упрощают выполнение определенных задач, таких как поиск контента только в файлах определенного проекта. Например, IDE могут использоваться для разработки приложений корпоративного уровня.
Различные аспекты IDE для конкретных языков программирования можно найти в этом сравнении интегрированных сред разработки .
См. также
[ редактировать ]- компьютерной разработки программного обеспечения Инструменты
- Информатика
- Система конфигурации
- Язык сценариев
- Комплект для разработки программного обеспечения
- Разработка программного обеспечения и список тем по разработке программного обеспечения
- Программные системы
- Наборы инструментов для пользовательских инноваций
- Опыт разработчика
Ссылки
[ редактировать ]Эта статья включает список общих ссылок , но в ней отсутствуют достаточные соответствующие встроенные цитаты . ( Август 2010 г. ) |
Внешние ссылки
[ редактировать ]СМИ, связанные с инструментами программирования, на Викискладе?