Sei sulla pagina 1di 14

Lenguaje de programacin

Un lenguaje de programacin es un idioma artificial diseado para expresar procesos que pueden ser llevadas a cabo por mquinas como las computadoras. Pueden usarse para crear programas que controlen el comportamiento fsico y lgico de una mquina, para expresar algoritmos con precisin, o como modo de comunicacin humana.1 Est formado por un conjunto de smbolos y reglas sintcticas y semnticas que definen su estructura y el significado de sus elementos y expresiones. Al proceso por el cual se escribe, se prueba, se depura, se compila y se mantiene el cdigo fuente de un programa informtico se le llamada programacin. Historia Para que la computadora entienda nuestras instrucciones debe usarse un lenguaje especfico conocido como cdigo mquina, el cual la mquina comprende fcilmente, pero que lo hace excesivamente complicado para las personas. De hecho slo consiste en cadenas extensas de nmeros 0 y 1. Para facilitar el trabajo, los primeros operadores de computadoras decidieron hacer un traductor para reemplazar los 0 y 1 por palabras o abstraccin de palabras y letras provenientes del ingls; ste se conoce como lenguaje ensamblador. Por ejemplo, para sumar se usa la letra A de la palabra inglesa add (sumar). El lenguaje ensamblador sigue la misma estructura del lenguaje mquina, pero las letras y palabras son ms fciles de recordar y entender que los nmeros. La necesidad de recordar secuencias de programacin para las acciones usuales llev a denominarlas con nombres fciles de memorizar y asociar: ADD (sumar), SUB (restar), MUL (multiplicar), CALL (ejecutar subrutina), etc. A esta secuencia de posiciones se le denomin "instrucciones", y a este conjunto de instrucciones se le llam lenguaje ensamblador. Posteriormente aparecieron diferentes lenguajes de programacin, los cuales reciben su denominacin porque tienen una estructura sintctica similar a los lenguajes escritos por los humanos, denominados tambinlenguajes de alto nivel. La primera programadora de computadora conocida fue Ada Lovelace, hija de Anabella Milbanke Byron y Lord Byron. Anabella introdujo en las matemticas a Ada quien, despus de conocer a Charles Babbage, tradujo y ampli una descripcin de su mquina analtica. Incluso aunque Babbage nunca complet la construccin de cualquiera de sus mquinas, el trabajo que Ada realiz con stas le hizo ganarse el ttulo de primera programadora de computadoras del mundo. El nombre del lenguaje de programacin Ada fue escogido como homenaje a esta programadora. A finales de 1953, John Backus someti una propuesta a sus superiores en IBM para desarrollar una alternativa ms prctica al lenguaje ensamblador para programar lacomputadora central IBM 704. El histrico equipo Fortran de Backus consisti en los programadores Richard Goldberg, Sheldon F. Best, Harlan Herrick, Peter Sheridan, Roy Nutt,Robert Nelson, Irving Ziller, Lois Haibt y David Sayre.2 El primer manual para el lenguaje Fortran apareci en octubre de 1956, con el primer compilador Fortran entregado en abril de 1957. Esto era un compilador optimizado, porque los clientes eran reacios a usar un lenguaje de alto nivel a menos que su compilador pudiera generar

cdigo cuyo desempeo fuera comparable al de un cdigo hecho a mano en lenguaje ensamblador. En 1960, se cre COBOL, uno de los lenguajes usados an en 2010 en informtica de gestin. A medida que la complejidad de las tareas que realizaban las computadoras aumentaba, se hizo necesario disponer de un mtodo ms eficiente para programarlas. Entonces, se crearon los lenguajes de alto nivel, como lo fue BASIC en las versiones introducidas en los microordenadores de la dcada de 1980. Mientras que una tarea tan sencilla como sumar dos nmeros puede necesitar varias instrucciones en lenguaje ensamblador, en un lenguaje de alto nivel bastar una sola sentencia. LENGUAJES COMPILADOS Naturalmente, un programa que se escribe en un lenguaje de alto nivel tambin tiene que traducirse a un cdigo que pueda utilizar la mquina. Los programas traductores que pueden realizar esta operacin se llaman compiladores. stos, como los programas ensambladores avanzados, pueden generar muchas lneas de cdigo de mquina por cada proposicin del programa fuente. Se requiere una corrida de compilacin antes de procesar los datos de un problema. Los compiladores son aquellos cuya funcin es traducir un programa escrito en un determinado lenguaje a un idioma que la computadora entienda (lenguaje mquina con cdigo 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 cdigo. 3. LENGUAJES INTERPRETADOS Se puede tambin 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 cdigo objeto que se produce durante la corrida de compilacin para utilizarlo en una corrida de produccin futura, el programador slo carga el programa fuente en la computadora junto con los datos que se van a procesar. A continuacin, un programa intrprete,almacenado en el sistema operativo del disco, o incluido de manera permanente dentro de la mquina, convierte cada proposicin del programa fuente en lenguaje de mquina conforme vaya siendo necesario durante el proceso de los datos. No se graba el cdigo objeto para utilizarlo posteriormente. La siguiente vez que se utilice una instruccin, se le debe interpretar otra vez y traducir a lenguaje mquina. Por ejemplo, durante el procesamiento repetitivo de los pasos de un ciclo, cada instruccin del ciclo tendr que volver a ser interpretado cada vez que se ejecute el ciclo, lo cual hace que el programa sea ms lento en tiempo de ejecucin (porque se va revisando el cdigo en tiempo de ejecucin) pero ms rpido en tiempo de diseo (porque no se tiene que estar compilando a cada momento el cdigo completo). El intrprete elimina la necesidad de realizar una corrida de compilacin despus de cada modificacin del programa cuando se quiere agregar funciones o corregir errores; pero es obvio que un programa objeto compilado con antelacin deber ejecutarse con mucha mayor rapidez que uno que se debe interpretar a cada paso durante una corrida de produccin. 4. LENGUAJES DE PROGRAMACIN DECLARATIVOS Se les conoce como lenguajes declarativos en ciencias computacionales a aquellos lenguajes de programacin en los cuales se le indica a la computadora qu es lo que se desea obtener o qu es lo que se esta buscando, por ejemplo: Obtener los nombres de todos los empleados que tengan ms de 32 aos. Eso se puede lograr con un lenguaje declarativo como SQL.

La programacin declarativa es una forma de programacin que implica la descripcin de un problema dado en lugar de proveer una solucin para dicho problema, dejando la interpretacin de los pasos especficos para llegar a dicha solucin a un intrprete no especificado. La programacin declarativa adopta, por lo tanto, un enfoque diferente al de la programacin imperativa tradicional. En otras palabras, la programacin declarativa provee el "qu", pero deja el "cmo" liberado a la implementacin particular del intrprete. Por lo tanto se puede ver que la programacin declarativa tiene dos fases bien diferenciadas, la declaracin y la interpretacin. Es importante sealar que a pesar de hacer referencia a intrprete, no hay que limitarse a "lenguajes interpretados" en el sentido habitual del trmino, sino que tambin se puede estar trabajando con "lenguajes compilados". 4.1. CARACTERSTICAS DE LOS LENGUAJES DE PROGRAMACIN DECLARATIVOS Los lenguajes declarativos estn orientados a buscar la solucin del problema, sin preocuparse por la forma de llegar a ello; es decir, el programador debe concentrarse en la lgica del algoritmo, ms que en el control de la secuencia. Los programas estn formados por un conjunto de definiciones o ecuaciones, las cuales describen lo que debe ser calculado, no en s la forma de hacerlo. Las variables slo pueden tener asignado un solo valor a lo largo de la ejecucin del programa, lo cual implica que no puede existir asignacin destructiva. Debido a esto, cobra especial importancia el uso del anidamiento y la recursividad. Las listas representan la estructura fundamental de datos. El orden de la ejecucin no resulta importante debido a que no existen efectos colaterales; es decir, que al calcular un valor, resulta imposible afectar el clculo de otros y con esto se puede afirmar que cualquier secuencia de ejecucin deber conducir al mismo resultado. Las expresiones o definiciones pueden ser usadas como valores y por lo tanto se pueden tratar como argumentos de otras definiciones. El control de la ejecucin no es responsabilidad del programador. 4.2. DESVENTAJAS DE LA PROGRAMACIN DECLARATIVA La principal desventaja de la programacin declarativa es que no puede resolver cualquier problema dado, sino que est restringida al subconjunto de problemas para los que el intrprete o compilador fue diseado. Otra desventaja de la programacin declarativa est relacionada con la eficiencia. Dado que es necesaria una fase de interpretacin extra, en la cual se deben evaluar todas las consecuencias de todas las declaraciones realizadas, el proceso es relativamente ms lento que en la programacin imperativa, en que los cambios de estado del sistema estn dados por instrucciones particulares y no por un conjunto de condiciones arbitrariamente grande.

4.3. VENTAJAS DE LA PROGRAMACIN DECLARATIVA A pesar de lo anterior existen algunas ventajas en el uso de la programacin declarativa. Entre las ventajas se destaca que la solucin de un problema se puede realizar con un nivel de abstraccin considerablemente alto, sin entrar en detalles de implementacin irrelevantes, lo que hace a las solucionesms fcil de entender por las personas. La resolucin de problemas complejos es resuelta por el intrprete a partir de la declaracin de las condiciones dadas. La programacin declarativa es muy usada en la resolucin de problemas relacionados con inteligencia artificial, bases de datos, configuracin, ycomunicacin entre procesos; sin embargo, ningn leguaje declarativo se aproxima en popularidad a los lenguajes imperativos. 4.4. EJEMPLOS DE LENGUAJES DECLARATIVOS Algunos lenguajes declarativos que se pueden mencionar son: PROLOG SQL HTML WSDL (Web Services Description Language) XML Stylesheet Language for Transformation 4.5. PROGRAMACIN LGICA La idea fundamental de la programacin lgica consiste en emplear la lgica como lenguaje de programacin. La lgica no es imperativa porque no sirve para indicar cmo resolver un problema (rdenes). La lgica es declarativa porque sirve para especificar qu problema resolver (condiciones). En la programacin lgica, se especifican las condiciones que satisfacen las soluciones, se deducen las soluciones a partir de las condiciones y el nfasis de todo est en qu problema resolver. El problema se describe especificando qu caracteriza a sus posibles soluciones. La programacin lgica, junto con la funcional, forma parte de lo que se conoce como programacin declarativa. En los lenguajes tradicionales, la programacin consiste en indicar cmo resolver un problema mediante sentencias; en la programacin lgica, se trabaja de forma descriptiva, estableciendo relaciones entre entidades, indicando no cmo, sino qu hacer. Se establece entonces que la idea esencial de la programacin lgica es:algoritmos = lgica + control. Es decir, un algoritmo se construye especificando conocimiento en un lenguaje formal (lgica de primer orden), y el problema se resuelve mediante un mecanismo de inferencia (control) que acta sobre aqul. Al hacer un recorrido por la programacin lgica, aparece como uno de sus lenguajes ms representativos, Prolog, que es un clsico de la inteligencia artificial y que se aplica de mltiples formas en el desarrollo de software comercial. 4.6. PROGRAMACIN FUNCIONAL La programacin funcional es un paradigma de programacin declarativa basado en la utilizacin de funciones matemticas. El objetivo de la programacin funcional es conseguir lenguajes expresivos y matemticamente elegantes, en los que no sea necesario bajar al nivel de la mquina para describir el proceso llevado a cabo por el programa.

Los programas escritos en un lenguaje funcional estn constituidos nicamente por definiciones de funciones, entendiendo stas no como subprogramas clsicos de un lenguaje imperativo (pues la programacin funcional es declarativa), sino como funciones puramente matemticas, en las que se verifican ciertas propiedades como la transparencia referencial (el significado de una expresin depende nicamente del significado de sus subexpresiones), y por tanto, la carencia total de efectos laterales. Otras caractersticas propias de estos lenguajes son la no existencia de asignaciones de variables y la falta de construcciones estructuradas como la secuencia o la iteracin (lo que obliga en la prctica a que todas las repeticiones de instrucciones se lleven a cabo por medio de funciones recursivas). Existen dos grandes categoras de lenguajes funcionales: los funcionales puros y los hbridos. La diferencia entre ambos estriba en que los lenguajes funcionales hbridos son menos dogmticos que los puros, al permitir conceptos tomados de los lenguajes imperativos, como las secuencias de instrucciones o la asignacin de variables. En contraste, los lenguajes funcionales puros tienen una mayor potencia expresiva, conservando a la vez su transparencia referencial, algo que no se cumple siempre con un lenguaje hbrido. 4.7. PROGRAMACIN ORIENTADA A BASES DE DATOS Las bases de datos son programas que administran informacin y hacen ms ordenada la informacin, aparte de hacer la fcil de buscar y por supuesto de encontrar. Las caractersticas de las bases de datos pueden ser ventajosas o desventajosas: pueden ayudar a almacenar, organizar, recuperar, comunicar y manejar informacin en formas que seran imposibles sin las computadoras, pero tambin afecta de alguna manera ya que existen enormes cantidades de informacin en bases de datos de las que no se tiene control del acceso. Las bases de datos tienen muchos usos: facilitan el almacenamiento de grandes cantidades de informacin; permiten la recuperacin rpida y flexible de informacin, con ellas se puede organizar y reorganizar la informacin, as como imprimirla o distribuirla en formas diversas. Es claro que los lenguajes orientados a bases de datos son declarativos y no imperativos, pues el problema es "qu" se quiere hacer o "qu" se necesita buscar y encontrar en la base de datos, y no se enfatiza el "cmo". Una base de datos tambin se puede definir como un banco de datos o conjunto de datos que pertenecen al mismo contexto, almacenados sistemticamente para su posterior uso. En este sentido, una biblioteca puede considerarse una base de datos compuesta en su mayora pordocumentos y textos impresos en papel e indexados para su consulta. En la actualidad, y gracias al desarrollo tecnolgico de campos como la informtica y la electrnica, la mayora de las bases de datos tienen formato electrnico, que ofrece un amplio rango de soluciones al problema de almacenar datos. Los sistemas gestores de bases de datos (SGBD) permiten almacenar y posteriormente acceder a los datos de forma rpida y estructurada. 4.7.1. TIPOS DE BASES DE DATOS Las bases de datos pueden clasificarse de varias maneras, de acuerdo al criterio elegido para su clasificacin, que puede ser segn la variabilidad de los datos almacenados o segn el contenido. 4.7.1.1 CLASIFICACIN DE BASES DE DATOS SEGN LA VARIABILIDAD DE LOS

DATOS ALMACENADOS Esta clasificacin depende de cmo los datos cambian o varan dentro de la base de datos, o si se mantienen estticos sin sufrir modificaciones o cambios. Dentro de esta clasificacin se tiene lo siguiente: BASES DE DATOS ESTTICAS: stas son bases de datos de slo lectura, utilizadas primordialmente para almacenar datos histricos que posteriormente se pueden utilizar para estudiar el comportamiento de un conjunto de datos a travs del tiempo, realizar proyecciones y tomar decisiones. BASES DE DATOS DINMICAS: stas son bases de datos donde la informacin almacenada se modifica con el tiempo, permitiendo operaciones como actualizacin y adicin de datos, adems de las operaciones fundamentales de consulta. Un ejemplo de esto puede ser la base de datos utilizada en un sistema de informacin de una tienda de abarrotes, una farmacia, un videoclub, etc. 4.7.1.2. CLASIFICACIN DE BASES DE DATOS SEGN CONTENIDO Esta clasificacin basa su enfoque en el contenido o lo que almacena la base de datos, de esta manera: BASES DE DATOS BIBLIOGRFICAS: Solo contienen un "representante" de la fuente primaria, que permite localizarla. Un registro tpico de una base de datos bibliogrfica contiene informacin sobre el autor, fecha de publicacin, editorial, ttulo, edicin, de una determinada publicacin, etc. Puede contener un resumen o extracto de la publicacin original, pero nunca el texto completo, porque sino se estara en presencia de una base de datos a texto completo (o de fuentes primarias). Como su nombre lo indica, el contenido son cifras o nmeros. Por ejemplo, una coleccin de resultados de anlisis de laboratorio, entre otras. BASES DE DATOS DE TEXTO COMPLETO: Almacenan las fuentes primarias, como por ejemplo, todo el contenido de todas las ediciones de una coleccin de revistas cientficas. DIRECTORIOS: Un ejemplo son las guas telefnicas en formato electrnico. BANCO DE IMGENES, AUDIO, MULTIMEDIA, ETC. 4.7.2. MODELOS DE BASES DE DATOS Adems de la clasificacin por la funcin de las bases de datos, stas tambin se pueden clasificar de acuerdo a su modelo de administracin de datos. Un modelo de datos es bsicamente una "descripcin" de algo conocido como contenedor de datos (algo en donde se guarda la informacin), as como de los mtodos para almacenar y recuperar informacin de esos contenedores. Los modelos de datos no son cosas fsicas: son abstracciones que permiten la implementacin de un sistema eficiente de base de datos; por lo general se refieren a algoritmos, y conceptos matemticos. Algunos modelos con frecuencia utilizados en las bases de datos son:

BASES DE DATOS JERRQUICAS: stas son bases de datos que, como su nombre indica, almacenan su informacin en una estructura jerrquica. En este modelo los datos se organizan en una forma similar a un rbol (visto al revs), en donde un nodo padre de informacin puede tener varios hijos. El nodo que no tiene padres es llamado raz, y a los nodos que no tienen hijos se los conoce como hojas. Las bases de datos jerrquicas son especialmente tiles en el caso de aplicaciones que manejan un gran volumen de informacin y datos muy compartidos permitiendo crear estructuras estables y de gran rendimiento. Una de las principales limitaciones de este modelo es su incapacidad de representar eficientemente la redundancia de datos. BASES DE DATOS DE RED: ste es un modelo ligeramente distinto del jerrquico; su diferencia fundamental es la modificacin del conceptode nodo: se permite que un mismo nodo tenga varios padres (posibilidad no permitida en el modelo jerrquico). Fue una gran mejora con respecto al modelo jerrquico, ya que ofreca una solucin eficiente al problema de redundancia de datos; pero, aun as, la dificultad que significa administrar la informacin en una base de datos de red ha significado que sea un modelo utilizado en su mayora por programadores ms que por usuarios finales. BASES DE DATOS RELACIONAL: ste es el modelo ms utilizado en la actualidad para modelar problemas reales y administrar datos dinmicamente. Tras ser postulados sus fundamentos en 1970 por Edgar Frank Codd, de los laboratorios IBM en San Jos (California), no tard en consolidarse como un nuevo paradigma en los modelos de base de datos. Su idea fundamental es el uso de "relaciones". Estas relaciones podran considerarse en forma lgica como conjuntos de datos llamados "tuplas". Pese a que sta es la teora de las bases de datos relacionales creadas por Edgar Frank Codd, la mayora de las veces se conceptualiza de una manera ms fcil de imaginar. Esto es pensando en cada relacin como si fuese una tabla que est compuesta por registros (las filas de una tabla), que representaran las tuplas, y campos (las columnas de una tabla). En este modelo, el lugar y la forma en que se almacenen los datos no tienen relevancia (a diferencia de otros modelos como el jerrquico y el de red). Esto tiene la considerable ventaja de que es ms fcil de entender y de utilizar para un usuario espordico de la base de datos. La informacin puede ser recuperada o almacenada mediante "consultas" que ofrecen una amplia flexibilidad y poder para administrar la informacin. El lenguaje ms habitual para construir las consultas a bases de datos relacionales es SQL, Structured Query Language o Lenguaje Estructurado de Consultas, un estndar implementado por los principales motores o sistemas de gestin de bases de datos relacionales. Durante su diseo, una base de datos relacional pasa por un proceso al que se le conoce como normalizacin (reglas fundamentales para el buen funcionamiento de una base de datos relacional) de una base de datos. Durante los aos '80 (1980-1989) la aparicin de dBASE produjo una revolucin en los lenguajes de programacin y sistemas de administracinde datos. Aunque nunca debe olvidarse que dBase no utilizaba SQL como lenguaje base para su gestin. La normalizacin de una base de datos relacional consiste en las siguientes reglas: a. b. Primera Forma Normal (1FN): se eliminan los grupos repetitivos. Los atributos han de ser atmicos. Grficamente las celdas de la tabla contienen solo un valor, en cada uno de los atributos slo se puede incluir un dato, aunque sea compuesto, pero no se puede incluir una lista de datos. Se trata de que cada atributo guarde la menor cantidad de informacin posible. Para eliminar los grupos repetitivos se pone cada uno de ellos en una tabla aparte, esa nueva tabla

hereda la clave primaria de la relacin en la que se encontraban, se crea una clave fornea para la nueva tabla. c. Segunda Forma Normal (2FN): dependencia completa. Est en 2FN si est en 1FN y si sus atributos no principales dependen de forma completa de la clave principal. Toda relacin que tenga como clave slo un atributo est en 2FN. d. Tercera Forma Normal (3FN): dependencia transitiva. Est en segunda forma normal y todo atributo no primo es implicado por la clave primaria en una secuencia no transitiva. e. Forma Normal de Boyce-Codd: una tabla est en FNBC, s y slo s las nicas dependencias funcionales elementales son aquellas en las que la Clave primaria determina un atributo. f. Cuarta Forma Normal (4FN): est en forma normal de Boyce-Codd y se eliminan las dependencias multivaluadas y se generan todas las relaciones externas con otras tablas u otras bases de datos.

g. Quinta Forma Normal (5FN): est en cuarta forma normal y toda dependencia-join viene implicada por claves candidatas. BASES DE DATOS ORIENTADAS A OBJETOS: este modelo, bastante reciente, y propio de los modelos informticos orientados a objetos, trata de almacenar en la base de datos los objetos completos (estado y comportamiento). Una base de datos orientada a objetos es una base de datos que incorpora todos los conceptos importantes del paradigma de objetos: encapsulacin (propiedad que permite ocultar la informacin al resto de los objetos, impidiendo as accesos incorrectos o conflictos), herencia (propiedad a travs de la cual los objetos heredan comportamiento dentro de una jerarqua de clases y polimorfismo (propiedad de una operacin mediante la cual puede ser aplicada a distintos tipos de objetos. En bases de datos orientadas a objetos, los usuarios pueden definir operaciones sobre los datos como parte de la definicin de la base de datos. BASES DE DATOS DOCUMENTALES: permiten la indexacin a texto completo, y en lneas generales realizar bsquedas ms potentes. BASE DE DATOS DEDUCTIVAS: un sistema de base de datos deductivas, es un sistema de base de datos pero con la diferencia de que permite hacer deducciones a travs de inferencias. Se basa principalmente en reglas y hechos que son almacenados en la base de datos. Tambin las bases de datos deductivas son llamadas base de datos lgica, a raz de que se basan en lgica matemtica. 5. LENGUAJES DE PROGRAMACIN IMPERATIVOS En ciencias de la computacin se llama lenguajes imperativos a aquellos en los cuales se le ordena a la computadora cmo realizar una tarea siguiendo una serie de pasos o instrucciones, por ejemplo: Paso 1, solicitar nmero. Paso 2, multiplicar nmero por dos. Paso 3, imprimir resultado de la operacin. Paso 4, etc,

El proceso anterior se puede realizar con un lenguaje imperativo como por ejemplo BASIC, C, C++, Java, Clipper, Dbase, C#, PHP, Perl, etc. Dentro de la programacin imperativa, se tiene un conjunto de instrucciones que le indican al computador cmo realizar una tarea. Los lenguajes imperativos se basan en comandos u rdenes que se le dan a la computadora para que haga algo, con el fin de organizar o cambiar valores en ciertas partes de la memoria. La ejecucin de estos comandos se realiza, en la mayor parte de ellos, secuencialmente, es decir, hasta que un comando no ha sido ejecutado no se lee el siguiente. Segn el dominio, o mejor dicho con el propsito que se utiliza el programa, se puede hablar de lenguajes de dominio especfico y de dominio general. 5.1. LENGUAJES IMPERATIVOS PROCEDURALES En los lenguajes tradicionales o procedurales, es la aplicacin quien controla qu porciones de cdigo se ejecuta, y la secuencia en que este se ejecuta. La ejecucin de la aplicacin se inicia con la primera lnea de cdigo, y sigue una ruta predefinida a travs de la aplicacin, llamando procedimientossegn sea necesario. Los lenguajes procedurales estn fundamentados en la utilizacin de variables para almacenar valores y en la realizacin de operaciones con los datos almacenados. Algunos ejemplos son: FORTRAN, PASCAL, C, ADA, ALGOL, En este tipo de lenguajes, la arquitectura consta de una secuencia de celdas, llamadas memoria, en las cuales se pueden guardar en forma codificada, lo mismo datos que instrucciones; y de un procesador, el cual es capaz de ejecutar de manera secuencial una serie de operaciones, principalmente aritmticas y booleanas, llamadas comandos. En general, un lenguaje procedural ofrece al programador conceptos que se traducen de forma natural al modelo de la mquina. El programador tiene que traducir la solucin abstracta del problema a trminos muy primitivos, cercanos a la mquina. Con un lenguaje procedural el usuario (normalmente ser un programador) especifica qu datos se necesitan y cmo obtenerlos. Esto quiere decir que el usuario debe especificar todas las operaciones de acceso a datos llamando a los procedimientos necesarios para obtener la informacin requerida. Estos lenguajes acceden a un registro, lo procesan y basndose en los resultados obtenidos, acceden a otro registro, que tambin deben procesar. As se va accediendo a registros y se van procesando hasta que se obtienen los datos deseados. Las sentencias de un lenguaje procedural deben estar embebidas en un lenguaje de alto nivel, ya que se necesitan sus estructuras (bucles, condicionales, etc.) para obtener y procesar cada registro individual. 5.2. ALGUNOS LENGUAJES IMPERATIVOS Algunos lenguajes de programacin imperativos que se pueden mencionar son: BASIC C C++

Java C# PHP Perl 6. DIFERENCIA ENTRE LENGUAJES DECLARATIVOS E IMPERATIVOS En los lenguajes declarativos las sentencias que se utilizan lo que hacen es describir el problema que se quiere solucionar, pero no las instrucciones necesarias para solucionarlo. Esto ltimo se realizar mediante mecanismos internos de inferencia de informacin a partir de la descripcin realizada. Los lenguajes imperativos describen paso a paso un conjunto de instrucciones que deben ejecutarse para variar el estado un programa y hallar la solucin, es decir, un algoritmo en el que se describen los pasos necesarios para solucionar un problema. Caractersticas: Facilitan la tarea de programacin, ya que disponen de formas adecuadas que permiten ser ledas y escritas por personas. Los lenguajes de programacin representan en forma simblica y en manera de un texto los cdigos que podrn ser ledos por una persona. Son independientes de las computadoras a utilizar. Describe el conjunto de acciones consecutivas que un equipo debe ejecutar. permite mayor portabilidad

Programa informtico

Un programa informtico es un conjunto de instrucciones que una vez ejecutadas realizarn una o varias tareas en una computadora. Sin programas, estas mquinas no pueden funcionar.1 2 Al conjunto general de programas, se le denomina software, que ms genricamente se refiere al equipamiento lgico o soporte lgico de una computadora digital. En informtica, se los denomina comnmente binarios, (propio en sistemas Unix, donde debido a la estructura de este ltimo, los ficheros no necesitan hacer uso de extensiones. Posteriormente, los presentaron como ficheros ejecutables, con extensin .exe, en los sistemas operativos de la familia Windows) debido a que una vez que han pasado por el proceso de compilacin y han sido creados, las instrucciones que se escribieron en un lenguaje de programacin que se usan para escribirlos con mayor facilidad, se han traducido al nico idioma que la mquina comprende, combinaciones de ceros y unos llamada cdigo mquina. El mismo trmino, puede

referirse tanto a un programa ejecutable, como a su cdigo fuente, el cual es transformado en un binario cuando es compilado. Generalmente el cdigo fuente lo escriben profesionales conocidos como programadores. Se escribe en un lenguaje que sigue uno de los siguientes dos paradigmas: imperativo o declarativo y que posteriormente puede ser convertido en una imagen ejecutable por un compilador. Cuando se pide que el programa sea ejecutado, el procesador ejecuta instruccin por instruccin. De acuerdo a sus funciones, se clasifican en software de sistema y software de aplicacin. En los computadores actuales, al hecho de ejecutar varios programas de forma

Objeto (programacin) Este artculo o seccin necesita referencias que aparezcan en una publicacin acreditada, como revistas especializadas, monografas, prensa diaria o pginas de Internet fidedignas. Puedes aadirlas as o avisar al autor principal del artculo en su pgina de discusin pegando: {{subst:Aviso referencias|Objeto (programacin)}} ~~~~ En el paradigma de programacin orientada a objetos (POO, o bien OOP en ingls), un objeto se define como la unidad que en tiempo de ejecucin realiza las tareas de unprograma. Tambin a un nivel ms bsico se define como la instancia de una clase. Estos objetos interactan unos con otros, en contraposicin a la visin tradicional en la cual un programa es una coleccin de subrutinas (funciones o procedimientos), o simplemente una lista de instrucciones para el computador. Cada objeto es capaz de recibir mensajes, procesar datos y enviar mensajes a otros objetos de manera similar a unservicio. En el mundo de la programacin orientada a objetos (POO), un objeto es el resultado de la instanciacin de una clase. Una clase es el anteproyecto que ofrece la funcionalidad en ella definida, pero sta queda implementada slo al crear una instancia de la clase, en la forma de un objeto. Por ejemplo: dado un plano para construir sillas (una clase de nombreclase_silla), entonces una silla concreta, en la que podemos sentarnos, construida a partir de este plano, sera un objeto de clase_silla. Es posible crear (construir) mltiples objetos (sillas) utilizando la definicin de la clase (plano) anterior. Los conceptos de clase y objetos son anlogos a los de tipo de datos y variable, es decir, definida una clase podemos crear objetos de esa clase, igual que disponiendo de un determinado tipo de dato (por ejemplo el tipo entero), podemos definir variables de

dicho tipo: int a,b; ( 'int' es un tipo de dato y 'a' y 'b' son variables de tipo entero con las que podemos operar) Para utilizar la funcionalidad definida en una clase en particular (salvo en las clases abstractas), primeramente es necesario crear un objeto de esa clase. De la misma manera para una persona que desea sentarse, las especificaciones para construir una silla sern de poca utilidad; lo que se necesita es una silla real construida a partir de esas especificaciones. Siguiendo con la analoga anterior, tambin se puede decir que para hacer operaciones aritmticas, de nada sirve por s solo el tipo entero (int); para ello necesitamos variables (o constantes) con las que operar.

). La Programacin es el proceso de disear, codificar, depurar y mantener el cdigo fuente de programas computacionales. El cdigo fuente es escrito en un lenguaje de programacin. El propsito de la programacin es crear programas que exhiban un comportamiento deseado. El proc Para otros usos de la palabra, vase Programacin (msicaeso de escribir cdigo requiere frecuentemente conocimientos en varias reas distintas, adems del dominio del lenguaje a utilizar, algoritmos especializados y lgica formal. Programar no involucra necesariamente otras tareas tales como el anlisis y diseo de la aplicacin (pero s el diseo del cdigo), aunque s suelen estar fusionadas en el desarrollo de pequeas aplicaciones.

1. lenguajes de programacin Un lenguaje de programacin es un conjunto limitado de palabras y de smbolos que representan procedimientos, clculos, decisiones y otras operaciones que pueden ejecutar una computadora. A pesar de que en este trabajo parte de la divisin de lenguajes de programacin en imperativos y declarativos (los cuales a su vez se dividen en numerosos subgrupos). 2. Tipos de lenguajes de programacin LENGUAJES DE MQUINA 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. 3. LENGUAJE DE BAJO NIVEL Se llaman de bajo nivel porque estn muy cercanos al hardware del ordenador. Es necesario conocer a fondo la arquitectura de la maquina para la que se va a programar. El primer lenguaje de este tipo que se utiliz fue el lenguaje mquina, que consiste en un conjunto de instrucciones en binario, es decir, con ceros y unos, con los cuales se indica al ordenador qu hacer. Este lenguaje

es muy complicado y la posibilidad de cometer errores es muy alta, por lo que ya no se utiliza. Para solventar estas dificultades aparecio el lenguaje ensamblardor, que consiste en asignar una abreviatura a cada instruccin en binario, de forma que sea ms fcil recordarla y ms difcil equivocarse. Sin embargo, con este lenguaje sigue siendo necesario conocer muy bien el hardware del ordenador. 4. LENGUAJES DE ALTO NIVEL Los primeros programas ensambladores producan slo una instruccin en lenguaje de mquina por cada instruccin del programa fuente. Para agilizar la codificacin, se desarrollaron programas ensambladores que podan producir una cantidad variable de instrucciones en lenguaje de mquina por cada instruccin del programa fuente 5. LENGUAJES COMPILADOS En informtica, un lenguaje cuyos programas se traducen a cdigo mquina antes de ejecutarse, a diferencia de un lenguaje interpretado, cuyos programas se traducen y ejecutan instruccin por instruccin. LENGUAJES INTERPRETADOS Se puede tambin 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 cdigo objeto que se produce durante la corrida de compilacin para utilizarlo en una corrida de produccin futura, el programador slo carga el programa fuente en la computadora junto con los datos que se van a procesar 6. LENGUAJES DE PROGRAMACIN DECLARATIVOS Se les conoce como lenguajes declarativos en ciencias computacionales a aquellos lenguajes de programacin en los cuales se le indica a la computadora qu es lo que se desea obtener o qu es lo que se esta buscando, por ejemplo: Obtener los nombres de todos los empleados que tengan ms de 32 aos. Eso se puede lograr con un lenguaje declarativo como SQL. LENGUAJE DE DESCRIPCION DE MAQUINA lenguaje de programacin, como el PostScript, que se utiliza para describir la salida a una impresora o a una pantalla, que a su vez usan las instrucciones del lenguaje de descripcin de pgina para construir el texto y los grficos para crear la imagen de la pgina. El lenguaje de descripcin de pgina es como otros lenguajes de ordenador o computadora, con un flujo lgico de programa que permite una manipulacin sofisticada de la salida. 7. Visual C Lenguaje de programacin desarrollado en 1972 por el estadounidense Dennis Ritchie en los Laboratorios Bell. Debe su nombre a que su predecesor inmediato haba sido llamado lenguaje de programacin B. Aunque muchos consideran que C es un lenguaje ensamblador ms independiente de la mquina que un lenguaje de alto nivel, su estrecha asociacin con el sistema operativo UNIX, su enorme popularidad y su homologacin por el American National Standards Institute (ANSI) lo han convertido quiz en lo ms cercano a un lenguaje de programacin estandarizado en el sector de microordenadores o microcomputadoras y estaciones de trabajo. C es un lenguaje compilado que contiene un pequeo conjunto de funciones incorporadas dependientes de la mquina. LENGUAJE EXPERTO 8. Pascal Lenguaje de programacin imperativo, diseado entre 1967 y 1971 por Niklaus Wirth. Se trata de un lenguaje compilado y estructurado, basado en el lenguaje ALGOL, que simplifica su sintaxis a la vez que incluye nuevos tipos de datos y estructuras, como subrangos, tipos de datos enumerados, archivos, registros y conjuntos.

9. Visual Basic En informtica, acrnimo de Beginners All-purpose Symbolic Instruction Code (Cdigo de Instrucciones Simblicas de Uso General para Principiantes). Se trata de un lenguaje de programacin de alto nivel desarrollado por los estadounidenses John Kemeny y Thomas Kurtz en el Dartmouth College a mediados de la dcada de 1960. BASIC se gan su enorme popularidad gracias sobre todo a dos implementaciones, Tiny BASIC y Microsoft BASIC, que convirtieron a este lenguaje en la primera lengua franca de los microordenadores o microcomputadoras 10. COBOL de programacin desarrollado entre 1959 y 1961 que utiliza como base el idioma ingls y que se caracteriza por su gran facilidad de lectura Los programas escritos en COBOL, que es un lenguaje compilado, se clasifican en cuatro divisiones: Identification, Enviroment, Data y Procedure. La Identification division especifica el nombre del programa y contiene informacin general del programa como puede ser su autor, fecha en que se escribi y una pequea descripcin de su utilidad, as como cualquier otra documentacin que el programador desee aadir. La Enviroment division especifica qu equipo o equipos se estn utilizando, y los archivos em-pleados en el programa para la entrada y la salida. La Data division describe los datos utilizados en el programa. La Procedure division contiene la parte del procesamiento que dicta las acciones del programa 11. LISP El LISP es un lenguaje interpretado, en el que cada expresin es una lista de llamadas a funciones. Este lenguaje se sigue utilizando con frecuencia en investigacin y en crculos acadmicos, y fue considerado durante mucho tiempo el lenguaje modelo para la investigacin de la inteligencia artificial 12. Java Este lenguaje define una mquina virtual independiente de la plataforma donde se ejecuta, que procesa programas, llamados Applets, descargados desde el servidor Web. Adems, debido al modo de ejecucin de los Applets, este lenguaje es muy seguro frente a la presencia y ataque de virus informticos.

Potrebbero piacerti anche