Czy kod źródłowy w podręcznikach i tym podobnych powinien zostać przetłumaczony?

16

Kilka tygodni temu moja klasa została przydzielona do przetłumaczenia na portugalski książki Real World Haskell. Podczas tłumaczenia tekstu i komentarzy zacząłem się zastanawiać, czy powinienem również przetłumaczyć kod, jak sugerował instruktor. Na przykład:

data BookInfo = Book Int String [String]
              czerpiąc Show

stanie się

data InfoLivro = Livro Int String [String]
               czerpiąc Show

Ponieważ nie czytałem żadnych książek na temat oprogramowania w języku portugalskim, nie wiem, czy jest to powszechna praktyka, ani czy należy to robić w ten sposób. Ostatecznie kod jest mieszanką językową (być może przykład w Haskell nie jest dobry, ponieważ możesz szybko tworzyć synonimy type CadeiaDeCaracteres = String, ale masz rację). Tak więc nie ma znaczenia, jak bardzo się starasz, będziesz musiał polegać na wcześniejszych doświadczeniach czytelnika z pewnymi podstawowymi angielskimi słowami.

Wiedząc o tym, naprawdę nie widzę sensu w tłumaczeniu kodu, ponieważ uczymy się na początku naszego życia kodowania, że ​​powinien być napisany uniwersalnym językiem. Jeśli jednak trzeba przetłumaczyć otaczający tekst (na przykład komentarze i sam tekst w książce), co jest możliwe i wykonalne w tej sprawie? Czy możesz podać mi wskazówki, co robić?

rapfaria
źródło
9
Czego instruktor oczekuje od ciebie? Tak, możesz dowiedzieć się trochę o Haskell, ale wygląda na to, że jest to głównie sprawdzian twoich umiejętności tłumaczenia na angielski. Czy chce po prostu tłumaczenia na przyszłe zajęcia i myśli, że marnowanie czasu wszystkich uczniów na tych zajęciach jest sposobem na osiągnięcie tego? Mój zakład: wszystko, czego się dowiesz, to dlaczego tłumaczenie jest specjalistyczną dziedziną najlepiej wykonywaną przez ekspertów.
Dori
Powiązane pytanie: programmers.stackexchange.com/questions/1483/…
David_001
@Dori Całkowicie się zgadzam. Niestety tak działa mój uniwersytet, przynajmniej w dziedzinie CS.
rapfaria
powinieneś mu powiedzieć coś takiego: "" "Profesor, você está realmente louco. Eu preferiria dormir com sua mãe do que fazer isso. Aprenda Inglês ou perecer." ""
Job

Odpowiedzi:

13

Moim zdaniem nie. Większość programistów jest zmuszona, czy tego chce, czy nie, do nauki angielskiego, a obecnie jest to lingua franca świata oprogramowania.

Z mojego doświadczenia wynika jednak, że książki napisane przez autorów w jednym z mocniejszych języków mają taką tendencję - do tej pory widziałem praktykę w książkach w języku niemieckim, francuskim i rosyjskim (cóż, rosyjski jest trochę inny przypadek, ponieważ używają również innego alfabetu). Jest to ogólna zasada, że ​​zależy to od zależności kraju od języka angielskiego.

Tekst jest oczywiście tłumaczony, również większe komentarze (takie, które bardziej szczegółowo opisują działanie programu), a następnie nieco rzadsze, mniejsze komentarze i nazwy zmiennych. Widziałem także przypadek, w którym nazwy zmiennych zostały przetłumaczone, ale mniejsze komentarze pozostawiono w języku angielskim. Sądzę jednak, że autor w tym konkretnym przypadku liczył na to, że odbiorcy będą mieć dobrą znajomość angielskiego.

Przepraszam, jeśli to nie rozwiązało twojego dylematu, ale nadal nie ma konsensusu w tej sprawie: - /

Wieża
źródło
11

Jestem brazylijczykiem [mówimy tutaj po portugalsku, oczywiście] i, kiedy mogę wybierać między wersją oryginalną lub przetłumaczoną, zawsze biorę oryginał, ponieważ prawie każda książka jest przetłumaczona na ludzi, którzy nie są programistami, więc polecenia i wyrażenia tracą ich oryginalne znaczenie po tłumaczeniu.

Innym powodem, dla którego chce się książek w języku angielskim, jest to, że wszystko w Internecie [lub najlepsze rzeczy, takie jak ta strona], są napisane w języku angielskim, więc zapoznasz się z angielskim terminem i będziesz w stanie lepiej zrozumieć kod innych osób ... [ponieważ dobry programista pisałby po angielsku, przynajmniej z mojego POV]

Jeśli chcesz czytać książki w języku portugalskim [lub innym języku], wolisz te napisane w tym języku [nie przetłumaczone].

Wyjaśnij: jeśli masz zamiar przetłumaczyć tę książkę, postaraj się zachować cały kod w języku angielskim [komentarze mogą być przetłumaczone, ale nie zmienne lub wyrażenia] i nie próbuj tłumaczyć rzeczy takich jak „tablica” na „aranżacja” lub „mysz” do „rato” [przynajmniej wolę angielski termin, ludzie w Portugalii wolą drugi, jak sądzę].

JulioC
źródło
3
+1 za potrzebę posiadania eksperta we wszystkich trzech językach (język źródłowy, język docelowy, programowanie)
Frank Shearar
2

Jako nieanglojęzyczny użytkownik języka angielskiego nie lubię przetłumaczonego kodu.

  1. Buduje dobre praktyki. Jako profesjonalista nie tylko angielski jest głównym językiem w tej dziedzinie, ale ludzie o różnym pochodzeniu dzielą się tym samym kodem i pracują nad nim. Pisanie kodu w innym języku znacznie zmniejsza liczbę osób, które mogą pracować z twoim kodem - dobrze się bawiłem z kodem napisanym w innym języku i jest to okropne. Dlaczego więc nie zachęcać do dobrych nawyków?

  2. Wygląda brzydko. Większość języków programowania używa słów kluczowych w języku angielskim, a przy dobrym wyborze identyfikatorów czytanie programu może być doświadczeniem zbliżonym do języka naturalnego. Chyba że użyjesz innego języka dla identyfikatorów, co czyni go podobnym do czytania w 2 językach jednocześnie.

  3. Nie wierzę, że to bardzo pomaga. Nawet dla osób nieanglojęzycznych język angielski używany do identyfikacji w zwykłym programie jest dość prosty i można go bardzo szybko nauczyć.

Paul92
źródło
2

Dobrym argumentem przeciwko tłumaczeniu przykładów kodu jest to, że jeśli to zrobisz, będziesz musiał je przetestować , ponieważ oczekuje się, że przetłumaczone przykłady kodu będą poprawne, tak jak oryginalne.

Czy wysiłek testowy jest wliczony w koszt tłumaczenia? W większości przypadków nie.

Jeśli nie przetestujesz przetłumaczonego kodu, ryzykujesz, że kod zostanie uszkodzony lub będzie niepoprawny, niszcząc reputację zarówno przetłumaczonego materiału, jak i oryginalnego.

Jeśli nie chcesz angażować się w testowanie przykładów kodu, powinieneś tłumaczyć tylko komentarze, ale nie zmieniać kodu w żaden sposób.

Inną rzeczą do rozważenia jest fakt, że pierwotny autor najprawdopodobniej miał bazę kodu, być może kompletną aplikację lub bibliotekę, która kompiluje się jako całość. Przykłady kodu są wydobywane z takiej bazy kodu i rozpowszechniane w całej książce. Nie będziesz tego miał, więc możesz po przetłumaczeniu przykładów kodu skończyć przykładami kodu, które w przetłumaczonej książce są ze sobą sprzeczne z powodu różnych decyzji dotyczących tłumaczenia w różnych częściach książki, podczas gdy w oryginalnej książce nie, ponieważ zostały wyodrębnione z tej samej bazy kodu.

Tulains Córdova
źródło
0

Nie mówię w żadnym innym języku niż angielski. (Cóż, uczę się liceum. Przydatne, jeśli kiedykolwiek odwiedzę Amerykę Łacińską. :-) Na tym tle powiedziałbym:

Jak zauważyli inni, wiele informacji o programowaniu, w Internecie i książkach, jest w języku angielskim, więc z pewnością pomogłoby to w nauce języka angielskiego.

Niektóre języki komputerowe używają wielu angielskich słów, na przykład Visual Basic. Inni używają głównie symboli, takich jak C / C ++ / C #. Więc jeśli zamierzasz programować, musisz nauczyć się NIEKTÓREJ angielszczyzny. Ale nie sądzę, że to dużo. JEŻELI, PODCZAS, ZWROT itp. W zależności od języka, może 10 lub 20 słów do kilkudziesięciu. Visual Basic jest najsłabszym językiem, jaki potrafię wymyślić. Właśnie sprawdziłem listę i, według szybkiej liczby, zawiera około 160 zarezerwowanych słów, ale jest w niej wiele powielania. Podobnie jak END i WHILE, a następnie END WHILE wymienione jako trzy osobne „słowa”. Widzę, że jest to niewygodne dla osób nieanglojęzycznych, ale te słowa są często używane w znaczeniu tylko luźno powiązanym z ich wspólnym angielskim znaczeniem, więc myślę, że w wielu przypadkach „ Nie jest to o wiele trudniejsze dla osób nieanglojęzycznych niż dla anglojęzycznych. Znaczenie HANDLER lub CAST prawdopodobnie nie jest bardziej oczywiste dla nowego programisty, który mówi po angielsku, niż dla nowego programisty, który mówi po portugalsku. Gdyby zamiast tego niektóre z tych rzeczy były nazywane słowami, które w języku angielskim są bez znaczenia, jak gdyby zamiast CAST mówiliśmy FOOBAR, czy utrudniłoby mi to naukę programowania? Wątpię, by zrobiłoby to dużą różnicę. czy to utrudniłoby mi naukę programowania? Wątpię, by zrobiłoby to dużą różnicę. czy to utrudniłoby mi naukę programowania? Wątpię, by zrobiłoby to dużą różnicę.

Wspominasz, że niektóre języki mają opcje definiowania alternatywnych słów dla słów kluczowych w taki czy inny sposób. Tak, możesz zdefiniować słowa z własnego języka jako synonimy angielskich słów kluczowych. Nie zrobiłbym tego. Teraz twoje programy zawierają kilka niestandardowych warunków, które wymyśliłeś. Ktoś inny, kto próbuje tego samego, prawdopodobnie nie użyje dokładnie tego samego zestawu słów, co ty. Więc teraz czytając program innej osoby, musisz dowiedzieć się, co miał na myśli przez jego „tłumaczenia”. Podejrzewam, że gdyby wszyscy w firmie korzystali z tego samego zestawu, nauczyłbyś się ich i mógłbyś z łatwością pracować nad programami innych. Ale co się dzieje, gdy przeprowadzasz się do innej firmy lub pobierasz oprogramowanie z Internetu? Wydaje mi się, że sam zastawiasz pułapkę. Lepiej po prostu nauczyć się standardowych słów.

Jeśli piszesz program w języku portugalskim, a jedynymi osobami, które prawdopodobnie go przeczytają, są inni Brazylijczycy, i prawdopodobnie wszyscy mówią po portugalsku, ale być może nie posługujesz się biegle językiem angielskim, sensowne jest nadanie portugalskim nazwom zmiennych. Nie rozumiem, co zyskałem, próbując stworzyć nazwy zmiennych w języku, w którym nie jesteś szczególnie dobry.

Sójka
źródło