Blog Bugginho Academy

Até que ponto amar uma tecnologia é benéfico?

No nosso dia a dia é comum nos deparamos com frases como: “Java > all”, “PHP é a melhor linguagem do mundo”, “Framework é Rails, o resto é lixo”, etc. Eu até acho legal a pessoa focar em uma tecnologia, assim ela consegue tirar muito proveito dela e a depender da situação, pode até ajudar no desenvolvimento da mesma, o problema é quando esse “Amor” todo te cega e você não consegue ver que além de babaca, está ficando para trás por achar que a tecnologia que você usa é a bala de prata para todos os problemas do mundo.

QUEM SÓ TEM MARTELO PENSA QUE TUDO É PREGO.

Essa frase acima é atribuída ora a Mark Twain, ora a Abraham Maslow, mas independentemente de quem a criou, ela retrata muito bem o atual cenário que vivemos na TI. Muitos programadores aprendem a usar um novo Framework e vêem que ele agiliza e muito o seu trabalho, tirando dele uma série de preocupações com detalhes genéricos da aplicação. O problema é que assim como o martelo, o Framework é uma ferramenta e sendo uma ferramenta ela tem uma razão para existir, ou seja, ele se propõe a resolver um determinado problema e não todos, porém como o cara só estudou aquele Framework, ele faz “Malabarismos” para conseguir resolver todo e qualquer problema com aquela ferramenta.

Eu faço parte de diversas comunidades (Já fui mais ativo e já fiz parte de mais comunidades, mas o tempo tá foda. Me perdoem), e vez ou outra eu dou uma navegada nelas. Essa semana eu entrei em uma determinada comunidade no Facebook e me deparei com esse post

CI, para quem não conhece, é uma abreviação para Codeigniter (um Framework PHP)

Eu pensei: “Como não uso o Codeigniter há anos, deixa eu ver se tem algo interessante nesse post, de repente uma versão nova e mais moderna, e tal”, e comecei a ler os comentários do post… Pra que eu fiz isso?

No desenrolar do post, eu li uma série de frases que nenhum desenvolvedor que pensa em crescer na área deveria dizer, como por exemplo:

 

E a minha favorita

Não estou aqui para dizer que sou melhor ou pior programador que ninguém, na verdade a crítica é sobre a postura e teimosia em não ouvir o que dezenas de outros profissionais estavam dizendo a ele. O cara chegou ao ponto de dizer isso:

 

Só para situar vocês…

O Codeigniter foi lançado em 2006 com uma proposta super bacana. Ser um Framework simples de usar, muito fácil de aprender e super rápido, e realmente o desempenho dele é fantástico. Para a época em que ele foi lançado ele era sim uma boa opção para pequenas aplicações. O problema é que a forma como desenvolvemos vai evoluindo ao longo do tempo e as ferramentas devem acompanhar essa evolução, porém o CI se manteve parado, parte disso se deve ao fato de a empresa que desenvolveu o Codeginiter (EllisLab, Inc) ter abandonado o projeto, porque se envolveu em outros projetos mais interessantes para eles e o CI ficou um bom tempo sem receber atualizações. Nesse meio tempo diversos outros Frameworks surgiram ou simplesmente evoluirão muito como é o caso do Zend Framework, Symfony, CakePHP, Laravel, Yii, etc… Fora os microframeworks com é o caso do Slim, Silex, Lumen, Zend Expressive, etc.

Felizmente a BCIT (British Columbia Institute of Technology) abraçou o projeto e passou a manter o CI, corrigindo diversos bugs e falhas de segurança e lançando a atuação versão “3” do Framework.

Agora que você já conhece (de vista) o Codeigniter, vamos analisar as afirmações proferidas por esse Desenvolvedor Fan Boy.

1. “Só uso CI em meus sistemas e ele me atende bem”

A primeira coisa que temos que ter em mente é: “O que é atender bem?”. Uma boa analogia é o casamento. Tem gente que “se acostuma com a/o parceira/parceiro” e acha que “ama”, geralmente ou não consegue enxergar os erros ou enxerga e acha que é assim em qualquer relacionamento.

Você pode usar a linguagem que for, o framework que for, a metodologia que for, sempre haverá limitações, sempre haverá bugs, sempre haverá problemas, você só não quer ver, você tenta contorna-los para não precisar procurar outra solução, muitas vezes por preguiça de sair da zona de conforto.

Bugginho, você está dizendo para eu largar minha mulher porque ela não me trata bem?

Não, amiguinho. Estou dizendo para quando você achar uma bug na tecnologia que você usa, ou você ajuda a resolver ou você revê se de fato vale a pena utiliza-la. 😉

Eu mesmo, quando estava começando, dizia muitas vezes essa frase. No começo eu achava que não precisava aprender OO, porque eu conseguia fazer o que eu quisesse com funções, depois passei a achar que não precisava utilizar MVC porque a forma que eu trabalhava já me atendia bem, depois passei a achar que não precisava usar um framework conhecido, porque eu podia fazer um melhor, e assim vai.

A grande questão é que as vezes demora para a gente amadurecer, e quando temos esse tipo de pensamento, demora ainda mais e ficamos para trás, porque abrimos mão de muita, mais muita coisa mesmo.

2. “Não existem erros de segurança no CI”

Cara, existem sim, assim como existem no Laravel, no Spring, no Rails, no Django, no .Net, no Windows, no Linux, no Mac OS, no Android, etc. Falhas de segurança são descobertas a todo tempo e isso é algo muito sério que requer muito cuidado e atenção. Não é porque você fez um teste de penetração em sua aplicação e ele indicou que não há falhas que de fato não há falhas. Independentemente da linguagem ou Framework que você utilizar, sempre fique de olho nas comunidades e no github para ficar a par de atualizações de segurança.

3. “Sistemas de banco foram criados com o CI”

Resultado de imagem para meme rindo gif

Um banco jamais utilizaria um Framework tão simples para construir nada que requer segurança extrema. No máximo o banco em questão deve ter construindo um sistema interno para controlar quantas resmas de papel tinham no estoque.

4. “Com o CI você pode desenvolver aplicações de qualquer nível”

Bem, aqui eu volto a frase do início do post “QUEM SÓ TEM MARTELO PENSA QUE TUDO É PREGO“. Sim, você até pode construir um ERP completo e complexo com o Codeigniter, ou uma Rede social com o Facebook, mas a experiência, tanto de construir quanto de manter será traumatizante e você levará 100X mais tempo do que se utilizasse outras ferramentas. Fora isso, chegará em um ponto que você verá que o desempenho começará a ficar comprometido porque você está fazendo gambiarras para as coisas funcionar como você espera que funcione.

5. “Erros sempre existirão e estamos aqui para corrigi-los”

Sim, os erros infelizmente existem, mas não devemos trata-los como uma coisa inerente do nosso trabalho como desenvolvedor, muito pelo contrário existem metodologias como o TDD que visam eliminar ou pelo menos minimizar a probabilidade de erros em nossas aplicações. Colocar um sistema no ar, de qualquer jeito e esperar o usuário achar um erro para só então corrigi-lo, não é uma das melhores coisas a se fazer.

Enfim, eu sei que as vezes utilizamos um Framework que nós temos experiência só para poupar tempo, mesmo sem analisar o cenário e os requisitos da aplicação, mas isso não deve se tornar um hábito. Fora isso, é sempre interessante estar com a mente aberta para novas tecnologias e metodologias, assim podemos evoluir muito como profissionais.

Valeu amiguinhos!!!

Bugginho Developer

Comentar

Your Header Sidebar area is currently empty. Hurry up and add some widgets.