:XD: A metaprogramação à qual me refiro é aquela onde criamos construções que definirão elementos no nosso código. Uma maneira de “criar” uma linguagem para resolver problemas (DSL) e não se repetir (DRY).Esse scaffold permite que nós, desenvolvedores, tenhamos o código rodando de maneira mais rápida e, a medida do tempo, podemos trabalhar substituindo o scaffold por nosso código.
:XD: Ruby possui a maioria dos aspectos necessários à metaprogramação: é dinâmica, os elementos estão abertos a mudanças (Mixins), tem blocos de código (Closures, Code Blocks) que permitem definir novas estruturas de controle e também tem sintaxe simples, enxuta, expressiva e legível.
:XD: Em Ruby tudo são objetos, e classes são um tipo especial de objeto a diferença é que podem conter métodos, métodos não são armazenados em objetos mas sim em suas respectivas classes, objetos armazenam variáveis de instância. Ainda assim podemos criar métodos particulares a um objeto que não afetam as outras
instâncias.
:XD: GeradoresRails faz uso de refletionem tempo de execução e ‘metaprogramação’ o que elimina grande parte do código que normalmente é necessário em uma aplicação tradicional. A utilização dos geradores do Rails permite que esse código ‘burocrático’ (porém necessário!) seja feito pelo Rails, enquanto você se preocupa com as regras de negócio efetivamente(que é o mais importante!).
:XD: MVC Rails é um framework MVC (model, view, controller) que permite a criação de aplicações de modo descomplicado com todas as camadas integradas de maneira transparente. Rails permite a criação de aplicações web ?por completo?, ao contrário de outros frameworks que necessitam ‘complementos’ para uma solução completa (por exemplo, um desenvolvedor Java pode precisar de Hibernate, Struts, Tiles, JSF, … para criar uma aplicação MVC completa).
Porque o moderador louds não questionou o que Postei em:
Monkeypatching is Destroying Ruby[size=18] [/size]
Escrito por [color=blue]Louds (Moderador GUJ)[/color]
" Ruby tem duas coisas que melam a vida de quem quer fazer[color=red] metaprogramação mais hardcode[/color]. Não existe como sobrescrever o mecanismo de resolução de nomes e tão pouco como definir escopos no qual alterações a classes acontecem."
[color=blue]
Questionei o que ele disse conforme exposto acima, e vocês preferiram apagar, que atitude foi essa !!!
…Estou certo que isso não foi da autoria do mesmo, por essa atitude…[/color]
Porque o moderador louds não questionou o que Postei em:
Monkeypatching is Destroying Ruby[size=18] [/size]
Escrito por [color=blue]Louds (Moderador GUJ)[/color]
" Ruby tem duas coisas que melam a vida de quem quer fazer[color=red] metaprogramação mais hardcode[/color]. Não existe como sobrescrever o mecanismo de resolução de nomes e tão pouco como definir escopos no qual alterações a classes acontecem."
[color=blue]
Questionei o que ele disse conforme exposto acima, e vocês preferiram apagar, que atitude foi essa !!!
…Estou certo que isso não foi da autoria do mesmo, por essa atitude…[/color][/quote]
Alguém apagou, que pena. Bom, não fui eu e não imagino um motivo pelo qual fizeram isso. Não teria pq eu não te responder sobre essa afirmação que eu fiz. Isso aqui é o forum de Java Básico e não tem sentido falar de Ruby aqui, escreva no fórum certo e todos discutiremos o assunto.
É incrível como o Marcio sempre ‘mete o pau’ no Java, vangloria todas as outras tecnologias, mas insiste em fazer tudo isso em um fórum de Java. Marcio, se vc quer se tornar um evangelista de determinados assuntos, faça como o cv recomendou e crie um blog.
Participe, você não veio aqui para falar sobre suas questões particulares, o assunto aqui é Ruby, outra coisa use mensagens privadas para suas opinões e agente discute o assunto.