Sie sind auf Seite 1von 11

LENGUAJE DE PROGRAMACIN

Captura de la microcomputadora Commodore PET-32 mostrando un programa en el lenguaje de programacin BASIC, bajo el emulador VICE en una distribucin GNU/Linux. 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 llama programacin. Tambin la palabra programacin se define como el proceso de creacin de un programa de computadora, mediante la aplicacin de procedimientos lgicos, a travs de los siguientes pasos:

El desarrollo lgico del programa para resolver un problema en particular. Escritura de la lgica del programa empleando un lenguaje de programacin especfico (codificacin del programa). Ensamblaje o compilacin del programa hasta convertirlo en lenguaje de mquina. Prueba y depuracin del programa. Desarrollo de la documentacin.

Existe un error comn que trata por sinnimos los trminos 'lenguaje de programacin' y 'lenguaje informtico'. Los lenguajes informticos engloban a los lenguajes de programacin y a otros ms, como por ejemplo HTML (lenguaje para el marcado de pginas web que no es propiamente un lenguaje de programacin, sino un conjunto de instrucciones que permiten disear el contenido de los documentos). Permite especificar de manera precisa sobre qu datos debe operar una computadora, cmo deben ser almacenados o transmitidos y qu acciones debe tomar bajo una variada gama de circunstancias. Todo esto, a travs de un lenguaje que intenta estar relativamente prximo al lenguaje humano o natural. Una caracterstica relevante de los lenguajes de programacin es precisamente que ms de un programador pueda usar un

conjunto comn de instrucciones que sean comprendidas entre ellos para realizar la construccin de un programa de forma colaborativa. Para poder entender la clasificacin de los lenguajes de programacin, se debe comenzar por explicar que es un lenguaje de programacin, esto para un mayor entendimiento. Entonces el lenguaje de programacin es bsicamente cdigos que son interpretados por un ordenador como ordenes o instrucciones, el lenguaje base con el que trabajan la gran mayora de los sistemas informticos es el lenguaje maquina, este se basa en el sistema numrico de base dos, llamado sistema binario, en donde 0 representa una llave apagada y 1 una encendida. Las computadoras trabajan con dos tipos de pulsaciones electromagnticas, entonces el 0 en este caso representa una pulsacin de 0.3 voltios, mientras que el 1 representa 0.5 voltios. Una cadena de llaves generan lo que se conoce como instrucciones, pudiendo dar as inicio a una programacin, ya que un computador no hace nada por si solo a menos que se le ordene mediante una programacin inmediata o previa. Dado a que el lenguaje maquina es muy complejo en cuanto a su sintaxis ya que asolo se vale de 1s y 0s, una instruccin pudiese ser :11011100010010100110110001000110010, por lo tanto es difcil de recordar y crear, por ello se crean nuevos lenguaje que representan una instruccin como la anterior en letras entendibles por el hombre, es decir por ejemplo: antes lenguaje maquina la suma es igual a: 001011010, y en el lenguaje que se encarga de darle una nueva etiqueta a esa instruccin en maquina la suma es igual a "+" pero de tras fondo sigue siendo "001011010". Clasificacin Los lenguajes de programacin se clasifican por su nivel de abstraccin del procesador, en este caso la abstraccin es un principio por el cual se asla toda aquella informacin que no es resulta relevante a un determinado nivel de conocimiento. Lenguaje de bajo nivel es el que proporciona poca o ninguna abstraccin del microprocesador de un ordenador. Consecuentemente es fcilmente trasladado a lenguaje de mquina. En general se utiliza este tipo de lenguaje para programar controladores (drivers). Ventajas Mayor adaptacin al equipo. Posibilidad de obtener la mxima velocidad con mnimo uso de memoria. Inconvenientes Imposibilidad de escribir cdigo independiente de la mquina. Mayor dificultad en la programacin y en la comprensin de los programas. El programador debe conocer ms de un centenar de instrucciones.

Es necesario conocer en detalle la arquitectura de la mquina. Caractersticas Se trabaja a nivel de instrucciones, es decir, su programacin es al ms fino detalle. Est orientado a la mquina.

LENGUAJE DE MEDIO NIVEL Es un lenguaje de programacin informtica como el lenguaje C, que se encuentran entre los lenguajes de alto nivel y los lenguajes de bajo nivel. Suelen ser clasificados muchas veces de alto nivel, pero permiten ciertos manejos de bajo nivel. Son precisos para ciertas aplicaciones como la creacin de sistemas operativos, ya que permiten un manejo abstracto (independiente de la mquina, a diferencia del ensamblador), pero sin perder mucho del poder y eficiencia que tienen los lenguajes de bajo nivel. Una caracterstica distintiva, por ejemplo, que convierte a C en un lenguaje de medio nivel y al Pascal en un lenguaje de alto nivel es que en el primero es posible manejar las letras como si fueran nmeros (en Pascal no), y por el contrario en Pascal es posible concatenar las cadenas de caracteres con el operador suma y copiarlas con la asignacin (en C es el usuario el responsable de llamar a las funciones correspondientes). Una de las caractersticas ms peculiares del lenguaje de programacin C; es el uso de "apuntadores", los cuales son muy tiles en la implementacin de algoritmos como Listas ligadas, Tablas Hash y algoritmos de bsqueda y ordenamiento que para otros lenguajes de programacin (como Java por ejemplo) les suele ser un poco ms complicado implementar LOS LENGUAJES DE ALTO Este nivel se caracterizan por expresar los algoritmos de una manera adecuada a la capacidad cognitiva humana, en lugar de a la capacidad ejecutora de las mquinas. En los primeros lenguajes de alto nivel la limitacin era que se orientaban a un rea especfica y sus instrucciones requeran de una sintaxis predefinida. Se clasifican como lenguajes procedimentales. Otra limitacin de los lenguajes de alto nivel es que se requiere de ciertos conocimientos de programacin para realizar las secuencias de instrucciones lgicas. Los lenguajes de muy alto nivel se crearon para que el usuario comn pudiese solucionar tal problema de procesamiento de datos de una manera ms fcil y rpida. Por esta razn, a finales de los aos 1950 surgi un nuevo tipo de lenguajes de programacin que evitaba estos inconvenientes, a costa de ceder un poco en las

ventajas. Estos lenguajes se llaman "de tercera generacin" o "de alto nivel", en contraposicin a los "de bajo nivel" o "de nivel prximo a la mquina". Ventajas La programacin en un lenguaje de alto nivel tiene ciertas ventajas: Genera un cdigo ms sencillo y comprensible. Escribir un cdigo vlido para diversas mquinas y, posiblemente, sistemas operativos. Inconvenientes Reduccin de velocidad al ceder el trabajo de bajo nivel a la mquina. Algunos requieren que la mquina cliente posea una determinada plataforma. Objetivos Lograr independencia de la mquina, pudiendo utilizar un mismo programa en diferentes equipos con la nica condicin de disponer de un programa traductor o compilador, que lo suministra el fabricante, para obtener el programa ejecutable en lenguaje binario de la mquina que se trate. Adems, no se necesita conocer el hardware especfico de dicha mquina. Aproximarse al lenguaje natural, para que el programa se pueda escribir y leer de una forma ms sencilla, eliminando muchas de las posibilidades de cometer errores que se daban en el lenguaje mquina, ya que se utilizan palabras (en ingls) en lugar de cadenas de smbolos sin ningn significado aparente. Incluir rutinas de uso frecuente como son las de entrada/salida, funciones matemticas, manejo de tablas, etc., que figuran en una especie de librera del lenguaje, de tal manera que se pueden utilizar siempre que se quieran sin necesidad de programarlas cada vez. LENGUAJES DE BAJO NIVEL Cdigo mquina Ensamblador LENGUAJES DE MEDIO NIVEL BCPL C LENGUAJES DE ALTO NIVEL ADA

ALGOL BASIC Clipper Cobol C++ FORTH Fortran Haskell Informix 4gl Java Lexico (con cdigos en castellano o sinnimos en otros idiomas) Lisp Logo Modula PASCAL Prolog RPG Visual Basic PROGRAMACIN ORIENTADA A OBJETOS Por su parte, los programas orientados a objetos (eventos) son bsicamente los programas tpicos de Windows, tales como Word, Excel, PowerPoint, etc. Cuando uno de estos programas ha arrancado, lo nico que hace es quedarse a la espera de alguna accin del usuario, que en este caso a dicha accin en la programacin orientada a objetos se le llama evento. Un evento es una accin que realiza el usuario hacia un objeto, por ejemplo, cuando el usuario hace clic en un botn de comando, esa accin de hacer clic en el botn se le llama evento Click. Tambin cabe mencionar el evento MouseMove (movimiento del ratn) que ocurre cuando el usuario mueve el puntero del mouse (ratn) por cualquier objeto sobre una ventana. La programacin orientada a objetos es aquella en la que trabajamos con objetos visibles, cada uno de los cuales posee sus propias caractersticas, mtodos y eventos. La

programacin orientada a objetos, tambin llamada lenguaje de quinta generacin, toma como entidad principal los objetos de la naturaleza misma que contienen sus propias caractersticas y alguna funcin de utilidad. En el mundo real un objeto es cualquier cosa material y determinada que tiene alguna funcin de utilidad y que posee caractersticas o propiedades iguales o distintas a la de otros objetos, por ejemplo, un carro, una computadora, un televisor, un celular, etc. En el mundo de las computadoras un objeto es todo lo que se ve en una aplicacin tpica de Windows, Linux, Beos, etc. Los objetos son, por ejemplo, un botn de comando, una caja de texto, una imagen, un botn de opcin, una lista desplegable, una barra de desplazamiento, en general todo objeto visible que usted puede observar en la pantalla. No podemos definir un objeto como algo que simplemente se ve en la pantalla, un objeto es algo ms abstracto y de inmensa profusin de datos. Un objeto posee caractersticas o propiedades que definen su aspecto exterior, por ejemplo, el color, el tamao, el estilo, etc. Un objeto tambin posee mtodos y eventos que son elementos significativos del objeto. Estos dos ltimos elementos los explicaremos ms adelante. LENGUAJES ORIENTADOS A OBJETOS Se le llama as a cualquier lenguaje de programacin que implemente los conceptos definidos por la programacin orientada a objetos. Ejemplos de lenguajes orientados a objeto

C++ Objective C Java Smalltalk Eiffel Lexico (en castellano) Ruby Python OCAML Object Pascal CLIPS Visual .net Java Actionscript COBOL Perl C# Visual Basic.NET PHP

COMPLEJIDAD VS DIFICULTAD Dicho lenguaje es muy simple o nada complicado, pero estructurar programas a ese nivel es muy difcil. Dado que este lenguaje viene dado por las especificaciones tcnicas del hardware, no permite una abstraccin fuera de lo estipulado para el microprocesador de un ordenador. Consecuentemente, es fcilmente trasladado a lenguaje de mquina. La estructura de los lenguajes son como sigue: 1. Lenguaje Mquina - Las invocaciones a memoria, como los procesos aritmtico lgicos son posiciones literales de conmutadores fsicos del hardware en su representacin booleana. Estos lenguajes son literales de tareas. 2. Lenguajes de bajo nivel - Son instrucciones que ensamblan los grupos de conmutadores necesarios para expresar una mnima lgica aritmtica. Estn ntimamente vinculados al hardware. Por norma general estn disponibles a nivel firmware, cmos o chip set. Estos lenguajes estn orientados a procesos. Los procesos se componen de tareas. Contienen tantas instrucciones como la arquitectura del hardware as haya sido diseada.

Por ejemplo: La arquitectura CISC contiene muchas mas instrucciones a este nivel, que la RISC. Son denominados como ensambladores de un hardware concreto.

Lenguajes de medio nivel - Son aquellos que, basndose en los juegos de instrucciones disponibles (chip set), permiten el uso de funciones a nivel aritmtico, pero a nivel lgico dependen de literales en ensamblador. Estos lenguajes estn orientados a procedimientos. Los procedimientos se componen de procesos.

Ejemplos: C, Basic.

Lenguajes de alto nivel - Son aquellos que permiten una mxima flexibilidad al programador a la hora de abstraerse o de ser literal. Permiten un camino bidireccional entre el lenguaje mquina y una expresin casi oral entre la escritura del programa y su posterior compilacin. Estos lenguajes estn orientados a objetos. Los objetos se componen de propiedades cuya naturaleza emerge de procedimientos.

Ejemplos: C++, Fortran, Cobol, Lisp.

Lenguajes de aplicaciones - Son aquellos que no permiten una bidireccionalidad conceptual entre el lenguaje mquina y los lenguajes de alto nivel, ni tampoco la literalidad a la hora de invocar conceptos lgicos. Se basan en libreras creadas en lenguajes de alto nivel. Pueden permitir la creacin de nuevas libreras, pero son propietarias y dependientes de las suministradas por la aplicacin. Estos lenguajes estn orientados a eventos. Los eventos acontecen cuando las propiedades de un objeto interactan con otro.

Ejemplos: Visual Basic para aplicaciones.

Lenguajes de redes - Son aquellos que se basan en un convenio de instrucciones totalmente independientes de la mquina, y completamente dependientes de la red a la que estn orientadas. Se dividen en descriptivos (HTML, XML, VML), de cliente-Servidor (Java, PHP) y de script.

La palabra bajo no implica que el lenguaje sea inferior a un lenguaje de alto nivel; se refiere a la reducida abstraccin entre el lenguaje y el hardware. Por ejemplo, se utiliza este tipo de lenguajes para programar controladores de dispositivos.

Interaccin Mquina Vs Humano En este tipo de lenguajes se trabaja a nivel de instrucciones, es decir, su programacin es al ms fino detalle, adems, est completamente orientado a la mquina.

Adaptacin - Mxima entre programacin y aprovechamiento del recurso de la mquina. Velocidad - Mxima al contar con un acceso directo a los recursos, sin capas intermedias. Portabilidad - Mnima por estar restringido a las especificaciones del fabricante. Abstraccin - Mnima por depender completamente de la tcnica del hardware. Uso - Requiere de la mxima atencin y de una organizacin estructurada en base a los planos del hardware y del objetivo del software.

Primera generacin El lenguaje de programacin de primera generacin (por sus siglas en ingls: 1GL), es el lenguaje de cdigo mquina. Es el nico lenguaje que un microprocesador entiende de forma nativa. El lenguaje mquina no puede ser escrito o ledo usando un editor de texto, y por lo tanto es raro que una persona lo use directamente. Segunda generacin El lenguaje de programacin de segunda generacin (por sus siglas en ingls: 2GL), es el lenguaje ensamblador. Se considera de segunda generacin porque, aunque no es lenguaje nativo del microprocesador, un programador de lenguaje ensamblador debe conocer la arquitectura del microprocesador (como por ejemplo las particularidades de sus registros o su conjunto de instrucciones).

TIPO DE DATO ENTERO (INT) Un tipo de dato entero en computacin es un tipo de dato que puede representar un subconjunto finito de los nmeros enteros. El nmero mayor que puede representar depende del tamao del espacio usado por el dato y la posibilidad (o no) de representar nmeros negativos. Los tipos de dato entero disponibles y su tamao dependen del lenguaje de programacin usado as como la arquitectura en cuestin. Por ejemplo, si para almacenar un nmero entero disponemos de 4 bytes de memoria tememos que: 4 Bytes = 4x8 = 32 bits Con 32 bits se pueden representar 232=4294967296 valores: Slo positivos: del 0 al 4294967295

Positivos y negativos: del -2147483648 al 2147483647

TIPOS DE DATOS EN COMA FLOTANTE

Se usan para representar nmeros con partes fraccionarias. Hay dos tipos de coma flotante: float y double. El primero reserva almacenamiento para un nmero de precisin simple de 4 bytes y el segundo lo hace para un numero de precisin doble de 8 bytes.

Tipo: float

4 Bytes (32 bits) double

8 Bytes (64 bits) TIPOS DE DATOS En lenguajes de programacin un tipo de dato es un atributo de una parte de los datos que indica al ordenador (y/o al programador) algo sobre la clase de datos sobre los que se va a procesar. En un sentido amplio, un tipo de datos define un conjunto de valores y las operaciones sobre estos valores. Casi todos los lenguajes de programacin explcitamente incluyen la notacin del tipo de datos, aunque lenguajes diferentes pueden usar terminologa diferente.

La mayor parte de los lenguajes de programacin permiten al programador definir tipos de datos adicionales, normalmente combinando mltiples elementos de otros tipos y definiendo las operaciones del nuevo tipo de dato. Por ejemplo, un programador puede crear un nuevo tipo de dato llamado "Persona" que especifica que el dato interpretado como Persona incluir un nombre y una fecha de nacimiento.

TIPO DE DATO CARCTER (CHAR) Es cualquier signo tipogrfico, puede ser una letra, un nmero, un signo de puntuacin o un espacio. Este trmino se usa mucho en computacin. Un valor de tipo carcter es cualquier carcter que se encuentre dentro del conjunto ASCII ampliado, el cual est formado por los 128 caracteres del ASCII ms los 128 caracteres especiales que presenta, en este caso, IBM. Los valores ordinales del cdigo ASCII ampliado se encuentran en el rango de 0 a 255. Dichos valores pueden representarse escribiendo el carcter correspondiente encerrado entre comillas simples (apstrofos). As, podemos escribir:

'A' < 'a Que significa: "El valor ordinal de A es menor que el de a" o "A est antes que a" Un valor de tipo carcter (char en ingls) se guarda en un byte de memoria.

La nica operacin (adems de las relacionales) que podemos hacer con caracteres es la concatenacin concatenando dos caracteres, por ejemplo 'a' y 'X' obtendramos la cadena "aX".

TIPO DE DATO LGICO El tipo de dato lgico o booleano es en computacin aquel que puede representar valores de lgica binaria, esto es, valores que representen falso o verdadero. Se utiliza normalmente en programacin, estadstica, electrnica, matemticas (lgebra booleana), etc... Para generar un dato o valor lgico a partir de otros tipos de datos, tpicamente, se emplean los operadores relacionales (u operadores de relacin), por ejemplo: 0 es igual a falso y 1 es igual a verdadero (3>2)= 1 = verdadero (7>9)= 0 = falso

PALABRA RESERVADA una palabra reservada es una palabra que tiene un significado Gramatical especial para ese lenguaje y no puede ser utilizada como un identificador en ese lenguaje. Por ejemplo, en SQL, un usuario no puede ser llamado "group", porque la palabra group es usada para indicar que un identificador se refiere a un grupo, no a un usuario. Al tratarse de una palabra clave su uso queda restringido. Ocasionalmente la especificacin de un lenguaje de programacin puede tener palabras reservadas que estn previstas para un posible uso en futuras versiones.

En Java const y goto son palabras reservadas no tienen significado en Java, pero tampoco pueden ser usadas como identificadores. Al reservar los trminos pueden ser implementados en futuras versiones de Java, si se desea, sin que el cdigo fuente ms antiguo escrito en Java deje de funcionar.

Das könnte Ihnen auch gefallen