Парадигмата на програмиране

Парадигмата на програмиране - набор от идеи и концепции, които определят стила на писане programm.Paradigma. определя основно от базата и самата програма постигане на принципа на модулност програма. Тъй като тази единица са определението (декларативен, функционално програмиране), действието (императивно програмиране), принципите (Produktcionnyj програмиране), преходен диаграма (автомати програмиране), и др. Субект. В модерната софтуерната индустрия е много често програмиране парадигма определен набор от инструменти за програмиране, а именно, език за програмиране и ispolzuemymibibliotekami.

Парадигмата на програмиране, който определя условията, при които програмистът описва логиката на програмата. Например, програма vimperativnom програмиране е описан като последователност от действия и програмиране vfunktsionalnom представени като изрази и множество дефиниции функция (slovoopredelenie (angl.definition) трябва да се разбира в математическия смисъл). В populyarnomobektno-ориентираното програмиране програма (наричана ООП) обикновено се разглежда като съвкупност от взаимодействащи си обекти. OOP, предимно [1]. действително има императивно програмиране допълнена printsipominkapsulyatsii данни и методи на място (принцип модулност) и наследство (принцип повторна употреба, разработен функционален).

Важно е да се отбележи, че парадигмата на програмиране не е еднозначно определя от езика за програмиране - много съвременни езици за програмиране са мулти-парадигма, т.е. позволява използването на различни парадигми. Така че в C език. който не е обектно-ориентиран, че е възможно да се напише обектно-ориентиран начин и naRuby. която се основава до голяма степен сложи обектно-ориентираното програмиране, можем да запишем в зависимост от стила на функционалното програмиране.

Ангажимент към конкретно лице към една парадигма, понякога има такъв силен характер, че дебатът за предимствата и недостатъците на различните парадигми са в свързани компютърни среди към категорията на така наречените "религиозни" войни -holivar.

История на термина

Модерният смисъл в областта на науката и технологиите, е необходимо понятието "парадигма", очевидно, Томас Кун и книгата си "Структурата на научните революции" (sm.paradigma). Кун нарича парадигми създадена система от научни възгледи, в която провежда проучването. Според Кун, в развитието на научна дисциплина може да се случи на смяна на една парадигма на друг (като геоцентрична небесна mehanikaPtolemeya smenilasgeliotsentricheskoy sistemoyKopernika), старата парадигма продължава за известно време да съществува и дори нараства поради факта, че много от неговите поддръжници се окаже, за това, или други причини не са в състояние да се коригира, за да работят в друга парадигма.

Терминът "парадигма за програмиране" е използван за първи от Робърт Floyd в лекцията си [2] laureatapremii Тюринг.

Флойд отбелязва, че програмирането може да се наблюдава едно явление, подобно на парадигмите на Кун, но за разлика от тях, програмни парадигми не са взаимно изключващи се:

Ако напредъка на изкуството като цяло програмиране изисква постоянни изобретения и подобрения парадигми, съвършенството на изкуството на отделен програмист изисква тя разширява репертоара си парадигми.

По този начин, според Робърт Флойд, за разлика от парадигми в научния свят, описан от Кун, програмни парадигми могат да се комбинират, обогатяващи инструменти за програмиране.

различни дефиниции

Diomidis Спинелис дава следната дефиниция [3]:

Думата "парадигма" се използва за определяне на семейство програмиране нотация (означения), споделящи общ метод (техника) софтуерни приложения. (В оригинал: Думата парадигма се използва в компютърните науки да се говори за семейство от пояснения, които споделят обща начин за описване на програмни приложения)

Памела Zeyv (Pamela Zave) дава определение за парадигма като "начин на мислене за компютърни системи" (в оригинал «начин на мислене за компютър системи»). [7]

Петър Вегнер (Peter Вегнер) предлага различен подход към определението на понятието програмни парадигми. В изказването си работа «Концепции и парадигми на обектно-ориентираното програмиране» [8] парадигма се определя като "правила за класификация на езиците за програмиране, в съответствие с определени условия, които могат да бъдат проверени."

Timoti Badd предлага да се разбере понятието "парадигма" като "начин за концептуализиране какво означава" за извършване на изчисления ", а като проблеми за разрешаване на компютър трябва да бъде структуриран и организиран." [9]

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

Основен модел за програмиране