Webinsider

Desenvolvimento - Software Livre

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

10 de março de 2007, 15:19

Desenvolvedor fã de linguagens de código aberto e distante do universo Microsoft retoma o contato com a plataforma .NET. Ele gostou de muitas coisas e conta como foi.

Por Rodrigo Braga

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]

.

Sobre o autor

Rodrigo Braga (rbraga@gmail.com) é desenvolvedor.

Apoio:

  • LayerDev Serviços de Webhosting Profissional

Palavras-chave relacionadas a este texto: [ programação ] [ microsoft ]

Comentários

22 pessoas comentaram o artigo "Dormindo com o inimigo: como é voltar a .NET e C#"

Fagner Data: 10/03/2007 às 4:29 pm

Atividade:

Cidade:

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.

Guilherme de Carvalho Carneiro Data: 10/03/2007 às 5:10 pm

Atividade: Analista de Sistema

Cidade: Palmas

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.

Cadu de Castro Alves Data: 10/03/2007 às 6:20 pm

Atividade: Desenvolvedor

Cidade: Rio de Janeiro

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!

Leandro Perdigão Data: 10/03/2007 às 6:37 pm

Atividade: estudante/programador/ocioso nas horas vagas

Cidade: São Paulo

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é+

Patrick Data: 10/03/2007 às 9:00 pm

Atividade:

Cidade:

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

Guilherme Labigalini Data: 10/03/2007 às 11:20 pm

Atividade:

Cidade: Campinas

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

Tiago Data: 11/03/2007 às 3:09 am

Atividade:

Cidade:

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…

Ricardo Momm Data: 11/03/2007 às 12:41 pm

Atividade:

Cidade:

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.

Augusto Leão Data: 11/03/2007 às 6:09 pm

Atividade:

Cidade:

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.

10° rodrigo Data: 11/03/2007 às 7:08 pm

Atividade: Desenvolvedor

Cidade: Rio de Janeiro

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 :D

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° Anthrax Data: 12/03/2007 às 4:39 am

Atividade:

Cidade:

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”.

(…)

12° Orlando Rios Data: 12/03/2007 às 8:12 am

Atividade:

Cidade:

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 ?

13° Samir Araujo Mamude Data: 12/03/2007 às 9:44 am

Atividade: Programador

Cidade: Sao Jose do Rio Preto - SP

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

14° Renato Carvalho Data: 12/03/2007 às 2:24 pm

Atividade:

Cidade:

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 :-P

Saudacoes Tricolores.

15° Eriksen Costa Data: 12/03/2007 às 2:59 pm

Atividade: Desenvolvedor Web

Cidade: São Paulo

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.

16° Fábio Data: 12/03/2007 às 11:26 pm

Atividade:

Cidade:

Eu acho absurdo pessoas do “mundo livre” ficarem desenvolvendo DE GRAÇA coisas pra plataforma da M$!

17° Henrique Mendes Data: 13/03/2007 às 9:04 am

Atividade: Analista Programador Net

Cidade: Mogi das Cruzes

Bom a MS enfim caiu na real…. trabalhar com código aberto é o que importa realmente….

18° Victor Data: 13/03/2007 às 10:39 am

Atividade:

Cidade:

java é pura propaganda, .NET é o futuro =D

19° Paulo Data: 13/03/2007 às 1:50 pm

Atividade: Desenvolvedor web

Cidade:

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. -.-

20° Fabiano Ferreira Data: 14/03/2007 às 1:19 pm

Atividade: web tudo

Cidade: Caxias do Sul

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.

21° Fabio N Sarmento Data: 20/03/2007 às 10:40 am

Atividade: Analista de Sistemas Sênior

Cidade: São Paulo

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.

22° Marcos Data: 10/10/2008 às 9:51 am

Atividade: progamador .NET

Cidade: aparecida de goiânia

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 !!!!!

Avisos
Os ítens com asterisco ( * ) são campos de preenchimento obrigatório.
Todos os links inseridos nos comentários possuem o atributo rel="nofollow" para impedir com que user agents (como os mecanismos de busca) sigam os links inseridos para desestimular spammers.
Todos devem se identificar através de e-mail válido.
Os e-mails dos usuários não serão divulgados no site.
Comentários:

Preencha os dados abaixo e clique em enviar

Outrolado.com.br

Leia

Você utiliza algum tipo de documentação?Existem várias maneiras de documentar o desenvolvimento de projetos web. Como você faz com os seus? Quando isso ocorre? Usa alguma ferramenta específica?
Por Henrique Costa Pereira

O mundo com apenas cinco computadores Gigantes lutam pela sua audiência e para tomar conta de seus dados e de sua empresa mediante módico aluguel. Microsoft, Google, Amazon, Ebay, Yahoo, Apple, IBM, Oracle, Newscorp e Sony entre eles. Por Érico Andrei

Por dentro do Microsoft XNA Challenge BrasilNova competição da Microsoft apresenta tecnologias e idéias inovadoras para o mundo dos games. Nosso amigo participou… e ganhou. Por André Furtado

Gigantes lutam pelas tecnologias de programaçãoIBM, Microsoft, Sun, Apple e Google disputam a proeminência de linguagens que não têm “donos” e as potenciais vencedoras podem ser Ruby e Python. Por Érico Andrei

Ricardo Bánffy

Projetos para as fériasConhecer novas linguagens e ver como a vida pode ser diferente. Por Ricardo Bánffy

Python, por que não usei isso antes?A linguagem de programação multiplataforma e de código aberto é tão simples e rica em recursos que chega a entusiasmar aqueles que a experimentam pela primeira vez. Por Rodrigo Braga

Gestão de conteúdo? Considere o Zope.Nosso amigo é entusiasta do ambiente open source para a construção de aplicações web com foco em conteúdo. Segundo ele, o Zope é opção interessante para qualquer tipo de projeto. Não só por economia. Por Rodrigo Braga

Webinsider