SlideShare una empresa de Scribd logo
1 de 25
Lenguaje de alto nivel Un lenguaje de programación de alto nivel se caracteriza por expresar los algoritmos de una manera adecuada a la capacidad cognitiva humana, en lugar de a la capacidad ejecutora de las máquinas. En los primeros lenguajes de alto nivel la limitación era que se orientaban a un área específica y sus instrucciones requerían de una sintaxis predefinida. Se clasifican como lenguajes procedimentales. Otra limitación de los lenguajes de alto nivel es que se requiere de ciertos conocimientos de programación para realizar las secuencias de instrucciones lógicas. Los lenguajes de alto nivel se crearon para que el usuario común pudiese solucionar un problema de procesamiento de datos de una manera más fácil y rápida. Por esta razón, a finales de los años 1950 surgió un nuevo tipo de lenguajes de programación que evitaba estos inconvenientes, a costa de ceder un poco en las ventajas. Estos lenguajes se llaman de tercera generación o de alto nivel, en contraposición a los de bajo nivel o de nivel próximo a la máquina.
ventajas Genera un código más sencillo y comprensible. Escribir un código válido para diversas máquinas y, posiblemente, sistemas operativos.
desventajas Reducción de velocidad al ceder el trabajo de bajo nivel a la máquina. Algunos requieren que la máquina cliente posea una determinada plataforma.
Lenguajes de alto nivel Ada ALGOL BASIC C++ C# Clipper COBOL Fortran Haskell Java
Lenguaje de bajo nivel Un lenguaje de programación de bajo nivel es el que proporciona un set de instrucciones aritmeticológicas sin la capacidad de encapsular dichas instrucciones en funciones que no estén ya contempladas en la arquitectura del hardaware
Ventajas El proceso de evolución trajo consigo algunas desventajas, que ahora veremos como las ventajas de usar el Lenguaje Velocidad Eficiencia de tamaño Flexibilidad
desventajas Por otro lado, al ser un lenguaje más primitivo, el tiene ciertas desventajas Tiempo de programación Programas fuente grandes Peligro de afectar recursos inesperadamente Falta de portabilidad
Lenguajes de bajo nivel FORTRAN COBOL  BASIC PASCAL C ADA
Generaciones Primera generación: lenguaje maquina.  Segunda generación: se crearon los primeros lenguajes ensambladores.  Tercera generación: se crean los primeros lenguajes de alto nivel. Ej. C, Pascal, Cobol…  Cuarta generación. Son los lenguajes capaces de generar código por si solos, son los llamados RAD, con lo cuales se pueden realizar aplicaciones sin ser un experto en el lenguaje. Aquí también se encuentran los lenguajes orientados a objetos, haciendo posible la reutilización d partes del código para otros programas. Ej. Visual, Natural Adabes…  Quinta generación: aquí se encuentran los lenguajes orientados a la inteligencia artificial. Estos lenguajes todavía están poco desarrollados. Ej. LISP
Lenguaje binario         El antiguo matemático indio Pingala presentó la primera descripción que se conoce de un sistema de      numeración binario en el siglo tercero antes de nuestra era.         Una serie completa de 8 trigramas y 64 hexagramas (análogos a 3 bit) y números binarios de 6 bit, eran conocidos en la antigua china en el texto clásico del I Ching. Series similares de combinaciones binarias también han sido utilizados en sistemas de adivinación tradicionales africanos, como el Ifá, así como en la geomancia medieval occidental.         Un arreglo binario ordenado de los hexagramas del I Ching, representando la secuencia decimal de 0 a 63, y un método para generar el mismo, fue desarrollado por el erudito y filósofo Chino ShaoYong en el siglo XI. Sin embargo, no hay ninguna prueba de que Shao entendiera el cómputo binario.        En 1605 Francis Bacon habló de un sistema por el cual las letras del alfabeto podrían reducirse a secuencias de dígitos binarios, las cuales podrían ser codificadas como variaciones apenas visibles en la fuente de cualquier texto arbitrario.        El sistema binario moderno fue documentado en su totalidad por Leibniz, en el siglo diecisiete, en su artículo "Explication de l'ArithmétiqueBinaire". En él se mencionan los símbolos binarios usados por matemáticos chinos. Leibniz usó el 0 y el 1, al igual que el sistema de numeración binario actual.         En 1854, el matemático británico George Boole publicó un artículo que marcó un antes y un después, detallando un sistema de lógica que terminaría denominándose Álgebra de Boole. Dicho sistema desempeñaría un papel fundamental en el desarrollo del sistema binario actual, particularmente en el desarrollo de circuitos electrónicos.
representacion        Un número binario puede ser representado por cualquier secuencia de bits (dígitos binarios), que suelen representar cualquier mecanismo capaz de estar en dos estados mutuamente excluyentes. Las siguientes secuencias de símbolos podrían ser interpretadas como el mismo valor numérico binario:          cada caso depende del valor asignado a cada símbolo. En una computadora, los valores numéricos pueden representar dos voltajes diferentes; también pueden indicar polaridades magnéticas sobre un disco magnético. Un "positivo", "sí", o "sobre el estado" no es necesariamente el equivalente al valor numérico de uno; esto depende de la nomenclatura usada.          De acuerdo con la representación más habitual, que es usando números árabes, los números binarios comúnmente son escritos usando los símbolos 0 y 1. Los números binarios se escriben a menudo con subíndices, prefijos o sufijos para indicar su base. Las notaciones siguientes son equivalentes:         100101 binario (declaración explícita de formato)          100101b (un sufijo que indica formato binario)         100101B (un sufijo que indica formato binario) bin 100101 (un prefijo que indica formato binario)         1001012 (un subíndice que indica base 2 (binaria) notación)         %100101 (un prefijo que indica formato binario)       0b100101 (un prefijo que indica formato binario, común en lenguajes de programación)
COMPILADOR      Un compilador es un programa informático que traduce un programa escrito en un lenguaje de programación a otro lenguaje de programación, generando un programa equivalente que la máquina será capaz de interpretar. Usualmente el segundo lenguaje es lenguaje de máquina, pero también puede ser simplemente texto. Este proceso de traducción se conoce como compilación.[1]      Un compilador es un programa que permite traducir el código fuente de un programa en lenguaje de alto nivel, a otro lenguaje de nivel inferior (típicamente lenguaje de máquina). De esta manera un programador puede diseñar un programa en un lenguaje mucho más cercano a como piensa un ser humano, para luego compilarlo a un programa más manejable por una computadora
Tipos de compiladores Tipos de compiladores Esta taxonomía de los tipos de compiladores no es excluyente, por lo que puede haber compiladores que se adscriban a varias categorías: Compiladores cruzados: generan código para un sistema distinto del que están funcionando. Compiladores optimizadores: realizan cambios en el código para mejorar su eficiencia, pero manteniendo la funcionalidad del programa original. Compiladores de una sola pasada: generan el código máquina a partir de una única lectura del código fuente. Compiladores de varias pasadas: necesitan leer el código fuente varias veces antes de poder producir el código máquina. Compiladores JIT (Just In Time): forman parte de un intérprete y compilan partes del código según se necesitan.
interprete En ciencias de la computación, intérprete o interpretador es un programa informático capaz de analizar y ejecutar otros programas, escritos en un lenguaje de alto nivel,. Los intérpretes se diferencian de los compiladores en que mientras estos traducen un programa desde su descripción en un lenguaje de programación al código de máquina del sistema, los primeros (los intérpretes) sólo realizan la traducción a medida que sea necesaria, típicamente, instrucción por instrucción, y normalmente no guardan el resultado de dicha traducción. Usando un intérprete, un solo archivo fuente puede producir resultados iguales incluso en sistemas sumamente diferentes (ej. una PC y un PlayStation 3). Usando un compilador, un solo archivo fuente puede producir resultados iguales solo si es compilado a distintos ejecutables específicos a cada sistema. Los programas interpretados suelen ser más lentos que los compilados debido a la necesidad de traducir el programa mientras se ejecuta, pero a cambio son más flexibles como entornos de programación y depuración (lo que se traduce, por ejemplo, en una mayor facilidad para reemplazar partes enteras del programa o añadir módulos completamente nuevos), y permiten ofrecer al programa interpretado un entorno no dependiente de la máquina donde se ejecuta el intérprete, sino del propio intérprete (lo que se conoce comúnmente como máquina virtual).
Para mejorar el desempeño, algunas implementaciones de programación de lenguajes de programación pueden interpretar o compilar el código fuente original en una más compacta forma intermedia y después traducir eso al código de máquina (ej. Perl, Python, MATLAB, y Ruby). Algunos aceptan los archivos fuente guardados en esta representación intermedia (ej. Python, UCSD Pascal y Java). Comparando su actuación con la de un ser humano, un compilador equivale a un traductor profesional que, a partir de un texto, prepara otro independiente traducido a otra lengua, mientras que un intérprete corresponde al intérprete humano, que traduce de viva voz las palabras que oye, sin dejar constancia por escrito. En la actualidad, uno de los entornos más comunes de uso de los intérpretes informáticos es Internet, debido a la posibilidad que estos tienen de ejecutarse independientemente de la plataforma.
ejemplos Algunos ejemplos de lenguajes que son normalmente interpretados en vez de compilados son: Perl PHP Java Javascript Logo ASP Python C# J# ASP
PHP PHP es un lenguaje de programacióninterpretado, diseñado originalmente para la creación de páginas web dinámicas. Es usado principalmente en interpretación del lado del servidor (server-side scripting) pero actualmente puede ser utilizado desde una interfaz de línea de comandos o en la creación de otros tipos de programas incluyendo aplicaciones con interfaz gráfica usando las bibliotecas Qt o GTK+. PHP es un acrónimo recursivo que significa PHP HypertextPre-processor (inicialmente PHP Tools, o, Personal Home Page Tools). Fue creado originalmente por RasmusLerdorf en 1994; sin embargo la implementación principal de PHP es producida ahora por The PHP Group y sirve como el estándar de facto para PHP al no haber una especificación formal. Publicado bajo la PHP License, la Free Software Foundation considera esta licencia como software libre.
PHP 3 Dos programadores israelíes del Technion, ZeevSuraski y AndiGutmans, reescribieron el analizador sintáctico (parser en inglés) en el año 1997 y crearon la base del PHP3, cambiando el nombre del lenguaje a la forma actual. Inmediatamente comenzaron experimentaciones públicas de PHP3 y fue publicado oficialmente en junio del 1998. Para 1999, Suraski y Gutmans reescribieron el código de PHP, produciendo lo que hoy se conoce como motor Zend. También fundaron Zend Technologies en RamatGan, Israel.
PHP 5 El 13 de julio de 2004, fue lanzado PHP 5, utilizando el motor ZendEngine 2.0 (o ZendEngine 2). La versión más reciente de PHP es la 5.3.3 (22 de julio de 2010), que incluye todas las ventajas que provee el nuevo ZendEngine 2 como: Mejor soporte para la Programación Orientada a Objetos, que en versiones anteriores era extremadamente rudimentario. Mejoras de rendimiento. Mejor soporte para MySQL con extensión completamente reescrita. Mejor soporte a XML ( XPath, DOM, etc. ). Soporte nativo para SQLite. Soporte integrado para SOAP. Iteradores de datos. Manejo de excepciones. Mejoras con la implementación con Oracle. Aún se siguen publicando versiones de la rama 5.2.X, siendo publicada la versión 5.2.14 el 22 de Julio de 2010, aunque la mayoría son actualizaciones de seguridad
htlm HTML, siglas de HyperTextMarkupLanguage (Lenguaje de Marcado de Hipertexto), es el lenguaje de marcado predominante para la elaboración de páginas web. Es usado para describir la estructura y el contenido en forma de texto, así como para complementar el texto con objetos tales como imágenes. HTML se escribe en forma de "etiquetas", rodeadas por corchetes angulares (<,>). HTML también puede describir, hasta un cierto punto, la apariencia de un documento, y puede incluir un script (por ejemplo Javascript), el cual puede afectar el comportamiento de navegadores web y otros procesadores de HTML. HTML también es usado para referirse al contenido del tipo de MIMEtext/html o todavía más ampliamente como un término genérico para el HTML, ya sea en forma descendida del XML (como XHTML 1.0 y posteriores) o en forma descendida directamente de SGML (como HTML 4.01 y anteriores).
PRIMERA HISTORIA DE HTML Primeras especificaciones La primera descripción de HTML disponible públicamente fue un documento llamado HTML Tags (Etiquetas HTML), publicado por primera vez en Internet por Tim Berners-Lee en 1991.[1][2] Describe 22 elementos comprendiendo el diseño inicial y relativamente simple de HTML. Trece de estos elementos todavía existen en HTML 4.[3] Berners-Lee consideraba a HTML una ampliación de SGML, pero no fue formalmente reconocida como tal hasta la publicación de mediados de 1993, por la IETF, de una primera proposición para una especificación de HTML: el boceto HypertextMarkupLanguage de Berners-Lee y Dan Connolly, el cual incluía una Definición de Tipo de Documento SGML para definir la gramática.[4] El boceto expiró luego de seis meses, pero fue notable por su reconocimiento de la etiqueta propia del navegador Mosaic usada para insertar imágenes sin cambio de línea, reflejando la filosofía del IETF de basar estándares en prototipos con éxito. [5] Similarmente, el boceto competidor de DaveRaggettHTML+ (HypertextMarkupFormat) (Formato de marcaje de hipertexto), de 1993 tardío, sugería, estandarizar características ya implementadas tales como tablas.[6
Asp.net ASP.NET es un framework para aplicaciones web desarrollado y comercializado por Microsoft. Es usado por programadores para construir sitios web dinámicos, aplicaciones web y servicios webXML. Apareció en enero de 2002 con la versión 1.0 del .NET Framework, y es la tecnología sucesora de la tecnología Active Server Pages (ASP). ASP.NET esta construido sobre el CommonLanguageRuntime, permitiendo a los programadores escribir código ASP.NET usando cualquier lenguaje admitido por el .NET Framework. Cualquier persona que esta familiarizada con el desarrollo de aplicaciones web sabrá que el desarrollo web no es una tarea simple. Ya que mientras que un modelo de programación para aplicaciones de uso común está muy bien establecido y soportado por un gran número de lenguajes, herramientas de desarrollo, la programación web es una mezcla de varios lenguajes de etiquetas, un gran uso de lenguajes de script y plataformas de servidor. Por desgracia para el programador de nivel intermedio, el conocimiento y habilidades que se necesitan para desarrollar aplicaciones web tienen muy poco en común con las que son necesarias en el desarrollo tradicional de aplicaciones.
Microsoft introdujo la tecnología llamada Active Server Pages en diciembre de 1996. Es parte del Internet Information Server (IIS) desde la versión 3.0 y es una tecnología de páginas activas que permite el uso de diferentes scripts y componentes en conjunto con el tradicional HTML para mostrar páginas generadas dinámicamente. La definición contextual de Microsoft es que "Las Active Server Pages son un ambiente de aplicación abierto y gratuito en el que se puede combinar código HTML, scripts y componentes ActiveX del servidor para crear soluciones dinámicas y poderosas para el web". Después del lanzamiento del Internet InformationServices 4.0 en 1997, Microsoft comenzó a investigar las posibilidades para un nuevo modelo de aplicaciones web que pudiera resolver las quejas comunes sobre ASP, especialmente aquellas con respecto a la separación de la presentación y el contenido y ser capaz de escribir código "limpio".[1] A Mark Anders, un administrador del equipo de IIS y Scott Guthrie, quien se había unido a Microsoft en 1997 después de graduarse de la Universidad Duke, se les dio la tarea de determinar como debería ser ese modelo. El diseño inicial fue desarrollado en el curso de dos meses por Anders y Guthrie, y Guthrie codificó los prototipos iníciales durante las celebraciones navideñas de 1997.[2]
Scott Guthrie en 2007. El prototipo inicial fue llamado "XSP"; Guthrie explicó en una entrevista en el año 2007 que, "Peoplewouldalwaysaskwhatthe X stoodfor. At the time itreallydidn't stand foranything. XML startedwiththat; XSLT startedwiththat. Everythingcoolseemedtostartwithan X, so that'swhatweoriginallynamedit".[1] "La gente siempre se preguntaba qué significaba la X. En ese momento, realmente no significaba nada. XML comenzaba así, al igual que XSLT. Todo lo novedoso parecía empezar con una X, así que ese es el motivo por el que originalmente lo llamamos así."  El desarrollo inicial de XSP fue hecho usando Java,[3] pero pronto se decidió construir una nueva plataforma sobre el CommonLanguageRuntime(CLR), pues ofrecía un ambiente orientado a objetos, recolección de basura y otras características que fueron vistas como características deseables. Guthrie describió esta decisión como un "alto riesgo", pues el éxito de su nueva plataforma de desarrollo web estaría atado al éxito del CLR, que, como XSP, aún estaba en etapas tempranas de desarrollo, tanto así que el equipo XSP fue el primer equipo en Microsoft en enfocarse en el CLR.
Con el cambio al CommonLanguageRuntime, XSP fue implementado en C# (conocido internamente como "Project Cool" pero mantenido en secreto para el público), y fue renombrado a ASP+, para este punto la nueva plataforma fue vista como el sucesor de Active Server Pages, y la intención fue proporcionar un medio fácil de migración para los desarrolladores ASP.[4

Más contenido relacionado

La actualidad más candente

1. que es programacion
1. que es programacion1. que es programacion
1. que es programacionFausto Orozco
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacionJohan95
 
Tema 01 introducción a compiladores
Tema 01   introducción a compiladoresTema 01   introducción a compiladores
Tema 01 introducción a compiladoresikky2345
 
5 características del lenguaje cobol
5 características del lenguaje cobol5 características del lenguaje cobol
5 características del lenguaje cobolGili Freire
 
Compilador: DEFINICIÓN
Compilador: DEFINICIÓNCompilador: DEFINICIÓN
Compilador: DEFINICIÓNInfomania pro
 
Unidad v sistemas mecanizados ii
Unidad v sistemas mecanizados iiUnidad v sistemas mecanizados ii
Unidad v sistemas mecanizados iinestorgarcia250
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacionAriel Medina
 
Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programaciónfarmero
 
Preguntas y Respuestas
Preguntas y RespuestasPreguntas y Respuestas
Preguntas y RespuestasFede Garcia
 
introducción a lenguajes de programacion
introducción a lenguajes de programacionintroducción a lenguajes de programacion
introducción a lenguajes de programacionbretorio
 
GRUPO 4 Elementos a traves de los lenguajes de programacion, lenguaje de maqu...
GRUPO 4 Elementos a traves de los lenguajes de programacion, lenguaje de maqu...GRUPO 4 Elementos a traves de los lenguajes de programacion, lenguaje de maqu...
GRUPO 4 Elementos a traves de los lenguajes de programacion, lenguaje de maqu...Sarai Rodriguez
 

La actualidad más candente (18)

1. que es programacion
1. que es programacion1. que es programacion
1. que es programacion
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacion
 
Algoritmos y programas
Algoritmos y programasAlgoritmos y programas
Algoritmos y programas
 
Entorno Easy Code
Entorno Easy CodeEntorno Easy Code
Entorno Easy Code
 
Tema 01 introducción a compiladores
Tema 01   introducción a compiladoresTema 01   introducción a compiladores
Tema 01 introducción a compiladores
 
5 características del lenguaje cobol
5 características del lenguaje cobol5 características del lenguaje cobol
5 características del lenguaje cobol
 
Compilador: DEFINICIÓN
Compilador: DEFINICIÓNCompilador: DEFINICIÓN
Compilador: DEFINICIÓN
 
Unidad v sistemas mecanizados ii
Unidad v sistemas mecanizados iiUnidad v sistemas mecanizados ii
Unidad v sistemas mecanizados ii
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacion
 
Algoritmos1
Algoritmos1Algoritmos1
Algoritmos1
 
Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programación
 
Introducción al Lenguaje de Programación
Introducción al Lenguaje de ProgramaciónIntroducción al Lenguaje de Programación
Introducción al Lenguaje de Programación
 
1er Trabajo
1er Trabajo1er Trabajo
1er Trabajo
 
Preguntas y Respuestas
Preguntas y RespuestasPreguntas y Respuestas
Preguntas y Respuestas
 
introducción a lenguajes de programacion
introducción a lenguajes de programacionintroducción a lenguajes de programacion
introducción a lenguajes de programacion
 
GRUPO 4 Elementos a traves de los lenguajes de programacion, lenguaje de maqu...
GRUPO 4 Elementos a traves de los lenguajes de programacion, lenguaje de maqu...GRUPO 4 Elementos a traves de los lenguajes de programacion, lenguaje de maqu...
GRUPO 4 Elementos a traves de los lenguajes de programacion, lenguaje de maqu...
 
Lenguaje de programación
Lenguaje de programaciónLenguaje de programación
Lenguaje de programación
 
H:\compiladores
H:\compiladoresH:\compiladores
H:\compiladores
 

Similar a Especialidad

C:\documents and settings\clientea\mis documentos\compiladores
C:\documents and settings\clientea\mis documentos\compiladoresC:\documents and settings\clientea\mis documentos\compiladores
C:\documents and settings\clientea\mis documentos\compiladoresNancyandRegina317
 
C:\fakepath\compiladores
C:\fakepath\compiladoresC:\fakepath\compiladores
C:\fakepath\compiladorespaulina8
 
C:\fakepath\el software libre
C:\fakepath\el software libreC:\fakepath\el software libre
C:\fakepath\el software libreDanielita Lopez
 
C:\fakepath\el software libre
C:\fakepath\el software libreC:\fakepath\el software libre
C:\fakepath\el software libreDanielita Lopez
 
C:\fakepath\el software libre
C:\fakepath\el software libreC:\fakepath\el software libre
C:\fakepath\el software libreDLACGP
 
C:\fakepath\el software libre
C:\fakepath\el software libreC:\fakepath\el software libre
C:\fakepath\el software libreDanielita Lopez
 
C:\fakepath\compilador
C:\fakepath\compiladorC:\fakepath\compilador
C:\fakepath\compiladorDLACGP
 
C:\fakepath\el software libre
C:\fakepath\el software libreC:\fakepath\el software libre
C:\fakepath\el software libreDanielita Lopez
 
Compilador Funcionamiento
Compilador FuncionamientoCompilador Funcionamiento
Compilador FuncionamientoKriz Kozlov
 
Lenguajes de programacion
Lenguajes de programacion Lenguajes de programacion
Lenguajes de programacion juanjokobrax
 
Actividad 3
Actividad 3Actividad 3
Actividad 3maryr_
 
Materia unidad compiladores
Materia unidad compiladoresMateria unidad compiladores
Materia unidad compiladoresbachispasaca
 
Compilador e interpretador
Compilador e interpretadorCompilador e interpretador
Compilador e interpretadorFrancisco Leal
 
Clase3 guia1-introduccion-compiladores-conceptos
Clase3 guia1-introduccion-compiladores-conceptosClase3 guia1-introduccion-compiladores-conceptos
Clase3 guia1-introduccion-compiladores-conceptosInfomania pro
 
Lenguaje de programacion
Lenguaje de programacionLenguaje de programacion
Lenguaje de programacionandrearincon56
 
Los lenguajes de programación son herramientas que nos permiten crear program...
Los lenguajes de programación son herramientas que nos permiten crear program...Los lenguajes de programación son herramientas que nos permiten crear program...
Los lenguajes de programación son herramientas que nos permiten crear program...edwin6886
 

Similar a Especialidad (20)

C:\documents and settings\clientea\mis documentos\compiladores
C:\documents and settings\clientea\mis documentos\compiladoresC:\documents and settings\clientea\mis documentos\compiladores
C:\documents and settings\clientea\mis documentos\compiladores
 
C:\fakepath\compiladores
C:\fakepath\compiladoresC:\fakepath\compiladores
C:\fakepath\compiladores
 
C:\fakepath\el software libre
C:\fakepath\el software libreC:\fakepath\el software libre
C:\fakepath\el software libre
 
C:\fakepath\el software libre
C:\fakepath\el software libreC:\fakepath\el software libre
C:\fakepath\el software libre
 
C:\fakepath\el software libre
C:\fakepath\el software libreC:\fakepath\el software libre
C:\fakepath\el software libre
 
C:\fakepath\el software libre
C:\fakepath\el software libreC:\fakepath\el software libre
C:\fakepath\el software libre
 
C:\fakepath\compilador
C:\fakepath\compiladorC:\fakepath\compilador
C:\fakepath\compilador
 
C:\fakepath\el software libre
C:\fakepath\el software libreC:\fakepath\el software libre
C:\fakepath\el software libre
 
Compilador Funcionamiento
Compilador FuncionamientoCompilador Funcionamiento
Compilador Funcionamiento
 
Lenguajes de programacion
Lenguajes de programacion Lenguajes de programacion
Lenguajes de programacion
 
Actividad 3
Actividad 3Actividad 3
Actividad 3
 
Stephany diapositivas
Stephany diapositivasStephany diapositivas
Stephany diapositivas
 
Materia unidad compiladores
Materia unidad compiladoresMateria unidad compiladores
Materia unidad compiladores
 
Lenguaje de programacion
Lenguaje de programacionLenguaje de programacion
Lenguaje de programacion
 
Compilador e interpretador
Compilador e interpretadorCompilador e interpretador
Compilador e interpretador
 
Clase3 guia1-introduccion-compiladores-conceptos
Clase3 guia1-introduccion-compiladores-conceptosClase3 guia1-introduccion-compiladores-conceptos
Clase3 guia1-introduccion-compiladores-conceptos
 
Ensayo de marianny
Ensayo de mariannyEnsayo de marianny
Ensayo de marianny
 
Lenguaje de programacion
Lenguaje de programacionLenguaje de programacion
Lenguaje de programacion
 
Kmi
KmiKmi
Kmi
 
Los lenguajes de programación son herramientas que nos permiten crear program...
Los lenguajes de programación son herramientas que nos permiten crear program...Los lenguajes de programación son herramientas que nos permiten crear program...
Los lenguajes de programación son herramientas que nos permiten crear program...
 

Especialidad

  • 1. Lenguaje de alto nivel Un lenguaje de programación de alto nivel se caracteriza por expresar los algoritmos de una manera adecuada a la capacidad cognitiva humana, en lugar de a la capacidad ejecutora de las máquinas. En los primeros lenguajes de alto nivel la limitación era que se orientaban a un área específica y sus instrucciones requerían de una sintaxis predefinida. Se clasifican como lenguajes procedimentales. Otra limitación de los lenguajes de alto nivel es que se requiere de ciertos conocimientos de programación para realizar las secuencias de instrucciones lógicas. Los lenguajes de alto nivel se crearon para que el usuario común pudiese solucionar un problema de procesamiento de datos de una manera más fácil y rápida. Por esta razón, a finales de los años 1950 surgió un nuevo tipo de lenguajes de programación que evitaba estos inconvenientes, a costa de ceder un poco en las ventajas. Estos lenguajes se llaman de tercera generación o de alto nivel, en contraposición a los de bajo nivel o de nivel próximo a la máquina.
  • 2. ventajas Genera un código más sencillo y comprensible. Escribir un código válido para diversas máquinas y, posiblemente, sistemas operativos.
  • 3. desventajas Reducción de velocidad al ceder el trabajo de bajo nivel a la máquina. Algunos requieren que la máquina cliente posea una determinada plataforma.
  • 4. Lenguajes de alto nivel Ada ALGOL BASIC C++ C# Clipper COBOL Fortran Haskell Java
  • 5. Lenguaje de bajo nivel Un lenguaje de programación de bajo nivel es el que proporciona un set de instrucciones aritmeticológicas sin la capacidad de encapsular dichas instrucciones en funciones que no estén ya contempladas en la arquitectura del hardaware
  • 6. Ventajas El proceso de evolución trajo consigo algunas desventajas, que ahora veremos como las ventajas de usar el Lenguaje Velocidad Eficiencia de tamaño Flexibilidad
  • 7. desventajas Por otro lado, al ser un lenguaje más primitivo, el tiene ciertas desventajas Tiempo de programación Programas fuente grandes Peligro de afectar recursos inesperadamente Falta de portabilidad
  • 8. Lenguajes de bajo nivel FORTRAN COBOL BASIC PASCAL C ADA
  • 9. Generaciones Primera generación: lenguaje maquina. Segunda generación: se crearon los primeros lenguajes ensambladores. Tercera generación: se crean los primeros lenguajes de alto nivel. Ej. C, Pascal, Cobol… Cuarta generación. Son los lenguajes capaces de generar código por si solos, son los llamados RAD, con lo cuales se pueden realizar aplicaciones sin ser un experto en el lenguaje. Aquí también se encuentran los lenguajes orientados a objetos, haciendo posible la reutilización d partes del código para otros programas. Ej. Visual, Natural Adabes… Quinta generación: aquí se encuentran los lenguajes orientados a la inteligencia artificial. Estos lenguajes todavía están poco desarrollados. Ej. LISP
  • 10. Lenguaje binario El antiguo matemático indio Pingala presentó la primera descripción que se conoce de un sistema de numeración binario en el siglo tercero antes de nuestra era. Una serie completa de 8 trigramas y 64 hexagramas (análogos a 3 bit) y números binarios de 6 bit, eran conocidos en la antigua china en el texto clásico del I Ching. Series similares de combinaciones binarias también han sido utilizados en sistemas de adivinación tradicionales africanos, como el Ifá, así como en la geomancia medieval occidental. Un arreglo binario ordenado de los hexagramas del I Ching, representando la secuencia decimal de 0 a 63, y un método para generar el mismo, fue desarrollado por el erudito y filósofo Chino ShaoYong en el siglo XI. Sin embargo, no hay ninguna prueba de que Shao entendiera el cómputo binario. En 1605 Francis Bacon habló de un sistema por el cual las letras del alfabeto podrían reducirse a secuencias de dígitos binarios, las cuales podrían ser codificadas como variaciones apenas visibles en la fuente de cualquier texto arbitrario. El sistema binario moderno fue documentado en su totalidad por Leibniz, en el siglo diecisiete, en su artículo "Explication de l'ArithmétiqueBinaire". En él se mencionan los símbolos binarios usados por matemáticos chinos. Leibniz usó el 0 y el 1, al igual que el sistema de numeración binario actual. En 1854, el matemático británico George Boole publicó un artículo que marcó un antes y un después, detallando un sistema de lógica que terminaría denominándose Álgebra de Boole. Dicho sistema desempeñaría un papel fundamental en el desarrollo del sistema binario actual, particularmente en el desarrollo de circuitos electrónicos.
  • 11. representacion Un número binario puede ser representado por cualquier secuencia de bits (dígitos binarios), que suelen representar cualquier mecanismo capaz de estar en dos estados mutuamente excluyentes. Las siguientes secuencias de símbolos podrían ser interpretadas como el mismo valor numérico binario: cada caso depende del valor asignado a cada símbolo. En una computadora, los valores numéricos pueden representar dos voltajes diferentes; también pueden indicar polaridades magnéticas sobre un disco magnético. Un "positivo", "sí", o "sobre el estado" no es necesariamente el equivalente al valor numérico de uno; esto depende de la nomenclatura usada. De acuerdo con la representación más habitual, que es usando números árabes, los números binarios comúnmente son escritos usando los símbolos 0 y 1. Los números binarios se escriben a menudo con subíndices, prefijos o sufijos para indicar su base. Las notaciones siguientes son equivalentes: 100101 binario (declaración explícita de formato) 100101b (un sufijo que indica formato binario) 100101B (un sufijo que indica formato binario) bin 100101 (un prefijo que indica formato binario) 1001012 (un subíndice que indica base 2 (binaria) notación)  %100101 (un prefijo que indica formato binario) 0b100101 (un prefijo que indica formato binario, común en lenguajes de programación)
  • 12. COMPILADOR Un compilador es un programa informático que traduce un programa escrito en un lenguaje de programación a otro lenguaje de programación, generando un programa equivalente que la máquina será capaz de interpretar. Usualmente el segundo lenguaje es lenguaje de máquina, pero también puede ser simplemente texto. Este proceso de traducción se conoce como compilación.[1] Un compilador es un programa que permite traducir el código fuente de un programa en lenguaje de alto nivel, a otro lenguaje de nivel inferior (típicamente lenguaje de máquina). De esta manera un programador puede diseñar un programa en un lenguaje mucho más cercano a como piensa un ser humano, para luego compilarlo a un programa más manejable por una computadora
  • 13. Tipos de compiladores Tipos de compiladores Esta taxonomía de los tipos de compiladores no es excluyente, por lo que puede haber compiladores que se adscriban a varias categorías: Compiladores cruzados: generan código para un sistema distinto del que están funcionando. Compiladores optimizadores: realizan cambios en el código para mejorar su eficiencia, pero manteniendo la funcionalidad del programa original. Compiladores de una sola pasada: generan el código máquina a partir de una única lectura del código fuente. Compiladores de varias pasadas: necesitan leer el código fuente varias veces antes de poder producir el código máquina. Compiladores JIT (Just In Time): forman parte de un intérprete y compilan partes del código según se necesitan.
  • 14. interprete En ciencias de la computación, intérprete o interpretador es un programa informático capaz de analizar y ejecutar otros programas, escritos en un lenguaje de alto nivel,. Los intérpretes se diferencian de los compiladores en que mientras estos traducen un programa desde su descripción en un lenguaje de programación al código de máquina del sistema, los primeros (los intérpretes) sólo realizan la traducción a medida que sea necesaria, típicamente, instrucción por instrucción, y normalmente no guardan el resultado de dicha traducción. Usando un intérprete, un solo archivo fuente puede producir resultados iguales incluso en sistemas sumamente diferentes (ej. una PC y un PlayStation 3). Usando un compilador, un solo archivo fuente puede producir resultados iguales solo si es compilado a distintos ejecutables específicos a cada sistema. Los programas interpretados suelen ser más lentos que los compilados debido a la necesidad de traducir el programa mientras se ejecuta, pero a cambio son más flexibles como entornos de programación y depuración (lo que se traduce, por ejemplo, en una mayor facilidad para reemplazar partes enteras del programa o añadir módulos completamente nuevos), y permiten ofrecer al programa interpretado un entorno no dependiente de la máquina donde se ejecuta el intérprete, sino del propio intérprete (lo que se conoce comúnmente como máquina virtual).
  • 15. Para mejorar el desempeño, algunas implementaciones de programación de lenguajes de programación pueden interpretar o compilar el código fuente original en una más compacta forma intermedia y después traducir eso al código de máquina (ej. Perl, Python, MATLAB, y Ruby). Algunos aceptan los archivos fuente guardados en esta representación intermedia (ej. Python, UCSD Pascal y Java). Comparando su actuación con la de un ser humano, un compilador equivale a un traductor profesional que, a partir de un texto, prepara otro independiente traducido a otra lengua, mientras que un intérprete corresponde al intérprete humano, que traduce de viva voz las palabras que oye, sin dejar constancia por escrito. En la actualidad, uno de los entornos más comunes de uso de los intérpretes informáticos es Internet, debido a la posibilidad que estos tienen de ejecutarse independientemente de la plataforma.
  • 16. ejemplos Algunos ejemplos de lenguajes que son normalmente interpretados en vez de compilados son: Perl PHP Java Javascript Logo ASP Python C# J# ASP
  • 17. PHP PHP es un lenguaje de programacióninterpretado, diseñado originalmente para la creación de páginas web dinámicas. Es usado principalmente en interpretación del lado del servidor (server-side scripting) pero actualmente puede ser utilizado desde una interfaz de línea de comandos o en la creación de otros tipos de programas incluyendo aplicaciones con interfaz gráfica usando las bibliotecas Qt o GTK+. PHP es un acrónimo recursivo que significa PHP HypertextPre-processor (inicialmente PHP Tools, o, Personal Home Page Tools). Fue creado originalmente por RasmusLerdorf en 1994; sin embargo la implementación principal de PHP es producida ahora por The PHP Group y sirve como el estándar de facto para PHP al no haber una especificación formal. Publicado bajo la PHP License, la Free Software Foundation considera esta licencia como software libre.
  • 18. PHP 3 Dos programadores israelíes del Technion, ZeevSuraski y AndiGutmans, reescribieron el analizador sintáctico (parser en inglés) en el año 1997 y crearon la base del PHP3, cambiando el nombre del lenguaje a la forma actual. Inmediatamente comenzaron experimentaciones públicas de PHP3 y fue publicado oficialmente en junio del 1998. Para 1999, Suraski y Gutmans reescribieron el código de PHP, produciendo lo que hoy se conoce como motor Zend. También fundaron Zend Technologies en RamatGan, Israel.
  • 19. PHP 5 El 13 de julio de 2004, fue lanzado PHP 5, utilizando el motor ZendEngine 2.0 (o ZendEngine 2). La versión más reciente de PHP es la 5.3.3 (22 de julio de 2010), que incluye todas las ventajas que provee el nuevo ZendEngine 2 como: Mejor soporte para la Programación Orientada a Objetos, que en versiones anteriores era extremadamente rudimentario. Mejoras de rendimiento. Mejor soporte para MySQL con extensión completamente reescrita. Mejor soporte a XML ( XPath, DOM, etc. ). Soporte nativo para SQLite. Soporte integrado para SOAP. Iteradores de datos. Manejo de excepciones. Mejoras con la implementación con Oracle. Aún se siguen publicando versiones de la rama 5.2.X, siendo publicada la versión 5.2.14 el 22 de Julio de 2010, aunque la mayoría son actualizaciones de seguridad
  • 20. htlm HTML, siglas de HyperTextMarkupLanguage (Lenguaje de Marcado de Hipertexto), es el lenguaje de marcado predominante para la elaboración de páginas web. Es usado para describir la estructura y el contenido en forma de texto, así como para complementar el texto con objetos tales como imágenes. HTML se escribe en forma de "etiquetas", rodeadas por corchetes angulares (<,>). HTML también puede describir, hasta un cierto punto, la apariencia de un documento, y puede incluir un script (por ejemplo Javascript), el cual puede afectar el comportamiento de navegadores web y otros procesadores de HTML. HTML también es usado para referirse al contenido del tipo de MIMEtext/html o todavía más ampliamente como un término genérico para el HTML, ya sea en forma descendida del XML (como XHTML 1.0 y posteriores) o en forma descendida directamente de SGML (como HTML 4.01 y anteriores).
  • 21. PRIMERA HISTORIA DE HTML Primeras especificaciones La primera descripción de HTML disponible públicamente fue un documento llamado HTML Tags (Etiquetas HTML), publicado por primera vez en Internet por Tim Berners-Lee en 1991.[1][2] Describe 22 elementos comprendiendo el diseño inicial y relativamente simple de HTML. Trece de estos elementos todavía existen en HTML 4.[3] Berners-Lee consideraba a HTML una ampliación de SGML, pero no fue formalmente reconocida como tal hasta la publicación de mediados de 1993, por la IETF, de una primera proposición para una especificación de HTML: el boceto HypertextMarkupLanguage de Berners-Lee y Dan Connolly, el cual incluía una Definición de Tipo de Documento SGML para definir la gramática.[4] El boceto expiró luego de seis meses, pero fue notable por su reconocimiento de la etiqueta propia del navegador Mosaic usada para insertar imágenes sin cambio de línea, reflejando la filosofía del IETF de basar estándares en prototipos con éxito. [5] Similarmente, el boceto competidor de DaveRaggettHTML+ (HypertextMarkupFormat) (Formato de marcaje de hipertexto), de 1993 tardío, sugería, estandarizar características ya implementadas tales como tablas.[6
  • 22. Asp.net ASP.NET es un framework para aplicaciones web desarrollado y comercializado por Microsoft. Es usado por programadores para construir sitios web dinámicos, aplicaciones web y servicios webXML. Apareció en enero de 2002 con la versión 1.0 del .NET Framework, y es la tecnología sucesora de la tecnología Active Server Pages (ASP). ASP.NET esta construido sobre el CommonLanguageRuntime, permitiendo a los programadores escribir código ASP.NET usando cualquier lenguaje admitido por el .NET Framework. Cualquier persona que esta familiarizada con el desarrollo de aplicaciones web sabrá que el desarrollo web no es una tarea simple. Ya que mientras que un modelo de programación para aplicaciones de uso común está muy bien establecido y soportado por un gran número de lenguajes, herramientas de desarrollo, la programación web es una mezcla de varios lenguajes de etiquetas, un gran uso de lenguajes de script y plataformas de servidor. Por desgracia para el programador de nivel intermedio, el conocimiento y habilidades que se necesitan para desarrollar aplicaciones web tienen muy poco en común con las que son necesarias en el desarrollo tradicional de aplicaciones.
  • 23. Microsoft introdujo la tecnología llamada Active Server Pages en diciembre de 1996. Es parte del Internet Information Server (IIS) desde la versión 3.0 y es una tecnología de páginas activas que permite el uso de diferentes scripts y componentes en conjunto con el tradicional HTML para mostrar páginas generadas dinámicamente. La definición contextual de Microsoft es que "Las Active Server Pages son un ambiente de aplicación abierto y gratuito en el que se puede combinar código HTML, scripts y componentes ActiveX del servidor para crear soluciones dinámicas y poderosas para el web". Después del lanzamiento del Internet InformationServices 4.0 en 1997, Microsoft comenzó a investigar las posibilidades para un nuevo modelo de aplicaciones web que pudiera resolver las quejas comunes sobre ASP, especialmente aquellas con respecto a la separación de la presentación y el contenido y ser capaz de escribir código "limpio".[1] A Mark Anders, un administrador del equipo de IIS y Scott Guthrie, quien se había unido a Microsoft en 1997 después de graduarse de la Universidad Duke, se les dio la tarea de determinar como debería ser ese modelo. El diseño inicial fue desarrollado en el curso de dos meses por Anders y Guthrie, y Guthrie codificó los prototipos iníciales durante las celebraciones navideñas de 1997.[2]
  • 24. Scott Guthrie en 2007. El prototipo inicial fue llamado "XSP"; Guthrie explicó en una entrevista en el año 2007 que, "Peoplewouldalwaysaskwhatthe X stoodfor. At the time itreallydidn't stand foranything. XML startedwiththat; XSLT startedwiththat. Everythingcoolseemedtostartwithan X, so that'swhatweoriginallynamedit".[1] "La gente siempre se preguntaba qué significaba la X. En ese momento, realmente no significaba nada. XML comenzaba así, al igual que XSLT. Todo lo novedoso parecía empezar con una X, así que ese es el motivo por el que originalmente lo llamamos así." El desarrollo inicial de XSP fue hecho usando Java,[3] pero pronto se decidió construir una nueva plataforma sobre el CommonLanguageRuntime(CLR), pues ofrecía un ambiente orientado a objetos, recolección de basura y otras características que fueron vistas como características deseables. Guthrie describió esta decisión como un "alto riesgo", pues el éxito de su nueva plataforma de desarrollo web estaría atado al éxito del CLR, que, como XSP, aún estaba en etapas tempranas de desarrollo, tanto así que el equipo XSP fue el primer equipo en Microsoft en enfocarse en el CLR.
  • 25. Con el cambio al CommonLanguageRuntime, XSP fue implementado en C# (conocido internamente como "Project Cool" pero mantenido en secreto para el público), y fue renombrado a ASP+, para este punto la nueva plataforma fue vista como el sucesor de Active Server Pages, y la intención fue proporcionar un medio fácil de migración para los desarrolladores ASP.[4