PHP talvez tenha que se dizer o novo acronimo LAMP
Vi que Rails é como se fosse um super code maker, faz a engenharia reversa do database.
Gera um CRUD das suas tabelas do mysql no modelo MVC
ou seja, gera um POJO o controle e a visão (o formulário para inserir editar e lista a tabela).
O que de fato reduz um bocado de trabalho.
Ainda nao olhei RoR a fundo nao, agora, PHP jpa trabalhei um bocado com ele…
e não acho q ele põe “medo” em JAVA, mas nem de longeeee…e tb não concordo que java vai acabar por causa de RoR tb nao…
Já tem um booom tempo q RoR tá ai no mercado e somente “agora” que está acontecendo esse auvorosso emcima da linguagem…
E durante esse tempo, a comunidade JAVA, tb, ganhou vários adeptos…
Muitos que postaram aqui “contra” o java, um dia idolatravam a linguagem. Tá certo que devemos nos adaptar às novas tecnologias e escolher a que melhor se encaixa em nosso perfil.
“Ah, Rails é um ótimo framework para Ruby, faz engenharia reversa do banco e etc e etc…”
Alguem ja ouviu falar do CakePHP - framework MVC para PHP ??
Então, é mto bom tb… tem scaffolding, reconhece as tbls se vc manter os mesmos nomes…Entao por que a comparação JAVA e RoR?!
nao sei o quanto RoR é melhor do que PHP + CakePHP - por exemplo, pois nunca usei RoR, mas acho q esse povo q está “agarrado” com RoR esqueceu que JAVA é uma ótimo lingaguem e a cada dia ganha novos adeptos tb…e, se fosse tão ruim assim, as empresas ja estariam dando um jeito de aos poucos irem migrando para RoR, e não é o q vejo em agencias de empregos na web…
Ruby é a linguagem e Rails é o framework,
o qual parece com um tal de webwork, com ele vc faz a engenharia reversa do banco e escreve o teu CRUD com hibernate e tals
Agora fui olhar mais a fundo a linguagem, pois vi que o framework Rails é bom, mas Java possui equivalentes e se somar tudo Java ganha, com uma curva de aprendizado maior claro.
Características da linguagem Ruby:
Nem fraca nem fortemente tipada -> Prefiro Java
Herança múltipla -> resolveram esse problema, mas não captei direito como
IO mais intuitiva -> realmente o IO padrão do Java é meio estranho
Alterar operadores -> legal, sempre quis alterar o operador == de string no java
Bom possui muitas facilidades das linguagens de tipagem fraca, como declaração super fácil.
Ex: em uma lista vc coloca inteiro, string, objetos, vetores, etc.
E também bagunça mais fácil, no meu ponto de vista.
possui tratamento de erro try catch porém com outra sintaxe,
prefiro try catch que é igual a php, javascript, etc.
porém o deles tem mais um argumento chamado retry
o que pra qualquer um que saiba fazer um loop não é nenhuma grande vantagem!
É o Ruby está aí e mais parece uma grande jogada de marketing do que necessariamente uma revolução.
Smalltalk (e Ruby) não é uma linguagem orientada a objetos? O que este tem de paradigma funcional?
[/quote]
A ta, pelo que andei pesquisando nao sao paradigmas excludentes ne…
Aproveitando a oportunidade… alguem pode indicar alguma referencia sobre esses diferentes paradigmas? Atualmente estou procurando estudar alguma coisa diferente de java e acredito que conhecendo bem os diferentes tipos de linguagens eu poderia tomar uma decisão que nao fosse baseada apenas em hype.
[quote]
E parece que você precisa pesquisar mais antes de tirar conclusões em público…[/quote]
Cara, não sei se vc reparou mas estou pesquisando, e como todos, estamos criticando e chegando a conclusões que agradam ou não.
Mixins é para fazer o que? Qual o objetivo?
Entonces não sei como se chama herdar características de mais de uma classe…
Colocar vários tipos em uma lista não é tão simples quanto vc está falando.
Talvez só colocar, mas depois fazer um tratamento é outra coisa, precisa de interfaces, etc.
Não vi ainda o Hibernate escrever formulários e métodos de controle, desculpe a minha falta de pesquisa
[quote=fabioissamu]Mixins é para fazer o que? Qual o objetivo?
Entonces não sei como se chama herdar características de mais de uma classe…[/quote]
Herdar características de mais de uma classe? Herança!
Um objeto como um Integer em Java herda de Number e Object. Um Mixins são um modo de se conseguir algo parecido com o que herança multipla faz, mas mixins não fazem herança múltipla.
[quote=fabioissamu]Colocar vários tipos em uma lista não é tão simples quanto vc está falando.
Talvez só colocar, mas depois fazer um tratamento é outra coisa, precisa de interfaces, etc.[/quote]
Não foi isso que você disse… “Ex: em uma lista vc coloca inteiro, string, objetos, vetores, etc.”
Heim?
Acho que é melhor você ir descobrir o que é o “tal de webwork” antes de começar a falar dele. E o Hibernate também.
[quote=fabioissamu]será que alguém pode me dizer como funciona o tal de mixins?
Realmente boiei nessa parte do Ruby[/quote]
Trazendo pro mundo Java, um mixin seria algo como uma interface que tem uma implementação (na verdade, é até possível de se fazer isso em Java -> http://ghostoffreedom.blogsome.com/heranca-multipla-em-java/ ). Pra entender melhor o que é isso o melhor a se fazer é estudar Ruby e ver aonde e como se utilizam essas coisas.
Esse movimento que tenta desbancar java como linguagem mainstream revela um receio e o que algumas pessoas realmente adoram do java…
Eu gosto de programar em java e acho que isso ainda pagara meu salario por muitos anos. Mas e quando ela deixar de ser viavel comercialmente? ainda tera a admiracao de todas essas pessoas? Este é o momento que ela acabaara pra você?
Portanto caro rodrigo lima, se sua mensagem foi realmente pra mim, por favor, me inclusa fora desse movimento passional… eu programo em java ha uns 6 anos e atualmente apenas quero conhecer algo novo para brincar nas horas vagas… algo que em breve terei de sobra.
[quote=Maurício Linhares]
Um objeto como um Integer em Java herda de Number e Object. Um Mixins são um modo de se conseguir algo parecido com o que herança multipla faz, mas mixins não fazem herança múltipla.[/quote]
Como não? Poder implementar várias “interfaces com implementação” é herança múltipla!
Li seu post ali atrás e você aparentemente coloca C e C++ no mesmo balaio.
As duas são linguagens radicalmente diferentes, tanto no que se propõe, quanto na forma de programar, quanto nos paradigmas que implementam e no tipo de aplicações que cobrem.
[quote=ViniGodoy][quote=Maurício Linhares]
Um objeto como um Integer em Java herda de Number e Object. Um Mixins são um modo de se conseguir algo parecido com o que herança multipla faz, mas mixins não fazem herança múltipla.[/quote]
Como não? Poder implementar várias “interfaces com implementação” é herança múltipla![/quote]
O relacionamento de é um é completamente diferente de um relacionamento de tem um. Quando você usa mixins você não está dizendo que é um mas que você usa um mixin, não se herda de mixins, você inclui mixins nos seus objetos.