Muito além do System.out.println("Hello, World!"). Java SE, Java EE e Java ME
Se programar requer muito mais do que o conhecimento da semântica e sintaxe da linguagem de programação, quando o assunto é Java, esse requisito escala.
A linguagem Java, por ser uma linguagem híbrida; isto é, ser tanto interpretada, como compilada, necessita de um ambiente de desenvolvimento adequado, que contenha todos os componentes necessários para a escrita e execução do programa.
Assim, surgiu a Java SE (Standard Edition), plataforma de desenvolvimento Java que contém os recursos necessários para desenvolver aplicativos desktop e servidor.
Vale mencionar que antes do Java SE 8, a linguagem suporta três paradigmas de programação: procedural, orientados a objetos e genérica. E a partir do Java SE 8, a linguagem suporta também o funcional, que nos permite escrever programas de forma mais rápida, concisa e mais fáceis de paralelizar.
Além da Java SE, surgiram, devido ao grande espectro de aplicações, duas outras versões: a Java EE e a Java ME.
Java Enterprise Edition
A Java EE é uma extensão da SE que contém componentes adequados para desenvolvimento de aplicativos em redes distribuídas e em grande escala, bem como aplicativos baseados na web.
Java Micro Edition
Já a Java ME, que é um subconjunto da Java SE, plataforma adequada para desenvolvimento de aplicativos embarcados com recursos limitados, como smartwatches, MP3 players, smart TV, medidores inteligentes etc.