Programming paradigm (original) (raw)

About DBpedia

نمط البرمجة، (بالإنجليزية: Programming paradigm)‏، هو أسلوب في برمجة الحاسوب (وثمة فرق بينه وبين المنهجية Methodology، والتي هي أسلوب حل مشاكل محددة تتبع لهندسة البرمجيات). تختلف أنماط البرمجة في المفاهيم والتجريدات التي تستخدمها لتمثيل عناصر برنامج (كالكائنات والتوابع والمتحولات والقيود وغيرها) وخطوات العمل والحساب ( وبنى التحكم والإيجاد). يمكن للغة البرمجة أن تدعم عدة أنماط برمجة. فمثلاً: برامج سي++ أو أوبجكت باسكال يمكن أن تكون وظيفية تماماً أو كائنية تماماً، أو قد تحتوي خليطاً من الإثنين. مصممو البرامج والمبرمجون هم الذين يحددون كيف يستخدمون الأنماط المختلفة.

thumbnail

Property Value
dbo:abstract نمط البرمجة، (بالإنجليزية: Programming paradigm)‏، هو أسلوب في برمجة الحاسوب (وثمة فرق بينه وبين المنهجية Methodology، والتي هي أسلوب حل مشاكل محددة تتبع لهندسة البرمجيات). تختلف أنماط البرمجة في المفاهيم والتجريدات التي تستخدمها لتمثيل عناصر برنامج (كالكائنات والتوابع والمتحولات والقيود وغيرها) وخطوات العمل والحساب ( وبنى التحكم والإيجاد). يمكن للغة البرمجة أن تدعم عدة أنماط برمجة. فمثلاً: برامج سي++ أو أوبجكت باسكال يمكن أن تكون وظيفية تماماً أو كائنية تماماً، أو قد تحتوي خليطاً من الإثنين. مصممو البرامج والمبرمجون هم الذين يحددون كيف يستخدمون الأنماط المختلفة. (ar) Un paradigma és una forma de representar i manipular el coneixement. Representa un enfocament particular o filosofia per a la construcció del programari. No és millor un que un altre, sinó que cada un té avantatges i desavantatges. També hi ha situacions on un paradigma resulta més apropiat que un altre. Alguns exemples de paradigmes de programació: * El paradigma imperatiu és considerat el més comú i està representat, per exemple, pel C o per BASIC.. * El paradigma funcional està representat per llenguatges com LISP, Scheme, Haskell.. * El paradigma lògic, un exemple és Prolog. * El paradigma orientat a objectes. Un llenguatge completament orientat a objectes és Smalltalk. Nota: La representació orientada a objectes millora l'estructura de les dades i per això s'ha aplicat a diferents paradigmes. Si bé es pot seleccionar la forma pura d'aquests paradigmes al moment de programar, en la pràctica és habitual que es barregin. Així, llenguatges com C++, Delphi o Visual Basic combinen el paradigma imperatiu amb l'orientat a objectes. Un altre exemple: Llenguatges com Scheme o Prolog, paradigma funcional i lògic respectivament, compten amb estructures repetitives. Aquestes són més pròpies del paradigma imperatiu que a la forma pura d'aquells. (ca) Programovací paradigma je základní programovací styl (na rozdíl od metodiky, která představuje způsob vývoje konkrétních aplikací v softwarovém inženýrství). Paradigmata se liší v pojmech a abstrakcích, které tvoří jednotlivé prvky programu (objekty, funkce, proměnné, omezení, aj.), a krocích, ze kterých se výpočet skládá (přiřazení, vyhodnocení, continuations (pokračování), datové toky, atd.). (cs) Ein Programmierparadigma ist ein fundamentaler Programmierstil. „Der Programmierung liegen je nach Design der einzelnen Programmiersprache verschiedene Prinzipien zugrunde. Diese sollen den Entwickler bei der Erstellung von ‚gutem Code‘ unterstützen, in manchen Fällen sogar zu einer bestimmten Herangehensweise bei der Lösung von Problemen zwingen“. Programmierparadigmen unterscheiden sich durch ihre Konzepte für die Repräsentation von statischen (wie beispielsweise Objekte, Methoden, Variablen, Konstanten) und dynamischen (wie beispielsweise Zuweisungen, Kontrollfluss, Datenfluss) Programmelementen. Grundlegend für den Entwurf von Programmiersprachen sind die Paradigmen der imperativen und der deklarativen Programmierung. Beim letzteren sind als wichtige Ausprägungen die Paradigmen der funktionalen Programmierung und der logischen Programmierung zu nennen. Die verschiedenen Paradigmen sind, bezogen auf einzelne Computerprogramme, nicht als konkurrierende bzw. alternative Programmierstile zu verstehen. Vielmehr können „viele Programmiersprachen mehrere Paradigmen gleichzeitig unterstützen“. BeispielIn einer unter MS Access und mit VBA entwickelten Anwendung sind die funktionalen Komponenten ereignis- und objektorientiert angelegt (Bsp.: „beim Öffnen von Formular X“). Der VBA-Code ist strukturiert/modular/prozedural (denn er besteht aus Modulen, Makros, Prozeduren etc.); und er ist gleichzeitig imperativ, weil er „Befehle“ enthält, die (innerhalb der Prozeduren…) exakt in der codierten Folge ausgeführt werden. Formulare und Berichte sowie die SQL-Aufrufe sind deklarativ, weil der Entwickler hier nur das WAS und nicht das WIE festlegt. Trotzdem werden Programmiersprachen häufig – nach ihrer Grund-Charakteristik – z. B. als objektorientierte, prozedurale oder deklarative Sprache bezeichnet. Die ein Paradigma bestimmenden Merkmale beruhen überwiegend auf den Eigenschaften der angewendeten Programmiersprachen (wie z. B. bei OOP, deklarativ …), zum Teil aber auch auf dem individuellen Stil, der beim Programmieren praktiziert wird (z. B. strukturiert, modular). Oft kann an den „Bürgern erster Klasse“ („First Class Citizens“ – FCCs) einer Programmiersprache – also den Formen von Daten, die direkt verwendet werden können – erkannt werden, welchem Paradigma die Sprache gehorcht. In Java (objektorientiert) zum Beispiel sind Objekte FCCs, in Lisp ist jedes Stück Programm FCC, in Perl sind es Zeichenketten, Arrays und Hashes. Neben den Programmierparadigmen gibt es noch eine Reihe weiterer Kriterien für die Entwicklung einer möglichst fehlerfreien und wartbaren Software – wie zum Beispiel Lesbarkeit des Programmcodes, Redundanzfreiheit, Modularität und Nebenwirkungsfreiheit. Diese sollten unter jedem Paradigma so weit wie möglich eingehalten werden. Siehe auch Programmierstil. (de) Προγραμματιστικό παράδειγμα (ή πρ. υπόδειγμα ή πρ. μεθοδολογία ή πρ. προσέγγιση) (αγγλικα: programming paradigm) καλείται η ιδιαίτερη τεχνική και οι μέθοδοι με τις οποίες ένα υπολογιστικό πρόβλημα και η αλγοριθμική λύση του προσεγγίζονται στον προγραμματισμό των υπολογιστών. Είναι δηλαδή ένα σύνολο εννοιών οι οποίες εκφράζουν έναν συγκεκριμένο τρόπο σκέψης, και κατά συνέπεια έκφρασης της υλοποίησης, διαμορφώνοντας τον τρόπο σχεδιασμού ενός προγράμματος. Μια γλώσσα προγραμματισμού μπορεί να υποστηρίξει πολλαπλά παραδείγματα. Έτσι, προγράμματα που γράφτηκαν στη γλώσσα C++ ή στην μπορεί να είναι αμιγώς διαδικαστικά, ή αμιγώς αντικειμενοστρεφή, ή να περιέχουν στοιχεία και από τα δύο παραδείγματα. Οι δημιουργοί λογισμικού αποφασίζουν πώς να χρησιμοποιήσουν αυτά τα στοιχεία του υποδείγματος. Τα σημαντικότερα προγραμματιστικά παραδείγματα είναι: * Προστακτικός προγραμματισμός (Imperative programming) * Διαδικαστικός προγραμματισμός (procedural programming), που είναι υποκατηγορία του Δομημένου προγραμματισμού (Structured programming) * Αντικειμενοστρεφής προγραμματισμός (object-oriented programming) * Δηλωτικός προγραμματισμός (declarative programming) * Συναρτησιακός προγραμματισμός (functional programming) * (Logic programming) (el) Programada paradigmo estas fundamenta maniero de komputila programado, kiu temas pri kiel la radikoj de problemo esti formulataj en programlingvo (kontraŭe de la , kiu temas pri kiel solvi problemojn specifajn de ). Ekzistas du bazaj paradigmoj: ordonema programado kaj . (eo) Programazio paradigmak programazio estiloaren arabera programazio lengoaiak sailkatzeko modu bat da. Programazio lengoai askoren ezaugarriek zehazten dute zein paradigmakoa den, ondorioz, lengoai batzuk paradigma batean sartuko dira, eta beste batzuk hainbat paradigmetan. (eu) Se denominan paradigmas de programación a las formas de clasificar los lenguajes de programación en función de sus características. Los idiomas se pueden clasificar en múltiples paradigmas. Algunos paradigmas se ocupan principalmente de las implicancias para el modelo de ejecución del lenguaje, como permitir efectos secundarios o si la secuencia de operaciones está definida por el modelo de ejecución. Otros paradigmas se refieren principalmente a la forma en que se organiza el código, como agrupar un código en unidades junto con el estado que modifica el código. Sin embargo, otros se preocupan principalmente por el estilo de la sintaxis y la gramática. Los paradigmas de programación comunes incluyen:​​​ * imperativo en el que el programador instruye a la máquina cómo cambiar su estado, * procedimental que agrupa las instrucciones en procedimientos, * orientado a objetos que agrupa las instrucciones con la parte del estado en el que operan, * declarativo en el que el programador simplemente declara las propiedades del resultado deseado, pero no cómo calcularlo * funcional en el que el resultado deseado se declara como el valor de una serie de aplicaciones de función, * lógico en la que el resultado deseado se declara como la respuesta a una pregunta sobre un sistema de hechos y reglas, * matemático en el que el resultado deseado se declara como la solución de un problema de optimización * reactivo en el que se declara el resultado deseado con flujos de datos y la propagación del cambio Las técnicas simbólicas como la reflexión, que permiten que el programa se refiera a sí mismo, también pueden ser consideradas como un paradigma de programación. Sin embargo, esto es compatible con los principales paradigmas y, por lo tanto, no es un paradigma real por derecho propio. Por ejemplo, los lenguajes que caen en el paradigma imperativo tienen dos características principales: establecen el orden en el que ocurren las operaciones, con construcciones que controlan explícitamente ese orden, y permiten efectos secundarios, en los que el estado puede modificarse en un momento determinado, dentro de una unidad de código, y luego leer en un momento diferente dentro de una unidad de código diferente. La comunicación entre las unidades de código no es explícita. Mientras tanto, en la programación orientada a objetos, el código se organiza en objetos que contienen un estado que solo es modificado por el código que forma parte del objeto. La mayoría de los lenguajes orientados a objetos también son lenguajes imperativos. Por el contrario, los lenguajes que se ajustan al paradigma declarativo no indican el orden en el que ejecutar las operaciones. En su lugar, proporcionan una serie de operaciones disponibles en el sistema, junto con las condiciones en las que se permite que se ejecute cada una. La implementación del modelo de ejecución del lenguaje rastrea qué operaciones son libres de ejecutar y elige el orden en forma independiente. Más en Comparación de lenguajes de programación de múltiples paradigmas. (es) Le paradigme de programmation est la façon (parmi d'autres) d'approcher la programmation informatique et de formuler les solutions aux problèmes et leur formalisation dans un langage de programmation approprié. Ce n'est pas de la méthodologie contenant une méthode ; cette dernière organise le traitement des problèmes reconnus dans l'écosystème concerné pour aboutir à la solution conceptuelle et programme exécutable. (fr) Programming paradigms are a way to classify programming languages based on their features. Languages can be classified into multiple paradigms. Some paradigms are concerned mainly with implications for the execution model of the language, such as allowing side effects, or whether the sequence of operations is defined by the execution model. Other paradigms are concerned mainly with the way that code is organized, such as grouping a code into units along with the state that is modified by the code. Yet others are concerned mainly with the style of syntax and grammar. Common programming paradigms include: * imperative in which the programmer instructs the machine how to change its state, * procedural which groups instructions into procedures, * object-oriented which groups instructions with the part of the state they operate on, * declarative in which the programmer merely declares properties of the desired result, but not how to compute it * functional in which the desired result is declared as the value of a series of function applications, * logic in which the desired result is declared as the answer to a question about a system of facts and rules, * mathematical in which the desired result is declared as the solution of an optimization problem * reactive in which the desired result is declared with data streams and the propagation of change Symbolic techniques such as reflection, which allow the program to refer to itself, might also be considered as a programming paradigm. However, this is compatible with the major paradigms and thus is not a real paradigm in its own right. For example, languages that fall into the imperative paradigm have two main features: they state the order in which operations occur, with constructs that explicitly control that order, and they allow side effects, in which state can be modified at one point in time, within one unit of code, and then later read at a different point in time inside a different unit of code. The communication between the units of code is not explicit. Meanwhile, in object-oriented programming, code is organized into objects that contain a state that is only modified by the code that is part of the object. Most object-oriented languages are also imperative languages. In contrast, languages that fit the declarative paradigm do not state the order in which to execute operations. Instead, they supply a number of available operations in the system, along with the conditions under which each is allowed to execute. The implementation of the language's execution model tracks which operations are free to execute and chooses the order independently. More at Comparison of multi-paradigm programming languages. (en) Paradigma dapat diartikan sudut pandang atau sudut serang dalam suatu persoalan, realitas dsb. Begitu pula dalam pemrograman, ada pendekatan-pendekatan untuk menyelesaikan suatu persoalan yang disebut dengan paradigma pemrograman. (in) In de informatica zijn programmeerparadigma's denkpatronen of uitgesproken concepten van programmeren, die voornamelijk verschillen in de wijze van aanpak om het gewenste resultaat te kunnen behalen. Sommige programmeertalen zijn ontworpen om slechts één bepaalde paradigma te ondersteunen, maar er zijn ook andere programmeertalen die meerdere paradigma's ondersteunen (zoals C++, Java en Scala). Programma's die bijvoorbeeld geschreven zijn in C++ kunnen in het geheel procedureel zijn, geheel objectgeoriënteerd zijn of elementen van beide paradigma's bevatten. (nl) 프로그래밍 패러다임(programming paradigm)은 프로그래밍의 패러다임 형태이다. 소프트웨어 공학을 할 때의 패러다임 형태인 방법론과 비교된다. 프로그래밍 패러다임은 프로그래머에게 프로그래밍의 관점을 갖게 해 주고, 결정하는 역할을 한다. 예를 들어 객체지향 프로그래밍은 프로그래머들이 프로그램을 상호작용하는 객체들의 집합으로 볼 수 있게 하는 반면에, 함수형 프로그래밍은 상태값을 지니지 않는 함수값들의 연속으로 생각할 수 있게 해준다. 소프트웨어 공학의 서로 다른 무리가 서로 다른 방법론을 지원하듯이, 서로 다른 프로그래밍 언어는 서로 다른 프로그래밍 패러다임을 지원한다. 어떤 언어들은 하나의 특정한 패러다임을 지원하기도 하는데, 스몰토크와 jdk 1.8 이전의 자바가 객체지향 프로그래밍을 지원하는 반면에, 하스켈과 스킴은 함수형 프로그래밍을 지원한다. 여러 가지 패러다임을 지원하는 언어들도 있는데, 커먼 리스프, 파이썬, 오즈, jdk 1.8 이상의 자바 등이 이런 언어들이다. (몇년 전까지 자바는 명령형 프로그래밍, 객체지향 프로그래밍 패러다임을 따르기로 유명했다. 하지만 jdk 1.8부터 함수형 프로그래밍 패러다임을 지원하기 위해 람다식, 생성자 레퍼런스, 메서드 레퍼런스를 도입했고 선언형 프로그래밍의 장려를 위해 Stream과 같은 표준 API 등도 추가했다. 그러나 태생부터 함수형 패러다임을 지원하는 여타 언어들과는 달리 여전히 함수를 일급객체로 취급하지는 않는다. 자바에서 람다식은 함수형 인터페이스를 구현하는 익명클래스의 인스턴스를 생성하며, 좀 더 간단한 표현을 위해 컴파일러의 타입 추론이 동원된다. ) 많은 프로그래밍 패러다임은 어떤 기법을 금지하거나 어떤 것을 가능하게 하는 것으로 널리 알려져 있다. 예를 들어, 순수 함수형 프로그래밍은 부작용의 사용을 허용하지 않는다. 구조적 프로그래밍은 GOTO문의 사용을 제한한다. 부분적으로 이런 이유로 인하여 새로운 패러다임들은 종종 과거의 것에 길들여진 사람들에게 교조주의적이거나 지나치게 엄격한 것으로 간주되기도 한다. 하지만 특정 기법을 피하는 것은 프로그래밍 언어의 범용성을 제한하지 않으면서 프로그램의 올바름에 대한 정리를 증명하는 것을 더 쉽게 하고, 더 간단하게 이해할 수 있기도 하다. 프로그래밍 패러다임과 프로그래밍 언어와의 관계는 프로그래밍 언어가 여러 프로그래밍 패러다임을 지원하기도 하기 때문에 복잡할 수도 있다. 예를 들어서 C++는 절차적 프로그래밍, 객체기반 프로그래밍, 객체지향 프로그래밍, 제네릭 프로그래밍의 요소들을 지원하도록 설계되었다. C++에서는 순수하게 절차적 프로그램을 작성할 수 있고, 순수하게 객체지향 프로그램을 작성할 수 있으며, 두 가지 패러다임 모두의 요소를 포함한 프로그램을 작성할 수도 있다. 최근에는 여러 패러다임들이 관대하게 지원되는 경향이 강하다. 자바나 PHP와 같이 기존부터 있던 언어들에는 본래 없던 패러다임이 추가되고, Swift나 Go, Kotlin과 같이 비교적 새로 만들어지는 언어들은 처음부터 여러 패러다임의 지원을 고려하여 설계된다. 범용성을 강조하는 언어들에서는 최근 함수형, 선언형 패러다임이 적극적으로 적용되고 있는 것이 특징이다. DSL과 같이 완전히 특수한 목적을 띄지도 않고, 완전한 범용성을 띄지도 않는, 어느 정도의 범용성을 띄는 새로운 언어들이나, 또는 실험적으로 개발되는 많은 언어들에서는 어느 정도 언어 설계의 목적에 따라 여러 패러다임을 조합하는 일이 더욱 흔해지고 있다. 고전적으로 순수한 관점에서 이질적으로 보여졌던 패러다임간의 공존이 갈수록 많이 등장하며, 상황과 맥락에 따라 패러다임간 장점만을 취하려는 시도는 계속되고 있다. 위와 같이 하나의 언어가 여러 패러다임을 지원하는 시도가 늘어가고 있음에도, 반대로 개발자가 서로 다른 패러다임에 강점이 있거나 서로 다른 플랫폼에 기반한 여러 언어를 배워 사용하는 경우가 늘어가고 있다. 한 개발자가 여러 언어와 여러 패러다임을 익히는 것을 이라 하고, 하나의 프로젝트에서 여러 언어의 여러 패러다임을 사용하는 것을 폴리글랏 프로그래밍이라고 한다. 기존과 달리, 하나의 프로젝트를 수행하는 데 고려해야 하는 환경이 다양해지고, 또는 특정 작업에 최적화된 여러 툴, 프레임워크, 언어가 등장하고, 문제의 복잡도와 규모가 커지면서 폴리글랏이 트렌드로 자리잡고 있다. 예를 들어, 안드로이드 앱 개발자는 기본적으로 자바와 안드로이드를 알지만, 때로 웹 앱 개발이 유리한 경우에는 HTML, CSS, Javascript의 사용이 필요할 수 있고, 안드로이드 공식 개발 언어가 Kotlin으로 바뀌었으므로 그 또한 필요할 수 있다. 해당 안드로이드 앱 개발자는 패러다임 측면에서 명령형, 객체지향 패러다임을 넘어 선언형, 함수형 패러다임을 아는 것이 필요할 것이고, 최근 각광받는 반응형 프로그래밍도 필요할 수 있으며, 하이브리드인 함수형 반응형 프로그래밍을 사용할 수 있다. 또한, 앱은 서버와 통신하는 경우가 많은데, 스타트업이나 1인 개발과 같이 개발자가 적은 경우, 서버개발에 필요한 언어도 요구될 수 있다. 다른 예로는 자바 기반 프로젝트의 특정 맥락에서 자바 대신 자바 가상머신 지원 언어를 사용하는 것을 생각해 볼 수 있다. 또는 파이썬이 타 언어와 호환이 용이함을 이용해 Python 기반 개발 환경에서 특정 맥락서 C를 사용하는 것은 익히 알려진 패턴이다. 데이터베이스 사용에선 RDBMS를 주로 사용하던 이전과 달리 NoSQL의 대두로 여러 패러다임의 이해가 요구될 수 있다. ( NoSQL 은 RDB의 관계지향 패러다임과 같이 하나의 패러다임이 적용된 것이 아니고, 여러 다양한 철학이 적용되어 있다. 크게 분류하면 column, document, key and value, graph의 4종류가 있다. ) 이전부터 이러한 요구는 잠재적으로 있어왔지만, 특히 최근 서로 다른 환경, 플랫폼, 언어가 서로 호환되도록 개발되었기 때문에 과거에는 가능하지 않았던 폴리글랏 프로그래밍이 가능하게 된 측면도 있다. (ko) プログラミングパラダイム (英: programming paradigm)とは、プログラミングにおける模範である。 (ja) In informatica, un paradigma di programmazione è uno stile fondamentale di programmazione, ovvero un insieme di strumenti concettuali forniti da un linguaggio di programmazione per la stesura del codice sorgente di un programma, definendo dunque il modo in cui il programmatore modella, concepisce e percepisce il programma stesso. Diversi paradigmi si differenziano per i concetti e le astrazioni usate per rappresentare gli elementi di un programma (come ad esempio le funzioni, gli oggetti, le variabili, vincoli, ecc.) e per i procedimenti usati per l'esecuzione delle procedure di elaborazione dei dati (assegnazione, calcolo, iterazione, data flow, ecc.). (it) Paradygmat programowania (ang. programming paradigm) — wzorzec programowania komputerów przedkładany w danym okresie rozwoju informatyki ponad inne lub ceniony w pewnych okolicznościach lub zastosowaniach. Paradygmat programowania definiuje sposób patrzenia programisty na przepływ sterowania i wykonywanie programu komputerowego. Przykładowo, w programowaniu obiektowym jest on traktowany jako zbiór współpracujących ze sobą obiektów, podczas gdy w programowaniu funkcyjnym definiujemy, co trzeba wykonać, a nie w jaki sposób. Różne języki programowania mogą wspierać różne paradygmaty programowania. Przykładowo, Smalltalk i Java są zaprojektowane dla potrzeb programowania obiektowego, natomiast Haskell jest językiem funkcyjnym. Istnieją także języki wspierające kilka paradygmatów, np. Common Lisp oraz Python. Paradygmaty mogą być znane z tego, jakie praktyki są w nich zakazane, a jakie dozwolone. Ścisłe programowanie funkcyjne nie pozwala na tworzenie skutków ubocznych. W programowaniu strukturalnym nie korzysta się z instrukcji skoku (goto). Częściowo z tego właśnie powodu nowe paradygmaty są uważane za zbyt ścisłe przez osoby przyzwyczajone do wcześniejszych stylów. Jednakże omijanie pewnych technik ułatwia przeprowadzanie dowodów o poprawności programu, albo po prostu zrozumienia jego działania, bez ograniczania samego języka programowania. Zależności między paradygmatami programowania mogą przybierać skomplikowane formy, ponieważ jeden język może wspierać wiele różnych paradygmatów. Na przykład, C++ posiada elementy programowania proceduralnego, obiektowego oraz uogólnionego, co stanowi o nim, że jest hybrydowym językiem. To projektanci i programiści decydują, jak zbudować z nich wszystkich w pełni działający program. Niektórzy decydują się na ścisłe programowanie proceduralne, natomiast inni łączą ze sobą elementy wielu paradygmatów w zależności od potrzeb. (pl) Paradigma de programação é um meio de se classificar as linguagens de programação baseado em suas funcionalidades. As linguagens podem ser classificadas em vários paradigmas. Um paradigma de programação fornece e determina a visão que o programador possui sobre a estruturação e execução do programa. Por exemplo, em programação orientada a objetos, os programadores podem abstrair um programa como uma coleção de objetos que interagem entre si, enquanto em programação funcional os programadores abstraem o programa como uma sequência de funções executadas de modo empilhado. Alguns paradigmas estão preocupados principalmente com as implicações para o da linguagem, como permitir efeitos colaterais, ou se a sequência de operações está definida pelo modelo de execução. Outros paradigmas estão preocupados principalmente com o modo que o código está organizado, como o agrupamento de código em unidades junto com o estado que é modificado pelo código. Outros ainda estão preocupados principalmente com o estilo de sintaxe ou gramática. Assim como diferentes grupos em engenharia de software propõem diferentes , diferentes linguagens de programação propõem diferentes paradigmas de programação. Algumas linguagens foram desenvolvidas para suportar um paradigma específico (Smalltalk e Java suportam o paradigma de orientação a objetos enquanto Haskell suportam o paradigma funcional), enquanto outras linguagens suportam múltiplos paradigmas (como o LISP, Perl, Python, C++ e Oz). Os paradigmas de programação são muitas vezes diferenciados pelas técnicas de programação que proíbem ou permitem. Por exemplo, a programação estruturada não permite o uso de goto. Esse é um dos motivos pelo qual novos paradigmas são considerados mais rígidos que estilos tradicionais. Apesar disso, evitar certos tipos de técnicas pode facilitar a prova de conceito de um sistema, podendo até mesmo facilitar o desenvolvimento de algoritmos. O relacionamento entre paradigmas de programação e linguagens de programação pode ser complexo pelo fato de linguagens de programação poderem suportar mais de um paradigma. (pt) Ett programmeringsparadigm är en övergripande teori eller fundamentalt arbetssätt kring hur program bör organiseras och struktureras. Programmeringsparadigm är språkoberoende i bemärkelsen att paradigmet inte uttryckligen talar om språksyntax eller semantik, utan om övergripande begrepp och synsätt på program och programutveckling. Till skillnad från paradigm i vetenskapsfilosofiska sammanhang är det snarare regel än undantag att flera paradigm är aktiva och levande samtidigt. Man kan alltså inte i dessa sammanhang tala om paradigmskiften på samma sätt som inom vetenskapen. De vanligaste programmeringsparadigmen är: * Strukturerad programmering * Objektorienterad programmering * Logikprogrammering * Funktionell programmering * Procedurell programmering * Aspektorienterad programmering * Händelsestyrd(Concurrent) programmering. Funktionell programmering och logikprogrammering kallas även deklarativ programmering. Objektorienterad och objektinriktad programmering är samma sak. En variant till kan vara jämnlöpande programmering. (sv) Паради́гма программи́рования — это совокупность идей и понятий, определяющих стиль написания компьютерных программ (подход к программированию). Это способ концептуализации, определяющий организацию вычислений и структурирование работы, выполняемой компьютером. Парадигма программирования не определяется однозначно языком программирования; практически все современные языки программирования в той или иной мере допускают использование различных парадигм (мультипарадигменное программирование). Так, на языке Си, который не является объектно-ориентированным, можно работать в соответствии с принципами объектно-ориентированного программирования, хотя это и сопряжено с определёнными сложностями; функциональное программирование можно применять при работе на любом императивном языке, в котором имеются функции, и т. д. Также существующие парадигмы зачастую пересекающиеся друг с другом в деталях (например, модульное и объектно-ориентированное программирование), поэтому можно встретить ситуации, когда разные авторы употребляют названия из разных парадигм, говоря при этом, по сути, об одном и том же явлении. (ru) 编程范型、编程范式或程式設計法(英語:Programming paradigm),是指软件工程中的一类典型的编程风格。常见的编程范型有:函数式编程、指令式編程、过程式编程、面向对象编程等等。 编程范型提供并决定了程序员对程序执行的看法。例如,在面向对象编程中,程序员认为程序是一系列相互作用的对象,由于方法论的不同,面向对象编程又分为基于类编程和基于原型编程,而在函数式编程中一个程序会被看作是一个无状态的函数计算的序列。 (zh) Паради́гма програмува́ння є способом класифікації мов програмування на основі їхніх особливостей. Мови можна класифікувати за кількома парадигмами. Деякі парадигми стосуються головним чином наслідків для моделі виконання мови, наприклад дозволу побічних ефектів або того, чи послідовність операцій визначається моделлю виконання. Інші парадигми в основному стосуються способу організації коду, наприклад, групування коду в одиниці разом із станом, який змінюється кодом. Інші мають відношення головним чином до стилю синтаксису та граматики. Загальні парадигми програмування: * імперативне програмування, у якому програміст наказує машині, як змінити свій стан, * процедурне програмування, яке групує інструкції в процедури, * об'єктно-орієнтоване програмування, яке групує інструкції з частиною стану, з якою вони працюють, * декларативне програмування, у якому програміст оголошує властивості бажаного результату, але не те, як його обчислити * функціональне програмування, у якому бажаний результат оголошується як значення серії застосувань функції, * логічне програмування, в якому бажаний результат оголошується як відповідь на запитання про систему фактів і правил, * оптимізація, в якій бажаний результат оголошується як розв’язок задачі оптимізації, * реактивне програмування, у якому бажаний результат оголошується з потоками даних і розповсюдженням змін. Символічні методи (наприклад, рефлексія), які дозволяють програмі посилатися на себе, також можна розглядати як парадигму програмування. Однак вони сумісні з основними парадигмами і тому не є самостійною парадигмою. Наприклад, мови, які відповідають імперативній парадигмі, мають дві основні особливості: * вони вказують порядок, у якому виконуються операції, з конструкціями, які явно контролюють цей порядок, * вони допускають побічні ефекти, в яких стан можна змінити в один момент часу, в одній одиниці коду, а згодом прочитати в інший момент часу в іншій одиниці коду. Зв'язок між одиницями коду не є явним.Тим часом в об’єктно-орієнтованому програмуванні код організовано в об’єкти, які містять стан, який змінюється лише кодом, який є частиною об’єкта. Більшість об'єктно-орієнтованих мов також є імперативними мовами. Мови, які відповідають декларативній парадигмі, не визначають порядок виконання операцій. Натомість вони надають ряд доступних операцій у системі разом із умовами, за яких кожну з них дозволено виконувати. Реалізація моделі виконання мови відстежує, які операції можна вільно виконувати, і самостійно вибирає порядок. Детальніше в Порівняння багатопарадигмальних мов програмування. Кожну окрему парадигму програмування характеризує наявність у ній методу та зв'язок із моделлю життєвого циклу. Спільним для різних парадигм програмування є загальні принципи проєктування програмного продукту. Користувач може вибирати ту або іншу парадигму програмування з позицій зручності застосування для задач у ПрО та виготовлення конкретного програмного продукту. (uk)
dbo:thumbnail wiki-commons:Special:FilePath/Programming_paradigms.svg?width=300
dbo:wikiPageExternalLink http://www.janeve.me/articles/understanding-programming-paradigms http://www.info.ucl.ac.be/~pvr/paradigms.html
dbo:wikiPageID 189897 (xsd:integer)
dbo:wikiPageLength 21469 (xsd:nonNegativeInteger)
dbo:wikiPageRevisionID 1123686172 (xsd:integer)
dbo:wikiPageWikiLink dbr:Prolog dbr:Python_(programming_language) dbr:Robert_W._Floyd dbr:Ruby_(programming_language) dbr:Scala_(programming_language) dbr:Scheme_(programming_language) dbr:Encapsulation_(computer_programming) dbr:Meme dbr:Message_passing dbr:Method_(computer_programming) dbr:Move_(command) dbr:Memory_address dbr:Third-generation_programming_language dbr:Process-oriented_programming dbr:Programming_model dbr:Declarative_programming dbr:Dennis_Ritchie dbr:Algorithm dbr:Algorithmic_efficiency dbr:Perl dbr:Richard_Stallman dbr:Von_Neumann_programming_languages dbr:Common_Lisp dbr:Comparison_of_programming_paradigms dbr:SQL dbr:Object-oriented_programming dbr:Object_(computer_science) dbr:Second-generation_programming_language dbr:Alexander_Stepanov dbr:Eiffel_(programming_language) dbr:Function_(mathematics) dbr:Copy_(command) dbr:Thomas_Kuhn dbr:Lisp_(programming_language) dbr:Low-level_programming_language dbr:Simula dbr:Smalltalk dbr:Structured_programming dbr:Subroutine dbr:Comparison_of_multi-paradigm_programming_languages dbr:Computer_file dbr:Embedded_system dbr:Functional_programming dbr:Parallel_computing dbr:Pointer_(computer_programming) dbr:Polymorphism_(computer_science) dbr:Software_engineering dbr:Automated_theorem_proving dbr:BASIC dbr:C++ dbr:COBOL dbr:C_(programming_language) dbr:C_Sharp_(programming_language) dbc:Programming_language_classification dbr:Turing_Award dbr:Data dbr:Data_structure dbr:Distributed_memory dbr:Domain-specific_language dbr:Domain_(software_engineering) dbr:Logic_programming dbr:ALGOL dbr:FORTRAN dbr:F_Sharp_(programming_language) dbr:Oz_(programming_language) dbr:PHP dbr:PL/I dbr:Differentiable_programming dbr:Fourth-generation_programming_language dbr:Goto dbr:Machine_code dbr:Differentiation_(mathematics) dbr:Programming_domain dbr:Mathematical_programming dbr:Procedural_programming dbr:Haskell_(programming_language) dbr:High_Level_Assembly dbr:JavaScript dbr:Java_(programming_language) dbr:Hypertext dbr:Artificial_intelligence dbr:Assembly_language dbc:Programming_paradigms dbc:Programming_language_topics dbr:Efficacy dbr:High-level_programming_language dbr:Modeling_language dbr:Assignment_(computer_science) dbr:Automated_reasoning dbr:Automatic_differentiation dbr:Instruction_set dbr:Object_Pascal dbr:Reactive_programming dbr:Recursion_(computer_science) dbr:Reflection_(computer_programming) dbr:Software_bloat dbr:The_Structure_of_Scientific_Revolutions dbr:Side_effect_(computer_science) dbr:Visual_Basic dbr:Expert_system dbr:Imperative_programming dbr:Literate_programming dbr:Programming_language dbr:Procedural_language dbr:Execution_model dbr:First-generation_programming_language dbr:Shared_memory dbr:Natural-language_processing dbr:Symbolic_programming dbr:Turing_completeness dbr:Mathematical dbr:Side-effect_(computer_science) dbr:Inference_rule dbr:Object_(programming) dbr:AT&T_Bell_Labs dbr:File:Programming_paradigms.svg
dbp:state collapsed (en)
dbp:title Software engineering (en) Programming (en)
dbp:wikiPageUsesTemplate dbt:Programming_paradigms dbt:Programming_language_generations dbt:Types_of_programming_languages dbt:About dbt:Anchor dbt:Authority_control dbt:Citation_needed dbt:Commons_category dbt:Div_col dbt:Div_col_end dbt:Main dbt:More_citations_needed dbt:Navboxes dbt:Portal dbt:Reflist dbt:Rp dbt:See_also dbt:Short_description dbt:Snd dbt:Software_engineering dbt:Computer_science dbt:Major_programming_languages dbt:Computer_language
dcterms:subject dbc:Programming_language_classification dbc:Programming_paradigms dbc:Programming_language_topics
gold:hypernym dbr:Way
rdf:type owl:Thing yago:Abstraction100002137 yago:ArtificialLanguage106894544 yago:Communication100033020 yago:GrammaticalRelation113796779 yago:Inflection113803782 yago:Language106282651 yago:LinguisticRelation113797142 yago:Message106598915 yago:Paradigm113804375 yago:ProgrammingLanguage106898352 yago:Relation100031921 yago:Subject106599788 yago:WikicatProgrammingLanguageTopics yago:WikicatProgrammingLanguages yago:WikicatProgrammingParadigms
rdfs:comment نمط البرمجة، (بالإنجليزية: Programming paradigm)‏، هو أسلوب في برمجة الحاسوب (وثمة فرق بينه وبين المنهجية Methodology، والتي هي أسلوب حل مشاكل محددة تتبع لهندسة البرمجيات). تختلف أنماط البرمجة في المفاهيم والتجريدات التي تستخدمها لتمثيل عناصر برنامج (كالكائنات والتوابع والمتحولات والقيود وغيرها) وخطوات العمل والحساب ( وبنى التحكم والإيجاد). يمكن للغة البرمجة أن تدعم عدة أنماط برمجة. فمثلاً: برامج سي++ أو أوبجكت باسكال يمكن أن تكون وظيفية تماماً أو كائنية تماماً، أو قد تحتوي خليطاً من الإثنين. مصممو البرامج والمبرمجون هم الذين يحددون كيف يستخدمون الأنماط المختلفة. (ar) Programovací paradigma je základní programovací styl (na rozdíl od metodiky, která představuje způsob vývoje konkrétních aplikací v softwarovém inženýrství). Paradigmata se liší v pojmech a abstrakcích, které tvoří jednotlivé prvky programu (objekty, funkce, proměnné, omezení, aj.), a krocích, ze kterých se výpočet skládá (přiřazení, vyhodnocení, continuations (pokračování), datové toky, atd.). (cs) Programada paradigmo estas fundamenta maniero de komputila programado, kiu temas pri kiel la radikoj de problemo esti formulataj en programlingvo (kontraŭe de la , kiu temas pri kiel solvi problemojn specifajn de ). Ekzistas du bazaj paradigmoj: ordonema programado kaj . (eo) Programazio paradigmak programazio estiloaren arabera programazio lengoaiak sailkatzeko modu bat da. Programazio lengoai askoren ezaugarriek zehazten dute zein paradigmakoa den, ondorioz, lengoai batzuk paradigma batean sartuko dira, eta beste batzuk hainbat paradigmetan. (eu) Le paradigme de programmation est la façon (parmi d'autres) d'approcher la programmation informatique et de formuler les solutions aux problèmes et leur formalisation dans un langage de programmation approprié. Ce n'est pas de la méthodologie contenant une méthode ; cette dernière organise le traitement des problèmes reconnus dans l'écosystème concerné pour aboutir à la solution conceptuelle et programme exécutable. (fr) Paradigma dapat diartikan sudut pandang atau sudut serang dalam suatu persoalan, realitas dsb. Begitu pula dalam pemrograman, ada pendekatan-pendekatan untuk menyelesaikan suatu persoalan yang disebut dengan paradigma pemrograman. (in) In de informatica zijn programmeerparadigma's denkpatronen of uitgesproken concepten van programmeren, die voornamelijk verschillen in de wijze van aanpak om het gewenste resultaat te kunnen behalen. Sommige programmeertalen zijn ontworpen om slechts één bepaalde paradigma te ondersteunen, maar er zijn ook andere programmeertalen die meerdere paradigma's ondersteunen (zoals C++, Java en Scala). Programma's die bijvoorbeeld geschreven zijn in C++ kunnen in het geheel procedureel zijn, geheel objectgeoriënteerd zijn of elementen van beide paradigma's bevatten. (nl) プログラミングパラダイム (英: programming paradigm)とは、プログラミングにおける模範である。 (ja) In informatica, un paradigma di programmazione è uno stile fondamentale di programmazione, ovvero un insieme di strumenti concettuali forniti da un linguaggio di programmazione per la stesura del codice sorgente di un programma, definendo dunque il modo in cui il programmatore modella, concepisce e percepisce il programma stesso. Diversi paradigmi si differenziano per i concetti e le astrazioni usate per rappresentare gli elementi di un programma (come ad esempio le funzioni, gli oggetti, le variabili, vincoli, ecc.) e per i procedimenti usati per l'esecuzione delle procedure di elaborazione dei dati (assegnazione, calcolo, iterazione, data flow, ecc.). (it) 编程范型、编程范式或程式設計法(英語:Programming paradigm),是指软件工程中的一类典型的编程风格。常见的编程范型有:函数式编程、指令式編程、过程式编程、面向对象编程等等。 编程范型提供并决定了程序员对程序执行的看法。例如,在面向对象编程中,程序员认为程序是一系列相互作用的对象,由于方法论的不同,面向对象编程又分为基于类编程和基于原型编程,而在函数式编程中一个程序会被看作是一个无状态的函数计算的序列。 (zh) Un paradigma és una forma de representar i manipular el coneixement. Representa un enfocament particular o filosofia per a la construcció del programari. No és millor un que un altre, sinó que cada un té avantatges i desavantatges. També hi ha situacions on un paradigma resulta més apropiat que un altre. Alguns exemples de paradigmes de programació: Nota: La representació orientada a objectes millora l'estructura de les dades i per això s'ha aplicat a diferents paradigmes. (ca) Προγραμματιστικό παράδειγμα (ή πρ. υπόδειγμα ή πρ. μεθοδολογία ή πρ. προσέγγιση) (αγγλικα: programming paradigm) καλείται η ιδιαίτερη τεχνική και οι μέθοδοι με τις οποίες ένα υπολογιστικό πρόβλημα και η αλγοριθμική λύση του προσεγγίζονται στον προγραμματισμό των υπολογιστών. Είναι δηλαδή ένα σύνολο εννοιών οι οποίες εκφράζουν έναν συγκεκριμένο τρόπο σκέψης, και κατά συνέπεια έκφρασης της υλοποίησης, διαμορφώνοντας τον τρόπο σχεδιασμού ενός προγράμματος. Τα σημαντικότερα προγραμματιστικά παραδείγματα είναι: (el) Ein Programmierparadigma ist ein fundamentaler Programmierstil. „Der Programmierung liegen je nach Design der einzelnen Programmiersprache verschiedene Prinzipien zugrunde. Diese sollen den Entwickler bei der Erstellung von ‚gutem Code‘ unterstützen, in manchen Fällen sogar zu einer bestimmten Herangehensweise bei der Lösung von Problemen zwingen“. Die verschiedenen Paradigmen sind, bezogen auf einzelne Computerprogramme, nicht als konkurrierende bzw. alternative Programmierstile zu verstehen. Vielmehr können „viele Programmiersprachen mehrere Paradigmen gleichzeitig unterstützen“. (de) Se denominan paradigmas de programación a las formas de clasificar los lenguajes de programación en función de sus características. Los idiomas se pueden clasificar en múltiples paradigmas. Algunos paradigmas se ocupan principalmente de las implicancias para el modelo de ejecución del lenguaje, como permitir efectos secundarios o si la secuencia de operaciones está definida por el modelo de ejecución. Otros paradigmas se refieren principalmente a la forma en que se organiza el código, como agrupar un código en unidades junto con el estado que modifica el código. Sin embargo, otros se preocupan principalmente por el estilo de la sintaxis y la gramática. (es) Programming paradigms are a way to classify programming languages based on their features. Languages can be classified into multiple paradigms. Some paradigms are concerned mainly with implications for the execution model of the language, such as allowing side effects, or whether the sequence of operations is defined by the execution model. Other paradigms are concerned mainly with the way that code is organized, such as grouping a code into units along with the state that is modified by the code. Yet others are concerned mainly with the style of syntax and grammar. (en) 프로그래밍 패러다임(programming paradigm)은 프로그래밍의 패러다임 형태이다. 소프트웨어 공학을 할 때의 패러다임 형태인 방법론과 비교된다. 프로그래밍 패러다임은 프로그래머에게 프로그래밍의 관점을 갖게 해 주고, 결정하는 역할을 한다. 예를 들어 객체지향 프로그래밍은 프로그래머들이 프로그램을 상호작용하는 객체들의 집합으로 볼 수 있게 하는 반면에, 함수형 프로그래밍은 상태값을 지니지 않는 함수값들의 연속으로 생각할 수 있게 해준다. 많은 프로그래밍 패러다임은 어떤 기법을 금지하거나 어떤 것을 가능하게 하는 것으로 널리 알려져 있다. 예를 들어, 순수 함수형 프로그래밍은 부작용의 사용을 허용하지 않는다. 구조적 프로그래밍은 GOTO문의 사용을 제한한다. 부분적으로 이런 이유로 인하여 새로운 패러다임들은 종종 과거의 것에 길들여진 사람들에게 교조주의적이거나 지나치게 엄격한 것으로 간주되기도 한다. 하지만 특정 기법을 피하는 것은 프로그래밍 언어의 범용성을 제한하지 않으면서 프로그램의 올바름에 대한 정리를 증명하는 것을 더 쉽게 하고, 더 간단하게 이해할 수 있기도 하다. (ko) Paradygmat programowania (ang. programming paradigm) — wzorzec programowania komputerów przedkładany w danym okresie rozwoju informatyki ponad inne lub ceniony w pewnych okolicznościach lub zastosowaniach. Paradygmat programowania definiuje sposób patrzenia programisty na przepływ sterowania i wykonywanie programu komputerowego. Przykładowo, w programowaniu obiektowym jest on traktowany jako zbiór współpracujących ze sobą obiektów, podczas gdy w programowaniu funkcyjnym definiujemy, co trzeba wykonać, a nie w jaki sposób. (pl) Paradigma de programação é um meio de se classificar as linguagens de programação baseado em suas funcionalidades. As linguagens podem ser classificadas em vários paradigmas. Um paradigma de programação fornece e determina a visão que o programador possui sobre a estruturação e execução do programa. Por exemplo, em programação orientada a objetos, os programadores podem abstrair um programa como uma coleção de objetos que interagem entre si, enquanto em programação funcional os programadores abstraem o programa como uma sequência de funções executadas de modo empilhado. (pt) Ett programmeringsparadigm är en övergripande teori eller fundamentalt arbetssätt kring hur program bör organiseras och struktureras. Programmeringsparadigm är språkoberoende i bemärkelsen att paradigmet inte uttryckligen talar om språksyntax eller semantik, utan om övergripande begrepp och synsätt på program och programutveckling. Till skillnad från paradigm i vetenskapsfilosofiska sammanhang är det snarare regel än undantag att flera paradigm är aktiva och levande samtidigt. Man kan alltså inte i dessa sammanhang tala om paradigmskiften på samma sätt som inom vetenskapen. (sv) Паради́гма програмува́ння є способом класифікації мов програмування на основі їхніх особливостей. Мови можна класифікувати за кількома парадигмами. Деякі парадигми стосуються головним чином наслідків для моделі виконання мови, наприклад дозволу побічних ефектів або того, чи послідовність операцій визначається моделлю виконання. Інші парадигми в основному стосуються способу організації коду, наприклад, групування коду в одиниці разом із станом, який змінюється кодом. Інші мають відношення головним чином до стилю синтаксису та граматики. Загальні парадигми програмування: (uk) Паради́гма программи́рования — это совокупность идей и понятий, определяющих стиль написания компьютерных программ (подход к программированию). Это способ концептуализации, определяющий организацию вычислений и структурирование работы, выполняемой компьютером. Также существующие парадигмы зачастую пересекающиеся друг с другом в деталях (например, модульное и объектно-ориентированное программирование), поэтому можно встретить ситуации, когда разные авторы употребляют названия из разных парадигм, говоря при этом, по сути, об одном и том же явлении. (ru)
rdfs:label نمط برمجة (ar) Paradigma de programació (ca) Programovací paradigma (cs) Programmierparadigma (de) Προγραμματιστικό παράδειγμα (el) Programada paradigmo (eo) Paradigma de programación (es) Programazio paradigma (eu) Paradigma pemrograman (in) Paradigma di programmazione (it) Paradigme (programmation) (fr) 프로그래밍 패러다임 (ko) プログラミングパラダイム (ja) Programmeerparadigma (nl) Programming paradigm (en) Paradygmat programowania (pl) Paradigma de programação (pt) Парадигма программирования (ru) Парадигма програмування (uk) Programmeringsparadigm (sv) 编程范型 (zh)
rdfs:seeAlso dbr:Comparison_of_multi-paradigm_programming_languages
owl:sameAs freebase:Programming paradigm freebase:Programming paradigm http://d-nb.info/gnd/4308224-5 wikidata:Programming paradigm dbpedia-ar:Programming paradigm http://ast.dbpedia.org/resource/Paradigma_de_programación dbpedia-az:Programming paradigm dbpedia-bg:Programming paradigm http://bn.dbpedia.org/resource/প্রোগ্রামিং_প্যারাডাইম http://bs.dbpedia.org/resource/Programska_paradigma dbpedia-ca:Programming paradigm dbpedia-cs:Programming paradigm dbpedia-da:Programming paradigm dbpedia-de:Programming paradigm dbpedia-el:Programming paradigm dbpedia-eo:Programming paradigm dbpedia-es:Programming paradigm dbpedia-et:Programming paradigm dbpedia-eu:Programming paradigm dbpedia-fa:Programming paradigm dbpedia-fi:Programming paradigm dbpedia-fr:Programming paradigm dbpedia-gl:Programming paradigm dbpedia-he:Programming paradigm dbpedia-hu:Programming paradigm dbpedia-id:Programming paradigm dbpedia-it:Programming paradigm dbpedia-ja:Programming paradigm dbpedia-ko:Programming paradigm dbpedia-la:Programming paradigm http://lv.dbpedia.org/resource/Programmēšanas_paradigma dbpedia-mk:Programming paradigm http://ml.dbpedia.org/resource/പ്രോഗ്രാമിങ്_ശൈലി dbpedia-ms:Programming paradigm dbpedia-nl:Programming paradigm dbpedia-no:Programming paradigm dbpedia-pl:Programming paradigm dbpedia-pt:Programming paradigm dbpedia-ro:Programming paradigm dbpedia-ru:Programming paradigm dbpedia-sh:Programming paradigm dbpedia-simple:Programming paradigm dbpedia-sq:Programming paradigm dbpedia-sr:Programming paradigm dbpedia-sv:Programming paradigm dbpedia-sw:Programming paradigm dbpedia-th:Programming paradigm dbpedia-tr:Programming paradigm dbpedia-uk:Programming paradigm http://ur.dbpedia.org/resource/پروگرامنگ_پیراڈائم dbpedia-vi:Programming paradigm dbpedia-zh:Programming paradigm https://global.dbpedia.org/id/oypJ yago-res:Programming paradigm
prov:wasDerivedFrom wikipedia-en:Programming_paradigm?oldid=1123686172&ns=0
foaf:depiction wiki-commons:Special:FilePath/Programming_paradigms.svg
foaf:isPrimaryTopicOf wikipedia-en:Programming_paradigm
is dbo:wikiPageDisambiguates of dbr:Paradigm_(disambiguation)
is dbo:wikiPageRedirects of dbr:History_of_programming_paradigms dbr:Multi-paradigm_programming_language dbr:Hybrid_programming_language dbr:Multiparadigm_programming_language dbr:Paradigm_(Software) dbr:Paradigm_(computer_science) dbr:Language_paradigm dbr:Multi-paradigm dbr:List_of_Programming_Techniques dbr:Advanced_Programming_Techniques dbr:Programming_paradigms dbr:Computing_paradigm dbr:Types_of_programming_paradigms
is dbo:wikiPageWikiLink of dbr:Python_(programming_language) dbr:Ruby_(programming_language) dbr:List_of_functional_programming_topics dbr:Messaging_security dbr:Probabilistic_programming dbr:Process-oriented_programming dbr:Declarative_programming dbr:Answer_set_programming dbr:Applicative_programming_language dbr:Approximate_computing dbr:History_of_programming_paradigms dbr:Jolie_(programming_language) dbr:Julia_(programming_language) dbr:List_of_Dutch_inventions_and_innovations dbr:Perl dbr:Resource-oriented_architecture dbr:Ring_(programming_language) dbr:Unified_Parallel_C dbr:Vala_(programming_language) dbr:Visual_Basic_.NET dbr:Index_of_object-oriented_programming_articles dbr:Index_of_software_engineering_articles dbr:Integrated_modification_methodology dbr:Intentional_programming dbr:Inversion_of_control dbr:LAMP_(software_bundle) dbr:List_of_object-oriented_programming_languages dbr:List_of_programming_languages_by_type dbr:Comparison_of_Java_and_C++ dbr:Comparison_of_programming_paradigms dbr:Concurrent_computing dbr:Constant_(computer_programming) dbr:Rust_(programming_language) dbr:Generic_programming dbr:Object-oriented_programming dbr:Object_(computer_science) dbr:Function_(mathematics) dbr:Glossary_of_artificial_intelligence dbr:Monad_(functional_programming) dbr:Multi-paradigm_programming_language dbr:Concepts,_Techniques,_and_Models_of_Computer_Programming dbr:Concern_(computer_science) dbr:Concurrent_object-oriented_programming dbr:Control_table dbr:Criticism_of_Java dbr:Programming_complexity dbr:Standard_swap dbr:Apache_Groovy dbr:Apache_Spark dbr:AppleScript dbr:LiveScript_(programming_language) dbr:Choreographic_programming dbr:Stack-oriented_programming dbr:Standard_ML dbr:Strict_programming_language dbr:Structured_programming dbr:Cloning_(programming) dbr:Comment_(computer_programming) dbr:Comparison_of_multi-paradigm_programming_languages dbr:Comparison_of_programming_languages dbr:Computational_particle_physics dbr:Compute_kernel dbr:Computer_engineering_compendium dbr:Computer_program dbr:Computer_programming dbr:Computer_science_and_engineering dbr:Feature-oriented_programming dbr:Function-level_programming dbr:Functional_programming dbr:Functional_reactive_programming dbr:Hot_swapping dbr:Paradigm dbr:Paradigm_(disambiguation) dbr:Programming_language_theory dbr:State_(computer_science) dbr:Stream_processing dbr:Microsoft_and_open_source dbr:AviSynth dbr:A♯_(Axiom) dbr:99_Bottles_of_Beer dbr:Agent-oriented_programming dbr:Data-driven_programming dbr:Dataflow_programming dbr:Logic_programming dbr:Set_theoretic_programming dbr:Subject-oriented_programming dbr:AgentSheets dbr:Aldor dbr:Alma-0 dbr:D_(programming_language) dbr:Event-driven_programming dbr:Extensible_Embeddable_Language dbr:F_Sharp_(programming_language) dbr:Nim_(programming_language) dbr:Oz_(programming_language) dbr:PWCT dbr:Cargo_cult_programming dbr:Differentiable_programming dbr:Flow-based_programming dbr:Goto dbr:History_of_Programming_Languages_(conference) dbr:Raphael_Finkel dbr:Procedural_programming dbr:Prototype-based_programming dbr:Purely_functional_programming dbr:Release_early,_release_often dbr:Gödel_(programming_language) dbr:Haxe dbr:JOOQ_Object_Oriented_Querying dbr:JavaScript dbr:Java_(programming_language) dbr:Bachelor_of_Computer_Science dbr:Tcl dbr:Software_development_process dbr:Synchronous_programming_language dbr:Reflective_programming dbr:Aspect-oriented_programming dbr:Aspect_(computer_programming) dbr:Automata-based_programming dbr:Automatic_mutual_exclusion dbr:BAPP dbr:Maple_(software) dbr:CAR_and_CDR dbr:Planner_(programming_language) dbr:Software_design_pattern dbr:Software_development dbr:Class-based_programming dbr:Hybrid_programming_language dbr:IBM_RPG dbr:Integrated_development_environment dbr:Michael_Stal dbr:Neos_Flow dbr:OCaml dbr:OpenFL dbr:Reactive_programming dbr:Seed7 dbr:Semantic_Web_Services_Language dbr:Wolfram_Language dbr:Service-oriented_programming dbr:Skeleton_(computer_programming) dbr:Expression_problem dbr:Imperative_programming dbr:List_of_software_development_philosophies dbr:Literate_programming dbr:The_Journal_of_Object_Technology dbr:Programming_language dbr:Multiparadigm_programming_language dbr:Fixed-point_combinator dbr:Multitier_programming dbr:Value-level_programming dbr:Non-structured_programming dbr:Perl_language_structure dbr:Tacit_programming dbr:Outline_of_computer_science dbr:Symbolic_programming dbr:Structured_concurrency dbr:Paradigm_(Software) dbr:Paradigm_(computer_science) dbr:Language_paradigm dbr:Multi-paradigm dbr:List_of_Programming_Techniques dbr:Advanced_Programming_Techniques dbr:Programming_paradigms dbr:Computing_paradigm dbr:Types_of_programming_paradigms
is dbp:paradigm of dbr:Vala_(programming_language) dbr:Apache_Groovy dbr:LiveScript_(programming_language) dbr:Standard_ML dbr:A♯_(Axiom) dbr:F_Sharp_(programming_language) dbr:Haxe dbr:Planner_(programming_language) dbr:IBM_RPG dbr:OCaml dbr:Wolfram_Language
is foaf:primaryTopic of wikipedia-en:Programming_paradigm