Programação “solo”


Sabem, eu sou programador desde mais ou menos 1998, programei em várias linguagens já, de tipos variados, com lógicas e estruturas de dados bem diversificadas. O que gosto nisto é a diversidade de conhecimento adquirido, que me tráz uma boa bagagem para as próximas “batalhas” !

Muitas vezes, quando estou programando, me pego “reinventando a roda”, programando muitas coisas que já existem no mercado a algum tempo ( as vezes mais, as vezes menos ), principalmente em forma de bibliotecas, ou classes auxiliares, ou scripts úteis, seja o que for, como se eu fosse o dono da verdade: — Esta feature fui eu que fiz!

Mas porque esta “ignorância computacional” ( hehe, belo termo ! ) ? Pelo simples fato de que eu gosto de manter o controle do que estou programando, sabendo cada detalhe e mantendo o máximo de padrão ( e o que vem por padrão na linguagem ) possível no projeto. Ou seja, não gosto de ficar me prendendo a bibliotecas e códigos que me amarram e amarram o projeto no qual estou trabalhando. O que parece ser o propósito de muitas bibliotecas ( principalmente em Java ). Veja bem, não é da linguagem Java que estou falando, mas sim, como são programadas as libraries de terceiros. E existem muitas que nos ajudam realmente e fazem coisas que você levaria muuuuuito tempo para criar no projeto.

Quando crio minhas classes que vão fazer pouca coisa, e necessitam ser levadas para todos os lados, rodar em todos os clientes ( por exemplo ) eu tento não utilizar libs, e sim fazer tudo na mão, com o próprio Java ( ou qualquer outra linguagem que for utilizada para tal ), para que não tenha que ficar criando um “pacote” de instalação para um pequeno programinha auxiliar…

E isto é um dis itens que me levaram também ao Django, criado em Python. Com python temos muitos facilitadores na própria linguagem, fazendo-se desnecessários ter sempre um monte de libs junto para fazer as coisas mais bizarras. Python realmente cumpre o que promete: KISS !

Simplicidade, facilidade, com agilidade e segurança. É assim que posso definir o Django.
Com o Django eu procuro ao máximo não ficar me prendendo às apps disponiveis, pois acabo me prendendo também a elas. Mas depende do caso claro, eu uso as apps, que são ótimas, mas por exemplo: quando eu atualizar a minha versão do django preciso fazer isto controladamente, pois tenho que saber se a app utilizada no meu projeto já está portada ( caso necessário ) para este nova versão do framework. E isto, acaba travando meu projeto em algum dado momento. Nestes casos, seria melhor eu pegar o código da app e acoplar ao meu projeto, como se eu a tivesse criado, para poder “dominar” seu código, e assim poder modificar o que for necessário para meu “problema”. Porém em outros casos, realmente vale a pena utilizar uma lib ou app de terceiro, pois o esforço de controlar sua versão e/ou compatibilidade vai ser extremamente menor do que o de refazer sua funcionalidade.

Cada caso é um caso, tem sempre que avaliar o que vale mais a pena, mas com o Django e Python, tenho diminuido muito meu retrabalho, mesmo não utilizando tudo que tenho disponivel em termos de app para Django, e a simplicidade do Python é fantástico !

Manter o controle total do que acontece no seu projeto lhe tráz vantagens, como:
– Saber o que fazer quando acontece um erro ( principalmente os mais estranhos ! )
– Você saberá direitinho como adicionar aquela nova feature no seu projeto, fazendo isto da melhor forma possível
– Você tem como programar cada linha de código para que trabalhe com o melhor custo-benefício no projeto
– Você seguirá um padrão quase que intuitivamente, nem que seja um padrão pessoal, facilidanto assim uma manutenção futura

Entre outras que não me vem a cabeça neste momento… E claro, controle a atenção são sempre necessários para um bom programa !

Até mais..

Anúncios

2 Comments

  1. Oi Sérgio,

    Muito bom seu artigo.
    Estou começando a programar em Python e é mesmo uma linguagem incrível.
    Uso tambem o Scriptcase em PHP como framework, mas ele nao vem me agradando muito utlimamente…
    O Django o substituiria numa boa?
    Fazer um site para controle de vendas em Django… é algo muito complicado? Em outras palavras: o Django é simples de usar?

    Curtir

    Responder

    1. Oi Alex,
      Olha, não conheco este framework, mas o Django é um framework que prima pela simplicidade.
      Ele trabalha com MVC (Model View Controler), tem um sistema de banco de dados muito bom, com praticamente tudo que precisamos, tem um sistema de tamplates ótimo e fácil, além de completo, e ele trabalha com o sistema de aplicações acopláveis, sendo que encontramos muitas delas por ai na internet. A documentação é muito boa no site e a comunidade do Django está muito ativa e criando aplicações muito interessantes. Eu utilizo também o framework ExtJS complementando a interface. Ah, fora que o Django cria um backend de administração automaticamente para nos auxiliar, o qual podemos também estilizá-lo com css e js.
      Com certeza com o Django você vai conseguir criar um controle de vendas.
      Um abraço.

      Curtir

      Responder

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

w

Conectando a %s