Aqui podemos falar os métodos/Classes que imaginamos que a linguagem de programação JAVA deveria ter pra facilitar nossas vidas …
assim as vezes uma pessoa de boa fé ve e resolve criar eles de vez …!!!
Aqui podemos falar os métodos/Classes que imaginamos que a linguagem de programação JAVA deveria ter pra facilitar nossas vidas …
assim as vezes uma pessoa de boa fé ve e resolve criar eles de vez …!!!
Na minha opinião deveria ter um método ou uma classe chamada Conect()… onde vc chamava o método so com o nome do banco e passava o URL
e pronto … seria muito mais fácil pra todos …ao inves de ter q entrar com driver , fazer um DAO…etc …
ja teria tudo pronto … so entraria com o nome do banco e URl … e a classe fazia o resto
tipo:
Conect(MySql).URL(C:/Pasta/Banco_de _dados );
e dentro desse método ja existiria tudo que o usuário estiver precisado :
exe:
Conect(MySQl).Statement.ResultSet("selct * from Tabela" );
seria muito mais fácil ne !!!
Na minha opinião deveria ter um método ou uma classe chamada Conect()… onde vc chamava o método so com o nome do banco e passava o URL
e pronto … seria muito mais fácil pra todos …tipo:
Conect(MySql).URL(C:/Pasta/Banco_de _dados );e dentro desse método ja existiria tudo que o usuário estiver precisado :
exe:
Conect(MySQl).Statement.ResultSet("selct * from Tabela" );seria muito mais fácil ne !!!
isso já existe…
o nome é Hibernate…
:lol: :lol: :lol:
Hehehehe… eu sei …isso foi so um exe…e outra
aaaa mais nao e bem assim nao !!!
ou me expressei errado !!!..
queria uma coisa mais completa e simples …!!!
tipo so chamasse o método … e ja te desse as oposições de conexão possível …
o nome das tabelas e campos …
e a unica coisa era chamar o método com o nome do banco … e resto Alt + enter resolvia .!!!
hehehehe
e vc nao tem nem idéia de nenhum método ou classe nao ??
O método tryParse que existe no C#, que retorna além do boolean padrão, um (int, double, long, short etc) com o valor do parse para uma variável local, caso bem sucedido.
int valorInt;
int numeroRegistroNascimento = txtNumRegNasc.Text.Length > 0 && int.TryParse(txtNumRegNasc.Text, out valorInt) ? valorInt : -1;
O método tryParse que existe no C#, que retorna além do boolean padrão, um (int, double, long, short etc) com o valor do parse para uma variável local, caso bem sucedido.
int valorInt; int numeroRegistroNascimento = txtNumRegNasc.Text.Length > 0 && int.TryParse(txtNumRegNasc.Text, out valorInt) ? valorInt : -1;
neste caso…
true == 1 // TRUE
false == 0 // TRUE
tb seria divertido ^^
Date.today() + 1.year + 10.weeks + 2.day - 8.hours;
Date.today() + 1.year + 10.weeks + 2.day - 8.hours;
seria perfeito esse… rsrsrs
Date.today() + 1.year + 10.weeks + 2.day - 8.hours;
BOAAAA…!!
isso já existe…
o nome é Hibernate…
:lol: :lol: :lol:
Iniciei a mais ou menos duas semanas com JDBC, já havia escutado este termo Hibernate, mas não sabia o que queria dizer e nem como usar. Mas legal saber que se refere a facilitar com BD. 
isso já existe…
o nome é Hibernate…
:lol: :lol: :lol:Iniciei a mais ou menos duas semanas com JDBC, já havia escutado este termo Hibernate, mas não sabia o que queria dizer e nem como usar. Mas legal saber que se refere a facilitar com BD. :)
tem um tutorial bem feito aqui no GUJ
apesar de não usar annotations (q eu lembre)…
serve pra vc entender =]
Cara… tipo, você poderia ser a pessoa de boa fé e criar eles e apresentar pra comunidade sua solução…
assim as vezes uma pessoa de boa fé ve e resolve criar eles de vez ..!!!Cara... tipo, você poderia ser a pessoa de boa fé e criar eles e apresentar pra comunidade sua solução...
Nao tenho q deixar vcs quebrarem a cabeça !!!.... hehehe
meu sonho era conseguir fazer isso ..!!!
outro ...
ou um método que criasse documentos em TXT..
tipo:
Doc documento =new Doc();
Doc.add("Primeira linha ");
Doc.add("Segunda linha ");
Doc.add("Terceira linha ");
Doc.add("Quarta linha ");
tipo um List ...
Deveria ter a Classe BolaDeCristal
BolaDeCristal bola = new BolaDeCristal();
Daí sim eu vou conseguir entender o que o cliente me pede…
assim as vezes uma pessoa de boa fé ve e resolve criar eles de vez ..!!!Cara... tipo, você poderia ser a pessoa de boa fé e criar eles e apresentar pra comunidade sua solução...
Nao tenho q deixar vcs quebrarem a cabeça !!!.... hehehe
meu sonho era conseguir fazer isso ..!!!
outro ...
ou um método que criasse documentos em TXT..
tipo:
Doc documento =new Doc(); Doc.add("Primeira linha "); Doc.add("Segunda linha "); Doc.add("Terceira linha "); Doc.add("Quarta linha ");tipo um List ...
puxa vida.. vc esta com sorte hj, seus desejos se tornaram realidade!
BufferedWriter out = new BufferedWriter(new FileWriter("arquivo.txt"));
out.write("Primeira linha ");
out.write("Segunda linha ");
out.write("Terceira linha ");
out.write("Quarta linha ");
out.close();
puxa vida… vc esta com sorte hj, seus desejos se tornaram realidade!
BufferedWriter out = new BufferedWriter(new FileWriter("arquivo.txt")); out.write("Primeira linha "); out.write("Segunda linha "); out.write("Terceira linha "); out.write("Quarta linha "); out.close();
nao sabia q dava pra fazer assim…
pra mim tinha q fazer um lista antes e depois BufferedWriter passando pra ele a lista …!!!
essa e nova pra mim !!!
Um método até não; mas gostaria que a sintaxe me permitisse sobrecarregar operadores
public class IntPoint {
int x;
int y;
IntPoint(int x, int y) {
this.x=x;
this.y = y;
}
public int getY(){
return y;
}
public int getX(){
return x;
}
public IntPoint operator +(IntPoint a){
return new IntPoint(a.getX() +this.x, a.getY() + this.getY())
}
}
...
public void soma(){
IntPoint a = new IntPoint(10,10);
IntPoint b = new IntPoint(10,10);
IntPoint c = a+b // c = {x=20, y=20}
}
isso tem cara de linguagens script, mas seria mto louco, e me deu algumas ideias
Time t = 1.hour + 21.minutes;
Distance d = 53.kilometers + 2.miles + 852.meters + 5.yards;
Velocity v = d / t;
Acceleration a = v / 10.seconds;
Force f = 20.kilograms * 10.meterspersecond; // o mesmo q usar 'a'
teria q converter unidades de sistemas diferentes, como somar semanas com horas (exemplo do luiz), assim como somar jardas com metros
misturar unidades e criar outras, como a aceleração e força
lançar exceções para medidas “incompativeis” e operações absurdas
talvez usar os simbolos das unidades ao invés dos nomes para as unidades que fazem parte do s.i.
uma forma simples de declarar um tipo, pois se tem a unidaded em singular e plural
ñ sei ate q ponto seria interessante, preisariaria amadurecer mais essa ideia
isso tem cara de linguagens script, mas seria mto louco, e me deu algumas ideias
Time t = 1.hour + 21.minutes;
Distance d = 53.kilometers + 2.miles + 852.meters + 5.yards;
Velocity v = d / t;
Acceleration a = v / 10.seconds;
Force f = 20.kilograms + 10.meterspersecond; // o mesmo q usar 'a'
teria q converter unidades de sistemas diferentes, como somar semanas com horas (exemplo do luiz), assim como somar jardas com metros
misturar unidades e criar outras, como a aceleração e força
lançar exceções para medidas “incompativeis” e operações absurdas
talvez usar os simbolos das unidades ao invés dos nomes para as unidades que fazem parte do s.i.
uma forma simples de declarar um tipo, pois se tem a unidaded em singular e plural
ñ sei ate q ponto seria interessante, preisariaria amadurecer mais essa ideia
com sobrecarga de operadores daria pra fazer isso…
ia ser muito legal…
mas em Java vamos ficar soh na vontade mesmo =[
foda q ñ seria apenas acrescentar a sobrecarga deoperadores, mas tb precisaria criar toda uma forma de se declarar as unidades de medida, criar novas palavras reservadas, novas sintaxes (açucaradas ou ñ), e isso td pode acabar indo contra o propósito da linguagem, em outras palavras “vai bagunça o coreto”
dentro das regras atuais da linguagem java existe a excelente joda time que faz oq o luiz aguiar mencionou, acho q seria mais interessante ter essas coisas implementadas de acordo como a linguagem é, e ter sintaxes extendidas em liguagens de script que ultilizariam essas bibliotecas, mantendo assim, opções ao desenvolvedores
acho q essa ideia poderia ser levada pra frente, cadê o povo do cajuscript? talvez fosse posssível extender a sua sintaxe pra isso, já que foi criada pra isso, ou talvez pensar em algo para outras linguagens mais populares como groovy, jruby, scala, clojure etc.
dentro das regras atuais da linguagem java existe a excelente joda time que faz oq o luiz aguiar mencionou
[]s
Algumas APIs simplicistas e suporte a literais como estão fazendo com o Visage 
Date.today() + 1.year + 10.weeks + 2.day - 8.hours;
Não seria isso ?
Calendar objeto = Calendar.getInstance();
objeto.add(Calendar.YEAR, 1);
objeto.add(Calendar.WEEK_OF_YEAR, 10);
objeto.add(Calendar.DAY_OF_YEAR, 2);
objeto.add(Calendar.HOUR_OF_DAY, -8);
Eu gostaria que a API de criteria do hibernate fosse assim:
criteria.Where(obj => obj.Idade > 18).toList();
Usando Lambda e Propriedades assim, parecido com as queries LINQ.
dentro das regras atuais da linguagem java existe a excelente joda time que faz oq o luiz aguiar mencionou
O joda-time tem melhorias bem legais compradas a API padrão do Java que realmente é um lixo completo, mas ainda não tem essas “mágicas” como em lingagens scripts como Ruby, são coisinhas bestas que depois que se usa uma vez, é difícil viver sem depois.[]s
Verdade, não é à toa que em um dos projetos pessoais meu, eu a utilizei fazendo inúmeras alterações. Mas mesmo assim, valeu a pena.
Uma classe decente pra trabalhar com datas é um pedido antigo dos usuários, houveram várias JSRs sobre isso, mas a Sun nunca chegou num consenso.
Outra coisa que gostaria é uma classe própria pra manipular dinheiro. E uma classe pra se criar serviços ou daemons, é um absurdo o Java até hoje não possuir uma nativa.
A última que eu sempre quis, foi atendida no Java 6, uma classe pra criar e manipular ícones da taskbar.
"May the Scala be with you" :lol:
hehe, vendo alguns "pedidos" desta ultima pagina, todos me remeteram a coisas que vi em scala, ou em frameworks scala, como lift, vejam algumas facilidades do Lift: Lift Utilities:10 seconds 1
1 hour 2
1. Results in net.liftweb.util.Helpers.TimeSpan = 10 seconds
2. Results in net.liftweb.util.Helpers.TimeSpan = 1 hour
md5("hello world") 1
1. Results in a java.lang.String with the value XrY7u+Ae7tCTyyK7j1rNww==
User.find(By(User.email, "[email removido]")) 1
User.find(By(User.birthday, new Date("Jan 4, 1975"))) 2
case class IntPoint(x: Int, y: Int) {
def +(a: IntPoint) = IntPoint(a.x + x, a.y + y)
}
val a = IntPoint(1, 2)
val b = IntPoint(2, 3)
val c = a+b
//resultado:
c: IntPoint = IntPoint(3,5)
Estes são alguns exemplo que me lembrei que ja vi em meus estudos, isso pq ainda me considero bem leigo em Scala.
Realmente quando a linguagem facilita, as possibilidades são muitas!
O problema do Java é o mesmo de qualquer outra linguagem derivada do Algol (incluindo C++, Ruby, Python, etc). A sintaxe é fixa, e você é limitado pelo que o criador achou que seria útil. Geralmente quando algum usuário de Ruby cita “metaprogramação” ele não está se referindo a definir novas palavras reservadas, mas apenas a poder alterar objetos em tempo de execução, adicionando-se novos métodos e tal. O que adiciona um nível de flexibilidade a um custo maior em tempo de execução e de segurança.
Talvez haja alguma forma de se tratar em um linguagem como Java a possibilidade de se incluir novas construções sintáticas, como por exemplo receber uma árvore sintática e retornar outra que será transformada em código, mas eu não conheço. Eu não consigo imaginar como isso seria “fácil” do ponto de vista do desenvolvedor.
Linguagens derivadas do Lisp permitem esse tipo de personalização porque o próprio código já é uma árvore. Portanto transformar árvores em tempo de compilação é bem simples. Em termos práticos não há limites para o que o desenvolvedor possa fazer, pois ele pode extender a linguagem como bem entender.
Por exemplo, em Lisp se você quisesse integrar AOP bastaria extender a linguagem para utilizá-la. A mesma coisa se quisesse uma sintaxe especial para operações com DB ou qualquer outra coisa. A linguagem não te limita.
Um
"minhaString".reverse();
seria legal 
Um"minhaString".reverse();seria legal :)
po T-Bag, não é tão complicado vai :lol:
StringUtils.reverse("minhaString");
O problema do Java é o mesmo de qualquer outra linguagem derivada do Algol (incluindo C++, Ruby, Python, etc). A sintaxe é fixa, e você é limitado pelo que o criador achou que seria útil. Geralmente quando algum usuário de Ruby cita “metaprogramação” ele não está se referindo a definir novas palavras reservadas, mas apenas a poder alterar objetos em tempo de execução, adicionando-se novos métodos e tal. O que adiciona um nível de flexibilidade a um custo maior em tempo de execução e de segurança.
Talvez haja alguma forma de se tratar em um linguagem como Java a possibilidade de se incluir novas construções sintáticas, como por exemplo receber uma árvore sintática e retornar outra que será transformada em código, mas eu não conheço. Eu não consigo imaginar como isso seria “fácil” do ponto de vista do desenvolvedor.
Linguagens derivadas do Lisp permitem esse tipo de personalização porque o próprio código já é uma árvore. Portanto transformar árvores em tempo de compilação é bem simples. Em termos práticos não há limites para o que o desenvolvedor possa fazer, pois ele pode extender a linguagem como bem entender.
Por exemplo, em Lisp se você quisesse integrar AOP bastaria extender a linguagem para utilizá-la. A mesma coisa se quisesse uma sintaxe especial para operações com DB ou qualquer outra coisa. A linguagem não te limita.
O preprocessador da linguagem c ou da c++ te permite fazer isso. Você pode construir qualquer palavra chave com ele.
Nesse exemplo existe a implementação de um “foreach” primitivo.
http://www.cakoose.com/wiki/c_preprocessor_abuse
A linguagem c e a c++ são linguagens de sistema(linguagens para criar compiladores). Existe uma moderna que também é de sistema, a linguagem d.
O JAVA tem algum aplicativo para instalar em servidores web para que possa rodar classes em JAVA ??
tipo uma maquina virtual ou um TomCat da vida ??
O JAVA tem algum aplicativo para instalar em servidores web para que possa rodar classes em JAVA ??tipo uma maquina virtual ou um TomCat da vida ??
Você quer dizer, algo como Java WebStart ?
[]'s
Nao sei … por isso q perguntei nunca ouvi dizer que o Sun tinha feito algo assim …
pra mim isso e novo vou pesquisar aqui…!!!
Muito interessante, em groovy é um pouco diferente, pois se tem o seguinte mapeamento:
a.plus(b)
a.minus(b)
a.multiply(b)
/ a.divide(b)
% a.modulo(b)
| a.or(b)
& a.and(b)
a[b] a.getAt(b)
a << b a.leftShift(b)
Ou seja, quando você quser fazer sobrecarga de operadores, você implementa um dos métodos correspondentes. :lol:
Isso é o equivalente ao código java se este suportasse sobrecarga de operadores. C# e C++ fazem isso muito bem.
poderia até sobrecarregar o operador << para um stream para algum arquivo ou outra saída.
ex:
File x = new File("c:\teste.mtxt");
x << "teste para um arquivo....";
x.close();
Esse tipo de sobrecarga ajeita a vida de qualquer pessoa.
Outra coisa que julgaria importante seria uma espécie de “delegates” turbinados que existem no Qt chamado Signal. Ele permite implementar o padrão observer de uma maneira muito simples.
connect(slider, SIGNAL(value(int)), progressbar, SLOT(setValue(int)));
Você não precisa implementar as interfaces porque o compilador já entende e cria em tempo de compilação. Fica muito fácil atualizar componentes da interface, além de facilitar a escrita de componentes não somente para interface gráfica, mas qualquer tipo deles.
[quote=alucardeck]
Um"minhaString".reverse();seria legal :)
po T-Bag, não é tão complicado vai :lol:
StringUtils.reverse("minhaString");
Pois é, mas fica meio procedural dessa maneira ^^
[quote=j0nny]
Um"minhaString".reverse();seria legal :)
po T-Bag, não é tão complicado vai :lol:
StringUtils.reverse("minhaString");Pois é, mas fica meio procedural dessa maneira ^^
poderia ter um conversor mais pratico tambem
int Numero=95;
String Numero2="";
Float Numero3;
Convert Numero2.String(Numero);
Convert Numero3.Float(Numero2);
Convert Numero2.Int(Numero3);
Numero= 95
Numero2= "95"
Numero3=95,00
e podendo formatar os valores…
por ex duas cassas depois da virgola , sem casas depois da virgola, 0 a esquerda …
por exe um numero real ou um string convertida pra int com 0 a esquerda o 0 permanecesse
Este faz tempo que queria nativo na linguagem, de uma maneira simples, tipo:
"123456".leftPad("0",5) //[telefone removido]
"123456".rightPad("0",5) //[telefone removido]
Este faz tempo que queria nativo na linguagem, de uma maneira simples, tipo:
"123456".leftPad("0",5) //[telefone removido] "123456".rightPad("0",5) //[telefone removido]
Boa tambem…!!!
hum, acho q vc ta confundindo as coisas, ñ me parece uma boa misturar conversão com formatação, e ambas estão mto bem implementadas
em lua tem um sistema parecido, porém são menos operadores possiveis, mas por questão de gosto, eu prefiro as regras de sobrecarga de operadores do c++, mto parecido com o mostrado pelo fredferrao na linguagem scala - sintaxe diferente, mas lógica mto similar
lembrei de uma coisa q eu já senti falta em java, foi a tipagem padrão de um tipo genérico, e.g.:
class Classe<T = String> { ... }
se vc nao tipar o objeto ao instanciá-lo, então T será do tipo String e ñ Object. é algo q ñ fez mta falta, nem faz, mas pode ser interessante em alguns poucos casos
t+
poderia existir um metodo de teste tambem ..
que preenchesse variareis e apontasse possíveis erros de lógica tipo um teste de caixa branca ou preta estou na duvida de qual e..
tipo
Test(return resposta){
// codigo fonte aqui ...
}
pra testar linhas de código ... ficaria mais fácil de achar os erros e de testar programas
Faltou o método clone estar implementado. :twisted:
O problema do Java é o mesmo de qualquer outra linguagem derivada do Algol (incluindo C++, Ruby, Python, etc). A sintaxe é fixa, e você é limitado pelo que o criador achou que seria útil. Geralmente quando algum usuário de Ruby cita “metaprogramação” ele não está se referindo a definir novas palavras reservadas, mas apenas a poder alterar objetos em tempo de execução, adicionando-se novos métodos e tal. O que adiciona um nível de flexibilidade a um custo maior em tempo de execução e de segurança.
Talvez haja alguma forma de se tratar em um linguagem como Java a possibilidade de se incluir novas construções sintáticas, como por exemplo receber uma árvore sintática e retornar outra que será transformada em código, mas eu não conheço. Eu não consigo imaginar como isso seria “fácil” do ponto de vista do desenvolvedor.
Linguagens derivadas do Lisp permitem esse tipo de personalização porque o próprio código já é uma árvore. Portanto transformar árvores em tempo de compilação é bem simples. Em termos práticos não há limites para o que o desenvolvedor possa fazer, pois ele pode extender a linguagem como bem entender.
Por exemplo, em Lisp se você quisesse integrar AOP bastaria extender a linguagem para utilizá-la. A mesma coisa se quisesse uma sintaxe especial para operações com DB ou qualquer outra coisa. A linguagem não te limita.
O preprocessador da linguagem c ou da c++ te permite fazer isso. Você pode construir qualquer palavra chave com ele.
Nesse exemplo existe a implementação de um “foreach” primitivo.
http://www.cakoose.com/wiki/c_preprocessor_abuse
A linguagem c e a c++ são linguagens de sistema(linguagens para criar compiladores). Existe uma moderna que também é de sistema, a linguagem d.
De uma forma primitiva, sim. Mas Lisp é muito mais poderoso. O pré-processador do C é nada mais do que um substituidor de texto, pura e simplesmente.
O pré-processador opera em nível de string de caracteres, um sistema Lisp opera em nível de representação. A principal diferença é que um pré-processador é muito mais limitado e tende tornar o código ilegível, em Lisp as macros são simples funções assim como quaisquer outras, dando assim maior flexibilidade sem afetar a legibilidade.
Comparar um pré-processador com um sistema Lisp é como comparar uma bicicleta com uma moto. Ambos são meios de transporte, mas há uma diferença enorme entre eles.
Eee isso ai …!!!
A única coisa que eu queria a mais no java é o operador ?
os cara fazem 01239890128390182390123198203 jsr para novas coisas e eu continuo tendo que fazer
if(algumaCoisa != null && algumaCoisa.algo())
//mais coisas aqui
muito mais simples
if(algumaCoisa?.algo())
//mais coisas aqui
infelizmente não foi aprovado 
Como já falei aqui outras vezes, ficaria feliz com um modificador “project” onde o método ou classe seria pública somente dentro do projeto/jar.
Me incomoda muito quando desenvolvo/adiciono um framework em um projeto e posso importar classes das quais nem deveria saber a existência. O public do java é realmente público e os modificadores default e protected se limitam a apenas o pacote.
Como no geral num projeto não dá pra deixar todas as classes em um pacote só, pois fica uma “zona”, acabamos usando exageradamente o public.
poderia existir um metodo de teste tambem .. que preenchesse variareis e apontasse possíveis erros de lógica tipo um teste de caixa branca ou preta estou na duvida de qual e..tipo
Test(return resposta){ // codigo fonte aqui ... }pra testar linhas de código ... ficaria mais fácil de achar os erros e de testar programas
JUNIT!?
ñ sou contra mas tb ñ sou a favor, penso sobre isso o mesmo que penso sobre o operador + e =+ na classe String
uma coisa interessante q me lembrei agora, seria a propagação do atributo final, ele só vale para a variável que é declarada, e quando se trata de um objeto este pode ser internamente modificado, um exemplo classico é um vetor de zeros ou uma matriz identidade
public static final Vetor ZERO = ...
public static final Matrz IDENTIDADE = ...
tanto a classe Vetor quanto Matriz são mutavels, tem getters e setters além de operações matematicas que as alteram, claro q ninguem vai querer “estragar” a biblioteca alterando os valores de Vetor.ZERO e Matrz.IDENTIDADE, mas fica dependendo do senso de noçao de quem futuramente irá usar
a ideia do atributo project, encaixa na mesma ideia acima, mas sei lá tenho uma certa resistencia, mas é uma questao de conceito, por exemplo eu tb ñ gosto de sermos obrigados a checar algumas exceções, mas td bem, dá pra conviver com isso
o titulo do topico pergunta quais metodos e classes, ja estamos falando de recursos e (possiveis) melhorias em geral hehe…
A única coisa que eu queria a mais no java é o operador ?
os cara fazem 01239890128390182390123198203 jsr para novas coisas e eu continuo tendo que fazerif(algumaCoisa != null && algumaCoisa.algo()) //mais coisas aquimuito mais simples
if(algumaCoisa?.algo()) //mais coisas aquiinfelizmente não foi aprovado :(
Uai, mas isso aqui já não funciona?
x>y? System.out.println(x);
edit: Entendi o que você quis dizer com a outra expressão. Ignora meu post.