17

Gostaria de saber qual é a melhor forma de traduzir para o português as seguintes expressões em inglês, utilizadas na área de programação de computadores. Tais expressões são um tanto difíceis de traduzir na prática, e por isso muitas pessoas acabam deixando-as em inglês mesmo. Qual é a tradução mais adequada?

  • Deprecated - Utilizado em um contexto tal como "the older function was deprecated because it was inherently unsafe."

  • Buffer - Utilizado em um contexto tal como "To improve I/O performance, a buffer with at least one megabyte should be used."

  • Array - Utilizado em um contexto tal como "You should iterate the array sequentially in order to compute the result." - Já vi gente traduzindo isso como "vetor", mas acho que é uma tradução ruim porque colide com "vector". Já vi gente traduzindo como "arranjo", mas isso soa esquisito, pois não parece ter o mesmo sentido.

  • String - Utilizado em um contexto tal como "The program is just printing a long string in the file."

  • Prompt - Utilizado em contextos tais como "After a couple of minutes, the program presented a prompt message to the user." ou então "The user then should type the following instruction in the command prompt."

  • Input e output - Utilizados em um contexto tal como "After the input is received and processed, some data is sent as output through SOAP messages."

  • Socket - Utilizados em um contexto tal como "The program connects to a TCP socket in order to send and receive data."

  • Framework - Utilizado em um contexto tal como "We should use a framework to avoid needing to manually code all the MVC logic."

  • Input e output = entrada e saída respectivamente. Deprecated poderia ser "obsoleto". Já buffer e framework são usadas quase que exclusivamente em inglês (nunca vi tradução conveniente e que não soasse estranha) – Renan Jul 14 '15 at 20:29
  • 1
    @Renan Já vi casos aonde "deprecated" e "obsolete" são usados com significados um pouco diferentes. Quanto a "input" e "output", eles têm um significado bem mais restrito do que "entrada" e "saída", eu não poderia usar "entrance" e "exit" no lugar. – Victor Stafusa - BozoNaCadeia Jul 14 '15 at 20:32
  • 3
    Acho que são muitas palavras para apenas uma pergunta. Algumas delas têm traduções triviais que não deixam dúvida entre portugueses e brasileiros. Por outro lado, há palavras cuja tendência é não serem traduzidas, e outras traduzidas por parte de um lado ou outro (tendencialmente PT-BR). Por mais interessate que seja a pergunta, é muito difícil conseguir uma resposta unânime. – E_net4 Jul 14 '15 at 20:43
  • Ótima pergunta, mas no meu ponto de vista não deveriam ser traduzidos. Já vi em provas da Cisco onde termos técnicos eram traduzidos e a frase perder todo o sentido. – Wellington Avelino Jul 14 '15 at 20:49
  • 1
    Já vi 'input' como 'argumentos de entrada', e 'output' como 'argumentos de saída'. Agora um aparte: em Economia, input = factores de produção, output=produção. – An old man in the sea. Jul 14 '15 at 21:26
  • Olha que legal: http://www.conjuga-me.net/verbo-deprecar – Victor Stafusa - BozoNaCadeia Jul 14 '15 at 22:18
  • @VictorStafusa cuidado, deprecar é "suplicar"; depreciar é mais parecido com "deprecate". – ANeves Jul 15 '15 at 11:47
  • Buffer aparece na Wikipédia como buffer (retentor). Em electrónica pode traduzir-se por tampão. – Américo Tavares Aug 08 '15 at 02:26
  • Agora se faz tradução grátis aqui? Aqui é um site para isso? – Lambie Aug 02 '17 at 14:58
  • "String" também pode ser traduzido como "catenação"; paralelamente a "concatenation", que é traduzido como "concatenação". Mas "catenação" parece ser bem menos usado do que "concatenação". Ambos têm a mesma raiz de "cadeia". – Seninha Aug 12 '17 at 15:01
  • Uma possível tradução de array que não vi em nenhuma resposta é "coleção de dados" – Costamilam Aug 29 '18 at 13:06

7 Answers7

15

Como um programador, prefiro os termos em inglês por achá-los mais claros ou por falta de uma tradução adequada (alguns possuem traduções muito longas ou que apresentam perda de significado/objetividade).

De qualquer forma, sugiro as seguintes traduções (destaco as que recomendo mas deixo outras como sugestão):

  • Deprecated: Obsoleto, desatualizado, substituído, sem suporte, ultrapassado, preterido.
  • Buffer: Armazenamento (temporário), reserva.
  • Array: Vetor, sequência, arranjo[1], matriz[2].
  • String: Sequência de caracteres, cadeia de caracteres.
  • Command Prompt: Linha de Comando, terminal (de comando).
  • Prompt[3]: Solicitação/Solicitar algo ao usuário, aviso, pedido (para entrada de dados?).
  • Input: Entrada (de dados), dados, digitar/inserir (em outros contextos).
  • Output: Saída (de dados), resultado.
  • Socket[4]: Soquete (de rede), encaixe.
  • Framework[5]: Arcabouço, alicerce, fundação, pilar/pilastra.

[1] Vendo o array como um conjunto de dados/objetos/variáveis em que cada um dos componentes tem uma posição específica/inicial, não vejo por que estranhar esse termo.

[2] Arrays não deixam de ser uma matriz unidimensional. Talvez isso seja de certa forma um loop conceitual... Por exemplo, quadrados são retângulos de lados iguais ou retângulos são quadrados de lados adjacentes diferentes? Ou define-se os dois como quadriláteros de forma similar como se definiria vetor e matriz como arranjos?

[3] Note que Command Prompt e Prompt possuem significados diferentes; o primeiro refere-se ao terminal ('cmd' do Windows) onde podemos digitar expressões e comandos para o Sistema Operacional, enquanto o segundo refere-se a mensagens que são mostradas para o usuário bem como a solicitações feitas ao usuário - por exemplo, para que ele insira os dados - ou seja, varia de sentido com o contexto.

[4] A ideia de socket é de realmente ser uma tomada, um encaixe, significando que os programas estão conectados, encaixados, trocando dados.

[5] Minha tradução favorita, o que é um Framework? Não passa de um conjunto de bibliotecas e/ou funções que são colocadas em um pacote e apresentam certo grau de abstração para serem facilmente reutilizadas e que podem ser utilizadas como uma base ou um suporte para uma aplicação/programa. Veja que traduzir Framework como bibliotecas diz exatamente de que um Framework é feito, porém traduzir este termo para algo que relembre estrutura e suporte condiz muito mais com seu significado e objetivo que é prover reusabilidade, segurança e facilidade - fazendo com que o programador se concentre nas partes importantes de seu código/produto. De certa forma, considero que uma linguagem de programação é um Framework, ela é um suporte, uma fundação para que o programador seja capaz de abstrair como exatamente as coisas funcionam e conversar com mais facilidade com o Sistema Operacional.

Para algumas traduções me baseei no Portal de Idiomas da Microsoft, nos signficados fornecidos pelo Priberam e nas definições formais dos termos.

0rkan
  • 443
  • 3
  • 18
  • 1
    Traduzir array como _vetor não é necessariamente correto, dependendo da língua (de programação) em questão; em C/C++ há uma importante diferença entre uma array e um vector: o primeiro tem um tamanho fixo, enquanto que há certamente línguas em que são sinónimos (não me ocorre nenhum exemplo, mas teria que ser uma língua mais high level; talvez Ruby, mas não Python nem Lua) – someonewithpc Aug 24 '15 at 08:40
  • Sim, concordo contigo. Porém, apesar de não ser necessariamente correto, pelo que vi e já li, é a tradução mais utilizada em aulas, tutoriais, livros e fóruns. E exatamente por ser amplamente divulgada que recomendei seu uso.

    Acredito que em C não haja uma abstração de vector, ambos são utilizados da mesma forma. Já em C++, há sim essa importante diferença.

    – 0rkan Aug 24 '15 at 11:48
  • 2
    Ótima resposta!

    Quanto a retângulos e quadrados, um quadrado é um retângulo de lados iguais, e não o contrário, já que um quadrado sempre tem os lados iguais, portanto nunca poderia ser um retângulo.

    – Marcelo Silva Aug 25 '15 at 10:47
  • o google está traduzido buffer como tampão, uma "memória tampão" seria uma saída para a falta de tradução, ou seja, uma memória provisória. – André Lyra Apr 20 '16 at 19:22
  • Concordo que array (arranjo) e vetor são coisas bem diferentes, e devemos cuidar para não causar mais confusão. array é um arranjo homogêneo de dados, que pode ser 1D, 2D, 3D, etc. Um vetor é uma definição matemática (da Álgebra Linear), e vem acompanhado de operações definidas sobre ele (como "produto escalar"). Um vetor pode eventualmente ser representado por um array 1D, assim como uma matriz pode eventualmente ser representada por um array 2D. Mas nada impede de se ter um vetor esparso que é representado por duas listas, uma de índices, e outra de valores. – e.tadeu Jan 11 '17 at 15:02
  • Se em inglês existem as três palavras com significados diferentes array, vector e matrix, temos que cuidar para que as três sejam correspondidas por palavras diferentes em português. – e.tadeu Jan 11 '17 at 15:05
5

Muitos dos termos, em muitas situações, não são traduzidos. Mas mesmo assim, eis algumas traduções:

  • Deprecated: obsoleto, depreciado.
  • Buffer: comumente usado apenas como "buffer" (estrangeirismo) no gênero masculino. Pode ser traduzido como armazenamento temporário.
  • Array: já vai sendo traduzido como "arranjo (de memória)". Entretanto, essa palavra é comumente utilizada como "array" (estrangeirismo) no gênero masculino ou traduzida como lista ou vetor.
  • String: pode ser traduzida como sequência de caracteres, mas é comumente usada como "string" (estrangeirismo) no gênero feminino.
  • Prompt: essa expressão também costuma ser utilizada como estrangeirismo "prompt" e no gênero masculino. Desconheço boas traduções dela.
  • Input e Output: bastante utilizada como entrada e saída e também como estrangeirismo "input e output" no gênero masculino em ambos os casos. Note que a sigla IO costuma ser usada em inglês mesmo. Para designar a "stdin" e "stdout" utilize entrada padrão e saída padrão.
  • Socket: existe um aportuguesamento sóquete, mas a expressão é normalmente usada como "socket" (estrangeirismo) no gênero masculino.
  • Framework: alguns traduzem como arcabouço. Entretanto, a palavra é muito usada em inglês, no gênero masculino.
Jacinto
  • 44,937
  • 17
  • 141
  • 257
bzim
  • 151
  • 1
  • 2
  • Bruno, vê se gostas da minha edição. É a tua respostas, podes sempre desfazer. Uniformizei a formatação, pondo em itálico a palavra mencionada ("traduzida como lista") por oposição a palavras usada ("esta lista é enorme"). – Jacinto Aug 20 '17 at 13:27
  • @Jacinto, muito obrigado. Eu estava pelo celular no momento em que escrevi essa resposta, e por isso, não consegui formatá-la. – bzim Aug 20 '17 at 14:12
4

Eu trabalho na área e sou de Portugal, todos os termos são compreendidos na sua forma em Inglês, mas também se usa muito as seguintes traduções:

  • Deprecated - Obsoleto

  • Array - Vetor

  • Command prompt - Linha de comandos

  • Input e output - Entrada e saída

  • Framework - Ferramenta

Jorge B.
  • 6,900
  • 11
  • 42
  • 84
  • 3
    Não consigo ver ou comparar framework como ferramenta, uma nota, por vezes o obsoleto também é referido como em desuso, mas acho que depende do contexto ou momento. – Chigurh Nov 25 '16 at 17:45
  • 2
    Se usa bastante arcabouço para framework em português do Brasil. – e.tadeu Jan 11 '17 at 14:56
2

Termos técnicos não deveriam ser traduzidos, quem lê um livro técnico, especialmente de informática, se sente mais confortável com estes termos em seu idioma original.

  • 3
    Há vários conceitos nas ciências da computação (e na informática no geral) que são tendencialmente traduzidos na literatura portuguesa. Inclusivamente, existem termos cuja versão portuguesa já existia, acabando por adotar o novo significado. Dizemos ponteiro ou apontador, e não pointer. Por mais que haja concordância que algumas palavras não devem ser traduzidas de todo, generalizar a regra a todas, a meu entender, torna-se um exagero. – E_net4 Jul 14 '15 at 20:53
  • 1
    Justamente. Deve-se usar o bom senso. Mas na lista de palavras da pergunta, das 8, eu deixaria de traduzir 7. E justamente por causa de tradução automática, sem revisor, que joguei no lixo meu antigo Hibernate em ação. – FernandoNomellini Jul 14 '15 at 20:58
  • Concordo quase que em tudo, exceto que com a questão da palavra "Deprecated", que fica bem melhor falando Obsoleto ou Desuso, pois eu pessoalmente não considero um termo da área de TI (IT). De todo o resto faz muito sentido. – Chigurh Nov 25 '16 at 17:10
2

Como já foi referido, geralmente os termos técnicos não são traduzidos, utilizando-se a palavra original como estrangeirismo. No entanto, para alguém que não fale ou não se sinta à vontade a falar inglês (língua de onde provêm a maioria dos termos), ou mesmo para ser mais fácil perceber os conceitos, pode ser mais fácil utilizar palavras da sua língua materna. Não obstante é muitas vezes difícil encontrar palavras que signifiquem o mesmo; a língua inglesa tem também um extenso vocabulário, maior que português já que é mais fácil formar novas palavras.

someonewithpc
  • 2,804
  • 2
  • 18
  • 39
  • Concordo quase que em tudo, exceto que com a questão da palavra "Deprecated", que fica bem melhor falando Obsoleto ou Desuso, pois eu pessoalmente não considero um termo da área de TI (IT). De todo o resto faz muito sentido. – Chigurh Nov 25 '16 at 17:07
  • Nada disso. Muitos termos técnicos se traduzem. Nunca vi tanta bobagem. Depende de muitos fatores. Sou tradutora para o inglés e existem milhares de termos técnicos em português. Na informática, existe, sim, uma tendência de deixa certas palavras em inglês. Tudo bem. – Lambie Aug 02 '17 at 15:06
1

Concordo com as respostas de que, em geral, não se traduz termos técnicos. Mas, por vezes há traduções sim... e acaba ficando estranho utilizar o termo original, quando o equivalente lusófono é bem aceito. Por exemplo, aprendi que "debugar" é a pior forma de traduzir "debugging", dado que existe a forma "depurar".

Por outro lado, ninguém se refere a mouse como rato, embora, nos idos dos anos 80 e 90, houve quem usasse o termo rato.


As traduções que conheço: Deprecated = depreciado (dentro do contexto de informática, não tem o contexto usual, de algo "mal visto")

Array = vetor/arranjo (sim, essas traduções são usadas... embora sejam ambíguas ou inapropriadas se você considerar em outros contextos)

String = Cadeia de caracteres

Input = Entrada

Output = Saída

Socket = Soquete

Framework = Biblioteca de Códigos/Funções/etc (depende a que se refere; não é uma tradução geral)

0

Array deveria ser traduzido como matriz;

Framework deveria ser traduzido como alicerces / estrutura / arcabouço / caixilho / caixilharia / moldura.

(Português de Portugal)