Blog do Urubatan
msgbartop
Desenvolvedor, Arquiteto, Palestrante, Coordenador do RSJUG, Patinador e Blogger
msgbarbottom

24 Aug 07 C# 3.0 é uma linguagem dinâmica! e o Java correndo atrás da máquina! será mesmo?

Segundo este post, o C# 3.0 agora é uma linguagem dinâmica! Por que eles dizem isto?

  • Possibilidade de executar um ‘Eval’, ou seja, construir um programa que escreve programas
  • Suporte a Lambda/Closures
  • Implicit typing (espero sinceramente que eles não tenhas simplesmente ressuscitado o tipo Variant que tornava as apps em VB uma carroça)
  • Continuations (similar ao yield do Rub, mas isto acho que ja existia em C# a bastante tempo)
  • Melhor introspecção

Bom, esta é a opinião do autor do post pelo menos, claro, o Java não tem nenhum destes recursos, mas faz algum tempo que ja temos muito mais do que isto com o Groovy por exemplo, e agora no JRuby para a JVM.

Não lembro onde li a algum tempo atrás, que precisamos parar de ver Java como uma linguagem, e começar a ver Java como uma Plataforma!

Ou seja, temos que começar a aproveitar mais os recursos ja existentes na plataforma Java, e usar muito mais, as linguagens dinâmicas que rodam sobre a JVM, algumas delas até compiladas para bytecode como o Groovy ja é hoje e o JRuby esta caminho de ser também (O JIT deles ja esta pronto, estão trabalhando no compilador)

Mas voltando ao assunto, neste caso acho pouco provável que a linguagem Java, implemente alterações parecidas com estas para o Java 7 ou Java 8, por tanto, a única coisa que tenho a dizer é: Viva o Groovy e o JRuby!

Ai alguem vai comentar que o chefe, gerente, dono, “tech lider”, dono da lojinha da esquina, padeiro, … não vão aceitar utilizar groovy de forma alguma em um projeto …

Bom, é fácil de ir mudando isto aos poucos :D

Uma dica, comece escrevendo os testes unitários em Groovy para mostrar a produtividade que isto pode trazer, e principalmente que ele pode acessar normalmente todo o teu ambiente Java já existente.

Depois desta produtividade e facilidade comprovadas, acho pouco provável que isto não comece a “permear” outras partes dos projetos :D

Não sabe como testar o seu código Java usando Groovy? O Developer Works da IBM tem um ótimo artigo sobre isto.


O único impedimento para isto, é o tipo de desenvolvedor acomodado que não tem vontade de aprender coisas novas (sinceramente, a única razão para alguem assim trabalhar com desenvolvimento é achar que vai ganhar dinheiro fazendo algo que não gosta) , então esta na hora de arregaçar as mangas e começar a aprender Ruby ou Groovy (recomendo começar com o Groovy :D ) e não ficar esperando que uma linguagem com estruturas antigas se torne tão produtiva como a última bolachinha do pacote do mes passado (RoR e Grails por exemplo :D )

PS.: tendo dito isto, acho que o pessoal do .NET deveria desencanar também e começar a aproveitar as linguagens realmente novas existentes para a plataforma .NET, como IronRuby e F# (Sim, eu sei que Ruby não é tão novo assim, mas tem um conceito muito mais novo do que o C++ melhorado que o Java e o C# se propõe a ser)

Se você gostou deste post, lembre-se de assinar o RSS feed do blog, para ser notificado de novos posts!

Tags: , ,

Reader's Comments

  1. |

    E por isso que C# está condenado a ser o que o C++ é… um enorme bolotão com 5000 palavras reservadas e que faz desde café a um onibus espacial…

    Cada vez mais um codigo em C# vai ser confuso e cheio de armadilhas…

    Reply to this comment
  2. |

    Você quis dizer “atrás”, certo? :-P

    Reply to this comment
  3. |

    Exatamente, título corrigido, obrigado pelo aviso :D

    Reply to this comment
  4. |

    Como sempre mais um ótimo Post…
    Concordo plenamente que temos que focar no uso da plataforma java… não necessariamente na linguagem java… é a velha questão de se verificar qual a melhor solução para o preblema que se tem em mãos… querer usar a mesma linguagem para resolver qualquer problema que exista realmente é coisa de quem tem priguiça de aprender coisas novas…

    Tbm estou apostando no crescimento do RoR…. vida longa a plataforma Java

    Reply to this comment
  5. |

    Considero o C# uma linguagem excelente. Também gosto de Ruby e já me aventurei pelo Java. Mas C# ainda é uma das melhores linguagens que já trabalhei. E a versão 3.0 está me deixando bem animado.

    Aprender outras linguagens só vale a pena quando se quebra um paradigma. De nada adianta aprender algo novo e continuar fazendo as coisas do jeito velho.

    Aprender Ruby (com Rails) com certeza me elevou para outro nível como profissional. Mas acredito que uma pessoa que saia do C# direto para IronRuby nunca terá o mesmo nível de evolução.

    Reply to this comment
  6. |

    O IronRuby é uma implementação de Ruby que roda no .NET, em breve será possível rodar Rails sobre ele também …
    E pelo menos na minha opinião, apenas aprender Ruby ja vai dar uma boa turbinada na mente de qualquer um que trabalhe com Java ou C# :D
    Mas como disse, é a minha opinião :D

    Reply to this comment
  7. |

    Estou esperando até hoje esse boom do ruby… por enquanto nego fala :

    “NOSSA QUE LEGAL ESSE RUBYYYYYYYYY”
    “Ok, e em qual projeto voce usa ?”
    “AHHHH AINDA TO VENDO !!!!”

    ou:

    “PRODUTIVO MESMO EH O RAILS !!!!”
    “Ok, e o que vc usa para desenvolver ?”
    “Ahhh… ASP.NET…. ou Java”

    Reply to this comment
  8. |

    Aqui no brasil tem poucas empresas usando ainda, mas la fora ja tem bastante (nos estamos sempre uns 5 ou 10 anos atrasados).
    Mas um dos motivos de ter poucas empresas por aqui usando é que tem pouco profissional qualificado, as empresas não vão usar uma ferramenta se não houver mão de obra suficiente …

    Mas só para complementar o teu comentário, eu ja estou utilizando em 2 projetos :D

    Reply to this comment
  9. |

    hehehe…

    Reply to this comment
  10. |

    Estou usando em um CRM para um provedor com 10.000 clientes.

    O sistema era antes feito (por minha empresa também) em C#

    Aviso: Quem não se atualiza e fica preso na ideologia dos outros perde o emprego.

    Reply to this comment
  11. |

    [...] de onde começamos: Java. Rodrigo Urubatan cita um artigo em C# 3.0 é uma linguagem dinâmica! e o Java correndo atrás da máquina! será mesmo? (2007-08-24) para lembrar que Java é muitíssimo mais que uma linguagem, é plataforma (na [...]

    Reply to this comment
  12. |

    Basic é o futuro.

    Reply to this comment
  13. |

    QUE BASIC O QUE? TÁ DOIDO, AGENTE FALANDO DE JAVA E C#.NET E ESSE DOIDO VEM COM BASIC, ISSO É LIGUAGEM DE HOMEM RAPA? VAI PROCURAR UMA LAVAGEM DE ROUPA.

    Reply to this comment
  14. |

    ah

    Reply to this comment

Leave a Comment