CAPÍTULO I
Justificación
El estudio de los lenguajes de programación requiere a su vez comprender perfectamente los tipos de lenguajes de programación que existen y la clasificación comúnmente aceptada que a éstos se les da.
Esta investigación se justifica en la necesidad que todo programador tiene de diferenciar y clasificar correctamente los tipos de lenguajes de programación, conociendo sus aplicaciones y los beneficios o desventajas que ofrece cada uno de ellos.
OBJETIVOS
Objetivo general:
Conocer los tipos de lenguajes de programación y la clasificación que comúnmente se les da.
Objetivos específicos:
Determinar qué son los lenguajes de programación declarativos y a la vez los lenguajes que forman parte de este grupo.
Determinar qué son los lenguajes de programación imperativos y los lenguajes que están comprendidos en este grupo.
Diferenciar los lenguajes de bajo nivel (lenguaje máquina) de los lenguajes de alto nivel.
CAPÍTULO II
Conocimientos básicos
HISTORIA
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. Consistía en lo que él denominaba la maquina analítica, pero que por motivos técnicos no pudo construirse hasta mediados del siglo XX. Con él colaboro Ada Lovedby, la cual es considerada como la primera programadora de la historia, pues realizo programas para aquélla supuesta máquina de Babagge, en tarjetas perforadas. Como la maquina no llego nunca a construirse, los programas de Ada, lógicamente, tampoco llegaron a ejecutarse, pero si suponen un punto de partida de la programación, sobre todo si observamos que en cuanto se empezó a programar, los programadores utilizaron las técnicas diseñadas por Charles Babagge, y Ada, que consistían entre otras, en la programación mediante tarjetas perforadas. A pesar de ello, Ada ha permanecido como la primera programadora de la historia. Se dice por tanto que estos dos genios de antaño, se adelantaron un siglo a su época, lo cual describe la inteligencia de la que se hallaban dotados.
En 1823 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). Este hombre era un fabricante de tejidos y había creado un telar que podía reproducir automáticamente patrones de tejidos, leyendo la información codificada en patrones de agujeros perforados en tarjetas de papel rígido. Entonces Babagge intento crear la máquina que se pudiera programar con tarjetas perforadas para efectuar cualquier cálculo con una precisión de 20 dígitos. Pero la tecnología de la época no bastaba para hacer realidad sus ideas. Si bien las ideas de Babagge no llegaron a materializarse de forma definitiva, su contribución es decisiva, ya que los ordenadores actuales responden a un esquema análogo al de la máquina analítica. En su diseño, la máquina 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.
Charles Babbage, conocido como el "padre de la informática" no pudo completar en aquella época la construcción del computador que había soñado, dado que faltaba algo fundamental: la electrónica. El camino señalado de Babbage, no fue nunca abandonado y siguiéndolo, se construyeron los primeros computadores.
Cuando surgió el primer ordenador, el famoso ENIAC (Electronic Numerical Integrator And Calculator), su programación se basaba en componentes físicos, o sea, que se programaba, cambiando directamente el Hardware de la máquina, exactamente lo que sé hacia era cambiar cables de sitio para conseguir así la programación de la máquina. La entrada y salida de datos se realizaba mediante tarjetas perforadas.
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.
2.2.1. CARACTERISTICAS
Legibilidad: consiste en si el lenguaje tiene una sintaxis sencilla, fáciles de leer y fáciles de compilar
Ortogonalidad: permite combinar en una sola instrucción diversas características del lenguaje, de esta manera se consiguen programas más cortos y más compactos.
Naturalidad para la aplicación: consiste en el lenguaje proporcione herramientas adecuadas para el fin para el que está pensado.
Soporte a la abstracción: Solucionar tipos de problemas y no problemas concretos. Debe permitir que el programador pueda crear funciones y procedimientos.
Entorno de programación: Los lenguajes han de ir acompañados de un entorno donde programar.
Portabilidad de los programas: Es un lenguaje que permite crear programas que funcionen en cualquier maquina pertenezca a la plataforma que quiera, distinto fabricante, etc.
TENDENCIAS DE LOS LENGUAJES DE PROGRAMACIÓN
El estudio de los lenguajes de programación agrupa tres intereses diferentes; el del programador profesional, el del diseñador del lenguaje y del Implementador del lenguaje.
Además, estos tres trabajos han de realizarse dentro de las ligaduras y capacidades de la organización de una computadora y de las limitaciones fundamentales de la propia "calculabilidad". El término "el programador" es un tanto amorfo, en el sentido de que camufla importantes diferencias entre distintos niveles y aplicaciones de la programación. Claramente el programador que ha realizado un curso de doce semanas en COBOL y luego entra en el campo del procesamiento de datos es diferente del programador que escribe un compilador en Pascal, o del programador que diseña un experimento de inteligencia artificial en LISP, o del programador que combina sus rutinas de FORTRAN para resolver un problema de ingeniería complejo, o del programador que desarrolla un sistema operativo multiprocesador en ADA.
En este trabajo, intentare clarificar estas distinciones tratando diferentes lenguajes de programación en el contexto de cada área de aplicación diferente. El "diseñador del lenguaje" es también un término algo nebuloso. Algunos lenguajes (como APL y LISP) fueron diseñados por una sola persona con un concepto único, mientras que otros (FORTRAN y COBOL) son el producto de desarrollo de varios años realizados por comités de diseño de lenguajes.
Los lenguajes de " Alto Nivel" son los más utilizados como lenguaje de programación. Aunque no son fundamentalmente declarativos, estos lenguajes permiten que los algoritmos se expresen en un nivel y estilo de escritura fácilmente legible y comprensible por otros programadores. Además, los lenguajes de alto nivel tienen normalmente las características de " Transportabilidad". Es decir, están implementadas sobre varias máquinas de forma que un programa puede ser fácilmente " Transportado " (Transferido) de una maquina a otra sin una revisión sustancial. En ese sentido se llama "Independientes de la maquina". Ejemplos de estos lenguajes de alto nivel son PASCAL, APL y FORTRAN (para aplicaciones científicas), COBOL (para aplicaciones de procesamiento de datos), SNOBOL (para aplicaciones de procesamiento de textos), LISP y PROLOG (para aplicaciones de inteligencia artificial), C y ADA (para aplicaciones de programación de sistemas) y PL/I (para aplicaciones de propósitos generales).
Los "Lenguajes Ensambladores" y los "Lenguajes Maquina" son dependientes de la máquina. Cada tipo de máquina, tal como VAX de digital, tiene su propio lenguaje maquina distinto y su lenguaje ensamblador asociado. El lenguaje Ensamblador es simplemente una representación simbólica del lenguaje maquina asociado, lo cual permite una programación menos tediosa que con el anterior. Sin embargo, es necesario un conocimiento de la arquitectura mecánica subyacente para realizar una programación efectiva en cualquiera de estos niveles lenguajes.
PARADIGMAS EN LENGUAJES DE PROGRAMACION
Existen diversos lenguajes y paradigmas de programación para facilitar la tarea de programación en diferentes ámbitos. Por ejemplo, la programación orientada a objetos es un paradigma dirigido al mejoramiento en la calidad del software por medio de la observación de aspectos tales como la corrección, robustez, extensibilidad, compatibilidad y sobre todo la reusabilidad del software.
La programación lógica, por su parte, es un paradigma orientado a la expresión de los problemas en términos lógicos para su posterior solución por métodos de inferencia y técnicas lógicas.
En la práctica, cada paradigma de programación es implementado a través de diversos lenguajes. Solo como un ejemplo, la programación orientada a objetos encuentra recipientes en lenguajes JAVA, C++, Eiffel, Objetive c, etc.
TENDENCIAS ACTUALES
La evolución de los lenguajes de programación continúa, tanto en la industria como en investigación. Algunas de las tendencias actuales incluyen:
Aumentar el soporte para la programación funcional en lenguajes importantes utilizados comercialmente, incluida la programación funcional pura para hacer el código más fácil de razonar y de paralelizar (tanto en macro como en micro-niveles).
Construir lenguajes para apoyar la programación concurrente y distribuida.
Mecanismos para añadir al lenguaje verificación en cuanto a 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.
Mayor énfasis en cuanto a distribución y movilidad.
Integración con bases de datos, incluyendo XML y bases de datos relacionales.
Programación Orientada a Aspectos (AOP).
Lenguajes que soporten programar sobre los procesadores de la GPU en paralelo, como OpenCL.
CLASIFICACIÓN DE LOS LENGUAJES DE PROGRAMACIÓN
Los lenguajes de programación son clasificados de muchas formas, dentro de estas se encuentran:
CLASIFICACIÓN SEGÚN NIVEL DE ABSTRACCIÓN
Los 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.
Los 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.
Los 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. Por desgracia para muchas personas esta forma de trabajar es un poco frustrante, dado que a pesar de que las computadoras parecen comprender un lenguaje natural, lo hacen en realidad de una forma rígida y sistemática.
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. Su contrario es el paradigma declarativo. En este paradigma se incluye el paradigma procedimental (procedural) entre otros.
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. En otras palabras, se enfoca en describir las propiedades de la solución buscada, dejando indeterminado el algoritmo (conjunto de instrucciones) usado para encontrar esa solución. Es más complicado de implementar que el paradigma imperativo, tiene desventajas en la eficiencia, pero ventajas en la solución de determinados problemas.
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.
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. Los lenguajes orientados a objetos se clasifican como lenguajes de quinta generación.
Paradigma funcional:
Este paradigma concibe a la computación como la evaluación de funciones matemáticas y evita declarar y cambiar datos. En otras palabras, hace hincapié en la aplicación de las funciones y composición entre ellas, más que en los cambios de estados y la ejecución secuencial de comandos (como lo hace el paradigma procedimental). Permite resolver ciertos problemas de forma elegante y los lenguajes puramente funcionales evitan los efectos secundarios comunes en otro tipo de programaciones.
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.
LOGICA La programación lógica los programas se consideran como una serie de aserciones lógicas. De esta forma, el conocimiento se representa mediante reglas, tratándose de sistemas declarativos. |
|
CLASIFICACIÓN SEGÚN LA FORMA DE EJECUCIÓN
Lenguaje compilados:
Los compiladores son aquellos cuya función es traducir un programa escrito en un determinado lenguaje a un idioma que la computadora entienda (lenguaje máquina con código binario).
Al usar un lenguaje compilado (como lo son los lenguajes del popular Visual Studio de Microsoft), el programa desarrollado nunca se ejecuta mientras haya errores, sino hasta que luego de haber compilado el programa, ya no aparecen errores en el código.
Lenguaje interpretados:
Se puede también utilizar una alternativa diferente de los compiladores para traducir lenguajes de alto nivel. En vez de traducir el programa fuente y grabar en forma permanente el código objeto que se produce durante la corrida de compilación para utilizarlo en una corrida de producción futura, el programador sólo carga el programa fuente en la computadora junto con los datos que se van a procesar. A continuación, un programa intérprete, almacenado en el sistema operativo del disco, o incluido de manera permanente dentro de la máquina, convierte cada proposición del programa fuente en lenguaje de máquina conforme vaya siendo necesario durante el proceso de los datos. No se graba el código objeto para utilizarlo posteriormente.
LENGUAJES DE PROGRAMACIÓN
FORTRAN
Definición:
Es un lenguaje de programación para el desarrollo de aplicaciones matemáticas y científicas, fue el primer lenguaje de programación de alto nivel. Estos lenguajes de alto nivel tienen entre otras las ventajas que pueden utilizarse en cualquier computadora y son más afines al lenguaje humano
Historia:
Su nombre proviene del inglés de: FORmula TRANslator.
Nace en los años 50, se utiliza principalmente para aplicaciones científicas y el análisis numérico. Durante toda su vida ha pasado por varias versiones. Fue diseñado por IBM en 1950. El idioma se hizo tan popular en los 60´s que otros desarrolladores empezaron a producir sus propias versiones y esto llevó a una gran cantidad de dialectos (en 1963 había 40 compiladores de FORTRAN diferentes). En 1972 se creó FORTRAN66, como una forma de estandarizar la estructura del lenguaje. Luego, en 1980, se estableció una norma oficial para el lenguaje avalada por la Organización de Normas Internacionales (ISO). Tal versión es normalmente conocida como FORTRAN 77 (dado que el proyecto final se completó en 1977). En 1991 surge FORTRAN90, un desarrollo mayor del idioma pero que incluye todos los elementos de FORTRAN77 para facilitar la compatibilidad. Finalmente, en 1997, surge FORTRAN95 o High Performance Fortran (HPF).
Figura 01: programa en FORTRAN
SIMULA
Definición:
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.
Historia:
Simula fue desarrollado por los noruegos Ole Johan Dahl y Kristen Nygaard en mayo de 1967, buscaban un lenguaje adecuado para la simulación de eventos discretos (su nombre es una contracción de Simularían Languaje).
Su primer compilador estuvo disponible en 1964, para la serie 1100 de UNIVAC, si bien hasta 1967 no adquirió una amplia funcionalidad. En la actualidad hay disponibles diversas versiones freeware de su compilador.
Hoy en día, los creadores de Simula han desarrollado un nuevo lenguaje de programación, llamado Beta, que generaliza todas las construcciones del lenguaje en una única idea denominada patrón.
LOGO
Definición:
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.
Historia:
El Logo es un lenguaje de programación que nace en los años 60. Su creador fue el matemático Seymour Papert, que creo la primera versión de este lenguaje en el año 1967.
El Logo se creó con el fin de ser accesible a principiantes, pero a la vez ser capaz de conseguir elaborar programas sofisticados y complejos hechos por expertos programadores.
MODULA
Definición:
Es un descendente del lenguaje de programación pascal
Historia:
Se desarrolló en suiza a finales de 1970 por Niklauswirth, la misma persona que diseño pascal. La principal innovación de modula más de pascal es un sistema de módulos, que se utiliza para agrupar conjuntos de las declaraciones respectivas en las unidades de programa, de ahí el nombre de modula.
C
Definición:
Más conocido para desarrollar software de sistemas y aplicaciones. Es un lenguaje muy eficiente en este campo. El lenguaje de programación C está disponible multitud de plataformas diferentes, mucho más que cualquier otro lenguaje. Además, en principio, el lenguaje de programación C fue creado para fomentar la programación independientemente de la máquina.
Característica:
Es un lenguaje simple, flexible porque permite programar con multitud de estilos, el lenguaje de programación C te impide programar operaciones sin sentido, un reducido conjunto de palabras clave, tiene acceso a memoria de bajo nivel, permite que los datos relacionados se combinen y se manipulen como un todo, etc.
Historia:
Fue inventado por Ken Thompson y Dennis M. Ritchie. El lenguaje de programación C fue una evolución del anterior lenguaje, el lenguaje B, que estaba basado en el BCPL (Basic Combines Programming Language o Lenguaje de Programación Básica Combinada) que luego cambió su nombre por C. Su diseño incluyó una sintaxis simplificada, la aritmética de direcciones de memoria (permite al programador manipular bits, bytes y direcciones de memoria) y el concepto de apuntador. Además, al ser diseñado para mejorar software de sistemas, se buscó que generase códigos eficientes y uno portabilidad total, es decir el que pudiese correr en cualquier máquina. Logrados los objetivos anteriores, C se convirtió en el lenguaje preferido de los programadores profesionales.
TURBO PASCAL
Definición:
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.
Fue lanzado en 1983 para MS-DOS, CP/M, CP/M-86 y, posteriormente, para Microsoft Windows, fue durante mucho tiempo la versión más extendida del lenguaje Pascal. También hubo una versión de corta vida para Apple Macintosh.
Historia:
Desarrollado a principios de los años 70 por Nyklaus Wirth, en la Universidad Técnica de Zurich, Suiza; para enseñar programación estructurada. Hay muchas originadas a partir de este primer desarrollo. Ejemplo: Turbo Pascal 7.0 de la compañía Borland.
El nombre fue elegido en honor de Blaise Pascal (1623-1662), un brillante científico y matemático francés entre cuyos logros se encuentra la primera máquina calculadora mecánica en el mundo
BASIC
Definición:
Es un lenguaje de programación que se creó con fines pedagógicos, era el lenguaje que utilizan las microcomputadoras de los años 80. Actualmente sigue siendo muy conocido y tienen muchísimos dialectos muy diferentes al original.
El BASIC es un lenguaje de programación muy amplio, con una sintaxis fácil, estructura sencilla y un buen conjunto de operadores. No es un lenguaje específico, es polivalente, potente, se aprende rápidamente, en poco tiempo cualquier usuario es capaz de utilizar casi la totalidad de su código.
Historia:
Los creadores del BASIC fueron John Goerge Kemeny y Thomas Eugene Kurtz en el año 1964. Fue inventado para permitir a los estudiantes escribir programas usando terminales de computador de tiempo compartido. Con el BASIC se quiso hacer un lenguaje de programación mucho más sencillo que los que existían por aquel entonces.
Los principios que originaron la creación del BASIC eran: que fuese fácil de usar por todos, crear un lenguaje de programación de propósito general, que se le pudiese incorporar características avanzadas y siguiese siendo de fácil uso para los principiantes, ser interactivo, que los mensajes de error fuesen claros, que respondiese rápidamente a los programas pequeños, que no fuese necesario tener conocimiento del hardware de la computadora, y que protegiese al usuario del sistema operativo.
El BASIC se basó otros dos lenguajes de programación el FORTRAN II y el Algol 60, haciéndolo apropiado para el uso del computador a tiempo compartido y para la aritmética de matrices. Su nombre proviene de la expresión inglesa Beginner"s All-purpose Symbolic Instruction Code (BASIC), que significa en español código de instrucciones simbólicas de propósito general para principiantes.
Figura 07: Programa BASIC que simula un sorteo de la primitiva
LISP
Definición:
En informática, acrónimo de List Processing. Un lenguaje de programación para ordenadores o computadora orientada a la generación de listas. El LISP es un lenguaje interpretado, en el que cada expresión es una lista de llamadas a funciones. Este lenguaje se sigue utilizando con frecuencia en investigación y en círculos académicos, y fue considerado durante mucho tiempo el lenguaje modelo para la investigación de la inteligencia artificial (IA), aunque el Prolog ha ganado terreno durante los últimos años.
Historia:
Desarrollado en 1959-1960 por John McCarthy y usado principalmente para manipular listas de datos o de símbolos. El lenguaje LISP constituyó un cambio radical con respecto a los lenguajes procedurales (FORTRAN, ALGOL) que se desarrollaban por entonces
COBOL
Definición:
(Common Business Oriented Languaje = lenguaje orientado a negocios comunes). Se ha usado mucho desde los años 60 en aplicaciones de computadoras aplicadas a la administración.
Es considerado un lenguaje de fácil aprendizaje. Los programas deben contener cuatro secciones: identificación, entorno, datos y procedimientos. Una herencia de sus lejanos orígenes es el uso de una convención basada en las columnas (por ejemplo, las sentencias deben estar entre las columnas 12 y 72), aunque versiones modernas pueden usarse de otra forma.
Historia:
Se inventó en los años 60. Nació con el objetivo de ser un lenguaje de programación versátil, que pudiese ser usado en cualquier computador.
En los años 60 era muy difícil que el software creado para una máquina concreta sirviese para otra diferente. Porque la mayoría de estas computadoras eran incompatibles entre sí. Con el Cobol se quería conseguir este lenguaje de programación que fue compatible con los principales modelos de computadoras.
Se quería además conseguir con este nuevo lenguaje de programación que estuviese destinado a los negocios, concretamente a lo que conocemos como informática de gestión. Así nació el Cobol, como un lenguaje de programación compatible con la mayoría de las computadoras y destinado principalmente a la gestión.
Figura 09: antigua hoja de codificación en COBOL
ALGOL
Definición:
(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.
Historia:
Fue presentado en 1958. Un grupo internacional de matemáticos europeos y americanos, pretendían crear un lenguaje común normalizado que les permitiera el intercambio de algoritmos, aunque está en desuso, fue el primero que incorporo conceptos claves para la programación actual.
PASCAL
Definición:
Es el lenguaje más sencillo que posibilita el acceso a la informática teórica: descomposición modular, recursividad, punteros, etc.
Historia:
El lenguaje Pascal aparece por primera vez en 1971, diseñado por el profesor Niklaus Wirth con el objetivo de facilitar el aprendizaje de la programación a sus alumnos. Pascal fue muy utilizado en la década de los 80 y los 90, y es el precursor de lenguajes como Delphi.
CPL
Definición:
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 durante la década de 1960. El esfuerzo colaborativo fue el responsable por el "combinado" en el nombre del lenguaje (anteriormente el nombre era Cambridge Programming Languaje). En 1963 estaba siendo implementado en la computadora Titan, en Cambridge, y en la computadora Atlas, en Londres.
Este lenguaje estuvo fuertemente influenciado por ALGOL 60 pero, en vez de ser extremadamente pequeño, elegante y simple, CPL era grande, moderadamente elegante y complejo. Fue intencional por el bien de la programación científica (en la manera de FORTRAN y ALGOL) y también para la programación comercial (en la manera de COBOL). De hecho, puede ser visto como un esfuerzo similar a PL/I en esta manera, o esfuerzos posteriores como Ada.
CPL resultó mucho para las pequeñas computadoras y las inmaduras tecnologías de compilación de la época. Compiladores propiamente funcionales fueron escritos probablemente alrededor de la década del 70, pero el lenguaje nunca fue muy popular y pareció haber desaparecido sin rastros en la misma década.
Un lenguaje posterior basado en CPL, llamado BCPL (por Basic CPL, aunque originalmente Bootstrap CPL) fue un lenguaje mucho más simple diseñado principalmente como un lenguaje para programación de sistemas, particularmente para escribir compiladores. BCPL influenció, vía el lenguaje B, al lenguaje de programación C, uno de los más importantes lenguajes hasta la fecha
C++
Definición:
El C++ es un lenguaje orientado a objetos al que se le añadieron características y cualidades de las que carecía el lenguaje C.
Historia:
Fue creado en los años 80 por Bjarne Stroustrup basando en el lenguaje C. Para 1983 dicha denominación cambió a la de C++.
De esta forma nació el C++ y como sucedía con el C depende mucho del hardware, tiene una gran potencia en la programación a bajo nivel, y se le añadieron elementos que nos permiten programar a alto nivel. El C++ es uno de los lenguajes más potentes porque nos permite programar a alto y a bajo nivel, pero a su vez es difícil de aprender porque es necesario hacerlo casi todo manualmente.
El nombre fue propuesto por Rick Masciatti, al utilizarse C++ fuera de los laboratorios donde se creó. Con el nombre de C++ que quiso dar a entender que el C++ es una extensión del lenguaje C.
AWK
Definición:
Es un lenguaje de programación diseñado para el análisis y procesamiento ya sean ficheros o flujo de datos.
AWK es ejemplo de un lenguaje de programación que usa ampliamente el tipo de datos de listas asociativas (es decir, listas indexadas por cadenas clave), y expresiones regulares.
Historia:
El nombre AWK deriva de las iniciales de los apellidos de sus autores: Alfred Aho, Peter Weinberger, y Brian Kernighan. awk, cuando está escrito todo en minúsculas, hace referencia al programa de Unix que interpreta programas escritos en el lenguaje de programación AWK.
AWK fue una de las primeras herramientas en aparecer en Unix y ganó popularidad como una manera de añadir funcionalidad a las tuberías de Unix. La implementación de alguna versión del lenguaje AWK es estándar en casi todo sistema operativo tipo Unix moderno. AWK es mencionado en las Single UNIX Specification (especificaciones básicas de UNIX) como una de las utilidades necesarias de todo sistema operativo Unix. Se pueden instalar implementaciones de AWK en casi todos los demás sistemas operativos.
PERL
Definición:
Un lenguaje de programación diseñado por Larry Wall en 1987. Perl toma características del lenguaje C, del lenguaje interpretado bourne shell, AWK, sed, Lisp y, en un grado inferior, de muchos otros lenguajes de programación.
Estructuralmente, Perl está basado en un estilo de bloques como los del C o AWK, y fue ampliamente adoptado por su destreza en el procesado de texto y no tener ninguna de las limitaciones de los otros lenguajes de script.
Historia:
Larry Wall comenzó a trabajar en Perl en 1987 mientras trabajaba como programador en Unisys. El lenguaje se expandió rápidamente en los siguientes años. Perl 2, publicado en 1988, aportó un mejor motor de expresiones regulares. Perl 3, publicado en 1989, añadió soporte para datos binarios
Hasta 1991 la única documentación de Perl era una simple (y cada vez más larga) página de manual Unix. En 1991 se publicó Programming Perl (el libro del camello) y se convirtió en la referencia de facto del lenguaje. Al mismo tiempo, el número de versión de Perl saltó a 4, no por marcar un gran cambio en el lenguaje, sino por identificar a la versión que estaba documentada en el libro.
Perl 4 trajo consigo una serie de lanzamientos de mantenimiento, culminando en Perl 4.036 en 1993. En este punto, Larry Wall abandonó Perl 4 para comenzar a trabajar en Perl 5. Perl 4 se quedaría en esa versión hasta hoy.
El desarrollo de Perl 5 continuó en 1994. La lista de correo perl5-porters se estableció en mayo de 1994 para coordinar el trabajo de adaptación de Perl 5 a diferentes plataformas. Es el primer foro para desarrollo, mantenimiento y adaptación de Perl 5.
Perl 5 fue publicado el 17 de octubre de 1994. Fue casi una completa reescritura del intérprete y añadió muchas nuevas características al lenguaje, incluyendo objetos, referencias, paquetes y módulos. A destacar, los módulos proveen de un mecanismo para extender el lenguaje sin modificar el intérprete. Esto permitió estabilizar su núcleo principal, además de permitir a los programadores de Perl añadirle nuevas características.
El 26 de octubre de 1995, 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.
En 2008, 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.
VISUAL BASIC
Definición:
Es uno de los lenguajes de programación que utiliza una interfaz visual es decir que nos permite programar en un entorno gráfico, nos permite realizar un gran número de tareas sin escribir código, simplemente realizando operaciones con el ratón sobre la pantalla de la computadora.
Este lenguaje de programación es uno de los que más interés despiertan entre los programadores. Porque este lenguaje de programación, el Visual Basic, le facilita la realización de tareas complejas en poco tiempo y a los que están comenzado a programar con Visual Basic ven como son capaces de realizar pequeños programas al poco tiempo de haber comenzado a estudiar este lenguaje de programación.
Historia:
El 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.
Las sintaxis que utiliza este lenguaje de programación proviene del conocido BASIC, pero completada con comandos y códigos de otros lenguajes más modernos. Este lenguaje de programación Visual Basic tiene un apartado dedicado a la Programación Orientada a Objetos.
Es un lenguaje muy apropiado para el manejo de bases de datos. Muchas empresas lo utilizan para la gestión de sus bases de datos porque su utilización es sencilla y abundan los programadores de este lenguaje.
VISUAL BASIC SCRIPT
Definición:
Es un lenguaje interpretado por el Windows Scripting Host de Microsoft. Su sintaxis refleja su origen como variación del lenguaje de programación Visual Basic. Ha logrado un apoyo significativo por parte de los administradores de Windows como herramienta de automatización, ya que, conjunta y paralelamente a las mejoras introducidas en los sistemas operativos Windows donde opera fundamentalmente, permite más margen de actuación y flexibilidad que el lenguaje batch (o de proceso por lotes)
Historia:
Desarrollado a finales de los años 1970 para el MS-DOS
PYTHON
Definición:
Es un lenguaje de programación moderno, está orientado a objetos, es muy sencillo de usar a la vez potente y de código abierto.
El Python nos permite separar el programa en módulos, este lenguaje tiene una gran variedad de módulos estándar que se pueden utilizar para programar, o incluso como una base para aprender a programar en Python.
El Python es un lenguaje interpretado lo que ahorra muchísimo tiempo en la creación de programas puesto que no es preciso compilar su código. El intérprete que usa el Python se puede utilizar de modo interactivo lo que nos permite experimentar con este lenguaje mientras programamos.
Este lenguaje es un lenguaje de programación que permite que podamos programar en varios estilos: Programación orientada a objetos, programación estructurada, programación funcional y programación orientada a aspectos. A esto se le conoce como lenguaje de programación multiparadigma.
Historia:
Página siguiente |