Piores erros do java  XML
Índice dos Fóruns » Assuntos gerais (Off-topic)
Autor Mensagem
victorwss
JWizard
[Avatar]

Membro desde: 18/12/2007 14:46:00
Mensagens: 2409
Localização: São Paulo - SP
Offline

Bem pessoal, crio este tópico para debater acerca dos piores erros cometidos no java, o que poderia ter sido feito para evitá-los e como o mundo seria hoje se esses problemas nunca tivessem ocorrido.

O primeiro que considero é java.util.Date, java.sql.Date, java.sql.Timestamp, java.util.Calendar e java.util.GregorianCalendar. Acredito que todos que já trabalharam com datas no java já tiveram vontade de queimar em praça pública o imbecil que bolou essas classes por heresia.

Ter java.util.Enumeration e java.util.Iterator ao mesmo tempo também é uma idéia muito muito ruim.

Comentem!

Victor Williams Stafusa da Silva

Bacharel em Ciência da Computação - UFMT // Especialista em Desenvolvimento Java - CEFET/MT // Doutorando em Ciência da Computação - IME-USP
SCJP 6.0 - 19/12/2007 - PASS - 88% // SCWCD 5 - 17/05/2008 - PASS - 79% // SCJA - 09/09/2008 - PASS - 96% // SCSNI - 30/06/2009 - PASS - 68% // SCBCD 5 - 31/05/2010 - PASS - 95%
Próximos: SCJD (encalhado com o projeto), SCEA parte I (estudando). Algum dia desses: SCMAD, OCA, SCEA e SCDJWS.

Computação: uma ciência holística e esotérica!
E então veio Deus a terra e disse aos homens: Não dividireis por zero.
XML is a giant step in no direction at all. (Erik Naggum)
Arquitetura de sistemas: Eu prefiro ser essa metamorfose ambulante do que ter aquela velha opinião formada sobre tudo.
Diga não as drogas: Não use java.util.Vector.
Cuidado: Este usuário pode ter temperamento agressivo.

Always code as if the person who will maintain your code is a maniac serial killer that knows where you live.
I am the maniac serial killer that knows where you live who will maintain your code.


É impossível falar de CMMI (Capability Maturity Model Integration) sem saber o que é CIMM (Capability Im-Maturity Model).


Se você escreve "concerteza", "concerteza" você andou matando aulas de português.
[MSN]
thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline

Generics sem reification* foi uma péssima idéia. O próprio gerente da implantação do Generics no Java 5.0, o Neal Gafter, gostaria de ter incluído a reification, mas isso iria quebrar a JVM (que não iria ser substancialmente modificada no Java 5.0).

* Por exemplo: poder declarar List<int> e tal declaração usar internamente um array de int mesmo.


[WWW]
rafaelglauber
GUJ Master
[Avatar]

Membro desde: 07/09/2007 23:05:20
Mensagens: 1065
Localização: Feira de Santana
Offline

Muita gente pode não concordar, mas acho que exceções checadas e não checadas um saco!!! Isso é uma das seguranças que o Java tentou criar (assim como não trabalhar com ponteiro), porém essa acho que não ajudou em nada.

sobre a citada acima (Data), bem...sugiro que usem Joda Time é a única coisa que vou comentar!!!
luistiagos
GUJ Expert
[Avatar]

Membro desde: 10/07/2006 10:37:23
Mensagens: 3161
Offline

sem duvidas a api de manipulação de dadas é a pior api feita no java q eu ja vi...




SCJP 1.5
SCJA 1.0
IBM DB2 Associate
[Email] [MSN]
bobmoe
GUJ Ranger
[Avatar]

Membro desde: 11/07/2006 20:45:48
Mensagens: 806
Localização: Sampa
Offline

Calendar e Date!!! Mexer com datas em java é horrível.

BOB - Roberto Nogueira - bobmoe.blogspot.com
[WWW] [MSN]
DaviPiala
Virtual Machine Man
[Avatar]
Membro desde: 17/08/2007 19:17:35
Mensagens: 598
Localização: São Paulo
Offline

API de datas é uma desgraça!

Eu fico revoltado com alguns nomes de metodos principalmente na api de servlets tipo parametros init do contexto.

This message was edited 1 time. Last update was at 27/06/2008 11:49:44


Si temi more regat
Efamima dove tore
Infata dio re
Infa lati plastire
eduveks
GUJ Ranger
[Avatar]

Membro desde: 19/04/2005 07:45:40
Mensagens: 831
Localização: Lisboa - Portugal
Offline

Bem uma recente foi na API de Scripting o ScriptEngineManager...

O javax.script.ScriptEngineManager serve para gerenciar os motores de script, como o próprio nome sugere, o problema é q ao registrar um engine tem q criar uma nova instancia e registrar nessa nova instancia o Engine, até ai blz, o problema é q ao perder a instancia desta classe, e se em outra altura do código vc instanciar a classe vc tem q carregar outra vez o Engine... o q é bem meio sem noção, se ela mantivesse registado todos os engines que vão sendo registrados seria muitoooo melhor... mas tb para resolver este problema é fácil, implementar uma classe q faz isto, que mantem uma instancia do ScriptEngineManager como static e ir sempre ai buscar, mas não é algo padronizado.

Até podiam ter feito um padrão parecido como nos JDBC Drivers.

Mas blz, ninguém morre por isto...

This message was edited 1 time. Last update was at 27/06/2008 12:23:45


http://www.cajuscript.org
http://eduveks.blogspot.com
[Email] [WWW]
ramilani12
GUJ Master
[Avatar]

Membro desde: 11/03/2005 01:23:30
Mensagens: 1944
Localização: Curitiba-PR
Offline

O tal do EJB 2.0/2.1 sem comentarios.

my delicious|follow me|linkedin
[Email] [ICQ]
eduveks
GUJ Ranger
[Avatar]

Membro desde: 19/04/2005 07:45:40
Mensagens: 831
Localização: Lisboa - Portugal
Offline

DaviPiala wrote:API de datas é uma desgraça!

Eu fico revoltado com alguns nomes de metodos principalmente na api de servlets tipo parametros init do contexto.


Falando em Servlets... doGet, doPost... são horriveis, pior impossível!

http://www.cajuscript.org
http://eduveks.blogspot.com
[Email] [WWW]
victorwss
JWizard
[Avatar]

Membro desde: 18/12/2007 14:46:00
Mensagens: 2409
Localização: São Paulo - SP
Offline

eduveks wrote:
DaviPiala wrote:API de datas é uma desgraça!

Eu fico revoltado com alguns nomes de metodos principalmente na api de servlets tipo parametros init do contexto.


Falando em Servlets... doGet, doPost... são horriveis, pior impossível!


Que tal SingleThreadModel?

Victor Williams Stafusa da Silva

Bacharel em Ciência da Computação - UFMT // Especialista em Desenvolvimento Java - CEFET/MT // Doutorando em Ciência da Computação - IME-USP
SCJP 6.0 - 19/12/2007 - PASS - 88% // SCWCD 5 - 17/05/2008 - PASS - 79% // SCJA - 09/09/2008 - PASS - 96% // SCSNI - 30/06/2009 - PASS - 68% // SCBCD 5 - 31/05/2010 - PASS - 95%
Próximos: SCJD (encalhado com o projeto), SCEA parte I (estudando). Algum dia desses: SCMAD, OCA, SCEA e SCDJWS.

Computação: uma ciência holística e esotérica!
E então veio Deus a terra e disse aos homens: Não dividireis por zero.
XML is a giant step in no direction at all. (Erik Naggum)
Arquitetura de sistemas: Eu prefiro ser essa metamorfose ambulante do que ter aquela velha opinião formada sobre tudo.
Diga não as drogas: Não use java.util.Vector.
Cuidado: Este usuário pode ter temperamento agressivo.

Always code as if the person who will maintain your code is a maniac serial killer that knows where you live.
I am the maniac serial killer that knows where you live who will maintain your code.


É impossível falar de CMMI (Capability Maturity Model Integration) sem saber o que é CIMM (Capability Im-Maturity Model).


Se você escreve "concerteza", "concerteza" você andou matando aulas de português.
[MSN]
maior_abandonado
JWizard
[Avatar]

Membro desde: 03/09/2007 11:30:08
Mensagens: 2694
Localização: sp
Offline

eduveks wrote:
DaviPiala wrote:API de datas é uma desgraça!

Eu fico revoltado com alguns nomes de metodos principalmente na api de servlets tipo parametros init do contexto.


Falando em Servlets... doGet, doPost... são horriveis, pior impossível!


kra eu so meio iniciante, desculpe minha ignorancia mais...pq???

espero ter ajudado...

falando nisso, caso seu problema tenha sido resolvido, edite o seu primeiro post e coloque um [RESOLVIDO] no titulo do tópico.
walterfelipe
JavaChild
[Avatar]

Membro desde: 08/01/2007 13:54:08
Mensagens: 136
Localização: Recife-PE
Offline

Concordo sobre a manipulação de datas. Mal d+

Walter Felipe
Apaixonado por estrada e motocicletas
Analista de Sistemas
Especialista em Engenharia de Software
SCJP - Sun Certified Java Programmer
SCWCD - Sun Certified Web Component Developer
http://www.cin.ufpe.br/~wfs
[WWW] [Yahoo!] [MSN]
Adriano Almeida
JavaEvangelist
[Avatar]

Membro desde: 13/09/2006 15:29:34
Mensagens: 386
Offline

para lançar uma NullPointerException programaticamente é bem estranho.

Twitter: @adrianoalmeida7
http://ahalmeida.com
http://blog.caelum.com.br

victorwss
JWizard
[Avatar]

Membro desde: 18/12/2007 14:46:00
Mensagens: 2409
Localização: São Paulo - SP
Offline

pafuncio wrote: para lançar uma NullPointerException programaticamente é bem estranho.


Tópico errado. Procure o tópico "EVGD: Códigos toscos"

Victor Williams Stafusa da Silva

Bacharel em Ciência da Computação - UFMT // Especialista em Desenvolvimento Java - CEFET/MT // Doutorando em Ciência da Computação - IME-USP
SCJP 6.0 - 19/12/2007 - PASS - 88% // SCWCD 5 - 17/05/2008 - PASS - 79% // SCJA - 09/09/2008 - PASS - 96% // SCSNI - 30/06/2009 - PASS - 68% // SCBCD 5 - 31/05/2010 - PASS - 95%
Próximos: SCJD (encalhado com o projeto), SCEA parte I (estudando). Algum dia desses: SCMAD, OCA, SCEA e SCDJWS.

Computação: uma ciência holística e esotérica!
E então veio Deus a terra e disse aos homens: Não dividireis por zero.
XML is a giant step in no direction at all. (Erik Naggum)
Arquitetura de sistemas: Eu prefiro ser essa metamorfose ambulante do que ter aquela velha opinião formada sobre tudo.
Diga não as drogas: Não use java.util.Vector.
Cuidado: Este usuário pode ter temperamento agressivo.

Always code as if the person who will maintain your code is a maniac serial killer that knows where you live.
I am the maniac serial killer that knows where you live who will maintain your code.


É impossível falar de CMMI (Capability Maturity Model Integration) sem saber o que é CIMM (Capability Im-Maturity Model).


Se você escreve "concerteza", "concerteza" você andou matando aulas de português.
[MSN]
eduveks
GUJ Ranger
[Avatar]

Membro desde: 19/04/2005 07:45:40
Mensagens: 831
Localização: Lisboa - Portugal
Offline

maior_abandonado wrote:
eduveks wrote:
DaviPiala wrote:API de datas é uma desgraça!

Eu fico revoltado com alguns nomes de metodos principalmente na api de servlets tipo parametros init do contexto.


Falando em Servlets... doGet, doPost... são horriveis, pior impossível!


kra eu so meio iniciante, desculpe minha ignorancia mais...pq???


ué... pra q tu vai querer dois métodos diferentes de inicialização para o Get e para o Post!?

veja como o netbeans resolve esta inutilidade:



Se com o request.getMethod() vc pode saber se é POST ou GET... então bastava um método e ai caso precisase de diferenciar o get do post é só fazer um if com o valor do request.getMethod()...

Ou seja... doGet e doPost além de não fazer sentido, sujam o código, um tapinha na orelha do cara q inventou isto!

Acho q só em Java q inventaram este conceito de GET e POST separados, como se fosse coisas independentes...

http://www.cajuscript.org
http://eduveks.blogspot.com
[Email] [WWW]
 
Índice dos Fóruns » Assuntos gerais (Off-topic)
Ir para:   
Powered by JForum 2.1.8 © JForum Team