Por Um Punhado De Bits: Adote Um Release

Artigos Renato Degiovani Últimas notícias
Compartilhe

Vou narrar duas passagens, para ilustrar um ponto que todo desenvolvedor deve avaliar com muito cuidado. Tempos atrás estava desenvolvendo uma nova função para o meu sistema de Micro Aventuras e estava, como se diz, malhando em ferro frio. O sistema é formado por três bases: php, html e javascript, tendo como administrador de dados o MySql.

O problema estava no PHP que, na minha opinião, é a linguagem mais insana que eu já usei em toda a minha vida de programação. Tenta de um jeito, tenta de outro e nada da função funcionar como eu queria. Não era um mero caso de erro de sintaxe ou não observância de alguma regra obscura mas a simples lógica da programação, ou falta dela.

Corte (só pra quem não conhece, saboreie a insanidade): no PHP existem três formas de usar o sinal “=”. Um único caracter indica uma atribuição, do tipo isso é “igual” aquilo ($Px = 10); dois caracteres “==” indica condição de igualdade, ou seja se isso é igual aquilo então faz alguma coisa. E existe o uso de três caracteres “===” que também é uma condição de igualdade. Como assim? Se uma coisa é igual a outra, ponto final. Não tem como ser “mais” igual que isso.

No PHP tem, ou seja, não basta duas coisas serem iguais, mas elas tem que ser iguais até na sua natureza, tipo um inteiro só pode ser igual a outro inteiro. Mas não era assim antes, no caso “==”? Não. Aqui, um inteiro pode ser igual a uma string. Bugou o cérebro? Pois é, bem vindo ao PHP.

Enfim, estava lá tendo minhas desavenças com a lógica quando os diabinhos que ficam martelando a cabeça da gente falaram: usa goto. Só pra situar, nas esferas mais esnobes da programação, a instrução goto é tida como algo de quinta categoria. Usada apenas por deficientes intelectuais. Pra mim isso não tem a menor importância e se goto resolve, vamos de goto. Só que a versão PHP instalada no servidor não tinha goto (pra você ver que quem fez o PHP era meio elitista mesmo).

Sem problema, bastou atualizar a versão (uns 4 releases à frente) e crau: minha vida passou por um inferno astral da programação. Tudo parou de funcionar apenas porque a turma do PHP não tem a menor preocupação com quem usou releases anteriores ao último e mudam, na cara dura, não apenas sintaxes como ordem de parâmetros e até mesmo desaparecem com instruções. Perto do PHP o Windows merece o oscar da programação limpa e eficiente.

Mas vamos lá. Na sequência, tempo e esforço descomunal para colocar tudo nos conformes e fazer todos os arquivos voltarem a funcionar normalmente. Tudo por uma instrução de quinta categoria, mas é o que tinha. Lição aprendida? Mais ou menos.

Recentemente, numa ensolarada manhã de labuta, vou conferir o site e nada está funcionando direito. Erros atrás de erros. Pesquisa daqui, pesquisa dali e finalmente descobri que o PHP estava estrilando em alguns pontos. Mas ué, eu não mudei nada da noite anterior, quando tudo estava funcionando bem. Só pode ser release.

Bingo, sem minha expressa autorização, o provedor atualizou a versão do PHP na minha hospedagem e deu caca. Igualzinho da outra vez, só que dessa vez não foi culpa minha e o tempo que gastaria refazendo e conferindo tudo, usei para escrever uma mensagem delicada e enaltecedora para os “técnicos” da dita hospedagem. Claro que voltei ao release anterior e tudo funcionou às mil maravilhas.

Moral disso tudo: não tem como não depender de algum sistema, linguagem, regras de fluxo da internet, etc. Mais cedo ou mais tarde uma coisa dessas acontece com a gente e já ouvi historias horripilantes de releases da Unreal. Por isso sempre mantenho um pé atrás: tá funcionando no release X, então deixa quieto. Resista à tentação de atualizar uma ferramenta apenas por atualizar. Acredite, sua paciência e seu fígado agradecem.

Então, se quiser criticar, elogiar, xingar, falar palavras de incentivo, mandar pix pra ajudar na aposentadoria, etc, o canal mais eficiente é o velho e surrado e-mail: renato@tilt.net. Sinta-se livre pra descer o sarrafo porque nesta altura do campeonato, meu amigo, eu já sofri todas as críticas positivas e negativas que um gamedev pode sofrer.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *