Программное обеспечение: структура, основные типы, примеры
Содержание:
- Содержание
- Парадигмы программирования
- Назначение и состав систем программирования
- Советы для начинающих
- §41. Системы программирования
- Система — программирование
- Что входит в состав комплекса, основные компоненты
- Проблемы программирования
- Системное, что включает
- Примеры языков и систем программирования
- Языки программирования — основные понятия
- Что такое система программирования
Содержание
Используя этот метод, разработчик частной системы может задать стратегию планирования, управление ресурсами, учет ресурсов и другие средства обслуживания, которые будут управлять процессами внутри этой системы.
Системные программисты — разработчики программ после завершения разработки и проверки пакета передают его на эксплуатацию.
Системные программисты — люди, наиболее посвященные в тайны вычислительной техники и программирования, их основная работа связана с составлением ( преимущественно на АССЕМБЛЕРе), отладкой и сопровождением самых сложных программ и их комплексов. Эта группа предъявляет особые требования к диалогу.
Системный программист имеет возможность выбора любого из цилиндров для хранения индекса цилиндров, при этом он должен стремиться минимизировать время перехода от индекса цилиндров к цилиндрам, содержащим записи. Как ни странно, очень часто для этой цели отводят цилиндр О, несмотря на то что в большинстве случаев этот выбор является наихудшим. При равномерном распределении ( по цилиндрам) обращений к записям целесообразно отвести для этой цели цилиндр, близкий к середине набора данных.
Если распределение обращений не является равномерным, то соответствующими вычислениями можно выбрать оптимальное размещение индекса цилиндров.
Системный программист осуществляет текущие изменения в программное и информационное обеспечение системы, обусловленные тем, что АСУ ТП как сложная система постоянно развивается и совершенствуется.
Многие системные программисты отмечают естественный недостаток описанной стратегии минимизации числа вытеснений, заключающийся в том, что иногда применение этой стратегии приводит к удалению из основной памяти активно используемой информации. Предложен ряд решений этой проблемы, но, по существу, все они сводятся к предоставлению самим прикладным программам средств управления освобождением страниц. Для этого в программах должны указываться текущие страницы, где локализованы обращения, а также страницы, которые несмотря на проведенные в последнее время изменения, можно просто удалить.
Один системный программист, возвращаясь с семинара должен был как-то убить время, ожидая свой самолет в аэропорту. Правила игры такие: надо составить из этих четырех кубиков прямоугольную призму, каждая боковая грань которой раскрашена во все четыре цвета без повторений.
Для системных программистов, изготавливающих продукт многократного использования, проблема эффективности является одной из наиболее важных. В этом смысле их задача заключается в том, чтобы найти узкие места II улучшить критические характеристики программы.
Студенты, системные программисты, операторы и другой технический персонал часто считает взлом системы безопасности локальной компьютерной системы личным вызовом. Как правило, они имеют высокую квалификацию и готовы посвящать достижению поставленной перед собой цели значительное количество времени.
Парадигмы программирования
Парадигма программирования — это совокупность идей и понятий, определяющая стиль написания программ. Парадигма, в первую очередь, определяется базовой программной единицей и самим принципом конструирования программы.
Парадигмы программирования определяются наборами инструментов, а именно, языком программирования и используемыми библиотеками и системами программирования.
В качестве парадигм — единиц выступают:
- определения (декларативное программирование),
- предикаты (логическое программирование),
- функции функциональное программирование),
- действие (императивное программирование),
- правило (продукционное программирование),
- диаграмма переходов (автоматное программирование) и др.
Software 2.0: Как новый подход к разработке ПО заставит компьютеры поумнеть
Парадигма Software 2.0 — подход к разработке программного обеспечения, который способен совершить качественный рывок в области развития компьютинга. Целью Software 2.0 служит создание модели, которая сама может породить коды, она обучается тому, какие коды в соответствие с заданными правилами должны быть созданы для получения тех или иных результатов. Подробнее здесь.
Назначение и состав систем программирования
Рассмотрим основные составляющие системы программирования:
- Редактор текста
- Язык программирования
- Библиотека подпрограмм
- Редактор связей (компоновщик)
- Транслятор
- Отладчик
Для сознательного понимания назначения составляющих системы программирования опишем этапы процесса разработки программы, связанные с использованием компьютера.
Редактор исходного кода
Вводим текст разработанной программы, которую называют исходным кодом, в компьютер и храним в памяти. Для этого система программирования имеет редактор текста, который обеспечивает ввод и редактирование исходного кода.
Компиляция и интерпретация
После введения программы и исправления ошибок, которые могли произойти во время ввода, осуществляется преобразование программы с языка программирования высокого уровня в двоичный код.
Такое преобразование осуществляется с помощью транслятора программ.
Различают два типа трансляторов: компиляторы и интерпретаторы.
В процессе интерпретации исходных текстов программ каждая команда (инструкция) последовательно превращается в двоичный код и сразу выполняется — на экране высвечивается результат ее выполнения. После завершения одной команды выполняется следующая и так далее до последней команды. Но результат преобразования не сохраняется, и каждый запуск программы начинается сначала.
В процессе компиляции осуществляется преобразование всего текста программного кода в двоичный код. Полученную после компиляции программу называют объектным модулем. Такая программа еще не готова к выполнению.
Исходный код обычно содержит ссылки на другие модули (подпрограммы), которые содержатся в библиотеке подпрограмм (например, модуль вычисления квадратного корня). Таким образом, к программному модуля нужно добавить коды необходимых подпрограмм, чтобы подготовить программу для исполнения.
Компилируемая программы выполняются быстрее интерпретируемых. Режим интерпретации нуждается в дополнительной основной памяти, поскольку интерпретатор должен все время храниться вместе с кодом. Но интерпретация в работе удобнее. Особенно для программистов, которые только начинают работать с системами программирования, так контролируется результат каждой команды.
Компоновка
После компиляции компоновщик (редактор связей) «склеивает» отдельные двоичные модули в единую программу, которая называется исполняемой программой. Этот процесс представлены на схеме:
Для дальнейшего выполнения программного кода, компилятор не нужен. Итак, после компиляции программа представлена двоичными символами 1 и 0 и готова к исполнению на компьютере.
Отладка и тестирование
Полученная программа, даже если она выполняется, не гарантирует, что нет логических ошибок. Она может выполняться, но результат исполнения может быть неправильным. Поэтому нужно провести тестирование (испытания) программы на предмет выявления и устранения в ней логических ошибок.
Тестирование — достаточно ответственный этап. В крупных IT-компаниях над разработкой программ, которые называют проектами, работают десятки и даже сотни программистов разных направлений. Одни из них разрабатывают проекты, другие занимаются тестированием программ, экономическим обоснованием и тому подобное.
На этом этапе применяется отладчик программ, который позволяет пошагово анализировать программу. Отладчик позволяет выполнять трассировку программы, устанавливать и удалять контрольные точки в программах, условия приостановления выполнения программы и тому подобное.
Советы для начинающих
Все языки программирования не перечислить, здесь были приведены только самые популярные из них. У каждого есть свои плюсы и минусы, потому что они ориентированы на разные сферы. Какой-то язык подходит для написания Flash-анимации, но не годится для работы с браузерами, какой-то — в точности до наоборот.
Так что нужно крепко подумать перед тем, как браться за изучение определённого языка.
Обычно программисты либо начинают с языков попроще, а потом постепенно выбирают самый подходящий под свои задачи и специализируются в этой области, либо же становятся многоязычными и продолжают потихоньку пользоваться каждым из них.
Эксперты рекомендуют новичкам начинать обучение с Visual Basic, потом переходить на С++, а уже после этого выбирать язык, который покажется самым интересным, удобным и полезным.
§41. Системы программирования
Состав системы программирования
В состав системы программирования обычно входят:• транслятор;
• компоновщик (редактор связей, сборщик, англ, linker) — программа, которая собирает разные части (модули) создаваемой программы и функции из стандартных библиотек в единый исполняемый файл. На рисунке 6.16 показано, как собирается программа на языке Си, состоящая из двух модулей (исходные файлы qq.c и qql.c).
Рис. 6.16
отладчик1
1 Согласно одной из версий, это название связано с жучком, который попал между контактов реле компьютера Mark II в 1947 г. Дословно: debug — «удаление жучков».
профилировщик
Любая система программирования включает библиотеки стандартных подпрограмм. Это набор готовых процедур и функций, которые можно вызывать из своей программы. Например, в большинстве языков программирования есть стандартные функции для вычисления синуса и косинуса. Они подключаются к программе на этапе сборки, это делает компоновщик.
Многие программы используют одни и те же достаточно сложные системные функции (например, операции с окнами в графической среде). Если включать эти функции в код каждой программы, размеры исполняемых файлов намного увеличатся, из-за этого жёсткий диск и память будут расходоваться неэффективно.
Поэтому библиотеки таких функций хранятся на диске в виде отдельных файлов — динамически подключаемых библиотек, в системе Linux они имеют расширение so (от англ, shared objects — разделяемые объекты), а в Windows — расширение dll (от англ, dynamic-link library — динамически подключаемая библиотека). Когда программа вызывает функцию из такой библиотеки, библиотека загружается в память, и управление передаётся вызванной функции. Несколько программ могут обращаться к одной и той же копии библиотеки в памяти.
Набор стандартных структур данных и функций операционной системы, которые программисты могут использовать в прикладных программах, называется интерфейсом прикладного программирования (англ. API — Application Programming Interface). В ОС Windows применяется Windows API, а в Unix-подобных операционных системах — стандарт POSIX (англ. Portable Operating System Interface for Unix — переносимый интерфейс операционных систем Unix).
Сейчас для разработки программ чаще всего используют интегрированные среды (англ. IDE — Integrated Development Environment). В такую оболочку обычно входит текстовый редактор для набора текста программ, транслятор, компоновщик, отладчик и профилировщик.
Многие современные интегрированные среды позволяют строить интерфейс программы (расположение элементов в окне) с помощью мыши. Они называются средами быстрой разработки приложений (англ. RAD — Rapid Application Development) или средами визуального программирования. На рисунке 6.17 показано окно RAD-среды Lazarus для программирования на объектной версии языка Паскаль.
Среди профессиональных RAD-сред нужно в первую очередь назвать Microsoft Visual Studio (msdn.microsoft.com/vstudio). Её профессиональная версия — коммерческая, но все желающие могут бесплатно скачать и использовать ограниченную версию (Express) для учебных целей.
Большой популярностью пользуются также среды Dev-C++ (wxdsgn.sourceforge.net) и Delphi (embarcadero.com). Кросс-платформенная среда Code::Blocks (www.codeblocks.org) распространяется бесплатно, существуют версии для Windows, Mac OS и Linux.
Рис. 6.17
Следующая страница Вопросы и задания
Cкачать материалы урока
Система — программирование
Система программирования — совокупность языков программирования, соответствующих трансляторов и программ, обслуживающих использование этих языков на определенном оборудовании.
Система программирования как составная часть общего программного обеспечения призвана снизить трудоемкость разработки программ и повысить эффективность труда программиста. Система программирования включает в свой состав: входной язык системы программирования, называемый исходным; программы, обеспечивающие перевод с входного языка на машинный, — трансляторы; библиотеки стандартных подпрограмм.
Система программирования состоит из комплекса системных ( сервисных) и прикладных программ для ЭВМ, представляющих собой программное обеспечение. В процессе работы САП станка эти программы заносятся в оперативную память компьютера и осуществляется ввод и интерпретация ( расшифровка содержания) текста программы обработки. После необходимых вычислений результаты кодируются в виде управляющей программы, ориентированной на конкретный станок.
Система программирования характеризуется диапазоном скоростей повышения температуры и их погрешностью. Обычно диапазон скоростей нагрева составляет от 0 5 до 25, иногда до 40 С / мин, однако скорости больше 15 — 20 С / мин не используются из-за существенного и не поддающегося непосредственному контролю отставания температуры насадочных колонок от заданного закона повышения температуры вследствие плохой теплопроводности сорбентов.
Системы программирования представлены в АРМ аналитика трансляторами с языков программирования.
Система программирования — это комплекс программ, предназначенный для автоматизации процесса разработки программ. По существу, данная система представляет собой пакет прикладных программ, предметная область которого-разработка программ. Все программы пользователей разрабатываются с помощью системы программирования, и в том смысле она является системой общего пользования, предназначенной для облегчения и повышения производительности труда программистов.
Система программирования — комплекс программных средств, предназначенных для автоматизации процессов программирования, который включает в себя: язык программирования, редактор программ, компилятор или интерпретатор программ, а также набор вспомогательных средств ( например, библиотек подпрограмм) и документации, обеспечивающих и облегчающих подготовку программных продуктов.
Системы программирования включают в себя языки программирования и трансляторы и позволяют разрабатывать как системное, так и прикладное программное обеспечение. Следовательно, они играют в программировании роль средств производства.
Система программирования Турбо Паскаль ( версия 5.5) в состоянии удовлетворить практически любые требования при работе на ПЭВМ IBM PC и совместимых с ними. Язык Турбо Паскаль является структурированным языком высокого уровня, на котором можно написать программу практически неограниченного размера и любого назначения.
Система программирования на стадии проектирования представляется некоторой моделью.
Стеклянная колонка Пан-хроматографа длиной 1 5 м. |
Система программирования рассчитана на работу в интервале температур от 50 до 250 С с точностью 5 С и имеет десять скоростей линейного программирования температуры от 0 5 до 12 С / мин. При скоростях программирования 0 5 — 1 — 2 С / мин рост температуры обеспечивается за счет подвода энергии лишь к нагревателям микронагрева.
Система программирования — комплекс программных средств, предназначенных для автоматизации процессов программирования, который включает в себя: язык программирования, редактор программ, компилятор или интерпретатор программ, а также набор вспомогательных средств ( например, библиотек подпрограмм) и документации, обеспечивающих и облегчающих подготовку программных продуктов.
Состав и структура математического обеспечения. |
Система программирования содержит программы обслуживания программного аппарата и средства автоматизации программирования. Обслуживающие программы используют для пополнения и корректировки фонда программ, их учета и копирования, контроля и печати.
Что входит в состав комплекса, основные компоненты
Система программирования обычно включает в себя следующие компоненты:
- Компилятор или интерпретатор.
- Интегрированная среда разработки.
- Средства создания и редактирования текстов программ.
- Библиотеки стандартных программ и функций.
- Отладочные программы, помогающие находить и устранять ошибки.
- Диалоговая среда.
- Многооконный режим работы.
- Мощные графические библиотеки.
- Утилиты для работы с библиотеками.
- Ассемблер.
- Справочная служба.
Определение
Компилятор — это особый вид транслятора, который переводит тексты с языка программирования высокого уровня (с того языка, которым пользуется программист при написании текста программы) на машинный язык (в машинный код, который понятен компьютеру).
Например, если пользователь пишет код на языке высокого уровня, таком как Java, и хочет его выполнить, то ему необходимо использовать специальный компилятор, разработанный для Java. Он занимается сканированием всей программы, транслированием ее в машинный код, который выполняется процессором компьютера, после чего выполняются необходимые задачи.
Определение
Интерпретатор — это исполняемый файл, который поэтапно читает программу, а затем обрабатывает, сразу выполняя ее инструкции. Он осуществляет программу поэтапно как часть собственного исполняемого файла.
Каждый раз, когда интерпретатор получает на выполнение код языка высокого уровня, то перед его конвертацией в машинный код, он преобразовывает этот код в промежуточный язык. Части кода последовательно интерпретируются и выполняются отдельно; при нахождении ошибок в составляющих кода процесс интерпретации останавливается.
Основные отличия компилятора от интерпретатора:
- Компилятор занимается трансляцией всей программы, когда интерпретатор транслирует и выполняет по частям.
- Интерпретатор в случае возникновения ошибки способен остановить процесс интерпретации, когда компилятор выдает отчет об ошибках только после трансляции.
- Компилятор по сравнению с интерпретатором требует больше времени для анализа и обработки языка высокого уровня.
Определение
Интегрированная среда разработки — это набор инструментов для разработки и отладки программ, имеющий общую интерактивную графическую оболочку, поддерживающую выполнение всех основных функций жизненного цикла разработки программы.
Функции жизненного цикла разработки программы:
- Набор кода и его редактирование.
- Компиляция или интерпретация.
- Автоматизация сборки.
- Отладка.
- Профилирование.
Основные компоненты интегрированной среды разработки:
- Текстовый редактор, позволяющий редактировать код программы.
- Система поддержки сборки, выполняющая компиляцию проектов из исходных кодов.
- Компоновщик, который заботится об упорядочивании объектов в адресном пространстве программы. Это может включать перемещение кода, предполагающего определенный базовый адрес, на другую базу.
- Отладчик, который представляет собой набор инструментальных средств, позволяющий отлаживать программы на уровне исходного текста.
Определение
Компоновщик — инструментальная программа, которая производит компоновку («линковку»): принимает на вход один или несколько объектных модулей и собирает из них исполняемый или библиотечный файл-модуль.
В системе программирования компоновщик необходим для связывания объектного и машинного кодов, а также подготовки объектной программы (файла) к работе в конкретной программной среде.
Библиотеки стандартных программ и функций состоят из совокупности подпрограмм, составленных на одном из языков программирования и удовлетворяющих определенным единым требованиям к структуре, организации их входов и выходов, описаниям подпрограмм.
Важным компонентом понятия системы программирования являются отладочные программы.
Определение
Отладка — этап разработки компьютерной программы, на котором обнаруживают, локализуют и устраняют ошибки.
Программный модуль отладки позволяет выполнить основные задачи, связанные с мониторингом процесса выполнения результирующей прикладной программы. Отладка позволяет последовательно и пошагово выполнять итоговые программы, просматривать значения объявленных переменных, устанавливать контрольные точки, трассировку для того, чтобы идентифицировать места и виды ошибок в разработке.
Справочная система, входящая в состав системы программирования, предназначена для предоставления пользователю справочной информации по конкретной системе программирования.
Проблемы программирования
Программный продукт в соответствии с международными требованиями ISO не должен содержат ошибок и дефектов, которые приводят к сбоям и отказам при выполнении этих программ на ЭВМ либо в сети ЭВМ.
Программы с дефектами и ошибками — это не продукт.
Согласно Закону РФ «О защите прав потребителей» любой товар при обнаружении в нем дефектов подлежит замена либо возврату денежных средств за его приобретение и сопутствующие издержки.
В отличие от естественных наук, компьютерные науки получили большой стимул от широкого и непрерывного взаимодействия с логикой. Особую роль в компьютерных науках играют доказательные методы разработки алгоритмов и программ с доказательствами их правильности.
Тестирование программ может выявить наличие ошибок в программах, но не может гарантировать их отсутствие. Гарантии отсутствия ошибок в алгоритмах и программах могут дать только доказательства их правильности. Алгоритм не содержит ошибок, если он дает правильные решения для всех допустимых данных.
Серьёзнейшей проблемой для компьютерных наук и информатики является наличие ошибок в алгоритмах и программах, публикуемых в учебниках и учебных пособиях, а также неумение преподавателями и учителями информатики выявлять и исправлять ошибки в алгоритмах и программах, составляемых учащимися.
Единственный путь для преодоления этих проблем является изучение систематическим методам составления алгоритмов и программ с одновременным анализом их правильности в рамках доказательного программирования с самого начала обучения основам алгоритмизации и программирования.
Системное, что включает
Системное ПО (System Software) — группы программ и их систем, которые обеспечивают работу компьютера.
СПО предназначается для:
- формирования условий для функционирования других программных групп;
- обеспечения автоматизации разработки нового софта;
- регулирования качества работы компьютера и вычислительной системы;
- диагностирования и профилактики компьютерной аппаратуры;
- произведения дополнительных технологических процессов (архивирование, восстановление компонентов программ и файлов баз данных, копирование).
Продукты данного вида ПО являются неотъемлемой частью компьютера и рассчитаны на опытных пользователей — оператора, администратора сети или системного программиста.
СПО состоит из системных программ управляющих и обрабатывающих.
Управляющие системные программы обеспечивают корректную работу всех механизмов системы и выполняют функции:
- Руководство вычислительными комплексами.
- Взаимодействие с внутренними данными операционной системы.
В зависимости от местонахождения управляющие программные средства делятся на:
- резидентные составляют ядро ОС и расположены в основной памяти;
- транзитные загружаются в память компьютера только перед исполнением.
Компании-разработчики предоставляют управляющие системные программы в виде драйверов специальных устройств и инсталляционных пакетов ОС.
Обрабатывающие системные программы представляют собой дистрибутивные пакеты, в состав которых входит ПО (приложения, программы инсталляции).
По другой классификации в структуру ПО включают:
1. Базовое — минимальный комплекс программ, который обеспечивает работу компьютера. К ним относят:
- ОС и входящие в их состав драйверы;
- операционные оболочки, при помощи которых ОС может взаимодействовать с пользователем (интерфейс);
- системы, управляющие файлами.
Операционная система — комплекс программных средств, который обеспечивает регулирование работы аппаратной части компьютера и прикладных программ, их кооперацию и взаимодействие с пользователем.
Операционная система выполняет роль интерфейса между компьютерной аппаратурой и задачами пользователя. Её задача заключается в организации корректных вычислений и обеспечении эффективности использования вычислительных ресурсов.
Системы управления файлами служат для создания удобного доступа к файлам (данным), используют логический доступ, указывая имя файла вместо определенных физических адресов.
2. Сервисное — софт, который дает возможность расширить функционал базового ПО и обеспечивает удобство для пользователя. В зависимости от выполняемой функции среди них выделяют:
- драйверы специальных устройств, которые не входят в состав ОС;
- программы, диагностирующие работоспособность компьютерной системы;
- антивирусники, которые предназначены для защиты компьютера, обнаружения и очистки вредоносных файлов;
- программные средства, контролирующие процессы на дисках (сохранение файлов, сжатие дисков, формирование копий, проверка состояния поверхности диска;
- архиваторы, предназначенные для сжатия файлов с целью уменьшения их размеров;
- программы, обслуживающие сеть.
Для обозначения сервисных программ часто используют понятие «утилиты».
Примеры языков и систем программирования
Представляем самые известные языки программирования:
- Assembler. Он не новый, однако научит пользователей многим вещам, скрытым в других языках.
- C. Один наиболее часто используемых в мире. Именно этот язык дает самый полный контроль над машиной. Он используется для кодирования операционных систем. Его приличный почти полувековой возраст и огромное количество библиотек, которые подойдут для чего угодно, становятся незаменимыми как для начинающих, так и для продвинутых пользователей.
- Cobol. Это старый язык. Он, как правило, сложнее в использовании, чем другие. Однако по историческим причинам он по-прежнему широко используется в банковском деле, финансах и страховании.
- Fortran. Он все еще востребован в области научных вычислений, для которого и был разработан. Хотя синтаксис этого языка регулярно обновляется, ощущается его возраст. Кроме того, некоторые программные библиотеки в Fortran никогда не были сопоставлены с точки зрения эффективности.
- Java. Имеет особенность компиляции в байт-код, который затем интерпретируется виртуальной машиной. Это значительно упрощает создание программ для использования на нескольких платформах операционных систем. Например, Java является шлюзом для кодирования приложения для Android.
- Perl. Это язык, который в основном ценится в мире Linux и Unixoids. Он эффективен для создания небольших, но очень мощных приложений с командной строкой. Однако Perl не очень подходит для создания графических интерфейсов.
- PHP. Во многом доминирует в мире веб-программирования.
- Python. Этот язык рекомендуется начинающим.
- Ruby. Связан с Python, регулярно заимствует инновации. В целом они очень похожи. Можно констатировать, что Ruby предлагает больше синтаксической свободы и больше настаивает на своем объектно-ориентированном характере, а Python легче и поддерживается более крупным сообществом.
- Swift. Это довольно молодой язык, подвержен изменениям и корректировкам, подходит для продуктов Apple. В ближайшие годы он вполне может стать основным продуктом программирования приложений iOS и OSX.
Языки программирования — основные понятия
Эволюция языков программирования тесно связана с историей развития компьютерных наук, которая началась в XIV веке, вместе с изобретением первой механической вычислительной машины английским ученым Чарльзом Бэббиджем. Программа для нее, позволяющая вычислять числа Бернулли, была написана леди Адой Августой Лавлейс в 1842 году. В честь нее впоследствии был назван один из языков программирования — Ада.
В дальнейшем появились и первые ЭВМ, вместе с которыми начали развиваться языки программирования в их современном понимании.
Определение
Язык программирования — искусственный язык, созданный для разработки и записи программ, предназначенных для выполнения их определенным техническим объектом, способным быть запрограммированным (станки с ЧПУ, все виды компьютерной техники). Его назначение — представить задачу в понятной и выполнимой для ЭВМ форме.
Осторожно! Если преподаватель обнаружит плагиат в работе, не избежать крупных проблем (вплоть до отчисления). Если нет возможности написать самому, закажите тут
Определение
Компьютерная программа — это последовательность определенных команд (инструкций), с помощью которых компьютер решает поставленную задачу.
Определение
Команда (инструкция) — указание процессору, какое действие (операцию) ему необходимо выполнить.
Число языков программирования постоянно растет. На сегодняшний день их рост замедлился, но общее количество (включая модификации) составляет более двух тысяч, среди которых самых популярных не больше сотни.
Программист-профессионал знает и использует в своей работе более десятка различных языков в зависимости от стоящих перед ним задач.
Их условно можно классифицировать:
- По степени зависимости от аппаратных средств (низкого уровня, высокого уровня).
- По принципам программирования (процедурные, непроцедурные, объектно-ориентированные).
- По ориентации на класс задач (универсальные и специализированные).
Что такое система программирования
Когда использование компьютеров было редкостью, существовало несколько десятков языков программирования. Впоследствии их количество стало стремительно расти.
Система программирования обеспечивает возможность отдавать команды компьютеру. При этом реализуется задуманный программистом алгоритм. Работа может происходить в пакетном или интерактивном режиме. В программе может быть столько команд, сколько необходимо.
В первом случае с помощью транслятора и компилятора программа будет преобразована в код, состоящий из машинных команд. При интерактивном подходе каждая команда будет выполняться отдельно. Предоставляя программисту результаты выполнения.
Машинно-орентированные системы используют особенности конкретной аппаратной реализации. В этом случае непосредственный перенос программы на другой компьютер сопряжён со значительными трудностями. При работе с такими системами программист должен хорошо знать особенности, которые существуют у конкретного компьютера.
Использование машинно-независимых языков программирования является более предпочтительным. Программа, созданная на одном компьютере, может быть легко перенесена на другой, использующий ту же операционную систему. Такте системы программирования подразделяются на следующие разновидности:
- Те, которые ориентированы на реализацию определённых алгоритмов. В них обеспечивается простая и понятная формулировка задач и имеется возможность получения решения в нужной программисту форме.
- Диалоговые языки дают возможность осуществлять общение с человеком во время работы программы. При этом есть возможность передачи информации между оператором и компьютером. На её основе производит изменение структуры программы в соответствии с дополнительными данными.
- Проблемно-ориентированные языки имеют синтаксис, ориентированный на формулировку проблемы и на пути её возможного решения.
- Непроцедурные языки предусматривают описание алгоритма в наглядной форме. Язык в процессе трансляции преобразует такую схему с помощью встроенных схем в соответствующий алгоритм для работы.
Визуальное программирование становится всё более популярным. Хотя по качеству работы оно зачастую уступает традиционным языкам программирования, тем не менее позволяет облегчить процесс создания программ для наиболее распространённых задач, чего часто не хватает традиционным языкам.