Vinicius Quaiato

{tecnologia, conceitos, negócios, idéias, práticas, .NET, ruby, osx, ios e algo mais}

Por que não troquei o .NET pelo Ruby?


Fala galera. Estou sumido hein? Vamos lá...Como alguns devem saber é comum vermos posts do tipo "por que troquei o .NET pelo Ruby", aqui e aqui. Mas hoje eu quero dizer o por que eu não estou deixando o .NET/C#.

Trabalhando com Ruby

Como alguns de vocês devem saber eu sempre gostei de Ruby. É uma linguagem bonita. É expressiva. É poderosa. É simples. E não, ela não é perfeita.Estou na Crafters há uns 5 meses e na Crafters não temos uma linguagem como "lema", criamos software, independente da linguagem/plataforma. Temos vários projetos em Ruby/Rails é verdade, mas também temos projetos em Java, Groovy/Grails, fizemos coisas em Scala, e fizemos sim coisas em .NET/C# para Windows Phone, Windows Azure, ASP.NET MVC, etc.Tenho trabalhado muito com Ruby. Tem sido a linguagem/tecnologia na qual passo maior parte do meu tempo. Mas eu percebi que isso não quer dizer que eu "larguei o .NET". Na verdade isso quer dizer que hoje eu sei quando e por que usar o .NET.

Losing my religion

Hoje eu posso, com muito orgulho, dizer que deixei totalmente as linguagem e plataformas de lado enquanto religiões.Muita gente gosta de dizer que "é developer pois é apaixonado por código" (bullshit, em 90% dos casos) mas trata código como literatura sagrada, e se não estiver em sua "língua materna" é coisa do "demônio".Acho que além de sermos "poliglotas" devemos buscar ser ecumênicos.Muitas verdades coisas que eu achava serem verdades não passavam de uma falsa percepção de realidade. Quando contamos uma mentira várias vezes passamos a acreditar nela como verdade.Muito do que eu acreditava ser "o jeito certo de fazer" já não existe mais. Muito sobre isso eu falei na minha palestra no DNAD 11.

Deixei o Windows e o .NET de lado

Há uns 7 meses eu deixei de usar Windows como meu sistema operacional padrão. Sim, hoje eu uso um Mac até mesmo quando preciso usar Windows. Esta mudança me fez um grande bem. Colaborou muito para conhecer e fazer (isso, isso e mais isso) coisas novas. Olhar para coisas que eu fazia de uma maneira por um outro prisma. Eu não estou dizendo que Windows é ruim: não é possível dizer isso. Mas eu estou dizendo que só conhecer e só usar Windows me fazia uma pessoa pior um desenvolvedor não tão bom.Hoje eu conheço mais tecnologias do que antes. Mesmo no Windows eu buscava fugir do mundo .NET padrão: eu brinquei com IronRuby e IronPython, conheci Ruby/Rails no Windows. Eu já brincava com Boo e Mono. Usei Java e conheço PHP. Trabalhava com MySQL, SQL Server, e já usava NoSQL no Windows. Mexia Brincava com Node.Js. Depois de conhecer o Git não parei de usar. E por aí vai.Mas o fato de não poder rodar o Visual Studio nativamente no OSX me fez buscar maneiras diferentes de fazer coisas antigas: eu quebrei meus próprios paradigmas, eu ignorei meus próprios dogmas.

Conheci pessoas apaixonadas

Quando comecei, há bastante tempo, conviver com outras comunidades que não apenas as comunidades Microsoft/.NET passei a conhecer gente apaixonada pelo que faz. Apaixonada por suas linguagens e tecnologias. Mas mais do que isso passei a conhecer gente que faz coisas. Passei a conhecer gente que é apaixonada por algo não por que é feito por uma empresa, mas sim por que várias características nessas tecnologias os deixavam assim. Passei a conhecer pessoas que não tinham medo de perder a paixão simplesmente por trabalhar com algo diferente.Infelizmente no mundo Microsoft/.NET esse tipo de pessoa é minoria, mas uma minoria muito, muito, muito rara de encontrar. O que sempre vemos são pessoas que "usam o que vem da Microsoft". Sem saber os por ques. E falo isso com conhecimento de quem vive há mais de 4 anos entre estas pessoas (e se considera uma delas). Poucas pessoas no mundo .NET são como o Juan Lopes que sabe exatamente por que gosta de C#. (você sabe por que você gosta de C#?).

Quem só conhece martelo só dá marteladas

Quem só conhece uma forma de resolver todos os problemas na verdade não resolve nada. Hoje eu sei que estou muito mais apto a resolver diferentes problemas do que estava há 6 meses.Hoje eu consigo ter uma visão de produto e consigo decidir, com propriedade, entre diversas tecnologias/plataformas para atender a esta visão de produto. Hoje é minha necessidade quem dita as regras e não minha tecnologia que esquarteja molda minhas necessidades.E hoje eu posso afirmar: ler meia dúzia de posts, ter visto meia dúzia de gists, e lido meia dúzia de tutoriais não te fazem conhecer de uma linguagem/tecnologia/plataforma a ponto de poder considerá-la boa ou ruim. E o pior: só conhecer uma tecnologia, mesmo que a fundo, também não te faz apto a isso.

Por que o .NET é bacana?

Hoje eu acho o modelo de desenvolvimento para o novo Windows Phone sensacional. Eu gosto muito da forma como posso criar apps incríveis para estes devices.Eu acho a plataforma de cloud computing da Microsoft, o Azure, muito boa, acessível e eficiente.É simplesmente formidável fazer algo em .NET: você abre o Visual Studio e pronto!Isso não existe em outros mundos: não existe em Ruby, Rails, Java, Grails, PHP, Ruby, etc. É sempre um parto um pouco mais complicado que isso :P (estou falando em bootstrap de ambiente hein!).Em .NET é simples fazer algumas coisas que em outras tecnologias são chatas/complexas. É uma plataforma muito animal boa (e é uma pena que nem todos enxerguem isso, ainda tem gente que confunde tudo).Do Windows eu não sinto saudades mesmo. Hoje eu tenho um ambiente virtualizado e tento sempre usar as coisas em modo seamless, então eu mal o vejo ;)

Deixar o blá blá blá de lado

Aquele papo de aprender um nova linguagem por ano. Eu conheço várias linguagens, etc, etc. Isso é história para boi dormir. Fazer meia dúzia de "Hello World", participar de alguns dojos, etc, não te faz um poliglota: pare de se enganar.Aprender uma nova linguagem só te fará melhor quando você sair da zona de conforto. Quando você passar um bom tempo progamando (mesmo!).

Por que escrever tudo isso?

Não há motivos. Talvez por que exista muito potencial reprimido por aí. Sei lá.

Voltar

Fork me on GitHub