Interesse em começar a programar em Java

Programadores em Java:

Estou estudando C# para .NET da microsoft, porém todos os serviços da Microsoft são muito caros. Exemplos: licença para utilizar MySQL server, licença para utilização do Visual Studio( tudo da microsoft é muito caro).
Tenho em vista montar uma firma de informática para venda software, mas se eu tiver de depender da Microsoft, estou ferrado.

Mas li muito a respeito de Java e fiquei interessado. Como este fórum é para feras em Java, gostaria de fazer algumas perguntas:

1 - Sendo que o código Java é interpretado, é possível desenvolver programas com interface gráfica em JAVA utilizando Linux?

2 - Desculpem pela minha ignorância, mas se Java não precisa de compilador onde os códigos são digitados? Qualquer editor de texto? Onde consigo compilar os meus programas para tentar depurá-los?

3 - Sendo Java uma linguagem orientada a objetos deve haver muita similiaridade com C# ?

Agradeço pelos esclarecimentos daqueles que manjam!

Com certeza. Inclusive Java já vem com bibliotecas gráficas em sua API padrão. O código desenvolvido com essas bibliotecas é reaproveitável para qualquer ambiente em que você possa instalar a máquina virtual do Java (JVM). Além disso, a aparência das GUIs desenvolvidas com esses pacotes é igual em todos esses ambientes.

Opa, não é bem assim… O código em Java que você escreve é compilado sim, mas transformado em bytecodes Java. Esses só podem ser interpretados com a JVM, que por sua vez pode ser instalada em diferentes ambientes. Por isso o código Java é portável.
Claro que você pode codificar em qualquer editor de texto, mas existem várias IDEs que suportam trocentas funcionalidades extras como depuração e outras coisas. Existem IDEs das mais básicas às mais avançadas, que suportam mais coisa, mas aí é uma questão à parte, é bom você dar uma pesquisada mais a fundo. Dentre as avançadas mais usadas estão o Eclipse e o NetBeans.

De fato. Não tenho experiência com C#, mas te garanto que pelo menos na sintaxe básica as similaridades são muitas. Cabe ressaltar que uma das “inspirações” de Java foi o próprio C++, então já dá pra imaginar que se você está adaptado com C#, pra começar a entender Java é um pulo.

Espero que tenha ajudado!

Pelo visto voce nao sabe ainda nem que tipo de software ira desenvolver, nem em como atender possiveis clientes.

Voce pode desenvolver software para a plataforma .NET utilizando as versoes “Express” - Visual C# Express, Visual Web Developer Express etc etc -, que nao tem custo algum.

Voce pode desenvolver software em Java para Web, Desktop, Celular etc etc…

Java precisa de compilador sim. Voce digita o codigo fonte onde achar melhor. Uma excelente IDE é o Eclipse - http://www.eclipse.org

Java e C# sao bastante similares em relacao a sintaxe.

Rafael

Obrigado pelas explicações!