Такой язык для написания программ называется автокодом, или языком ассемблера. Однако написание программ на языке ассемблера все же весьма трудоемко. Поэтому и после появления ассемблеров многие исследователи продолжали попытки облегчить процесс программирования, «научив» компьютеры понимать более удобные для человека языки составления программ. Такие языки стали называть языками программирования высокого уровня, а языки ассемблера и другие машинно-ориентированные - языками низкого уровня. Программы на языках высокого уровня либо преобразуются в программы, состоящие из машинных команд (это делается с помощью специальных программ, называемых трансляторами или компиляторами), либо интерпретируются с помощью программ-интерпретаторов. Персональные компьютеры - это универсальные устройства для обработки информации. Сам по себе компьютер не обладает знаниями ни в одной области своего применения, все эти знания сосредоточены в выполняемых на компьютере программах. Поэтому часто употребляемое выражение «компьютер сделал» (подсчитал, нарисовал) означает, что на компьютере была выполнена программа, которая позволила осуществить соответствующее действие. Меняя программы для компьютера, можно превратить его в рабочее место бухгалтера или конструктора, статистика или агронома, редактировать на нем документы или играть в какую-нибудь игру. При своем выполнении программы могут использовать различные устройства компьютера для ввода и вывода данных, подобно тому, как человеческий мозг пользуется органами чувств для получения и передачи информации. Таким образом, для эффективного использования компьютера необходимо знать назначение и свойства необходимых при работе с ним программ. Программы, работающие на компьютере, можно разделить на три категории: ■ прикладные программы, непосредственно обеспечивающие выполнение необходимых пользователям работ - редактирование текстов, рисование картинок, обработку информационных массивов и т.д.; ■ системные программы, выполняющие различные вспомогательные функции, например, создание копий используемой информации, выдачу справочной информации о компьютере, проверку работоспособности устройств компьютера и т.д.; ■ инструментальные системы (системы программирования), обеспечивающие создание новых программ для компьютера. Грани между указанными тремя классами программ весьма условны, например, в состав программы системного характера может входить редактор текстов, т.е. программа прикладного характера.