Oras, pra que complicar se podemos facilitar? Afinal, a tecnologia serve pra isso, facilitar a vida e não complicar!
Isso pode ser uma verdade, mas também uma fuga. Nem sempre o caminho mais "fácil" é o
melhor caminho. Acho que nem preciso argumentar o porquê, né?
E se você quer facilidade, programe em python. É a linguagem mais fácil que conheço.
Olha, entre os programadores que conheço e professores meus, e por experiência própria, C é uma linguagem que possui um nível mais elevado de dificuldade para se aprender e usar.
Em compensação, no decorrer do tópico a opinião aqui se demonstrou outra.
Olha Java não é só para sisteminhas de automação comercial. E você está redondamente equivocado se acha que Java faz tudo por você, não sei da onde tirou isso. Java é utilizado em aplicações de grande porte e usado em sistemas que necessitam auto grau de precisão. Inclusive em projetos espaciais Java é uma das linguagens utilizadas, como pode ver aqui na seleção dos programadores do satélite Corot: http://72.14.209.104/search?q=cache:chv9bAMJGXEJ:www.astro.iag.usp.br/~corot/recrutjan02.doc+sat%C3%A9lite+corot+java&hl=pt-BR&ct=clnk&cd=2&gl=br&lr=lang_pt
Quais "mecanismo de precisão" que Java tem que C ou outra linguagem não tem? Porque se não tiver é só apelo à autoridade isso.
Não é atoa também que a maioria dos celulares usados no mundo usam tecnologia Java.
Argumentum ad Numerum. Isso provavelmente porque a Sun faz acordo com os fabricantes de celulares. Agora que tem o .NET, a disputa está se acirrando.
Além disso, vários sites de vendas online de peso são feitos em Java.
Bem, automação comercial.
Java é uma linguagem robusta, você pode sim fazer um SO em Java, basta encarar o desafio.
Como? O próprio conceito de JVM exclui qualquer possibilidade do Java trabalhar diretamente com o sistema. Como você quer fazer um sistema operacional se também não trabalha com ponteiros?
Aliás, o problema de java não é só que ele não trabalha em um nível inferior. Ele também peca na performance. Se você precisa de um programa que precisa ser rápido, como um jogo, que precisam do máximo do sistema sem desperdiçar recursos, não achará espaço para Java.
Como eu havia dito e repito, Java é útil sim, mas no seu âmbito, que geralmente é automação comercial.
Java apenas não exige que se trabalhe diretamente com ponteiros, que aliás, é um pé no saco ficar cuidado de ponteiros.
Pois é, não trabalhar com ponteiros diretamente é horrível. Tira flexibilidade da linguagem.
Java também tem o Garbage Colector, que facilita muito a liberação de memória.
Facilita, mas pode deixar o sistema lento. Não ter esse controle de quando destruir os objetos e ponteiros… digo, só objetos, pode ser muito danoso para um programador experiente, que sabe exatamente quando deve liberar um objeto da memória. Tira a flexibilidade da linguagem.
Ainda assim, isso não impede que haja
Memory leaks no programa.
Sem falar na API java que é enorme e bem diversificada, se o programador realmente conhecer a linguagem e for inteligente, possui uma possibilidade infinita de combinações e probabilidades para resolver um problema de software.
Bem, querer comparar a api do java com a quantidade de bibliotecas em C é covardia. C é muito mais antigo e difundido que Java.
Claro que sei que C é uma linguagem muito forte e robusta e tem toda uma história. Mas repito: pra que complicar se você pode descomplicar?
Flexibilidade? Velocidade? Menor consumo de memória?