SlideShare ist ein Scribd-Unternehmen logo
1 von 26
Lenguajes y paradigmas de
             programación
          Iván Felipe Álvarez



          GEMIS-OE
          EAFIT 2006
Temas
 Que es un programa?
 Que es un lenguaje de
  programación?
 Características de los lenguajes de
  programación
 Paradigmas de programación
Que es un programa?
   La unión de una secuencia de
    instrucciones que un computador
    puede interpretar y ejecutar y un
    conjunto de estructuras de datos
    que almacenan la información sobre
    la que la operan las instrucciones
Que es un lenguaje de
programación?
 Es una técnica de comunicación
  estilizada que se utiliza para
  controlar el comportamiento de una
  maquina (usualmente un
  computador)
 Como los lenguajes humanos, los
  lenguajes de programación tienen
  reglas sintácticas y semánticas para
  definir el significado
Que es un lenguaje de
programación?
   Herramienta que permite a un
    programador especificar de manera
    precisa: sobre qué datos una
    computadora debe operar, cómo
    deben ser estos almacenados y
    transmitidos y qué acciones debe
    tomar bajo una variada gama de
    circunstancias
Que es un lenguaje de
programación?
   Ejemplos:
       Visual Basic
       C/C++
       JAVA
       FORTRAN
       LISP
Características de los
lenguajes de programación
 Tipos de datos
 Estructuras de datos
 Instrucciones y Control de flujo
 Filosofía de diseño
 Compilación e Interpretación
Tipos de datos
   Internamente, todos los datos de los
    computadores tradicionales están
    guardados simplemente como ceros o
    unos(binario)
   Un solo valor en memoria puede ser
    interpretado de múltiples 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
Filosofía de diseño
 Cada lenguaje se desarrolla de
  acuerdo a un diseño especial o una
  filosofía
 Estos están ligados al paradigma de
  programación a utilizar
 Se refiere a la forma de hacer las
  cosas
Compilación e
Interpretación
 Interptetes: analizan las
  instrucciones una a una y las
  ejecutan directamente
 Compiladores: convierten el código
  fuente a código de maquina para ser
  ejecutado posteriormente
Paradigmas de
programación
   Orientado a aspectos
   Concurrente
   Declarativo
   Funcional
   Imperativo
   Lógico
   Multiparadigma
   Orientado a objetos
   Scripting
Lenguajes Declarativos
 Describen un problema mas que
  definir una solución
 Todos los lenguajes puramente
  funcionales y lógicos 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 solución debe tener, en vez de un
    conjunto de pasos para obtener la
    solución
   En este paradigma se definen reglas
    lógicas y luego un motor de inferencia
    lógico permite extraer conclusiones o
    responder a preguntas planteadas al
    sistema
   Ejemplos: ALF, Curry, Prolog, Oz
Scripts
   En un sentido tradicional, los scripts
    están diseñados para automatizar
    tareas usadas frecuentemente que
    usualmente tienen que ver con
    llamar o pasar comandos a
    programas externos
Scripts
 Muchos programas de aplicación
  complejos dejan a los usuarios
  implementar funciones
  personalizadas proveyéndoles 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
Programación imperativa
 Opuesta a la programación
  declarativa, este paradigma describe
  la computación en términos 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 términos de
  programación estructurada
Programación
procedimental
   Es un paradigma de programación 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
Programación
procedimental
   Ejemplos:
       C
       Basic
       COBOL
       Matlab
       Pascal
Programación Orientada a
Objetos
   La idea detrás de la POO, es que un
    programa de computador puede ser visto
    como abarcando una colección de
    unidades individuales, objetos, que
    actúan unos con otros
   Opuesto a la forma de ver tradicional en
    la cual un programa debe ser visto como
    una colección de procedimientos o
    simplemente una lista de instrucciones
    para el computador
Programación Orientada a
Objetos
  Cada objeto es capaz de recibir
  mensajes, procesar datos, y enviar
  mensajes a otros objetos.
 Es la unión de la programación
  estructurada y procedimental con
  los tipos de datos abstractos
Programación Orientada a
Objetos
   Ejemplos:
      C++
      JAVA
      Ruby
      SmallTalk
      C#
      Delphi

Weitere ähnliche Inhalte

Was ist angesagt?

PARADIGMA IMPERATIVO
PARADIGMA IMPERATIVOPARADIGMA IMPERATIVO
PARADIGMA IMPERATIVOFredy Olaya
 
Clasificacion de los lenguajes de programacion
Clasificacion de los lenguajes de programacionClasificacion de los lenguajes de programacion
Clasificacion de los lenguajes de programacionAlberto Jacome
 
Lenguajes De Bajo Nivel
Lenguajes De Bajo NivelLenguajes De Bajo Nivel
Lenguajes De Bajo Nivelguestbf0046
 
Niveles y tipos de lenguajes de programación
Niveles y tipos de lenguajes de programaciónNiveles y tipos de lenguajes de programación
Niveles y tipos de lenguajes de programaciónJafet Duran
 
Lenguajes de programación lógica
Lenguajes de programación lógicaLenguajes de programación lógica
Lenguajes de programación lógicaDarwin_Cusme
 
Lenguajes De ProgramacióN
Lenguajes De ProgramacióNLenguajes De ProgramacióN
Lenguajes De ProgramacióNEduFigueroa
 
Programacion
ProgramacionProgramacion
Programacioncace10
 
Fundamentos de Programación
Fundamentos de ProgramaciónFundamentos de Programación
Fundamentos de ProgramaciónKudos S.A.S
 
Jose luis asprilla
Jose luis asprillaJose luis asprilla
Jose luis asprillajoxe93
 
Que es programacion
Que es      programacionQue es      programacion
Que es programacionjhankey
 
Prueba slideshare
Prueba slidesharePrueba slideshare
Prueba slideshareprd-wull
 
Haskell wikipedia
Haskell wikipediaHaskell wikipedia
Haskell wikipediaHofexfoq
 
Jasmin andrea aguilar h..
Jasmin  andrea  aguilar h..Jasmin  andrea  aguilar h..
Jasmin andrea aguilar h..solokalle
 

Was ist angesagt? (20)

PARADIGMA IMPERATIVO
PARADIGMA IMPERATIVOPARADIGMA IMPERATIVO
PARADIGMA IMPERATIVO
 
Paradigmas de programación
Paradigmas de programaciónParadigmas de programación
Paradigmas de programación
 
Clasificacion de los lenguajes de programacion
Clasificacion de los lenguajes de programacionClasificacion de los lenguajes de programacion
Clasificacion de los lenguajes de programacion
 
Lenguajes De Bajo Nivel
Lenguajes De Bajo NivelLenguajes De Bajo Nivel
Lenguajes De Bajo Nivel
 
Niveles y tipos de lenguajes de programación
Niveles y tipos de lenguajes de programaciónNiveles y tipos de lenguajes de programación
Niveles y tipos de lenguajes de programación
 
Programación!! . .
Programación!! . .Programación!! . .
Programación!! . .
 
Lenguajes de programación lógica
Lenguajes de programación lógicaLenguajes de programación lógica
Lenguajes de programación lógica
 
Lenguajes De ProgramacióN
Lenguajes De ProgramacióNLenguajes De ProgramacióN
Lenguajes De ProgramacióN
 
Programa informático
Programa informáticoPrograma informático
Programa informático
 
Programacion
ProgramacionProgramacion
Programacion
 
Fundamentos de Programación
Fundamentos de ProgramaciónFundamentos de Programación
Fundamentos de Programación
 
Lenguajesprog
LenguajesprogLenguajesprog
Lenguajesprog
 
Luis silva diapositiva
Luis silva  diapositivaLuis silva  diapositiva
Luis silva diapositiva
 
Jose luis asprilla
Jose luis asprillaJose luis asprilla
Jose luis asprilla
 
Que es programacion
Que es      programacionQue es      programacion
Que es programacion
 
Passage
PassagePassage
Passage
 
Prueba slideshare
Prueba slidesharePrueba slideshare
Prueba slideshare
 
Passage
PassagePassage
Passage
 
Haskell wikipedia
Haskell wikipediaHaskell wikipedia
Haskell wikipedia
 
Jasmin andrea aguilar h..
Jasmin  andrea  aguilar h..Jasmin  andrea  aguilar h..
Jasmin andrea aguilar h..
 

Andere mochten auch

Clasificasion de lenguajes
Clasificasion de lenguajesClasificasion de lenguajes
Clasificasion de lenguajesdomynicjorge
 
Instalacion de visual basic
Instalacion de visual basicInstalacion de visual basic
Instalacion de visual basicdomynicjorge
 
Tipos de lenguajes de programación
Tipos de lenguajes de programaciónTipos de lenguajes de programación
Tipos de lenguajes de programaciónLuF3
 
Clasificasion de lenguajes
Clasificasion de lenguajesClasificasion de lenguajes
Clasificasion de lenguajesAlex Javier
 
Clasificacion de los lenguajes
Clasificacion de los lenguajesClasificacion de los lenguajes
Clasificacion de los lenguajesRBAC92
 
Clasificacion de los lenguajes federico
Clasificacion de los lenguajes federicoClasificacion de los lenguajes federico
Clasificacion de los lenguajes federicogearsofwarfederico
 
Clasificación de los lenguajes de programación
Clasificación de los lenguajes de programaciónClasificación de los lenguajes de programación
Clasificación de los lenguajes de programaciónFrhank Avilha
 

Andere mochten auch (7)

Clasificasion de lenguajes
Clasificasion de lenguajesClasificasion de lenguajes
Clasificasion de lenguajes
 
Instalacion de visual basic
Instalacion de visual basicInstalacion de visual basic
Instalacion de visual basic
 
Tipos de lenguajes de programación
Tipos de lenguajes de programaciónTipos de lenguajes de programación
Tipos de lenguajes de programación
 
Clasificasion de lenguajes
Clasificasion de lenguajesClasificasion de lenguajes
Clasificasion de lenguajes
 
Clasificacion de los lenguajes
Clasificacion de los lenguajesClasificacion de los lenguajes
Clasificacion de los lenguajes
 
Clasificacion de los lenguajes federico
Clasificacion de los lenguajes federicoClasificacion de los lenguajes federico
Clasificacion de los lenguajes federico
 
Clasificación de los lenguajes de programación
Clasificación de los lenguajes de programaciónClasificación de los lenguajes de programación
Clasificación de los lenguajes de programación
 

Ähnlich wie Leng progr 01

Preguntas de diagnostico
Preguntas de diagnosticoPreguntas de diagnostico
Preguntas de diagnosticoJavierCR2017
 
CONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADO
CONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADOCONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADO
CONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADOadark
 
Introducción, definiciones FdP (1).pptx
Introducción, definiciones FdP (1).pptxIntroducción, definiciones FdP (1).pptx
Introducción, definiciones FdP (1).pptxgASF1
 
Pteg i-grupo5- cap 6-lenguaje de programacion
Pteg i-grupo5- cap 6-lenguaje de programacionPteg i-grupo5- cap 6-lenguaje de programacion
Pteg i-grupo5- cap 6-lenguaje de programacionErikValladarez
 
Pteg i-grupo5- cap 6-lenguaje de programacion
Pteg i-grupo5- cap 6-lenguaje de programacionPteg i-grupo5- cap 6-lenguaje de programacion
Pteg i-grupo5- cap 6-lenguaje de programacionErikValladarez
 
Trabajo de investigacion Gerson Chacon
Trabajo de investigacion Gerson ChaconTrabajo de investigacion Gerson Chacon
Trabajo de investigacion Gerson ChaconGersonChacon77
 
TRABAJO DE INVESTIGACION DE SOFTWARE GERSON CHACON
TRABAJO DE INVESTIGACION DE SOFTWARE GERSON CHACONTRABAJO DE INVESTIGACION DE SOFTWARE GERSON CHACON
TRABAJO DE INVESTIGACION DE SOFTWARE GERSON CHACONGersonChacon77
 
Trabajo de investigacion Gerson Chacon
Trabajo de investigacion Gerson ChaconTrabajo de investigacion Gerson Chacon
Trabajo de investigacion Gerson ChaconGersonChacon77
 
Unidad 3
Unidad 3Unidad 3
Unidad 3tf94
 
Introduccion a los lenguajes de programacion
Introduccion a los lenguajes de programacionIntroduccion a los lenguajes de programacion
Introduccion a los lenguajes de programacionlupitagarcia07
 

Ähnlich wie Leng progr 01 (20)

Taller paola
Taller paolaTaller paola
Taller paola
 
Nana
NanaNana
Nana
 
Preguntas de diagnostico
Preguntas de diagnosticoPreguntas de diagnostico
Preguntas de diagnostico
 
CONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADO
CONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADOCONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADO
CONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADO
 
Introducción, definiciones FdP (1).pptx
Introducción, definiciones FdP (1).pptxIntroducción, definiciones FdP (1).pptx
Introducción, definiciones FdP (1).pptx
 
Pteg i-grupo5- cap 6-lenguaje de programacion
Pteg i-grupo5- cap 6-lenguaje de programacionPteg i-grupo5- cap 6-lenguaje de programacion
Pteg i-grupo5- cap 6-lenguaje de programacion
 
Pteg i-grupo5- cap 6-lenguaje de programacion
Pteg i-grupo5- cap 6-lenguaje de programacionPteg i-grupo5- cap 6-lenguaje de programacion
Pteg i-grupo5- cap 6-lenguaje de programacion
 
Trabajo de investigacion Gerson Chacon
Trabajo de investigacion Gerson ChaconTrabajo de investigacion Gerson Chacon
Trabajo de investigacion Gerson Chacon
 
TRABAJO DE INVESTIGACION DE SOFTWARE GERSON CHACON
TRABAJO DE INVESTIGACION DE SOFTWARE GERSON CHACONTRABAJO DE INVESTIGACION DE SOFTWARE GERSON CHACON
TRABAJO DE INVESTIGACION DE SOFTWARE GERSON CHACON
 
Trabajo de investigacion Gerson Chacon
Trabajo de investigacion Gerson ChaconTrabajo de investigacion Gerson Chacon
Trabajo de investigacion Gerson Chacon
 
Ramiirez
RamiirezRamiirez
Ramiirez
 
Lenguajes basicos para robots
Lenguajes basicos para robotsLenguajes basicos para robots
Lenguajes basicos para robots
 
1 eda teo
1 eda teo1 eda teo
1 eda teo
 
Programa informatico
Programa informaticoPrograma informatico
Programa informatico
 
Danelly
DanellyDanelly
Danelly
 
Unidad-1.pptx.pdf
Unidad-1.pptx.pdfUnidad-1.pptx.pdf
Unidad-1.pptx.pdf
 
Unidad-1.pptx.pdf
Unidad-1.pptx.pdfUnidad-1.pptx.pdf
Unidad-1.pptx.pdf
 
Tarea
TareaTarea
Tarea
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Introduccion a los lenguajes de programacion
Introduccion a los lenguajes de programacionIntroduccion a los lenguajes de programacion
Introduccion a los lenguajes de programacion
 

Kürzlich hochgeladen

EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfvladimiroflores1
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfAnnimoUno1
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 

Kürzlich hochgeladen (11)

EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 

Leng progr 01

  • 1. Lenguajes y paradigmas de programación Iván Felipe Álvarez GEMIS-OE EAFIT 2006
  • 2. Temas  Que es un programa?  Que es un lenguaje de programación?  Características de los lenguajes de programación  Paradigmas de programación
  • 3. Que es un programa?  La unión de una secuencia de instrucciones que un computador puede interpretar y ejecutar y un conjunto de estructuras de datos que almacenan la información sobre la que la operan las instrucciones
  • 4. Que es un lenguaje de programación?  Es una técnica de comunicación estilizada que se utiliza para controlar el comportamiento de una maquina (usualmente un computador)  Como los lenguajes humanos, los lenguajes de programación tienen reglas sintácticas y semánticas para definir el significado
  • 5. Que es un lenguaje de programación?  Herramienta que permite a un programador especificar de manera precisa: sobre qué datos una computadora debe operar, cómo deben ser estos almacenados y transmitidos y qué acciones debe tomar bajo una variada gama de circunstancias
  • 6. Que es un lenguaje de programación?  Ejemplos: Visual Basic C/C++ JAVA FORTRAN LISP
  • 7. Características de los lenguajes de programación  Tipos de datos  Estructuras de datos  Instrucciones y Control de flujo  Filosofía de diseño  Compilación e Interpretación
  • 8. Tipos de datos  Internamente, todos los datos de los computadores tradicionales están guardados simplemente como ceros o unos(binario)  Un solo valor en memoria puede ser interpretado de múltiples formas: 10010110 “Hola” Azul – Rojo – Verde 150
  • 9. 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
  • 10. Instrucciones y Control de flujo int a = 0; while (a!=10){ if (a==5){ cout << “La variable a va en 5”; } a++; } b=a
  • 11. Filosofía de diseño  Cada lenguaje se desarrolla de acuerdo a un diseño especial o una filosofía  Estos están ligados al paradigma de programación a utilizar  Se refiere a la forma de hacer las cosas
  • 12. Compilación e Interpretación  Interptetes: analizan las instrucciones una a una y las ejecutan directamente  Compiladores: convierten el código fuente a código de maquina para ser ejecutado posteriormente
  • 13. Paradigmas de programación  Orientado a aspectos  Concurrente  Declarativo  Funcional  Imperativo  Lógico  Multiparadigma  Orientado a objetos  Scripting
  • 14. Lenguajes Declarativos  Describen un problema mas que definir una solución  Todos los lenguajes puramente funcionales y lógicos son Declarativos  Ejemplos: ABSET, Lustre, MetaPost, Prolog, SQL, XSL Transformations
  • 15. 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
  • 16. Lenguajes basados en logica  Especifican un conjunto de atributos que una solución debe tener, en vez de un conjunto de pasos para obtener la solución  En este paradigma se definen reglas lógicas y luego un motor de inferencia lógico permite extraer conclusiones o responder a preguntas planteadas al sistema  Ejemplos: ALF, Curry, Prolog, Oz
  • 17. Scripts  En un sentido tradicional, los scripts están diseñados para automatizar tareas usadas frecuentemente que usualmente tienen que ver con llamar o pasar comandos a programas externos
  • 18. Scripts  Muchos programas de aplicación complejos dejan a los usuarios implementar funciones personalizadas proveyéndoles de un lenguaje propio.  Muchos de estos deciden utilizar lenguajes de scripting tradicionales como el Perl o Visual Basic
  • 19. Scripts  Ejemplos: ActionScript JavaScript Perl PHP Phyton Ruby
  • 20. Programación imperativa  Opuesta a la programación declarativa, este paradigma describe la computación en términos 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
  • 21. 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 términos de programación estructurada
  • 22. Programación procedimental  Es un paradigma de programación 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
  • 23. Programación procedimental  Ejemplos: C Basic COBOL Matlab Pascal
  • 24. Programación Orientada a Objetos  La idea detrás de la POO, es que un programa de computador puede ser visto como abarcando una colección de unidades individuales, objetos, que actúan unos con otros  Opuesto a la forma de ver tradicional en la cual un programa debe ser visto como una colección de procedimientos o simplemente una lista de instrucciones para el computador
  • 25. Programación Orientada a Objetos  Cada objeto es capaz de recibir mensajes, procesar datos, y enviar mensajes a otros objetos.  Es la unión de la programación estructurada y procedimental con los tipos de datos abstractos
  • 26. Programación Orientada a Objetos  Ejemplos: C++ JAVA Ruby SmallTalk C# Delphi