- •Программное обеспечение
- •Что такое программное обеспечение?
- •Прикладные программы Текстовые редакторы
- •Офисные пакеты
- •Онлайн-офис
- •Графические редакторы
- •Настольно-издательские системы
- •Редакторы звука и видео
- •По для работы в Интернете
- •Системное программное обеспечение Что такое операционная система?
- •Современные операционные системы
- •Драйверы устройств
- •Утилиты
- •Файловые системы
- •Системы программирования Зачем нужны системы программирования?
- •Языки программирования
- •Трансляторы
- •Состав системы программирования
- •Инсталляция программ
- •Правовая охрана программ и данных Авторские права
- •Типы лицензий на использование по
Системы программирования Зачем нужны системы программирования?
Процессор, выполняющий всю обработку данных, понимает только машинные команды (числовые коды). Чаще всего их записывают в шестнадцатеричном виде, например, так:
B82301052500
Чтобы понять, что делает этот код, нужно взять таблицу команд процессора и посмотреть, что означает каждая пара шестнадцатеричных цифр (байт).
Программы для первых компьютеров составляли именно в машинных кодах. Программирование было доступно только специалистам, отладка программы занимала очень много времени. Человек плохо воспринимает коды, поэтому для каждой машинной команды придумали символические обозначения. Например, приведенная выше программа – это две машинные команды для процессоров фирмы Intel, их можно записать так:
MOV AX,0123h
ADD AX,25h
Здесь AX – это имя регистра (ячейки памяти) процессора, команда MOV записывает в регистр новое значение, а команда ADD – добавляет число к содержимому ячейки. Буква «h» после числа означает, что оно записано в шестнадцатеричной системе счисления.
Чтобы переводить программу с такого языка в машинные коды, используют программы-ассебмлеры (англ. assembler — рабочий-сборщик), а сам язык называется языком ассемблера. Этот язык – машинно-ориентированный, потому что он определяется набором команд конкретного процессора (ориентирован на машину).
Очевидно, что программировать на языке ассемблера тоже не очень удобно – нужно хорошо знать команды процессора, организацию памяти и т.п. Кроме того, каждый процессор имеет свою систему команд и свой язык ассемблера. Это значит, что программы на языке ассемблера непереносимы – программа, написанная для одного процессора, не будет работать на другом.
Людям хочется (в идеале) разговаривать с компьютером на естественном языке, не думая о том, какой процессор он использует. К сожалению, пока это невозможно. Сейчас для программирования чаще всего используют компромиссный вариант – языки программирования высокого уровня или алгоритмические языки. Это формальные языки, созданные специально для разработки программ. Команды строятся из слов естественного (чаще всего, английского) языка, каждая команда воспринимается однозначно в соответствии с установленными правилами.
Вспомним, что процессор может выполнить только программу, написанную в машинных кодах. Поэтому возникает задача: перевести программу, написанную на языке высокого уровня, в машинные коды. Для этого используют специальные программы-трансляторы (англ. translator – переводчик). Кроме трансляторов, в системы программирования входят и другие программы, о которых будет рассказано далее.
Системы программирования – это программные средства для создания и отладки новых программ. |
Языки программирования
К 2010 году в мире было разработано более 8500 языков программирования. Первой программисткой в мире считается Ада Лавлейс, которая в 1843 году написала программу для аналитической машины Чарльза Бэббиджа. В 1979 году в США был разработан язык программирования Ада, названный в её честь. Один из первых алгоритмических языков – Фортран – создан в 1957 году, однако он и сейчас применяется для научных вычислений.
Как вы уже знаете, языки программирования можно разделить на языки низкого уровня (машинно-ориентированнные, языки ассемблера) и языки высокого уровня (алгоритмические языки). По области применения можно выделить несколько групп современных языков программирования:
профессиональные языки общего назначения: Java, C, C++, C#, Visual Basic, Delphi;
языки для программирования Интернет-сайтов: PHP, Javascript, Perl, ASP;
языки для решения задач искусственного интеллекта: Лисп, Пролог;
языки для обучения программированию: Бейсик, Паскаль, Лого, Рапира.
