Инструментальные программные средства используются в ходе разработки, корректировки или расширения других программ и включают в свой состав средства написания программ (текстовые редакторы), преобразования программ к виду, пригодному для выполнения на ПК (ассемблеры, компиляторы, интерпретаторы, загрузчики и редакторы связей), контроля и отладки программ (средства отладки).
При программировании для ПК используются: машинно-ориентированный язык Assembler, процедурно-ориентированные языки высокого уровня: Macro Assembler, Basic, Pascal, Delphi, С, Ada, Apl, COBOL, Forth, GPSS, LOGO, Modula, PL/1, Snobol, PRGT и многие другие; проблемно-ориентированные языки (функциональные языки, непроцедурные языки высокого уровня): DBase и его производные (FoxBase, FoxPro, Paradox и т. п.), LISP, PROLOG и т. д.
Для написания программы на одном из названных алгоритмических языков удобно использовать текстовый редактор, позволяющий формировать тексты в символах ASCII. Текстовый редактор позволяет удобно редактировать, формировать и объединять тексты программ, а некоторые — и контролировать синтаксис создаваемых программ (примеры популярных текстовых редакторов: MS Word, Lexicon, Side Kike, WordPerfect, Brief, Chi Writer, Norton Editor, Multi Edit, редакторы, встроенные в сервисные средства Norton Commander, PC Tools и многие другие).
Программа, написанная на алгоритмическом языке, должна быть преобразована (переведена) в объектную программу (объектный модуль), записанную на языке машины (двоичные коды). Подобное преобразование выполняется трансляторами: с языка ассемблер — ассемблером, с языков высокого уровня — компиляторами. Для некоторых алгоритмических языков используются интерпретаторы, не создающие объектный модуль, а при каждом очередном выполнении программы, преобразующие каждую ее отдельную строку или оператор на машинный язык; формирующие машинные команды с последующим непосредственным выполнением предписанных этими командами действий (интерпретаторы, естественно, существенно замедляют выполнение программы, поэтому использование компиляторов для отлаженных регулярно исполняемых программ предпочтительнее).
Объектный модуль затем обрабатывается загрузчиком — редактором связей (Link, Turbo Link), преобразующим его в исполняемую машинную программу, с объединением воедино отдельно скомпилированных его частей и привлечением дополнительных системных библиотек, содержащих стандартные подпрограммы и процедуры. На этапах трансляции, интерпретации и редактирования связей выполняется, как правило, синтаксический контроль программы с выдачей сообщений об обнаруженных ошибках.
Интерактивную отладку программы целесообразно выполнять с помощью специальных программных средств — средств отладки. Средства отладки позволяют выполнять трассировку программ (пошаговое ее исполнение с выдачей информации о результатах исполнения — содержимом регистров и ячеек памяти), производить проверку синтаксиса программы и промежуточных результатов в точках останова, осуществлять модификацию значений переменных в этих точках. Наиболее распространенный отладчик, включаемый в системное программное обеспечение, — DEBUG (более развитый его вариант Turbo Debugger).