SlideShare ist ein Scribd-Unternehmen logo
1 von 34
Software de computo LENGUAJES DE PROGRAMACION
¿QUE ES? Un lenguaje de programación es un idioma artificial diseñado para expresar computaciones que pueden ser llevadas a cabo por máquinas como las computadoras. Pueden usarse para crear programas que controlen el comportamiento físico y lógico de una máquina, para expresar algoritmos con precisión, o como modo de comunicación humana.Está formado por un conjunto de símbolos y reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos y expresiones. Al proceso por el cual se escribe, se prueba, se depura, se compila y se mantiene el código fuente de un programa informático se le llama programación.
¿Que es un paradigma? Conjunto de  generalidades y técnicas que encapsulan a los lenguajes de programación
PARADIGMAS # Programación imperativa # Programación lógica # Programación funcional # Programación declarativa # Programación estructurada # Programación dirigida por eventos # Programación modular # Programación orientada a aspectos # Programación orientada a objetos
Es un paradigma de programación  que describe la programación en términos del estado del programa y sentencias que cambian dicho estado. Los programas imperativos son un conjunto de instrucciones que le indican al computador cómo realizar una tarea. La implementación de hardware de la mayoría de computadores es imperativa; prácticamente todo el hardware de los computadores está diseñado para ejecutar código de máquina, que es nativo al computador, escrito en una forma imperativa. Esto se debe a que el hardware de los computadores implementa el paradigma de las Máquinas de Turing. Desde esta perspectiva de bajo nivel, el estilo del programa está definido por los contenidos de la memoria, y las sentencias son instrucciones en el lenguaje de máquina nativo del computador (por ejemplo el lenguaje ensamblador). Los lenguajes imperativos de alto nivel usan variables y sentencias más complejas, pero aún siguen el mismo paradigma. Las recetas y las listas de revisión de procesos, a pesar de no ser programas de computadora, son también conceptos familiares similares en estilo a la programación imperativa; cada paso es una instrucción, y el mundo físico guarda el estado (Zoom). Los primeros lenguajes imperativos fueron los lenguajes de máquina de los computadores originales. En estos lenguajes, las instrucciones fueron muy simples, lo cual hizo la implementación de hardware fácil, pero obstruyendo la creación de programas complejos. Fortran, cuyo desarrollo fue iniciado en 1954 por John Backus en IBM, fue el primer gran lenguaje de programación en superar los obstáculos presentados por el código de máquina en la creación de programas complejos.
LENGUAJES IMPERATIVOS ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
EJEMPLO #/usr/bin/perl Print “HOLA MUNDO ”; sleep:10;
Programacion Logica La programación lógica consiste en la aplicación del corpus de conocimiento sobre lógica para el diseño de lenguajes de programación; no debe confundirse con la disciplina de la lógica computacional. La programación lógica es un tipo de paradigmas de programación dentro del paradigma de programación declarativa. El resto de los subparadigmas de programación dentro de la programación lógica son: programación funcional, programación basada en restricciones, programas DSL (de dominio específico) e híbridos. La programación declarativa gira en torno al concepto de predicado, o relación entre elementos. La programación funcional se basa en el concepto de función (que no es más que una evolución de los predicados), de corte más matemático.
Lenguajes  Prolog
Ejemplo write('Hola mundo').
Programacion Funcional Es un paradigma de programación declarativa basado en la utilización de funciones aritméticas.
El objetivo es conseguir lenguajes expresivos y matemáticamente elegantes, en los que no sea necesario bajar al nivel de la máquina para describir el proceso llevado a cabo por el programa, y evitando el concepto de estado del cómputo. La secuencia de computaciones llevadas a cabo por el programa se regiría única y exclusivamente por la reescritura de definiciones más amplias a otras cada vez más concretas y definidas, usando lo que se denominan "definiciones dirigidas".
Los programas escritos en un lenguaje funcional están constituidos únicamente por definiciones de funciones, entendiendo éstas no como subprogramas clásicos de un lenguaje imperativo, sino como funciones puramente matemáticas, en las que se verifican ciertas propiedades como la transparencia referencial (el significado de una expresión depende únicamente del significado de sus subexpresiones), y por tanto, la carencia total de efectos laterales. Otras características propias de estos lenguajes son la no existencia de asignaciones de variables y la falta de construcciones estructuradas como la secuencia o la iteración (lo que obliga en la práctica a que todas las repeticiones de instrucciones se lleven a cabo por medio de funciones recursivas). Existen dos grandes categorías de lenguajes funcionales: los funcionales puros y los híbridos. La diferencia entre ambos estriba en que los lenguajes funcionales híbridos son menos dogmáticos que los puros, al admitir conceptos tomados de los lenguajes imperativos, como las secuencias de instrucciones o la asignación de variables. En contraste, los lenguajes funcionales puros tienen una mayor potencia expresiva, conservando a la vez su transparencia referencial, algo que no se cumple siempre con un lenguaje funcional híbrido.
Lenguajes Haskell Miranda Scala  Lisp Scheme Ocaml SAP Standard ML Erlang F#  PERL PYTHON RUBY
EJEMPLO holaMundo :: IO () holaMundo = do putStrLn ("Hola mundo!");
Programacion Declarativa La Programación Declarativa, es un paradigma de programación que está basado en el desarrollo de programas  especificando o "declarando" un conjunto de condiciones, proposiciones, afirmaciones, restricciones, ecuaciones o transformaciones que describen el problema y detallan su solución. La solución es obtenida mediante mecanismos internos de control, sin especificar exactamente cómo encontrarla. No existen asignaciones destructivas, y las variables son utilizadas con Transparencia referencial.
Lenguajes  * Haskell (Programación funcional) * ML (Programación funcional) * Lisp (Programación funcional) * Prolog (Programación Lógica) * F-Prolog (Programación Lógica Difusa) * Curry (Programación Lógico-Funcional)
Ejemplo (format t "¡Hola, mundo!");
Programacion Estructurada La programación estructurada es una forma de escribir programas de ordenador (programación de computadora) de manera clara. Para ello utiliza únicamente tres estructuras: secuencia, selección e iteración; siendo innecesario el uso de la instrucción o instrucciones de transferencia incondicional (GOTO, EXIT FUNCTION, EXIT SUB o múltiples RETURN). Hoy en día las aplicaciones informáticas son mucho más ambiciosas que las necesidades de programación existentes en los años 1960, principalmente debido a las aplicaciones gráficas, por lo que las técnicas de programación estructurada no son suficientes. Ello ha llevado al desarrollo de nuevas técnicas, tales como la programación orientada a objetos y el desarrollo de entornos de programación que facilitan la programación de grandes aplicaciones.
ESTRUCTURAS Estructura Secuencial Estructura  de Seleccion Estructura  de Iteracion
Anidamiento El cuerpo de cualquier estructura puede ser una instrucción simple u otra estructura, que a su vez puede anidar a otra.
La programación dirigida por eventos es un paradigma de programación en el que tanto la estructura como la ejecución de los programas van determinados por los sucesos que ocurran en el sistema, definidos por el usuario o que ellos mismos provoquen. Para entender la programación dirigida por eventos, podemos oponerla a lo que no es: mientras en la programación secuencial (o estructurada) es el programador el que define cuál va a ser el flujo del programa, en la programación dirigida por eventos será el propio usuario —o lo que sea que esté accionando el programa— el que dirija el flujo del programa. Aunque en la programación secuencial puede haber intervención de un agente externo al programa, estas intervenciones ocurrirán cuando el programador lo haya determinado, y no en cualquier momento como puede ser en el caso de la programación dirigida por eventos.
LENGUAJES Lexico Visual Basic Javascript Java(AWT,swing) Visual C++ Visual .Net Visual C# Visual J# ASP .Net
EJEMPLO While (true){ Switch (event){ case mousse_button_down: case mouse_click: case keypressed: case Else: } }
Programación Modular La programación modular es un paradigma de programación que consiste en dividir un programa en módulos o subprogramas con el fin de hacerlo más legible y manejable. Se presenta históricamente como una evolución de la programación estructurada para solucionar problemas de programación más grandes y complejos de lo que ésta puede resolver.
Programación Modular Un módulo es cada una de las partes de un programa que resuelve uno de los subproblemas en que se divide el problema complejo original. Cada uno de estos módulos tiene una tarea bien definida y algunos necesitan de otros para poder operar. En caso de que un módulo necesite de otro, puede comunicarse con éste mediante una interfaz de comunicación que también debe estar bien definida.
EJEMPLO Private Sub mnuFileExit_Click () Llame ExitProgram End Sub
Programación Orientada a Aspectos La Programación Orientada a Aspectos (POA) es un paradigma de programación relativamente reciente cuya intención es permitir una adecuada modularización de las aplicaciones y posibilitar una mejor separación de conceptos. Gracias a la POA se pueden encapsular los diferentes conceptos que componen una aplicación en entidades bien definidas, eliminando las dependencias entre cada uno de los módulos. De esta forma se consigue razonar mejor sobre los conceptos, se elimina la dispersión del código y las implementaciones resultan más comprensibles, adaptables y reusables. Varias tecnologías con nombres diferentes se encaminan a la consecución de los mismos objetivos y así, el término POA es usado para referirse a varias tecnologías relacionadas como los métodos adaptivos, los filtros de composición, la programación orientada a sujetos o la separación multidimensional de competencias.
Lenguajes  #JAVA #PHP #PYTHON #JAVA
EJEMPLO >>> from Aspyct.aop import * >>> class MyAspect(Aspect): ...  def atCall(self, cd): ...  print("atCall occurs now") ...  >>> @MyAspect() ... def test(): ...  print("Hello World!") ...  >>> test() atCall occurs now Hello World!
Programación  O. O. La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de programación que usa objetos y sus interacciones, para diseñar aplicaciones y programas informáticos. Está basado en varias técnicas, incluyendo herencia, abstracción, polimorfismo y encapsulamiento. Su uso se popularizó a principios de la década de los años 1990. En la actualidad, existe variedad de lenguajes de programación que soportan la orientación a objetos.
Lenguajes ABAP ABL Lenguaje de programación de OpenEdge de Progress Software ActionScript ActionScript 3 Ada C++ C# Clarion Clipper (lenguaje de programación) (Versión 5.x con librería de objetos Class(y)) D Object Pascal (Delphi) Gambas Harbour Eiffel Java JavaScript (la herencia se realiza por medio de la programación basada en prototipos) Lexico (en castellano) Objective-C Ocaml
Lenguajes Oz R Perl (soporta herencia múltiple. La resolución se realiza en preorden, pero puede modificarse al algoritmo linearization C3 por medio del módulo Class::C3 en CPAN) PHP (a partir de su versión 5) PowerBuilder Python Ruby Smalltalk (Proyecto investigativo. Influenció a Java.) Magik (SmallWorld) Vala VB.NET Visual FoxPro (en su versión 6) Visual Basic 6.0 Visual Objects XBase++ Lenguaje DRP Lenguaje de programación Scala
EJEMPLO >>> cadena = "abc" # Una cadena es un objeto de "str" >>> cadena.upper() # Al ser un objeto, posee sus propios métodos 'ABC' >>> lista = [True, 3.1415] # Una lista es un objeto de "list" >>> lista.append(42L) # Una lista también (al igual que todo) es un objeto, y también posee sus propios métodos >>> lista [True, 3.1415, 42L]

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (18)

Paradigmas de Programación
Paradigmas de ProgramaciónParadigmas de Programación
Paradigmas de Programación
 
Jasmin andrea aguilar h..
Jasmin  andrea  aguilar h..Jasmin  andrea  aguilar h..
Jasmin andrea aguilar h..
 
Passage
PassagePassage
Passage
 
Programar
ProgramarProgramar
Programar
 
Principios programacion
Principios programacionPrincipios programacion
Principios programacion
 
Paradigmas de programación
Paradigmas de programaciónParadigmas de programación
Paradigmas de programación
 
Lenguajes1
Lenguajes1Lenguajes1
Lenguajes1
 
Introduccion a los lenguajes de programacion
Introduccion a los lenguajes de programacionIntroduccion a los lenguajes de programacion
Introduccion a los lenguajes de programacion
 
Universidad de panam1.lenguaje de programación
Universidad de panam1.lenguaje de programaciónUniversidad de panam1.lenguaje de programación
Universidad de panam1.lenguaje de programación
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacion
 
Programación estructurada
Programación estructuradaProgramación estructurada
Programación estructurada
 
Cuadro comparativo.
Cuadro comparativo.Cuadro comparativo.
Cuadro comparativo.
 
Clase programacion unidad i
Clase programacion unidad iClase programacion unidad i
Clase programacion unidad i
 
Nana
NanaNana
Nana
 
Informe lpi
Informe lpiInforme lpi
Informe lpi
 
Proyecto De Tecnica De Programacioin I I
Proyecto De Tecnica De Programacioin  I IProyecto De Tecnica De Programacioin  I I
Proyecto De Tecnica De Programacioin I I
 
Sesion 2
Sesion 2Sesion 2
Sesion 2
 
Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programación
 

Andere mochten auch

Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetoslindacajaperuiz
 
Estilos de programación y sus lenguajes
Estilos de programación y sus lenguajesEstilos de programación y sus lenguajes
Estilos de programación y sus lenguajesPedro Contreras Flores
 
Programación lógica y funcional
Programación lógica y funcionalProgramación lógica y funcional
Programación lógica y funcionalAlejandra MA
 
Lenguajes de programación lógica
Lenguajes de programación lógicaLenguajes de programación lógica
Lenguajes de programación lógicaDarwin_Cusme
 
Anon metodologia de la programacion orientada a objetos con c++
Anon   metodologia de la programacion orientada a objetos con c++Anon   metodologia de la programacion orientada a objetos con c++
Anon metodologia de la programacion orientada a objetos con c++ratasquerosaXX
 
Lenguajes de programación lógica
Lenguajes de programación lógicaLenguajes de programación lógica
Lenguajes de programación lógicaDarwin_Cusme
 
Tabla de diversidad de lenguajes de programacion orientada a objetos
Tabla de diversidad de lenguajes de programacion orientada a objetosTabla de diversidad de lenguajes de programacion orientada a objetos
Tabla de diversidad de lenguajes de programacion orientada a objetosBeydasanchezhernandez
 
El lenguaje de la lógica proposicional
El lenguaje de la lógica proposicionalEl lenguaje de la lógica proposicional
El lenguaje de la lógica proposicionalLeonhard Granados
 
Clase 3 lenguaje y logica
Clase 3 lenguaje y logicaClase 3 lenguaje y logica
Clase 3 lenguaje y logicapaquitogiron
 
Tabla comparativa de paradigma de programacion estruturada y pradigma de prog...
Tabla comparativa de paradigma de programacion estruturada y pradigma de prog...Tabla comparativa de paradigma de programacion estruturada y pradigma de prog...
Tabla comparativa de paradigma de programacion estruturada y pradigma de prog...jose francisco arenas jimenez
 
Comparación de lenguajes de programación
Comparación de lenguajes de programaciónComparación de lenguajes de programación
Comparación de lenguajes de programaciónSebastian D Valenzuela
 
Cuadro comparativo de lenguajes de programación
Cuadro comparativo de lenguajes de programaciónCuadro comparativo de lenguajes de programación
Cuadro comparativo de lenguajes de programaciónK Manuel TN
 
PROGRAMACIÓN DE PLCS: LENGUAJE ESCALERA
PROGRAMACIÓN DE PLCS: LENGUAJE ESCALERA PROGRAMACIÓN DE PLCS: LENGUAJE ESCALERA
PROGRAMACIÓN DE PLCS: LENGUAJE ESCALERA EquipoSCADA
 

Andere mochten auch (14)

Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
Estilos de programación y sus lenguajes
Estilos de programación y sus lenguajesEstilos de programación y sus lenguajes
Estilos de programación y sus lenguajes
 
Programación lógica y funcional
Programación lógica y funcionalProgramación lógica y funcional
Programación lógica y funcional
 
Lenguajes de programación lógica
Lenguajes de programación lógicaLenguajes de programación lógica
Lenguajes de programación lógica
 
Anon metodologia de la programacion orientada a objetos con c++
Anon   metodologia de la programacion orientada a objetos con c++Anon   metodologia de la programacion orientada a objetos con c++
Anon metodologia de la programacion orientada a objetos con c++
 
TDA
TDATDA
TDA
 
Lenguajes de programación lógica
Lenguajes de programación lógicaLenguajes de programación lógica
Lenguajes de programación lógica
 
Tabla de diversidad de lenguajes de programacion orientada a objetos
Tabla de diversidad de lenguajes de programacion orientada a objetosTabla de diversidad de lenguajes de programacion orientada a objetos
Tabla de diversidad de lenguajes de programacion orientada a objetos
 
El lenguaje de la lógica proposicional
El lenguaje de la lógica proposicionalEl lenguaje de la lógica proposicional
El lenguaje de la lógica proposicional
 
Clase 3 lenguaje y logica
Clase 3 lenguaje y logicaClase 3 lenguaje y logica
Clase 3 lenguaje y logica
 
Tabla comparativa de paradigma de programacion estruturada y pradigma de prog...
Tabla comparativa de paradigma de programacion estruturada y pradigma de prog...Tabla comparativa de paradigma de programacion estruturada y pradigma de prog...
Tabla comparativa de paradigma de programacion estruturada y pradigma de prog...
 
Comparación de lenguajes de programación
Comparación de lenguajes de programaciónComparación de lenguajes de programación
Comparación de lenguajes de programación
 
Cuadro comparativo de lenguajes de programación
Cuadro comparativo de lenguajes de programaciónCuadro comparativo de lenguajes de programación
Cuadro comparativo de lenguajes de programación
 
PROGRAMACIÓN DE PLCS: LENGUAJE ESCALERA
PROGRAMACIÓN DE PLCS: LENGUAJE ESCALERA PROGRAMACIÓN DE PLCS: LENGUAJE ESCALERA
PROGRAMACIÓN DE PLCS: LENGUAJE ESCALERA
 

Ähnlich wie Lenguajesprog

Juan kalo b.
Juan kalo b.Juan kalo b.
Juan kalo b.hitep
 
Paradigmas de programacion
Paradigmas de programacionParadigmas de programacion
Paradigmas de programacionyamy matin
 
Hannyer calero sanchez
Hannyer calero sanchezHannyer calero sanchez
Hannyer calero sanchezVAMPKLAIZ
 
Programa informático
Programa informáticoPrograma informático
Programa informáticotomorrowland
 
Leng progr 01
Leng progr 01Leng progr 01
Leng progr 01Luis Paez
 
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
 
Cristian david castro
Cristian david castroCristian david castro
Cristian david castrocriistiancas
 
Cristian david castro
Cristian david castroCristian david castro
Cristian david castrocriistiancas
 
Tipos de lenguaje de programacion
Tipos de lenguaje de programacionTipos de lenguaje de programacion
Tipos de lenguaje de programacionLy Andre
 
Programacion Orientada Objetos
Programacion Orientada ObjetosProgramacion Orientada Objetos
Programacion Orientada Objetosliliandrade
 
Cristian david castro
Cristian david castroCristian david castro
Cristian david castrocriistiancas
 
Fundamentos del programación de diseño web
Fundamentos del programación de  diseño webFundamentos del programación de  diseño web
Fundamentos del programación de diseño webLaura Valencia
 

Ähnlich wie Lenguajesprog (20)

Programa informatico.tecnicas
Programa informatico.tecnicasPrograma informatico.tecnicas
Programa informatico.tecnicas
 
Juan kalo b.
Juan kalo b.Juan kalo b.
Juan kalo b.
 
Paradigmas de programacion
Paradigmas de programacionParadigmas de programacion
Paradigmas de programacion
 
Hannyer calero sanchez
Hannyer calero sanchezHannyer calero sanchez
Hannyer calero sanchez
 
Programa informático
Programa informáticoPrograma informático
Programa informático
 
Passage
PassagePassage
Passage
 
Ramiirez
RamiirezRamiirez
Ramiirez
 
Capitulogratis
CapitulogratisCapitulogratis
Capitulogratis
 
Lenguajes basicos para robots
Lenguajes basicos para robotsLenguajes basicos para robots
Lenguajes basicos para robots
 
Leng progr 01
Leng progr 01Leng progr 01
Leng progr 01
 
Programa informático
Programa informáticoPrograma informático
Programa informático
 
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
 
Cristian david castro
Cristian david castroCristian david castro
Cristian david castro
 
Cristian david castro
Cristian david castroCristian david castro
Cristian david castro
 
Tipos de lenguaje de programacion
Tipos de lenguaje de programacionTipos de lenguaje de programacion
Tipos de lenguaje de programacion
 
sistema operativo
sistema operativosistema operativo
sistema operativo
 
Programacion Orientada Objetos
Programacion Orientada ObjetosProgramacion Orientada Objetos
Programacion Orientada Objetos
 
Cristian david castro
Cristian david castroCristian david castro
Cristian david castro
 
Fundamentos del programación de diseño web
Fundamentos del programación de  diseño webFundamentos del programación de  diseño web
Fundamentos del programación de diseño web
 

Mehr von Ricardo M. P (15)

Presentacion
PresentacionPresentacion
Presentacion
 
Presentacion
PresentacionPresentacion
Presentacion
 
Nazis Administracion Ghettos
Nazis Administracion GhettosNazis Administracion Ghettos
Nazis Administracion Ghettos
 
Tcpip
TcpipTcpip
Tcpip
 
Servicios de intere
Servicios de intereServicios de intere
Servicios de intere
 
Aplicaciones web
Aplicaciones webAplicaciones web
Aplicaciones web
 
html
htmlhtml
html
 
Js
JsJs
Js
 
Sflibre
SflibreSflibre
Sflibre
 
Aplicaciones
AplicacionesAplicaciones
Aplicaciones
 
Software
SoftwareSoftware
Software
 
Ofimatica
OfimaticaOfimatica
Ofimatica
 
Modelos atomicos
Modelos atomicosModelos atomicos
Modelos atomicos
 
Virus
VirusVirus
Virus
 
Software
SoftwareSoftware
Software
 

Lenguajesprog

  • 1. Software de computo LENGUAJES DE PROGRAMACION
  • 2. ¿QUE ES? Un lenguaje de programación es un idioma artificial diseñado para expresar computaciones que pueden ser llevadas a cabo por máquinas como las computadoras. Pueden usarse para crear programas que controlen el comportamiento físico y lógico de una máquina, para expresar algoritmos con precisión, o como modo de comunicación humana.Está formado por un conjunto de símbolos y reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos y expresiones. Al proceso por el cual se escribe, se prueba, se depura, se compila y se mantiene el código fuente de un programa informático se le llama programación.
  • 3. ¿Que es un paradigma? Conjunto de generalidades y técnicas que encapsulan a los lenguajes de programación
  • 4. PARADIGMAS # Programación imperativa # Programación lógica # Programación funcional # Programación declarativa # Programación estructurada # Programación dirigida por eventos # Programación modular # Programación orientada a aspectos # Programación orientada a objetos
  • 5. Es un paradigma de programación que describe la programación en términos del estado del programa y sentencias que cambian dicho estado. Los programas imperativos son un conjunto de instrucciones que le indican al computador cómo realizar una tarea. La implementación de hardware de la mayoría de computadores es imperativa; prácticamente todo el hardware de los computadores está diseñado para ejecutar código de máquina, que es nativo al computador, escrito en una forma imperativa. Esto se debe a que el hardware de los computadores implementa el paradigma de las Máquinas de Turing. Desde esta perspectiva de bajo nivel, el estilo del programa está definido por los contenidos de la memoria, y las sentencias son instrucciones en el lenguaje de máquina nativo del computador (por ejemplo el lenguaje ensamblador). Los lenguajes imperativos de alto nivel usan variables y sentencias más complejas, pero aún siguen el mismo paradigma. Las recetas y las listas de revisión de procesos, a pesar de no ser programas de computadora, son también conceptos familiares similares en estilo a la programación imperativa; cada paso es una instrucción, y el mundo físico guarda el estado (Zoom). Los primeros lenguajes imperativos fueron los lenguajes de máquina de los computadores originales. En estos lenguajes, las instrucciones fueron muy simples, lo cual hizo la implementación de hardware fácil, pero obstruyendo la creación de programas complejos. Fortran, cuyo desarrollo fue iniciado en 1954 por John Backus en IBM, fue el primer gran lenguaje de programación en superar los obstáculos presentados por el código de máquina en la creación de programas complejos.
  • 6.
  • 7. EJEMPLO #/usr/bin/perl Print “HOLA MUNDO ”; sleep:10;
  • 8. Programacion Logica La programación lógica consiste en la aplicación del corpus de conocimiento sobre lógica para el diseño de lenguajes de programación; no debe confundirse con la disciplina de la lógica computacional. La programación lógica es un tipo de paradigmas de programación dentro del paradigma de programación declarativa. El resto de los subparadigmas de programación dentro de la programación lógica son: programación funcional, programación basada en restricciones, programas DSL (de dominio específico) e híbridos. La programación declarativa gira en torno al concepto de predicado, o relación entre elementos. La programación funcional se basa en el concepto de función (que no es más que una evolución de los predicados), de corte más matemático.
  • 11. Programacion Funcional Es un paradigma de programación declarativa basado en la utilización de funciones aritméticas.
  • 12. El objetivo es conseguir lenguajes expresivos y matemáticamente elegantes, en los que no sea necesario bajar al nivel de la máquina para describir el proceso llevado a cabo por el programa, y evitando el concepto de estado del cómputo. La secuencia de computaciones llevadas a cabo por el programa se regiría única y exclusivamente por la reescritura de definiciones más amplias a otras cada vez más concretas y definidas, usando lo que se denominan "definiciones dirigidas".
  • 13. Los programas escritos en un lenguaje funcional están constituidos únicamente por definiciones de funciones, entendiendo éstas no como subprogramas clásicos de un lenguaje imperativo, sino como funciones puramente matemáticas, en las que se verifican ciertas propiedades como la transparencia referencial (el significado de una expresión depende únicamente del significado de sus subexpresiones), y por tanto, la carencia total de efectos laterales. Otras características propias de estos lenguajes son la no existencia de asignaciones de variables y la falta de construcciones estructuradas como la secuencia o la iteración (lo que obliga en la práctica a que todas las repeticiones de instrucciones se lleven a cabo por medio de funciones recursivas). Existen dos grandes categorías de lenguajes funcionales: los funcionales puros y los híbridos. La diferencia entre ambos estriba en que los lenguajes funcionales híbridos son menos dogmáticos que los puros, al admitir conceptos tomados de los lenguajes imperativos, como las secuencias de instrucciones o la asignación de variables. En contraste, los lenguajes funcionales puros tienen una mayor potencia expresiva, conservando a la vez su transparencia referencial, algo que no se cumple siempre con un lenguaje funcional híbrido.
  • 14. Lenguajes Haskell Miranda Scala Lisp Scheme Ocaml SAP Standard ML Erlang F# PERL PYTHON RUBY
  • 15. EJEMPLO holaMundo :: IO () holaMundo = do putStrLn ("Hola mundo!");
  • 16. Programacion Declarativa La Programación Declarativa, es un paradigma de programación que está basado en el desarrollo de programas especificando o "declarando" un conjunto de condiciones, proposiciones, afirmaciones, restricciones, ecuaciones o transformaciones que describen el problema y detallan su solución. La solución es obtenida mediante mecanismos internos de control, sin especificar exactamente cómo encontrarla. No existen asignaciones destructivas, y las variables son utilizadas con Transparencia referencial.
  • 17. Lenguajes * Haskell (Programación funcional) * ML (Programación funcional) * Lisp (Programación funcional) * Prolog (Programación Lógica) * F-Prolog (Programación Lógica Difusa) * Curry (Programación Lógico-Funcional)
  • 18. Ejemplo (format t "¡Hola, mundo!");
  • 19. Programacion Estructurada La programación estructurada es una forma de escribir programas de ordenador (programación de computadora) de manera clara. Para ello utiliza únicamente tres estructuras: secuencia, selección e iteración; siendo innecesario el uso de la instrucción o instrucciones de transferencia incondicional (GOTO, EXIT FUNCTION, EXIT SUB o múltiples RETURN). Hoy en día las aplicaciones informáticas son mucho más ambiciosas que las necesidades de programación existentes en los años 1960, principalmente debido a las aplicaciones gráficas, por lo que las técnicas de programación estructurada no son suficientes. Ello ha llevado al desarrollo de nuevas técnicas, tales como la programación orientada a objetos y el desarrollo de entornos de programación que facilitan la programación de grandes aplicaciones.
  • 20. ESTRUCTURAS Estructura Secuencial Estructura de Seleccion Estructura de Iteracion
  • 21. Anidamiento El cuerpo de cualquier estructura puede ser una instrucción simple u otra estructura, que a su vez puede anidar a otra.
  • 22. La programación dirigida por eventos es un paradigma de programación en el que tanto la estructura como la ejecución de los programas van determinados por los sucesos que ocurran en el sistema, definidos por el usuario o que ellos mismos provoquen. Para entender la programación dirigida por eventos, podemos oponerla a lo que no es: mientras en la programación secuencial (o estructurada) es el programador el que define cuál va a ser el flujo del programa, en la programación dirigida por eventos será el propio usuario —o lo que sea que esté accionando el programa— el que dirija el flujo del programa. Aunque en la programación secuencial puede haber intervención de un agente externo al programa, estas intervenciones ocurrirán cuando el programador lo haya determinado, y no en cualquier momento como puede ser en el caso de la programación dirigida por eventos.
  • 23. LENGUAJES Lexico Visual Basic Javascript Java(AWT,swing) Visual C++ Visual .Net Visual C# Visual J# ASP .Net
  • 24. EJEMPLO While (true){ Switch (event){ case mousse_button_down: case mouse_click: case keypressed: case Else: } }
  • 25. Programación Modular La programación modular es un paradigma de programación que consiste en dividir un programa en módulos o subprogramas con el fin de hacerlo más legible y manejable. Se presenta históricamente como una evolución de la programación estructurada para solucionar problemas de programación más grandes y complejos de lo que ésta puede resolver.
  • 26. Programación Modular Un módulo es cada una de las partes de un programa que resuelve uno de los subproblemas en que se divide el problema complejo original. Cada uno de estos módulos tiene una tarea bien definida y algunos necesitan de otros para poder operar. En caso de que un módulo necesite de otro, puede comunicarse con éste mediante una interfaz de comunicación que también debe estar bien definida.
  • 27. EJEMPLO Private Sub mnuFileExit_Click () Llame ExitProgram End Sub
  • 28. Programación Orientada a Aspectos La Programación Orientada a Aspectos (POA) es un paradigma de programación relativamente reciente cuya intención es permitir una adecuada modularización de las aplicaciones y posibilitar una mejor separación de conceptos. Gracias a la POA se pueden encapsular los diferentes conceptos que componen una aplicación en entidades bien definidas, eliminando las dependencias entre cada uno de los módulos. De esta forma se consigue razonar mejor sobre los conceptos, se elimina la dispersión del código y las implementaciones resultan más comprensibles, adaptables y reusables. Varias tecnologías con nombres diferentes se encaminan a la consecución de los mismos objetivos y así, el término POA es usado para referirse a varias tecnologías relacionadas como los métodos adaptivos, los filtros de composición, la programación orientada a sujetos o la separación multidimensional de competencias.
  • 29. Lenguajes #JAVA #PHP #PYTHON #JAVA
  • 30. EJEMPLO >>> from Aspyct.aop import * >>> class MyAspect(Aspect): ... def atCall(self, cd): ... print("atCall occurs now") ... >>> @MyAspect() ... def test(): ... print("Hello World!") ... >>> test() atCall occurs now Hello World!
  • 31. Programación O. O. La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de programación que usa objetos y sus interacciones, para diseñar aplicaciones y programas informáticos. Está basado en varias técnicas, incluyendo herencia, abstracción, polimorfismo y encapsulamiento. Su uso se popularizó a principios de la década de los años 1990. En la actualidad, existe variedad de lenguajes de programación que soportan la orientación a objetos.
  • 32. Lenguajes ABAP ABL Lenguaje de programación de OpenEdge de Progress Software ActionScript ActionScript 3 Ada C++ C# Clarion Clipper (lenguaje de programación) (Versión 5.x con librería de objetos Class(y)) D Object Pascal (Delphi) Gambas Harbour Eiffel Java JavaScript (la herencia se realiza por medio de la programación basada en prototipos) Lexico (en castellano) Objective-C Ocaml
  • 33. Lenguajes Oz R Perl (soporta herencia múltiple. La resolución se realiza en preorden, pero puede modificarse al algoritmo linearization C3 por medio del módulo Class::C3 en CPAN) PHP (a partir de su versión 5) PowerBuilder Python Ruby Smalltalk (Proyecto investigativo. Influenció a Java.) Magik (SmallWorld) Vala VB.NET Visual FoxPro (en su versión 6) Visual Basic 6.0 Visual Objects XBase++ Lenguaje DRP Lenguaje de programación Scala
  • 34. EJEMPLO >>> cadena = "abc" # Una cadena es un objeto de "str" >>> cadena.upper() # Al ser un objeto, posee sus propios métodos 'ABC' >>> lista = [True, 3.1415] # Una lista es un objeto de "list" >>> lista.append(42L) # Una lista también (al igual que todo) es un objeto, y también posee sus propios métodos >>> lista [True, 3.1415, 42L]