Языки программирования можно разделить на следующие классы:
- машинные(computer language) языки, воспринимаемые аппаратной частью компьютера (машинные коды);
- машинно-ориентированные (computer-oriented language) языки, предназначенные для использования на конкретных ЭВМ (ассемблеры);
- алгоритмические(algorithmic language) – языки, не зависящие от архитектуры компьютера (Паскаль, Фортран, Бейсик и др.);
- процедурно-ориентированные(procedure-oriented language) – языки, в которых есть средства описания программы как совокупности процедур (подпрограмм);
- проблемно-ориентированные(universal programming language) языки, предназначенные для решения задач из определенной профессиональной деятельности (Лисп, РПГ, Симула и др.);
- интегрированные системы программированияв свою очередь делятся на языки, ориентированные на реализацию основ структурного программирования и объектно-ориентированные языки, поддерживающие понятие объектов и их свойств и методов обработки.
Системы программирования различаются по тому, какой язык программирования они реализуют, например:
- язык Си был изобретен для популярной ныне операционной системы UNIX. Он соединяет свойства языка высокого уровня с возможностью управления ресурсами компьютера, что обычно обеспечивается только при программировании на языке Ассемблера;
- язык Си++ представляет собой расширение языка Си. Язык облегчает создание сложных программ, реализует популярные в настоящее время концепции объектно-ориентированного программирования;
- язык Паскаль позволяет писать легко читаемые программы и содержит в себе все элементы, необходимые для соблюдения хорошего строгого стиля программирования. Это обусловливает большую популярность языка;
- язык Бейсик облегчает написание простых программ. Это – язык для начинающих. Множество версий этого языка иногда друг с другом не совместимы. Язык мало подходит для написания больших и сложных программ;
- языки Лисп и Пролог используют для построения экспертных систем.