leccion 1.2 tipos de lenguajes de programacion

Upload: idsystems

Post on 08-Apr-2018

230 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/6/2019 Leccion 1.2 Tipos de Lenguajes de Programacion

    1/21

    [ PROGRAMACION II ] IDSYSTEMS 2011

    LECCION 1.2 TIPOS DE LENGUAJES

    Unlenguaje de programacin" es un lenguaje diseado para describir el conjunto de accionesconsecutivas que un equipo debe ejecutar. Por lo tanto, un lenguaje de programacin es un modo prctico para que los seres humanos puedan dar instrucciones a un equipo.

    Por otro lado, el trmino "lenguaje natural" define un medio de comunicacin compartido por unde personas (por ejemplo: ingls o francs).

    Los lenguajes que los equipos usan para comunicarse entre ellos no tienen nada que ver con loslenguajes de programacin; se los conoce como protocolos de comunicacin. Se trata de dos conceptostotalmente diferentes. Un lenguaje de programacin es muy estricto:

    A CADA instruccin le corresponde UNA accin de procesador.

    El lenguaje utilizado por el procesador se denominalenguaje mquina. Se trata de datos tal comollegan al procesador, que consisten en una serie de 0 y 1 (datos binarios).

    El lenguaje mquina, por lo tanto, no es comprensible para los seres humanos, razn por la cual sdesarrollado lenguajes intermediarios comprensibles para el hombre. El cdigo escrito en este tiplenguaje se transforma en cdigo mquina para que el procesador pueda procesarlo.

    El ensamblador fue el primer lenguaje de programacin utilizado. Es muy similar al lenguaje m pero los desarrolladores pueden comprenderlo. No obstante, este lenguaje se parece tanto al lengmquina que depende estrictamente del tipo de procesador utilizado (cada tipo de procesador pue

    tener su propio lenguaje mquina). As, un programa desarrollado para un equipo no puede ser portado aotro tipo de equipo. El trmino "portabilidad" describe la capacidad de usar un programa de softwareen diferentes tipos de equipos. Para poder utilizar un programa de software escrito en un cdigoensamblador en otro tipo de equipo, a veces ser necesario volver a escribir todo el programa!

    Por lo tanto, un lenguaje de programacin tiene varias ventajas:

    es mucho ms fcil de comprender que un lenguaje mquina: permite mayor portabilidad, es decir que puede adaptarse fcilmente para ejecutarse en dif

    tipos de equipos.

    GRUPOS

    Los tipos de lenguajes de programacin los podemos clasificar en dos grandes grupos. Los lengu programacin de bajo nivel y los de alto nivel. El tipo de lenguaje de programacin de bajo niveldepende totalmente de la mquina, en este caso de la computadora u ordenador, estos solos entien

    LECCION 1.2 Tipos de lenguajes de programacion Pgina 1

    http://es.kioskea.net/contents/internet/protocol.php3http://es.kioskea.net/contents/pc/processeur.php3http://es.kioskea.net/contents/base/binaire.php3http://es.kioskea.net/contents/pc/processeur.php3http://es.kioskea.net/contents/base/binaire.php3http://es.kioskea.net/contents/internet/protocol.php3
  • 8/6/2019 Leccion 1.2 Tipos de Lenguajes de Programacion

    2/21

    [ PROGRAMACION II ] IDSYSTEMS 2011

    lenguaje binario o el cdigo mquina, que consiste en ceros y unos. Es decir, que para realizar cuaccin, solo utilizan este tipo de lenguaje de programacin.

    Los lenguajes de programacin ms cercanos a la arquitectura del hardware pertenecen al tipo delenguajes de programacin de bajo nivel. Mientras que los lenguajes de programacin que se enc

    ms prximos a los usuarios y programadores pertenecen al tipo de lenguajes de programacin dnivel.

    El tipo de lenguaje de programacin de bajo nivel es totalmente dependiente de la computadora uordenador, es decir que no podemos utilizarlo en cualquier otra. Este tipo de lenguaje de programest prcticamente diseado a la medida del hardware y aprovecha las caractersticas de este. Deneste tipo de lenguajes de programacin podemos citar al lenguaje mquina y al lenguaje ensambl

    Dentro del tipo de lenguajes de programacin de alto nivel tenemos a todos aquellos lenguajes de programacin que son ms afines al lenguaje natural que al lenguaje mquina. Estos lenguajes de programacin son completamente independientes de la arquitectura del hardware de la computad

    ordenador. Por lo que en general, un programa escrito con un lenguaje de programacin de alto n podemos utilizar en cualquier otra computadora.

    Estos lenguajes de programacin de alto nivel solo necesitan un traductor que entienda el cdigoy las caractersticas de la mquina para poder funcionar correctamente.

    Tambin es conocido el tipo de lenguaje de programacin de medio nivel, que esuna mezcla entre los dos anteriores. A este tipo de lenguajes de programacin pertenecentodos aquellos lenguajes que llevan a cabo acciones como: acceder a registros delsistema, usar direcciones de memoria (caractersticas de los lenguajes de programacinde bajo nivel) pero a la vez efectan operaciones de los lenguajes de alto nivel. Dentro deeste tipo de lenguajes de programacin de nivel medio tenemos al lenguaje deprogramacin C.

    Lenguajes de programacin imperativos y funcionalesLos lenguajes de programacin generalmente se dividen en dos grupos principales en base al procesamiento de sus comandos:

    lenguajes imperativos;

    lenguajes funcionales.Lenguaje de programacin imperativo

    Un lenguaje imperativo programa mediante una serie de comandos, agrupados en bloques y comde rdenes condicionales que permiten al programa retornar a un bloque de comandos si se cumpcondicin. Estos fueron los primeros lenguajes de programacin en uso y an hoy muchos lenguamodernos usan este principio.

    LECCION 1.2 Tipos de lenguajes de programacion Pgina 2

  • 8/6/2019 Leccion 1.2 Tipos de Lenguajes de Programacion

    3/21

    [ PROGRAMACION II ] IDSYSTEMS 2011

    No obstante, los lenguajes imperativos estructurados carecen de flexibilidad debido a la secuencide las instrucciones.

    Lenguaje de programacin funcional

    Unlenguaje de programacin funcional(a menudo llamadolenguaje procedimental ) es un lenguajeque crea programas mediante funciones, devuelve un nuevo estado de resultado y recibe como enresultado de otras funciones. Cuando una funcin se invoca a s misma, hablamos de recursividad

    Interpretacin y compilacinLos lenguajes de programacin pueden, en lneas generales, dividirse en dos categoras:

    lenguajes interpretados lenguajes compilados

    Lenguaje interpretado

    Un lenguaje de programacin es, por definicin, diferente al lenguaje mquina. Por lo tanto, debetraducirse para que el procesador pueda comprenderlo. Un programa escrito en un lenguaje interprequiere de un programa auxiliar (el intrprete), que traduce los comandos de los programas segnecesario.

    Lenguaje compilado

    Un programa escrito en un lenguaje "compilado" se traduce a travs de un programa anexo llamado

    compiladorque, a su vez, crea un nuevo archivo independiente que no necesita ningn otro progr para ejecutarse a s mismo. Este archivo se llamaejecutable.

    Un programa escrito en un lenguaje compilado posee la ventaja de no necesitar un programa aneser ejecutado una vez que ha sido compilado. Adems, como slo es necesaria una traduccin, laejecucin se vuelve ms rpida.Sin embargo, no es tan flexible como un programa escrito en lenguaje interpretado, ya que cadamodificacin del archivo fuente (el archivo comprensible para los seres humanos: el archivo a corequiere de la compilacin del programa para aplicar los cambios.

    Por otra parte, un programa compilado tiene la ventaja de garantizar la seguridad del cdigo fuenefecto, el lenguaje interpretado, al ser directamente un lenguaje legible, hace que cualquier perso pueda conocer los secretos de fabricacin de un programa y, de ese modo, copiar su cdigo o incmodificarlo. Por lo tanto, existe el riesgo de que los derechos de autor no sean respetados. Por otrciertas aplicaciones aseguradas necesitan confidencialidad de cdigo para evitar las copias ilegale(transacciones bancarias, pagos en lnea, comunicaciones seguras...).

    LECCION 1.2 Tipos de lenguajes de programacion Pgina 3

  • 8/6/2019 Leccion 1.2 Tipos de Lenguajes de Programacion

    4/21

    [ PROGRAMACION II ] IDSYSTEMS 2011

    Lenguajes intermediarios

    Algunos lenguajes pertenecen a ambas categoras (LISP, Java, Python...) dado que el programa een estos lenguajes puede, en ciertos casos, sufrir una fase de compilacin intermediaria, en un arcescrito en un lenguaje ininteligible (por lo tanto diferente al archivo fuente ) y no ejecutable (requ

    un interprete). Los applets Java, pequeos programas que a menudo se cargan en pginas web, soarchivos compilados que slo pueden ejecutarse dentro de un navegador web (son archivos con lextensin .class).

    Algunos ejemplos de lenguajes ampliamente usadosA continuacin, encontrar una breve lista de los lenguajes de programacin actuales:

    Lenguaje Principal rea de aplicacin Compilado/interpretadoADA Tiempo real Lenguaje compilado

    BASIC Programacin para fines educativos Lenguaje interpretadoC Programacin de sistema Lenguaje compiladoC++ Programacin de sistema orientado a objeto Lenguaje compiladoCobol Administracin Lenguaje compiladoFortran Clculo Lenguaje compiladoJava Programacin orientada a Internet Lenguaje intermediarioMATLAB Clculos matemticos Lenguaje interpretadoClculos matemticos Clculos matemticos Lenguaje interpretadoLISP Inteligencia artificial Lenguaje intermediarioPascal Educacin Lenguaje compilado

    PHP Desarrollo de sitios web dinmicos Lenguaje interpretadoInteligencia artificial Inteligencia artificial Lenguaje interpretadoPerl Procesamiento de cadenas de caracteres Lenguaje interpretado

    1.1.HISTORIADE LOS LENGUAJES DE PROGRAMACIN

    Los primeros lenguajes de programacin surgieron de la idea de Charles Babagge, la cual se le oestehombre a mediados del siglo XIX. Era un profesor matemtico de la universidadde Cambridge einventor ingles, que la principio del siglo XIX predijo muchas de las teorasen que se basan los actuales

    ordenadores. Consista en lo que l denominaba la maquina analtica, pero que por motivos tcni pudo construirse hasta mediados del siglo XX. Con l colaboro Ada Lovedby, la cual es considercomo la primera programadora de la historia, pues realizo programas para aqulla supuesta maquBabagge, entarjetasperforadas.

    Como la maquina no llego nunca a construirse, los programas de Ada, lgicamente, tampoco llegejecutarse, pero si suponen un punto de partida de la programacin, sobre todo si observamos qucuanto se empez a programar, los programadores utilizaron lastcnicasdiseadas por Charles

    LECCION 1.2 Tipos de lenguajes de programacion Pgina 4

    http://www.monografias.com/Historia/index.shtmlhttp://www.monografias.com/trabajos15/fundamento-ontologico/fundamento-ontologico.shtmlhttp://www.monografias.com/trabajos15/fundamento-ontologico/fundamento-ontologico.shtmlhttp://www.monografias.com/trabajos27/profesor-novel/profesor-novel.shtmlhttp://www.monografias.com/trabajos27/profesor-novel/profesor-novel.shtmlhttp://www.monografias.com/trabajos13/admuniv/admuniv.shtmlhttp://www.monografias.com/trabajos13/admuniv/admuniv.shtmlhttp://www.monografias.com/trabajos4/epistemologia/epistemologia.shtmlhttp://www.monografias.com/trabajos4/epistemologia/epistemologia.shtmlhttp://www.monografias.com/trabajos10/tarin/tarin.shtmlhttp://www.monografias.com/trabajos6/juti/juti.shtmlhttp://www.monografias.com/Historia/index.shtmlhttp://www.monografias.com/trabajos15/fundamento-ontologico/fundamento-ontologico.shtmlhttp://www.monografias.com/trabajos27/profesor-novel/profesor-novel.shtmlhttp://www.monografias.com/trabajos13/admuniv/admuniv.shtmlhttp://www.monografias.com/trabajos4/epistemologia/epistemologia.shtmlhttp://www.monografias.com/trabajos10/tarin/tarin.shtmlhttp://www.monografias.com/trabajos6/juti/juti.shtml
  • 8/6/2019 Leccion 1.2 Tipos de Lenguajes de Programacion

    5/21

    [ PROGRAMACION II ] IDSYSTEMS 2011

    Babagge, y Ada, que consistan entre otras, en la programacin mediante tarjetas perforadas. A pello, Ada ha permanecido como la primera programadora de la historia. Se dice por tanto que estgenios de antao, se adelantaron un siglo a su poca, lo cual describe lainteligenciade la que sehallaban dotados.

    En 1823 elgobiernoBritnico lo apoyo para crear el proyecto de una mquina de diferencias, undispositivo mecnico para efectuar sumas repetidas. Pero Babagge se dedico al proyecto de la manaltica, abandonando la maquina de diferencias, que se pudiera programar con tarjetas perforadgracias a la creacin de Charles Jacquard (francs). Este hombre era un fabricante detejidosy habacreado un telar que poda reproducir automticamente patrones de tejidos, leyendo lainformacin codificada en patrones de agujeros perforados en tarjetas de papel rgido. Entonces Babagge intecrear la mquina que se pudiera programar con tarjetas perforadas para efectuar cualquier clculoconuna precisin de 20 dgitos. Pero latecnologade la poca no bastaba para hacer realidad sus ideas. Si bien las ideas de Babagge no llegaron a materializarse de forma definitiva, su contribucin es decya que los ordenadores actuales responden a un esquema anlogo al de la mquina analtica. En sdiseo, la mquina constaba de cinco unidades bsicas: 1) Unidad de entrada, para introducir datose

    instrucciones; 2)Memoria, donde se almacenaban datos y resultados intermedios; 3) Unidad decontrol, para regular la secuencia de ejecucin de las operaciones; 4) Unidad Aritmtico-Lgica, que efecta lasoperaciones; 5) Unidad de salida, encargada de comunicar al exterior los resultados. Charles Babconocido como el "padre de lainformtica" no pudo completar en aquella poca laconstruccindelcomputador que haba soado, dado que faltaba algo fundamental: la electrnica. El camino sealado deBabbage, no fue nunca abandonado y siguindolo, se construyeron las primerascomputadoras.

    1.2. LENGUAJES DE MQUINA

    El lenguaje mquina de una computadora consta de cadenas de nmeros binarios (ceros y unos) y es enico que "entienden" directamente los procesadores. Todas las instrucciones preparadas en cualquier

    lenguajede mquina tienen por lo menos dos partes. La primera es elcomando u operacin, que dice ala computadora cul es lafuncinque va a realizar. Todas lascomputadorastienen uncdigo deoperacin para cada una de susfunciones. La segunda parte de la instruccin es eloperando, que indicaa la computadora dnde hallar o almacenar los datosy otras instrucciones que se van a manipular; elnmero de operandos de una instruccin vara en las distintas computadoras. En una computadoroperando nico, el equivalente binario de "SUMAR 0814" podra hacer que se sume el valor que seencuentra en la localidad dealmacenamientoo direccin 0814 al valor que se encuentra en la unidadaritmticalgica. En una mquina dedos operandos, la representacin binaria de "SUMAR 0814 8672 podra hacer que se sume el valor que est en la localidad 8672 al valor que est en ladireccin0814. Elformato de operando nico es popular en las microcomputadoras ms pequeas; laestructurade dosoperandos se encuentra en casi todas las demsmquinas.

    Segn los estndares actuales, las primeras computadoras eran poco tolerantes. Los programadortenan que traducir las instrucciones de manera directa a la forma de lenguaje de mquina quecomprendan las computadoras. Por ejemplo, un programador que escribiera la instruccin "SUM0814" para una de las primeras mquinas IBM hubiera escrito:

    000100000000000000000000000010111000

    LECCION 1.2 Tipos de lenguajes de programacion Pgina 5

    http://www.monografias.com/trabajos15/inteligencia-emocional/inteligencia-emocional.shtmlhttp://www.monografias.com/trabajos4/derpub/derpub.shtmlhttp://www.monografias.com/trabajos12/pmbok/pmbok.shtmlhttp://www.monografias.com/trabajos12/pmbok/pmbok.shtmlhttp://www.monografias.com/trabajos5/lacel/lacel.shtmlhttp://www.monografias.com/trabajos7/sisinf/sisinf.shtmlhttp://www.monografias.com/trabajos7/caes/caes.shtmlhttp://www.monografias.com/Tecnologia/index.shtmlhttp://www.monografias.com/trabajos13/diseprod/diseprod.shtmlhttp://www.monografias.com/trabajos11/basda/basda.shtmlhttp://www.monografias.com/trabajos13/memor/memor.shtmlhttp://www.monografias.com/trabajos14/control/control.shtmlhttp://www.monografias.com/trabajos14/control/control.shtmlhttp://www.monografias.com/trabajos15/logica-metodologia/logica-metodologia.shtmlhttp://www.monografias.com/trabajos11/curinfa/curinfa.shtmlhttp://www.monografias.com/trabajos35/materiales-construccion/materiales-construccion.shtmlhttp://www.monografias.com/trabajos5/electro/electro.shtmlhttp://www.monografias.com/trabajos5/electro/electro.shtmlhttp://www.monografias.com/trabajos5/electro/electro.shtmlhttp://www.monografias.com/trabajos15/computadoras/computadoras.shtmlhttp://www.monografias.com/trabajos15/computadoras/computadoras.shtmlhttp://www.monografias.com/trabajos15/computadoras/computadoras.shtmlhttp://www.monografias.com/trabajos15/computadoras/computadoras.shtmlhttp://www.monografias.com/trabajos15/computadoras/computadoras.shtmlhttp://www.monografias.com/trabajos5/sisope/sisope.shtmlhttp://www.monografias.com/trabajos5/sisope/sisope.shtmlhttp://www.monografias.com/trabajos35/concepto-de-lenguaje/concepto-de-lenguaje.shtmlhttp://www.monografias.com/trabajos15/computadoras/computadoras.shtmlhttp://www.monografias.com/trabajos15/computadoras/computadoras.shtmlhttp://www.monografias.com/trabajos7/mafu/mafu.shtmlhttp://www.monografias.com/trabajos15/computadoras/computadoras.shtmlhttp://www.monografias.com/trabajos7/mafu/mafu.shtmlhttp://www.monografias.com/trabajos11/basda/basda.shtmlhttp://www.monografias.com/trabajos11/basda/basda.shtmlhttp://www.monografias.com/trabajos14/nuevmicro/nuevmicro.shtmlhttp://www.monografias.com/trabajos14/nuevmicro/nuevmicro.shtmlhttp://www.monografias.com/trabajos12/dispalm/dispalm.shtmlhttp://www.monografias.com/trabajos15/logica-metodologia/logica-metodologia.shtmlhttp://www.monografias.com/trabajos15/logica-metodologia/logica-metodologia.shtmlhttp://www.monografias.com/trabajos15/direccion/direccion.shtmlhttp://www.monografias.com/trabajos15/todorov/todorov.shtml#INTROhttp://www.monografias.com/trabajos6/auti/auti.shtmlhttp://www.monografias.com/trabajos6/auti/auti.shtmlhttp://www.monografias.com/trabajos15/inteligencia-emocional/inteligencia-emocional.shtmlhttp://www.monografias.com/trabajos4/derpub/derpub.shtmlhttp://www.monografias.com/trabajos12/pmbok/pmbok.shtmlhttp://www.monografias.com/trabajos5/lacel/lacel.shtmlhttp://www.monografias.com/trabajos7/sisinf/sisinf.shtmlhttp://www.monografias.com/trabajos7/caes/caes.shtmlhttp://www.monografias.com/Tecnologia/index.shtmlhttp://www.monografias.com/trabajos13/diseprod/diseprod.shtmlhttp://www.monografias.com/trabajos11/basda/basda.shtmlhttp://www.monografias.com/trabajos13/memor/memor.shtmlhttp://www.monografias.com/trabajos14/control/control.shtmlhttp://www.monografias.com/trabajos15/logica-metodologia/logica-metodologia.shtmlhttp://www.monografias.com/trabajos11/curinfa/curinfa.shtmlhttp://www.monografias.com/trabajos35/materiales-construccion/materiales-construccion.shtmlhttp://www.monografias.com/trabajos5/electro/electro.shtmlhttp://www.monografias.com/trabajos15/computadoras/computadoras.shtmlhttp://www.monografias.com/trabajos15/computadoras/computadoras.shtmlhttp://www.monografias.com/trabajos5/sisope/sisope.shtmlhttp://www.monografias.com/trabajos35/concepto-de-lenguaje/concepto-de-lenguaje.shtmlhttp://www.monografias.com/trabajos15/computadoras/computadoras.shtmlhttp://www.monografias.com/trabajos7/mafu/mafu.shtmlhttp://www.monografias.com/trabajos15/computadoras/computadoras.shtmlhttp://www.monografias.com/trabajos7/mafu/mafu.shtmlhttp://www.monografias.com/trabajos11/basda/basda.shtmlhttp://www.monografias.com/trabajos14/nuevmicro/nuevmicro.shtmlhttp://www.monografias.com/trabajos12/dispalm/dispalm.shtmlhttp://www.monografias.com/trabajos15/logica-metodologia/logica-metodologia.shtmlhttp://www.monografias.com/trabajos15/direccion/direccion.shtmlhttp://www.monografias.com/trabajos15/todorov/todorov.shtml#INTROhttp://www.monografias.com/trabajos6/auti/auti.shtml
  • 8/6/2019 Leccion 1.2 Tipos de Lenguajes de Programacion

    6/21

    [ PROGRAMACION II ] IDSYSTEMS 2011

    Adems de recordar las docenas de cdigos numricos para loscomandosdel conjunto de instruccionesde la mquina, el programador tena que conocer las posiciones donde se almacenan los datos y linstrucciones. Lacodificacin inicial muchas veces requera meses, por lo que era costosa y erafrecuente que originara errores. Revisar las instrucciones para localizar errores era casi tan tediosescribirlas por primera vez. Adems, si era necesario modificar un programa posteriormente, la tarea

    poda llevarse meses.1.3. LENGUAJES ENSAMBLADORES

    A principiosde la dcada de 1950, y con el fin de facilitar la labor de los programadores, sedesarrollaron cdigosnemotcnicos para lasoperaciones y direcciones simblicas. La palabranemotcnico se refiere a una ayuda para la memorizacin. Uno de los primeros pasos para mejor proceso de preparacin de programas fue sustituir los cdigos de operaciones numricos del lenguajemquina por smbolosalfabticos, que son los cdigos nemotcnicos. Todas las computadoras actuatienencdigos nemotcnicos aunque, naturalmente, los smbolos que se usan varan en las diferentesmarcasy modelos. La computadora sigue utilizandoel lenguajede mquina para procesar los datos,

    pero los programasensambladores traducen antes los smbolos decdigode operacin especificados asus equivalentes en lenguaje de mquina.

    Este procedimientoprepar avances posteriores. Si la computadora era capaz de traducir smbolosconvenientes en operaciones bsicas, por qu no hacer tambin que realizara otras funciones rutde codificacin, como la asignacin de direcciones de almacenamiento a los datos? La tcnica dedireccionamiento simblico permite expresar una direccin no en trminos de su localizacin numrabsoluta, sino en trminos de smbolos convenientes para el programador.

    Durante las primeras etapas del direccionamiento simblico, el programador asigna un nombresimblico y una direccin real a un dato. Por ejemplo, el programador podra asignar el valor tota

    mercanca adquirida durante un mes por unclientede una tienda de departamentos a la direccin 0063darle el nombre simblico TOTAL. Se podra asignar el valor de la mercanca devuelta sin usar del mes a la direccin 2047 y drsele el nombre simblicoCRDITO. As, durante el resto del programa,el programador se referir a losnombres simblicos, ms que a las direcciones, cuando fuera preciso procesar estos datos. Por ejemplo, se podra escribir la instruccin "S CRDITO TOTAL" para revalor de las mercancas devueltas del importa total decompraspara obtener el importe de la factura mensual del cliente. A continuacin, el programaensamblador traducira la instruccin simblica a estacadena de bits:

    Ms adelante se hizo otra mejora. Se dej a la computadora la tarea de asignar y recordar las direde las instrucciones. Lo nico que tena que hacer el programador era indicar a la computadora ladireccin de la primera instruccin, y el programa ensamblador se encargaba de almacenar, de mautomtica, todas las dems en forma secuencial a partir de ese punto. As, si se agregaba ms tarinstruccin al programa, no era necesario modificar las direcciones de todas las instrucciones que

    LECCION 1.2 Tipos de lenguajes de programacion Pgina 6

    http://www.monografias.com/trabajos7/coman/coman.shtmlhttp://www.monografias.com/trabajos37/codificacion/codificacion.shtmlhttp://www.monografias.com/trabajos37/codificacion/codificacion.shtmlhttp://www.monografias.com/Computacion/Programacion/http://www.monografias.com/Computacion/Programacion/http://www.monografias.com/trabajos6/etic/etic.shtmlhttp://www.monografias.com/trabajos6/diop/diop.shtmlhttp://www.monografias.com/trabajos6/diop/diop.shtmlhttp://www.monografias.com/trabajos14/administ-procesos/administ-procesos.shtml#PROCEhttp://www.monografias.com/trabajos14/administ-procesos/administ-procesos.shtml#PROCEhttp://www.monografias.com/Computacion/Programacion/http://www.monografias.com/Computacion/Programacion/http://www.monografias.com/Computacion/Programacion/http://www.monografias.com/trabajos36/signos-simbolos/signos-simbolos.shtmlhttp://www.monografias.com/trabajos16/marca/marca.shtmlhttp://www.monografias.com/trabajos/adolmodin/adolmodin.shtmlhttp://www.monografias.com/trabajos16/desarrollo-del-lenguaje/desarrollo-del-lenguaje.shtmlhttp://www.monografias.com/trabajos12/eticaplic/eticaplic.shtmlhttp://www.monografias.com/trabajos13/mapro/mapro.shtmlhttp://www.monografias.com/trabajos11/sercli/sercli.shtmlhttp://www.monografias.com/trabajos15/financiamiento/financiamiento.shtmlhttp://www.monografias.com/trabajos15/financiamiento/financiamiento.shtmlhttp://www.monografias.com/trabajos5/elciclo/elciclo.shtmlhttp://www.monografias.com/trabajos14/documenmercant/documenmercant.shtml#FACThttp://www.monografias.com/trabajos14/documenmercant/documenmercant.shtml#FACThttp://www.monografias.com/trabajos14/lenguaje-ensamblador/lenguaje-ensamblador.shtmlhttp://www.monografias.com/trabajos14/lenguaje-ensamblador/lenguaje-ensamblador.shtmlhttp://www.monografias.com/trabajos7/coman/coman.shtmlhttp://www.monografias.com/trabajos37/codificacion/codificacion.shtmlhttp://www.monografias.com/Computacion/Programacion/http://www.monografias.com/trabajos6/etic/etic.shtmlhttp://www.monografias.com/trabajos6/diop/diop.shtmlhttp://www.monografias.com/trabajos14/administ-procesos/administ-procesos.shtml#PROCEhttp://www.monografias.com/Computacion/Programacion/http://www.monografias.com/trabajos36/signos-simbolos/signos-simbolos.shtmlhttp://www.monografias.com/trabajos16/marca/marca.shtmlhttp://www.monografias.com/trabajos/adolmodin/adolmodin.shtmlhttp://www.monografias.com/trabajos16/desarrollo-del-lenguaje/desarrollo-del-lenguaje.shtmlhttp://www.monografias.com/trabajos12/eticaplic/eticaplic.shtmlhttp://www.monografias.com/trabajos13/mapro/mapro.shtmlhttp://www.monografias.com/trabajos11/sercli/sercli.shtmlhttp://www.monografias.com/trabajos15/financiamiento/financiamiento.shtmlhttp://www.monografias.com/trabajos5/elciclo/elciclo.shtmlhttp://www.monografias.com/trabajos14/documenmercant/documenmercant.shtml#FACThttp://www.monografias.com/trabajos14/lenguaje-ensamblador/lenguaje-ensamblador.shtml
  • 8/6/2019 Leccion 1.2 Tipos de Lenguajes de Programacion

    7/21

    [ PROGRAMACION II ] IDSYSTEMS 2011

    seguan al punto de insercin (como tendra que hacerse en el caso de programas escritos en lengmquina). En vez de ello, el procesador ajustaba automticamente las localidades dememoriala prxima vez que se ejecutaba el programa.

    En la actualidad, los programadores no asignan nmeros de direccin reales a los datos simblico

    simplemente especifican dnde quieren que se coloque la primera localidad del programa, y el prensamblador se encarga de lo dems: asigna localidades tanto para las instrucciones como para lo

    Estos programas de ensamble, o ensamblador, tambin permite a la computadora convertir lasinstrucciones en lenguaje ensamblador del programador en su propio cdigo de mquina. Un prode instrucciones escrito en lenguaje ensamblador por un programador se llama programa fuente.Despus de que el ensamblador convierte el programa fuente en cdigo de mquina a ste se ledenomina programa objeto. Para los programadores es ms fcil escribir instrucciones en unlenguajeensamblador que en cdigos de lenguajes de mquina, pero es posible que se requieran dos corridacomputadora antes de que se puedan utilizar las instrucciones del programa fuente para producir salidas deseadas.

    Los lenguajes ensambladores tienenventajas sobre los lenguajes de mquina. Ahorrantiempo yrequieren menosatencin a detalles. Se incurren en menos errores y los que se cometen son ms fcde localizar. Adems, los programas en lenguaje ensamblador son ms fciles de modificar que lo programas en lenguaje de mquina. Pero existenlimitaciones . La codificacin en lenguaje ensambladores todava un proceso lento. Una desventaja importante de estos lenguajes es que tienen unaorientacina la mquina. Es decir, estn diseados para la marcay modeloespecfico de procesador que se utiliza,y es probable que, para una mquina diferente, se tengan que volver a codificar los programas.

    1.4. LENGUAJES DE ALTO NIVEL

    Los primeros programas ensambladores producan slo una instruccin en lenguaje de mquina pinstruccin del programa fuente. Para agilizar la codificacin, se desarrollaron programas ensambque podan producir una cantidadvariable de instrucciones en lenguaje de mquina por cada instruccindel programa fuente. Dicho de otra manera, una solamacroinstruccin poda producir varias lneas decdigo en lenguaje de mquina. Por ejemplo, el programador podra escribir "LEER ARCHIVO", y el programa traductor producira una serie detallada de instrucciones al lenguaje de mquina previa preparadas, con lo que se copiara un registro del archivo que estuviera leyendo el dispositivo de entraa la memoriaprincipal. As, el programador no se tena que ocupar de escribir una instruccin por operacin de mquina realizada.

    El desarrollode lastcnicasnemotcnicas y las macroinstrucciones condujo, a su vez, al desarrollo

    lenguajes de alto nivel que a menudo estn orientados hacia unaclasedeterminada de problemasde proceso. Por ejemplo, se han diseado varios lenguajes para procesar problemas cientfico-matemasimismo han aparecido otros lenguajes que hacen hincapi en las aplicaciones de proceso dearchivos.

    A diferencia de los programas de ensamble, los programas en lenguaje de alto nivel se pueden utcondiferentes marcas de computadores sin tener que hacer modificaciones considerables. Esto permireducir sustancialmente elcostode la reprogramacin cuando se adquiere equipo nuevo. Otras ventade los lenguajes de alto nivel son:

    LECCION 1.2 Tipos de lenguajes de programacion Pgina 7

    http://www.monografias.com/trabajos5/sisope/sisope.shtmlhttp://www.monografias.com/trabajos13/memor/memor.shtmlhttp://www.monografias.com/trabajos14/lenguaje-ensamblador/lenguaje-ensamblador.shtmlhttp://www.monografias.com/trabajos14/lenguaje-ensamblador/lenguaje-ensamblador.shtmlhttp://www.monografias.com/trabajos14/lenguaje-ensamblador/lenguaje-ensamblador.shtmlhttp://www.monografias.com/trabajos901/evolucion-historica-concepciones-tiempo/evolucion-historica-concepciones-tiempo.shtmlhttp://www.monografias.com/trabajos901/evolucion-historica-concepciones-tiempo/evolucion-historica-concepciones-tiempo.shtmlhttp://www.monografias.com/trabajos14/deficitsuperavit/deficitsuperavit.shtmlhttp://www.monografias.com/trabajos14/deficitsuperavit/deficitsuperavit.shtmlhttp://www.monografias.com/trabajos16/marca/marca.shtmlhttp://www.monografias.com/trabajos16/marca/marca.shtmlhttp://www.monografias.com/trabajos/adolmodin/adolmodin.shtmlhttp://www.monografias.com/trabajos7/arch/arch.shtmlhttp://www.monografias.com/trabajos7/regi/regi.shtmlhttp://www.monografias.com/trabajos7/regi/regi.shtmlhttp://www.monografias.com/trabajos7/regi/regi.shtmlhttp://www.monografias.com/trabajos16/memorias/memorias.shtmlhttp://www.monografias.com/trabajos16/memorias/memorias.shtmlhttp://www.monografias.com/trabajos12/desorgan/desorgan.shtmlhttp://www.monografias.com/trabajos6/juti/juti.shtmlhttp://www.monografias.com/trabajos901/debate-multicultural-etnia-clase-nacion/debate-multicultural-etnia-clase-nacion.shtmlhttp://www.monografias.com/trabajos15/calidad-serv/calidad-serv.shtml#PLANThttp://www.monografias.com/trabajos15/calidad-serv/calidad-serv.shtml#PLANThttp://www.monografias.com/trabajos7/arch/arch.shtmlhttp://www.monografias.com/trabajos7/coad/coad.shtml#costohttp://www.monografias.com/trabajos5/sisope/sisope.shtmlhttp://www.monografias.com/trabajos13/memor/memor.shtmlhttp://www.monografias.com/trabajos14/lenguaje-ensamblador/lenguaje-ensamblador.shtmlhttp://www.monografias.com/trabajos14/lenguaje-ensamblador/lenguaje-ensamblador.shtmlhttp://www.monografias.com/trabajos901/evolucion-historica-concepciones-tiempo/evolucion-historica-concepciones-tiempo.shtmlhttp://www.monografias.com/trabajos14/deficitsuperavit/deficitsuperavit.shtmlhttp://www.monografias.com/trabajos16/marca/marca.shtmlhttp://www.monografias.com/trabajos/adolmodin/adolmodin.shtmlhttp://www.monografias.com/trabajos7/arch/arch.shtmlhttp://www.monografias.com/trabajos7/regi/regi.shtmlhttp://www.monografias.com/trabajos16/memorias/memorias.shtmlhttp://www.monografias.com/trabajos12/desorgan/desorgan.shtmlhttp://www.monografias.com/trabajos6/juti/juti.shtmlhttp://www.monografias.com/trabajos901/debate-multicultural-etnia-clase-nacion/debate-multicultural-etnia-clase-nacion.shtmlhttp://www.monografias.com/trabajos15/calidad-serv/calidad-serv.shtml#PLANThttp://www.monografias.com/trabajos7/arch/arch.shtmlhttp://www.monografias.com/trabajos7/coad/coad.shtml#costo
  • 8/6/2019 Leccion 1.2 Tipos de Lenguajes de Programacion

    8/21

    [ PROGRAMACION II ] IDSYSTEMS 2011

    Son ms fciles de aprender que los lenguajes ensambladores.

    Se pueden escribir ms rpidamente.

    Permiten tener mejor documentacin. Son ms fciles de mantener.

    Un programador que sepa escribir programas en uno de estos lenguajes no est limitado a un solo tipo de mquina.

    2. LENGUAJES COMPILADOS Naturalmente, un programa que se escribe en un lenguaje de alto nivel tambin tiene que traducircdigo que pueda utilizar la mquina. Los programas traductores que pueden realizar esta operacllamancompiladores.stos, como los programas ensambladores avanzados, pueden generar muchlneas de cdigo de mquina por cada proposicin del programa fuente. Se requiere unacorrida decompilacin antes de procesar los datos de un problema.

    Loscompiladoresson aquellos cuya funcin es traducir un programa escrito en un determinado lena 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 comel programa, ya no aparecen errores en el cdigo.

    3. LENGUAJES INTERPRETADOSSe puede tambin utilizar una alternativa diferente de los compiladores para traducir lenguajes denivel. En vez de traducir el programa fuente y grabar en forma permanente el cdigo objeto que s produce durante la corrida de compilacin para utilizarlo en una corrida de produccinfutura, el programador slo carga el programa fuente en la computadora junto con los datos que se van a pA continuacin, un programa intrprete, almacenado en elsistema operativodel disco, o incluido demanera permanente dentro de la mquina, convierte cada proposicin del programa fuente en lende mquina conforme vaya siendo necesario durante el proceso de los datos. No se graba el cdigobjeto para utilizarlo posteriormente.

    La siguiente vez que se utilice una instruccin, se le debe interpretar otra vez y traducir a lenguajmquina. Por ejemplo, durante el procesamiento repetitivo de los pasos de un ciclo, cada instruccciclo tendr que volver a ser interpretado cada vez que se ejecute el ciclo, lo cual hace que el prosea ms lento en tiempo de ejecucin (porque se va revisando el cdigo en tiempo de ejecucin) ms rpido en tiempo dediseo (porque no se tiene que estar compilando a cada momento el cdigocompleto). El intrprete elimina la necesidad de realizar una corrida de compilacin despus de cmodificacin del programa cuando se quiere agregar funciones o corregir errores; pero es obvio q

    LECCION 1.2 Tipos de lenguajes de programacion Pgina 8

    http://www.monografias.com/trabajos11/ladocont/ladocont.shtmlhttp://www.monografias.com/trabajos11/compil/compil.shtmlhttp://www.monografias.com/trabajos13/quienbill/quienbill.shtmlhttp://www.monografias.com/trabajos13/quienbill/quienbill.shtmlhttp://www.monografias.com/trabajos54/produccion-sistema-economico/produccion-sistema-economico.shtmlhttp://www.monografias.com/Computacion/Sistemas_Operativos/http://www.monografias.com/trabajos13/diseprod/diseprod.shtmlhttp://www.monografias.com/trabajos13/diseprod/diseprod.shtmlhttp://www.monografias.com/trabajos11/ladocont/ladocont.shtmlhttp://www.monografias.com/trabajos11/compil/compil.shtmlhttp://www.monografias.com/trabajos13/quienbill/quienbill.shtmlhttp://www.monografias.com/trabajos54/produccion-sistema-economico/produccion-sistema-economico.shtmlhttp://www.monografias.com/Computacion/Sistemas_Operativos/http://www.monografias.com/trabajos13/diseprod/diseprod.shtml
  • 8/6/2019 Leccion 1.2 Tipos de Lenguajes de Programacion

    9/21

    [ PROGRAMACION II ] IDSYSTEMS 2011

    programa objeto compilado con antelacin deber ejecutarse con mucha mayor rapidez que uno debe interpretar a cada paso durante una corrida de produccin.

    4. LENGUAJES DE PROGRAMACINDECLARATIVOS

    Se les conoce como lenguajes declarativos en ciencias computacionales a aquellos lenguajes de programacinen los cuales se le indica a la computadora qu es lo que se desea obtener o qu es lose esta buscando, por ejemplo: Obtener los nombres de todos los empleados que tengan ms de 3Eso se puede lograr con un lenguaje declarativo comoSQL.

    La programacin declarativa es una forma de programacin que implica ladescripcin de un problemadado en lugar de proveer una solucin para dicho problema, dejando la interpretacin de los pasosespecficos para llegar a dicha solucin a un intrprete no especificado. La programacin declaraadopta, 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 laimplementacin particular del intrprete. Por lo tanto se puede ver que la programacin declarativdos fases bien diferenciadas, la declaracin y la interpretacin.

    Es importante sealar que a pesar de hacer referencia a intrprete, no hay que limitarse a "lenguainterpretados" 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 preocup por la forma de llegar a ello; es decir, el programador debe concentrarse en la lgica delalgoritmo, ms que en elcontrol de la secuencia.

    Los programas estn formados por un conjunto de definiciones o ecuaciones, las cualesdescriben lo que debe ser calculado, no en s la forma de hacerlo.

    Las variablesslo pueden tener asignado un solo valor a lo largo de la ejecucin del programcual implica que no puede existir asignacin destructiva. Debido a esto, cobra especialimportancia 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;decir, que al calcular un valor, resulta imposible afectar elclculode otros y con esto se puedeafirmar que cualquier secuencia de ejecucin deber conducir al mismo resultado.

    Las expresiones o definiciones pueden ser usadas comovaloresy por lo tanto se pueden tratar como argumentos de otras definiciones.

    LECCION 1.2 Tipos de lenguajes de programacion Pgina 9

    http://www.monografias.com/Computacion/Programacion/http://www.monografias.com/trabajos11/concient/concient.shtmlhttp://www.monografias.com/trabajos11/concient/concient.shtmlhttp://www.monografias.com/trabajos11/concient/concient.shtmlhttp://www.monografias.com/Computacion/Programacion/http://www.monografias.com/trabajos14/sqlserver/sqlserver.shtmlhttp://monografias.com/trabajos10/anali/anali.shtmlhttp://monografias.com/trabajos10/anali/anali.shtmlhttp://www.monografias.com/trabajos37/interpretacion/interpretacion.shtmlhttp://www.monografias.com/trabajos37/interpretacion/interpretacion.shtmlhttp://www.monografias.com/trabajos37/interpretacion/interpretacion.shtmlhttp://www.monografias.com/trabajos15/algoritmos/algoritmos.shtmlhttp://www.monografias.com/trabajos14/control/control.shtmlhttp://www.monografias.com/trabajos14/control/control.shtmlhttp://www.monografias.com/trabajos13/sumato/sumato.shtml#SOLUCIONhttp://www.monografias.com/trabajos13/sumato/sumato.shtml#SOLUCIONhttp://www.monografias.com/trabajos13/sumato/sumato.shtml#SOLUCIONhttp://www.monografias.com/trabajos12/guiainf/guiainf.shtml#HIPOTEShttp://www.monografias.com/trabajos12/guiainf/guiainf.shtml#HIPOTEShttp://www.monografias.com/trabajos7/caes/caes.shtmlhttp://www.monografias.com/trabajos14/nuevmicro/nuevmicro.shtmlhttp://www.monografias.com/Computacion/Programacion/http://www.monografias.com/trabajos11/concient/concient.shtmlhttp://www.monografias.com/Computacion/Programacion/http://www.monografias.com/trabajos14/sqlserver/sqlserver.shtmlhttp://monografias.com/trabajos10/anali/anali.shtmlhttp://www.monografias.com/trabajos37/interpretacion/interpretacion.shtmlhttp://www.monografias.com/trabajos15/algoritmos/algoritmos.shtmlhttp://www.monografias.com/trabajos14/control/control.shtmlhttp://www.monografias.com/trabajos13/sumato/sumato.shtml#SOLUCIONhttp://www.monografias.com/trabajos12/guiainf/guiainf.shtml#HIPOTEShttp://www.monografias.com/trabajos7/caes/caes.shtmlhttp://www.monografias.com/trabajos14/nuevmicro/nuevmicro.shtml
  • 8/6/2019 Leccion 1.2 Tipos de Lenguajes de Programacion

    10/21

    [ PROGRAMACION II ] IDSYSTEMS 2011

    El control de la ejecucin no es responsabilidaddel programador.

    4.2. DESVENTAJAS DE LA PROGRAMACIN DECLARATIVA

    La principal desventaja de la programacin declarativa es que no puede resolver cualquier proble

    dado, sino que est restringida al subconjunto de problemas para los que el intrprete o compiladdiseado.

    Otra desventaja de la programacin declarativa est relacionada con laeficiencia. Dado que es necesariauna fase de interpretacin extra, en la cual se deben evaluar todas las consecuencias de todas lasdeclaraciones realizadas, el proceso es relativamente ms lento que en la programacin imperativque los cambios deestado delsistemaestn dados por instrucciones particulares y no por un conjuntocondiciones 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 laventajas se destaca que la solucin de un problema se puede realizar con un nivel de abstraccinconsiderablemente alto, sin entrar en detalles de implementacin irrelevantes, lo que hace a lassolucionesms fcil de entender por las personas. La resolucin de problemas complejos es resuelel intrprete a partir de la declaracin de las condiciones dadas.

    La programacin declarativa es muy usada en la resolucin de problemas relacionados coninteligencia artificial, bases de datos, configuracin, ycomunicacin entre procesos; sin embargo, ningn leguajedeclarativo 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 (WebServices 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 lgicaes declarativa porque sirve para especificar qu problema resolver (condiciones).

    LECCION 1.2 Tipos de lenguajes de programacion Pgina 10

    http://www.monografias.com/trabajos33/responsabilidad/responsabilidad.shtmlhttp://www.monografias.com/trabajos33/responsabilidad/responsabilidad.shtmlhttp://www.monografias.com/trabajos11/veref/veref.shtmlhttp://www.monografias.com/trabajos12/elorigest/elorigest.shtmlhttp://www.monografias.com/trabajos12/elorigest/elorigest.shtmlhttp://www.monografias.com/trabajos11/teosis/teosis.shtmlhttp://www.monografias.com/trabajos14/soluciones/soluciones.shtmlhttp://www.monografias.com/trabajos15/inteligencia-emocional/inteligencia-emocional.shtmlhttp://www.monografias.com/trabajos11/basda/basda.shtmlhttp://www.monografias.com/trabajos11/basda/basda.shtmlhttp://www.monografias.com/trabajos12/fundteo/fundteo.shtmlhttp://www.monografias.com/trabajos12/fundteo/fundteo.shtmlhttp://www.monografias.com/trabajos14/administ-procesos/administ-procesos.shtml#PROCEhttp://www.monografias.com/trabajos5/laweb/laweb.shtmlhttp://www.monografias.com/trabajos33/responsabilidad/responsabilidad.shtmlhttp://www.monografias.com/trabajos11/veref/veref.shtmlhttp://www.monografias.com/trabajos12/elorigest/elorigest.shtmlhttp://www.monografias.com/trabajos11/teosis/teosis.shtmlhttp://www.monografias.com/trabajos14/soluciones/soluciones.shtmlhttp://www.monografias.com/trabajos15/inteligencia-emocional/inteligencia-emocional.shtmlhttp://www.monografias.com/trabajos11/basda/basda.shtmlhttp://www.monografias.com/trabajos12/fundteo/fundteo.shtmlhttp://www.monografias.com/trabajos14/administ-procesos/administ-procesos.shtml#PROCEhttp://www.monografias.com/trabajos5/laweb/laweb.shtml
  • 8/6/2019 Leccion 1.2 Tipos de Lenguajes de Programacion

    11/21

    [ PROGRAMACION II ] IDSYSTEMS 2011

    En la programacin lgica, se especifican las condiciones que satisfacen las soluciones, se deducsoluciones a partir de las condiciones y el nfasis de todo est en qu problema resolver. El probldescribe 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, establerelaciones entre entidades, indicandono cmo, sino qu hacer. Se establece entonces que la ideaesencial de la programacin lgica es:algoritmos = lgica + control.Es decir, un algoritmo seconstruye especificando conocimientoen un lenguaje formal (lgica de primer orden), y el problema 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 msrepresentativos, Prolog, que es un clsico de la inteligencia artificial y que se aplica de mltiples en el desarrollo desoftwarecomercial.

    4.6. PROGRAMACIN FUNCIONALLa programacin funcional es un paradigma de programacin declarativa basado en la utilizacin defuncionesmatemticas. Elobjetivode la programacin funcional es conseguir lenguajes expresivos ymatemticamente elegantes, en los que no sea necesario bajar al nivel de la mquina para describir e proceso llevado a cabo por el programa.

    Los programas escritos en un lenguaje funcional estn constituidos nicamente por definiciones dfunciones, entendiendo stas no como subprogramas clsicos de un lenguaje imperativo (pues la programacin funcional es declarativa), sino como funciones puramente matemticas, en las queverifican ciertas propiedades como latransparencia referencial (el significado de una expresin

    depende nicamente del significado de sus subexpresiones), y por tanto, la carencia total de efectlaterales.

    Otras caractersticas propias de estos lenguajes son la no existencia de asignaciones de variables yfalta de construcciones estructuradas como la secuencia o la iteracin (lo que obliga en la prctictodas las repeticiones de instrucciones se lleven a cabo por medio de funciones recursivas).

    Existen dos grandes categoras de lenguajes funcionales: los funcionales puros y loshbridos . Ladiferencia entre ambos estriba en que los lenguajes funcionales hbridos son menos dogmticos q puros, al permitir conceptos tomados de los lenguajes imperativos, como las secuencias de instruo 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 lenguaje hbrido.

    4.7. PROGRAMACIN ORIENTADA A BASES DE DATOS

    Las bases de datos son programas que administraninformaciny hacen ms ordenada la informacin,aparte de hacer la fcil de buscar y por supuesto de encontrar.

    LECCION 1.2 Tipos de lenguajes de programacion Pgina 11

    http://www.monografias.com/trabajos/epistemologia2/epistemologia2.shtmlhttp://www.monografias.com/trabajos/epistemologia2/epistemologia2.shtmlhttp://www.monografias.com/Computacion/Software/http://www.monografias.com/trabajos16/paradigmas/paradigmas.shtml#quesonhttp://www.monografias.com/trabajos16/paradigmas/paradigmas.shtml#quesonhttp://www.monografias.com/trabajos16/paradigmas/paradigmas.shtml#quesonhttp://www.monografias.com/Matematicas/index.shtmlhttp://www.monografias.com/trabajos16/objetivos-educacion/objetivos-educacion.shtmlhttp://www.monografias.com/trabajos14/trmnpot/trmnpot.shtmlhttp://www.monografias.com/trabajos7/sisinf/sisinf.shtmlhttp://www.monografias.com/trabajos/epistemologia2/epistemologia2.shtmlhttp://www.monografias.com/Computacion/Software/http://www.monografias.com/trabajos16/paradigmas/paradigmas.shtml#quesonhttp://www.monografias.com/Matematicas/index.shtmlhttp://www.monografias.com/trabajos16/objetivos-educacion/objetivos-educacion.shtmlhttp://www.monografias.com/trabajos14/trmnpot/trmnpot.shtmlhttp://www.monografias.com/trabajos7/sisinf/sisinf.shtml
  • 8/6/2019 Leccion 1.2 Tipos de Lenguajes de Programacion

    12/21

    [ PROGRAMACION II ] IDSYSTEMS 2011

    Las caractersticas de las bases de datos pueden ser ventajosas o desventajosas: pueden ayudar aalmacenar, organizar, recuperar, comunicar y manejar informacin en formas que seran imposibllas computadoras, pero tambin afecta de alguna manera ya que existen enormes cantidades deinformacin 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 deinformacin; permiten la recuperacin rpida y flexible de informacin, con ellas se puede organreorganizar 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 seenfatiza el"cmo".

    Una base de datos tambin se puede definir como unbanco de datos o conjunto de datos que pertenecenal mismo contexto, almacenados sistemticamente para su posterior uso. En este sentido, una biblioteca puede considerarse una base de datos compuesta en su mayora por documentosy textos impresos en

    papel e indexados para su consulta.En la actualidad, y gracias al desarrollo tecnolgico de campos como lainformticay laelectrnica, lamayora de las bases de datos tienen formato electrnico, que ofrece un amplio rango de solucion problema de almacenar datos.

    Los sistemas gestores de bases de datos (SGBD) permiten almacenar y posteriormente acceder a losdatos 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 suclasificacin, 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 LOSDATOS ALMACENADOS

    Esta clasificacin depende de cmo los datos cambian o varan dentro de la base de datos, o si semantienen estticos sin sufrir modificaciones o cambios. Dentro de esta clasificacin se tiene losiguiente:

    BASES DE DATOS ESTTICAS:stas son bases de datos de slolectura, utilizadas

    primordialmente para almacenar datos histricos que posteriormente se pueden utilizar parestudiar elcomportamiento de un conjunto de datos a travs del tiempo, realizar proyeccionetomar decisiones.

    BASES DE DATOS DINMICAS:stas son bases de datos donde la informacin almacenase modifica con el tiempo, permitiendo operaciones como actualizacin y adicin de datosadems de las operaciones fundamentales de consulta. Un ejemplo de esto puede ser la ba

    LECCION 1.2 Tipos de lenguajes de programacion Pgina 12

    http://www.monografias.com/trabajos34/base-de-datos/base-de-datos.shtmlhttp://www.monografias.com/trabajos34/base-de-datos/base-de-datos.shtmlhttp://www.monografias.com/trabajos10/ponency/ponency.shtmlhttp://www.monografias.com/trabajos14/comer/comer.shtmlhttp://www.monografias.com/trabajos14/comer/comer.shtmlhttp://www.monografias.com/trabajos11/curinfa/curinfa.shtmlhttp://www.monografias.com/trabajos5/electro/electro.shtmlhttp://www.monografias.com/trabajos14/textos-escrit/textos-escrit.shtmlhttp://www.monografias.com/trabajos16/comportamiento-humano/comportamiento-humano.shtmlhttp://www.monografias.com/trabajos16/comportamiento-humano/comportamiento-humano.shtmlhttp://www.monografias.com/trabajos34/base-de-datos/base-de-datos.shtmlhttp://www.monografias.com/trabajos10/ponency/ponency.shtmlhttp://www.monografias.com/trabajos14/comer/comer.shtmlhttp://www.monografias.com/trabajos11/curinfa/curinfa.shtmlhttp://www.monografias.com/trabajos5/electro/electro.shtmlhttp://www.monografias.com/trabajos14/textos-escrit/textos-escrit.shtmlhttp://www.monografias.com/trabajos16/comportamiento-humano/comportamiento-humano.shtml
  • 8/6/2019 Leccion 1.2 Tipos de Lenguajes de Programacion

    13/21

    [ PROGRAMACION II ] IDSYSTEMS 2011

    datos utilizada en un sistema de informacin de una tienda de abarrotes, una farmacia, unvideoclub, 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 ma

    BASES DE DATOS BIBLIOGRFICAS:Solo contienen un "representante" de la fuente primaria, que permite localizarla. Un registro tpico de una base de datos bibliogrfica coninformacin 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 nutextocompleto, porque sino se estara en presencia de una base de datos a texto completo (fuentesprimarias). Como su nombre lo indica, el contenido son cifras o nmeros. Por ejemuna coleccin de resultados de anlisisde 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 DEIMGENES, 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 clasificaacuerdo a su modelo deadministracinde datos.

    Un modelo de datos es bsicamente una "descripcin" de algo conocido como contenedor de datos (algen donde se guarda la informacin), as como de losmtodospara almacenar y recuperar informacin desos contenedores. Los modelos de datos no son cosas fsicas: son abstracciones que permiten laimplementacin de un sistema eficiente de base de datos; por lo general se refieren aalgoritmos, yconceptosmatemticos.

    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 organiuna forma similar a un rbol (visto al revs), en donde un nodo padre de informacin puedvarios hijos. El nodo que no tiene padres es llamado raz, y a los nodos que no tienen hijosconoce como hojas. Las bases de datos jerrquicas son especialmente tiles en el caso deaplicaciones que manejan un gran volumende informacin y datos muy compartidos permitiendo crear estructurasestables y de gran rendimiento. Una de las principales limitaciode este modelo es su incapacidad de representar eficientemente la redundancia de datos.

    LECCION 1.2 Tipos de lenguajes de programacion Pgina 13

    http://www.monografias.com/trabajos901/nuevas-tecnologias-edicion-montaje/nuevas-tecnologias-edicion-montaje.shtmlhttp://www.monografias.com/trabajos901/nuevas-tecnologias-edicion-montaje/nuevas-tecnologias-edicion-montaje.shtmlhttp://www.monografias.com/trabajos13/libapren/libapren.shtmlhttp://www.monografias.com/trabajos10/formulac/formulac.shtml#FUNChttp://www.monografias.com/trabajos11/metods/metods.shtml#ANALIThttp://www.monografias.com/trabajos11/metods/metods.shtml#ANALIThttp://www.monografias.com/trabajos15/informe-laboratorio/informe-laboratorio.shtmlhttp://www.monografias.com/trabajos3/color/color.shtmlhttp://www.monografias.com/trabajos10/mmedia/mmedia.shtmlhttp://www.monografias.com/trabajos10/mmedia/mmedia.shtmlhttp://www.monografias.com/trabajos36/administracion-y-gerencia/administracion-y-gerencia.shtmlhttp://monografias.com/trabajos10/anali/anali.shtmlhttp://www.monografias.com/trabajos11/metods/metods.shtmlhttp://www.monografias.com/trabajos15/algoritmos/algoritmos.shtmlhttp://www.monografias.com/trabajos55/historias-de-matematicos/historias-de-matematicos.shtmlhttp://www.monografias.com/trabajos5/volfi/volfi.shtmlhttp://www.monografias.com/trabajos5/volfi/volfi.shtmlhttp://www.monografias.com/trabajos15/todorov/todorov.shtml#INTROhttp://www.monografias.com/trabajos901/nuevas-tecnologias-edicion-montaje/nuevas-tecnologias-edicion-montaje.shtmlhttp://www.monografias.com/trabajos13/libapren/libapren.shtmlhttp://www.monografias.com/trabajos10/formulac/formulac.shtml#FUNChttp://www.monografias.com/trabajos11/metods/metods.shtml#ANALIThttp://www.monografias.com/trabajos15/informe-laboratorio/informe-laboratorio.shtmlhttp://www.monografias.com/trabajos3/color/color.shtmlhttp://www.monografias.com/trabajos10/mmedia/mmedia.shtmlhttp://www.monografias.com/trabajos36/administracion-y-gerencia/administracion-y-gerencia.shtmlhttp://monografias.com/trabajos10/anali/anali.shtmlhttp://www.monografias.com/trabajos11/metods/metods.shtmlhttp://www.monografias.com/trabajos15/algoritmos/algoritmos.shtmlhttp://www.monografias.com/trabajos55/historias-de-matematicos/historias-de-matematicos.shtmlhttp://www.monografias.com/trabajos5/volfi/volfi.shtmlhttp://www.monografias.com/trabajos15/todorov/todorov.shtml#INTRO
  • 8/6/2019 Leccion 1.2 Tipos de Lenguajes de Programacion

    14/21

    [ PROGRAMACION II ] IDSYSTEMS 2011

    BASES DE DATOS DERED: ste es un modelo ligeramente distinto del jerrquico; sudiferencia fundamental es la modificacin del conceptode nodo: se permite que un mismo nodotenga varios padres (posibilidad no permitida en el modelo jerrquico). Fue una gran mejorespecto al modelo jerrquico, ya que ofreca una solucin eficiente al problema de redundde datos; pero, aun as, la dificultad que significa administrar la informacin en una base d

    de red ha significado que sea un modelo utilizado en su mayora por programadores ms qusuarios finales.

    BASES DE DATOS RELACIONAL:ste es el modelo ms utilizado en la actualidad paramodelar problemas reales y administrar datos dinmicamente. Tras ser postulados susfundamentos en 1970 por Edgar Frank Codd, de los laboratorios IBM en San Jos (Californo tard en consolidarse como un nuevo paradigma en los modelos de base de datos. Su idfundamental es el uso de "relaciones". Estas relaciones podran considerarse en forma lgicomoconjuntos de datos llamados "tuplas". Pese a que sta es lateorade las bases de datosrelacionales creadas por Edgar Frank Codd, la mayora de las veces se conceptualiza de unmanera ms fcil de imaginar. Esto es pensando en cada relacin como si fuese una tabla q

    est compuesta por registros (las filas de una tabla), que representaran las tuplas, y campos (lcolumnas de una tabla).

    En este modelo, el lugar y la forma en que se almacenen los datos no tienen relevancia (a diferenotros modelos como el jerrquico y el de red). Esto tiene la considerable ventaja de que es ms fentender 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 paraadministrar la informacin. El lenguaje ms habitual para construir las consultas a bases de datosrelacionales es SQL, Structured Query Language o Lenguaje Estructurado de Consultas, un estnimplementado por los principalesmotoreso sistemasde gestinde bases de datos relacionales. Durantesu 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 datos. Durante los aos '80 (1980-1989) la aparicin de dBASE produjo unarevolucinen los lenguajesde programacin y sistemas deadministracin de datos. Aunque nunca debe olvidarse que dBase noutilizaba SQL como lenguaje base para su gestin. Lanormalizacin de una base de datos relacional consiste en las siguientes reglas:

    a.b. Primera Forma Normal (1FN):se eliminan losgrupos repetitivos. Los atributos han de ser

    atmicos. Grficamente las celdas de la tabla contienen solo un valor, en cada uno de losatributos slo se puede incluir un dato, aunque sea compuesto, pero no se puede incluir unde datos. Se trata de que cada atributo guarde la menor cantidad de informacin posible. Peliminar los grupos repetitivos se pone cada uno de ellos en una tabla aparte, esa nueva tabhereda la clave primaria de la relacin en la que se encontraban, se crea una clave fornea nueva tabla.

    c. Segunda Forma Normal (2FN):dependencia completa. Est en 2FN si est en 1FN y si susatributos no principales dependen de forma completa de la clave principal. Toda relacin qtenga como clave slo un atributo est en 2FN.

    d. Tercera Forma Normal (3FN):dependencia transitiva. Est en segunda forma normal y todoatributo no primo es implicado por la clave primaria en una secuencia no transitiva.

    LECCION 1.2 Tipos de lenguajes de programacion Pgina 14

    http://www.monografias.com/Computacion/Redes/http://www.monografias.com/trabajos10/teca/teca.shtmlhttp://www.monografias.com/trabajos10/teca/teca.shtmlhttp://www.monografias.com/trabajos10/historix/historix.shtmlhttp://www.monografias.com/trabajos10/historix/historix.shtmlhttp://www.monografias.com/trabajos4/epistemologia/epistemologia.shtmlhttp://www.monografias.com/trabajos7/regi/regi.shtmlhttp://www.monografias.com/trabajos7/regi/regi.shtmlhttp://www.monografias.com/trabajos35/el-poder/el-poder.shtmlhttp://www.monografias.com/trabajos10/motore/motore.shtmlhttp://www.monografias.com/trabajos11/teosis/teosis.shtmlhttp://www.monografias.com/trabajos15/sistemas-control/sistemas-control.shtmlhttp://www.monografias.com/trabajos5/norbad/norbad.shtmlhttp://www.monografias.com/trabajos5/norbad/norbad.shtmlhttp://www.monografias.com/trabajos10/era/era.shtmlhttp://www.monografias.com/Administracion_y_Finanzas/index.shtmlhttp://www.monografias.com/Administracion_y_Finanzas/index.shtmlhttp://www.monografias.com/trabajos11/grupo/grupo.shtmlhttp://www.monografias.com/trabajos11/grupo/grupo.shtmlhttp://www.monografias.com/Computacion/Redes/http://www.monografias.com/trabajos10/teca/teca.shtmlhttp://www.monografias.com/trabajos10/historix/historix.shtmlhttp://www.monografias.com/trabajos4/epistemologia/epistemologia.shtmlhttp://www.monografias.com/trabajos7/regi/regi.shtmlhttp://www.monografias.com/trabajos35/el-poder/el-poder.shtmlhttp://www.monografias.com/trabajos10/motore/motore.shtmlhttp://www.monografias.com/trabajos11/teosis/teosis.shtmlhttp://www.monografias.com/trabajos15/sistemas-control/sistemas-control.shtmlhttp://www.monografias.com/trabajos5/norbad/norbad.shtmlhttp://www.monografias.com/trabajos10/era/era.shtmlhttp://www.monografias.com/Administracion_y_Finanzas/index.shtmlhttp://www.monografias.com/trabajos11/grupo/grupo.shtml
  • 8/6/2019 Leccion 1.2 Tipos de Lenguajes de Programacion

    15/21

    [ PROGRAMACION II ] IDSYSTEMS 2011

    e. Forma Normal de Boyce-Codd:una tabla est en FNBC, s y slo s las nicas dependenciasfuncionales 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 lasdependencias multivaluadas y se generan todas las relaciones externas con otras tablas u o bases de datos.

    g. Quinta Forma Normal (5FN):est en cuarta forma normal y toda dependencia-join vieneimplicada por claves candidatas.

    BASES DE DATOS ORIENTADAS A OBJETOS:este modelo, bastante reciente, y propio dlos modelos informticos orientados a objetos, trata de almacenar en la base de datos los ocompletos (estado y comportamiento). Una base de datos orientada a objetos es una base ddatos que incorpora todos los conceptos importantes del paradigma de objetos:encapsulacin( propiedadque permite ocultar la informacin al resto de los objetos, impidiendo as accesoincorrectos oconflictos), herencia (propiedad a travs de la cual los objetos heredancomportamiento 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 orientadobjetos, los usuarios pueden definir operaciones sobre los datos como parte de la definici base de datos.

    BASES DE DATOS DOCUMENTALES:permiten la indexacin a texto completo, y en lnegenerales realizar bsquedas ms potentes.

    BASE DE DATOS DEDUCTIVAS:un sistema debase de datos deductivas, es un sistema de base de datos pero con la diferencia de que permite hacer deducciones a travs de inferenc basa principalmente en reglas y hechos que son almacenados en la base de datos. Tambin bases de datos deductivas son llamadas base de datos lgica, a raz de que se basan en lgi

    matemtica.5. LENGUAJES DE PROGRAMACIN IMPERATIVOS

    En ciencias de lacomputacinse llama lenguajes imperativos a aquellos en los cuales se le ordena acomputadora 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, CJava, Clipper, Dbase, C#,PHP, Perl, etc.

    LECCION 1.2 Tipos de lenguajes de programacion Pgina 15

    http://www.monografias.com/trabajos16/romano-limitaciones/romano-limitaciones.shtmlhttp://www.monografias.com/trabajos55/conflictos/conflictos.shtmlhttp://www.monografias.com/Matematicas/index.shtmlhttp://www.monografias.com/Matematicas/index.shtmlhttp://www.monografias.com/Computacion/index.shtmlhttp://www.monografias.com/trabajos16/java/java.shtmlhttp://www.monografias.com/trabajos16/java/java.shtmlhttp://www.monografias.com/trabajos11/winnet/winnet.shtmlhttp://www.monografias.com/trabajos11/winnet/winnet.shtmlhttp://www.monografias.com/trabajos16/romano-limitaciones/romano-limitaciones.shtmlhttp://www.monografias.com/trabajos55/conflictos/conflictos.shtmlhttp://www.monografias.com/Matematicas/index.shtmlhttp://www.monografias.com/Computacion/index.shtmlhttp://www.monografias.com/trabajos16/java/java.shtmlhttp://www.monografias.com/trabajos11/winnet/winnet.shtml
  • 8/6/2019 Leccion 1.2 Tipos de Lenguajes de Programacion

    16/21

    [ PROGRAMACION II ] IDSYSTEMS 2011

    Dentro de la programacin imperativa, se tiene un conjunto de instrucciones que le indican alcomputador cmorealizar una tarea.

    Los lenguajes imperativos se basan en comandos u rdenes que se le dan a la computadora para qhaga 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, que un comando no ha sido ejecutado no se lee el siguiente.

    Segn eldominio, o mejor dicho con el propsito que se utiliza el programa, se puede hablar delenguajes 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 cejecuta, y la secuencia en que este se ejecuta. La ejecucin de la aplicacin se inicia con la prime

    de cdigo, y sigue una ruta predefinida a travs de la aplicacin, llamando procedimientossegn seanecesario.

    Los lenguajes procedurales estn fundamentados en la utilizacin de variables para almacenar vaen la realizacin de operaciones con los datos almacenados. Algunos ejemplos son: FORTRAN,PASCAL, C, ADA, ALGOL,

    En este tipo de lenguajes, laarquitectura consta de una secuencia de celdas, llamadas memoria, en lascuales se pueden guardar en forma codificada, lo mismo datos que instrucciones; y de un procesacual es capaz de ejecutar de manera secuencial una serie de operaciones, principalmente aritmti booleanas, llamadas comandos. En general, un lenguaje procedural ofrece al programador concep

    se traducen de forma natural al modelo de la mquina. El programador tiene que traducir la solucabstracta del problema a trminos muy primitivos, cercanos a la mquina.

    Con un lenguaje procedural el usuario (normalmente ser un programador) especifica qu datos snecesitan y cmo obtenerlos. Esto quiere decir que el usuario debe especificar todas las operacioacceso a datos llamando a los procedimientos necesarios para obtener la informacin requerida. Elenguajes acceden a un registro, lo procesan y basndose en los resultados obtenidos, acceden a oregistro, que tambin deben procesar. As se va accediendo a registros y se van procesando hastaobtienen los datos deseados. Las sentencias de un lenguaje procedural deben estar embebidas en lenguaje de alto nivel, ya que se necesitan sus estructuras (bucles, condicionales, etc.) para obten procesar cada registro individual.

    5.2. ALGUNOS LENGUAJES IMPERATIVOS

    Algunos lenguajes de programacin imperativos que se pueden mencionar son:

    BASIC

    LECCION 1.2 Tipos de lenguajes de programacion Pgina 16

    http://www.monografias.com/trabajos15/computadoras/computadoras.shtmlhttp://www.monografias.com/trabajos15/computadoras/computadoras.shtmlhttp://www.monografias.com/trabajos7/doin/doin.shtmlhttp://www.monografias.com/trabajos13/mapro/mapro.shtmlhttp://www.monografias.com/trabajos5/estat/estat.shtmlhttp://www.monografias.com/trabajos6/arma/arma.shtmlhttp://www.monografias.com/trabajos6/arma/arma.shtmlhttp://www.monografias.com/trabajos15/computadoras/computadoras.shtmlhttp://www.monografias.com/trabajos7/doin/doin.shtmlhttp://www.monografias.com/trabajos13/mapro/mapro.shtmlhttp://www.monografias.com/trabajos5/estat/estat.shtmlhttp://www.monografias.com/trabajos6/arma/arma.shtml
  • 8/6/2019 Leccion 1.2 Tipos de Lenguajes de Programacion

    17/21

    [ PROGRAMACION II ] IDSYSTEMS 2011

    C

    C++

    Java

    C#

    PHP

    Perl

    6. DIFERENCIA ENTRE LENGUAJES DECLARATIVOS EIMPERATIVOS

    En los lenguajes declarativos las sentencias que se utilizan lo que hacen esdescribir el problema que sequiere solucionar, pero no las instrucciones necesarias para solucionarlo. Esto ltimo se realizarmediante 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 ejecutarvariar el estado un programa y hallar la solucin, es decir, un algoritmo en el que se describen los pnecesarios para solucionar un problema.

    7. LENGUAJES DE PROGRAMACIN ORIENTADOS AOBJETOS

    En la Programacin Orientada a Objetos (POO u OOP segn siglas eningls) se definen los programasen trminos de "clases de objetos", objetos que son entidades que combinanestado (es decir, datos)comportamiento (esto es, procedimientos o mtodos) eidentidad (propiedad del objeto que lo diferenciadel resto). La programacin orientada a objetosexpresa un programa como un conjunto de estos objetque colaboran entre ellos para realizar tareas. Esto permite hacer los programas mdulos ms fcescribir, mantener y reutilizar.

    De esta forma, un objeto contiene toda la informacin, (los denominados atributos) que permite de identificarlo frente a otros objetos pertenecientes a otras clases (e incluso entre objetos de la miclase, al poder tener valores bien diferenciados en sus atributos). A su vez, dispone de mecanism

    interaccin (los llamados mtodos) que favorecen la comunicacin entre objetos (de una misma clde distintas), y en consecuencia, elcambiode estado en los propios objetos. Esta caracterstica lleva atratarlos como unidades indivisibles, en las que no se separan (ni deben separarse) informacin (d procesamiento (mtodos).

    Dada esta propiedad de conjunto de una clase de objetos, que al contar con una serie de atributosdefinitorios, requiere de unos mtodos para poder tratarlos (lo que hace que ambos conceptos estntimamente entrelazados), el programador debe pensar indistintamente en ambos trminos, ya qu

    LECCION 1.2 Tipos de lenguajes de programacion Pgina 17

    http://www.monografias.com/trabajos12/elorigest/elorigest.shtmlhttp://www.monografias.com/trabajos12/elorigest/elorigest.shtmlhttp://www.monografias.com/trabajos16/manual-ingles/manual-ingles.shtmlhttp://www.monografias.com/trabajos/objetos/objetos.shtmlhttp://www.monografias.com/trabajos901/interaccion-comunicacion-exploracion-teorica-conceptual/interaccion-comunicacion-exploracion-teorica-conceptual.shtmlhttp://www.monografias.com/trabajos901/interaccion-comunicacion-exploracion-teorica-conceptual/interaccion-comunicacion-exploracion-teorica-conceptual.shtmlhttp://www.monografias.com/trabajos2/mercambiario/mercambiario.shtmlhttp://www.monografias.com/trabajos12/elorigest/elorigest.shtmlhttp://www.monografias.com/trabajos16/manual-ingles/manual-ingles.shtmlhttp://www.monografias.com/trabajos/objetos/objetos.shtmlhttp://www.monografias.com/trabajos901/interaccion-comunicacion-exploracion-teorica-conceptual/interaccion-comunicacion-exploracion-teorica-conceptual.shtmlhttp://www.monografias.com/trabajos2/mercambiario/mercambiario.shtml
  • 8/6/2019 Leccion 1.2 Tipos de Lenguajes de Programacion

    18/21

    [ PROGRAMACION II ] IDSYSTEMS 2011

    debe nunca separar o dar mayor importancia a los atributos a favor de los mtodos, ni viceversa. puede llevar al programador a seguir el hbito errneo de crear clases contenedoras de informaciun lado y clases con mtodos que manejen esa informacin por otro (llegando a una programaciestructurada camuflada en unlenguaje de programacinorientada a objetos).

    Esto difiere de los lenguajes imperativos tradicionales, en los que los datos y los procedimientos separados y sin relacin, ya que lo nico que se busca es el procesamiento de unos datos y los procedimientos estn separados y sin relacin, ya que lo nico que se busca es el procesamiento datos de entrada para obtener otros de salida. La programacin estructurada anima al programado pensar sobre todo en trminos de procedimientos o funciones, y en segundo lugar en las estructurdatos que esos procedimientos manejan. Los programadores de lenguajes imperativos escriben fuy despus les pasan los datos. Los programadores que emplean lenguajes orientados a objetos deobjetos con datos y mtodos y despus envan mensajes a los objetos diciendo que realicen esos m por s mismos.

    Un objeto se puede definir como ungrupode procedimientos que comparten un estado. Se define al

    conjunto de datos como "estado", y "mtodos" como el conjunto de procedimientos que pueden aese estado. Un programa orientado a objetos es unmtodode implementacin en el que los programasestn organizados como colecciones de objetos, donde cada uno es una instancia de alguna clase,donde todas las clases son miembros de una jerarqua de clases conectadas por relaciones deherencia.Este tipo de lenguajes son muy recientes en comparacin a los primeros lenguajes de programaciaparecieron.

    7.1. CONCEPTOS BSICOS DE LA PROGRAMACIN ORIENTADA A OBJETOS

    La programacin orientada a objetos es una nueva forma de programar que trata de encontrar la sa problemas de una forma que ofrece muchas ventajas y facilidades que no se tenan anteriormen

    Introduce nuevos conceptos, que superan y amplan conceptos antiguos ya conocidos. Entro ellosdestacan los siguientes:

    OBJETO: entidad provista de un conjunto de propiedades o atributos (datos) y decomportamiento o funcionalidad ("mtodos"). Corresponden a los objetos reales del mundnos rodea, o a objetos internos del sistema (del programa).

    CLASE:definiciones de las propiedades y comportamiento de un tipo de objetoconcreto. Lainstanciacin esla lecturade estas definiciones y la creacin de un objeto a partir de ellas. Unclase es una coleccin de objetos similares o la implementacin, declaracin o definicin dtipo de objeto. Cada vez que se construye un objeto de una clase se crea una instancia de eclase. Por ejemplo en Visual Basic, se tiene la clase Form, y se pueden crear instancias de clase al tener Form1, Form2, etc. As se est creando una instancia de la clase Form.

    MTODO:algoritmo asociado a un objeto (o a una clase de objetos), cuya ejecucin sedesencadena tras la recepcin de un "mensaje". Desde el punto de vista del comportamienlo que el objeto puede hacer. Un mtodo puede producir un cambio en lar propiedades del o la generacin de un "evento" con un nuevo mensaje para otro objeto del sistema.

    LECCION 1.2 Tipos de lenguajes de programacion Pgina 18

    http://www.monografias.com/Computacion/Programacion/http://www.monografias.com/trabajos14/dinamica-grupos/dinamica-grupos.shtmlhttp://www.monografias.com/trabajos11/metods/metods.shtmlhttp://www.monografias.com/trabajos13/heren/heren.shtmlhttp://www.monografias.com/trabajos/histoconcreto/histoconcreto.shtmlhttp://www.monografias.com/trabajos16/metodo-lecto-escritura/metodo-lecto-escritura.shtmlhttp://www.monografias.com/Computacion/Programacion/http://www.monografias.com/trabajos14/dinamica-grupos/dinamica-grupos.shtmlhttp://www.monografias.com/trabajos11/metods/metods.shtmlhttp://www.monografias.com/trabajos13/heren/heren.shtmlhttp://www.monografias.com/trabajos/histoconcreto/histoconcreto.shtmlhttp://www.monografias.com/trabajos16/metodo-lecto-escritura/metodo-lecto-escritura.shtml
  • 8/6/2019 Leccion 1.2 Tipos de Lenguajes de Programacion

    19/21

    [ PROGRAMACION II ] IDSYSTEMS 2011

    EVENTO:un suceso en el sistema (tal como una interaccin del usuario con la mquina, omensaje enviado por un objeto). El sistema maneja el evento enviando el mensaje adecuadobjeto pertinente.

    MENSAJE:una comunicacin dirigida a un objeto, que le ordena que ejecute uno de susmtodos con ciertos parmetros asociados al evento que lo gener.

    PROPIEDAD O ATRIBUTO:contenedor de un tipo de datos asociados a un objeto (o a unaclase de objetos), que hace los datos visibles desde fuera del objeto, y cuyo valor puede sealterado por la ejecucin de algn mtodo.

    ESTADO INTERNO:es una propiedad invisible de los objetos, que puede ser nicamenteaccedida y alterada por un mtodo del objeto, y que se utiliza para indicar distintas situaci posibles para el objeto (o clase de objetos).

    En comparacin con un lenguaje imperativo, una "variable no es ms que un contenedor interno atributo del objeto o de un estado interno, as como la "funcin" es un procedimiento interno del del objeto.

    7.2. CARACTERSTICAS DE LA PROGRAMACIN ORIENTADA A OBJETOS

    Las caractersticas ms importantes de la programacin orientada a objetos son las siguientes:

    ABSTRACCIN:Cada objeto en el sistema sirve como modelo de un "agente" abstracto q puede realizar trabajo, informar y cambiar su estado, y "comunicarse" con otros objetos en e

    sistema sin revelar cmo se implementan estas caractersticas. Los procesos, las funcionesmtodos pueden tambin ser abstrados y cuando lo estn, una variedad de tcnicas sonrequeridas para ampliar una abstraccin.

    ENCAPSULAMIENTO:tambin llamado "ocultacin de la informacin". Cada objeto estaislado del exterior, es un mdulo natural, y cada tipo de objeto expone una interfaz a otroobjetos que especfica cmo pueden interactuar con los objetos de la clase. El aislamiento protege a las propiedades de un objeto contra su modificacin por quien no tenga derecho acceder a ellas, solamente los propios mtodos internos del objeto pueden acceder a su estEsto asegura que otros objetos no pueden cambiar el estado interno de un objeto de manerinesperadas, eliminando efectos secundarios e interacciones inesperadas. Algunos lenguajrelajan esto, permitiendo un acceso directo a los datos internos del objeto de una maneracontrolada y limitando el grado de abstraccin. La aplicacin entera se reduce a un agregarompecabezas de objetos. Esta caracterstica o propiedad permite por tanto ejecutar lainformacin al resto de los objetos, impidiendo as accesos incorrectos o conflictos.

    POLIMORFISMO:comportamientos diferentes, asociados a objetos distintos, puedencompartir el mismo nombre, al llamarlos por ese nombre se utilizar el comportamientocorrespondiente al objeto que se est usando. O dicho de otro modo, las referencias y lascolecciones de objetos pueden contener objetos de diferentes tipos, y la invocacin de un

    LECCION 1.2 Tipos de lenguajes de programacion Pgina 19

    http://www.monografias.com/trabajos34/el-trabajo/el-trabajo.shtmlhttp://www.monografias.com/trabajos34/el-trabajo/el-trabajo.shtmlhttp://www.monografias.com/trabajos34/el-trabajo/el-trabajo.shtml
  • 8/6/2019 Leccion 1.2 Tipos de Lenguajes de Programacion

    20/21

    [ PROGRAMACION II ] IDSYSTEMS 2011

    comportamiento en una referencia producir el comportamiento correcto para el tipo real dobjeto referenciado. Por ejemplo en Visual Basic, el polimorfismo se da al tener diferentesde objetos (Form, Label, etc.)

    HERENCIA:las clases no estn aisladas, sino que se relacionan entre s, formando una

    jerarqua de clasificacin. Los objetos heredan las propiedades y el comportamiento de todclases a las que pertenecen. La herencia organiza y facilita el polimorfismo y el encapsula permitiendo a los objetos ser definidos y creados como tipos especializados de objetos preexistentes. Estos pueden compartir (y extender) su comportamiento sin tener quereimplementar su comportamiento. Esto suele hacerse habitualmente agrupando los objetoclases y estas enrboleso enrejados que reflejan un comportamiento comn. Cuando un obje pertenece a ms de una clase se dice que hay herencia mltiple; esta caracterstica no estsoportada por algunos lenguajes (como Java). Con esta propiedad, los objetos heredancomportamientos dentro de una jerarqua de clases.

    7.3. PRINCIPALES DIFERENCIAS ENTRE LA PROGRAMACIN IMPERATIVA Y LA

    PROGRAMACIN ORIENTADA A OBJETOS

    La programacin orientada a objetos es ms moderna, es una evolucinde la programacinimperativa plasmada en el diseo de una familiade lenguajes conceptos que existan previamente, con algunos nuevos.

    La programacin orientada a objetos se basa en lenguajes que soportan sintctica ysemnticamente la unin entre los tipos abstractos de datos y sus operaciones (a esta uninsuele llamar clase).

    La programacin orientada a objetos incorpora en su entorno de ejecucin mecanismos talcomo el polimorfismo y el envo de mensajes entre objetos.

    7.4. ALGUNOS LENGUAJES ORIENTADOS A OBJETOS

    Entre los lenguajes orientados a objetos ms importantes que se pueden mencionar, aparecen lossiguientes:

    Ada

    C++

    C#

    VB.NET

    Clarion

    Delphi

    LECCION 1.2 Tipos de lenguajes de programacion Pgina 20

    http://www.monografias.com/trabajos15/composicion-follaje/composicion-follaje.shtmlhttp://www.monografias.com/trabajos16/teoria-sintetica-darwin/teoria-sintetica-darwin.shtmlhttp://www.monografias.com/trabajos16/teoria-sintetica-darwin/teoria-sintetica-darwin.shtmlhttp://www.monografias.com/trabajos5/fami/fami.shtmlhttp://www.monografias.com/trabajos5/fami/fami.shtmlhttp://www.monografias.com/trabajos15/composicion-follaje/composicion-follaje.shtmlhttp://www.monografias.com/trabajos16/teoria-sintetica-darwin/teoria-sintetica-darwin.shtmlhttp://www.monografias.com/trabajos5/fami/fami.shtml
  • 8/6/2019 Leccion 1.2 Tipos de Lenguajes de Programacion

    21/21

    [ PROGRAMACION II ] IDSYSTEMS 2011

    Eiffel

    Jave

    Lexico (encastellano)

    Objective-C

    Ocaml

    Oz

    PHP

    PowerBuilder

    Pitn Ruby

    Smalltalk

    CONCLUSINLos lenguajes de programacin no son simplemente un detalle ms del amplio mundo de la infory por lo tanto deben ser vistos como el fundamento y la base del desarrollo y avance de la compu

    Estudiar los conceptos bsicos, clasificacin, diferencias, propiedades y funcionamiento de los lede programacin es elemental para cualquier estudiante o profesional dedicado a la computacinde esa manera se logra tener una perspectiva global y mucho ms amplia que tendr mucho peso bien documentados y al conocer qu son, cmo se clasifican y de qu manera trabajan los lengua programacin.

    Luego del desarrollo de estainvestigacin resulta fcil comprender los tipos y la clasificacin que se da a los lenguajes de programacin en base a sus funcionalidades y caractersticas.

    Este estudio tambin permite desarrollar un sentido crtico de los lenguajes de programacin, de que el programador no seleccione ni emita un juicio respecto a determinado lenguaje basadosimplemente en su limitado conocimiento ni basado en la popularidad de la que goza cierto lengusino que el programador est capacitado para dar razones contundentes y certeras del por qu unlenguaje es mejor que otro para determinada tarea, qu ventajas tiene uno respecto del otro, y quetambin el programador sea capaz de seleccionar el lenguaje que ms le convenga para la resolucun problema determinado.

    Esta investigacin servir para evaluar correctamente los lenguajes de programacin, determinanventajas y desventajas que cada uno de ellos presenta.

    LECCION 1.2 Tipos de lenguajes de programacion Pgina 21

    http://www.monografias.com/trabajos5/oriespa/oriespa.shtmlhttp://www.monografias.com/trabajos11/norma/norma.shtmlhttp://www.monografias.com/trabajos11/norma/norma.shtmlhttp://www.monografias.com/trabajos5/oriespa/oriespa.shtmlhttp://www.monografias.com/trabajos11/norma/norma.shtml