Microsoft Innovation Days: LINQ

Hoje participei do Innovation Days na Microsoft em SP, um evento que promete ser mensal para parceiros Microsoft. Foram 4 horas de palestras com desenvolvedores da Microsoft apresentando o LINQ (Language Integrated Query) e as novidades do C# 3.0. Palestras avançadas com conteúdo realmente muito interessante e com palestrantes competentes.

É satisfatório ver a evolução do C# e do .NET framework e ao mesmo tempo frustrante por não ser minha plataforma principal de desenvolvimento. Já estou começando a invejar os desenvolvedores que podem tirar proveito de todas essas novidades no dia-a-dia e sempre torcendo para que minha ferramenta principal evolua mais rapidamente.

Em .NET não tenho mais dúvida, é Visual Studio e C# mesmo e não tem pra ninguém. Os caras estão levando muito a sério isso e tanto a IDE como a linguagem estão ficando (ou já são) imbatíveis. Eu acho que até existem linguagens melhores que o C#, como o Chrome por exemplo, mas o C# é de fato o padrão em .NET. Praticamente tudo que se encontra na Internet está em C#. Componentes, exemplos, livros, etc, e isso queira ou não, acaba pesando na escolha da linguagem.

Se você ainda não conhece o LINQ, vale a pena dar uma pesquisada. Eu já sabia bem do que se tratava antes do evento, mas não tinha testado pessoalmente. Ele permite usar comandos muito parecidos com SQL direto no código em qualquer coleção de objetos .NET, banco de dados ou arquivo XML. Você poderia por exemplo consultar no seu banco de dados todos os clientes da cidade de Americana usando o sequinte comando:

var q = from c in Clientes where c.Cidade == "Americana" select c;

Isso seria traduzido para SQL, enviado para o banco e retornada uma coleção de objetos Cliente contendo somente os clientes que forem de Americana. Veja que tudo isso é verificado pelo compilador, com Intellisense e tudo o que temos direito. É realmente algo fantástico.

Alguns dos próximos Innovation Days devem falar de WCF (que me interessa muito) e WWF.

11 Comments

  • Andre
    28/3/2007 - 07:06 | Permalink

    heheh .. que tal

    @q = Cliente.find(:all, :o ptions => ‘cidade = Americana’)

    ou ainda

    @q = Cliente.find_by_cidade(‘Americana’) ?

    Forget SQL for basics ! ;-)

  • 28/3/2007 - 08:11 | Permalink

    Você tem razão, RoR tem uma sintaxe ainda mais simples, mas a desvantagem na minha opinião é não ter verificação por nenhum compilador, e se você digitar algo errado só vai descobrir quando executar.

    A não ser é claro que esteja usando alguma IDE que já suporte algum tipo de verificação durante a escrita do código, mas não seria o ambiente normal de um desenvolvedor RoR.

  • 28/3/2007 - 08:53 | Permalink

    É importante lembrar também que Ruby é uma linguagem dinâmica e interpretada, ou seja, é outro mundo completamente diferente e difícil de comparar de forma justa.

  • Ediberto Alves
    28/3/2007 - 09:58 | Permalink

    Olá Erick,
    Há um tempo visito seu blog e tenho que dizer que no atual momento que, .NET é C#!
    Tenho a versão Express instalado em minha casa e posso te dizer que é muito bom estar aprendendo, versátil, claro e transparente. Uma linguagem em contínua evolução. hehehehe

  • 28/3/2007 - 10:13 | Permalink

    Concordo Ediberto.

  • daniel
    29/3/2007 - 22:12 | Permalink

    erick, é muito mais rapido voce descobrir um erro de sintaxe quando voce executa sua aplicacao, q eh um processo “instantaneo”, do que ter que esperar compilar

    nao vejo desvantagem nenhuma no RoR com relação a isso, alias todos consideram o fato de nao precisar compilar uma vantagem na velocidade de desenvolvimento

  • daniel
    29/3/2007 - 22:17 | Permalink

    o visual studio esta realmente dando um banho no delphi

    o delphi é muito mais pesado, instavel e LOTADO de bugs

  • 30/3/2007 - 13:02 | Permalink

    Erick,

    Sou desenvolvedor .NET há um bom tempo, e posso dizer que o Visual Studio é uma das melhores IDEs com que já tive a oportunidade de trabalhar…

    Sobre o LINQ, pelo que li a respeito acho que estamos dando um passo atrás, pois o SQL além de ser uma liguagem amplamente utilizada no mercado, é bastante simples e estável.

    Acho que usar uma “interface” entre o código (seja C#, VB.NET, etc) e o SQL é meio que dificultar um processo que já é bem assimilado pelos desenvolvedores.

    []s,

    Eduardo

  • Marco Aurélio
    5/4/2007 - 08:11 | Permalink

    Concordo parcialmente contigo, Eduardo. Quanto aos acessos em banco de dados, concordo que Ansi-SQL é uma linguagem a muito mais tempo no mercado e, exceto no caso de se estar desenvolvendo uma aplicação que precise acessar diferentes tipos de banco de dados (Pois o LINQ, aparentemente, abstrai o Banco de Dados em si, gerando SQL compatível com praticamente todos os BDs), seria besteira passar a utilizar esta tecnologia. Afinal, mão-de-obra nunca é barata, ainda mais se formos precisar que outras pessoas venham dar manutenção em nossos códigos, estas pessoas precisariam aprender o LINQ, ao passo que SQL já tá na veia do pessoal.

    Mas em relaçào aos Collections, existem alguns casos em que o LINQ poderia ser de grande serventia…

  • Felipe Oriani
    22/8/2007 - 07:37 | Permalink

    Estou conhecendo o LINQ agora, e acho que está facilitando muita coisa. Apesar de conviver no padrão das SQLs, acho que essa inovação vai ser de muita produtividade para os desenvolvedores.

    []‘s

  • 22/10/2007 - 23:03 | Permalink

    Olá pessoal,

    Só não esqueçam que existe o VB.NET, e ele está evoluindo no mesmo rítimo do C#. Trabalho com as duas sem problemas, mas o VBzão tá lá e faz tudo que o C# faz, mesmo que de outra forma, o resultado é o mesmo.

    Leonardo Lima
    Microsoft MVP

  • Leave a Reply

    Your email address will not be published. Required fields are marked *

    *

    You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>