Documente Academic
Documente Profesional
Documente Cultură
Jos Galaviz
En general
claro.
Por qu?
Se puede
Claude Elwood Shannon (1916 - 2001). A Symbolic Analysis of Relay and Switching Circuits. 1937.
Se debe
Porque usar 10 niveles de voltaje, de carga o de corriente para elaborar un circuito
Ensamblador
En vez de decir 0101 decimos ADD, Etc. Correspondencia prcticamente 1 a 1 entre instrucciones de lenguaje ensamblador y lenguaje de mquina. El mismo nivel semntico. Traducir no es tan complicado.
semntico. O sea que cada instruccin de este tipo de lenguajes corresponde a varias instrucciones de lenguaje de mquina.
Intrprete
Se lee una instruccin completa del programa fuente (en lenguaje de alto nivel). Se traduce a su equivalente en lenguaje de mquina. Se ejecuta. El proceso se repite, instruccin por instruccin hasta que se termine el programa.
Compilador
Se lee todo el programa fuente en lenguaje de alto nivel. Se traduce todo el programa a un lenguaje de menor nivel. Se hacen optimizaciones del cdigo. Se genera una versin del programa, semnticamente equivalente, en lenguaje de mquina. Se hacen optimizaciones dependientes de la arquitectura. Se escribe esta versin como resultado de la compilacin en un archivo ejecutable.
Compilador
Se lee todo el programa fuente en lenguaje de alto nivel. Se traduce todo el programa a un lenguaje de menor nivel. Se hacen optimizaciones del cdigo. Se genera una versin del programa, semnticamente equivalente, en lenguaje de mquina. Se hacen optimizaciones dependientes de la arquitectura. Se escribe esta versin como resultado de la compilacin en un archivo ejecutable.
Tpicamente
Cdigo en C
Compilador Compilacin
Ejecutable
Java
1991 James Gosling, Mike Sheridan, Patrick Naughton. Oak TV interactiva Sun Microsystems 1995 Java 1.0 WORA (Write Once Run Anywhere) Applets Web
Eleccin
Orientado a Objetos. Bien diseado. Simple (en el contexto de OO). Transportable. Popular (i.e. til).
Es popular
1er o 2o lugar en popularidad. TIOBE. http://www.tiobe.com/index. php/content/paperinfo/tpci/index.html TLPI. http://lang-index.sourceforge. net/
Principios
Orientado a objetos. Robusto (siempre funciona igual sin depender de la arquitectura, no funciona aqu y se rompe all). Seguro (es difcil que el programador deje huecos de seguridad en el cdigo que puedan ser aprovechados) Porttil y sin dependencias de la arquitectura. Interpretado Maneja concurrencia
Funcionamiento
Cdigo en Java
Compilador
Bytecode
Compilacin (javac)
Bytecode
JVM
Ejecucin (java)
-92233720 92233720 36854775808 36854775807 1.4E-45 2.2E-308 0 false 3.4E+38 1.79E308 65535 true
Operadores
= Asignacin
Unarios
+ ++ -! Positivo Negativo Incremento Decremento Inversin booleana (negacin)
De comparacin
== != > >= < <= Igual? distinto? mayor que? mayor o igual que? menor que? menor o igual que?
Operadores lgicos
&& Conjuncin Y || Disyuncin ?: Si entonces instanceof Verifica si un objeto es instancia de una clase en particular.