Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

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

Использование инструментов программирования [ править ]

Перевод с человеческого на компьютерный язык [ править ]

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

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

Предоставление информации о программах людям [ править ]

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

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

Список инструментов [ править ]

Программные инструменты бывают разных форм:

  • Инструменты анализа двоичной совместимости
  • Базы данных ошибок : Сравнение систем отслеживания проблем - включая системы отслеживания ошибок
  • Инструменты сборки: автоматизация сборки , список программного обеспечения для автоматизации сборки
  • График звонков
  • Покрытие кода : покрытие кода # Инструменты покрытия кода программного обеспечения .
  • Проверка кода : список инструментов для проверки кода
  • Сайты для обмена кодом: Freshmeat , Krugle , Sourceforge , GitHub . См. Также поисковые системы по коду .
  • Инструменты компиляции и компоновки : GNU toolchain , gcc , Microsoft Visual Studio , CodeWarrior , Xcode , ICC
  • Отладчики : Debugger # Список отладчиков . См. Также Отладка .
  • Дизассемблеры : обычно инструменты обратного проектирования .
  • Генераторы документации : Сравнение генераторов документации , help2man, Plain Old Documentation , asciidoc
  • Формальные методы : математические методы для спецификации, разработки и проверки.
  • Генераторы интерфейса GUI
  • Генераторы интерфейсов библиотеки: SWIG
  • Инструменты интеграции
  • Отладчики памяти часто используются в языках программирования (таких как C и C ++ ), которые допускают ручное управление памятью и, следовательно, возможность утечек памяти и других проблем. Они также полезны для оптимизации использования памяти. Примеры: dmalloc , Electric Fence , Insure ++ , Valgrind.
  • Генераторы парсеров : Parsing # Программа разработки парсеров
  • Анализ производительности или профилирование: список инструментов анализа производительности
  • Контроль версий : Список программного обеспечения для контроля версий , Сравнение программного обеспечения для контроля версий.
  • Языки сценариев : PHP , Awk , Perl , Python , REXX , Ruby , Shell , Tcl
  • Искать: grep , найти
  • Исходный код Поиск клонов / дубликатов: повторяющийся код # Инструменты
  • Редактор исходного кода
    • Текстовые редакторы : Список текстовых редакторов , Сравнение текстовых редакторов.
  • Форматирование исходного кода : отступы , pretty-printers , beautifiers , minifiers.
  • Инструменты генерации исходного кода : Автоматическое программирование # Реализации
  • Статический анализ кода : lint , Список инструментов для статического анализа кода
  • Модульное тестирование: список фреймворков модульного тестирования

IDE [ править ]

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

В этом сравнении интегрированных сред разработки можно найти различные аспекты IDE для конкретных языков программирования .

См. Также [ править ]

  • Инструменты компьютерной разработки программного обеспечения
  • Информатика
  • Система конфигурации
  • Язык сценариев
  • Комплект для разработки программного обеспечения
  • Программная инженерия и список тем программной инженерии
  • Программные системы
  • Наборы инструментов для пользовательских инноваций

Ссылки [ править ]

  • Инструменты разработки программного обеспечения для Petascale Computing Workshop 2007
  • Керниган, Брайан В .; Plauger, PJ (1976), программные средства , Addison-Wesley, стр.  352 , ISBN 0-201-03669-X

Внешние ссылки [ править ]

СМИ, связанные с инструментами программирования на Викискладе?