Javascript must be enabled in your browser to use this page.
Please enable Javascript under your Tools menu in your browser.
Once javascript is enabled Click here to go back to �нтеллектуальная Кобринщина


Особенности и применение разных классов языков программирования

Неструктурные языки (широко использовались 40-е годы)

Оптимизация программы под аппаратную архитектуру.

Как следствие, обеспечение высокой эффективности вычислений.

Недостатки

Для каждого типа вычислительной машины должен был быть написан свой вариант исходного кода.

Применение

Быстрые численные расчеты

Создание драйверов устройств

Примеры языков: Ассемблеры.

Директивные (структурные) языки (появились в 50-е годы)

Преимущества

Повторное использование ранее написанных блоков кода.

Высокая степень независимости программы от типа вычислительной машины.

Повышение эффективности труда разработчиков, в том числе и за счет абстрагирования от конкретных деталей аппаратного обеспечения.

Недостатки

Некоторая потеря в скорости вычислений.

Применение

Создание операционных систем и системных программ.

Разработка небольших пользовательских приложений.

Научные расчеты.

Примеры языков: FORTRAN, C, Pascal.

Декларативные (функциональные и логические) языки (зародились в 60-е годы)

Особенность

Программный код на декларативном языке программирования представляет собой описание действий, которые можно осуществлять, а не последовательный набор команд.

Преимущества

Легче формализуется математическими средствами.

Как следствие, программы проще тестировать, т.е. проверять на наличие ошибок.

Высокая степень абстракции.

Недостатки

Снижение скорости работы программы.

Применение

Доказательство теорем.

Возможность обработки разнородных данных.

a) Функциональные языки

Особенность

Программу на функциональном языке можно представить как функцию с одним или несколькими аргументами.

Преимущества

Автоматическое динамическое распределение памяти компьютера для хранения данных.

Программист получает возможность абстрагироваться от представления данных и других рутинных операциях и сосредоточиться на предметной области.

Недостатки

Нелинейная структура программы, следовательно, такое программирование сложно для понимания.

Относительно невысокая эффективность вычислений.

Применение

Обработка рекурсивных структур данных.

Обработка символьной информации.

Примеры языков: Haskell.

b) Логические языки

Особенность

Программа представляет собой совокупность правил или логических высказываний.

В программе могут быть логические причинно-следственные связи.

Преимущества

Возможность откатов, т.е. возвращения к предыдущей подцели при отрицательном результате одного из вариантов в процессе поиска решения. Это избавляет от необходимости поиска решения путем полного перебора вариантов и увеличивает эффективность реализации.

Недостатки

Узкий класс решаемых задач.

Применение

Эмуляция искусственного интеллекта.

Разработка экспертных систем.

Примеры языков: Prolog.

Объектно-ориентированные языки

Особенности

Программа представляет собой описание объектов, их свойств (или атрибутов), классов и отношений между ними, способов взаимодействия.

Преимущества

Смысловая близость к предметной области любой структуры и назначения. Механизм наследования свойств и методов позволяет строить производные понятия на основе базовых, создавая тем самым модели предметной области.

Использование ранее созданных библиотек классов позволяет сэкономить время при разработке новых программных продуктов.

Полиморфизм, заложенный в ООП, обеспечивает гибкость и универсальность программного обеспечения.

Удобство разработки ПО группой лиц.

Недостатки

Сложность полной формализации реального мира создает в дальнейшем трудности тестирования созданного ПО.

Применение

Разработка больших пользовательских приложений.

Примеры языков (большинство современных языков программирования поддерживают концепцию объектно-ориентированного программирования): C++, Python.

Языки сценариев

Особенности

Программа представляет собой совокупность возможных сценариев обработки данных. Выбор конкретного сценария зависит от наступления того или иного события.

Преимущества

Основные достоинства данного класса языков программирования унаследованы от объектно-ориентированных языков.

Легкость использования с инструментальными средствами автоматизированного проектирования и быстрого создания ПО.

Недостатки

Сложность тестирования.

Большое количество вариантов, которые требуется предусмотреть.

Большая вероятность побочных эффектов.

Применение

Интернет технологии