Pessoal, oq vcs acham da idéia de que o que resolve os problemas de verdade não são a grande quantidade de patterns, mas sim o desenvolvimento de novas linguagens, que ‘escondem’ esses patterns, fazendo com que o programador desenvolva pensando no negócio em questão.
Concordo, mas quanto menos problemas tivermos, melhor para a gente certo?
Não quero falar mal de java, mas ruby por ser uma linguagem mais nova, acredito que já tenha pensando em problemas recorrentes das outras linguagens.
No artigo ele cita a transição de C para C++. É bem bem melhor de se programar em uma linguagem orientada a objetos certo?
Ruby não é uma linguagem nova. Aliás, acho que saiu antes do Java 1.
Ok, desculpa a minha ignorância, mas pelo que eu vi até agora ela é uma linguagem que não se importa em alterar o seu core em detrimento dos projetos que usam a versão antiga certo? Em java isso não acontece, ele somente acrescenta mais coisas e dá “deprecated” nas antigas.
Eu me expressei mal.
leandronsp
Pelo que entendi, oq diferencia as linguagens são os recursos que elas oferecem.
É correto dizer: “em algumas ocasiões, Java é melhor…em outras, Ruby é melhor.” ?
Certo que Ruby tem muitos recursos que resolvem problemas da OO, mas será que existem situações onde “com Ruby não dá pra fazer isso, só Java, C#, etc…”.
Pergunto isso pq to aprendendo Ruby e não tenho mta experiência.
M
marcosalex
"
B
Bruno_Laturner
O ruim de ficar numa só linguagem é que você acha que uma coisa é impossível de fazer, quando o problema é que a linguagem não provê mecanismos fáceis para fazer o que quer.
Se você não consegue se expressar, você não pensa naquilo. (esqueci o nome dessa hipotese)
Link_pg
Como o amigo disse ali em cima, é muito dificil fazer algo em alguma linguagem e não conseguir fazer em outra. Eu comecei com VB.NET, Java e agora estou estudando linguagens dinâmicas. A minha impressão é que nessas linguagens dinâmicas existem muitas maneiras de fazer a mesma coisa o que não ocorre em Java em alguns cenários. Quanto a facilitar o uso dos padrões, um exemplo básico é o tratamento nativo de listas, que facilita o uso do padrão Iterator. Em java tinha o tal Iterator e hoje tem o for each, ou seja, sempre houve suporte só não era tão transparente. Nem por isso Java era defeituoso nesse sentido, apesar de ser muito mais cômodo usar o tratamento nativo. Outro exemplo: passagem de blocos de código como parâmetro de listeners. Em Java costumamos usar classes anônimas, algo meio tosco, mas que realiza a mesma coisa.
Outra coisa que eu particularmente acho bobeira é dizer que Java é menos orientado a objetos porque tem tipos primitivos e contexto estático (por exemplo). Na verdade são opções a mais que a linguagem oferece, que inclusive sua utilização não é obrigatória. Antigamente talvez podíamos reclamar um pouco da questão dos tipos primitivos, mas os Javas 5+ tem autoboxing :lol: