Joel on Unicode
O Mínimo Absoluto que Todo Desenvolvedor de Software deve Absolutamente, Positivamente Saber Sobre Unicode e Conjunto de Caracteres (Sem Desculpas!)
Por Joel Spolsky da Fog Creek Software
Abstrato:
Há muita gente que se pergunta o que são aquelas misteriosas tags “Content-Type”. Sabe, aquelas que aparecem no HTML e ninguém sabe o que significam?
Quem já não recebeu um e-mail de seus amigos da Bulgária em que a linha de assunto é “?
?”?
Fico desanimado quando descubro quantos desenvolvedores de software nada entendem de conjuntos de caracteres, codificação, nem de Unicode. Há alguns anos, um testador beta imaginava se o FogBugz poderia tratar e-mails vindo do Japão. Japonês? E existe e-mail em japonês? Eu não sabia. Ao olhar mais detidamente os controles ActiveX que adquirimos no mercado e que usávamos para analisar conteúdo MIME de e-mails, descobri que eles tratavam de forma completamente errada os conjuntos de caracteres, por isso tínhamos que escrever códigos heróicos para desfazer as conversões erradas e refazê-las corretamente. Quando investiguei outra biblioteca comercial, esta, também, possuía uma implementação do conjunto de caracteres completamente sem nexo. Contatei o desenvolvedor desta biblioteca e ele meio que disse que “não poderia fazer nada”. Como muitos programadores, ele desejava que o problema, de alguma forma, sumisse, fosse varrido para debaixo do tapete.
Sobre o Tradutor: Paulo André de Andrade é Engenheiro Eletrônico e Diretor da OLYMPYA TI, responsável, no Brasil, pela comercialização dos softwares da Fog Creek -
www.fogcreek.com.br - Paulo André atua em Informática desde 1971 em setores que vão de Engenharia de Qualificação de Componentes para Hardware, Engenharia de Produtos de Hardware, Desenvolvimento de Hardware e Software, Desenvolvimento de Negócios, Marketing e Vendas de Software e Consultoria em Gerência de Projetos e em Serviços de Informática.
Veja este artigo completo e, outros a respeito de desenvolvimento de Software e gerencia de projeto em:
http://www.scribd.com/groups/view/10541-desenvolvimento-e-gerencia-de-software