• Like
  • Save
Carasteristicas de compiladores sheshar
Upcoming SlideShare
Loading in...5
×
 

Carasteristicas de compiladores sheshar

on

  • 3,917 views

Carasteristca para uncompialdor para SheShar

Carasteristca para uncompialdor para SheShar

Statistics

Views

Total Views
3,917
Views on SlideShare
3,917
Embed Views
0

Actions

Likes
0
Downloads
7
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Carasteristicas de compiladores sheshar Carasteristicas de compiladores sheshar Presentation Transcript

    • CARACTERÍSTICAS DE LOS COMPILADORES DE JAVA, C #
    • LENGUAJE SIMPLE
      • Java posee una curva de aprendizaje muy rápida
      • Resulta relativamente sencillo escribir applets interesantes desde el principio
      • Los programadores experimentados en C++ pueden migrar muy rápidamente a Java y ser productivos en poco tiempo.
    • ORIENTADO A OBJETOS
      • Java fue diseñado como un lenguaje orientado a objetos desde el principio
      • La tendencia del futuro, a la que Java se suma, apunta hacia la programación orientada a objetos, especialmente en entornos cada vez más complejos y basados en red.
      • Los objetos agrupan en estructuras encapsuladas tanto sus datos como los métodos (o funciones) que manipulan esos datos
    • DISTRIBUIDO
      • Java proporciona una colección de clases para su uso en aplicaciones de red, que permiten abrir sockets y establecer y aceptar conexiones con servidores o clientes remotos, facilitando así la creación de aplicaciones distribuidas
    • INTERPRETADO COMPILADO A LA VEZ
      • Java es compilado, en la medida en que su código fuente se transforma en una especie de código máquina, los bytecodes, semejantes a las instrucciones de ensamblador.
      • Por otra parte, es interpretado, ya que los bytecodes se pueden ejecutar directamente sobre cualquier máquina a la cual se hayan portado el intérprete y el sistema de ejecución en tiempo real (run-time).
    • ROBUSTO
      • Java fue diseñado para crear software altamente fiable.
      • Para ello proporciona numerosas comprobaciones en compilación y en tiempo de ejecución.
      • Sus características de memoria liberan a los programadores de una familia entera de errores (la aritmética de punteros), ya que se ha prescindido por completo los punteros, y la recolección de basura elimina la necesidad de liberación explícita de memoria.
    • Seguro (?)
      • Dada la naturaleza distribuida de Java, donde las applets se bajan desde cualquier punto de la Red, la seguridad se impuso como una necesidad de vital importancia.
      • A nadie le gustaría ejecutar en su ordenador programas con acceso total a su sistema, procedentes de fuentes desconocidas. Así que se implementaron barreras de seguridad en el lenguaje y en el sistema de ejecución en tiempo real
    • INDIFERENTE A LA ARQUITECTURA
      • Java está diseñado para soportar aplicaciones que serán ejecutadas en los más variados entornos de red, desde Unix a Windows Nt, pasando por Mac y estaciones de trabajo, sobre arquitecturas distintas y con sistemas operativos diversos
    • PORTABLE
      • La indiferencia a la arquitectura representa sólo una parte de su portabilidad. Además, Java especifica los tamaños de sus tipos de datos básicos y el comportamiento de sus operadores aritméticos, de manera que los programas son iguales en todas las plataformas.
      • Estas dos últimas características se conocen como la Máquina Virtual Java (JVM
    • ALTO RENDIMIENTO
      • Multihebra
      • Java soporta sincronización de múltiples hilos de ejecución ( multithreading ) a nivel de lenguaje, especialmente útiles en la creación de aplicaciones de red distribuidas. Así, mientras un hilo se encarga de la comunicación, otro puede interactuar con el usuario mientras otro presenta una animación en pantalla y otro realiza cálculos
    • Dinámico
      • El lenguaje Java y su sistema de ejecución en tiempo real son dinámicos en la fase de enlazado.
      • Las clases sólo se enlazan a medida que son necesitadas.
      • Se pueden enlazar nuevos módulos de código bajo demanda, procedente de fuentes muy variadas, incluso desde la Red
    • PRODUCE APPLETS
      • Java puede ser usado para crear dos tipos de programas: aplicaciones independientes y APPLETS.
      • Las aplicaciones independientes se comportan como cualquier otro programa escrito en cualquier lenguaje, como por ejemplo el navegador de Web HOT JAVA, escrito íntegramente en Java.
    • CARACTERÍSTICAS DEL LENGUAJE/COMPILADOR
      • Ausencia de punteros
      • Protege frente a imitación de objetos, violación de encapsulación, acceso a áreas protegidas de memoria, ya que el programador no podrá referenciar posiciones de memoria específicas no reservadas, a diferencia de lo que se puede hacer en C y C++ .
    • RECOGIDA DE BASURA
      • El recogedor de basura de Java se encarga de reclamar la memoria usada por un objeto una vez que éste ya no es accesible o desaparece.
      • Así, al ceder parte de la gestión de memoria a Java en vez de al programador, se evitan las grietas de memoria (no reclamar espacio que ya no es usado más) y los punteros huérfanos (liberar espacio válido antes de tiempo).
    • ARRAYS CON COMPROBACIÓN DE LÍMITES
      • En Java los arrays son objetos, lo cual les confiere ciertas funciones muy útiles, como la comprobación de límites.
      • Para cada subíndice, Java comprueba si se encuentra en el rango definido según el número de elementos del array, previniendo así que se referencien elementos fuera de límite
    • CONTROL DE MÉTODOS Y VARIABLES DE CLASES
      • Las variables y los métodos declarados privados sólo son accesibles por la clase o subclases herederas de ella y los declarados como protegidos, sólo por la clase
    • MÉTODOS Y CLASES FINAL
      • Las clases y los métodos (e incluso los datos miembro) declarados como final no pueden ser modificados o sobrescritos. Una clase declarada final no puede ser ni siquiera extendida .