Просмотров-1764
0

Что такое программирование?

Парадигмы программирования это наборы принципов и методик

Основные этапы процесса программирования

Программирование это процесс разработки(создания, проектирования) компьютерной программы, как  комбинации инструкций для ЭВМ и данных, позволяющей аппаратному обеспечению вычислительной системы выполнять вычисления или функции управления (стандарт ISO/IEC/IEEE 24765:2010). В этом процессе деятельности человека(программиста) наблюдаются некоторые закономерности, которые отражаются в таких понятиях, как виды и парадигмы программирования.

Виды и парадигмы программирования это фундамент процесса написания кода программы на основе алгоритмов обработки структур данных.

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

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

Во-первых, следует учитывать, что порядок разработки программ и программного обеспечения стадии разработки программ определены ГОС 19 Единая система программной документации(ЕСПД). Например стадии разработки определяются ГОСТ 19-102.

Во-вторых, программирование это достаточно сложный процесс, включающий в себя следующие основные этапы(в рамках ГОСТ):

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

Основные виды программирования

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

В зависимости от предмета приложения различают следующие виды программирования:

  • системное программирование, связанное с разработкой операционных систем(драйверов), систем разработки программного обеспечения(компиляторов, отладчиков и т.п.);
  • сетевое программирование это процесс создание программных систем, которые будут работать в существующей локальной, корпоративной или глобальной сети;
  • прикладное программирование — процесс создание программных продуктов, предназначенных для решения прикладных задач бизнеса, IТ- технологии и т.п.;
  • Web-программирование — написание кода на специальных “скриптовых языках” для использования в веб-браузерах или на Web-серверах, предназначенного для создание страниц сайтов, блогов и т.п.;
  • мобильное программирование — написание кода на специальных языках для мобильных приложений, под мобильные операционные системы и платформы.

Основные парадигмы программирования

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

В данном случае парадигма отражает систему взглядов на форму(структуру) и содержание процесса программирования. К сожалению, в обиходе наблюдается несколько различных определений парадигмы программирования, которые не всегда точно соответствуют ее научному понятию.

Вот некоторые из них:

  • Парадигма программирования — это совокупность идей и понятий, определяющих стиль написания компьютерных программ (подход к программированию).
  • Парадигма программирования это способ концептуализации, определяющий организацию вычислений и структурирование работы, выполняемой компьютером.
  • Парадигмы программирования — это способ классификации языков программирования на основе их особенностей.

С другими вариантами,не менее экзотических определений, можно познакомиться в статье «Парадигма программирования«.

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

Ближе всего к научному понятию парадигмы находится следующее определение. Парадигма программирования – это совокупность принципов, методов и понятий, определяющих способ конструирования программ.

Парадигма программирования, как набор принципов и методик по созданию кода программы, ее структуризации, позволяют не только упорядочить процесс ее создания, но и сделать программу структурированной, удобной и понятной другим программистам, работающим в той же парадигме. Именно парадигмы программирования определяют: правила написания, структуру(архитектуру) программы, используемые шаблоны (паттерны) и другие свойства и качества проектируемой программы. 

Для определения вида и формализации понятия парадигмы программирования необходимо определиться с принципом, лежащим в ее основе. Приведенные выше определения парадигмы программирования как раз и не корректны из-за того, что в их основе лежат не корректно выбранные принципы. На наш взгляд в качестве такого принципа следует брать принцип декомпозиции(разделения на части) решаемой с помощью создаваемой программы задачи. Тогда в зависимости от использования принципа декомпозиции можно выделить следующие парадигмы программирования:

парадигма императивного программирования — декомпозиции нет, в исходном коде программы записываются инструкции (команды), которые должны выполняться последовательно, а переходы осуществляются с помощью оператора go to, используемые данные могут читаться из памяти и записываться в память;

парадигма структурного программирования, в соответствии с которой любая программа, которая строится без использования оператора go to, а состоит из совокупности трёх базовых управляющих конструкций, реализующих три базовых алгоритмические структуры: последовательность,  ветвление и повторение, при этом разработка программы ведётся пошагово, методом «сверху вниз»;

парадигма процедурного программирования, в рамках которой применяется принцип декомпозиции решаемой задачи на отдельные функции, реализуемые программно в виде процедур, в результате создается программа, представляющая собой совокупность взаимодействующих процедур(функций);

парадигма объектно-ориетированного программирования, когда выполняется декомпозиция решаемой задач(предметной области) на объекты, а программа представляется в виде совокупности взаимодействующих объектов, созданных на основе предопределенных типов данных — классов;

парадигма аспектно-ориентированного программирования, когда декомпозиция задачи осуществляется на определенные аспекты(цели, особенности функционирования системы), а в программе реализуется, так называемая, сквозная функциональность, предназначенная для решения специальных задач с точки зрения определенных аспектов;

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

Примечание. На наш взгляд на современном уровне развития термин парадигма структурного программирования не является корректным. Потому что и процедурное и объектно ориентированное программирование являются структурными. Это понятие было введено Эдсгером Дейкстрой и на тот момент было вполне корректным, поэтому изменять его не будем.

Другие виды парадигмы программирования, которых сегодня достаточно много, в данной статье рассматривать не будем. Остановимся на перечислении. Основные виды или парадигмы программирования: процедурное, операторное, функциональное, логическое, структурное (модульное), объектно-ориентированное,графическое, экстремальное, декларативное; логическое и др.

Иногда можно встретить такое понятие, как парадигма модульного программирования. Но это не верно. Модульное программирование это не парадигма, а способ организации структуры программы в виде взаимодействующих модулей, в каждый из которых можно разместить блоки управляющих конструкций, процедуры, объекты и т.п.

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

Заключение

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

Виды и парадигмы программирования это фундамент процесса написания кода программы на основе алгоритмов обработки структур данных.

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

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

Для того, чтобы были достигнуты высокие профессиональные навыки в программировании, то для программистов на языках C# и C++ будет полезно знание кроме языков платформы программирования dotNet Framework. Аналогично для бывалых программистов на языка Java следует при разработке приложений учитывать особенности и возможности платформы программирования на языке Java.

Смотрите также…

  1. Как стать программистом?
  2. Как стать Web программистом?
  3. Онлайн школы и курсы IT профессий
  4. Как изучать простые типы данных языка программирования?
  5. Как изучать алгоритмы решения задач?
  6. Что выбирать язык или платформу программирования?
  7. Пример процедурного программирования на языке Crystal
  8. Пример ООП на языке программирования Crystal
  9. Курсы и высшее образование в профессии программиста
  10. Интегрированные средства разработки программного обеспечения
Внимание! Кто хочет своевременно узнавать о выходе новой статьи на сайте должен подписаться.

ПОДПИСКА НА РАССЫЛКУ

Статьи об онлайн курсах обучения

Дистанционное обучение
Обучение программированию
Проектирование информационных систем
 
Реклама. Информация о рекламодателе по ссылкам в статье.

brasm

Пенсионер с 33 - летним педагогическим стажем

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *