микрозаймы онлайн займы на карту займы по паспорту

Desenvolvimento com Frameworks: Bom ou Mau? 9

Recomendo à todos que estão iniciando no mundo da programação, e queiram começar a aprender frameworks (não necessariamente Laravel), que primeiro leiam esse post publicado pelo João Batista Neto.

Conclusão

Não, você não está ficando maluco e sim, estou começando o texto pelo fim. Por um lado, começar pelo fim é bom, pois evita desentendimentos sobre aquilo que quero dizer. Por outro lado é mau, pois como posso concluir um texto, se nem comecei a escrevê-lo?

Pode parecer estranho, concordo, mas é assim que tenho visto muita gente fazer em relação ao desenvolvimento de software. Começam a estudar um framework, antes de compreender o funcionamento de determinada linguagem. Utilizar framerowks é bom? É óbvio que é, mas apenas quando se conhece antes, a linguagem que vai ser utilizada.

Que tipo de desenvolvedor é você?

Você é um desenvolvedor Rails, ou um desenvolvedor Ruby que também conhece um framework? Você é um desenvolvedor jQuery, ou um desenvolvedor Javascript que também conhece um framework? Um desenvolvedor Laravel, ou um desenvolvedor PHP que também conhece um framework?

A diferença é bastante simples: O desenvolvedor que conhece a linguagem, antes de conhecer um framework, saberá como trabalhar com o framework X, Y ou Z, mas também saberá quando o framework não resolve seu problema. Saberá escolher um framework adequado para seu caso de uso e, principalmente, saberá identificar as limitações do framework e lidar com essas limitações. Seja estendendo-o, através da adição de novos recursos, ou utilizando compartimentos, que encapsulam o problema que precisa ser resolvido, utilizando essa abstração com a interface do framework.

Quando o desenvolvedor conhece apenas o framework, ele não é capaz de fazer isso. Pelo contrário, ele vai tentar adaptar a ferramenta ao problema. Seria como se tivéssemos um parafuso e o profissional soubesse apenas como utilizar um martelo. Em vez de procurar a ferramenta adequada, ele vai martelar o parafuso até descobrir que não vai dar certo, ou causar um problema maior que o inicial.

É indiscutível que os frameworks facilitam as coisas. Não há argumentos que possam comprovar o contrário. Porém, essas mesmas facilidades trazidas pelos frameworks, estão limitando os desenvolvedores mais jovens.

Tenho visto pessoas perguntando como fazer operações aritméticas simples, como uma soma, utilizando jQuery. Ainda, tenho visto pessoas perguntando sobre como fazer X ou Y em Java, deixando claro que estão utilizando jQuery – Sim, a pessoa não compreendeu sequer que Java e Javascript são duas coisas distintas, pois, segundo seu ponto de vista, está programando em jQuery.

Os casos desse tipo tem se tornado cada vez mais comuns e, na grande maioria das vezes, o desenvolvedor domina tanto um framework, que as limitações do framework se tornaram as limitações do próprio desenvolvedor.

Muitas vezes as pessoas alegam que o mercado é o responsável por isso. Dizem que, por causa do sistema de competição, da necessidade de inovação rápida, não há tempo hábil para se começar a estudar a linguagem antes do framework.

Muitas empresas, ditas “startups”, têm incentivado aos desenvolvedores mais novos para que comecem logo a estudar um framework, para que possam produzir rapidamente e, assim, entregar os produtos na velocidade que a startup precisa para sobreviver no mercado. Esse movimento de incentivo ao uso de frameworks de forma precipitada, tem formado máquinas reutilizáveis, mas incapazes de pensar em soluções. Esse movimento está estragando os desenvolvedores mais novos.

Sinceramente, acredito que o tema framework deveria ser matéria proibida para os desenvolvedores mais novos. De fato, acredito que, se o desenvolvedor for incapaz de desenvolver alguma coisa sem utilizar um framework, então ele não deve utilizar um framework. Obviamente, esse desenvolvedor não deveria sequer ser responsável pelo projeto, mas ai já é outra história.

Enfim, vou deixar uma citação que gosto muito. É de Albert Einstein:

Não basta ensinar ao homem uma especialidade, Porque ele se tornará assim uma máquina utilizável, mas não uma personalidade. É necessário que ele adquira um sentimento, um senso prático daquilo que vale a pena ser empreendido, daquilo que é belo, do que é moralmente correto. A não ser assim, ele se assemelhará, com seus conhecimentos profissionais, mais a um cão ensinado do que a uma criatura harmoniosamente desenvolvida. Deve aprender a compreender as motivações dos homens, suas quimeras e suas angústias para determinar com exatidão seu lugar exato em relação a seus próximos e à comunidade.

Essas reflexões essenciais, comunicadas à jovem geração graças aos contatos vivos com os professores, de forma alguma se encontram escritas nos manuais. É assim que se expressa e se forma de início toda a cultura. Quando aconselho com ardor ‘as humanidades’, quero recomendar esta cultura viva, e não um saber fossilizado, sobretudo em história e filosofia.

Os excessos do sistema de competição e especialização prematura, sob o falacioso pretexto de eficácia, assassinaram o espírito, impossibilitaram qualquer vida cultural e chegam a suprimir os progressos nas ciências do futuro. É preciso, enfim, tendo em vista a realização de uma educação perfeita, desenvolver o espírito crítico na inteligência do jovem. Ora, a sobrecarga do espírito pelo sistema de notas entrava e necessariamente transforma a pesquisa em superficialidade e falta de cultura. O ensino deveria ser assim: quem o recebe o recolha como dom inestimável, mas nunca como uma obrigação penosa.

Link para o post original: aqui

  • fhferreira

    Ótimo texto, fantástico. Parabéns “João”, uma abordagem completa sobre o quem vem acontecendo cada vez mais e se não for dada uma atenção, só teremos programadores de frameworks, pessoas que querem tudo pronto, mastigado, sem entender o que realmente está sendo feito e que parafusarão com martelos como você disse.

  • Carlilton

    Ótima texto.

    Já se foi aquele tempo em que a gente comprava um livro e ficava feliz da vida quando se conseguia fazer um hello world. Hoje os novos programadores já querem fazer uma aplicação na primeira semana de estudo. Aí quando precisa fazer alguma coisa que o framework não contempla, vem o desespero.

    • Beto Esbelto

      Na verdade, eles querem livros e video aulas, mais conhecidos como tutoriais, que os ensinem a fazer um facebook da vida, ao invés de aprender a programar, só querem ficar ricos com os tutoriais da net.

  • Pedro Amorim

    Concordo e assino em baixo. “Conclusão” no inicio do texto foi uma ótima tática de prender o leitor rsrs

  • http://www.diariodebalsas.com.br Sebastião Ricardo

    Parabéns pelo texto, é uma ótima reflexão sobre o cenário atual do desenvolvimento de Software. Há 10 anos eu ingressei numa graduação de Análise e Desenvolvimento de Sistemas e me assusta ver como esse mundo mudou (evoluiu) tão rapidamente. Eu programo em PHP desde 2006 e resisti muito a usar um framework por conta das limitações, pois na agência onde trabalhava as demandas não eram tão simples e recursos e soluções específicas eram necessários. Acabei desenvolvendo o meu próprio “framework” e CMS, que na realidade era o suficiente para resolver os meus problemas e ter o controle suficiente para criar novas funcionalidades ou resolver qualquer problema específico usando apenas a própria linguagem de programação. Hoje eu sou professor de lógica de programação e prezo muito por ensinar aos meus alunos a linguagem, e não apenas as ferramentas. Antes do aluno aprender a programar em Java usando o Eclipse, por exemplo, ele aprende a instalar o JDK, configurar variável de ambiente e a escrever os códigos usando o bloco de notas e compilar no prompt de comando. Neste momento estou estudando laravel, na expectativa de criar desenvolver um novo CMS, dessa vez “extensível”, alicerçado em um framework robusto e completo, bem documentado, cuja integração em uma equipe seja mais facilitada, mas que não engesse as soluções em componentes ou classes fechadas. Acho que já falei demais. Abraço galera!

    • Beto Esbelto

      Nós deveríamos nos conhecer hahaha!
      Exatamente como eu penso. Parabéns para você, pois é um excelente professor só pelo que disse aqui!

  • codigogm

    Acho que antes de se estudar um framework deve-se aprender as linguagens utilizadas para se fazer um projeto web, estudar bem a linguagem, estudar bem o paradigma orientado a objetos, entender e fazer um projeto MVC. Depois sim, começar a estudar um framework.

  • Beto Esbelto

    Exatamente como eu penso!
    Se a pessoa não sabe programar uma simples conta de adição na linguagem do framework que ela quer utilizar(ou pensa utilizar), ela deveria ser logo alertada ou deveria ser auto-crítico e ter o bom senso de não prosseguir com tal ferramenta, até que saiba ao menos programar coisas simples, partir para um sisteminha de recados, depois algo um pouco mais complexo, para daí então partir para algum framework que traga segurança e estabilidade, além de tudo, rapidez no desenvolvimento. Quem pode utilizar um framework na verdade, é todo programador que consiga pensar no seu próprio CRUD reutilizável, pois já na prática é um “mini framework” por assim dizer.

  • http://www.hseletronicos.com.br hs_eletronicos

    Isso me fez lembrar dos tempos de escola… Onde que a criançada nova, recebia uma tarefa de pesquisa ou trabalho para casa e simplesmente davam um jeito de entrar no google, copiando textos inteiros de páginas, colava-se no word e depois imprimiam e entregavam os seus trabalhos… Olha só como a educação está no Brasil depois de apenas 8 a 10 anos dessa prática :/ … Preciso dizer mais alguma coisa??