Lp

LENGUAJES DE PROGRAMACIÓN

  • PORTADA

    PORTADA
  • ANTECEDENTE

    ANTECEDENTE
    Los primeros lenguajes de programación surgieron de la idea de Charles Babagge, la cual se le ocurrió a este hombre a mediados del siglo XIX. Era un profesor matemático de la universidad de Cambridge e inventor inglés, que al principio del siglo XIX predijo muchas de las teorías en que se basan los actuales ordenadores. Con él colaboro Ada Lovedby, es considerada como la primera programadora de la historia.
  • PRIMEROS LENGUAJES

    En la década de los 40 empezaron a surgir los primeros lenguajes de programación de ordenadores. Estos primeros lenguajes estaban basados en símbolos o nemónicos que se correspondían directamente con instrucciones de código maquina.
  • DEFINICIÓN

    DEFINICIÓN
    Un Lenguaje de Programación es un conjunto de reglas, notaciones, símbolos y/o caracteres que permiten a un programador poder expresar el procesamiento de datos y sus estructuras en la computadora. Cada lenguaje posee sus propias sintaxis. También se puede decir que un programa es un conjunto de órdenes o instrucciones que resuelven un problema específico basado en un Lenguaje de Programación.
  • CARACTERISTICAS

    CARACTERISTICAS
    Legibilidad: consiste en si el lenguaje tiene una sintaxis sencilla, fáciles de leer.
    Ortogonalidad: permite combinar en una sola instrucción diversas características.
    Soporte a la abstracción: Solucionar tipos de problemas y no problemas concretos.
    Entorno de programación: Los lenguajes han de ir acompañados de un entorno donde programar.
    Potabilidad de los programas:Lenguaje que permite crear programas que funcionen en cualquier maquina.
  • CLASIFICACIÓN DE LOS LENGUAJES DE PROGRAMACIÓN

    CLASIFICACIÓN DE LOS LENGUAJES DE PROGRAMACIÓN
    Los lenguajes de programación son clasificados de muchas formas, dentro de estas se encuentran:
  • LENGUAJES DE BAJO NIVEL

    LENGUAJES DE BAJO NIVEL
    Son lenguajes de programación que se acercan al funcionamiento de una computadora. El lenguaje de más bajo nivel es, por excelencia, el código máquina. A éste le sigue el lenguaje ensamblador, ya que al programar en ensamblador se trabajan con los registros de memoria de la computadora de forma directa.
  • LENGUAJES DE MEDIO NIVEL

    LENGUAJES DE MEDIO NIVEL
    Hay lenguajes de programación que son considerados por algunos expertos como lenguajes de medio nivel (como es el caso del lenguaje C) al tener ciertas características que los acercan a los lenguajes de bajo nivel pero teniendo, al mismo tiempo, ciertas cualidades que lo hacen un lenguaje más cercano al humano y, por tanto, de alto nivel.
  • LENGUAJES DE ALTO NIVEL

    LENGUAJES DE ALTO NIVEL
    Los lenguajes de alto nivel son normalmente fáciles de aprender porque están formados por elementos de lenguajes naturales, como el inglés.
    En BASIC, el lenguaje de alto nivel más conocido, los comandos como "IF CONTADOR = 10 THEN STOP" pueden utilizarse para pedir a la computadora que pare si CONTADOR es igual a 10.
  • CLASIFICACIÓN SEGÚN PARADIGMA

    CLASIFICACIÓN SEGÚN PARADIGMA
    Paradigma imperativo:
    Describe la programación como una secuencia instrucciones o comandos que cambian el estado de un programa. El código máquina en general está basado en el paradigma imperativo.
    Paradigma declarativo:
    No se basa en el cómo se hace algo (cómo se logra un objetivo paso a paso), sino que describe (declara) cómo es algo.Se enfoca en describir las propiedades de la solución buscada, dejando indeterminado el algoritmo (conjunto de instrucciones) usado para encontrar esa solución.
  • CLASIFICACIÓN SEGÚN PARADIGMA

    CLASIFICACIÓN SEGÚN PARADIGMA
    Paradigma estructurado: La programación estructurada se basa en una metodología de desarrollo de programas llamada refinamientos sucesivos: Se plantea una operación como un todo y se divide en segmentos más sencillos o de menor complejidad. Una vez terminado todos los segmentos del programa, se procede a unificar las aplicaciones realizadas por el pool de programadores.
  • CLASIFICACIÓN SEGÚN PARADIGMA

    Paradigma orientado a objetos:
    La programación orientada a objetos, intenta simular el mundo real a través del significado de objetos que contiene características y funciones.
    Paradigma funcional:
    concibe a la computación como la evaluación de funciones matemáticas y evita declarar y cambiar datos. En otras palabras permite resolver ciertos problemas de forma elegante y los lenguajes puramente funcionales evitan los efectos secundarios comunes en otro tipo de programaciones.
  • CLASIFICACIÓN SEGÚN PARADIGMA

    Paradigma lógico: Se basa en la definición de reglas lógicas para luego, a través de un motor de inferencias lógicas, responder preguntas planteadas al sistema y así resolver los problemas.
  • GOBIERNO BRITÁNICO

    GOBIERNO BRITÁNICO
    el gobierno Británico lo apoyo para crear el proyecto de una máquina de diferencias, un dispositivo mecánico para efectuar sumas repetidas. Pero Babagge se dedicó al proyecto de la máquina analítica, abandonando la máquina de diferencias, que se pudiera programar con tarjetas perforadas, gracias a la creación de Charles Jacquard (francés),era un fabricante de tejidos y había creado un telar que podía reproducir automáticamente patrones de tejidos.
  • MAQUINA CONSTABA DE CINCO UNIDADES BÁSICAS

    MAQUINA CONSTABA DE CINCO UNIDADES BÁSICAS
    Unidad de entrada, para introducir datos e instrucciones.
    Memoria, donde se almacenaban datos y resultados intermedios.
    Unidad de control, para regular la secuencia de ejecución de las operaciones.
    Unidad Aritmético-Lógica, que efectúa las operaciones.
    Unidad de salida, encargada de comunicar al exterior los resultados.
  • TARJETAS PERFORADAS

    TARJETAS PERFORADAS
    Tarjetas perforadas: Inventado a principios de 1800, las tarjetas perforadas fueron utilizados originalmente para controlar los telares y luego en el siglo 20 IBM simplificarán su uso en sus propias máquinas. La razón de la desaparición de esta interfaz persona-ordenador (HCI) fue la equilibrad de los métodos mejores y más eficientes.
  • QWERTY

    QWERTY
    Después de crear una máquina de escribir con éxito, Christopher Scholes continuó sobre su trabajo. Una de estas mejoras fue la disposición de teclas QWERTY. Al principio, esta disposición fue creada para evitar que se pegue excesivo de claves que los usuarios experimentan durante el uso de su máquina de escribir. No hace falta decir que este fue un éxito y los teclados de ordenador mundo utilizan amplia el diseño que Scholes creado hace más de 100 años.
  • COMPUTADORAS DIGITALES

    COMPUTADORAS DIGITALES
    Computadora digitales disponibles solo para investigadores que ayudaban acelerar cálculos de computo.
  • DVORAK

    DVORAK
    El teclado simplificado Dvorak fue creado para aumentar la eficiencia y la velocidad de mecanografía para combatir los problemas con la distribución QWERTY. El diseño fue diseñado alrededor de las letras más usadas en el idioma Inglés como poner esas cartas en la proximidad más cercana para disminuir la carga de la mecanógrafa. Durante los experimentos, los mecanógrafos que utilizan el diseño Dvorak cometieron menos errores y menos propenso.
  • MEMEX

    MEMEX
    se trata de un dispositivo en el que se almacenaría todo tipo de documentos. Permitiría la consulta de daros almacenados en microfilms que serían proyectados posteriormente en pantallas translucidas.
  • TUBOS DE VACÍO

    TUBOS DE VACÍO
    La reducción de la carga del operador fue el tema principal de la innovación temprana. En poco tiempo, un operador informático podría hacer el trabajo que antes requería un equipo. Pero, aunque pocos eran los operadores informáticos, se necesitaban buenas interfaces de usuario.
  • PRIMERA RUEDA DE DESPLAZAMIENTO

    PRIMERA RUEDA DE DESPLAZAMIENTO
    La invención de la rueda de desplazamiento que los primeros ratones de ordenador utilizados para el seguimiento de localización en realidad se elaboró durante un proyecto militar secreto de Tom Cranston, Fred Longstaff y Kenyon Taylor, que fueron parte de la Marina Real de Canadá. El primer sistema construido por el trío utiliza una pelota de goma dura como las que se encuentran en el juego de bolos canadiense 5 pines.
  • CPAN

    CPAN
    Se creó el Comprehensive Perl Archive Network (CPAN). CPAN es una colección de sitios web que almacenan y distribuyen fuentes en Perl, binarios, documentación, scripts y módulos.
  • ALGOL

    ALGOL
    (ALGOritmic Language) Fue el primer lenguaje de programación de proceso estructurado de alto nivel. Fue orientado al uso de quienes participan en proyectos científicos y matemáticos.
  • FORTRAN

    FORTRAN
    Considerados los lenguajes más viejos utilizados hoy en día. Son lenguajes de alto nivel que fueron creados por científicos, matemáticos y empresarios de la computación. Principales usos: Aplicaciones para supercomputadoras, desarrollo de Inteligencia Artificial, software empresarial. Usados por: NASA, tarjetas de crédito y ATMs.
  • LISP

    LISP
    List Processing. Un lenguaje de programación para ordenadores o computadora orientada a la generación de listas.
  • LICKLIDER

    LICKLIDER
    Público su trabajo más destacado, “simbiosis hombre-ordenador” utilizo el método de tiempo compartido, que da a muchos usuarios en terminales acceso a una gran mainframe.
  • EDITOR DE TEXTO

    EDITOR DE TEXTO
    Editor de texto el aumento de la productividad fue enorme, por la rapidez y simplicidad del mecanismo, Escrito para la consola del operador de la serie de computadoras CDC 6000
  • COBOL

    COBOL
    Definido por un comité, el CODASYL. Participó en el comité. COBOL es un lenguaje procesal clásico dirigido por gestión de la empresa, en el cual un programa esta dividido en cuatro secciones: identificación, datos, procesos y entorno, y pueden estar divididos en mas partes.
  • CPL

    CPL
    Combined Programming Language(CPL) fue un lenguaje de programación desarrollado conjuntamente entre el Laboratorio de Matemática en la Universidad de Cambridge y la Unidad Computación de la Universidad de Londres.
  • SIMULA

    SIMULA
    Es un lenguaje de programación orientada a objetos (OOP). Fue el primero de los lenguajes orientado a objetos. Varios años después de su desarrollo, casi todos los lenguajes modernos comenzaron a utilizar sus principios de orientación a objetos. Así fue como se popularizaron términos como clases, objetos, instancias, herencia, polimorfismo, etc.
  • LOGO

    LOGO
    Logo es un lenguaje derivado de Lisp. Su característica más conocida es el uso de los llamados «gráficos de tortuga», un sistema muy intuitivo de realizar gráficos. El Logo es uno de los pocos lenguajes de programación que utiliza el código en español. Es un lenguaje de alto nivel, funcional y estructurado, muy fácil de aprender, por ello se utiliza mucho en el aprendizaje de niños y jóvenes.
  • POO

    POO
    Es un lenguaje de programación, orientado a objetos (OOP) se basa en números enteros.
  • PASCAL

    PASCAL
    Lenguaje de alto nivel. Utilizado para la enseñanza de la programación estructurada y la estructuración de datos. Las versiones comerciales de Pascal fueron ampliamente utilizadas en los años 80’s.
    Creador: NiKlaus Wirth
    Principales usos: Enseñanza de la programación. Objet Pascal, un derivado, se utiliza comúnmente para el desarrollo de aplicaciones Windows.
  • MODULA

    MODULA
    Es un descendente del lenguaje de programación pascal.
  • PROLOG

    PROLOG
    A. Colmerauer, D. Roussel. Introdujo la Programación Lógica. Prolog es declarativo, su sistema de inferencia lógica es un motor de resolución
  • C

    C
    Dennis Ritchie. Primeramente destinado para programar el sistema operativo UNIX, pero se volvió rápidamente universal por su portabilidad y velocidad. Permite la compilación incrementa
  • SQL

    SQL
    Donald D. Chamberlin, Thomas Kurtz. Lenguaje de consulta de bases de datos relacionales. Sucesor del lenguaje Square.
  • SCHEME

    SCHEME
    Gerald Jay Sussman, Guy L. Steele. Lenguaje derivado del Lisp pero simplificado. Los tipos son booleanos, integrales de tamaño indefinido, racionales y complejos, caracteres, simbolos, vectores, pares ordenados, listas, listas asociativas y tablas Hash. Es usado siempre como un lenguaje script, por Gimp por ejemplo.
  • ICON

    ICON
    Griswold. Lenguaje procesal, con función de procesamiento de palabras como Snobol 4, y constructores poderosos. Probablemente el primer lenguaje orientado a los objetivos: una instrucción es ejecutada si una expresión con un éxito o fracaso posible.
  • AWK

    AWK
    Es un lenguaje de programación diseñado para el análisis y procesamiento ya sean ficheros o flujo de datos.
  • MODULA 2

    MODULA 2
    Niklaus Wirth. La idea de este lenguaje fue el reducir el riesgo de error con normas de programación coercitivas. Sin embargo, añade a Pascal algunas características del lenguaje C
  • C++

    C++
    Lenguaje de nivel intermedio, orientado a objetos. Una extensión de C con mejoras como clases, funciones virtuales y plantillas. Creador: Bjarne Stroustrup (Laboratorios Bell) Principales usos: Desarrollo de aplicaciones comerciales, software embebido, aplicaciones cliente-servidor en videojuegos. Usado por: Adobe, Google Chrome, Mozilla Firefox, Microsoft Internet Explorer.
  • OBJECTIVE

    OBJECTIVE
    Lenguaje de nivel intermedio, orientado a objetos. Una extensión de C con mejoras como clases, funciones virtuales y plantillas. Creador: Bjarne Stroustrup (Laboratorios Bell) Principales usos: Desarrollo de aplicaciones comerciales, software embebido, aplicaciones cliente-servidor en videojuegos. Usado por: Adobe, Google Chrome, Mozilla Firefox, Microsoft Internet Explorer.
  • TURBO PASCAL

    TURBO PASCAL
    Es un sistema de desarrollo de software que incluye un compilador y un entorno de desarrollo integrado (IDE) para el lenguaje de programación Pascal, desarrollado por Borland y liderado por Philippe Kahn.
  • EIFFEL

    EIFFEL
    Bertrand Meyer. Lenguaje procesal orientado completamente a la manipulación de objetos, implementando persistencia y la programación por contrato. Fue diseñado para la seguridad del software.
  • GAP

    GAP
    Johannes Meier, Werner Nickel, Alice Niemeyer, Martin Schonert. El lenguaje fue definido para programar algoritmos matemáticos. Es interpretable, interactivo y sin tipo. Las grabaciones y las listas son variables complejos. El sintaxis es como Pascal pero con algunas diferencias
  • PERL

    PERL
    Lenguaje de propósito general, de alto nivel. Creado para el procesamiento de reportes en sistemas Unix. Hoy en día es conocido por su alto poder y versatilidad. Creador: Larry Wall (Unisys) Principales usos: Imágenes generadas por computadora, aplicaciones de base de datos, administración de sistemas, programación web y programación de gráficos. Usado por: IMDb, Amazon, Priceline, Ticketmaster
  • MIRANDA

    MIRANDA
    D. Turner. Miranda es un lenguaje de programación de evaluación perezosa, puramente funcional.
  • PYTHON

    PYTHON
    Lenguaje de propósito general, de alto nivel. Creado para apoyar una gran variedad de estilos de programación de manera divertida. Muchos tutoriales, ejemplos de código e instrucciones a menudo contienen referencias a Monty Python. Creador: Guido Van Rossum (CWI) Principales usos: Aplicaciones Web, desarrollo de software, seguridad informática. Usado por: Google, Yahoo, Spotify
  • POV-RAY

    POV-RAY
    D. & A. Collins. Lenguaje para describir imágenes 3D
  • VISUAL BASIC

    VISUAL BASIC
    es un lenguaje de programación que proviene del BASIC. La primera versión de este lenguaje de programación Visual Basic fue presentada en el año 1991. La intención de este primer programa era simplificar la programación utilizando un entorno de trabajo claro que permitiera crear interfaces gráficas facilitando así la programación.
  • DISCO

    DISCO
    Reino Kurki-Suonio. Es un lenguaje de especificación para sistemas reactivos con una sintaxis parecida a Pascal.
  • RUBY

    RUBY
    Lenguaje de propósito general, de alto nivel. Un programa de enseñanza, influenciado por Perl, Ada, Lisp, Smalltalk, entre otros. Diseñado para hacer la programación más productiva y agradable.
    Creador: Yukihiro Matsumoto
    Principales usos: Desarrollo de aplicaciones Web, Ruby on Rails.
    Usado por: Twitter, Hulu, Groupon.
  • JAVA

    JAVA
    Lenguaje de propósito general, de alto nivel. Hecho para un proyecto de televisión interactiva. Funcionalidad de programación multiplataforma. Es actualmente el segundo lenguaje de programación más popular en el mundo. Creador: James Gosling (Sun Microsystems)
    Principales usos: Programación Web, desarrollo de aplicaciones Web, desarrollo de software, desarrollo de interfaz gráfica de usuario.
    Usado por: Android OS/Apps
  • PHP

    PHP
    Lenguaje de código abierto, de propósito general. Se utiliza para construir páginas web dinámicas. Más ampliamente usado en software de código abierto para empresas. Creador: Rasmus Lerdorf
    Principales usos: Construcción y mantenimiento de páginas web dinámicas, desarrollo del lado del servidor.
    Usado por: Facebook, Wikipedia, Digg, WordPress, Joomla.
  • JAVASCRIPT

    JAVASCRIPT
    Lenguaje de alto nivel. Creado para extender las funcionalidades de las páginas web. Usado por páginas dinámicas para el envío y validación de formularios, interactividad, animación, seguimiento de actividades de usuario, etc.
    Creador: Brendan Eich (Netscape)
    Principales usos: Desarrollo de web dinámica, documentos PDF, navegadores web y widgets de Escritorio.
    Usado por: Gmail, Adobe Photoshop, Mozilla Firefox
  • UML

    UML
    Grady Booch, Jim Rumbaugh, e Ivar Jacobson.
    UML es la unión de tres lenguajes de modelado. El lenguaje usa una notación gráfica para diseñar proyectos de software. Una fuena es un diagrama de objetos y sus interacciones.
  • REBOL

    REBOL
    Carl SassenRath. Lenguaje Interpretable, de script extensible que produce códigos compactos. Se dirige a la comunicación en Internet y computación distribuída.
  • C#

    C#
    Anders Hejlsberg. es un lenguaje de programación orientado a objetos desarrollado y estandarizado por Microsoft como parte de su plataforma .NET. Su sintaxis básica deriva de C/C++ y utiliza el modelo de objetos de la plataforma .NET, similar al de Java, aunque incluye mejoras derivadas de otros lenguajes.
  • ASPECTJ

    ASPECTJ
    Centro de Investigación de Palo Alto. AspectJ es un lenguaje de programación orientado por aspectos construido como una extensión del lenguaje Java creado en Xerox PARC. Un compilador de AspectJ hace llegar la noción de aspecto hacia el código de máquina virtual implementando así una noción de relación.
  • SCRIPTOL

    SCRIPTOL
    Denis Sureau. Es un compilado de PHP y C++, dándole una gran portabilidad. Es un lenguaje para aplicaciones, y para hacer páginas web dinámicas.
  • SCALA

    SCALA
    Hecho por el Ecole Polytechnique Federale de Lausanne. Es un lenguaje puramente orientado a los objetos que implementa algunas características de Python en una sintaxis de Java. Corre actualmente en JVM y .NET.
  • PERL 5

    PERL 5
    continua siendo mantenido. Características importantes y algunas construcciones esenciales han sido añadidas, incluyendo soporte Unicode, Hilos (threads), un soporte importante para la programación orientada a objetos y otras mejoras.
  • GO

    GO
    Es un lenguaje de programación concurrente y compilado inspirado en la sintaxis de C. Ha sido desarrollado por Google y sus diseñadores iniciales son Robert Griesemer, Rob Pike y Ken Thompson. Actualmente sólo está disponible para los sistemas operativos Windows, GNU/Linux y Mac OS X. Go usa una sintaxis parecida a C por lo que los programadores que hayan usado dicho lenguaje se sienten muy cómodos con él.
  • NODE.JS

    NODE.JS
    Node.js es similar en su propósito a Twisted de Python, Perl Object Environment para Perl, libevent para C y EventMachine para Ruby. Al contrario que la mayoría del código JavaScript, no se ejecuta en un navegador, sino en el lado del servidor.
  • JULIA

    JULIA
    Jeff Bezanson, Stefan Karpinski, Viral B. Shah, Alan Edelman. es un lenguaje de programación dinámico, de alto nivel y alto rendimiento para cálculos científicos y técnicos con una sintaxis similar a la de otros entornos de computación similares.Dispone de un compilador avanzado, mecanismos para la ejecución en paralelo y una extensa biblioteca de funciones matemáticas.
  • DART

    DART
    s un lenguaje de programación de código abierto, desarrollado por Google. Fue revelado en la conferencia goto; en Aarhus, Dinamarca el 10 octubre de 2011. El objetivo de Dart no es reemplazar JavaScript como el principal lenguaje de programación web en los navegadores web, sino ofrecer una alternativa más moderna.
  • RUST

    RUST
    es un lenguaje de programación compilado, de propósito general y multiparadigma que está siendo desarrollado por Mozilla. Ha sido diseñado para ser 'un lenguaje seguro, concurrente y práctico", soportando programación funcional pura, por procedimientos, imperativa y orientada a objetos. El lenguaje surgió de un proyecto personal desarrollado por Graydon Hoare, quién empezó a trabajar en él en 2006.
  • ASM.JS

    ASM.JS
    Mozilla. Este lenguaje permite, en combinación con otras herramientas el convertir aplicaciones y librerias escritas en otros lenguajes y usarlas en el explorador. Esto hace del explorador una interfase universal para el trabajo de software online u offline en todos los sistemas operativos en cualquier tipo de dispositivo, desde PC a Smartphones.
  • SWIFT

    SWIFT
    es un lenguaje de programación creado por Apple con el compilador LLVM para los sistemas operativos OS X e iOS presentado el 2 de junio del 2014 en el WWDC 2014 junto con su manual.1 El lenguaje en un principio coexistirá con Objective-C lenguaje que maneja la plataforma de programación oficial de Apple Xcode.
  • TENDENCIAS ACTUALES

    TENDENCIAS ACTUALES
    Algunas de las tendencias actuales incluyen:
    Aumentar el soporte para la programación funcional en lenguajes importantes utilizados comercialmente.
    Construir lenguajes para apoyar la programación concurrente y distribuida.
    seguridad y confiabilidad: chequeo sintáctico extendido, control de flujo de información, seguridad de hilos.
    Mecanismos alternativos de modularidad: mixins, delegados, aspectos.
    Desarrollo de software orientado a componentes.
  • CONCLUSIÓN

    CONCLUSIÓN