Ir al contenido principal

10 razones para elegir a Java como lenguaje de programación

Cuando llegas a tomar la programación como algo serio y te decides a adentrarte en el mundo de la escritura del software de una manera más profesional siempre surge la pregunta: ¿Qué lenguaje de programación debo elegir?. En este artículo te daré 10 razones por las cuales considero que Java es una buena opción a la hora de contestar esta pregunta.

1. Es Orientado a Objetos
Clones Para muchos esta sería una razón por la cual no elegir Java, sin embargo, la programación orientada a objetos te da la posibilidad de escribir una vez  y utilizar muchas veces un objeto (procedimiento, método, etc). En pocas palabras, te permite simplificar tu código y te evita la necesidad de copiar y pegar muchas veces un mismo procedimiento.

Flexibilidad 2. Flexibilidad
Si en algún momento escribes una aplicación con un propósito bien definido y con el paso del tiempo necesitas actualizarla, ya sea para agregar funcionalidad o para adecuarla de alguna manera, Java te permitirá hacerlo utilizando tu mismo código, no es necesario reescribir, simplemente heredas funcionalidad y agregas nuevas características sin alterar tu código inicial.

3. Es MultiplataformaPlataformas
Adiós a la versión específica para Windows, otra para Linux, otra para Mac, etc, etc ,etc. Con  Java puedes hacer que una misma aplicación escrita una sola vez te funcione en todos los entornos ya que el ejecutable de Java no lo ejecuta (valga la redundancia) el sistema operativo sino la máquina virtual (o Java Virtual Machine). Si eso no es una ventaja entonces yo no se qué es.

Gratis 4. Es Gratis!
Para desarrollar en Java no necesitas comprar licencias de ningún tipo, es completamente gratuito. Basta con que vayas a la página de descarga del JDK (Java Development Kit), lo descargues y utilices sin problemas.

5. Es AbiertoAbierto
La mayoría de las librerías nativas de Java tienen su código fuente abierto y disponible los desarrolladores, esto te ayuda no solo a conocer más a fondo las capacidades de las mismas sino también te da la posibilidad de expandirlas, lo cual nos lleva al siguiente punto...

Expandir 6. Es Expandible
Al tener el código fuente disponible puedes entonces expandirlo o acoplarlo (en caso de ser necesario) a tu aplicación. Puedes heredar la funcionalidad de una clase ya existente y agregar procedimientos adicionales, posteriormente empaquetas todo y lo distribuyes. Te sorprendería la cantidad de librerías que los programadores independientes han puesto a la disposición de la comunidad utilizando esta ventaja que ofrece Java.

7. Es muy PotentePotente
Dejemos atrás aquellos años en los cuales se pensaba en Java únicamente para cosas simples, al día de hoy puedes desarrollar prácticamente cualquier aplicación de cualquier tamaño y para cualquier fin con Java. Desde aplicaciones simples como calculadoras, hasta un poco complicadas como procesadores de texto y bastante te complicadas como sistemas de tráfico aéreo. De igual manera puedes desarrollar aplicaciones multi-hilo o multi-proceso sin mayores inconvenientes. Si esto no te es suficiente debes saber que existen diversos frameworks que te ayudan a simplificar aún más el trabajo y potenciar tus aplicaciones como Hibernate, Spring, Struts, JSF, etc.

Librería 8. Librerías disponibles
Si bien no todos los procedimientos que puedes llegar a necesitar están contenidos en las librerías nativas de Java, hay muchísimas librerías de programadores independientes y empresas que amplían su funcionalidad. ¿Necesitas interactuar con archivos de Microsoft Office? No hay problema, existe Apache POI. ¿Quieres capturar y/o reconocer huellas digitales? Sencillo, existen librerías de Griaule, Digital Persona, MegaMatcher, etc. Con Java no es necesario reinventar el hilo negro.

9. Es SeguroSeguridad
La seguridad es algo que los desarrolladores del lenguaje se toman muy en serio, continuamente liberan actualizaciones que corrigen o previenen este tipo de problemas. ¿Has escuchado alguna vez que alguien haya aprovechado un fallo en Java para realizar un ataque a un sistema informático? Yo tampoco.

Soporte 10. Soporte y Documentación
Java cuenta con varias comunidades dedicadas a otorgar soporte cuando lo necesites, algunas están divididas por países, idiomas, etc. Asimismo, la documentación que Oracle pone a nuestra disposición sobre cada una de las clases, métodos y componentes del lenguaje es bastante útil y muy completa.

¿Tienes alguna razón adicional a las que menciono o simplemente no estás de acuerdo conmigo? Te invito a que te expreses y dejes tu comentario.

Si te gustó el artículo puedes compartirlo desde los botones sociales (Twitter, Facebook, Google+).

De igual manera puedes suscribirte al blog original feed  para que los nuevos artículos lleguen a tu bandeja de correo o lector de Feeds favorito.

Comentarios

  1. la mayoría de plataformas actuales cumplen todas esas características... y java no es completamente de código abierto.

    ResponderBorrar
  2. No estoy de acuerdo con el de arriba, por ejemplo VisualBasic: ¿Lo puedes descargar gratis sin cometer un delito?, ¿crees que Microsoft te va a dar soporte en unos años cuando hayan sacado otra versión?, ¿el ejecutable te va a correr en cualquier SO?, además, VB no es orientado a objetos y en mi opinión VB es para pseudo-programadores informales, que dejan que los wizards hagan todo por ellos, arrastran los componentes, botones, le ponen funcionalidad al click y listo -.- eso no es programar....

    ResponderBorrar
  3. Todo muy bien en general pero en el punto 9 no estoy de acuerdo al 100%... "¿Has escuchado alguna vez que alguien haya aprovechado un fallo en Java para realizar un ataque a un sistema informático?" La respuesta sería que sí, ¿no creéis? No hay que ir mucho tiempo atrás, está el exploit de hace unos días, no?

    ResponderBorrar
  4. Estoy de acuerdo contigo, voy a actualizar un poco esa parte ya que el artículo fue redactado antes de que dicha falla se hiciera pública :mee:

    Como sea, gracias por tu comentario!

    ResponderBorrar
  5. Creo que java es el lenguaje x excelencia en la actualidad, además de marcar una tendencia en paradigma, la complejidad y sencillez de Java solo puede ser a mi parecer igualada (o casi) x c#, que no es ni mas ni menos que un calco de lo mejor de java...
    Gracias x la publicación (y x otras)...

    Jorge

    ResponderBorrar
  6. ¿Has escuchado alguna vez que alguien haya aprovechado un fallo en Java para realizar un ataque a un sistema informático?....... si :D!... hace unas semanas atras salio un video con un 0Day . donde se podria ejecutar codigo remotamente!

    ResponderBorrar
  7. Esto no son ventajas, son cosas que le has de exigir a un lenguaje que se precie.
    Lo único que a lo mejor es un poco exclusivo de Java es el ser multiplataforma y la cantidad que tiene de librerias. Aunque C++ cada día hace más los deberes en estas dos cuestiones.

    Por otra parte lo de seguridad... http://java-0day.com/, en esta pagina se cuentan los días seguidos sin que se haya encontrado un exploit en Java, aún no ha llegado a 31.

    Una ventaja que en mi opinion si es importante, es que para proyectos grandes, con Java, casi te olvidas de compilar y linkar, al contrario que en C++.

    Pero para aprender a programar, por ejemplo, es indispensable aprender lo que es pasar por valor y por referencia, o a usar punteros, (características que si tienen otros muchos lenguajes), y aqui Java brilla por su ausencia.

    De todas formas, tus posts son muy útiles para inicarse en Java, así que gracias y continúa así.

    ResponderBorrar
  8. lo de la seguridad ninguna plataforma puede alardear, siempre hay un hueco, si vamos a dejar a java por inseguro, entonces deberíamos dejar C, C++ y todos sus predecesores en los que se escribió todo lo que hay. incluso virus etc.. lo que se hace es reducir los riesgos, si algo fuera realmente seguro entonces simplemente no sería de acceso para todo el mundo.

    ResponderBorrar
  9. Creo que, en general, estas características se pueden encontrar, en menor o mayor medida, en lenguajes de programación como c++. Creo que un punto importante en la que se debería centrar la discusión es que Java es un lenguaje interpretado, no compilado.

    ResponderBorrar

  10. noooooo java no es un interprete, java es un compilador, porque? porque comvierte el codigo fuente en codigo maquina y es "interpretado" por la maquina virtual de java, (ojo)eso no quiere decir que sea un interprete sino una multiplataforma(portable). El que escribio eso que indague bien que se documente bien, sobre todo que mire el tutorial de oracle y sus librerias, decir algo deliberadamente no es correcto. saludos.

    ResponderBorrar

Publicar un comentario

Este es un espacio abierto, puedes escribir lo que gustes respetando los siguientes puntos:

1.- Lo que escribas esté relacionado con el post, si gustas contactarme puedes hacerlo aqui.

2.- Todo es cuestionable, aunque ten en cuenta que existen formas de hacerlo, evita las agresiones y revisa tu lenguaje antes de publicar un comentario.

3.- Siempre hay tres verdades: tu verdad, mi verdad y la verdad, por lo que opiniones diferentes no necesariamente son equivocadas.

4.- Los comentarios son una forma de discusión abierta, por lo que al publicar uno, implícitamente entras a una discusión, con todo lo que esto representa.

5. Me reservo el derecho de eliminar comentarios que no respeten las condiciones mencionadas anteriormente.

Toma en cuenta que puedes utilizar emoticones en tu comentario, para ver una lista de los disponibles da clic en este enlace.

Entradas más populares de este blog

3 sencillos pasos para tramitar la ayuda por desempleo de la AFORE

¿Tienes dinero ahorrado en tu AFORE y en este momento no estás trabajando o estás trabajando pero no tienes seguro social? Si respondiste sí a la pregunta anterior entonces hay una buena noticia para ti: puedes retirar una parte del dinero que tienes ahorrado. Y lo mejor, es muy sencillo. En este artículo te diré paso a paso qué hacer para obtener ese dinero, sin tecnicismos legales ni nada por el estilo, simple y sencillamente lo que necesitas saber. Paso Número 1: Obtener los últimos 2 estados de cuenta de tu Afore Esto en la mayoría de los casos es sumamente sencillo ya que dichos estados de cuenta llegan directamente al domicilio del ahorrador, si este es tu caso puedes saltar lo restante en este punto y continuar con el paso número 2, en caso contrario sigue leyendo… Si no tienes tus estados de cuenta debes ponerte en contacto con la empresa encargada de administrar tu ahorro para que te los proporcione, normalmente te van a pedir una identificación oficial, comprobante de

Conectar una base de datos en MySQL con NetBeans

NetBeans es una plataforma para el desarrollo de aplicaciones de escritorio usando Java y a un Entorno integrado de desarrollo (IDE) desarrollado usando la Plataforma NetBeans. Si eres un programador y desarrollas tus aplicaciones en Java seguramente necesitarás conectar una base de datos tipo MySQL a este entorno algún día, bueno, si lo necesitas ahora, he aquí una explicación paso a paso de cómo conectar ambas herramientas.

4 extraordinarias aplicaciones espía para Android

Le andas haciendo al James Bond y necesitas grabar video, voz o tomar fotos desde tu dispositivo Android sin ser notado? Aquí 4 excelentes aplicaciones que facilitarán tus hazañas de 007 en menos de lo que canta un gallo.

c606 c6nf5g4r6 e3 tec3ad6 [Como configurar el teclado]

¿Problemas al escribir con el teclado? ¿Tratas de escribir la letra ‘o’ y sale el número ‘6’ o algo por el estilo? La solución puede ser más simple de lo que parece. La solución a tu problema tras el salto...

Conexión, consulta y ejecución de sentencias en MySQL con Java

Anteriormente escribí este mismo artículo pero para bases de datos en Oracle . En este artículo prácticamente me copio y pego para explicar paso a paso cómo realizar la conexión a MySQL en Java, así como la forma de realizar consultas a los registros existentes y ejecutar sentencias de inserción, borrado y actualización de datos. Al final del artículo tendremos una clase que encapsulará todos los procedimientos necesarios para trabajar con la base de datos.