You are on page 1of 26

Lenguajes y paradigmas de programacin

Temas
Que es un programa? Que es un lenguaje de programacin? Caractersticas de los lenguajes de programacin Paradigmas de programacin

Que es un programa?

La unin de una secuencia de instrucciones que un computador puede interpretar y ejecutar y un conjunto de estructuras de datos que almacenan la informacin sobre la que la operan las instrucciones

Que es un lenguaje de programacin?


Es una tcnica de comunicacin estilizada que se utiliza para controlar el comportamiento de una maquina (usualmente un computador) Como los lenguajes humanos, los lenguajes de programacin tienen reglas sintcticas y semnticas para definir el significado

Que es un lenguaje de programacin?

Herramienta que permite a un programador especificar de manera precisa: sobre qu datos una computadora debe operar, cmo deben ser estos almacenados y transmitidos y qu acciones debe tomar bajo una variada gama de circunstancias

Que es un lenguaje de programacin?

Ejemplos: Visual Basic C/C++ JAVA FORTRAN LISP

Caractersticas de los lenguajes de programacin


Tipos de datos Estructuras de datos Instrucciones y Control de flujo Filosofa de diseo Compilacin e Interpretacin

Tipos de datos

Internamente, todos los datos de los computadores tradicionales estn guardados simplemente como ceros o unos(binario) Un solo valor en memoria puede ser interpretado de mltiples formas: 10010110 Hola Azul Rojo Verde 150

Estructuras de Datos

Variables
205

Arreglos
2 9 3 0 5 1 6 9 3 3 6 2

Listas
0 2 3 4 6 9

Instrucciones y Control de flujo


int a = 0; while (a!=10){ if (a==5){ cout << La variable a va en 5; } a++; } b=a

Filosofa de diseo
Cada lenguaje se desarrolla de acuerdo a un diseo especial o una filosofa Estos estn ligados al paradigma de programacin a utilizar Se refiere a la forma de hacer las cosas

Compilacin e Interpretacin
Interptetes: analizan las instrucciones una a una y las ejecutan directamente Compiladores: convierten el cdigo fuente a cdigo de maquina para ser ejecutado posteriormente

Paradigmas de programacin

Orientado a aspectos Concurrente Declarativo Funcional Imperativo Lgico Multiparadigma Orientado a objetos Scripting

Lenguajes Declarativos
Describen un problema mas que definir una solucin Todos los lenguajes puramente funcionales y lgicos son Declarativos Ejemplos: ABSET, Lustre, MetaPost, Prolog, SQL, XSL Transformations

Lenguajes Funcionales
Definen programas y subrutinas como funciones matematicas Muchos de estos lenguajes estan unidos a herramientas de calculo matematico Ejemplos: Clean, Erlang, Haskell, Mathematica

Lenguajes basados en logica

Especifican un conjunto de atributos que una solucin debe tener, en vez de un conjunto de pasos para obtener la solucin En este paradigma se definen reglas lgicas y luego un motor de inferencia lgico permite extraer conclusiones o responder a preguntas planteadas al sistema Ejemplos: ALF, Curry, Prolog, Oz

Scripts

En un sentido tradicional, los scripts estn diseados para automatizar tareas usadas frecuentemente que usualmente tienen que ver con llamar o pasar comandos a programas externos

Scripts
Muchos programas de aplicacin complejos dejan a los usuarios implementar funciones personalizadas proveyndoles de un lenguaje propio. Muchos de estos deciden utilizar lenguajes de scripting tradicionales como el Perl o Visual Basic

Scripts

Ejemplos: ActionScript JavaScript Perl PHP Phyton Ruby

Programacin imperativa
Opuesta a la programacin declarativa, este paradigma describe la computacin en trminos de un estado del programa y de unas instrucciones que cambian dicho estado. Los programas imperativos son una secuencia de comandos para que el computador realice

Programacion Estructurada
Hace uso de las estructuras de control de flujo Es Turing completa, esto quiere decir que todo algoritmo computable puede ser escrito en trminos de programacin estructurada

Programacin procedimental

Es un paradigma de programacin basado en el concepto de llamado de procedimientos Procedimientos, tambien conocidos como rutinas, subrutinas, metodos o funciones simplemente consienen series de pasos computacionales. Cualquier procedimiento puede ser llamado en cualquier punto durante la ejecucion de un programa, incluyendo otros procedimientos o en l mismo

Programacin procedimental

Ejemplos: C Basic COBOL Matlab Pascal

Programacin Orientada a Objetos

La idea detrs de la POO, es que un programa de computador puede ser visto como abarcando una coleccin de unidades individuales, objetos, que actan unos con otros Opuesto a la forma de ver tradicional en la cual un programa debe ser visto como una coleccin de procedimientos o simplemente una lista de instrucciones para el computador

Programacin Orientada a Objetos


Cada objeto es capaz de recibir mensajes, procesar datos, y enviar mensajes a otros objetos. Es la unin de la programacin estructurada y procedimental con los tipos de datos abstractos

Programacin Orientada a Objetos

Ejemplos:
C++ JAVA Ruby SmallTalk C# Delphi