Ocumare del Tuy, 11 de Julio del 2014 Lenguaje de Programacin Definiciones Lenguaje de programacin, en informtica, cualquier lenguaje artificial que puede utilizarse para definir una secuencia de instrucciones para su procesamiento por un ordenador o computadora. Es complicado definir qu es y qu no es un lenguaje de programacin. Se asume generalmente que la traduccin de las instrucciones a un cdigo que comprende la computadora debe ser completamente sistemtica. Normalmente es la computadora la que realiza la traduccin. Un lenguaje de programacin es una notacin para escribir programas, a travs de los cuales podemos comunicarnos con el hardware y dar as las rdenes adecuadas para la realizacin de un determinado proceso. Un lenguaje est definido por una gramtica o conjunto de reglas que se aplican a un alfabeto constituido por el conjunto de smbolos utilizados. Los distintos niveles de programacin existentes nos permiten acceder al hardware, de tal forma que segn utilicemos un nivel u otro, as tendremos que utilizar un determinado lenguaje ligado a sus correspondientes traductores. Conjunto de normas lingsticas (palabras y smbolos) que permiten escribir un programa y que ste sea entendido por el ordenador y pueda ser trasladado a ordenadores similares para su funcionamiento en otros sistemas.
Clasificacin De Los Lenguajes De Programacin Lenguaje Mquina: El lenguaje mquina es el nico que entiende directamente la computadora, ya que est escrito en lenguajes directamente inteligibles por la mquina (computadora), utiliza el alfabeto binario, que consta de los dos nicos smbolos 0 y 1, denominados bits (abreviatura inglesa de dgitos binarios). Sus instrucciones son cadenas binarias (cadenas o series de caracteres de dgitos 0 y 1) que especifican una operacin y, las posiciones (direccin) de memoria implicadas en la operacin se denominan instrucciones de mquina o cdigo mquina. Fue el primer lenguaje utilizado en la programacin de computadoras, pero dejo de utilizarse por su dificultad y complicacin, siendo sustituido por otros lenguajes ms fciles de aprender y utilizar, que adems reducen la posibilidad de cometer errores. El lenguaje mquina es el conocido cdigo binario. Generalmente, en la codificacin de los programas se empleaba el sistema hexadecimal para simplificar el trabajo de escritura. Todas las instrucciones preparadas en cualquier lenguaje mquina tienen por lo menos dos partes. La primera es el comando u operacin, que dice a las computadoras cual es la funcin que va a realizar. Todas las computadoras tienen un cdigo de operacin para cada una de las funciones. La segunda parte de la instruccin es el operando, que indica a la computadora donde hallar o almacenar los datos y otras instrucciones que se van a manipular, el nmero de operndoos de una instruccin varia en distintas computadoras. Ventajas del lenguaje mquina: posibilidad de cargar (transferir un programa a la memoria) sin necesidad de traduccin posterior, lo que supone una velocidad de ejecucin superior a cualquier otro lenguaje de programacin. Desventajas del lenguaje mquina: dificultad y lentitud en la codificacin. Poca fiabilidad. Gran dificultad para verificar y poner a punto los programas. Los programas solo son ejecutables en el mismo procesador (CPU). En la actualidad, las desventajas superan a las ventajas, lo que hace prcticamente no recomendables a los lenguajes mquina. Lenguajes De Bajo Nivel: Son ms fciles de utilizar que los lenguajes mquina, pero al igual que ellos, dependen de la mquina en particular. El lenguaje de bajo nivel por excelencia es el ensamblador. El lenguaje ensamblador es el primer intento de sustituir el lenguaje maquina por otro ms similar a los utilizados por las personas. El lenguaje de bajo nivel es el lenguaje de programacin que el ordenador puede entender a la hora de ejecutar programas, lo que aumenta su velocidad de ejecucin, pues no necesita un intrprete que traduzca cada lnea de instrucciones. Ventajas del lenguaje ensamblador frente al lenguaje mquina: Mayor facilidad de codificacin y, en general, su velocidad de clculo, ahorran tiempo y requieren menos atencin a detalles. Se incurren en menos errores y los que se cometen son ms fciles de localizar. Desventajas del lenguaje ensamblador: Dependencia total de la maquina lo que impide la transportabilidad de los programas (posibilidad de ejecutar un programa en diferentes mquinas). El lenguaje ensamblador del PC es distinto del lenguaje ensamblador del Apple Machintosh. La formacin de los programadores es ms compleja que la correspondiente a los programadores de alto nivel, ya que exige no solo las tcnicas de programacin, sino tambin el conocimiento del interior de la maquina El programador ha de conocer perfectamente el hardware del equipo, ya que maneja directamente las posiciones de memoria, registros del procesador y dems elementos fsicos. Todas las instrucciones son elementales, es decir, en el programa se deben describir con el mximo detalle todas las operaciones que se han de efectuar en la mquina para la realizacin de cualquier proceso. Lenguaje ensamblador (le): Este intenta flexibilizar la representacin de los diferentes campos, esa flexibilidad se consigue no escribiendo los campos en binario y aproximando la escritura al lenguaje Lenguajes De Alto Nivel: Estos lenguajes son los mas utilizado por los programadores. Estn diseados para que las personas escriban y entiendan los programas de un modo mucho mas fcil que los lenguajes mquina y ensamblador. Incluir rutinas de uso frecuente, como las de entrada / salida, funciones matemticas, manejo de tablas, etc., que figuran en una especie de librera del lenguaje, de manera que se puedan utilizar siempre que se quiera sin necesidad de programarlas cada vez.
Ventajas de los lenguajes de alto nivel: el tiempo de formacin de los programadores es relativamente corto comparado con otros lenguajes. La escritura de programas se basa en reglas sintcticas similares a los lenguajes humanos, nombres de las instrucciones tales como READ, WRITE, PRINT, OPEN, etc. Las modificaciones y puestas a punto de los programas son ms fciles. Reduccin del costo de los programas. Transportabilidad. Permiten tener una mejor documentacin. Son ms fciles de mantener. Por lo general se piensa que los ordenadores son mquinas que realizan tareas de clculos o procesamiento de textos. La descripcin anterior es slo una forma muy esquemtica de ver una computadora. Hay un alto nivel de abstraccin entre lo que se pide a la computadora y lo que realmente comprende. Existe tambin una relacin compleja entre los lenguajes de alto nivel y el cdigo mquina. Los lenguajes de alto nivel son normalmente fciles de aprender porque estn formados por elementos de lenguajes naturales, como el ingls. En BASIC, el lenguaje de alto nivel ms 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 rgida y sistemtica. Desventajas de los lenguajes de alto nivel: incremento del tiempo de puesta a punto al necesitarse diferentes traducciones del programa fuente para conseguir el programa definitivo. No se aprovechan los recursos internos de la mquina que se explotan mucho mejor en lenguajes mquina y ensambladores. Aumento de la ocupacin de memoria. El tiempo de ejecucin de los programas es mucho mayor. Se puede decir que el principal problema que presentan los lenguajes de alto nivel es la gran cantidad de ellos que existen actualmente en uso, adems de las diferentes versiones o dialectos que se han desarrollado de algunos de ellos. Es difcil establecer una clasificacin general de los mismos, ya que en cualquiera que se realice habr lenguajes que pertenezcan a ms de uno de los grupos establecidos. Una clasificacin muy extendida, atendiendo a la forma de trabajar de los programas y a la filosofa con que fueron concebidos, es la siguiente: Lenguajes imperativos. Utilizan instrucciones como unidad de trabajo de los programas (Cobol, Pascal, C, Ada). Lenguajes declarativos. Los programas se construyen mediante descripciones de funciones o expresiones lgicas (Lisp, Prolog). Lenguajes orientados a objetos. El diseo de los programas se basa mas en los datos y su estructura. La unidad de proceso es el objeto y en el se incluyen los datos (variables) y las operaciones que actan sobre ellos (Smalltalk, C++). Lenguajes orientados al problema. Diseados para problemas especficos, principalmente de gestin, suelen ser generadores de aplicaciones.
Lenguajes naturales. Estn desarrollndose nuevos lenguajes con el principal objetivo de aproximar el diseo y construccin de programas al lenguaje de las personas. Otra clasificacin que se puede hacer es la de atendiendo al desarrollo de los lenguajes desde la aparicin de las computadoras, que sigue un cierto paralelismo con las generaciones establecidas en la evolucin de las mismas: Primera generacin. Lenguajes mquina y ensambladores. Segunda generacin. Primeros lenguajes de alto nivel imperativo (FROTRAN, COBOL). Tercera generacin. Lenguajes de alto nivel imperativo. Son los ms utilizados y siguen vigentes en la actualidad (ALGOL 8, PL/I, PASCAL, MODULA). Cuarta generacin. Orientados bsicamente a las aplicaciones de gestin y al manejo de bases de datos (NATURAL, SQL). Quinta generacin. Orientados a la inteligencia artificial y al procesamiento de los lenguajes naturales (LISP, PROLOG). Para la mejor compresin se harn unas definiciones: Programa: es un conjunto de instrucciones escritas en un lenguaje de programacin que indican a la computadora la secuencia de pasos, para resolver un problema. Cdigo fuente: esta creado en algn lenguaje de alto nivel, por lo que es entendido 100% por el ser humano. Este debe estar complementado por su documentacin o manuales donde se indica el desarrollo lgico del mismo. Cdigo objeto: es creado por los compiladores y nos sirve como enlace entre el programa fuente y el ejecutable. Traductores de Lenguaje Un traductor es un programa que recibe como entrada cdigo escrito en un cierto lenguaje y produce como salida cdigo en otro lenguaje, generalmente el lenguaje de entrada es de ms alto nivel que el de salida, por ejemplo, los traductores son los ensambladores y los compiladores. Intrpretes y compiladores La traduccin de una serie de instrucciones en lenguaje ensamblador (el cdigo fuente) a un cdigo mquina (o cdigo objeto) no es un proceso muy complicado y se realiza normalmente por un programa especial llamado compilador. La traduccin de un cdigo fuente de alto nivel a un cdigo mquina tambin se realiza con un compilador, en este caso ms complejo, o mediante un intrprete. Un compilador crea una lista de instrucciones de cdigo mquina, el cdigo objeto, basndose en un cdigo fuente. El cdigo objeto resultante es un programa rpido y listo para funcionar, pero que puede hacer que falle el ordenador si no est bien diseado. Los intrpretes, por otro lado, son ms lentos que los compiladores ya que no producen un cdigo objeto, sino que recorren el cdigo fuente una lnea cada vez. Cada lnea se traduce a cdigo mquina y se ejecuta. Cuando la lnea se lee por segunda vez, como en el caso de los programas en que se reutilizan partes del cdigo, debe compilarse de nuevo. Aunque este proceso es ms lento, es menos susceptible de provocar fallos en la computadora. A continuacin se presentan las diferentes conclusiones de cada participante en la investigacin; Conclusin Se podran simplificar tan complejas teoras de lenguajes de programacin como traductores unificadores de criterios que unen en una sola simbologa una toma de decisin a travs de un hardware, esta herramienta basndose en un conjunto de normas lingsticas nos permite ingresar o consentir al computador una orden y que este mediante un alfabeto constituido nos permita o le permita al programador completar una tarea determinada. Pedro Belisario C.I. 15.039.640 Un lenguaje de programacin es un conjunto de smbolos y reglas sintcticas y semnticas que definen su estructura y el significado de sus elementos y expresiones, y es utilizado para controlar el comportamiento fsico y lgico de una mquina. La programacin es evidentemente una de las reas profesionales que ms ha aumentado en popularidad durante los ltimos aos. Esto se debe por supuesto al rpido crecimiento que ha tenido Internet y en general el mundo de las tecnologas de la comunicacin. Por ello cada vez son ms los interesados en aprender lenguajes de programacin ya que estas son herramientas que ayudan en el camino de cualquier profesional. Cada ao o cada mes salen nuevas tecnologas al mercado de la informtica por ejemplo pasar de transistores inmensos a pequeos transistores del tamao un poco ms grande que un alfiler Por estos motivos es donde se tiene que aplicar los lenguajes de programacin siendo cada vez ms avanzados y con ms funciones para un correcto funcionamiento de una aplicacin, server, pgina web entre otros. Jheallee Gmez C.I. 17.429.237 El lenguaje de programacin es un lenguaje diseado para expresar procesos que pueden ser llevados a cabo por las computadoras, est formado por un conjunto de smbolos y reglas que definen su estructura y el significado de sus elementos. La palabra programacin se define como el proceso de creacin de un programa de computadora, mediante la aplicacin de procesos lgicos. Los lenguajes de programacin se pueden clasificar de acuerdo con diversos criterios. El criterio ms simple que se puede considerar hace referencia a la proximidad del lenguaje con la mquina o con el lenguaje natural. De acuerdo con este criterio, existen tres niveles: Lenguajes de bajo nivel: Lenguajes mquina. Lenguajes de nivel medio: Lenguajes ensambladores y macroensambladores. Lenguajes de alto nivel: Son los lenguajes usados por los programadores y estn diseados para que el ser humano lo entienda. Mi conclusin es que sin el lenguaje de programacin no habra muchas cosas de la cual conocemos hoy en da, ya que sin estos no podran haberse desarrollado las aplicaciones, pginas web, juegos, entre otros, los cuales utilizamos a diario. Jenypher Martnez C.I. 19.829.355 Lenguaje de programacin. El lenguaje de programacin es utilizado para controlar el comportamiento tanto fsico como lgico de una mquina y yo, Wilmer Palacios, lo defino como la agrupacin de determinadas reglas sintcticas y semnticas bien estructuradas y diseado para mantener el control de las mquinas. Entindase por sintaxis las reglas que indican como construir el lenguaje; y semntica las que definen el significado del mismo lenguaje. Los lenguajes de programacin se clasifican en: Lenguaje de bajo nivel: Es como decir el lenguaje original, el primero que usa la mquina ya que ordena a la mquina las operaciones fundamentales para su funcionamiento. Por esta razn es netamente dependiente de la misma y no se puede utilizar en otras mquinas. Lenguajes de alto nivel: Es el lenguaje diseado para solucionar problemas mediante la estructura dinmica de datos que sean capaz de adaptarse a las necesidades reales de un programa. Son lenguajes independientes que se pueden pasar de una mquina a otra sin ningn problema. Por otro lado, existen los llamados lenguajes de traduccin. Estos se dividen en: Interpretes. Compiladores. Intrpretes: Son los que se encargan de procesar los programas paso por paso y proporcionan la traduccin al momento de ejecutar las instrucciones. Es un traductor de lenguajes de alto nivel. Compiladores: Son los que se encargan de traducir los programas fuente escritos en lenguaje de alto nivel a lenguaje mquina. La funcin de los lenguajes de traduccin es muy simple, se trata de convertir el cdigo de un lenguaje en otro. Palacios Wilmer C.I. 22.798.877 Mediante la tcnica aprendida en el presente trabajo podemos establecer una solucin primitiva de un problema real, tan solo con relacionarlo con objetos lgicos que sern usados para el desarrollo del software. Podemos dar a conocer de una forma sencilla los mecanismos que se usan en este nivel de programacin, a personas que deseen una explicacin rpida y sencilla de lo que es el lenguaje de programacin, tenemos los conocimientos necesarios como para enfrentar un problema real y desarrollo en otro lenguaje de programacin, pues concebimos la idea de que el lenguaje C es la base de la programacin. Al trabajar con el lenguaje de programacin desarrollado en otras plataformas de programacin o en lenguaje, sabemos las formas de lograr un mejor rendimiento del equipo a controlar y aplicar soluciones sencillas, de manera que sea fcilmente digerible para el usuario y/o destinatario del trabajo final. Tambin se puede ver que el lenguaje de programacin es aquel elemento dentro de la informtica que nos permite crear programas mediante un conjunto de instrucciones, operadores y reglas de sintaxis; que pone a disposicin del programador para que este pueda comunicarse con los dispositivos hardware y software existentes. Albeiro Ortiz C.I. 23.614.715 El lenguaje de programacin es la notacin para escribir programas, la cual podemos comunicarnos con el hardware y dale las rdenes para la realizacin de un determinado programa. Los programas estn determinados por un conjunto de reglas que se le aplican a un alfabeto constituido por conjuntos de smbolos utilizados. Existen varios niveles de programacin que nos permiten acceder al hardware de cualquier forma que utilicemos un nivel, tendremos que utilizar un lenguaje ligado a sus correspondientes traductores. Los lenguajes de programacin se clasifican en: Lenguaje Mquina es el nico que entiende directamente la computadora, ya que est escrito en lenguajes directamente inteligibles por la mquina (computadora), utiliza el alfabeto binario, que consta de los dos nicos smbolos 0 y 1, denominados bits (abreviatura inglesa de dgitos binarios). Las ventajas del lenguaje mquina posibilidad de cargar (transferir un programa a la memoria) sin necesidad de traduccin posterior, lo que supone una velocidad de ejecucin superior a cualquier otro lenguaje de programacin. Las desventajas del lenguaje mquina son la dificultad y lentitud en la codificacin. Poca fiabilidad. Gran dificultad para verificar y poner a punto los programas. Los programas solo son ejecutables en el mismo procesador (CPU). Lenguajes De Bajo Nivel es el lenguaje de programacin que el ordenador puede entender a la hora de ejecutar programas, lo que aumenta su velocidad de ejecucin, pues no necesita un intrprete que traduzca cada lnea de instrucciones. Lenguaje ensamblador este intenta flexibilizar la representacin de los diferentes campos, esa flexibilidad se consigue no escribiendo los campos en binario y aproximando la escritura al lenguaje Lenguajes De Alto Nivel son los ms utilizados por los programadores. Estn diseados para que las personas escriban y entiendan los programas de un modo mucho ms fcil que los lenguajes de mquina. Lenguajes imperativos utilizan instrucciones como unidad de trabajo de los programas (Cobol, Pascal, C, Ada). Lenguajes declarativos son aquellos programas que se construyen mediante descripciones de funciones o expresiones lgicas. Lenguajes orientados a objetos el diseo de los programas se basa ms en los datos y su estructura. Lenguajes orientados al problema son diseados para problemas especficos, principalmente de gestin, suelen ser generadores de aplicaciones. Lenguajes naturales son nuevos lenguajes con el principal objetivo de aproximar el diseo y construccin de programas al lenguaje de las personas. Cordero Jhony C.I. 24.063.943