Durante o estágio encontrei diversas dificuldades. As principais estiveram relacionadas às ferramentas disponíveis para a construção
do sistema, das quais se destacaram: Sybase 11.9 e PHP3.
Problemas com o Sybase 11.9:
- Edição de colunas:
- Esta versão não permitia que colunas fossem removidas ou tivessem seus tipo alterados, dificultando muito as alterações que se fizeram necessárias durante a evolução do sistema.
- Criação de funções embutidas:
- Estou chamando de funções embutidas, qualquer função que possa ser aplicada diretamente num campo da query.
Por exemplo: a função ``UCASE'' é uma função embutida, uma vez que eu posso realizar a seguinte query ``SELECT UCASE(nome) FROM Pessoas''.
Se o Sybase 11.9 permitisse a criação de tais funções então, um problema que o sistema de busca tinha em realizar buscas
aproximadas poderia ser resolvido. Neste tipo de busca, os acentos9 devem ser ignorados, ou seja, uma pesquisa pela palavra ``Fábio'' deveria retornar campos com valores: ``*Fabio*'', ``*Fábio*''.
A versão mais nova do Sybase(12.5), permite a criação de funções embutidas em Java, desta maneira, o problema anteriormente citado, poderia ser facilmente resolvido.
O Sybase 11.9 possuía outras limitações mas, estas foram as que mais dificuldades trouxeram ao desenvolvimento do sistema.
Problemas com o PHP3:
- Sessões:
- Esta versão do PHP não possuía este recurso logo, precisei recorrer ao uso de cookies que, além de tornarem o código menos legível, ainda trouxeram problemas de segurança ao sistema.
- Recarregamento de páginas:
- Ocorriam diversos erros ao se utilizar o sistema de busca com esta versão do PHP, tanto que quando o PHP4 foi instalado os problemas desapareceram.
- Classes:
- Por fornecer pouco suporte ao uso de classes, a opção foi de não utilizá-las.
- Biblioteca de funções:
- Diversas funções que existem no PHP4 não estão presentes no PHP3, por exemplo: algumas funções que realizam operações sobre ``strings''.
Algumas vezes foi necessário criar funções que já existiam na versão mais nova do PHP o que foi uma experiência desanimadora.
Foi realmente frustrante perceber que, muita força de trabalho tinha sido gasta tentando-se contornar algumas limitações das ferramentas utilizadas, ficando claro que se versões mais novas tivessem sido usadas, o tempo poderia ser melhor aproveitado, na construção de um sistema melhor.
Isto, porém, troxe à tona a seguinte reflexão: as ferramentas estão em constante evolução e, sempre haverá problemas e limitações com as mesmas,
logo, é preciso saber lidar com este fato. Desta maneira, posso dizer que foi bom me deparar com esta realidade e poder contorná-la.
- ... acentos9
- Além de ignorar acentos, a busca aproximada não diferencia maiúscula de minúsculas mas, isso foi realizado sem problemas
Fabio Pisaruk
2004-12-07