Компьютерное моделирование
Компьютерная модель
(computer model) — компьютерная программа,
реализующая представление объекта, системы или понятия в форме, отличной
от реальной, но приближенной к алгоритмическому описанию, включающей и
набор данных, характеризующих свойства системы и динамику их изменения
со временем.....
(https://ru.wikipedia.org/wiki/Компьютерное_моделирование)
Компьютерное моделирование
—
разработка компьютерных моделей
(компьютерных программ)
Программирование
—
разработка
компьютерных программ
(https://ru.wikipedia.org/wiki/Программирование)
Компьютерное моделирование —
программирование
|
Модель
(структура) программирования
Разработка компьютерных программ
—
многогранная многофакторная деятельность со сложной
структурой:
-
анализ предметной
области и постановка задачи,
-
проектирование
программы,
-
построение алгоритмов,
-
разработка структур
данных,
-
написание текстов программ (кодинг)
на языках программирования,
-
отладка и тестирование
программы (испытания программы),
-
документирование,
-
настройка
(конфигурирование),
-
доработка и
сопровождение.
|
Языки программирования как метамодели
Компьютерная модель
—
компьютерная программа...
Компьютерная программа:
-
(как исполняемая программа) — языковая
(семантическая)
модель
компьютерных инструкций и данных, позволяющая
аппаратному обеспечению компьютера выполнять
вычисления
-
(как исходный текст) — синтаксическая
модель
языка программирования, состоящая из инструкций и
определений, необходимых для определенной
функциональности
Языки
программирования
- искусственные формальные языки для создания компьютерных программ.
Языки программирования
- метамодели для компьютерных программ (и программирования = компьютерного моделирования,
в части написания текстов компьютерных программ).
Разработка
языков программирования - компьютерное метамоделирование (разработка
метамоделей компьютерного моделирования).
Разработкой
языков программирования не исчерпывается компьютерное метамоделирование!
Не всякое
компьютерное метамоделирование является разработкой языков
программирования! |
Компьютерное метамоделирование
Метамодели задают характер разработки (моделирования)
компьютерных программ (моделей).
В качестве метамоделей компьютерных программ (как исходного
текста) выступают:
В качестве метамоделей разработки
компьютерных программ (как деятельности
программирования) выступают:
-
Языки программирования (см.
здесь)
-
Системы программирования (см.
здесь)
-
Парадигмы программирования
-
Модели программирования (в узком понимании, как
термин)
|
Парадигмы (метамодели) программирования
Парадигма (метамодель) программирования —
совокупность идей и понятий, определяющих стиль (модель) написания
компьютерных программ.
Парадигма (метамодель) программирования — способ концептуализации,
определяющий организацию вычислений и структурирование работы,
выполняемой компьютером.
Парадигма программирования не определяется
однозначно языком программирования.
Парадигмы программирования понимаются и
определяются различно:
-
как
система письма (семейства обозначений
(нотаций), разделяющих общий способ
(методику) реализаций программ).
-
как способ
выражения мыслей (стиль программирования
как описания намерений программиста)
-
как модель
(подход) к решению проблем
-
как
правила классификации языков
программирования в соответствии с
некоторыми условиями, которые могут быть
проверены
-
как способ
концептуализации того, что значит
„производить вычисления“
-
как модель
структурирования и организзации задач,
подлежащих решению на компьютере
|
Практически все современные языки
программирования (в той или иной мере) допускают использование различных
парадигм (мультипарадигмальное программирование).
Существующие парадигмы зачастую пересекаются друг с другом.
Основные модели (парадигмы) программирования:
В рамках одной парадигмы
программирования могут быть реализованы различные стили
(модели)... |
Модели программирования
Две модели программирования:
-
последовательная
(совокупность приемов программирования и структур
данных, отвечающих последовательной архитектуре
компьютера)
-
параллельная
(совокупность приемов
программирования и структур данных, отвечающих
параллельной архитектуре компьютера)
См.
здесь (архитектура Джона
фон Неймана и таксономия Майкла Флинна) |
|