Arquivo

Textos com Etiquetas ‘Tradução’

Livros técnicos em inglês X Livros técnicos em português

3 de abril de 2010

Não quero criar mais uma polêmica sobre a qualidade dos livros técnicos em português, escassez de publicações originais, traduções problemáticas, dificuldade dos leitores em ler livros em inglês, etc. Diversas opiniões e discussões como essa e essa existem aos montes. Somente quero relatar minhas experiências relacionadas a esse assunto e dar minha singela opinião a respeito.

Quando comecei a programar em 2000, sempre procurava material de estudo em português, seja na Internet ou um livros. O mesmo acontecia quando estava na faculdade e emprestava livros de sua biblioteca. Aliás, em geral eu sempre estava com algum livro emprestado de lá.

Em torno de um ano depois, eu precisava fazer o TCC da pós-graduação e somente havia encontrado material em inglês sobre o assunto que meu grupo escolheu. Isso me obrigou a traduzir uma série de artigos e documentações, o que não foi nada fácil. Mas isso melhorou muito meu “vocabulário técnico” e passei a dar mais atenção em material em inglês, principalmente documentação de referência de linguagens e plataformas.

Ficou claro para mim que era inevitável conhecer inglês para ser um bom desenvolvedor.

Mesmo estudando inglês, nessa época, se houvesse um livro em inglês com tradução em português, eu sempre dava preferência para os livros em português, por esse motivos:

  • Eram mais baratos: o frete e o preço do dólar encarecia os livros importados;
  • Eram mais acessíveis, pois eu os encontrava em qualquer boa livraria sem ter que encomendá-los;
  • Eu os lia mais rápido comparados com livros em inglês;
  • Livros em formato digital não me atendiam, pois grande parte do meu tempo de leitura se dava em viagens de ônibus e/ou metrô;
  • Eu não prezava a qualidade (ou ainda não tinha noção da má qualidade de algumas traduções.

Minha carreira foi evoluindo e com isso a necessidade de se atualizar e de adquirir novos conhecimentos cada vez mais rápido. Não dava para esperar um ou dois anos para alguma editora nacional decidir traduzir um livro. Novamente a necessidade me ajudou, passando a não dar mais preferência para os livros em português.

Lendo livros em inglês e comparando-os com suas versões traduzidas, notei que a maior parte dos livros em português pecam demais em qualidade. São muitos erros, traduções absurdas, traduções ao pé da letra, trechos que não são traduzidos e por aí vai. Eu posso contar nos dedos quantos livros traduzidos que eu li que realmente eram fiéis às suas versões originais.

Atualmente, além de preferir os livros em inglês, também dou preferência para as versões digitais, como em formato PDF. Tenho a possibilidade de lê-los em meu notebook, principalmente nas viagens de ônibus fretado que faço todos os dias. Além disso, considero como uma pequenina contribuição para o meio ambiente.

Com o hábito, você vai aprimorando sua leitura em inglês a cada dia, o que aos poucos vai ser tornando algo natural. No começo pode ser difícil, eu sei, já passei por isso. Mas se você pretende ser mais do que um desenvolvedor medíocre, é um passo inevitável.

Se você ainda não tem a segurança de ler um livro técnico em inglês e precisa estudar sobre um determinado assunto agora, leia a versão em português (se existir uma). Não há nenhum pecado nisso. Mas se esforce para conseguir ler em inglês logo. Estude, invista na sua carreira. Se precisar de uma motivação a mais, leia esse artigo do Fabio Akita.

Caso você seja fluente em inglês ou não tem nenhum problema em ler livros em inglês, é claro que você vai esquecer os livros em português, a não ser que seja uma produção original e não uma tradução. Mas também ajude e incentive seu companheiro de trabalho ou estudo à prática da leitura em inglês, ao invés de discriminá-lo por estar lendo um livro em português ou por ter dificuldades de ler em inglês, algo que eu já vi muito acontecer. Afinal, assim como você, ninguém já nasceu sabendo.

Livros ,

[Tradução] Qual é a diferença entre os operadores “as” e “cast”?

29 de outubro de 2009

Muitas pessoas lhe dirão que a diferença entre “(Alpha) bravo” e “bravo as Alpha” é que o primeiro lança uma exceção se a conversão falhar, enquanto que o segundo retorna null. De qualquer forma isso é correto, e isso é a diferença mais óbvia, mas não é a única diferença. Há armadilhas para se tomar cuidado aqui.

Primeiro, desde que o resultado do operador “as” pode ser null, o tipo do resultado precisa ser um dos que aceitam um valor nulo: um tipo referência ou tipo valor nullable. Você não pode fazer “as int”, isso não faz sentido. Se o argumento não é um int, então qual valor de retorno deveria ser? O tipo da expressão “as” é sempre um tipo nomeado, então ele precisa ser um tipo que pode receber null.

Segundo, o operador cast, como eu discuti antes, é uma besta estranha. Ele significa duas coisas contraditórias: “verifique para ver se o objeto realmente é desse tipo, lance uma exceção se não for” e “esse objeto não é do tipo informado; encontre um valor equivalente que pertença ao tipo informado”. O segundo significado do operador cast não é compartilhado pelo operador “as”. Se você diz

short s = (short)123;
int? i = s as int?;

então você está sem sorte. O operador “as” não fará conversões “representação-substituição” de short para int nullable como o operador cast faria. Similarmente, se você tem uma classe Alpha e uma outra classe não relacionada Bravo, com uma conversão de Bravo para Alpha, então “(Alpha) bravo” será convertido, mas “bravo as Alpha” não. O operador “as” apenas considera conversões de referência, boxing e unboxing.

E finalmente, é claro que o uso dos dois operadores são superficialmente similares, mas semanticamente completamente diferentes. O cast comunica para o leitor “Eu estou certo que esta conversão é legal e eu concordo em receber uma exceção se eu estiver errado”. O operador “as” comunica “Eu não sei se esta conversão é legal ou não; nós vamos tentar e ver o que acontece”.

Esse texto é uma tradução do post original que Eric Lippert, engenheiro de software da Microsoft, publicou no seu blog Fabulous Adventures In Coding. A versão original você pode ler aqui.

Observação: Essa é minha primeira experiência em tradução de artigos técnicos. Seu comentário expressando sua opinião a respeito é muito bem vinda.

.NET , , , , , ,