Está en la página 1de 10

UNIVERSIDAD

NACIONAL
PEDRO RUIZ GALLO

“FACULTAD DE INGENIERÍA CIVIL, DE SISTEMAS Y ARQUITECTURA”

“ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS”

“Paradigmas, lenguajes de programación y tipos de base de


datos”

ALUMNO:
Effio Chimoy Kristy Cameron.

CURSO:
Algoritmos y Estructura de datos.

DOCENTE:
Dr. Regis Díaz Plaza.

Lambayeque, abril del 2018.


PARADIGMA

Un paradigma define un conjunto de reglas, patrones y estilos de programación que son usados
por un grupo de lenguajes de programación
En cibernética significa en un sentido muy amplio un preprograma conceptual para el
ordenamiento de unos datos aún más caóticos en términos relativos.
Un paradigma de programación es una propuesta tecnológica adoptada por una comunidad
de programadores y desarrolladores cuyo núcleo central es incuestionable en cuanto que
únicamente trata de resolver uno o varios problemas claramente delimitados; la resolución de
estos problemas debe suponer consecuentemente un avance significativo en al menos un
parámetro que afecte a la ingeniería de software.
Un paradigma de programación representa un enfoque particular o filosofía para diseñar
soluciones. Los paradigmas difieren unos de otros, en los conceptos y la forma de abstraer los
elementos involucrados en un problema, así como en los pasos que integran su solución del
problema, en otras palabras, el cómputo.
Tiene una estrecha relación con la formalización de determinados lenguajes en su momento de
definición. Es un estilo de programación empleado.
Un paradigma de programación está delimitado en el tiempo en cuanto a aceptación y uso, porque
nuevos paradigmas aportan nuevas o mejores soluciones que la sustituyen parcial o totalmente.
(Vaca,C. (2011).Paradigmas de programación.Recuperado de
https://www.infor.uva.es/~cvaca/asigs/docpar/intro.pdf)

LENGUAJE DE PROGRAMACIÓN QUE PERTENECE A CADA PARADIGMA


(García,M.(2013).Paradigmas de programación.Recuperado de
http://michelletorres.mx/paradigmas-de-programacion/)

Paradigma imperativo
• Definición de procedimientos
• Definición de tipos de datos
• Chequeo de tipos en tiempo de compilación
• Cambio de estado de variables
• Pasos de ejecución de un proceso
La programación imperativa es la más usada y la más antigua, el ejemplo principal es el lenguaje
de máquina. Ejemplos de lenguajes puros de este paradigma serían el C, BASIC o Pascal.
C es un claro ejemplo de lenguaje de programación imperativo, ya que forma una abstracción de
la máquina de Von-Neumann, que se caracteriza por: la memoria principal y la unidad central de
proceso.
Paradigma funcional
Los programas funcionales son aquellos que tienen como objetivo principal el uso de funciones
matemáticas puras. El modelo funcional es muy parecido a una calculadora, el usuario introduce
una expresión inicial y es evaluada por el lenguaje. En este modelo el programador utiliza
definiciones de funciones para obtener un valor irreductible. El modelo funcional se caracteriza
por utilizar funciones de orden superior, sistemas de inferencia de tipos, polimorfismo, listas por
comprehensión y evaluación perezosa.
Haskell es un lenguaje de programación funcional, en este lenguaje podemos encontrar las
características más significativas del paradigma funcional.
• La computación se realiza mediante la evaluación de expresiones
• Definición de funciones
• Funciones como datos primitivos
• Valores sin efectos laterales, no existe la asignación
• Programación declarativa
• Lenguajes: LISP, Scheme, Haskell, Scala
Paradigma lógico
Los programas que podemos clasificar como lógicos, son aquellos que están basados en premisas
(hechos) y que a partir de esas reglas (supuestos verdaderos), el programa nos retorna un valor
verdadero. Con este paradigma de programación, es muy sencillo modelar un programa, basado
en lógica matemática. Además se puede escribir código más legible y eficiente, lo que hace más
sencilla la tarea de dar mantenimiento al programa.
Prolog es un lenguaje de programación lógica, este lenguaje se basa en un conjunto de hechos y
de reglas. Su forma de trabajo, consiste en realizar una pregunta, para obtener por inferencia los
resultados, los cuales deduce a partir de la relación entre las premisas y las reglas.
• Definición de reglas
• Unificación como elemento de computación
• Programación declarativa
• Lenguajes: Prolog, Mercury, Oz.
Paradigma orientado a objetos
La programación orientada a objetos, como su nombre lo indica, es toda aquella que se basa en la
construcción de objetos y sus métodos, para que puedan interactuar entre ellos. Este tipo de
programación se basa principalmente en el diseño del sistema y utiliza varias técnicas; entre las
más utilizadas podemos encontrar: herencia, polimorfismo y encapsulamiento.
• Definición de clases y herencia
• Objetos como abstracción de datos y procedimientos
• Polimorfismo y chequeo de tipos en tiempo de ejecución
• Ejemplo en Java
Simula (1967) es aceptado como el primer lenguaje que posee las características principales de
un lenguaje orientado a objetos. Fue creado para hacer programas de simulación, en donde los
"objetos" son la representación de la información más importante.
Smalltalk (1972 a 1980) es posiblemente el ejemplo canónico, y con el que gran parte de la teoría
de la programación orientada a objetos se ha desarrollado.
Entre los lenguajes orientados a objetos se destacan los siguientes:

 ABAP4
 ABL5
 ActionScript
 ActionScript 3
 C Sharp (C#)
 Clarion
 Clipper6
 D
 Object Pascal (Embarcadero Delphi)
 Gambas
 GObject
 Genie
 Harbour
 Eiffel
 Fortran 90/95
 Java
 JavaScript7
 Lexico8
 Objective-C
 Ocaml
 Oz
 R
 Pauscal (en español)
 Perl910
 PHP11
 PowerScript
 Processing.12
 Python
 Ruby
 Self
 Smalltalk13
 Swift
 Magik
 Vala
 VB.NET
 Visual FoxPro
 Visual Basic 6.0
 Visual DataFlex
 Visual Objects
 XBase++
 DRP
 Scala1
Vaca,C. (2011).Paradigmas de programación.[Figura].Recuperado de
https://www.infor.uva.es/~cvaca/asigs/docpar/intro.pdf
LENGUAJES DE PROGRAMACIÓN QUE UTILIZARON PARA CREAR:
Facebook
El front end de Facebook se entrega principalmente a través de PHP (con cientos de bibliotecas
personalizadas), que se ejecuta en algo similar o igual a HipHop para PHP (HHVM), un sistema
de compilación de PHP que rivaliza la capacidad de C++ nativo de ejecutar código de forma
rápida y ahorra algunos ciclos de CPU para cada solicitud en comparación con intérpretes por
lotes. HHVM está desarrollado por Facebook y es de código abierto. Puedes descargarlo y jugar
con él (aunque el código que descargues será detrás de unas pocas iteraciones detrás de lo que
realmente estamos utilizando ahora mismo). También hay algo de HTML y JavaScript en el front
end para que puedas interactuar con el sitio constantemente sin tener que volver a cargar la página.
Whatsapp
Erlang es un lenguaje de programación concurrente (u orientado a la concurrencia) y un sistema
de ejecución que incluye una máquina virtual (BEAM) y bibliotecas (OTP).
El subconjunto de programación secuencial de Erlang es un lenguaje funcional, con evaluación
estricta, asignación única, y tipado dinámico. Fue diseñado en la compañía Ericsson para realizar
aplicaciones distribuidas, tolerantes a fallos, soft-real-time y de funcionamiento ininterrumpido.
Proporciona el cambio en caliente de código de forma que éste se puede cambiar sin parar el
sistema. Originalmente, Erlang era un lenguaje propietario de Ericsson, pero fue cedido como
software de código abierto en 1998. (Rubio,M.(2014). Programación Concurrente &
Erlanger.Recuperado de https://altenwald.org/2014/02/22/erlang-y-whatsapp/)
Twiter
“La razón por la que Twitter fue creado con Ruby on Rails es porque con Rails se puede construir
prototipos en un sólo día, incluso redes sociales. Empezamos a usar ruby on rails para poder
trabajar más rápido y de forma más liviana y no estar tan atado con la estructura de Java”
Instagram
Instagram fue desarrollado con el framework Django y que día con día va creciendo su número
de usuarios y ya podemos encontrar a nuestros amigos compartiendo fotos y videos con esta
aplicación. Pero, ¿Qué hay detrás de cada subida de fotos? ¿Cómo pueden ser soportados millones
de usuarios al día sin que Instagram se vuelva lenta? En este post aclararemos estas preguntas.
Hemos hablado anteriormente de las tecnologías que se utilizan en Reddit y Pinterest, y podemos
observar que el factor común de ambas es el uso grandes cantidades de caché y que sus centros
de datos se encuentran almacenados en AMAZON utilizando VPS en EC2.(Fuente: instagram-
engineering.tumblr.com)

Skype
Programado en Embarcadero Delphi, Objective-C, C++, Object Pascal y JavaScript
YouTube
En sus inicios fue construido en PHP pero cambio a Python, se mantuvieron con Python hasta
que fue comprado por Google.
Buscador Google
BackRud (primera encarnación de Google) fue escrito en Java y Python, ahora se escribe en C y
C++ y sus rastreadores famoso (Spyders) fueron escritos en Python, sin embargo este no genero
los resultados esperados y fue cambiado al lenguaje C++. Google Chrome está escrito en C,
Python y Assembly.

TIPOS DE BASE DE DATOS


(Javier.(2015). Tipos de bases de datos y las mejores bases de datos del 2016.Recuperado de
https://blog.pandorafms.org/es/tipos-de-bases-de-datos-y-las-mejores-bases-de-datos-del-2016/)

1.- Base de datos comerciales: Hoy en día el mercado sigue siendo dominado por DB2, SQL
Server, Oracle e IBM. En Mainframe o Unix/Linux, Oracle y DB2 suelen ser los líderes, mientas
que en sistemas operativos Windows SQL Server suele ser la mejor opción.
Oracle
Base de datos que puede correr en casi cualquier sistema operativo. De Oracle destacamos la
abundancia de perfiles con experiencia en esta tecnología y la gran cantidad de herramientas que
hay para su administración y monitorización.
IBM DB2
Suele ser la segunda base de datos más utilizada en entornos Unix/Linux después de Oracle. Es
claramente un indiscutible ganador en Mainframe. Hay perfiles profesionales para DB2 pero no
tanto como para Oracle. Por otro lado, el perfil de DB2 Mainframe no tiene por qué saber moverse
en DB2 linux/unix.
Microsoft SQL Server
Base de datos con compatibilidad únicamente para sistemas Windows. Hay muchos perfiles
expertos en SQL Server y no es difícil su adquisición. Su integración con Microsoft Azure ha
mejorado mucho su flexibilidad y rendimiento.
Teradata
Destaca sobre los demás tipos de bases de datos por su capacidad de almacenamiento y de análisis
de datos. Suele ser utilizado en grandes instalaciones de Big Data.
SAP Sybase
Aunque ya no vive los momentos de éxito de hace una década, sigue destacando por su
escalabilidad y rendimiento.
Informix
2.- Base de datos de libre de distribución relacionales
Sus beneficios: su comunidad, la posibilidad de ver e incluso modificar el código a nuestra
conveniencia y la no necesidad de pago. Las bases de datos más importantes son MySQL, María
DB y PostgreSQL.
Bases de Datos NoSQL
NoSQL Orientados a Documentos
Se guardan documentos que soportan diferentes formatos (JSON, XML). Se pueden cambiar
esquemas sin parar las bases de datos y los desarrolladores pueden meter documentos indexados
y con acceso por el motor de base de datos fácilmente.
Mongo DB
Probablemente es la base de datos más popular. Tiene la posibilidad de trabajar con datos
estructurados y no estructurados. Destaca por su gran capacidad de escalado y rendimiento. Suele
ser la que más perfiles experimentados tiene.
Permiten trabajar por pares de clave-valor y acceder a distintas partes de los datos almacenados.
Mongo DB no soporta atomicidad en las operaciones y garantiza integridad eventual. Los cambios
se irán replicando a lo largo de todos los nodos pero no se garantiza que todos los nodos tengan
el mismo dato a la vez.
Couchbase Server
Base de datos libre creada en el proyecto Apache. Tampoco garantiza integridad de datos al 100%.
Destaca su gran consola de administración en la que se puede acceder a muchos datos de forma
muy fácil.
Mark Logic Server
Esta base de datos destaca sobre las anteriores por permitir integridad de datos y compatibilidad
con XML, JSON y RDF.
Sistemas soportados: Windows, Solaris, Red Hat, Suse, CentOS, Amazon Linux y Mac os.
Elastic Search
Otras bases de datos a destacar son RavenDB, Apache Jena y Pivotal GemFire.
No SQL Orientados a Clave-Valor
Ideales cuando se accede a datos por clave. La diferencia de este tipo de base de datos radica en
la posibilidad de almacenar datos sin ningún esquema predefinido. Son las más sencillas de
utilizar. Suelen ser muy eficientes para las lecturas y escrituras. Los datos suelen almacenarse en
estructuras complejas como BLOB.
Redis
Software libre.
Riak
Destaca por su capacidad de ser una base de datos de Clave-valor, almacenamiento de documentos
y preparada para la realización de búsquedas.
Oracle NoSQL
Microsoft Azure Table Storage
No SQL Orientados a Columnas
Bases de datos en las que puedes mapear claves a valores y agruparlas en estructuras. Utilizadas
en entornos donde hay poca escritura y existe la necesidad de acceder a varias columnas de
muchas filas.Muy útiles en procesamiento y análisis de eventos, gestión de contenido y en análisis
de datos.
Apache Cassandra
Base de datos creada por Facebook que es ahora de libre distribución. Base de datos recomendada
para gestionar masivas cantidades de datos. La versión Enterprise de Cassandra es Datastax
Enterprise.
Datos soportados: ASCII, bigint, BLOB, Boolean, counter, decimal, double, float, int, text,
timestamp, UUID, VARCHAR and varint.
Apache Hbase
Diseñado para soportar grandes cantidades de accesos de lectura y escritura en tiempo real a
grandes cantidades de datos. Una de sus ventajas es que correo sobre Hadoop y sobre el sistema
de ficheros Hadoop.
Bases de datos orientadas a grafos No SQL
Utilización de la teoría de grafos para enlazar los datos de la base de datos. Todo elemento apunta
a su elemento adyacente. Estas bases de datos son recomendadas si tus datos están muy
relacionadas como en redes sociales, detección de fraude, recomendaciones en tiempo real, etc.
Aquí, la base de datos deberá estar normalizada donde cada estructura tendrá una columna y cada
relación dos.
Neo4j
Soporta integridad de datos y alta disponibilidad y escalado en cluster. Además posee un buen
panel de administración.
Infinite graph
No es de libre distribución.
Sistemas soportados: Mac OSx, Linux and Windows
Benchmark: Se puede pedir a Objectivity.
3.- Base de datos as service
Bases de datos que ofrecen sus servicios en la nube. Sólo tienes que leer y escribir tus datos
utilizando servicios ofrecidos por el proveedor. Probablemente este tipo de base de datos pase a
ser uno de los más demandados por su fácil utilización y aprendizaje junto a la tendencia de ir a
la nube por pequeñas y medianas empresas.
Amazon SimpleDB
Base de datos que como dice su nombre es para bases de datos simples. Si quieres hacer accesos
a bases de datos sencillos que no requieran de series complejas como comparaciones,
agrupaciones, Amazon SimpleDB puede ser una buena opción.
Los datos son almacenados como textos y se generan estructuras formadas por pares de parámetro
valor.
UNIVERSIDAD
NACIONAL
PEDRO RUIZ GALLO

“FACULTAD DE INGENIERÍA CIVIL, DE SISTEMAS Y ARQUITECTURA”

“ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS”

“Paradigmas, lenguajes de programación y tipos de base de


datos”

ALUMNO:
Effio Chimoy Kristy Cameron.

CURSO:
Algoritmos y Estructura de datos.

DOCENTE:
Dr. Regis Díaz Plaza.

Lambayeque, abril del 2018.

También podría gustarte