A Grande Mancada da SUN! ["RESOLVIDO"]

44 respostas
J

Isso mesmo estou afirmando que é revoltante não existir algo para obter infomações de hardware em Java.

Se for para usar scripts, ou outras liguagens mescladas de que adianta a portabilidade sendo que você acaba perdendo isso?!

Esses dias precisei pegar informações de HD e CPU e… “pã” me sinti como a TELA AZUL do Windows, resumindo tive que ir no site da Microsoft para conseguir algo pra usar no meu código, que lixo!.

Funciona mas e daí, agora você acaba tendo uma app que só vai funcionar no Windows, ou tenha 1000 versões da mesma app.

MANCADA SUPREMA! Valeu SUN por não pensar no básico! Até o Billy Graves pensou nisso.

Agora já sei milhões de defensores do Java vão me crucificar… mas sejam sinceros vocês nunca pensaram: “Putz poderia ter isso ou aquilo”…

44 Respostas

F

Nada é perfeito, mas sempre existe mais de uma alternativa …

Talvez a API SIGAR te ajude. Ela abstrai as particularidades dos principais SOs suportados pelo Java:
http://www.hyperic.com/products/sigar

LPJava

pois eh tenho que concordar, mas se fosse perfeito nao teria graça :D. Manda uma nota para eles, quem sabe na proxima nasce algo?

Andre_Rosa

Realmente, foi uma baita mancada.

ViniGodoy

Baixa integração com hardware é uma característica de qualquer linguagem que rode sobre uma virtual machine. Se você precisa de integração com SO e hardware, não deveria ter escolhido java.

J

O Java ainda tem que evoluir muito, perfeito para Web, tosco para desktop.

Sejamos humildes e vamos tirar o chapéu para o sr. Bill Gates e alguém da Borland…

Admiro os que reconhecem com humildade que o Java não é o MBA das linguagens e que tb possui limitações como qq outra, a única vantagem do Java é rodar em várias plataformas, mas parece que isso acaba se limitando por faltar coisas básicas na linguagem. Pelo visto terei que desenvolver minha própria linguagem multiplataforma. Como estou sem tempo vou usar o que a empresa manda.

ViniGodoy

Eu trabalhei com Java em Desktop por 6 anos, e acho a linguagem excelente. Não tem nada de tosco.

O swing é poderoso, extensível. Só não é lá muito fácil de aprender, mas depois que se vence a curva de aprendizado, é bem fácil de usar.
Tem um bom pacote de pintura 2D também, para caso você precise desenhar um componente no braço. Fora a existência de diversas bibliotecas de terceiros para construção de rich applications.

A parte muti-plataforma também funciona muito bem. Minha aplicação rodava em Windows, Mac e Linux, com o mínimo esforço de recodificação. Claro que para isso você deve seguir as práticas recomendadas pela sun, como o uso de layout managers no lugar do null layout.

Agora, essa portabilidade tem um preço. E o preço, é afastar-se do hardware. Por isso a existência de uma máquina virtual. Para aplicação java, todo hardware é igual e é a VM. É isso que garante essa portabilidade toda. Ok, poderia ter uma função para obter informações de hadware, já que isso provavelmente é suportado na maioria dos SOs. Mas mais integração do que isso começa a afetar a chance de mais portabilidade para uma comunidade pequena de usuários.

Você mesmo citou algumas alternativas para driblar o problema. É possível escrever um comando externo e, como é possível obter em que SO está trabalhando com o System.getProperties, você pode até mesmo manter seu programa portável. Também seria possível escrever alguns drivers com JNI ou JNA, embora isso não seja uma tarefa 100% trivial.

Se você vai precisar de muita integração (sei lá, manipular controles de video-game, ou ligar-se via porta serial/paralela a um dispositivo, ou mesmo usar a USB), procure por bibliotecas externas já construídas por outras pessoas. A comunidade é grande e existe muita coisa implementada (eu cheguei a achar até drivers para GP&I). Se ainda assim não encontrar, infelizmente, você esbarrou numa das limitações da plataforma, e será obrigado a construir algo usando JNI/JNA.

LPJava

ViniGodoy:
Eu trabalhei com Java em Desktop por 6 anos, e acho a linguagem excelente. Não tem nada de tosco.

O swing é poderoso, extensível. Só não é lá muito fácil de aprender, mas depois que se vence a curva de aprendizado, é bem fácil de usar.
Tem um bom pacote de pintura 2D também, para caso você precise desenhar um componente no braço. Fora a existência de diversas bibliotecas de terceiros para construção de rich applications.

A parte muti-plataforma também funciona muito bem. Minha aplicação rodava em Windows, Mac e Linux, com o mínimo esforço de recodificação. Claro que para isso você deve seguir as práticas recomendadas pela sun, como o uso de layout managers no lugar do null layout.

Agora, essa portabilidade tem um preço. E o preço, é afastar-se do hardware. Por isso a existência de uma máquina virtual. Para aplicação java, todo hardware é igual e é a VM. É isso que garante essa portabilidade toda. Ok, poderia ter uma função para obter informações de hadware, já que isso provavelmente é suportado na maioria dos SOs. Mas mais integração do que isso começa a afetar a chance de mais portabilidade para uma comunidade pequena de usuários.

Você mesmo citou algumas alternativas para driblar o problema. É possível escrever um comando externo e, como é possível obter em que SO está trabalhando com o System.getProperties, você pode até mesmo manter seu programa portável. Também seria possível escrever alguns drivers com JNI ou JNA, embora isso não seja uma tarefa 100% trivial.

Se você vai precisar de muita integração (sei lá, manipular controles de video-game, ou ligar-se via porta serial/paralela a um dispositivo, ou mesmo usar a USB), procure por bibliotecas externas já construídas por outras pessoas. A comunidade é grande e existe muita coisa implementada (eu cheguei a achar até drivers para GP&I). Se ainda assim não encontrar, infelizmente, você esbarrou numa das limitações da plataforma, e será obrigado a construir algo usando JNI/JNA.

excelente vinny, estava lendo hoje sobre java desktop e fiquei surpreso, com os recursos da tecnologia. As vezes criticamos o que nao sabemos direito. Parabens por compartilhar sua experiencia.

M

Vide comentário do ViniGodoy. Nenhuma linguagem é perfeita e Java tem um foco diferente de outras linguagens mais baixo nível. Concordo que faz falta uma forma de conseguir esse tipo de informação e que se quisessem isso não seria tão difícil de implementar na próxima JRE. Mas dizer que Java é tosco já se torna um ataque sem fundamento do qual eu discordo.

Novamente a questão do foco da linguagem (sem contar que creio que o Bill Gates não é tão bom programador assim; o que ele é, sem dúvida, é um bom empreendedor).

Meus sinceros votos de boa sorte! :slight_smile:

T

No tempo em que ele punha a mão na massa, ele escrevia em Assembly (8085) mesmo:

http://americanhistory.si.edu/collections/comphist/gates.htm#tc35

M

No tempo em que ele punha a mão na massa, ele escrevia em Assembly (8085) mesmo:

http://americanhistory.si.edu/collections/comphist/gates.htm#tc35



Ainda não estou muito convencido… escovar bits não implica ser bom programador (mas admitamos: Assembly não é para qualquer um).

M

Tradução: Existem milhares de maneiras de contornar o problema, so que vou ter que sair do meu mundinho chamado “linguagem” java.

B

As linguagens se curvam diante do programador, não o contrário.

Se você quer baixo nível, use C/C++, ou algo parecido.

Por falar nisso, é possível implementar métodos Java em C++, com o possível custo de portabilidade.

leorbarbosa

Se você quiser descer a serra ainda mais: o bom e velho assembly não morreu !

Repetindo o que já foi dito com excelência: “…não deveria ter escolhido java…”

maior_abandonado

você consegue muito bem implementar um script para SO windows, outro para linux, verificar qual o SO e chamar o script adequado… mantendo assim sua aplicação portavel apesar dessa dificuldade…

o problema foi falta de imaginação, não uma limitação da linguagem, apesar de obviamente ser necessário você aproveitar outras linguagens como ja desseram e ja mostraram o motivo disso.

e quanto a parte dos que irão te crucificar, talvêz não teria isso se sua mensagem fosse um pouco menos ofensiva…

Felagund

Jingo:

Admiro os que reconhecem com humildade que o Java não é o MBA das linguagens e que tb possui limitações como qq outra, a única vantagem do Java é rodar em várias plataformas, mas parece que isso acaba se limitando por faltar coisas básicas na linguagem. Pelo visto terei que desenvolver minha própria linguagem multiplataforma. Como estou sem tempo vou usar o que a empresa manda.

Coisas básicas? que toda a linguagem devia ter? Pois é realmente, esqueci a quantidade de vezes que os sistemas que desenvolvemos precisaram saber o espaço em disco da maquina, ou alguma informação de hardware.

Isso eu acredito que não seja o básico e nem necessario, isso é o que vc precisa, não o que a maioria dos desenvolvedores precisa.

Acredito que a JVM poderia fornecer essas informações, como já fornece por exemplo a arquitetura do SO, Sistema Operacional.

Mas alegar que é o básico isso, se tá meio fora né.

J

Realmente tem uma saída usar JNI, a SUN deve ter feito isso às pressas, “Putz esquecemos de fazer algo para informações de hardware, já sei inventa algo que copie e cole de outra linguagem, é gambiarra mas funciona”.

mochuara >> você quis dizer interpretação, como se traduz para um mesmo idioma?

leorbarbosa >> aprender assembly é fácil o problema é usar com Java, esquece, é capaz do Java me deixar na mão e passar uma solução gambiarra.

marcobiscaro2112 >> virei seu fã, manja + que o Bill Gates, acorda.

ViniGodoy >> não leva para o lado pessoal.

maior_abandonado >> O ÚNICO QUE ESTÁ DE ACORDO COM A REALIDADE, seu comentário pode ser levado a sério.

J

Felagund >> concordo talvez nem todos precisem.

rmendes08

Eu diria que a maioria não precisa …

M

Nenhuma linguagem tem tudo. E o Java tem uma forma fantástica de aproveitar coisas que já foram implementadas (ou são exclusivas) de outras linguagens, em especial C e C++. Isso é o JNI. Além disso está o JNA que vem crescendo bastante e está muito além de “uma gambiarra” (se fosse assim, nem funcionaria).

Acredito que a falta de capacidade de alguns para encontrar soluções acaba gerando revolta. Quando a solução fica além do que já vem pronto, se torna custoso implementá-la e é melhor ir para algum fórum de Java falar que a Sun cometeu uma grande mancada por não deixar pronto o que eu preciso.

Aqui caem como uma luva as palavras do mochuara:
“Existem milhares de maneiras de contornar o problema, só que vou ter que sair do meu mundinho chamado Java.”

Interessante a forma como você chega a conclusões sem sentido. Eu em momento algum disse nada do gênero.

ViniGodoy

Lado pessoal? Não entendi. Em momento nenhum nem sequer dei a entender que estava ofendido pelo que você falou.

O JNI tem exatamente esse papel que você falou: o de prover uma interface para fora da VM. Justamente porque a Sun não iria cobrir tudo, e não tem o menor interesse de cobrir tudo algum dia. Não é só por medo, embora eu não descarte a possibilidade desse componente ter existido, mas eles tinham certeza de que certos tipos de integração não iriam existir.

Acho melhor você fazer o que você mesmo falou. Tente implementar sua própria linguagem multiplataforma, perfeita e sem qualquer tipo de limitação. Depois, poste os resultados nessa thread.

Se for algo melhor que o Java, ótimo, eu mesmo terei interesse em usar a plataforma.

deniswsrosa

É a velha história do cara conhecer uma linguagem e querer usar ela pra tudo, Java não foi feito pra controlar hardware ou coisas do tipo, ele está uma camada acima, pra isso existem outras linguagens como c, c++, assembler e etc. Falar que é mancada da Sun nao fazer com que o java possua métodos de acesso/controle de hardware para escovar bit é a mesma coisa que reclamar que é mancada do pessoal do cobol que a linguagem não é muito boa pra web.

E como o Vinigodoy disse, fazer uma linguagem WORA que tenha uma forte integração com N tipos de hardwares/SO’ s diferentes é uma Utopia.

sergiotaborda

Jingo:
Isso mesmo estou afirmando que é revoltante não existir algo para obter infomações de hardware em Java.

Se for para usar scripts, ou outras liguagens mescladas de que adianta a portabilidade sendo que você acaba perdendo isso?!

Esses dias precisei pegar informações de HD e CPU e… “pã” me sinti como a TELA AZUL do Windows, resumindo tive que ir no site da Microsoft para conseguir algo pra usar no meu código, que lixo!.

Funciona mas e daí, agora você acaba tendo uma app que só vai funcionar no Windows, ou tenha 1000 versões da mesma app.

MANCADA SUPREMA! Valeu SUN por não pensar no básico! Até o Billy Graves pensou nisso.

A mancada aqui é achar que isso é uma mancada.
Como vc garante que o java corra numa máquina com HD ? Vc sabia que em JME não se usa java.io.File ?

Lembre-se que java corre num maquina virtual. Se a máquina é virtual coisas como HD e CPU não existem fisicamente, portanto ter acesso ao mundo fisico é simplesmente uma impossibilidade logica.

Claro que vc pode abstrair as coisas de uma tal form que seja possivel acessar algumas coisas como por exemplo o acesso ao MAC, contudo isso é a exceção e não a regra.

Contudo, o pessoal da sun sim pensou na possibilidade de alguém querer vincular o seu programa java a OS ou hardwares especificos. É por isso que existe a JNI, e mais recentemente temos a JNA.

Menos lamúria e mais estudo da plataforma. Java sim permite que vc faça consultas ao hardware e ao OS de dentro da sua aplicação.

J

O que eu coloque em destaque aqui foi simplesmente que, perdemos a portabilidade oferecida pelo Java por não existir um meio de efetuar certa tarefa.

Cada um tem seu ponto de vista, eu continuo com o meu e não há nada que o faça mudar e não quero que ninguém mude o seu.

Sobre localizar informações de hardware eu encontrei algo que PERMANECE NO MUNDINHO JAVA.

É interessante as pessoas atacarem um ponto de vista quando na verdade não compreendem nem o que enxergam, o cara me diz que o Java não faz isso ou aquilo porque esse não era o objetivo, na verdade a linguagem faz e ele está defendendo sua própria visão e ainda diz que outros é que não conhecem.

JNA - JNI, sim são ótimas soluções para conseguir o que falta, mas isso me custará a portabilidade que é uma das coisas que me atrai no Java, várias versões da mesma aplicação complica para qq um.

Fico feliz pela discussão que ocorreu aqui, afinal me ajudou a ficar no mundinho Java e descobrir uma maneira nativa de realizar a tarefa de que preciso, ainda não é tudo mas 50%.

sergiotaborda >> Aprendam com esse cara ele usa informações coerentes para debater e coloca sentimentos de lado.

Para os tapados, que defendem algo com unhas e dentes sendo INCAPAZES DE DEBATER sobre uma coisa que visivelmente é deficiente: “Se a carapuça lhes serviu, vistam”.

O cara ao invés de responder: “Realmente falta isso, tente aquilo.”

Prefere responder: “Não aqui é tudo perfeito, você tá querendo demais.” Aqui vemos os desinformados que realmente ficam presos num mundinho que criaram, isso sim é utopia.

Agora lembre-se disso: “Se a carapuça lhe serviu, vista”.

M

Você poderia compartilhar isso para a comunidade então.

kemperacc

Pra fechar a discução e parar com essa bobagem:

[color=red][size=18]Não existem linguagens ruins, existem programadores.[/size][/color]

TUDO, basicamente TUDO que eu quis fazer em java até hoje eu consegui.

Por exemplo, neste topico que tem haver com hardware, o cara perguntou como imprimir em impressoras matriciais, passei pra ele uma solucao multiplataforma, ou seja, interagindo direto no hardware sem perder a portabilidade:

http://www.guj.com.br/posts/list/0/134974.java

M

kemperacc:
Pra fechar a discução e parar com essa bobagem:

[color=red][size=18]Não existem linguagens ruins, existem programadores.[/size][/color]


Eu acredito que existam as duas coisas.

kemperacc:

TUDO, basicamente TUDO que eu quis fazer em java até hoje eu consegui.

Ótimo, você poderia então postar como você fez para resgatar as informações de hardware pois pode ser útil para quem mais tenha esse problema.

ViniGodoy

É sim, vide o Visual Basic 6.

É uma linguagem muito, muito ruim.

A

A linguagem não é perfeita, mas sempre cumpriu o seu papel. É o primeiro que aparece aqui e diz que o Java perdeu sua portabilidade.

Estude JNI, ele não é “gambiarra”, é uma solução oferecida para os recursos que a JVM não pode oferecer sem comprometer a Portabilidade.

M

É sim, vide o Visual Basic 6.

É uma linguagem muito, muito ruim.
Eu não pretendia citar exemplos, mas já que você disse… :slight_smile:

Além disso existe também a questão da funcionalidade. Exemplo bem prático: tente implementar um sistema web usando a linguagem COW ou um aplicativo Desktop completo em Assembly. Nesse caso o problema vai além da linguagem ser boa ou não: se ela não atende suas necessidades se torna inútil para você, ou seja, uma linguagem ruim para aquela situação.

kemperacc

marcobiscaro2112:
kemperacc:
Pra fechar a discução e parar com essa bobagem:

[color=red][size=18]Não existem linguagens ruins, existem programadores.[/size][/color]


Eu acredito que existam as duas coisas.

kemperacc:

TUDO, basicamente TUDO que eu quis fazer em java até hoje eu consegui.

Ótimo, você poderia então postar como você fez para resgatar as informações de hardware pois pode ser útil para quem mais tenha esse problema.

Como eu disse, tudo que eu precisei fazer. Nunca precisei recuperar tais informacoes.

Hellmanss

Para mim, esse Jingo só está querendo aparecer um pouquinho, na verdade chorando em publico!

O problema maior, não é o que pode ou não ser feito em Java, o problema aqui é você. Sim você!

Como você quer portabilidade, se você está querendo implementar algo específico?

E alguem aqui está obrigando você a usar Java, não gostou, comessa a utilizar VB, delphi, C…
Não precisa ficar chorando em publico e passando vergonha :lol:

M

Acho que estou começando a concordar com o Hellmanss.

Trebloc

Pra mim não tem mancada nenhuma da Sun, já que Java não foi criada focando interação direta do programador com o hardware da máquina.

C, C++ e até Assembly estão aí pra quem se interessar.

J

Hellmanss >> Obrigado por acessar este post, quero ver se tem um recorde de visitas.

Estou chorando, só se for de dar risada, vendo todo mundo se matando pra defender o Java, crianças…

Vergonha, do quê? De expor minha visão? Acorda!

Algumas pessoas colocam o r… entre as pernas e preferem não ir contra a maioria, espero que não seja seu caso não precisa ficar com medo.

Esta é aquela situação: “Se alguém falar que a Terra não é quadrada nós matamos o desgraçado”.

Por favor continue replicando, vamos ver até onde vai.

Hellmanss

Jingo:
Hellmanss >> Obrigado por acessar este post, quero ver se tem um recorde de visitas.

Estou chorando, só se for de dar risada, vendo todo mundo se matando pra defender o Java, crianças…

Você fica “colocando palavras na bouca dos outros”
Usa quote quando quer comentar alguma opinião alheia.
Você não sabe ler, tem preguiça de ler ou não está bem psicologicamente! Cita aqui em que parte do meu reply eu defendi o Java.

Não, isso não é visão, é Choro mesmo.

Algumas pessoas colocam o r… entre as pernas e preferem não ir contra a maioria, espero que não seja seu caso não precisa ficar com medo.

Esta é aquela situação: “Se alguém falar que a Terra não é quadrada nós matamos o desgraçado”.


ok, já entendemos!
Você está decepcionado pelo “mundo” não ser perfeito…
Te recomendo uma musica que tem neste tópico:
http://www.guj.com.br/posts/list/198348.java

proteus_adi

Esse não é, nem de longe, um tópico de “Java básico”.
Alguém tinha que move-lo pra “Java ultra-hiper-mega avançado”…

Jingo,
Faça sua linguagem multiplataforma, cara…
Seja feliz… Num liga pra esses caras não…
hahaha

Agora entendi pq o bruno mandou o post…
Eh uma piada…

Linguagem de programação é igual aos “palitinhos” de comer macarrão[chopstick] de japonês…
Sempre vai ter um oreia q vai querer comer de colher…
:p,

Agora,
Na real… JNI/JNA é uma boa solução.
Mas, certamente vc está usando isso para fazer algo que vc certamente não precisa ou que poderia fazer de outra forma menos complicada.
Acho que é hora de você rever ai seus requisitos, seu objetivo com o sistema e/ou os frameworks/plataforma/apis q vc tá usando…
Tem algo fora do eixo…
Aposto 10 pratas.

M

proteus_adi:
Esse não é, nem de longe, um tópico de “Java básico”.
Alguém tinha que move-lo pra “Java ultra-hiper-mega avançado”…

Acho que “Flame ultra-hiper-mega avançado” iria melhor.

T

Acho que esta thread cansou um pouco. Não vou trancá-lo - espero que voltem a uma discussão civilizada. Mas estou de olho.

J

Hellmanss - Não estou tentando ofender ninguém. Não cheguei acessar a tal música, não estou procurando nada disso.

proteus_adi - Te devo 10 pratas. Realmente compliquei com uma coisa pra não dar o braço a torcer, como disse antes, achei uma solução que atende 50% mas é suficiente, ao menos consegui o que era mais importante que é a portabilidade.

Realmente não há nenhum problema com os “Jotas” que a SUN criou, talvez eu não tenha compreendido o real propósito da linguagem assim como aqueles que a rejeitaram em seu início.

O problema já foi resolvido há tempos, postei algo que foi considerado como infame, mas era minha opinião, achei que era um local democrático e que as pessoas entenderiam um ponto de vista diferente. Será que quando o Java esta nascendo todo mundo foi concordando? Todos conhecemos a história da linguagem.

Digo porque este post foi tão longe: “A maioria das pessoas preferem gastar 15 minutos produzindo uma resposta áspera do que gastar estes mesmo quinze minutos com uma resposta produtiva”. Acho que nunca ouviram: “Quem não ajuda, não atrapalha”.

Com certeza ninguém aqui esta pedindo: “Façam para mim”.

Conduzir um post para uma discussão sadia ou não, depende de cada um que escreveu. O proteus_adi foi um dos poucos que sacou o que estava acontecendo, preferiu usar seu tempo para criar uma resposta satisfatória, acredito que ele deve ter passado por uma experiência parecida com esta ou outra linguagem e por isso sacou de vez, ou talvez não tenha passado e sacou assim mesmo.

Retiro o que disse, não é o Java que tem que evoluir muito. São as pessoas, todas, inté eu.

Faço minha parte, nunca post críticas quando alguém me traz um problema, se não posso oferecer solução prefiro me calar.

E esse tópico já me cansou, parece um blog.

ViniGodoy

Jingo:
Hellmanss - Não estou tentando ofender ninguém. Não cheguei acessar a tal música, não estou procurando nada disso.

proteus_adi - Te devo 10 pratas. Realmente compliquei com uma coisa pra não dar o braço a torcer, como disse antes, achei uma solução que atende 50% mas é suficiente, ao menos consegui o que era mais importante que é a portabilidade.

Realmente não há nenhum problema com os “Jotas” que a SUN criou, talvez eu não tenha compreendido o real propósito da linguagem assim como aqueles que a rejeitaram em seu início.

O problema já foi resolvido há tempos, postei algo que foi considerado como infame, mas era minha opinião, achei que era um local democrático e que as pessoas entenderiam um ponto de vista diferente. Será que quando o Java esta nascendo todo mundo foi concordando? Todos conhecemos a história da linguagem.

Digo porque este post foi tão longe: “A maioria das pessoas preferem gastar 15 minutos produzindo uma resposta áspera do que gastar estes mesmo quinze minutos com uma resposta produtiva”. Acho que nunca ouviram: “Quem não ajuda, não atrapalha”.

Com certeza ninguém aqui esta pedindo: “Façam para mim”.

Conduzir um post para uma discussão sadia ou não, depende de cada um que escreveu. O proteus_adi foi um dos poucos que sacou o que estava acontecendo, preferiu usar seu tempo para criar uma resposta satisfatória, acredito que ele deve ter passado por uma experiência parecida com esta ou outra linguagem e por isso sacou de vez, ou talvez não tenha passado e sacou assim mesmo.

Retiro o que disse, não é o Java que tem que evoluir muito. São as pessoas, todas, inté eu.

Faço minha parte, nunca post críticas quando alguém me traz um problema, se não posso oferecer solução prefiro me calar.

E esse tópico já me cansou, parece um blog.

Me desculpe jingo. Mas a reação do pessoal foi pelo tom que você adotou desde o início. Releia a discussão e pense com carinho se a resposta do pessoal não foi motivada por você mesmo.

Agora, só para constar, você não é o único que já achou coisas que não gostou no Java. Eu mesmo já postei um tópico sobre isso:
http://www.guj.com.br/posts/list/53066.java

E aliás, você pode ver que o seu caso se enquadra no meu tópico 4, o das coisas simples de se fazer que o Java não tem suporte. E você também pode ver que na discussão reclamo muito do que você reclamou aqui, usar um workaroud e dizer que porque ele existe é suficiente.

Ataxexe

Só um palpite: acho que você não conseguiu a portabilidade com JNI/JNA pois continua dependendo de um recurso específico para a plataforma que usou.

J

Realmente eu motivei o pessoal a ser agressivo. Coisas de newbies no Java.

4. Existem coisas extremamente complexas que são fáceis de fazer (como esperar uma conexão ou sincronizar threads). Por outro lado, coisas triviais em outras linguagens (limpar o console, pegar o diretório que a aplicação roda) são praticamente impossíveis de se fazer em java;

Agora vai entender porque funciona assim…

Acho que ainda surgirão muitos newbies como eu que criarão tópicos revoltados.

O ViniGodoy se revoltou no passado agora é um ativista Java por assim dizer, eu me revoltei (chutei o pau da barraca) e virei um ativista tb, quem será o próximo?

Luca

Olá

O que o Jingo quer fazer é MUITO fácil. Acesse o hardware usando C e chame as funções em C usando JNI.

Dificil mesmo é fazer um garbage collector em C/C++.

[]s
Luca

ViniGodoy

Na verdade não sou ativista não… eu ainda penso tudo aquilo… hehheheehh

Linguagem nenhuma é perfeita. Mas é melhor conviver com as limitações do Java, por exemplo, do que ter que lidar com ponteiros do C++ (ugh), com a sintaxe macabra do Perl ou ainda ter que programar em VB6. D:

Criado 6 de março de 2010
Ultima resposta 11 de mar. de 2010
Respostas 44
Participantes 22