Что такое парадигма простыми словами — виды, примеры
Рубрика: ПрочееАвтор: Екатерина Спасская
Парадигма простыми словами – это давно признанные истины, не подлежащие никакому сомнению. На основе признанных данных (парадигмы), учёные и философы могут выдвигать свои теории и научные домыслы. В научном мире данное слово стали активно использовать в 60-х годах прошлого века. С тех пор все установленные, признанные авторитетным мнением домыслы, мировоззрения на очевидные вещи обозначены необычным словом «прадигма».
Парадигмы являются обозначением доказанного и принятого обществом понятий, в различных сферах жизнедеятельности человечества. Вот некоторые из них:
- Философия. Обычно, это установленные шаблоны мышления. Различные стандарты, эталоны, постулаты. Возможные обобщения, эксперименты в какой-либо области.
- Наука. В данной области происходит фиксация теорем, систем обучения. Методика решения проблем различного рода.
- Религия. Одним словом, это принятие разных верований.
- Политология. Заключается в изучении политики, разработке различных теорий и разрешения политических кризисов.
- Образование. Включает в себя набор разных теорий, методов обучения, исследовательские работы.
- Программирование. Установленные законы компьютерных программ и дальнейшее развитие программирования.
В дальнейшем парадигмы можно разделить на несколько вариантов в общепринятых, устойчивых понятиях. А именно:
- Абсолютные.
- Общепринятые.
- Личные.
К примеру, все знают, что существует закон гравитации Земли. Или два плюс два, равно четыре. А также мужчина не может быть женщиной или наоборот. Это, и есть абсолютные парадигмы, доказанные научными методами.
Наглядным примером общепринятых парадигм, можно назвать единую точку зрения групп людей по разным определениям. Например, люди решили, что вода зелёная, значит это уже парадигма установленного мнения. Важно то, что понятие не доказанное, авторитетным мнением учёных.
@ksk-c.ruЛичная парадигма заключается в определении установленных понятий и поведения на личной основе каждого человека. К примеру, ребёнок рос в благополучной семье. Отец успешный предприниматель, всегда имеет достаток. Естественно у ребёнка сформируется своё мнение, что достаток это хорошо, его парадигма будет состоять в таком понятии. Или в годы СССР существовали правила, что работать это хорошо. Тогда у каждого подростка сформировывалось мнение, что ходить на работу это неоспоримое правило. И таких примеров много.
В итоге хотелось бы отметить, что парадигма, это установленный образец (пример) или модель поведенческого характера для решения всех возникших вопросов. Опираясь на значения парадигмы можно всегда прийти к верному решению возникших проблем в различных областях.
Понравилась статья? Поделиться с друзьями:
Что такое парадигма простыми словами? | 29.
01.2019https://vsezdorovo.com/2019/01/chto-takoe-paradigma-prostymi-slovami/
Что такое парадигма простыми словами?
Что такое парадигма простыми словами? | 29.01.2019 | Всё Здорово
Что такое парадигма простыми словами?
Русский язык поразительно богат и разнообразен. Неудивительно, что часто мы сталкиваемся с достаточно сложными словами, точного значения которых не знаем. К категории таковых относится и термин парадигма. Что он означает? Как можно объяснить это понятие парадигмы простыми словами? Какие примеры можно привести в качестве иллюстрации? Давайте разбираться!
20190129T1945
20190129T1945
20221221T0707
/html/head/meta[@name=’og:title’]/@content
/html/head/meta[@name=’og:description’]/@content
Русский язык поразительно богат и разнообразен. Неудивительно, что часто мы сталкиваемся с достаточно сложными словами, точного значения которых не знаем. К категории таковых относится и термин парадигма. Что он означает? Как можно объяснить это понятие парадигмы простыми словами? Какие примеры можно привести в качестве иллюстрации? Давайте разбираться! Русский язык поразительно богат и разнообразен.
Всё Здорово
poster
Новости
ru-RU
700
400
true
Культура и общество
Русский язык поразительно богат и разнообразен. Неудивительно, что часто мы сталкиваемся с достаточно сложными словами, точного значения которых не знаем. К категории таковых относится и термин парадигма. Что он означает? Как можно объяснить это понятие парадигмы простыми словами? Какие примеры можно привести в качестве иллюстрации? Давайте разбираться!
Парадигма программирования — простая английская Википедия, бесплатная энциклопедия
Парадигмы программирования — это способ группировки языков программирования по тому, что они делают. Языки могут находиться в более чем одной парадигме.
Некоторые парадигмы рассматривают способ выполнения кода, например, разрешение побочных эффектов или выполнение действий в определенном порядке. Другие парадигмы рассматривают способ группировки кода, например, разделение кода на одну или две части (или вместо этого множество маленьких частей). Некоторые другие парадигмы рассматривают порядок и части, которые делают программу такой, какая она есть.
Существует две основные группы парадигм: императивная и декларативная . Язык может быть и тем, и другим одновременно. [1] [2]
В императивных программах программисты задают компьютеру набор упорядоченных шагов , которые необходимо выполнить, чтобы что-то сделать. Если кто-то хотел, чтобы компьютер нарисовал кошачью мордочку, он мог давать указания вроде «Нарисуй круг здесь, нарисуй два круга поменьше, нарисуй сверху два треугольника» и так далее. Императивные программы иногда имеют много побочных эффектов.
Существуют две основные императивные парадигмы, и в большинстве случаев язык будет иметь обе:
- Структурированный — компьютеру даются указания, которые всегда идут в определенном порядке. Такие шаги, как «вернуться к шагу 3» (известные как инструкции goto), не допускаются.
- Процедурная. Программа позволяет программисту дать имя списку заказов, что превращает эти заказы в «процедуры», которые они могут использовать позже. Большинство структурированных языков также являются процедурными.
- Объектно-ориентированный. Идеи объясняются компьютеру с помощью объектов, фрагментов кода, которые имеют набор приказов, которым они могут быть отданы, и некоторую информацию о них.
В декларативных парадигмах программист сообщает компьютеру
Наиболее известные декларативные парадигмы: [3]
- Функциональность. Большая часть работы выполняется функциями без побочных эффектов.
- Логика – излагается набор фактов, а затем задаются один или несколько «вопросов».
- Управляемый событиями – фрагменты кода запускаются, когда происходят определенные события (например, при включении компьютера).
Некоторые парадигмы можно найти как в императивных , так и в декларативных языках. Эти парадигмы обычно встречаются с одной из вышеперечисленных парадигм, а не идут сами по себе.
- Параллельный: одновременно выполняется несколько фрагментов кода.
- Мета: специальные элементы языка позволяют программисту изменить способ действия самого языка.
Обзор различных парадигм программирования согласно Питеру Ван Рою [4] :5 [5]
Языки программирования сгруппированы по парадигмам так же, как машины могут быть сгруппированы по тому, что они используется для.
Некоторые языки соответствуют только одной основной парадигме, например:
- Smalltalk (объектно-ориентированный)
- Сборка (обязательно, но не структурированная и не объектно-ориентированная)
- Haskell (функциональный)
- Пролог (логика)
Однако большинство языков принадлежат более чем одной парадигме. Вот некоторые из тех, которые выделяются наличием более одного:
- Scala (объектно-ориентированный, функциональный, параллельный)
- Visual Basic (управляемый событиями, объектно-ориентированный)
- Common Lisp (процедурный, функциональный, объектно-ориентированный, мета)
- Схема (функциональная, процедурная, мета)
- Perl (функциональный, процедурный, мета, объектно-ориентированный, управляемый событиями)
- Python (функциональный, объектно-ориентированный, процедурный)
- Ruby (функциональный, объектно-ориентированный, процедурный)
- Язык Wolfram Language (функциональный, процедурный, обычно декларативный)
- Oz (логический, функциональный, императивный, объектно-ориентированный)
- F# (функциональный, императивный, объектно-ориентированный, мета)
Наличие большего количества парадигм не всегда хорошо. Один из моментов, когда меньшее количество парадигм может быть полезным, — это когда есть язык, который является только функциональным. Функция в одном из этих языков иногда выполняет меньше работы (например, просматривает только те части группы вещей, которые ей действительно нужны), чем могла бы, если бы язык был также процедурным. [6]
Многие парадигмы программирования хорошо известны тем, что они не позволяют людям делать, как и тем, что они делают позволяют делать. Один из случаев, когда это верно, — это функциональные языки. Когда функциональный язык является только или в основном функциональным, он обычно не допускает побочных эффектов. [6] Другой случай, когда это верно, — это структурное программирование: оно отличается от обычных императивных языков тем, что не позволяет программистам использовать «операторы перехода» (операторы, говорящие программе перейти к более раннему шагу). По этой и другим причинам люди иногда думают, что новые парадигмы не позволяют чего-то достаточного. [7] Тем не менее, иногда компьютер может не позволять людям что-то делать: это может помочь людям избежать проблем с их кодом и позволить компьютеру делать предположения, чтобы он мог выполнять код быстрее или даже проверять код на наличие ошибок. проблемы до запуска кода!
Некоторым людям, изучающим языки программирования, не нравится, что парадигмы используются для группировки языков программирования, таких как Harper [8] и Krishnamurthi. [9] Эти люди говорят, что многие языки программирования нельзя просто сгруппировать в парадигмы, потому что языки заимствуют вещи и идеи из множества парадигм.
Со временем были созданы новые парадигмы, и люди указывали на них либо в то время, либо оглядываясь назад. Одной из первых парадигм, которая была признана новым способом программирования, было структурное программирование 1960-х годов. Идея «парадигмы программирования» возникла в 1978 году, если не раньше, когда Роберт У. Флойд использовал ее во время обучения. Слово «парадигма» в том смысле, в каком его понимал Роберт, впервые было использовано Томасом Куном в его книге «Структура научных революций » (19).62). [10]
Машинный код[изменить | change source]
Самый низкий уровень (наиболее близкий к тому, как компьютер понимает вещи) и старейшая парадигма программирования — это машинный код, [11] императивная парадигма. Направления в машинном коде — это просто набор чисел в определенном порядке. Язык ассемблера немного менее низкоуровневый (и немного менее старый). В языке ассемблера указаниям для компьютера даются мнемоники (более простые для запоминания имена), а адресам памяти (указаниям по поиску части информации в компьютере) могут быть даны имена. Их иногда называют языками первого и второго поколения.
В 1960-х годах языки ассемблера были улучшены за счет добавления новых вещей, таких как библиотека COPY, макросы (фрагменты «специального» кода, которые преобразовывались в обычный код перед запуском программы), [12] запущенных процедур (наборы направлениям, которым присвоено имя и сохранено на потом), и переменные (элементы, которым присвоены имена и сохранены на потом) извне программы. Это позволяет людям использовать некоторый код более чем в одном проекте, и им не нужно беспокоиться о проблемах, связанных с аппаратным обеспечением (проблемы, которые возникают только на одном типе компьютеров) благодаря командам (именам направлений), таким как READ/WRITE/GET/PUT. .
Ассемблер использовался и иногда до сих пор используется в системах, где важно, чтобы код был быстрым, а также часто используется во встроенных системах, поскольку позволяет пользователю иметь точный контроль над тем, что делает машина.
Процедурные языки[изменить | изменить источник]
В самом конце 1960-х люди начали изобретать процедурные языки. Эти языки третьего поколения (первые несколько из того, что мы сейчас называем языками высокого уровня) имели слова, связанные с тем, что они пытались решить. Например,
- Общий бизнес-ориентированный язык (COBOL) – использует такие слова, как файл, перемещение и копирование. [13]
- FORmula TRANslation (FORTRAN) – использует математические слова и символы (формы, используемые при письме и наборе текста). Он был разработан в основном для науки и техники.
- ALGOrithmic Language (ALGOL) — создан для написания алгоритмов (наборов шагов, сообщающих компьютеру, что делать). Он использует математические слова и символы, как и FORTRAN.
- Programming Language One (PL/I) — должен был быть полезен всем.
- Универсальный код символических инструкций для начинающих (BASIC) – создан для помощи новичкам в программе.
- C — язык программирования, предназначенный для многих вещей. Деннис Ритчи работал над ним с 1969 по 1973 год в AT&T Bell Labs.
Объектно-ориентированное программирование[изменить | изменить источник]
Основная статья: Объектно-ориентированное программирование
После того, как многие люди начали использовать процедурные языки, они изобрели объектно-ориентированные языки программирования. В этих языках данные и их «методы» (способы манипулирования данными) помещаются в один «объект». Некоторые программисты, такие как Ричард Столлман, [14] не согласны с тем, что объектно-ориентированные языки лучше подходят для объяснения идей компьютеру, чем процедурные языки.
Поскольку объектно-ориентированное программирование — это парадигма, а не язык, люди создали объектно-ориентированные языки ассемблера, такие как HLA (High Level Assembly).
Декларативные парадигмы[изменить | изменить источник]
В то же время некоторые люди создавали декларативные языки программирования. Язык, который хорошо известен своей декларативностью, — это SQL (язык для добавления и удаления элементов из таблиц).
- Образ мышления
- Тип системы
- Полнота по Тьюрингу
- ↑ Майкл А. Ковингтон (23 августа 2010 г.). «CSCI / ARTI 4540/6540: Первая лекция по символьному программированию и LISP» (PDF) . Университет Джорджии. Архивировано из оригинала (PDF) 07 марта 2012 г. Проверено 20 ноября 2013 г. .
- ↑ Нормарк, Курт. Обзор четырех основных парадигм программирования . Ольборгский университет, 9 мая 2011 г. Проверено 22 сентября 2012 г.
- ↑ Франс Коенен (11 октября 1999 г. ). «Характеристики декларативных языков программирования». cgi.csc.liv.ac.uk . Проверено 20 февраля 2014 г. .
- ↑ Питер Ван Рой (12 мая 2009 г.). «Парадигмы программирования для чайников: что должен знать каждый программист» (PDF) . info.ucl.ac.be. Проверено 27 января 2014 г. .
- ↑ Питер Ван-Рой; Сейф Хариди (2004). Концепции, методы и модели компьютерного программирования . Массачусетский технологический институт Пресс. ISBN 978-0-262-22069-9 .
- ↑ 6.0 6.1 Худак, Пол (сентябрь 1989 г.). «Концепция, эволюция и применение языков функционального программирования». Компьютерные исследования ACM . 21 (3): 359–411. дои: 10.1145/72551.72554. S2CID 207637854.
- ↑ Фрэнк Рубин (март 1987 г.). « ‘GOTO считается вредным’ считается вредным» (PDF) . Коммуникации ACM . 30 (3): 195–196. дои: 10.1145/214748.315722. S2CID 6853038. Архивировано из оригинала (PDF) 20 марта 2009 г..
- ↑ Харпер, Роберт (1 мая 2017 г.). «Что такое парадигма программирования?». ПятнадцатьВосемьдесятЧетыре . Издательство Кембриджского университета.
- ↑ Кришнамурти, Шрирам (ноябрь 2008 г.). «Обучение языкам программирования в постлиннеевскую эпоху». Сигплан . АКМ. 43 (11): 81–83. дои: 10.1145/1480828.1480846. S2CID 35714982. Нет. 43, 11. .
- ↑ Флойд, Р. В. (1979). «Парадигмы программирования». Связь с ACM . 22 (8): 455–460. дои: 10.1145/359138.359140. S2CID 207607885.
- ↑ «Информатика — Языки программирования». Британская энциклопедия . Проверено 29 декабря 2018 г. .
- ↑ Маурер, Уорд (14 мая 1969 г.). «Компилированный макрос-ассемблер» (PDF) . Весенняя совместная компьютерная конференция AFIPS .
- ↑ Макинсон, Томас Н. (01.08.1961). «КОБОЛ: пример задачи». Коммуникации ACM . 4 (8): 340–346. дои: 10.1145/366678.366687. ISSN 0001-0782. S2CID 22846031.
- ↑ «Наследование режимов, клонирование, хуки и ООП (обсуждение в группах Google)».
- Классификация основных парадигм программирования
- Как развиваются и внедряются парадигмы программирования?
Что такое процедурное программирование? [Определение]
Содержание
Когда вы новичок в программировании, парадигмы программирования не имеют большого значения. Но когда вы поднимаетесь по лестнице и начинаете создавать сложные программы и программное обеспечение, очень важно понять, какая парадигма программирования лучше всего подходит для вашего проекта. Прежде чем мы начнем, важно знать, что такое парадигма. Согласно многим приведенным определениям, парадигма — это ‘ набор предположений, концепций, ценностей и практик, составляющих способ видения реальности для сообщества, которое их разделяет, особенно в интеллектуальной дисциплине».
Это определение является точным, поскольку то, что отличает парадигму, — это другой способ просмотра реальности для сообщества. Парадигмы имеют значение, поскольку они часто путешествуют вместе с определенной культурой написания программ и размышлений о них. В этой статье мы обсудим основные парадигмы программирования, уделив особое внимание парадигме процедурного программирования.
Что такое процедурное программирование? [Определение]Процедурное программирование может быть первой парадигмой программирования, которую изучит новый разработчик. По сути, процедурный код — это тот, который непосредственно инструктирует устройство о том, как завершить задачу логическими шагами. Эта парадигма использует линейный нисходящий подход и рассматривает данные и процедуры как две разные сущности. Основываясь на концепции вызова процедуры, процедурное программирование делит программу на процедуры, которые также известны как подпрограммы или функции, просто содержащие ряд шагов, которые необходимо выполнить.
Проще говоря, процедурное программирование включает в себя запись списка инструкций, которые сообщают компьютеру, что он должен делать шаг за шагом, чтобы завершить поставленную задачу.
Ключевые особенности процедурного программированияКлючевые особенности процедурного программирования приведены ниже:
- Предопределенные функции: Предопределенная функция обычно представляет собой инструкцию, идентифицируемую именем. Обычно предопределенные функции встроены в языки программирования более высокого уровня, но они являются производными от библиотеки или реестра, а не от программы. Одним из примеров предопределенной функции является «charAt()», которая ищет позицию символа в строке.
- Локальная переменная : Локальная переменная — это переменная, объявленная в основной структуре метода и ограниченная заданной локальной областью. Локальная переменная может использоваться только в методе, в котором она определена, и если она будет использоваться вне определенного метода, код перестанет работать.
- Глобальная переменная : Глобальная переменная — это переменная, объявленная вне любой другой функции, определенной в коде. Благодаря этому глобальные переменные можно использовать во всех функциях, в отличие от локальных переменных.
- Модульность : Модульность — это когда две разные системы имеют две разные задачи, но сгруппированы вместе, чтобы сначала выполнить более крупную задачу. В этом случае каждая группа систем будет выполнять свои задачи одну за другой, пока не будут выполнены все задачи.
- Передача параметров: Передача параметров — это механизм, используемый для передачи параметров функциям, подпрограммам или процедурам. Передача параметров может осуществляться через «передачу по значению», «передачу по ссылке», «передачу по результату», «передачу по значению-результату» и «передачу по имени».
У процедурного программирования есть свои плюсы и минусы, некоторые из которых упомянуты ниже.
Преимущества- Процедурное программирование отлично подходит для программирования общего назначения
- Кодированная простота наряду с простотой реализации компиляторов и интерпретаторов
- Большой выбор книг и материалов онлайн-курсов по проверенным алгоритмам, которые облегчают процесс обучения
- Исходный код является переносимым, поэтому его можно использовать и для другого процессора
- Код можно повторно использовать в разных частях программы, без необходимости его копирования
- Благодаря методу процедурного программирования требования к памяти также снижаются.
- Ход выполнения программы можно легко отслеживать
- Программный код сложнее писать при использовании процедурного программирования
- Процедурный код часто нельзя использовать повторно, что может вызвать необходимость повторного создания кода, если необходимо использовать его в другом приложении
- Трудно связать с объектами реального мира
- Важность придается операции, а не данным, что может вызвать проблемы в некоторых случаях, связанных с данными
- Данные доступны для всей программы, что делает ее менее безопасной
Существуют различные типы парадигмы программирования, как мы упоминали ранее, которые представляют собой не что иное, как стиль программирования. Важно понимать, что парадигма ориентирована не на конкретный язык, а на способ написания программы. Ниже приведено сравнение между процедурным программированием и объектно-ориентированным программированием.
100 Days of Code: The Complete Python Pro Bootcamp на 2023 год
Что такое объектно-ориентированное программирование (ООП)ООП — это подход к программированию, который признает жизнь такой, какой мы ее знаем, как набор объектов, которые работают в тандеме друг с другом для решения конкретной проблемы. Первое, что нужно знать об ООП, — это инкапсуляция, то есть идея о том, что каждый объект, содержащий программу, является самодостаточным, что означает, что все компоненты, составляющие объект, находятся внутри самого объекта. Теперь, поскольку каждый модуль в рамках этой парадигмы является самодостаточным, объекты могут быть взяты из одной программы и использованы для решения другой имеющейся проблемы практически без изменений.
Преимущества- Благодаря модульности и инкапсуляции ООП обеспечивает простоту управления
- ООП имитирует реальный мир, облегчая понимание
- Поскольку объекты являются целыми сами по себе, их можно повторно использовать в других программах
- Объектно-ориентированные программы работают медленнее и используют большой объем памяти
- Чрезмерное обобщение
- Программы, созданные с использованием этой парадигмы, могут создаваться дольше
С другой стороны, процедурное программирование, в отличие от ООП, не фокусируется на шагах, которые будут выполняться для выполнения задачи, а не на взаимодействии между объектами . Задачи разбиты на подпрограммы, переменные и структуры данных. В любой момент времени эти процедуры могут быть вызваны в процессе выполнения программы.
Процедурное программирование | Объектно-ориентированное программирование |
Использует неизменяемые данные | Использует изменяемые данные |
Следует модели декларативного программирования | Соответствует модели императивного программирования | .
Расширяет поддержку параллельного программирования | Не подходит для параллельного программирования |
Порядок выполнения операторов не является основным фокусом | Порядок выполнения операторов очень важен |
Управление потоком выполняется с помощью вызовов функций | Управление потоком выполняется с помощью условных операторов и циклов |
Использует концепцию рекурсии для повторения коллективных данных | Использует концепцию цикла для итерации данных сбора |
Нет таких побочных эффектов его функций | Метод может иметь определенные побочные эффекты |
Основное внимание в процедурном программировании уделяется «Что вы делаете» | Основное внимание в объектно-ориентированном программировании уделяется «Как вы это делаете» |
Еще одна широко используемая парадигма программирования — функциональное программирование. Функциональное программирование сильно отличается как от процедурного программирования, так и от объектно-ориентированного программирования, поскольку оно использует математические функции. Благодаря этому операции выполняются только на основе введенных данных и не зависят от временных или скрытых переменных.
Преимущества- Функциональное программирование обеспечивает защищенную среду
- В то время как многие другие языки требуют значительного объема информации для правильного выполнения операций, функциональное программирование устраняет необходимость в большом объеме кода, необходимого для определения состояний
- Поскольку эта парадигма зависит только от входных аргументов, побочных эффектов нет
- Использование функционального программирования исключительно при разработке коммерческого ПО не рекомендуется и не используется
- Требуется большой объем памяти и времени
- Может оказаться менее эффективным, чем другие парадигмы
Как мы уже говорили в этой статье, процедурное программирование — это больше то, что вы делаете, чем то, как вы это делаете.