Dormindo com o inimigo: como é voltar a .NET e C#

Share on facebook
Share on twitter
Share on linkedin
Share on whatsapp
Share on telegram
Share on pocket

Recentemente ingressei em uma nova missão usando Microsoft .NET com a linguagem C#. Como havia tempo que não “sujava minhas mãos” com isso, resolvi compartilhar com vocês a experiência.

Tio, dá pra se divertir com .NET?

De certa forma sim, não chega a ser o calvário que eu imaginava. Tem desvantagens, naturalmente, como qualquer outra plataforma. E tem também vantagens interessantes que a tornam uma escolha atrativa de certa forma.

E o que a baiana tem?

Tem ambiente multi-linguagem. Tem máquina virtual. Tem isso e aquilo outro… E mais os recursos interessantes que há anos o pessoal de portais como Linha de Código e iMasters vêm apresentando com riqueza de detalhes, aos quais não vamos nos ater aqui.

Depois de áureos meses usando GNU/Linux como ambiente primário, aqui estou eu de volta ao Win32 (ou serão 64 agora?) – descobrindo algumas coisas interessantes e recordando velhas decepções.

Produtividade

Realmente é produtivo, MUITO. Naturalmente muitas coisas importantes (ainda que superficialmente) são omitidas ao desenvolvedor; você arrasta o componente onde lhe for interessante, aponta duas ou três propriedades e pronto.

Use essas características com moderação. Elas são produtivas, porém podem distanciar você demais do que costumamos chamar de desenvolvedor.

Integrated Developmente Enviroment

O Visual Studio é um ambiente de desenvolvimento que integra muitos recursos,. Se existisse um selo “Genuine IDE” sem dúvida ele teria um. Há diagramas, manipulação do banco de dados, versionamento e mais algumas coisas você pode fazer sem sair da IDE. Bem, na verdade você sairá para algumas pouquíssimas coisas (ainda não tem banheiro, piscina com bar…), mas nada que comprometa. Das muitas IDEs para N linguagens, definitivamente o Visual Studio figura entre as melhores (para acalmar uns e outros mais ácidos com a Microsoft, observem que o trecho “entre as melhores” não diz que o Visual Studio é o melhor ou único).

Documentação do framework

Outra característica importante e cuidadosamente desenhada é a documentação do framework. É completa e bem rica em detalhes, além dos exemplos que acompanham cada tópico. A IDE permite que você utilize a documentação off ou online, de forma transparente e igualmente simples.

Outro aspecto interessante é a documentação em português, que é muito abundante, inclusive documentação não oficial.

Recursos extras

Este talvez seja o tópico mais surpreendente. Há muito tempo não trabalhava direta ou indiretamente com tecnologias Microsoft e me limitava a reclamar de documentos do Word que não abriam no OO.org. Acabei tendo gratas surpresas neste ponto.

CodePlex, o SourceForge deles.

O CodePLex é um portal nos moldes do SourceForge: você publica um projeto, outros colaboram e assim a vida segue. Já possui projetos legais hospedados nele e acredito que poderá crescer bastante no futuro. Ainda é um portal discreto, afinal é “recente”. Se a comunidade de desenvolvedores Microsoft aderir a essa idéia será algo a ser comemorado, eu torço grandemente por isso.

Enterprise Library

O pacote EntLib (assim chamado carinhosamente) é um mini-framework dividido em ApplicationBlocks que abrangem áreas como segurança, caching, banco de dados entre outras. Alguns ApplicationBlocks estão prestes a sair do forno. Sem dúvida ajudam a padronizar e acelerar o desenvolvimento de software. Muito interessante.

Ajax e Ajax Toolkit

O nome Ajax, que constitui a associação de tecnologias JS + XML fazendo chamadas remotas assíncronas, é o mesmo nome do framework para usar Ajax com ASP .NET. Eu já vi esse filme outras vezes com SQL (Server), Office e cia… Não fiquem assustados se daqui a algum tempo associarem Ajax (patrimônio da humanidade) com o framework da Microsoft.

Porém algo se salvou. Este recurso é realmente interessante e fácil de usar, possui muitos componentes para atividades comuns (painéis, auto-complete, entre outros). É extensível e permite que novos componentes sejam criados com alguma facilidade, o que de certa forma deixa a impressão que o “Ajax .NET” poderá enriquecer ainda mais brevemente

Muito me custa crer!

Esta frase é usada por um grupo de amigos em situações extremas, inacreditáveis… Ou quando a Microsoft faz algo de “bom”. Estas ferramentas citadas acima são código aberto e permitem interação com usuários ou desenvolvedores dispostos a colaborar com elas. Talvez por isso tenham tido um avanço interessante. Elas estão hospedadas no CodePlex, veja você mesmo.

Para não perder o costume

Os que me conhecem sabem que numa abordagem geral para qualquer problema eu sugiro Python como solução (ou ao menos parte), porque é mais divertida, mais prática e mais fácil.

Ainda fico com o “shell” (tudo bem, não é o shell que minha mãe sonhou pra mim, é o command do Windows) escrevendo alguma coisa em Python. É uma terapia e me ajuda a viver melhor; como nem sempre tenho acesso a SSH, é o que me resta e assim vou levando.

E o IronPython?, você pode ter imaginado…

Um alento aos corações mais sofridos

IronPython é a implementação Python para a máquina virtual .NET. Nos enche de esperança e parece promissor, mas este projeto ainda tem um longo caminho à frente. E apesar da velocidade crescente, ainda faltam algumas características importantes. De certa forma não está maduro o suficiente para o mundo real. Acredito que em breve poderemos ouvir mais sobre esse projeto. E claro que estarei atento.

E no final das contas

Descobri que desde que você esteja disposto a usar .NET em sua magnitude e arcar com algumas conseqüências, como a dependência do Windows, recursos otimizados para produtos da família Microsoft, como SQL Server por exemplo, em detrimento a outras alternativas, escolher esta plataforma é um atitude acertada.

Afinal, afinal além de riqueza em recursos, tem uma curva de aprendizado curta, uma biblioteca vasta, documentada e muito poderosa. Porém se esses itens (e alguns outros) forem intragáveis para você, sugiro um pulo no Python.org para que descubra um novo mundo ou ao menos o IronPython, já um grande começo.

Você esqueceu do Mono?

Não, não esqueci não. Este é um relato de uma experiência em ambiente Microsoft Windows; Mono é uma alternativa interessante para outras plataformas (além do próprio Windows), porém não avaliada ainda. Mas certamente um assunto interessante para outra oportunidade.

Bem, se vocês não se incomodarem, vou terminar este texto por aqui. Minha estação está instável e vou ter reiniciá-la. Ah, sim. Estou usando Windows. [Webinsider]

.

Avatar de Rodrigo Braga

<strong>Rodrigo Braga</strong> (rbraga@gmail.com) é desenvolvedor.

Share on facebook
Share on twitter
Share on linkedin
Share on whatsapp
Share on telegram
Share on pocket

22 respostas

  1. cada deve progamar na linguagem que resolve o problema de seu cliente.
    Pois se desenvolver um progama na linguagem que todos consideram a melhor e não resolver o problema de meu cliente de nada vai resolver.
    Então o certo é q cada linguagem tem uma vantagem e uma desvantagem !!!!!

  2. Rodrigo,
    Tenho que concordar com tudo que você disse acima, assino em baixo, são muitas vantagens ,desvantagens e decepções.

    Sou um amante eterno da Open Source, gosto muito ainda de desenvolver em plataformas livres, talvez seja pelas oportunidades que a vida me proporcionou, não tenho preconceitos em trabalhar com .NET ou outra plataforma paga.

    Temo que muitos programadores criem esta missegenação entre Programadores FREE e Programadores Comerciais, hoje existe esta richa, como você mesmo sabe.

    Parabens por sua matéria.

  3. Eu infelizmente não posso concordar com a matéria em sua totalidade.

    Acho sim que o .net é um ótimo framework, mas o tempo de desenvolvimento é absurdamente maior que o de uma linguagem estruturada, como ASP3 e PHP… Esperar pra compilar DLL é um calvário, e tarefas simples como vários checkboxes num resultado de BD dentro de uma tabela é como tirar a carne da boca do leão.

    O IDE Visual Studio é burocrático, pesado e seu debug em HTML deixa a desejar em muito para um Homesite ou PHP Edit.

    Estou batalhando pra retornar ao PHP como solução web onde eu trabalho. Certamente os projetos sairiam em 1/3 do tempo hábil.

    Caso eu esteja redondamente enganado, gostaria de discutir casos de uso em várias linguagens e o tempo levado para a resolução. Estou aberto para CONVERSAS 🙂

    Abração a todos.

  4. Eu concordo muito com o que o Augusto Leão fala.
    De um modo geral existe uma briguina idiota dos programadores para elegerem a melhor linguagem ou o melhor framework.

    O melhor é aquele que fornece o que tu precisa e no menor tempo.

    O comentário do Fábio foi extremamente ridiculo, Eu acho absurdo pessoas do ?mundo livre? ficarem desenvolvendo DE GRAÇA coisas pra plataforma da M$!

    Tu faz sistemas de graça? Me vê ai 1 CRM e 2 Intranet. -.-

  5. Acho que as soluções em Software Livre superam em muito o ambiente .Net em todos os aspectos. Já cansei de ver e ouvir desenvolvedores .Net falarem em arrastar e selecionar propriedade x muitas vezes sem saber o que realmente estão fazendo. Acho que já foi mencionado os problemas que isto leva em comentários anteriores não?

    E a tal da produtividade pode ser facilmente alcançada com outras linguagens, desde Java, até Ruby passando por PHP e Python. Cada uma tem suas vantagens e desvantagens mas não deixam nada a dever as linguagens da plataforma .Net. Em vários quesitos são superiores e a transparência e liberdade proporcionadas por elas tornam seus desenvolvedores mais conscientes com o ambiente que estão lidando.

  6. 0. Parabens pelo artigo diario de um mago (sofredor).

    1. Primeiro comentario foi do Fagner, logo de quem…Fagner…

    2. comentario #7: nada melhor do que java, ainda?. Alah – uh – akbar, perdooe esta pobre alma.

    3. Muito me custa a crer que voce está trocando o superkaramba pelos gadgets do windows vista.

    4. Aproposito, sou + Python 😛

    Saudacoes Tricolores.

  7. Ja trabalho com .Net a 4 anos e hoje afirmo que nem sempre é a melhor opção para um projeto Web, ainda mais de grande porte! Se você desenvolve tudo no estilinho Microsoft com arrastar pra la e pra cá, tudo funciona lindo e maravilhoso, se aparece funcionalidades que a IDE não te proporciona, começam os POGS da vida Programação Orientada a Gambiarras….pq isso???

    Simplesmente pq na comunidade .NET, não existe padronização, cada um faz como bem entender!

    Espero que encare como uma crítica construtiva.
    Abraços

  8. Eu desenvolvo em VB6 desde o nascimento do linguagem e estou (quase) satisfeito. O VS.net tem uma maior produtividade ainda ?

    Não entendi a filosofia da coisa. Se eu instalar o VS eu terei tudo: a IDE + .NET + FrameWork ?

  9. Caríssimo Rodrigo Braga,

    Parece que você não foi contaminado pela alienação das ferramentas da M$…[risos]
    E pelo que vejo, você também programa em Java e Python e curte ferramentas Open Source.

    Embora eu não gostasse muito de ferramentas da M$ (risos), realmente o Visual Studio é uma IDE interessante e ajuda muito na produtividade sim.

    Um dia me imagino usando um IDE semelhante ao VS e com as mesmas praticidades programando Ruby On Rails ou PHP, só espero não ser o próprio M$ Visual Studio [risos], afinal de contas o pessoal do Open Source é bem mais criativo e pode criar algo melhor, se já não estão fazendo [risos].

    O que incomoda [sim, incomoda] é o mal uso do IDE que gera operadores de ferramentas.
    Um comodismo [típico do brasileiro…rs] ao ver que pode fazer mais rápido de maneira aparentemente mais fácil… viram operadores de ferramentas, se acham desenvolvedores e costumam tirar certificações, costumo chamá-los de Analistas de Banca de Jornal [risos]

    Incomoda por que? Queira lidar com uma criatura operadora de ferramentas M$ e irão entender o que quero dizer [risos sarcásticos]
    Para ter como colega de trabalho é uma mer**, para contratar então… dispenso comentários…rs

    Como você mesmo disse: Realmente é produtivo, MUITO (…) você arrasta o componente onde lhe for interessante, aponta duas ou três propriedades e pronto (…) Use essas características com moderação. Elas são produtivas, porém podem distanciar você demais do que costumamos chamar de desenvolvedor.

    Realmente, os micreiros foram muito espertos ao encontrar no Visual Studio [e no VB/ASP] uma ferramenta para criar soluções práticas e inteligentes.

    Tenho saudades de quando o mercado brasileiro de software não era um prostíbulo de baixo calão.

    (…)

  10. Patrick

    Se observar os primeiros parágrafos onde está escrito:

    Recentemente ingressei em uma nova missão usando Microsoft .NET com a linguagem C#. Como havia tempo que não ?sujava minhas mãos? com isso, resolvi compartilhar com vocês a experiência.

    Verá que de certa forma tentei compartilhar a experiência pela qual passei e que envolve única e exclusivamente o ambiente (insólito 🙂 a qual fui submetido.

    Existem ferramentas livres? Existe! Existe aquilo? Existe! E se você procurar bem existe aquilo outro também, com prós e contras, porém o texto é sobre um caso específico por isso não me preocupei com os recursos que estão em torno do .NET e cia.

    E naturalmente isso (minha experiência em si) envolveu o uso do .NET e a força que podemos extrair dele com VS .NET

    Uma outra observação interessante a .NET e VS é que foram feitos um para o outro literalmente 🙂

    Patrick – Apropósito, sou desenvolvedor Java!
    Braga – Apropósito, sou desenvolvedor Python!

    a diversidade é interessante, apesar de não concordarmos com .NET cá estamos nós falando justamente dela 😀

    Ricardo Momm

    Bela definição, é quase uma ferramenta case e realmente não há esse prazer (de programar) ao extremo.

    Augusto Leão

    Esse é o ponto. As empresas esperam o que .NET pode oferecer. Produtividade máxima!

    Eu prefiro ferramentas livres e python / GNU/Linux são minhas opções primárias quando a escolha depende mim.

  11. Vamos observar uma coisa, o fato ser divertido ou não não interessa para quem dirige uma empresa que lucra milhares de reais. Os diretores entendem de venda. O desenvolvedor tem q enteder q se ele desenvolver em grande velocidade vai conseguir atender os pedidos de seus gerentes e assim fazendo q a empresa prospere.

    A ferramenta .NET é uma solução para as empresas de visão. Seus setores comerciais não ficam se preucupando com os gostos de programadores se acham esse ou aquele codigo mais bonito ou mais divertido. Eles querem MAIS rapidez, organizâo produção e resultado. E é isso q a .NET oferece.

  12. Olha eu li o comentário do Leadro Perdigão e realmente concordo:

    Também vale citar que os frameworks tiram a graça de programar. Sem diversão, só produção, isso não faz bem?

    Já uso o VisualStudio a grande data, ta quase virando uma ferramenta Case…não precisa programar nada.

  13. multi plataforma com .NET, fala sério, apesar de não gostar muito, mas para esse caso e falando em aplicações Web, nada melhor do que java, ainda…

  14. Trabalho com técnolgia .NET. Também já trabalhei com Java, o Eclipse também é um otima IDE (a parte de refactoring é otima). Mas para produtividade o Visual Studio esta melhor. Não tem nada igual.

    Ainda mas com .NET 3, onde temos WCF, WPF, e W** 🙂

    Ah o Ajax . NEt é compativel com Firefox e Opera. Fiz o teste em algumas aplicações que desenvolvi e ficou 100% bala!! 🙂

    []s

  15. Caro Rodrigo,

    Você misturou conceitos básicos, afinal, o que você avaliou? O framework .NET ou o Visual Studio .NET?

    Se avaliou o framework .NET, não venha com roda apenas em Windows e com SQLServer, o Mono nada mais é que uma belíssima implementação do framework .NET para diversos sistemas operacionais além do Windows; sem falar em todos os conectores disponíveis para os inúmeros servidores de banco de dados open-source.

    Mas você avaliou o Visual Studio. Ele sim é a IDE que suporta multi-linguagem, e é isso que as pessoas precisam aprender a distinguir, uma coisa é o framework, e outra o Visual Studio. Claro que a MS fez um belo trabalho no VS, como de custume, mas não é de uso obrigatório. Já existem diversos ambientes de desenvolvimento free/open para .NET.

    Apropósito, sou desenvolvedor Java!

    Abraço,

    Patrick

  16. Ajax num framework para Windows? Me corrija se eu estiver enganado, mas isso me cheira a problema, e dos grandes, tipo, páginas que só funcionem 100% em IE.

    Não discuto a produtividade provida pelos frameworks. O que discuto é a limpeza e eficiência do código, além do devido enquadramento em normas, como ECMA, ANSI, W3C, entre outras.

    Bom artigo, mas isso não me faz a cabeça, exceto pelo tocante a software livre. Também vale citar que os frameworks tiram a graça de programar. Sem diversão, só produção, isso não faz bem…

    Parabéns e té+

  17. Grande Braga!

    Acompanho os feeds do Webinsider pelo Netvibes. Quando vi o título deste artigo, senti uma energia banguense. Hehehehe!

    Bom saber que você está gostando de trabalhar com .Net. Muitos desenvolvedores experientes vivem tentando me levar pra este mundo. Quem sabe um dia eu não tomo coragem. Rs!

    Parabéns pelo artigo e muito sucesso com a sua nova amante.

    Abs!

  18. Faltou vc dizer que existem as IDE´s na versão Express, totalmente Free e que não impedem o desenvolvimento de nenhum sistema comercial utilizando-as.

  19. Na verdade, o grande abismo que separa o Linx e o Windows se deve ao fato de mesmo que a Microsoft crie ferramentas que de certa forma nos torna dependentes cada vez mais de seus serviços, ela inegavelmente tenta ao máximo faciitar a vida de desenvolvedores e usuários em geral, principalmente os usuários mais leigos. Por mais que .NET seja uma tecnologia que amarra devez os programadores multi-plataformas, ela sem duvida fornece mais recursos em menos tempo de programação, coisa que eu e você sabemos que é primordial nos dias de hoje.

    Eu pretendo programar para plataforma Linux, tenho muita curiosidade e é muito atrativo o fato de saber que o Linux é grátis.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *