Depuração extrema

February 21st, 2007 § 4 comments

Qual desenvolvedor não precisou de corrigir um problema em produção e teve que passar por todo o processo de avisar os usuários, marcar um horário de downtime, tirar o programa do ar, enviar as mudanças, colocar o programa no ar novamente, rezar para dar tudo funcionar direitinho e repetir até dar certo?

Quando você usa uma linguagem de scripting, sem a necessidade do passo de compilação, a situação é um pouco melhor, mas não muito. No caso de compilação, a não ser que o servidor tenha sido montado com boas características de depuração (o que geralmente não é o caso), o ciclo é lento e doloroso.

Imagine então a possibilidade de fazer uma conexão para dentro de seu programa (que está rodando em outro servidor ao qual você não tem acesso direto) e não só poder depurar passo a passo o que está acontecendo enquanto o programa continua funcionando e os usuários continuam acessando o mesmo, como também poder corrigir o erro e continuar depois com todo o estado inalterado–correções a quente mesmo–sem nenhum ciclo adicional?

Isso é exatamente o que o RFB para o Squeak faz. Ele transforma uma imagem qualquer em um servidor VNC permitindo acesso remoto mesmo a instâncias rodando headless (sem interface gráfica), com todas as facilidades existentes na imagem em questão. Depuração extrema sem esforço.

Isso só me faz pensar no quão pouco nós aceitamos, como desenvolvedores, em termos de linguagem.

§ 4 Responses to Depuração extrema"

  • Luiz Rocha says:

    Pois é. É o que a gente conversou a alguns posts atrás…

    A realidade mercadológica força a adoção de um denominador comum. Em linguagens, essa busca pelo denominador comum faz com que se adote tecnologias que estão abaixo do par.

    As linguagens que se mantém afastadas do crivo mercadológico evoluem livremente e sempre trazem inovações como essa que vc mostrou.

  • Ronaldo says:

    Eu até entendo e aceito a necessidade de mercado e o fato de que programadores não podem escolher o que desejam onde trabalham.

    Mas eu acho que mesmo assim, os programadores acabam se conformando e ficando somente naquilo que o mercado exige até fora do mesmo. Já perdi a conta de colegas de trabalho que adoram programas mas jamais teriam coragem de aprender Ruby ou Lisp. Acham que ficariam desatualizados em suas linguagens “oficiais”. O resultado é que a evolução pára, de uma maneira geral. Acho que o PHP é o melhor exemplo disse, ironicamente.

    Fazer o quê, não é?

    (Preciso sair dessa fase depressiva logo: já estou começando a falar até em velhice.)

  • Luiz Rocha says:

    É uma distorção de valores. Profissionais de ramos de conhecimento (programação e outros — cito a engenharia civil, aonde fui criado :-)) se perdem no que o mercado dita e esquecem que o seu valor é justamente o conhecimento.

    Na engenharia civil, a evolução é mais lenta e, conseqüentemente, a estagnação gerada pelo mercado é bem menos perceptivel. O profissional especialista vertical demora para sentir o peso de não olhar mais para fora do mundo em que vive.

    Num ramo como o nosso, isso não é verdade. Pensando em PHP, quantos programadores de PHP não desdenharam de OO quando ela foi introduzida na linguagem? Quantos não julgaram isso como algo desnecessário? Mesmo que fosse, aprender não custaria nada, muito pelo contrário, abriria a mente de uma dezena de desenvolvedores.

    Agora o que tem me assustado bastante é o fato de muita das coisas “novas” que tem surgido serem reedições de coisas “das antigas”. Smalltalk, por exemplo.

    Preciso sair dessa fase depressiva logo: já estou começando a falar até em velhice.

    Idem aqui. :-) O ano começou agitado e algumas indefinições estão me deixando muito ranzinza. A minha saída é por a culpa no Governo. Sempre funciona. 😉

  • Ronaldo says:

    Cara, falou exatamente o que eu não consegui expressar no meu último parágrafo. Essa birra com o OO do PHP, esse espanto com coisas que já estão disponíveis há vinte, trinta anos: exatamente.

    Dá até para imaginar uma cena: a Microsoft lança o Lisp# e todos programadores do mundo falam da inovação que é, uma linguagem toda cheia de parênteses ao invés de chaves.

    Eu estava conversando com um rapazinho, quando estive no Tocantins, e ele estava me dizendo que estava para entrar em Ciência da Computação, querendo saber se era um curso bom. E eu fiquei sem saber o que dizer, depois de ver tanta gente jogar fora o conhecimento adquirido do mesmo. Acabei falando com ele mais sobre como aproveitar o que ele verá do que propriamente sobre o curso. Espero que ele se lembre disso.

    Idem aqui. :-) O ano começou agitado e algumas indefinições estão me deixando muito ranzinza. A minha saída é por a culpa no Governo. Sempre funciona. 😉

    Pois é. Eu estou com tanta coisa misturada que até o GTD está ficando sobrecarregado. Mas, depois de dormir um pouco, ver alguns filmes, ler um livro, estou melhorando. :-)

Leave a Reply

Your email address will not be published. Required fields are marked *

What's this?

You are currently reading Depuração extrema at Superfície Reflexiva.

meta