miércoles, 10 de junio de 2015

PROGRAMACIÓN VENTAJAS DESVENTAJAS JAVA

● Java es un lenguaje multiplataforma con el cual se pueden desarrollar programas que se ejecuten sin problemas en sistemas operativos como Windows, Linux, Mac, Unix, etc.
●  Java permite crear programas que se ejecuten en varios dispositivos como computadoras, teléfonos móviles, algunas consolas de juegos y algunos electrodomésticos además de en micro controladores.
● Java es el único lenguaje soportado por el 100% de los teléfonos móviles y handhelds.
● Java implementa funciones se seguridad que son usadas por la mayorías de las grandes empresas que realizan transacciones a través de Internet.
● Java lleva más de 20 años en el mercado con lo cual hay cientos de miles de programadores con los cuales puede comunicarse a través de Internet y consultar.

● Hay diferentes tipos de soporte técnico para la misma herramienta, por lo que el análisis de la mejor opción se dificulta
● Para manejo a bajo nivel deben usarse métodos nativos, lo que limita la portabilidad.
● El diseño de interfaces gráficas con awt y swing no es simple. Existen herramientas como el JBuilder que permiten generar interfaces gráficas de manera sencilla, pero tienen un costo adicional.
● Puede ser que no haya JDBC para bases de datos poco comerciales.
●  Algunas herramientas tienen un costo adicional

C++
● El lenguaje C++ ha sido pensado para ser altamente transportable.
● Un núcleo del lenguaje simple, con funcionalidades añadidas importantes, como funciones matemáticas y de manejo de archivos, proporcionadas por bibliotecas.
● Es un lenguaje muy flexible que permite programar con múltiples estilos. Uno de los más empleados es el estructurado "no llevado al extremo" (permitiendo ciertas licencias de ruptura).
● Un sistema de tipos que impide operaciones sin sentido.
●  Usa un lenguaje de preprocesado, el preprocesador de C++, para tareas como definir macros e incluir múltiples archivos de código fuente.
● Acceso a memoria de bajo nivel mediante el uso de punteros.
●  Interrupciones al procesador con uniones.
● Un conjunto reducido de palabras clave.
●  Por defecto, el paso de parámetros a una función se realiza por valor. El paso por referencia se consigue pasando explícitamente a las funciones las direcciones de memoria de dichos parámetros.
●  Punteros a funciones y variables estáticas, que permiten una forma rudimentaria de encapsulado y polimorfismo.

●  Recolección de basura nativa, sin embargo se encuentran a tal efecto bibliotecas como la "libgc" desarrollada por Sun Microsystems, o el Recolector de basura de Boehm.
● Soporte para programación orientada a objetos, aunque la implementación original de C++ fue un preprocesador que traducía código fuente de C++ a C.
●  Encapsulación.
● Funciones anidadas, aunque GCC tiene esta característica como extensión.
●  Polimorfismo en tiempo de código en forma de sobrecarga, sobrecarga de operadores y sólo dispone de un soporte rudimentario para la programación genérica.
●  Soporte nativo para programación multihilo y redes de computadores.
 ●  Carece de instrucciones de entrada/salida, de instrucciones para manejo de cadenas de caracteres, con lo que este trabajo queda para la librería de rutinas, con la consiguiente pérdida de transportabilidad. 

.NET
●  Posee una curva de aprendizaje muy rápida. 
●  Integra el diseño e implementación de formularios de Windows. 
●  Permite usar con facilidad la plataforma de los sistemas Windows, dado que tiene acceso prácticamente total a la API de Windows, incluidas librerías actuales. 
● Es uno de los lenguajes de uso más extendido, por lo que resulta fácil encontrar información, documentación y fuentes para los proyectos. 
● Fácilmente extensible mediante librerías DLL y componentes ActiveX de otros lenguajes. 
● Posibilita añadir soporte para ejecución de scripts, VBScript o JScript, en las aplicaciones mediante Microsoft Script Control. 
● Tiene acceso a la API multimedia de DirectX (versiones 7 y 8). También está disponible, de forma no oficial, un componente para trabajar con OpenGL 1.1: [7] 
● Existe una versión, VBA, integrada en las aplicaciones de Microsoft Office, tanto Windows como Mac, que permite programar macros para extender y automatizar funcionalidades en documentos, hojas de cálculo, bases de datos (access). 
● Si bien permite desarrollar grandes y complejas aplicaciones, también provee un entorno adecuado para realizar pequeños prototipos rápidos. 

● Problema de versionado asociado con varias librerías runtime DLL´s, conocido como DLL Hell
●  Pobre soporte para programación orientada a objetos [9]
●  Incapacidad para crear aplicaciones multihilo, sin tener que recurrir a llamadas de la API de Windows.
●  Dependencia de complejas y frágiles entradas de registro COM


No hay comentarios:

Publicar un comentario