Está en la página 1de 20

UNIVERSIDAD NACIONAL DEL SANTA

FACULTAD DE INGENIERÍA
E.A.P. INGENIERÍA DE SISTEMAS E INFORMÁTICA

TRABAJO DE INVESTIGACION #02

CURSO :
Teoría de Lenguaje y Compiladores

DOCENTE :
Dra. Diana Muñoz Casanova

INTEGRANTES :
- Aguirre Corales Leydi.
- Alejandro Palomino Carlos.
- Briones Vásquez Rosa.
- Cabanillas Castillo Alex.
- Escobedo Contreras Gisela
- Espinoza Flores Magaly.

CICLO : V

2011
Universidad Nacional del Santa Ing. Sistemas e Informá tica

TEORÍA DE LENGUAJE SEMANA 3

1.- ¿QUÉ SIGNIFICA ANSI, ISO, IEEE, Y 5 MÁS?

1.1.- ANSI:
El Instituto Nacional Estadounidense de Estándares (ANSI, por sus siglas en inglés:
American National Standards Institute) es una organización sin ánimo de lucro que
supervisa el desarrollo de estándares para productos, servicios, procesos y sistemas en los
Estados Unidos. ANSI es miembro de la Organización Internacional para la
Estandarización (ISO) y de la Comisión Electrotécnica Internacional (International
Electrotechnical Commission, IEC). La organización también coordina estándares del país
estadounidense con estándares internacionales, de tal modo que los productos de dicho país
puedan usarse en todo el mundo. Por ejemplo, los estándares aseguran que la fabricación de
objetos cotidianos, como pueden ser las cámaras fotográficas, se realice de tal forma que
dichos objetos puedan usar complementos fabricados en cualquier parte del mundo por
empresas ajenas al fabricante original. De éste modo, y siguiendo con el ejemplo de la
cámara fotográfica, la gente puede comprar carretes para la misma independientemente del
páis donde se encuentre y el proveedor del mismo.
Por otro lado, el sistema de exposición fotográfico ASA se convirtió en la base para el
sistema ISO de velocidad de película (en inglés: film speed), el cual es ampliamente
utilizado actualmente en todo el mundo.
Esta organización aprueba estándares que se obtienen como fruto del desarrollo de
tentativas de estándares por parte de otras organizaciones, agencias gubernamentales,
compañías y otras entidades. Estos estándares aseguran que las características y las
prestaciones de los productos son consistentes, es decir, que la gente use dichos productos
en los mismos términos y que esta categoría de productos se vea afectada por las mismas
pruebas de validez y calidad.
ANSI acredita a organizaciones que realizan certificaciones de productos o de personal de
acuerdo con los requisitos definidos en los estándares internacionales. Los programas de
acreditación ANSI se rigen de acuerdo a directrices internacionales en cuanto a la
verificación gubernamental y a la revisión de las validaciones.

Teoría de Lenguaje y Compiladores Pá gina 2


Universidad Nacional del Santa Ing. Sistemas e Informá tica

1.2.- IEEE:
(leído i-e-cubo en España e i-triple-e en Latinoamérica) corresponde a las siglas de
(Institute of Electrical and Electronics Engineers) en español Instituto de Ingenieros
Eléctricos y Electrónicos, una asociación técnico-profesional mundial dedicada a la
estandarización, entre otras cosas. Es la mayor asociación internacional sin ánimo de lucro
formada por profesionales de las nuevas tecnologías, como ingenieros eléctricos, ingenieros
en electrónica, científicos de la computación, matematicos aplicados, ingenieros en
informática, ingenieros en biomédica, ingenieros en telecomunicación e ingenieros en
Mecatrónica.

1.3.- ISO:
La Organización Internacional de Normalización o ISO (del griego, ἴσος (isos), 'igual'),
nacida tras la Segunda Guerra Mundial (23 de febrero de 1947), es el organismo encargado
de promover el desarrollo de normas internacionales de fabricación, comercio y
comunicación para todas las ramas industriales a excepción de la eléctrica y la electrónica.
Su función principal es la de buscar la estandarización de normas de productos y seguridad
para las empresas u organizaciones a nivel internacional.
La ISO es una red de los institutos de normas nacionales de 160 países, sobre la base de un
miembro por país, con una Secretaría Central en Ginebra (Suiza) que coordina el sistema.
La Organización Internacional de Normalización (ISO), con sede en Ginebra, está
compuesta por delegaciones gubernamentales y no gubernamentales subdivididos en una
serie de subcomités encargados de desarrollar las guías que contribuirán al mejoramiento
ambiental.
Las normas desarrolladas por ISO son voluntarias, comprendiendo que ISO es un
organismo no gubernamental y no depende de ningún otro organismo internacional, por lo
tanto, no tiene autoridad para imponer sus normas a ningún país. El contenido de los
estándares está protegido por derechos de copyright y para acceder ellos el público
corriente debe comprar cada documento, que se valoran en francos suizos (CHF).
Está compuesta por representantes de los organismos de normalización (ON) nacionales,
que produce normas internacionales industriales y comerciales. Dichas normas se conocen
como normas ISO y su finalidad es la coordinación de las normas nacionales, en
consonancia con el Acta Final de la Organización Mundial del Comercio, con el propósito
de facilitar el comercio, el intercambio de información y contribuir con normas comunes al
desarrollo y a la transferencia de tecnologías.

Teoría de Lenguaje y Compiladores Pá gina 3


Universidad Nacional del Santa Ing. Sistemas e Informá tica

1.4.- ECMA :
Ecma International es una organización internacional basada en membresías de estándares
para la comunicación y la información. Adquirió el nombre Ecma International en 1994,
cuando la European Computer Manufacturers Association (ECMA), cambió su nombre
para expresar su alcance internacional. Como consecuencia de esta decisión, el nombre ya
no se considera un acrónimo y no se escribe completamente en mayúsculas.
La organización fue fundada en 1961 para estandarizar los sistemas computarizados en
Europa. La membresía está abierta a las empresas que producen, comercializan o
desarrollan sistemas computacionales o de comunicación en Europa.

1.5.- IETF :
Internet Engineering Task Force (IETF) (en español Grupo Especial sobre Ingeniería de
Internet[1] ) es una organización internacional abierta de normalización, que tiene como
objetivos el contribuir a la ingeniería de Internet, actuando en diversas áreas, como
transporte, encaminamiento, seguridad. Fue creada en EE. UU. en 1986. La IETF es
mundialmente conocida por ser la entidad que regula las propuestas y los estándares de
Internet, conocidos como RFC.
Es una institución sin fines de lucro y abierta a la participación de cualquier persona cuyo
objetivo es velar porque la arquitectura de Internet y los protocolos que la conforman
funcionen correctamente. Se la considera como la organización con más autoridad para
establecer modificaciones de los parámetros técnicos bajo los que funciona la red. La IETF
se compone de técnicos y profesionales en el área de redes, tales como investigadores,
diseñadores de red, administradores, vendedores, entre otros.
Dado que la organización abarca varias áreas, se utiliza una metodología de división en
grupos de trabajo, cada uno de los cuales trabaja sobre un tema concreto con el objetivo de
concentrar los esfuerzos.

1.6.- W3C :
El World Wide Web Consortium, abreviado W3C, es un consorcio internacional que
produce recomendaciones para la World Wide Web. Está dirigida por Tim Berners-Lee, el
creador original de URL (Uniform Resource Locator, Localizador Uniforme de Recursos),
HTTP (HyperText Transfer Protocol, Protocolo de Transferencia de HiperTexto) y HTML
(Lenguaje de Marcado de HiperTexto) que son las principales tecnologías sobre las que se
basa la Web.

Teoría de Lenguaje y Compiladores Pá gina 4


Universidad Nacional del Santa Ing. Sistemas e Informá tica

2.- ¿AVERIGUAR 5 NOMBRES DE LENGUAJES DE PROGRAMACIÓN QUE NO


SOPORTEN TÉCNICAS DE ABSTRACCIÓN DE DATOS?

Entre los lenguajes de programación que no soportan las técnicas de abstracción de datos
tenemos:
1. Prolog

2. Pascal

3. Smalltalk

4. Forth

5. B

3.- ¿QUÉ LENGUAJES DE PROGRAMACIÓN PERMITEN PARAMETRIZACIÓN


DE TIPOS DE DATOS?
Un tipo de dato abstracto (TDA) o Tipo abstracto de datos (TAD) es un modelo matemático
compuesto por una colección de operaciones definidas sobre un conjunto de datos para el
modelo.
Podemos mencionar los siguientes lenguajes de programación:
-C
- C++
- Java
- PHP: Es un lenguaje de programación interpretado, diseñado originalmente para la
creación de páginas web dinámicas. Es usado principalmente para la 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+.

4.- ¿QUÉ LENGUAJES DE PROGRAMACIÓN PERMITEN ABSTRACCIONES


POLIMÓRFICAS?

Cualquier lenguaje orientado a objetos permite polimorfismo (muchas formas diferentes de


implementar una accion o un metodo).
Podemos mencionar a los siguientes:
- Java: Java es un lenguaje de programación orientado a objetos, desarrollado por Sun
Microsystems a principios de los años 90.
Las aplicaciones Java están típicamente compiladas en un bytecode, aunque la compilación
en código máquina nativo también es posible. En el tiempo de ejecución, el bytecode es

Teoría de Lenguaje y Compiladores Pá gina 5


Universidad Nacional del Santa Ing. Sistemas e Informá tica

normalmente interpretado o compilado a código nativo para la ejecución, aunque la


ejecución directa por hardware del bytecode por un procesador Java también es posible.

- C#
- C++: Es un lenguaje de programación diseñado a mediados de los años 1980 por Bjarne
Stroustrup. La intención de su creación fue el extender al exitoso lenguaje de programación
C con mecanismos que permitan la manipulación de objetos.
- Python: Python es un lenguaje de programación de alto nivel cuya filosofía hace hincapié
en una sintaxis muy limpia y que favorezca un código legible.
Se trata de un lenguaje de programación multiparadigma ya que soporta orientación a
objetos, programación imperativa y, en menor medida, programación funcional. Es un
lenguaje interpretado, usa tipado dinámico, es fuertemente tipado y multiplataforma.
- ABAP 
- ABL: Lenguaje de programación de OpenEdge de Progress Software 
- Clipper (lenguaje de programación) (Versión 5.x con librería de objetos Class(y)) 
- JavaScript (la herencia se realiza por medio de la programación basada en prototipos) 
- Perl (soporta herencia múltiple. La resolución se realiza en preorden, pero puede
modificarse al algoritmo linearization C3 por medio del módulo Class::C3 en CPAN) 
- PHP (a partir de su versión 5)
- Smalltalk (Proyecto investigativo. Influenció a Java.)  
- Lenguaje de programación Scala (lenguaje usado por Twitter) http://www.scala-
lang.org/page.jsp 
Muchos de estos lenguajes de programación no son puramente orientados a objetos, sino
que son híbridos que combinan la POO con otros paradigmas.
Al igual que C++ otros lenguajes, como OOCOBOL, OOLISP, OOPROLOG y Object
REXX, han sido creados añadiendo extensiones orientadas a objetos a un lenguaje de
programación clásico.
Un nuevo paso en la abstracción de paradigmas de programación es la Programación
Orientada a Aspectos (POA). Aunque es todavía una metodología en estado de maduración,
cada vez atrae a más investigadores e incluso proyectos comerciales en todo el mundo.

5.- ¿CUÁL ES LA DIFERENCIA ENTRE UN ERROR DE SINTAXIS, UN ERROR


LÉXICO Y UN ERROR SEMÁNTICO?

Por lo regular, los errores visibles o detectables por el compilador se dividen en tres clases,
dependiendo de la fase del compilador en el cual se detectan:

1. Errores Léxicos;
2. Errores Sintácticos;
3. Errores Semánticos;

Teoría de Lenguaje y Compiladores Pá gina 6


Universidad Nacional del Santa Ing. Sistemas e Informá tica

Por ejemplo, un error léxico puede ocasionarse por usar un carácter inválido (uno que no
pertenezca al vocabulario del lenguaje de programación) o por tratar de reconocer una
constante que produce un desbordamiento.

Un error de sintaxis se detecta cuando el analizador sintáctico espera un símbolo que no


corresponde al que se acaba de leer. Los analizadores sintácticos LL y LR tienen la ventaja
de que pueden detectar errores sintácticos lo más pronto posible, es decir, se genera un
mensaje de error en cuanto el símbolo analizado no sigue la secuencia de los símbolos
analizados hasta ese momento.

Los errores semánticos corresponden a la semántica del lenguaje de programación, la cual


normalmente no está descrita por la gramática. Los errores semánticos más comunes son la
omisión de declaraciones.

6.- MENCIONAR UNA LISTA DE 20 ERRORES DE COMPILACIÓN DE UN


LENGUAJE DE PROGRAMACIÓN ESPECÍFICO

Lenguaje de Programación, JAVA:

1. ... cannot be resolved:

Variable no definida en el ámbito donde estas intentando utilizarla

Causa 1: Puede que tengas definida una variable en un método y la estés intentando
usar en otro método.

Causa 2: Puede que tengas definida una variable dentro de un try, un catch o un for
y que la estes intentando usar fuera de dicho bucle, eso no se puede hacer.

Causa 3: Comprueba que la declaración que haces de una variable y su uso


coinciden, puedes haber escrito mal alguna letra de dicha variable.

2. Duplicate local variable ...:


Este error se suele producir cuando declaras dos veces una variable en el mismo
ámbito (por ejemplo en el mismo metodo, en el mismo bloque try o en el mismo
for).

3. Cannot make a static reference to the non-static field ...:

Este error se suele producir cuando intentamos acceder a un atributo estático desde
la parte estática de la clase.

Teoría de Lenguaje y Compiladores Pá gina 7


Universidad Nacional del Santa Ing. Sistemas e Informá tica

Causa 1: ¿Estas intentando acceder a un atributo no estático desde el metodo main?


No puedes hacer eso, necesitas un objeto de la clase que contiene ese atributo o
tambien podrías declarar el atríbuto en cuestión como estático.

4. The method ... is undefined for the:

El método al que estás intentando llamar no existe

Causa 1: ¿Estás seguro de que ese método está definido en la clase a la que estas
accediendo?, parece que no está definido o que el nombre de la definición del
método no es igual al de la llamada

5. Unhandled exception … must be caught or declared to be thrown:

No estás gestionando una excepción que podría ser lanzada en tu aplicación

Causa 1: Seguramente necesitas poner un bloque try-catch o un throws en la


cabecera de tu metodo. Java requiere que indiques de una de estas dos formas el
procedimiento a seguir en el caso de que se lanze una excepción.

6. ... cannot be resolved to a type:

El tipo que estamos empleando (ya sea una clase o un Interfaz) no se corresponde
con el de ninguna clase o Interfaz disponible.

Causa 1: Puede ser por que te falta indicar un JAR en el classpath.

Causa 2: Por que el nombre del tipo está mal escrito.

Causa 3: Por que falta el import del paquete que contiene ese tipo.

7. The declared package ... does not match the expected package:

El nombre del paquete indicado no coincide con el del paquete esperado.

Causa más habitual: El directorio donde está la clase no coincide con el nombre de
paquete indicado en la primera linea del fichero JAVA.

8. The constructor ...() is undefined:

Teoría de Lenguaje y Compiladores Pá gina 8


Universidad Nacional del Santa Ing. Sistemas e Informá tica

Al crear un objeto estás indicando un metodo constructor que no está definido para
esa clase. Recuerda que en Java pierdes el constructor por defecto cuando la clase
dispone de constructores específicos.

9. This method must return a result of type ...:

Causa 1: Te falta poner la línea donde se hace el retorno (return lo que sea).

Causa 2: Si has puesto el return asegurate de que ese return se ejecuta en cualquier
caso (tanto si hay estructuras if, o bloques try, catch o lo que sea) una opción es
poner el return al final del método.

Causa 3: Lo que pongas en el return debe ser un tipo compatible con el tipo de
retorno del método.

Consejo: Intenta que solo haya una instrucción return en tu código, por ejemplo usa
una variable que contenga el valor a retornar y que se retorne al final del método.

10. Error en mayúsculas y minúsculas:


Java es un lenguaje case sensitive, esto es que debemos respetar las mayúsculas y
minúsculas. (miVar no es igual a mivar). Si hacemos referencia a un identificador
que no está bien escrito entonces obtendremos un error de sintaxis.

11. Olvidar que los índices en Java empiezan en 0:


Los índices de los arreglos de Java y las listas empiezan en 0, myArray[0], o
myList.get(0). Asegurarse que su loop for no cause errores por este motivo. Si
hacemos más loops de los que son posibles, entonces obtendremos el error:
ArrayIndexOutBounds exception. Si hacemos menos loops de los requeridos,
entonces tendremos un error de lógica.

12. Usando equals contra la asignación ( == versus = ):


En Java este error puede ser incluso un error de lógica o sintaxis. Para comparar 2
referencias para igualarlas se usa el operador == (el operador de igualdad). Para
asignar el valor de la derecha a la variable de la izquierda se usa el operador =
(operador de asignación). Los programadores novatos a veces escriben: if (miValor
= valorEsperado) Este código intenta evaluar el valorEsperado como un valor
booleano en lugar de intentar la evaluación de igualdad entre miValor y
valorEsperado. Si valorEsperado es del tipo booleano, entonces el código tendrá un
error de lógica y probará si el valorEsperado es verdadero o falso. Si valorEsperado

Teoría de Lenguaje y Compiladores Pá gina 9


Universidad Nacional del Santa Ing. Sistemas e Informá tica

no es del tipo booleano, entonces el código lanzará un error de compilación debido


a que la estructura if requiere un valor booleano que sea retornado de la
comparación (miValor = valorEsperado), pero en Java el operador = siempre
retorna el valor de la derecha.

13. Declaración sin efecto:


Lo más probable es el nombre que está tratando de declarar no es válido. No debe
contener puntos. No debe comenzar con un dígito.

14. NullPointerException:
El NullPointerException, la maldición de los programadores en Java. Los
NullPointerExceptions son errores de lógica causados cuando un programa intenta
acceder a métodos o atributos en una referencia que está nula. Si nuestro objeto no
ha sido inicializado o ha sido establecido a null con el operador =, entonces la
llamada el método o el acceso a uno de sus atributos no es válido.

15. El nombre de la Clase pública no coincide con el nombre del archivo:


C ada archivo .java puede contener sólo una Clase pública. El nombre de esa Clase
pública debe coincidir exactamente con el nombre del archivo antes de la
extensión .java, respetando incluso las mayúsculas y minúsculas. Por ejemplo, una
Clase pública llamada MyClass debe estar en un archivo MyClass.java y no en
myclass.java. Este es un error de sintaxis.

16. Una Clase no está en el directorio correcto:


Este error de sintaxis ocurre si el comando javac no puede encontrar un archivo
.java en el directorio esperado. Si una Clase está en el paquete por defecto (no tiene
la declaración del package en la primera línea), entonces esta Clase pertenece al
directorio actual de trabajo o al directorio donde apunta el flag sourcepath del javac.
Si una Clase está a un paquete, entonces pertenece a un subdirectorio debajo del
directorio actual de trabajo o a un subdirectorio debajo del directorio donde apunta
el flan sourcepath del javac. Por ejemplo, si existe una Clase llamada
com.hello.HelloWorld entonces su nombre es HelloWorld y su paquete es
com.hello. Si el flan sourcepath está configurada a c:src, entonces el archivo
HelloWorld.java debe estar ubicado en el subdirectorio: c:srccomhello.

17. "Exception e(0x80004002) No such interface supported":


Se presenta este error al intentar utilizar DCOM para conectarse al servidor de
aplicaciones.
La causa de este error es que no se ha registrado la GXDCOMJ.DLL en cliente o en
el servidor

Teoría de Lenguaje y Compiladores Pá gina 10


Universidad Nacional del Santa Ing. Sistemas e Informá tica

18. "Exception e(0x80040154) Class not registered:


Se presenta este error al intentar utilizar DCOM para conectarse al servidor de
aplicaciones.
La causa de este error es que no se ha levantado el servidor de aplicaciones en el
servidor

19. “Not suitable driver”:

Da al ejecutar la aplicación y aparece un cuadro con dicho mensaje.

Este error se debe a que no se encuentra el driver JDBC que se especificó. Las causas
posibles para que esto ocurra son la siguientes:

 Un error en los valores configurados en ‘DBMS Options’ – ‘Connection


Information’, esto es:
o JDBC Driver (custom)
o JDBC URL (custom)
o Database Name
o Server Name
o etc

20. Si comete un error de escritura, mientras que la entrada o edición de su


programa, el compilador puede imprimir un error de sintaxis.:
Esto ocurre cuando algo que ha escrito no se ajusta a las reglas del lenguaje Java.
Por ejemplo, el idioma que se especifica que cada declaración en Java debe terminar
con un punto y coma.

7.- MENCIONA 5 EJEMPLOS DE LENGUAJES DE PROGRAMACIÓN DEL


LADO DEL CLIENTE Y 5 EJEMPLOS DEL LADO DEL SERVIDOR Y 10
NOMBRES DE NAVEGADORES MODERNOS

7. 1.- Mencionar 5 ejemplos de de lenguajes de programación del lado del cliente

HTML: El lenguaje llamado HTML indica al navegador donde colocar cada texto, cada
imagen o cada video y la forma que tendrán estos al ser colocados en la página.

JAVASCRIPT: Javascript es un lenguaje de programación utilizado para crear pequeños


programitas encargados de realizar acciones dentro del ámbito de una página web. Se trata
de un lenguaje de programación del lado del cliente, porque es el navegador el que soporta
la carga de procesamiento. Su uso se basa fundamentalmente en la creación de efectos
especiales en las páginas y la definición de interactividades con el usuario.

Teoría de Lenguaje y Compiladores Pá gina 11


Universidad Nacional del Santa Ing. Sistemas e Informá tica

APPLETS DE JAVA: Es otra manera de incluir código a ejecutar en los clientes que
visualizan una página web. Se trata de pequeños programas hechos en Java, que se
transfieren con las páginas web y que el navegador ejecuta en el espacio de la página.

Los applets de Java están programados en Java y precompilados, es por ello que la manera
de trabajar de éstos varía un poco con respecto a los lenguajes de script como Javascript.
Los applets son más difíciles de programar que los scripts en Javascript y requerirán unos
conocimientos básicos o medios del lenguaje Java.

La principal ventaja de utilizar applets consiste en que son mucho menos dependientes del
navegador que los scripts en Javascript, incluso independientes del sistema operativo del
ordenador donde se ejecutan. Además, Java es más potente que Javascript, por lo que el
número de aplicaciones de los applets podrá ser mayor.

Como desventajas en relación con Javascript cabe señalar que los applets son más lentos de
procesar y que tienen espacio muy delimitado en la página donde se ejecutan, es decir, no
se mezclan con todos los componentes de la página ni tienen acceso a ellos. Es por ello que
con los applets de Java no podremos hacer directamente cosas como abrir ventanas
secundarias, controlar Frames, formularios, capas, etc.

VISUAL BASIC SCRIPT: Es un lenguaje de programación de scripts del lado del cliente,
pero sólo compatible con Internet Explorer. Es por ello que su utilización está
desaconsejada a favor de Javascript.

Está basado en Visual Basic, un popular lenguaje para crear aplicaciones Windows. Tanto
su sintaxis como la manera de trabajar están muy inspirados en él. Sin embargo, no todo lo
que se puede hacer en Visual Basic lo podremos hacer en Visual Basic Script, pues este
último es una versión reducida del primero.

El modo de funcionamiento de Visual Basic Script para construir efectos especiales en


páginas web es muy similar al utilizado en Javascript y los recursos a los que se puede
acceder también son los mismos: el navegador.

FLASH: Flash es una tecnología, y un programa, para crear efectos especiales en páginas
web. Con Flash también conseguimos hacer páginas dinámicas del lado del cliente. Flash
en realidad no es un lenguaje; Sin embargo, si tuvieramos que catalogarlo en algún sitio
quedaría dentro del ámbito de las páginas dinámicas de cliente.

Para visualizar las "películas" Flash, nuestro navegador debe tener instalado un programita
(plug-in) que le permita visualizarlas.

7.2.- Mencione 5 ejemplos de de lenguajes de lado del servidor

CGI: Es el sistema más antiguo que existe para la programación de las páginas dinámicas
de servidor. Actualmente se encuentra un poco desfasado por diversas razones entre las que
destaca la dificultad con la que se desarrollan los programas y la pesada carga que supone
para el servidor que los ejecuta.
Teoría de Lenguaje y Compiladores Pá gina 12
Universidad Nacional del Santa Ing. Sistemas e Informá tica

Los CGI se escriben habitualmente en el lenguaje Perl, sin embargo, otros lenguajes
como C, C++ o Visual Basic pueden ser también empleados para construirlos.

ASP: (Active Server Pages) es la tecnología desarrollada por Microsoft para la creación de
páginas dinámicas del servidor. ASP se escribe en la misma página web, utilizando el
lenguaje Visual Basic Script o Jscript (Javascript de Microsoft).

PHP: es el acrónimo de Hipertext Preprocesor. Es un lenguaje de programación del lado


del servidor gratuito e independiente de plataforma, rápido, con una gran librería de
funciones y mucha documentación.

JSP: es un acrónimo de Java Server Pages, que en castellano vendría a decir algo como
Páginas de Servidor Java. Es, pues, una tecnología orientada a crear páginas web con
programación en Java. Con JSP podemos crear aplicaciones web que se ejecuten en
variados servidores web, de múltiples plataformas, ya que Java es en esencia un lenguaje
multiplataforma. Por tanto, las JSP podremos escribirlas con nuestro editor HTML/XML
habitual.

XML: es una tecnología en realidad muy sencilla que tiene a su alrededor otras tecnologías
que la complementan y la hacen mucho más grande y con unas posibilidades mucho
mayores. con todas las tecnologías relacionadas, representa una manera distinta de hacer las
cosas, más avanzada, cuya principal novedad consiste en permitir compartir los datos con
los que se trabaja a todos los niveles, por todas las aplicaciones y soportes.

7.3.- navegadores modernos:

 Opera 11: Este gran navegador también ha avanzado a pasos agigantados varias
veces imitado por los otros navegadores por su vanguardia e innovación en el
mercado de los browsers, con un renovado diseño de interfaz desde la versión 10 y
un mejoramento en su velocidad con Opera Turbo especial para conexiones lentas
como WiFi  públicos y la integración de extensiones en su navegador. Tiene su
versión móvil que es muy reconocido en el mercado.

Teoría de Lenguaje y Compiladores Pá gina 13


Universidad Nacional del Santa Ing. Sistemas e Informá tica

 Firefox 4: Con un diseño de interfaz totalmente renovado y el doble de velocidad y


seguridad desde su versión anterior Mozilla esta haciendo un gran esfuerzo para
optimizar al máximo en recursos a su programa estrella y se nota, además esta
sincronizado con Firefox Móvil que es la versión para móviles (Android y Maemo)
que salió junto con esta versión de escritorio .

 Google Chrome 10+ : Es incréible como el navegador de Google ha avanzado tan


rápido en convertirse en favorito de muchos de hecho es la verdadera competencia
de Firefox en este momento y no IE y es porque Google se preocupo bastante en

Teoría de Lenguaje y Compiladores Pá gina 14


Universidad Nacional del Santa Ing. Sistemas e Informá tica

este navegador además de su alta velocidad y seguridad incorporó un espacio de


extensiones tan amplio como Firefox entre muchas otras cosas.

 Safari 5: El navegador de Apple ha mejorado su rendimiento ya que ocupaba


muchos recursos en las versiones anteriores para Windows también mejoró su
seguridad y velocidad, lo más destacado es su integración de un lector de paginas
web como si fuera un PDF borrando banners u objetos molestos a la lectura, aunque
en los demás navegadores hay extensiones para esto.

 Rockmelt: El navegador social de este momento que reemplaza el lugar que dejó
Flock que lamentablemente fue abandonado por la adquisición de Zynga. Rockmelt
es un navegador que integra dentro de su interfaz las redes sociales más importantes
como Facebook o Twitter entre otras funciones esta pensado para los Community

Teoría de Lenguaje y Compiladores Pá gina 15


Universidad Nacional del Santa Ing. Sistemas e Informá tica

Managers tan comentado en estos tiempos en la web. También tiene su versión


móvil (iPhone).

 Internet Explorer 9: Microsoft se ha esforzado bastante para mejorar su navegador


y se agradece porfin este navegador respeta los estandares web, con una interfaz
renovada y moderna es muy rápido en bajar los sitios y paginás web además de
ocupar bajos recursos, su punto debíl es la poca variedad de extensiones que tiene y
solo funciona para Windows Vista y 7.

8.- ¿QUÉ ES PROGRAMACIÓN CLIENTE/SERVIDOR, DISTRIBUIDA?


Teoría de Lenguaje y Compiladores Pá gina 16
Universidad Nacional del Santa Ing. Sistemas e Informá tica

La arquitectura cliente-servidor consiste básicamente en un cliente que realiza peticiones


a otro programa (el servidor) que le da respuesta. Aunque esta idea se puede aplicar a
programas que se ejecutan sobre una sola computadora es más ventajosa en un sistema
operativo multiusuario distribuido a través de una red de computadoras.

Este tipo de aplicaciones Cliente/Servidor permiten comunicar programas entre sí, en


consecuencia también permiten comunicar varias computadoras, porque habiendo un
programa en la computadora llama "Oscar_1" y otro en la computadora llama "Daniel_1"
ambos programas se pueden comunicar a través de Internet y compartir información, o
adquirir información sin saber que el dueño de la computadora lo autoriza. Esto
frecuentemente trae problemas al querer distinguir si un programa esta autorizado por el
dueño o el encargado (administrador o sysop) para acceder al sistema.

Varios administradores permiten el acceso, pero a la misma vez restringen las carpetas
importantes de sus computadoras para no correr el riesgo de perder información vital. Si el
programa que se usa para acceder a otra computadora esta autorizado por el encargado de la
PC se puede denominar "Herramienta de administración remota", en cambio si el acceso no
es permitido o no se avisa que se quiere entrar y se hace a la fuerza el programa recibe el
nombre de "Troyano".

9.- ¿QUÉ OTROS LENGUAJES DE PROGRAMACIÓN DE CÓDIGO ABIERTO Y


DE PROPIETARIO DEBES APRENDER HOY EN DÍA Y POR QUÉ?

 Perl

- Mas clasico que otros modernos en cuanto a su concepto

- Rápido, potente, fácil y comodo al momento de escribir spcrits.

- Tiene mejores ofertas de trabajo

 Python

Python es un lenguaje que todo el mundo debería conocer. Su sintaxis simple, clara y
sencilla; el tipado dinámico, el gestor de memoria, la gran cantidad de librerías disponibles
y la potencia del lenguaje, entre otros, hacen que desarrollar una aplicación en Python sea
sencillo, muy rápido y lo que es más importante, divertido.

Teoría de Lenguaje y Compiladores Pá gina 17


Universidad Nacional del Santa Ing. Sistemas e Informá tica

La sintaxis de Python es tan sencilla y cercana al lenguaje natural que los programas
elaborados en Python parecen pseudocódigo. Por este motivo se trata además de uno de los
mejores lenguajes para comenzar a programar.

Python no es adecuado sin embargo para la programación de bajo nivel o para aplicaciones
en las que el rendimiento sea crítico.

Algunos casos de éxito en el uso de Python son Google, Yahoo, la NASA, Industrias Ligh
& Magic, y todas las distribuciones Linux, en las que Python cada vez representa un tanto
por ciento mayor de los programas disponibles.

Teoría de Lenguaje y Compiladores Pá gina 18


Universidad Nacional del Santa Ing. Sistemas e Informá tica

CONCLUSIONES

 Tanto ANSI, IEEE e ISO su función principal es la de buscar la estandarización de


normas de productos y seguridad para las empresas u organizaciones a nivel
internacional.

 Entre los lenguajes de programación que no soportan el concepto de TAD tenemos:


Prolog, Pascal, Smalltalk, Forth y el B.

 Entre los lenguajes de programación que permiten parametrizacion de tipo de datos


podemos mencionar los siguientes lenguajes de programación: C, C++, Java y PHP.

 Los lenguajes de Programacion que permiten polimorfismo son: Java, C#, C++,
Python, ABAP, ABL, ActionScript, ActionScript3, ADA, Clipper, Java Script,PHP,
Smalltalk, Lenguaje de programación entre otros.

 Por lo regular, los errores visibles o detectables por el compilador se dividen en tres,
dependiendo de la fase del compilador: errores léxicos, sintácticos y semánticos.

 Cliente / servidor es una tecnologia que nos ayuda a comunicar entre dos
computadoras facilitando la transmision de datos y compartir recursos

 Aprender lenguajes de programación más usados ayuda a conseguir mejores ofertas


de trabajo.

Teoría de Lenguaje y Compiladores Pá gina 19


Universidad Nacional del Santa Ing. Sistemas e Informá tica

LINKOGRAFIA

 Lenguajes de Programacón que no soportan TADS


Disponible en: http://webcache.googleusercontent.com/search?
q=cache:MNV1Ndem3gAJ:www.dsic.upv.es/~erodri/tema3.pdf+lenguajes+que+so
portan+no+TAD&hl=es&gl=pe

 Lenguajes de Programación de código abierto


Disponible en:
http://www.ciao.es/Opiniones/Perl__72205
http://mundogeek.net/archivos/2008/01/11/%C2%BFpor-que-python/
http://foro.elhacker.net/bugs_y_exploits/opiniones_sobre_ruby-
t97676.0.html;msg455908#ixzz1MLOCDnvn

 Programacion Cliente/ Servidor


Disponible en:
http://www.mailxmail.com/curso-como-programar-aplicaciones-cliente-servidor-
visual-basic/conceptos-basicos-programacion-cliente-servidor
http://es.wikipedia.org/wiki/Cliente-servidor

 Lenguajes de programación que permiten parametrización de tipo de datos


Disponible en:
http://www.wikipedia.com/programacion_orientada-objetos

 Lenguajes de programación que permiten abstracciones polimórficas


Disponible en:
http://es.answers.yahoo.com/

 Diferencia de Errores de sintaxis, errores léxicos y errores semánticos


Disponible en:
http://www.angelfire.com/mac/

Teoría de Lenguaje y Compiladores Pá gina 20

También podría gustarte