El paradigma también se puede denominar como un método para resolver algún problema o realizar alguna tarea. El paradigma de programación es un enfoque para resolver un problema usando algún lenguaje de programación o también podemos decir que es un método para resolver un problema usando herramientas y técnicas que están disponibles para nosotros siguiendo algún enfoque. Hay muchos lenguajes de programación que se conocen, pero todos necesitan seguir alguna estrategia cuando se implementan y esta metodología/estrategia son paradigmas. Además de las variedades de lenguaje de programación, hay muchos paradigmas para satisfacer todas y cada una de las demandas. Se discuten a continuación:
1. Paradigma de programación imperativa:
es uno de los paradigmas de programación más antiguos. Presenta una estrecha relación con la arquitectura de la máquina. Se basa en la arquitectura Von Neumann. Funciona cambiando el estado del programa a través de sentencias de asignación. Realiza tareas paso a paso cambiando de estado. El enfoque principal está en cómo lograr el objetivo. El paradigma consta de varias declaraciones y después de la ejecución de todo el resultado se almacena.
Ventaja:
- Muy simple de implementar
- Contiene bucles, variables, etc.
Desventaja:
- Un problema complejo no se puede resolver
- Menos eficiente y menos productivo.
- La programación en paralelo no es posible
Examples of Imperative programming paradigm: C : developed by Dennis Ritchie and Ken Thompson Fortan : developed by John Backus for IBM Basic : developed by John G Kemeny and Thomas E Kurtz
C
// average of five number in C int marks[5] = { 12, 32, 45, 13, 19 } int sum = 0; float average = 0.0; for (int i = 0; i < 5; i++) { sum = sum + marks[i]; } average = sum / 5;
La programación imperativa se divide en tres amplias categorías: procesal, OOP y procesamiento paralelo. Estos paradigmas son los siguientes:
- Paradigma de programación procedimental:
este paradigma enfatiza el procedimiento en términos del modelo de máquina subyacente. No hay diferencia entre el enfoque procedimental y el imperativo. Tiene la capacidad de reutilizar el código y fue de gran ayuda en ese momento cuando estaba en uso debido a su reutilización.
Examples of Procedural programming paradigm: C : developed by Dennis Ritchie and Ken Thompson C++ : developed by Bjarne Stroustrup Java : developed by James Gosling at Sun Microsystems ColdFusion : developed by J J Allaire Pascal : developed by Niklaus Wirth
C++
#include <iostream> using namespace std; int main() { int i, fact = 1, num; cout << "Enter any Number: "; cin >> number; for (i = 1; i <= num; i++) { fact = fact * i; } cout << "Factorial of " << num << " is: " << fact << endl; return 0; }
Luego viene OOP,
- Programación orientada a objetos:
el programa está escrito como una colección de clases y objetos destinados a la comunicación. La entidad más pequeña y básica es el objeto y todo tipo de cálculo se realiza solo en los objetos. Se pone más énfasis en los datos que en el procedimiento. Puede manejar casi todo tipo de problemas de la vida real que se encuentran hoy en día.
ventajas:
- Seguridad de datos
- Herencia
- Reutilización de código
- Flexible y la abstracción también está presente
Examples of Object Oriented programming paradigm: Simula : first OOP language Java : developed by James Gosling at Sun Microsystems C++ : developed by Bjarne Stroustrup Objective-C : designed by Brad Cox Visual Basic .NET : developed by Microsoft Python : developed by Guido van Rossum Ruby : developed by Yukihiro Matsumoto Smalltalk : developed by Alan Kay, Dan Ingalls, Adele Goldberg
Java
import java.io.*; class GFG { public static void main(String[] args) { System.out.println("GfG!"); Signup s1 = new Signup(); s1.create(22, "riya", "riya2@gmail.com", 'F', 89002); } } class Signup { int userid; String name; String emailid; char sex; long mob; public void create(int userid, String name, String emailid, char sex, long mob) { System.out.println("Welcome to GeeksforGeeks\nLets create your account\n"); this.userid = 132; this.name = "Radha"; this.emailid = "radha.89@gmail.com"; this.sex = 'F'; this.mob = 900558981; System.out.println("your account has been created"); } }
- Enfoque de procesamiento en
paralelo: el procesamiento en paralelo es el procesamiento de las instrucciones del programa al dividirlas entre múltiples procesadores. Un sistema de procesamiento paralelo posee muchos números de procesadores con el objetivo de ejecutar un programa en menos tiempo al dividirlos. Este enfoque parece ser como divide y vencerás. Los ejemplos son NESL (uno de los más antiguos) y C/C++ también es compatible debido a alguna función de biblioteca.
2. Paradigma de programación declarativa:
Se divide en Lógica, Funcional, Base de datos. En informática, la programación declarativa es un estilo de construcción de programas que expresa la lógica de la computación sin hablar de su flujo de control. A menudo considera los programas como teorías de alguna lógica. Puede simplificar la escritura de programas paralelos. La atención se centra en lo que se debe hacer y no en cómo se debe hacer, básicamente enfatizar lo que el código está haciendo realmente. Simplemente declara el resultado que queremos en lugar de cómo se ha producido. Esta es la única diferencia entre los paradigmas de programación imperativo (cómo hacer) y declarativo (qué hacer). Profundizando más veríamos lógica, funcional y base de datos.
- Paradigmas de programación lógica:
se puede denominar modelo abstracto de computación. Resolvería problemas lógicos como acertijos, series, etc. En la programación lógica tenemos una base de conocimiento que conocemos antes y junto con la pregunta y la base de conocimiento que se le da a la máquina, produce un resultado. En los lenguajes de programación normales, dicho concepto de base de conocimiento no está disponible, pero al usar el concepto de inteligencia artificial, el aprendizaje automático tenemos algunos modelos como el modelo Perception que usa el mismo mecanismo.
En la programación lógica, el énfasis principal está en la base de conocimiento y el problema. La ejecución del programa es muy parecida a la prueba de una declaración matemática, por ejemplo, Prolog
sum of two number in prolog: predicates sumoftwonumber(integer, integer) clauses sum(0, 0). sum(n, r):- n1=n-1, sum(n1, r1), r=r1+n
- Paradigmas de programación
funcional: los paradigmas de programación funcional tienen sus raíces en las matemáticas y son independientes del lenguaje. El principio clave de estos paradigmas es la ejecución de una serie de funciones matemáticas. El modelo central para la abstracción es la función que está destinada a algún cálculo específico y no a la estructura de datos. Los datos están vagamente acoplados a las funciones. La función oculta su implementación. La función se puede reemplazar con sus valores sin cambiar el significado del programa. Algunos de los lenguajes como perl, javascript utilizan principalmente este paradigma.
Examples of Functional programming paradigm: JavaScript : developed by Brendan Eich Haskell : developed by Lennart Augustsson, Dave Barton Scala : developed by Martin Odersky Erlang : developed by Joe Armstrong, Robert Virding Lisp : developed by John Mccarthy ML : developed by Robin Milner Clojure : developed by Rich Hickey
El siguiente tipo de enfoque es de base de datos.
- Enfoque de programación basada en datos/base de datos:
esta metodología de programación se basa en datos y su movimiento. Las declaraciones del programa se definen por datos en lugar de codificar una serie de pasos. Un programa de base de datos es el corazón de un sistema de información empresarial y proporciona funciones de creación de archivos, entrada de datos, actualización, consulta e informes. Hay varios lenguajes de programación que se desarrollan principalmente para aplicaciones de bases de datos. Por ejemplo Sql. Se aplica a flujos de datos estructurados, para filtrar, transformar, agregar (como estadísticas informáticas) o llamar a otros programas. Así que tiene su propia aplicación amplia.
CREATE DATABASE databaseAddress; CREATE TABLE Addr ( PersonID int, LastName varchar(200), FirstName varchar(200), Address varchar(200), City varchar(200), State varchar(200) );
Publicación traducida automáticamente
Artículo escrito por Bhumika_Rani y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA