lunes, 15 de agosto de 2016



Ventajas y Desventajas



Ventajas

  • Manejo automático de la memoria. (para los que vienen de C/C++) " Si, no hay punteros! WOW!". El manejo de la memoria se hace automáticamente y utilizando el garbage collector. Esto ahorra SIGNIFICANTE tiempo de programación.
  • Lenguaje Multi-plataforma: El código que escrito en java es leído por un interprete, por lo que su programa andará en cualquier plataforma.
  • Programación Orientada a Objetos: Paradigma muy utilizado hoy en dia que facilita y organiza mucho la programación.
  • Puede correr en el explorador y en dispositivos móviles.
  • Sintaxis similar a C/C++, pero mas simple.
  • Fácil de aprender.
  • GRATIS


Desventajas

  • Menos Eficiente, comparado a C/C++.
  • Requiere un interprete.
  • Algunas implementaciones y librerías pueden tener código rebuscado.
  • Una mala implementación de un programa en java, puede resultar en algo muy lento.
  • Algunas herramientas tienen un costo adicional. 


 Caracteristicas

Simple: Basado en el lenguaje C++ pero donde se eliminan muchas de las características OOP que se utilizan esporádicamente y que creaban frecuentes problemas a los programadores. Esta eliminación de causas de error y problemas de mantenimiento facilita y reduce el coste del desarrollo de software.
  
Orientado al objeto: Java da buen soporte a las técnicas de desarrollo OOP y en resumen a la reutilización de componentes de software.
   
Distribuido: Java se ha diseñado para trabajar en ambiente de redes y contienen una gran biblioteca de clases para la utilización del protocolo TCP/IP, incluyendo HTTP y FTP. El código Java se puede manipular a través de recursos URL con la misma facilidad que C y C++ utilizan recursos locales (archivos).
   
Interpretado: El compilador Java traduce cada fichero fuente de clases a código de bytes (Bytecode), que puede ser interpretado por todas las máquinas que den soporte a un visualizador de que funcione con Java. Este Bytecode no es especifico de una máquina determinada, por lo que no se compila y enlaza como en el ciclo clásico, sino que se interpreta.

 Sólido: El código Java no se quiebra fácilmente ante errores de programación. Así el relaje que existe en la declaración y manejo de tipos en C y C++ se torna en restricciones en Java, donde no es posible la conversión forzada (cast) de enteros en punteros y no ofrece soporte a los punteros que permitan saltarse reglas de manejo de tipos. Así en Java no es posible escribir en áreas arbitrarias de memoria ni realizar operaciones que corrompan el código. En resumen se eliminan muchas de las posibilidades de "trucos" que ofrecía el C y C++.

 Seguro: Como Java suele funcionar en ambiente de redes el tema de seguridad debe interesar en sobremanera. Las mismas características antes descritas que evitan la corrupción de código evitan su manipulación. Actualmente se esta trabajando en encriptar el código.

 Arquitectura neutral: El compilador crea códigos de byte (Bytecode) que se envía al visualizador solicitado y se interpreta en la máquina que posee un interprete de Java o dispone de un visualizador que funciona con Java.
  
Portable: Al ser de arquitectura neutral es altamente portable, pero esta característica puede verse de otra manera: Los tipos estándares (int, float ...).

 Versiones
  • JDK 1.0 (1996): primer lanzamiento del lenguaje Java.
  •  JDK 1.1 (1997): mejora de la versión anterior.
  • J2SE 1.2 (1998): ésta y las siguientes versiones fueron recogidas bajo la denominación Java 2 y el nombre "J2SE" (Java 2 Platform, Standard Edition), reemplazó a JDK para distinguir la plataforma base de J2EE (Java 2 Platform, Enterprise Edition) y J2ME (Java 2 Platform, Micro Edition). Incluyó distintas mejoras.
  •  J2SE 1.3 (2000): mejora de la versión anterior.
  •  J2SE 1.4 (2002): mejora de la versión anterior.
  • J2SE 5.0 (2004): originalmente numerada 1.5, esta notación aún es usada en ocasiones. Mejora de la versión anterior. 
  • Java SE 6 (2006): en esta versión, Sun cambió el nombre "J2SE" por Java SE y eliminó el ".0" del número de versión. Mejora de la versión anterior. 
  • Java SE 7 (2011): nueva versión que mejora la anterior.
  • Java SE 8 (2014): nueva versión que mejora la anterior. Incluye la posibilidad de embeber JavaScript con Java y mejoras en la gestión de fechas y tiempo. 
  • Java SE 9: nueva versión que mejora la anterior (en difusión). 
  • Java SE 10: nueva versión que mejora la anterior (todavía sin uso comercial).
 


 

 
 

Tomado de: http://ascarypoo.blogspot.com.co/2015/02/ventajas-y-desventajas-de-net-java-y-c.html
                   http://aprenderaprogramar.com/index.php?option=com_content&view=article&id=377:versiones-y-distribuciones-java-j2se-j2ee-j2me-ijava-7-java-8-java9-cual-es-mejor-cu00606b&catid=68:curso-aprender-programacion-java-desde-cero&Itemid=188
                    http://www.infor.uva.es/~jmrr/tgp/java/JAVA.html