Il codice sorgente nei libri di testo e simili dovrebbe essere tradotto?

16

Alcune settimane fa, la mia classe è stata incaricata di tradurre in portoghese il libro Real World Haskell. Mentre eseguivo la traduzione del testo e dei commenti, ho iniziato a chiedermi se dovevo tradurre il codice, come suggerito dall'istruttore. Ad esempio:

data BookInfo = Book Int String [String]
              deriving Show

diventerebbe

data InfoLivro = Livro Int String [String]
               deriving Show

Dal momento che non ho letto nessun libro relativo al software in portoghese, non so se questa è una pratica comune, né se dovrebbe essere fatta in questo modo. Alla fine, il codice è un mix di lingue (forse l'esempio in Haskell non è buono, dato che puoi creare sinonimi rapidamente come type CadeiaDeCaracteres = String , ma ottieni il punto). Quindi non importa quanto duramente ci provi, dovrai fare affidamento sul lettore dell'esperienza precedente con alcune parole inglesi di base.

Sapendo questo, non vedo davvero il punto nel tradurre il codice, poiché impariamo nei primi giorni della nostra vita di codifica che dovrebbe essere scritto nel linguaggio universale. Tuttavia, se il testo circostante (commenti, ad esempio, e il testo stesso in un libro) deve essere tradotto, che cosa è possibile e fattibile in questa materia? Puoi fornirmi alcune indicazioni su cosa fare?

    
posta rapfaria 21.10.2010 - 04:49
fonte

5 risposte

13

Secondo me, no. La maggior parte dei programmatori è forzata, che lo vogliano o no, per imparare l'inglese, e al giorno d'oggi è la lingua franca del mondo del software.

Nella mia esperienza, tuttavia, i libri scritti dagli autori in una delle lingue più forti hanno la tendenza a farlo - finora ho visto la pratica nei libri in tedesco, francese e russo (beh, il russo è un po 'diverso da un caso, dal momento che usano anche dell'alfabeto diverso). È una regola empirica che dipende dalla dipendenza del paese in inglese.

Il testo è naturalmente tradotto, anche i commenti più grandi (uno che descrive il funzionamento di un programma in maggior dettaglio), quindi commenti un po 'più rari, più piccoli e nomi di variabili. Ho anche visto il caso in cui i nomi delle variabili sono stati tradotti, ma i commenti più piccoli sono stati lasciati in inglese. Credo che l'autore, comunque, in quel particolare caso, contasse sul suo pubblico per avere una conoscenza dell'inglese di lavoro.

Scusa se questo non ha risolto il tuo dilemma, ma non c'è ancora un consenso su questo: - /

    
risposta data 21.10.2010 - 04:57
fonte
11

Sono brasiliano [parliamo portoghese, ofc] e, quando posso scegliere tra la versione originale o quella tradotta, prendo sempre l'originale, dal momento che quasi tutti i libri sono tradotti in persone che non sono programmatori quindi comandi e le espressioni perdono il loro significato originale dopo la traduzione.

Un altro motivo per volere i libri in inglese è che tutto sul web [o le cose migliori, come questo sito] è scritto in inglese, così sarai familiarizzato con il termine inglese e sarai in grado di capire meglio il codice di altre persone ... [dal momento che un buon programmatore potrebbe codificare in inglese, almeno dal mio POV]

Se hai bisogno di leggere libri in portoghese [o in un'altra lingua] preferisci quelli scritti in quella lingua [non tradotti].

Per essere chiari: se hai intenzione di tradurre quel libro, prova a mantenere tutto il codice in inglese [i commenti possono essere tradotti, ma non vars o funcs] e non provare a tradurre cose come 'array' a ' arranjo 'o' mouse 'a' rato '[almeno io preferirei il termine inglese, la gente del Portogallo preferirebbe il secondo, immagino].

    
risposta data 21.10.2010 - 05:09
fonte
2

In qualità di madrelingua inglese non madrelingua, non mi piace il codice tradotto.

  1. Costruisce buone pratiche. Come professionista, non solo l'inglese è la lingua principale del settore, ma le persone con background diversi condividono e lavorano sullo stesso codice. Scrivere il tuo codice in un'altra lingua riduce di molto il numero di persone che possono lavorare con il tuo codice: mi sono divertito un po 'con del codice scritto in un'altra lingua ed è terribile. Quindi, perché non incoraggiare le buone abitudini?

  2. Sembra brutto. La maggior parte dei linguaggi di programmazione utilizza parole chiave in inglese e, con una buona scelta per gli identificatori, la lettura di un programma può essere un'esperienza vicina al linguaggio naturale. A meno che non utilizzi un'altra lingua per gli identificatori, il che la rende simile alla lettura in 2 lingue contemporaneamente.

  3. Non credo che sia di grande aiuto. Anche per una persona che non parla inglese, l'inglese utilizzato per gli identificatori in un programma regolare è abbastanza semplice e può essere imparato molto velocemente.

risposta data 05.10.2016 - 17:29
fonte
2

Un buon punto contro la traduzione di esempi di codice è questo che, se lo fai, dovrai testarli , poiché gli esempi di codice tradotti dovrebbero essere corretti proprio come quelli originali.

Lo sforzo di test è incluso nel costo della traduzione? Suppongo di no, nella maggior parte dei casi.

Se non esegui il test del codice tradotto, rischi di compromettere il codice o di essere errato, danneggiando la reputazione del materiale tradotto e di quello originale.

Se non vuoi partecipare allo sforzo di testare gli esempi di codice, devi solo tradurre i commenti ma non modificare il codice in alcun modo.

Un'altra cosa da considerare è il fatto che l'autore originale abbia probabilmente un codice base, forse un'app completa o una libreria che compili nel suo complesso. Gli esempi di codice sono estratti da tale codice e si diffondono in tutto il libro. Non lo avrai, quindi potresti, dopo aver tradotto gli esempi di codice, finire con esempi di codice che, nel libro tradotto, si contraddicono a vicenda, a causa delle diverse decisioni di traduzione in diverse parti del libro, mentre nel libro originale essi non perché sono stati estratti dalla stessa base di codice.

    
risposta data 05.10.2016 - 16:32
fonte
0

Non parlo una lingua diversa dall'inglese. (Bene, io latino al liceo, utile se mai visitare l'America Latina. :-) Con quello sfondo, direi:

Come altri hanno notato, molte informazioni sulla programmazione, sul Web e nei libri, sono in inglese, quindi sarebbe sicuramente di aiuto se imparassi l'inglese.

Alcuni linguaggi di computer usano molte parole inglesi, come ad esempio Visual Basic. Altri usano principalmente simboli, come C / C ++ / C #. Quindi se hai intenzione di programmare, dovrai imparare ALCUNI inglese. Ma non penso che sia molto. SE, MENTRE, RITORNO, ecc. A seconda della lingua, forse 10 o 20 parole a poche decine. Visual Basic è il linguaggio più verbale a cui riesco a pensare e ho appena controllato una lista che ha, con un rapido conteggio, circa 160 parole riservate, ma c'è un sacco di duplicazioni. Come END e WHILE e poi END WHILE elencato come tre "parole" separate. Riesco a vedere questo inconveniente per un oratore non inglese, ma queste parole sono spesso usate con significati solo vagamente legati ai loro significati inglesi comuni, quindi penso che in molti casi non sia molto più difficile per un oratore non inglese che per un Oratore inglese Ad esempio, il significato di HANDLER o CAST non è probabilmente più evidente per un nuovo programmatore che parla inglese piuttosto che per un nuovo programmatore che parla portoghese. Se invece alcune di queste cose fossero chiamate con parole prive di significato in inglese, come se invece di dire CAST dicessimo a FOOBAR, ciò avrebbe reso più difficile per me imparare la programmazione? Dubito che avrebbe fatto molta differenza.

Hai detto che alcune lingue hanno opzioni per definire parole alternative per parole chiave in un modo o nell'altro. Quindi sì, puoi definire le parole dalla tua lingua come sinonimi per le parole chiave inglesi. Non lo farei Ora i tuoi programmi hanno una serie di termini non standard che hai inventato. Qualcun altro che cerca la stessa cosa è improbabile che usi esattamente lo stesso insieme di parole che tu fai. Quindi ora leggendo il programma di qualcun altro, devi capire cosa intendeva con le sue "traduzioni". Suppongo che se tutti i membri della compagnia usassero lo stesso set, li impareresti e potrebbero lavorare facilmente sui rispettivi programmi. Ma cosa succede quando ti trasferisci in un'altra azienda o scarichi software dal web? Mi sembra che tu stia solo mettendo una trappola per te stesso. Meglio imparare solo le parole standard.

Se stai scrivendo un programma in portoghese e le uniche persone che potrebbero leggerlo sono altri brasiliani, e tu presumibilmente parli portoghese ma forse non parli correntemente l'inglese, ha senso fare nomi variabili in portoghese . Non vedo cosa si è guadagnato cercando di fare nomi variabili in una lingua in cui non si è particolarmente bravi.

    
risposta data 05.10.2016 - 15:46
fonte

Leggi altre domande sui tag