Hola a todo esta mañana, para empezar el día sin crap he decidido compartir un poco de mi conocimiento para todos aquellos que deseen empezar a programar en Java, especialmente bajo el paradigma orientado a objetos, este post más que ser un mero manual, en cuyo caso no podría abarcar todos los temas, pretende orientar a aquellos que deseen empezar a programar en este lenguaje pero no tengan idea de que herramientas necesiten y que información les pueda servir.
¿Qué es java?
Java es un lenguaje de programación de propósito general, concurrente, orientado a objetos que fue diseñado específicamente para tener tan pocas dependencias de implementación como fuera posible. Su intención es permitir que los desarrolladores de aplicaciones escriban el programa una vez y lo ejecuten en cualquier dispositivo (conocido en inglés como WORA, o "write once, run anywhere"

, lo que quiere decir que el código que es ejecutado en una plataforma no tiene que ser recompilado para correr en otra. Java es, a partir de 2012, uno de los lenguajes de programación más populares en uso, particularmente para aplicaciones de cliente-servidor de web, con unos 10 millones de usuarios reportados.
(Wikipedia).
¿Que software se necesita para empezar a programar en java?
Principalmente se necesita un SDK (software development kit) que es todo el conjunto de herramientas necesarias para el tratamiento y compilado de nuestros programas, basicamente se trata de un conjunto de librerías y binarios precompilados que nos facilitan toda la tarea de empezar desde 0.
Para el caso de Java se necesita bajar el JDK desde su página oficial, más información en la fuente, de manera personal recomiendo la versión 8 ya que es la más actual, también recomiendo bajar el JRE o lo que comúnmente se conoce como Java para poder "correr" todas nuestras aplicaciones sin problemas.
Para el caso de Ubuntu puede utilizar PPA usando los siguientes comandos:
$ sudo add-apt-repository ppa:webupd8team/java
$ sudo apt-get update
$ sudo apt-get install oracle-java8-installer
$ sudo apt-get install oracle-java8-set-default
Para el caso de Windows es probable que se tengan que configurar las llamadas variables de entorno que es donde se le indica al sistema donde se encuentran las herramientas necesarias para trabajar con el código, para ello es necesario ir a la carpeta de de los binarios del JDK y copiar como texto la ruta de los mismos, despues de esto ir a Equipo>Propiedades>Configuracion avanzada del sistema>Opciones avanzadas>Variables de entorno.
En la parte superior donde dice "Variables de entorno para %userprofile%" especificar la ruta y el nombre del PATH, con esto nuestro sistema podrá reconocer los binarios necesarios, esto es innecesario en caso de que se esté utilizando algún IDE de programación.
¿Qué otras herramientas necesito?
Al igual que mis profesores recomiendo a practicar en consola ya que esto, aunque es más costoso, ayuda a identificar los problemas tipícos de todo programador novato, es recomendable utilizar un editor de código, aunque para casos practicos el bloc de notas basta es aconsejable para empezar a de desenvolverse en el ámbito, yo recomiendo Notepad++ aunque si se desea se puede usar otros como Sublime Text.
No podía faltar un buen libro y uno de los que recomiendio para usuarios que nada han programado en Java es precisamente "Como programar en Java 9° Edicion" de Deitel, este libro contine casos prácticos y muchos ejercicios que pueden ser de utilidad, además de consejos y errores comunes, todo ello explicado paso a paso y con detalle.
Un sitio web para empezar y que recomiendo es Código facilito donde además no solo se encuentran explicaciones detallas de Java sino también de otros lenguajes, dejo el enlace en la fuente.
Por último cuando ya se haya logrado un gran logro con Java y cuando se requiere mayor avance en nuestros proyectos un IDE que recomiendo, es decir, un programa que nos facilita muchas tareas a nosotros los programadores y nos evita tener que recurrir a la consola, de manera personal es Eclipse, aquí muchos entran en discusión ya que opinan que otros programas como NetBeans agilizan la tarea, ya entra en cuestion de gustos, personalmente lo recomiendo porque es portable, no viene precargado con plugins y herramientas que posiblemente no utilicemos y genera menos código basura, esto último es importante, como programadores debemos conocer nuestro código para así poder reparar más ágilmente cualquier error o bug.
Nuestro primer programar en java
Antes de empezar hay que verificar que todo este bien configurado (variables de entorno), me hubiera gustado poner algunos ejemplos propios, pero por desgracia tengo un problema con las variables antes mencionadas, cosa que no es un problemas para mi ya que uso un IDE, dejo este video ilustrativo de como hacer el famoso "Hola mundo".
Bueno, hasta aqui ha llegado mi post y les doy muchas gracias por visitarlo, espero seguir aportando un poco más de mi conocimiento en TIC's, deseo que esta información les sea de utilidad y recuerden, algunas cosas pueden salir mál al empezar pero con un poco de esfuerzo se aprende y se logra lo que deseamos, como programador amo mi trabajo, háganlo, amen su trabajo.