Por que não?
[quote=pcalcado]Java é uma linguagem muito legal e eu acho que hoje o que ela precisa:
- Continuations
- Reflection mais bombada
- Uma API[/quote]
Não entendi essa “uma API”
[quote=Maurício Linhares][quote=pcalcado]Java é uma linguagem muito legal e eu acho que hoje o que ela precisa:
- Continuations
- Reflection mais bombada
- Uma API[/quote]
Não entendi essa “uma API” :P[/quote]
Ou é uma crítica sutil à API existente ou faltou alguma coisa no post do Shoes. :lol:
Quanto a Regexp como literal, eu entendo a necessidade se pensarmos que é bobagem a expressão matcher ser uma String (que usa char , onde a barra invertida é o caracter de escape ). Escapar o escape é algo um tanto quanto idiota e que dificulta o uso de expressões regulares prontas por aí, você precisa ficar adaptando os escapes.
Claro, pode-se dizer que isso não é muito necessário, eu diria que é algo tão necessário quanto leitura nativa de XML. Ou seja, não é necessário, mas ajuda.
Pelo menos o Commons Lang, IO e Collections eu acho que todos deveriam conhecer.
[quote=#@®®¡$][quote=Maurício Linhares][quote=pcalcado]Java é uma linguagem muito legal e eu acho que hoje o que ela precisa:
- Continuations
- Reflection mais bombada
- Uma API[/quote]
Não entendi essa “uma API” :P[/quote]
Ou é uma crítica sutil à API existente ou faltou alguma coisa no post do Shoes. :lol:[/quote]
:lol:
To meio devagar mesmo hoje :roll:
Tem coisas que você realmente tem vontade de dar um tiro no computador, como Calendar, mas isso são coisas que agente não tem mais pra onde correr e a Sun não tá muito interessada em fazer mudanças profundas nessas áreas né.
Eu queria dizer uma API ‘de guerra’ mais prática.
Eu posso ter File exatamente como ta hoje, mas eu poderia ter um outro pacote (como o javap do Saoj mas com um nome menos feio ) com metodos mais praticos em vez de buffered reader.
Acho que foi o sergio mesmo que um dia disse que esses metodos ‘praticos’ podem ser implementados por nos. Sim, podem, mas eu nao quero inventar minha propria biblioteca de IO para uma cosia que deveria ser padronizada.
Foi mal, gente, hoje tá foda, me tratem como café-com-leite.
java.io é só um exemplo…[/quote]
Exato, por isso que a Commons tem 32 módulos.[/quote]
É o que eu disse, essa coisa de ‘pragmático’ não é exatamente o ‘goal’ do Commons, além de ele ser fragmentado como o próprio java.io…
Não estou ignorando que o Commons tenha muitas coisas legais, se eu pudesse pôr em prática agora a idéia acharia legal considerar o uso do Commons pra isso…
A nova bilbioteca não proveria funcionalidades novas, só uma camada de abstração. O post que colocaram outro dia tem um link que acho que explica exatamente o que eu gostaria de ter:
http://blastemica.blogspot.com/2006/03/apis-que-no-mordem.html
É aquela coisa, se o pessoal do Hibernate fosse esperar iniciativa da Sun talvez o EJB 3 nem existisse…
Entre abrir um editor e começar a digitar código ou um e-mail para o JCP e esperar alguma coisa, acho que a primeira opção está mais ao alcance…
Ter 32 módulos não é uma coisa ruim, o Commons não é para ser utilizado todo (Vc utilizaria o Deamons e CLI em casos muuuito especificos por exêmplo).
Eu acho muito útil os IO, Lang e collection, e de certa forma pragmatigo sim. Mas denovo, cai no problema que de que cada um tem um jeito diferente de fazer as cousas.
Tipo, acho bem fácil fazer um
Ou então os collect, find, transformer, predicate do CollectionUtils. Tudo bem, não é nenhum groovy nem ruby mas é bem legal também.
Minha única critica é a falta de suporte ao Java 5 ainda pelo trio commons (lang, io e collections).
obs: Eu usei static imports né.
[quote=renato3110]É o que eu disse, essa coisa de ‘pragmático’ não é exatamente o ‘goal’ do Commons, além de ele ser fragmentado como o próprio java.io…
Não estou ignorando que o Commons tenha muitas coisas legais, se eu pudesse pôr em prática agora a idéia acharia legal considerar o uso do Commons pra isso…
A nova bilbioteca não proveria funcionalidades novas, só uma camada de abstração. O post que colocaram outro dia tem um link que acho que explica exatamente o que eu gostaria de ter:
http://blastemica.blogspot.com/2006/03/apis-que-no-mordem.html
http://www.guj.com.br/posts/list/30192.java[/quote]
Mas é exatamente disso que estou falando.
for( Object s : readLines( new File( "arquivoTextoDeMultiplasLinhas.txt" ), null )
System.out.println( s );
Edit: Putz, é mesmo, tem static imports. Editei meu código.
Re-Edit: Então, mas o meu próprio exemplo mostra um probleminha da FileUtils para a qual poderia ser proposta uma abstração: a possibilidade de eu mandar uma String diretamente em vez de um File e a possibilidade de eu não mandar o encoding. Ok, aumenta o número de métodos? Aumenta, mas aumenta a naturalidade.
[quote=pcalcado]Eu queria dizer uma API ‘de guerra’ mais prática.
Eu posso ter File exatamente como ta hoje, mas eu poderia ter um outro pacote (como o javap do Saoj mas com um nome menos feio ) com metodos mais praticos em vez de buffered reader.
Acho que foi o sergio mesmo que um dia disse que esses metodos ‘praticos’ podem ser implementados por nos. Sim, podem, mas eu nao quero inventar minha propria biblioteca de IO para uma cosia que deveria ser padronizada.[/quote]
Groovy?
[size=7]Editado para acertar o nome da linguagem hehe… to dormindo tb[/size]
[quote=#@®®¡$]
for( Object s : readLines( new File( "arquivoTextoDeMultiplasLinhas.txt" ), null )
System.out.println( s );
Edit: Putz, é mesmo, tem static imports. Editei meu código.
Re-Edit: Então, mas o meu próprio exemplo mostra um probleminha da FileUtils para a qual poderia ser proposta uma abstração: a possibilidade de eu mandar uma String diretamente em vez de um File e a possibilidade de eu não mandar o encoding. Ok, aumenta o número de métodos? Aumenta, mas aumenta a naturalidade.[/quote]
Legal essas sugestões…
Lá vai as minhas:
Ou caso você precise fazer algum processamento com as linhas:
for (String s : readLines("arquivo.txt" ))
Console.puts(bagulha(s));
o FileUtil.print eu acho meio inutil… (ateh no dos tem o type para isso)
a menos, eh claro, q vc consiga fazer algo do tipo:
FileUtil.copy (source, destination), onde destination poderia ser um OutputStream ou sei lah…
mas mesmo isso eh um tanto inutil acho…
pensando bem, o copy acho q tem neh?
Serve isso aqui? http://jakarta.apache.org/commons/io/api-release/org/apache/commons/io/FileUtils.html#copyFile(java.io.File,%20java.io.File)
Eu gostaria que Java ou Ruby tivesse um redirecionador como o shell, o Pipe.
Também gostaria que, colocassemos um ‘&’ no final de uma linha ou bloco isto poderia ser executado em Background.
Sem falar nos operadores && e || ou ‘try catch’ genericos:
metodo && echo ‘funfa’ || echo ‘nao funfa’
Agora uma coisa que mata a pau seria um switch de verdade
case variavel in
valor1|valor2|[algumaexpressaoregular]) sysout “lalala” ;;
*) systou “default” ;;
esac
Ah, seria muito bom se java suportasse calculo com notação polonesa reversa (como em Forth):
A = 2 3 - 5 6 - *;
Delirios de um programador Shell :oops:
Em ruby, tem - da uma lida no blog do why the lucky stiff
Io tem isso, fazer algo do genero em ruby nao eh mto difiicl - mas eh perigoso.
[quote=peczenyj]Sem falar nos operadores && e || ou ‘try catch’ genericos:
metodo && echo ‘funfa’ || echo ‘nao funfa’[/quote]
Isso tambem tem em ruby.
[quote=peczenyj]Agora uma coisa que mata a pau seria um switch de verdade
case variavel in
valor1|valor2|[algumaexpressaoregular]) sysout “lalala” ;;
*) systou “default” ;;
esac[/quote]
Tambem tem em ruby.
[quote=peczenyj]Ah, seria muito bom se java suportasse calculo com notação polonesa reversa (como em Forth):
A = 2 3 - 5 6 - *;[/quote]
STEP AWAY FROM THE KEYBOARD. REPEAT: STEP AWAY FROM THE KEYBOARD.
[quote=peczenyj] Ah, seria muito bom se java suportasse calculo com notação polonesa reversa (como em Forth):
A = 2 3 - 5 6 - *; [/quote]
:shock: