domingo, 18 de junio de 2017

LENGUAJE DE PROGRAMACIÓN

Lenguaje de programación
      I.        CONTENIDO.

1.    Definición
Un lenguaje de programación es un lenguaje formal diseñado para realizar procesos que pueden ser llevados 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.1
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 pruebase depurase compila (de ser necesario) y se mantiene el código fuente de un programa informático se le llama programación.
También la palabra programación se define como el proceso de creación de un programa de computadora, mediante la aplicación de procedimientos lógicos, a través de los siguientes pasos:
El desarrollo lógico del programa para resolver un problema en particular.
·         Escritura de la lógica del programa empleando un lenguaje de programación específico (codificación del programa).
·         Ensamblaje o compilación del programa hasta convertirlo en lenguaje de máquina.
·         Prueba y depuración del programa.
·         Desarrollo de la documentación.
Existe un error común que trata por sinónimos los términos 'lenguaje de programación' y 'lenguaje informático'. Los lenguajes informáticos engloban a los lenguajes de programación y a otros más, como por ejemplo HTML (lenguaje para el marcado de páginas web que no es propiamente un lenguaje de programación, sino un conjunto de instrucciones que permiten estructurar el contenido de los documentos).
Permite especificar de manera precisa sobre qué datos debe operar una computadora, cómo deben ser almacenados o transmitidos y qué acciones debe tomar bajo una variada gama de circunstancias. Todo esto, a través de un lenguaje que intenta estar relativamente próximo al lenguaje humano o natural. Una característica relevante de los lenguajes de programación es precisamente que más de un programador pueda usar un conjunto común de instrucciones que sean comprendidas entre ellos para realizar la construcción de un programa de forma colaborativa.
2.    CLASIFICACIÓN
                


A.   BAJO NIVEL.- es aquel en el que sus instrucciones ejercen un control directo sobre el hardware y están condicionados por la estructura física de las computadoras que lo soportan. El uso de la palabra bajo en su denominación no implica que el lenguaje sea menos potente que un lenguaje de alto nivel, sino que se refiere a la reducida abstracción entre el lenguaje y el hardware. Por ejemplo, se utiliza este tipo de lenguajes para programar tareas críticas de los sistemas operativos, de aplicaciones en tiempo real o controladores de dispositivos.
Dicho lenguaje es muy simple o nada complicado, pero estructurar programas a ese nivel es muy difícil. Dado que este lenguaje viene dado por las especificaciones técnicas del hardware, no permite una abstracción fuera de lo estipulado para el microprocesador de un ordenador. Consecuentemente, es fácilmente trasladado a lenguaje de máquina.

La estructura de los lenguajes son como sigue:

0. Código Binario - Es el lenguaje básico, sólo admite todo (1) o nada (0). Todo sistema informático está basado en este código, ya que el 1 (todo, SÍ) quiere decir que se permite el paso de la electricidad y el 0 (nada, NO) no lo permite. Sería la forma en la que están almacenados los programas, sea en memoria, sea en dispositivos de almacenamiento. De esta forma son recibidas y ejecutadas cada una de las instrucciones por la CPU del ordenador.
1. Lenguaje Máquina - Las invocaciones a memoria, como los procesos aritméticos lógicos son posiciones literales de conmutadores físicos del hardware en su representación booleana. Estos lenguajes son literales de tareas.
2. Lenguajes ensambladores - También denominados nemotécnicos o nemónicos, no son ya programas ejecutables directamente por el ordenador, sino textos de código fuente que necesitan de alguna herramienta para su conversión a lenguaje máquina, son los programas llamados ensambladores. Sus instrucciones suelen ser una denominación abreviada de la instrucción máquina que simbolizan, y tienen una correspondencia casi directa a las instrucciones máquina que representan. El código resultante de la ejecución del programa ensamblador generaría un código binario ejecutable.
Son instrucciones que ensamblan los grupos de conmutadores necesarios para expresar una mínima lógica aritmética. Están íntimamente vinculados al hardware. Por norma general están disponibles a nivel firmware, cmos o chip set. Estos lenguajes están orientados a procesos. Los procesos se componen de tareas. Contienen tantas instrucciones como la arquitectura del hardware así haya sido diseñada.
·         Por ejemplo: La arquitectura CISC contiene muchas más instrucciones a este nivel, que la RISC.
B.   NIVEL INTERMEDIO.-  es el lenguaje de una máquina abstracta diseñada para ayudar en el análisis de los programas de computadora. El término viene de su uso en los compiladores, donde un compilador primero traduce el código fuente de un programa, en una forma más apropiada para las transformaciones de mejora del código (forma usualmente llamada bytecode), como un paso intermedio antes de generar el archivo objeto o el código máquina para una máquina específica.
Una variante del significado de "lenguaje intermedio" se da en esos lenguajes de alto nivel que no soportan o no generan un archivo objeto o código máquina, pero sí generan un lenguaje intermedio. Luego ese lenguaje intermedio se transfiere a un compilador que termina de realizar el archivo objeto o el código máquina. Esto se emplea generalmente por cuestiones de optimización y portabilidad.

C.   NIVEL ALTO.se caracteriza por expresar el algoritmo de una manera adecuada a la capacidad cognitiva humana, en lugar de la capacidad ejecutora de las máquinas. En los primeros lenguajes, la limitación era que se orientaban a un área específica y sus instrucciones requerían de una sintaxis predefinida. Se clasifican como lenguajes procedimentales o lenguajes de bajo nivel. Otra limitación de estos es que se requiere de ciertos conocimientos de programación para realizar las secuencias de instrucciones lógicas. Los lenguajes de alto nivel se crearon para que el usuario común pudiese solucionar un problema de procesamiento de datos de una manera más fácil y rápida. Por esta razón, a finales de los años 1950 surgió un nuevo tipo de lenguajes de programación que evitaba estos inconvenientes, a costa de ceder un poco en las ventajas. Estos lenguajes se llaman de tercera generación o de nivel alto, en contraposición a los de bajo nivel o de nivel próximo a la máquina.

3.    GENERACION.
GENERACIONES DE LENGUAJES DE PROGRAMACIÓN
Los equipos de ordenador (el hardware) han pasado por cuatro generaciones, de las que las tres primeras (ordenadores con válvulastransistores y circuitos integrados) están muy claras, la cuarta (circuitos integrados a gran escala) es más discutible.
Algo parecido ha ocurrido con la programación de los ordenadores (el software), que se realiza en lenguajes que suelen clasificarse en cinco generaciones, de las que las tres primeras son evidentes, mientras no todo el mundo está de acuerdo en las otras dos. Estas generaciones no coincidieron exactamente en el tiempo con las de hardware, pero sí de forma aproximada, y son las siguientes:
·         Primera generación: Los primeros ordenadores se programaban directamente en código de máquina (basado en sistema binario), que puede representarse mediante secuencias de ceros y unos sistema binario. Cada modelo de ordenador tiene su propio código, por esa razón se llama lenguaje de máquina.
·         Segunda generación: Los lenguajes simbólicos, asimismo propios de la máquina, simplifican la escritura de las instrucciones y las hacen más legibles.
·         Tercera generación: Los lenguajes de alto nivel sustituyen las instrucciones simbólicas por códigos independientes de la máquina, parecidas al lenguaje humano o al de las Matemáticas.
·         Cuarta generación: se ha dado este nombre a ciertas herramientas que permiten construir aplicaciones sencillas combinando piezas prefabricadas. Hoy se piensa que estas herramientas no son, propiamente hablando, lenguajes. Algunos proponen reservar el nombre de cuarta generación para la programación orientada a objetos.
Estos lenguajes tienen una estructura lo más parecido al idioma inglés, algunas características son:
- Acceso a base de datos.
- Capacidades Gráficas.
- Generación de código automáticamente.
- Puede programarse visualmente como Visual Basic (Programación Visual).
·         Quinta generación: se llama así a veces a los lenguajes de la inteligencia artificial, aunque con el fracaso del proyecto japonés de la quinta generación el nombre ha caído en desuso.

Antes de 1940

Los primeros lenguajes de programación preceden a la computadora moderna. En un inicio los lenguajes eran códigos.
La máquina del telar de Jacquard, creada en 1801, utilizaba los orificios en tarjetas perforadas para representar los movimientos de un brazo de la máquina de tejer, con el objetivo de generar patrones decorativos automáticamente.
Durante un período de nueve meses entre 1842 y 1843, Ada Lovelace tradujo las memorias del matemático italiano Luigi Menabrea acerca de la nueva máquina propuesta porCharles Babbage, la Máquina Analítica. Con estos escritos, ella añadió unas notas en las cuales especificaba en detalle un método para calcular los números de Bernoulli con esta máquina, el cual es reconocido por muchos historiadores como el primer programa de computadora del mundo.
Herman Hollerith se percató de que podía codificar la información en tarjetas perforadas cuando observó a los conductores de trenes codificar la apariencia de los tickets del tren con la posición de los agujeros perforados en estos. En 1890 Hollerith codificó los datos del censo en tarjetas perforadas.
Los primeros códigos de computadora estaban especializados según sus aplicaciones. En las primeras décadas del siglo 20, los cálculos numéricos estaban basados en los números decimales. Eventualmente se fueron dando cuenta que la lógica podía ser representada con números, no sólo con palabras. Por ejemplo, Alonzo Church fue capaz de expresar el cálculo lambda a través de fórmulas. La máquina de Turing estableció las bases para almacenar programas como datos en la arquitectura de von Neuman de una computadora. Sin embargo, a diferencia del cálculo lambda, el código de Turing no serviría satisfactoriamente como base pardsafsadfasfdsaa lenguajes de más alto nivel- su principal uso es en el análisis riguroso en la complejidad algorítmica.
Como muchos “primeros” en la historia, el primer lenguaje de programación moderno es difícil de identificar. Desde un inicio, las restricciones de hardware definían el lenguaje. Las tarjetas perforadas permitían 80 columnas, pero algunas de estas serían utilizadas para una clasificación de cada tarjeta. FORTRAN incluía algunas palabras reservadas provenientes del Inglés, como “IF”, “GOTO” (go to) y “CONTINUE”. El uso del tambor magnético para la memoria implicaba que los programas informáticos tuvieran que estar intercalados con las rotaciones del tambor. Por lo tanto los programas eran muy dependientes del hardware.
Para algunas personas, lo que sería el primer lenguaje de programación moderno depende de cuánto poder y legibilidad humana se requería antes de que se concediera el estado de "lenguaje de programación". Tanto el telar de Jacquard como la Máquina Diferencial de Babbage, tenían lenguajes muy simples y extremadamente limitados para describir las acciones que estas máquinas realizaran. Se puede incluso considerar los agujeros perforados en los rollos de pianola como un limitado lenguaje de dominio específico, a pesar de no estar diseñado para el consumo humano.

Los años 40

En la década de 1940 fueron creadas las primeras computadoras modernas, con alimentación eléctrica. La velocidad y capacidad de memoria limitadas forzaron a los programadores a escribir programas, en lenguaje ensamblador muy afinados. Finalmente se dieron cuenta de que la programación en lenguaje ensamblador requería de un gran esfuerzo intelectual y era muy propensa a errores.
En 1948, Konrad Zuse publicó un artículo acerca de su lenguaje de programación Plankalkül. Sin embargo, no fue implementado en su vida y sus contribuciones fueron aisladas de otros desarrollos.
Entre algunos lenguajes importantes que fueron desarrollados en este período se encuentran:
·         1943 - Plankalkül (Konrad Zuse), diseñado, pero sin implementar durante medio siglo
·         1943 - el sistema de codificación ENIAC.
·         1949 - 1954 -- una serie de conjuntos de instrucciones nemotécnicas, como la de ENIAC, comenzando en 1949 con C-10 para BINAC (que luego evolucionaría en UNIVAC). Cada conjunto de instrucciones estaba destinado a un fabricante específico.

Las décadas de 1950 y 1960

En los cincuenta, los tres primeros lenguajes de programación modernos, cuyos descendientes aún continúan siendo utilizados, son:
·         FORTRAN (1955), creado por John Backus et al.;
·         LISP (1958), creado por John McCarthy et al.;
·         COBOL (1959), creado por el Short Range Committee, altamente influenciado por Grace Hopper.
Otro hito a finales de 1950 fue la publicación, por un comité Americano y Europeo de científicos de la computación, de un nuevo “lenguaje para algoritmos”; el Reporte deALGOL 60 ("ALGOrithmic Language"). Este reporte consolidó muchas ideas que estaban circulando en aquel entonces, y proporcionó dos innovaciones importantes para los lenguajes de programación:
·         Estructuras de bloques anidadas: las secuencias de código y las declaraciones asociadas se pueden agrupar en bloques sin tener que pertenecer explícitamente a procedimientos separados;
·         Ámbito léxico: un bloque puede tener sus propias variables, procedimientos y funciones, invisible al código fuera de dicho bloque, por ejemplo, ocultamiento de información.
Otra innovación, relacionada con esto, fue cómo el lenguaje fue descrito:
·         Una notación matemática exacta, Backus-Naur Form (BNF), fue utilizada para describir la sintaxis del lenguaje. Todos los subsecuentes lenguajes de programación han utilizado una variante de BNF para describir la porción libre del contexto de su sintaxis.
Algol 60 influenció particularmente en el diseño de lenguajes posteriores, de los cuales algunos se hicieron más populares. Los grandes sistemas de Burroughs fueron diseñados para ser programados en un subconjunto extendido de Algol.
Las ideas fundamentales de Algol se continuaron, produciendo Algol 68:
·         la sintaxis y la semántica se hizo aún más ortogonal, con rutinas anónimas, un sistema de tipificación recursiva con funciones de orden superior, etc.;
·         y no sólo la parte libre del contexto, sino que tanto la sintaxis como la semántica del lenguaje completo fueron definidos formalmente, en términos de una gramática de Van Wijngaarden, un formalismo diseñado específicamente para este propósito.
Las variadas pero poco usadas características de Algol 68 (por ejemplo, bloques simultáneos y paralelos) y su complejo sistema de atajos sintácticos y coerciones automáticas de tipo lo hicieron impopular entre los ejecutores y se ganó una reputación de ser difícil. Niklaus Wirth salió del comité de diseño para crear el sencillo lenguaje Pascal.
Algunos de los lenguajes importantes que fueron desarrollados en este período incluyen:
·         1951 - Regional Assembly Language
·         1952 - Autocode
·         1954 - IPL (precursor de LISP)
·         1955 - FLOW-MATIC (precursor de COBOL)
·         1957 - FORTRAN (primer compilador)
·         1957 - COMTRAN (precursor de COBOL)
·         1958 - LISP
·         1958 - ALGOL 58
·         1959 - FACT (precursor de COBOL)
·         1959 - COBOL
·         1959 - RPG
·         1962 - APL
·         1962 - Simula
·         1962 - SNOBOL
·         1963 - CPL (precursor de C)
·         1964 - BASIC
·         1964 - PL/I
·         1967 - BCPL (precursor de C)

1968-1979: estableciendo paradigmas fundamentales

El período comprendido entre finales de 1960 y finales de 1970 trajo un gran florecimiento de lenguajes de programación. La mayoría de los paradigmas de lenguajes de programación más importantes y actualmente en uso se inventaron en este período:
·         Simula, inventado en la década de 1960 por Nygaard y Dahl como un superconjunto de Algol 60, fue el primer lenguaje diseñado para apoyar la programación orientada a objetos.
·         C, en principio un lenguaje de programación sistemas, fue desarrollado por Dennis Ritchie y Ken Thompson en los Laboratorios Bell entre 1969 y 1973.
·         Smalltalk (mediados de los 70) proporcionaron un completo diseño de un lenguaje orientado a objetos.
·         Prolog, diseñado en 1972 por Colmerauer, Roussel y Kowalski, fue el primer lenguaje de programación lógica.
·         ML construyó un sistema de tipos polimórfico (inventado por Robin Milner en 1973) en el tope de Lisp, pionero en los lenguajes funcionales de programación con tipado estático.
Cada uno de estos lenguajes generó toda una familia de descendientes, y los lenguajes más modernos cuentan al menos uno de ellos en su ascendencia.
En los años 60 y 70 también suscitó un debate considerable sobre los méritos de la "programación estructurada", que esencialmente significaba programación sin el uso deGOTO. Este debate estaba estrechamente relacionado con el diseño del lenguaje: algunos lenguajes no incluían GOTO, lo que obligó a la programación estructurada en el programador. Aunque el debate se recrudecía acaloradamente en ese momento, casi todos los programadores están de acuerdo en que, incluso en lenguajes que ofrecen GOTO, es una mala práctica de programación usarlo, excepto en raras circunstancias. Como resultado de ello, las generaciones posteriores de diseñadores de lenguajes han encontrado el debate sobre programación estructurada tedioso e incluso desconcertante.
Algunos lenguajes importantes que se desarrollaron en este período fueron:
·         1968 - Logo
·         1969 - B (precursor C)
·         1970 - Pascal
·         1970 - Forth
·         1972 - C
·         1972 - Smalltalk
·         1972 - Prolog
·         1973 - ML
·         1975 - Scheme
·         1978 - SQL (inicialmente sólo un lenguaje de consulta, posteriormente ampliado con construcciones de programación)

La década de 1980: consolidación, módulos, rendimiento

La década de 1980 fueron años de consolidación relativa en los lenguajes imperativos. En vez de inventar nuevos paradigmas, se comenzó a trabajar a partir de las ideas inventadas en la década anterior. C++ combinaba la programación orientada a objetos y la programación de sistemas. El gobierno de Estados Unidos estandarizó Ada, un lenguaje de programación de sistemas destinado a ser utilizado por contratistas de defensa. En Japón y en otras partes, se gastaron enormes sumas investigando los llamadoslenguajes de programación de quinta generación que incorporaban construcciones de la programación lógica. La comunidad de los lenguajes funcionales llevaron a cabo la estandarización de ML y Lisp. La investigación en Miranda, un lenguaje funcional, con evaluación perezosa, comenzó a tomar fuerza en esta década.
Una nueva tendencia importante en el diseño de lenguajes era un mayor enfoque en la programación de sistemas a gran escala a través del uso de módulos, una organización a gran escala de unidades de código. Modula, Ada, y ML desarrollaron sistemas de módulos notables en la década de 1980. Los sistemas de módulos eran relacionados con frecuencia con construcciones de programación genéricas, que serían, en esencia, módulos parametrizados (véase también polimorfismo en programación orientada a objetos).
Aunque no aparecían nuevos paradigmas de lenguajes de programación imperativos, muchos investigadores expandieron las ideas de los lenguajes anteriores y las adaptaron a nuevos contextos. Por ejemplo, los lenguajes de los sistemas Argus y Emerald adaptaron la programación orientada a objetos para sistemas distribuidos.
La década de 1980 también trajo avances en la implementación de lenguajes de programación. El movimiento de RISC en la arquitectura de computadoras postulaba que el hardware debía estar diseñado para los compiladores más que para los programadores de ensamblador humanos. Con la ayuda de las mejoras en la velocidad del procesador, permitiendo técnicas de compilación cada vez más agresivas, el movimiento RISC despertó un mayor interés en la tecnología de compilación de los lenguajes de alto nivel.
Las tecnologías de los lenguajes continuaron sobre estas líneas entrando en la década de 1990.
Algunos lenguajes importantes que se desarrollaron en este período son:
·         1980 - C++ (C con clases, el nombre cambió en julio de 1983)
·         1983 - Ada
·         1984 - Common Lisp
·         1984 - MATLAB
·         1985 - Eiffel
·         1986 - Objective-C
·         1986 - Erlang
·         1987 - Perl
·         1988 - Tcl
·         1988 - Mathematica
·         1989 - FL (Backus);

La década de 1990: la era de Internet

El rápido crecimiento de Internet en la década de 1990 fue el siguiente gran acontecimiento histórico para los lenguajes de programación. Con la apertura de una plataforma totalmente nueva para los sistemas informáticos, Internet creó una oportunidad adoptar nuevos lenguajes. En particular, el lenguaje de programación Java se hizo popular debido a su pronta integración con el navegador web Netscape Navigator, y varios lenguajes de scripting alcanzaron un amplio uso en el desarrollo de aplicaciones personalizadas para servidores web. La década de 1990 no vio ninguna novedad fundamental en los lenguajes imperativos, pero sí mucha recombinación y la maduración de viejas ideas. Esta era comenzó la difusión de los lenguajes funcionales. Una filosofía de conducción grande era la productividad del programador. Surgieron muchos lenguajes de “aplicaciones de desarrollo rápido” (RAD), los cuales usualmente venían con un IDE, recolector de basura, y eran descendientes de lenguajes anteriores. Todos estos lenguajes eran orientados a objeto. Estos incluían Object Pascal, Visual Basic y Java. Java, en particular, recibió mucha atención. Pero más radicales e innovadores que los lenguajes de RAD eran los nuevos lenguajes de script. Estos no descendían directamente de otros lenguajes y ofrecieron nuevas sintaxis e incorporación más liberal de otras características. Muchos consideran estos lenguajes de script más productivos que los lenguajes de RAD, aunque esto se debe a menudo a que es más difícil escribir y mantener largos programas que pequeños programas simples. Sin embargo, no es menos cierto que los programas de script llegaron para convertirse en los más prominentes en la conexión con la Web.
Algunos lenguajes importantes que se desarrollaron en este período son:
·         1990 - Haskell
·         1991 - Python
·         1991 - Visual Basic
·         1991 - HTML (lenguaje de marcado de hipertexto)
·         1993 - Ruby
·         1993 - Lua
·         1994 - CLOS (parte del ANSI Common Lisp)
·         1995 - Java
·         1995 - Delphi (Object Pascal)
·         1995 - JavaScript
·         1995 - PHP
·         1996 - WebDNA
·         1997 - Rebol
·         1999 - D

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.
·         Metaprogramación, la reflexión o el acceso al árbol de sintaxis abstracta.
·         Mayor énfasis en cuanto a distribución y movilidad.
·         Integración con bases de datos, incluyendo XML y bases de datos relacionales.
·         Soporte para Unicode para que el código fuente (texto del programa) no se limite sólo a los caracteres contenidos en el conjunto de caracteres ASCII, permitiendo, por ejemplo, el uso de caracteres no latinos basados en guiones o signos de puntuación extendidos.
·         XML para interfaz gráfica (XUL, XAML).
·         El código abierto como una filosofía de desarrollo de lenguajes, incluyendo la colección de compiladores de GNU y lenguajes recientes, como Python, Ruby, y Squeak.
·         Programación Orientada a Aspectos (AOP).
·         Lenguajes que soporten programar sobre los procesadores de la GPU en paralelo, como OpenCL.
Algunos lenguajes importantes desarrollados durante este período incluyen:
·         2000 - ActionScript
·         2001 - C#
·         2001 - Visual Basic .NET
·         2002 - F#
·         2003 - Groovy
·         2003 - Scala
·         2003 - Factor
·         2007 - Clojure
·         2009 - Go
·         2011 - Dart
El LENGUAJE ENSAMBLADOR, o assembler (en inglés assembly language y la abreviación asm), es unlenguaje de programación de bajo nivel. Consiste en un conjunto de mnemónicos que representan instrucciones básicas para los computadores, microprocesadores, microcontroladores y otros circuitos integrados programables. Implementa una representación simbólica de los códigos de máquina binarios y otras constantes necesarias para programar una arquitectura de processador y constituye la representación más directa del código máquina específico para cada arquitectura legible por un programador. Cadaarquitectura de processador tiene su propio lenguaje ensamblador que usualmente es definida por el fabricante de hardware, y está basada en los mnemónicos que simbolizan los pasos de procesamiento (lasinstrucciones), los registros del procesador, las posiciones de memoria y otras características del lenguaje. Un lenguaje ensamblador es por lo tanto específico de cierta arquitectura de computador física (o virtual). Esto está en contraste con la mayoría de los lenguajes de programación de alto nivel, que idealmente sonportátiles.
Un programa utilitario llamado ensamblador es usado para traducir sentencias del lenguaje ensamblador al código de máquina del computador objetivo. El ensamblador realiza una traducción más o menos isomorfa (un mapeo de uno a uno) desde las sentencias mnemónicas a las instrucciones y datos de máquina. Esto está en contraste con los lenguajes de alto nivel, en los cuales una sola declaración generalmente da lugar a muchas instrucciones de máquina.
Lenguajes orientados a problemas

Resultan más eficaces para la resolución de un tipo de problemas a costa de una menor eficiencia para otros. Requieren poca capacitación especial de parte del usuario Son considerados de muy alto nivel Diseñados para resolver problemas específicos

Incluye: lenguajes de consulta y generador de aplicaciones.

Lenguajesdeconsulta:
Permiten a no programadores usar ciertos comandos de fácil comprensión para la búsqueda y generación de reportes a partir de una base de datos.

Generadordeaplicaciones:
Quiere decir que cuando se diseña uno de estos lenguajes, se tiene en cuenta que su finalidad es la resolución de problemas, prescindiendo de la arquitectura del computador. Contiene varios módulos que han sido preprogramados para cumplir varias tareas.

Lenguaje orientado a objetos

Se le llama así a cualquier lenguaje de programación que implemente los conceptos definidos por la programación orientada a objetos.
Cabe notar que los conceptos definidos en la programación orientada a objetos no son una condición sino que son para definir que un lenguaje es orientado a objetos. Existen conceptos que pueden estar ausentes en un lenguaje dado y sin embargo, no invalidar su definición como lenguaje orientado a objetos.
Quizás las condiciones mínimas necesarias las provee el formalismo que modeliza mejor las propiedades de un sistema orientado a objetos: los tipos de datos abstractos.
Siguiendo esa idea, cualquier lenguaje que permita la definición de tipos de datos, de operaciones nuevas sobre esos tipos de datos, y de instanciar el tipo de datos podría ser considerado orientado a objetos.
Esta definición concuerda incluso con ciertos ejemplos prácticos, que no son considerados dentro de la programación orientada a objetos, pero que podrían serlo. Por ejemplo, la programación de interfaces gráficas de usuario para los sistemas X utilizando infraestructuras de funciones y APIs como Motif, Xview y Xlib, son realizadas usualmente en lenguaje C, pero organizando el código en una manera que "parecen objetos" (los Widgets).
    II.        RESUMEN
Los lenguajes de programación son herramientas que nos permiten crear programas y software. Entre ellos tenemos Delphi, Visual Basic, Pascal, Java, etc..
Una computadora funciona bajo control de un programa el cual debe estar almacenado en la unidad de memoria; tales como el disco duro.
Los lenguajes de programación de una computadora en particular se conocen como código de máquinas o lenguaje de máquinas. Estos lenguajes codificados en una computadora específica no podrán ser ejecutados en otra computadora diferente. Para que estos programas funcionen para diferentes computadoras hay que realizar una versión para cada una de ellas, lo que implica el aumento del costo de desarrollo.
Por otra parte, los lenguajes de programación en código de máquina son verdaderamente difíciles de entender para una persona que no conoce ningún lenguaje de programación, ya que están compuestos de códigos numéricos sin sentido nemotécnico.
Los lenguajes de programación facilitan la tarea de programación, ya que disponen de formas adecuadas que permiten ser leidas y escritas por programadores, a su vez resultan independientes del modelo de computador a utilizar. Los lenguajes de programación son independientes de las computadoras a utilizar.
Existen estrategias que permiten ejecutar en una computadora un programa realizado en un lenguaje de programación simbólico. Los procesadores del lenguaje son los programas que permiten el tratamiento de la información en forma de texto, representada en los lenguajes de programación simbólicos.

   III.        SUMMARY
Programming languages ​​are tools that allow us to create programs and software. Among them Delphi, Visual Basic, Pascal, Java, etc ..
A computer operates under control of a program which must be stored in the memory unit; such as the hard disk.
Programming languages ​​of a particular computer code known as machines or machine language. These encoded in a specific computer languages ​​may not be executed on a different computer. To make these programs work for different computers have to make a version for each of them, which involves increasing the development cost.
Moreover, programming languages ​​into machine code are truly difficult to understand for a person who does not know any programming language, as they are composed of numerical codes without mnemonic sense.
Programming languages ​​facilitate programming task, as they have suitable shapes which can be read and written by programmers in turn are independent of the computer model used. Programming languages ​​are independent of computers to use.
There are strategies that allow you to run a program on a computer made in a symbolic programming language. Language processors are programs that allow processing information in text form, represented in symbolic programming languages.

  IV.        RECOMENDACIONES.
·         Con los lenguaje de programación de puede resolver un problema real.
·         Lee buenos libros y cuida siempre hacer buenas prácticas de programación
·         Tomate tu tiempo en elegir el lenguaje o la tecnología que más se ajusta a las necesidades de tu proyecto.
   V.        CONCLUCIONES.
·         los lenguajes de programación es precisamente que más de un programador pueda usar un conjunto común de instrucciones que sean comprendidas entre ellos para realizar la construcción de un programa de forma colaborativa.
·         Lenguaje de programación es un conjunto de instrucciones que se utiliza para el procesamiento en un ordenador.
·         Los lenguajes de programación surgen de la idea de Charles Labagge, en el siglo XIX, los cuales han sido evolucionando a través del tiempo, donde ahora los lenguajes de programación se especula que sean más de 200.
  VI.        APRECIACION DE EQUIPO
Como equipo de trabajo podemos decir que un lenguaje de programación" es un lenguaje diseñado para describir el conjunto de acciones consecutivas que un equipo debe ejecutar.
Por lo tanto, un lenguaje de programación es un modo práctico para que los seres humanos puedan dar instrucciones a un equipo.
 VII.        GLOSARIO DE TERMINOS

Algoritmo. Define algoritmo como un conjunto ordenado y finito de operaciones que permite hallar la solución de un problema. Método y notación en las distintas fórmulas del cálculo. El algoritmo constituye un método para resolver un problema mediante una secuencia de pasos a seguir.

Sintáctica. Se denomina función sintáctica al papel que desempeña una palabra o morfema o constituyente sintáctico dentro de una construcción sintáctica que la incluye o, más precisamente, a todas las relaciones de combinación o relaciones sintagas que una palabra mantiene con los demás vocablos de un contexto.

Semántica. El término semántica se refiere a los aspectos del significado, sentido o interpretación de signos lingüísticos como símbolos, palabras, expresiones o representaciones formales.

compilación . Es el proceso por el cual se traducen las instrucciones escritas en un determinado lenguaje de programación a lenguaje máquina. Además de un traductor, se pueden necesitar otros programas para crear un programa objeto ejecutable.

Depuración de programas es el proceso de identificar y corregir errores de programación. En inglés se le conoce como debugging, es que se asemeja a la eliminación de bichos (bugs), manera en que se conoce informalmente a los errores de programación. 

VIII.        BIBLIOGRAFIA O LINKOGRAFIA




No hay comentarios:

Publicar un comentario