Ders kitaplarındaki ve benzeri kaynak kodları çevrilmeli mi?


16

Birkaç hafta önce, sınıfım Real World Haskell kitabını Portekizce'ye çevirmek için atandı. Metin ve yorumların çevirisini yaparken, eğitmenin önerdiği gibi, kodu da çevirmem gerekip gerekmediğini merak etmeye başladım. Örneğin:

data BookInfo = Kitap Int Dizesi [Dize]
              Göstermek

olacaktı

data InfoLivro = Livro Int Dize [Dize]
               Göstermek

Portekizce yazılımla ilgili herhangi bir kitap okumadığım için, bunun ortak bir uygulama olup olmadığını bilmiyorum, ne de bu şekilde yapılmalı. Sonunda, kod bir dil karışımıdır (belki de Haskell'deki örnek iyi bir örnek değildir, çünkü hızlı bir şekilde eş anlamlılar oluşturabilirsiniz type CadeiaDeCaracteres = String, ancak noktayı elde edersiniz). Bu yüzden ne kadar uğraştığınız gerçekten önemli değil, bir takım temel İngilizce kelimelerle okuyucunun önceki deneyimine güvenmeniz gerekecek.

Bunu bilerek, kod çevirmenin anlamını gerçekten görmüyorum, çünkü kodlama hayatımızın ilk günlerinde evrensel dilde yazılması gerektiğini öğreniyoruz. Yine de, çevreleyen metnin (örneğin, bir kitaptaki yorumlar ve metnin kendisi) çevrilmesi gerekiyorsa, bu konuda ne mümkün ve uygulanabilir? Bana ne yapacağım konusunda rehberlik edebilir misiniz?


9
Eğitmen sizden bundan ne öğrenmenizi bekliyor? Evet, Haskell hakkında biraz bilgi edinebilirsiniz, ancak çoğunlukla İngilizce çeviri becerilerinizin bir testi olduğu anlaşılıyor. Sadece gelecekteki sınıflar için bir çeviri mi istiyor ve bu sınıftaki tüm öğrencilerin zamanını boşa harcamayı düşünüyor? Bahse girerim: öğreneceğiniz tek şey, çevirinin neden uzmanlar tarafından en iyi şekilde yapıldığı özel bir alandır.
Dori


@Dori Tamamen katılıyorum. Ne yazık ki, üniversitem böyle çalışıyor, en azından CS alanında.
rapfaria

Ona böyle bir şey söylemelidir: "" "" "você está realmente louco Eu preferiria dormir com sua mãe yapmak que fazer isso Aprenda Inglês ou perecer Profesör..."
İş

Yanıtlar:


13

Bence hayır. Çoğu programcı ister isteseler de istemesin, ingilizce öğrenmeye zorlanır ve günümüzde yazılım dünyasının ortak dilidir .

Bununla birlikte, tecrübelerime göre, daha güçlü dillerden birinde yazarlar tarafından yazılan kitaplar bunu yapma eğilimindedir - şimdiye kadar Almanca, Fransızca ve Rusça kitaplarda uygulamayı gördüm (iyi, rusça bir farklı alfabe kullandıkları için). Ülkenin İngilizceye bağımlılığına bağlı olması genel bir kuraldır .

Metin elbette çevrilir, daha büyük yorumlar da (bir programın çalışmasını daha ayrıntılı olarak açıklayan bir metin), daha sonra biraz daha nadir, daha küçük yorumlar ve değişken adları. Değişken isimlerinin çevrildiği davayı da gördüm, ancak daha küçük yorumlar İngilizce olarak bırakıldı. Bununla birlikte, yazarın, bu durumda, çalışan bir İngiliz bilgisine sahip olması için dinleyicilerine güveniyor olduğuna inanıyorum.

Bu ikileminizi çözmediyse özür dilerim, ama bu konuda hala bir fikir birliği yok: - /


11

Ben Brezilyalıyım [burada Portekizce konuşuyoruz, ofc] ve orijinal veya çevrilmiş sürüm arasında seçim yapabileceğimde, her zaman orijinali alırım, çünkü neredeyse her kitap programcı olmayan insanlara çevrilir, böylece komutlar ve ifadeler kaybolur çeviri sonrası orijinal anlamları.

İngilizce kitap istemenin bir başka nedeni, web'deki her şeyin [veya bu site gibi en iyi şeylerin] İngilizce yazılmış olmasıdır, bu yüzden İngilizce terimine aşina olacaksınız ve daha iyi diğer insanlar kodunu anlayabileceksiniz ... [iyi bir programcı en azından POV'umdan İngilizce kodlayacağından]

Portekizce [veya başka bir dilde] kitap okumanız gerekiyorsa bu dilde yazılmış olanları [çevrilmemiş] tercih edin.

Açıkça söylemek gerekirse: bu kitabı çevirecekseniz, tüm kodları İngilizce olarak tutmaya çalışın [yorumlar tercüme edilebilir, ancak değişkenler veya işlevler olmayabilir] ve 'dizi' gibi şeyleri 'arranjo'ya çevirmeye çalışmayın veya 'fare' ila 'rato' [en azından ingilizce terimini tercih ederim, Portekiz'deki insanlar ikincisini tercih ederdi sanırım].


3
Her üçünde de bir uzmana ihtiyaç duyduğu için +1 (kaynak dil, hedef dil, programlama)
Frank Shearar

2

Anadili İngilizce olmayan biri olarak, çevrilmiş kodu sevmiyorum.

  1. İyi uygulama oluşturur. Bir profesyonel olarak, sadece İngilizce alanın ana dili değildir, aynı zamanda farklı geçmişlere sahip insanlar aynı kodu paylaşır ve çalışır. Kodunuzu başka bir dilde yazmak, kodunuzla çalışabilecek insan sayısını büyük ölçüde azaltır - Başka bir dilde yazılmış bazı kodlarla biraz eğlendim ve korkunç. Öyleyse, neden iyi alışkanlıkları teşvik etmiyorsunuz?

  2. Çirkin gözüküyor. Çoğu programlama dili İngilizce anahtar kelimeler kullanır ve tanımlayıcılar için iyi bir seçim ile bir programı okumak doğal dile yakın bir deneyim olabilir. Tanımlayıcılar için başka bir dil kullanmadığınız sürece, aynı anda 2 dilde okumaya benzer.

  3. Çok yardımcı olduğuna inanmıyorum. İngilizce bilmeyen bir kişi için bile, normal bir programda tanımlayıcılar için kullanılan İngilizce oldukça basittir ve çok hızlı bir şekilde öğrenilebilir.


2

Çevrilen kod örneklerine karşı iyi bir nokta, bunu yaparsanız, bunları test etmeniz gerekeceğidir , çünkü çevrilmiş kod örneklerinin orijinal olanlar gibi doğru olması beklenir.

Test çabası çeviri maliyetine dahil mi? Sanırım çoğu durumda.

Çevrilmiş kodu test etmezseniz, kodun hem çevrilen hem de orijinal olanın itibarına zarar vererek kırılma veya yanlış olma riskiyle karşı karşıya kalırsınız.

Kod örneklerini test etmek için uğraşmak istemiyorsanız, yalnızca yorumları çevirmeniz gerekir, ancak kodu hiçbir şekilde değiştirmemelisiniz.

Dikkate alınması gereken başka bir şey, orijinal yazarın muhtemelen bir bütün olarak derleyen eksiksiz bir uygulama veya kütüphane olan bir kod tabanına sahip olmasıdır. Kod örnekleri böyle bir kod tabanından çıkarılır ve kitap boyunca yayılır. Buna sahip olmayacaksınız, bu nedenle, kod örneklerini çevirdikten sonra, tercüme edilen kitapta, kitabın farklı bölümlerindeki farklı çeviri kararları nedeniyle birbiriyle çelişen kod örnekleriyle sonuçlanabilirken, orijinal kitapta çünkü aynı kod tabanından çıkarıldılar.


0

İngilizce dışında bir dil konuşmuyorum. (Eh, ben lisede Latince. Latin Amerika'yı ziyaret edersem faydalı olur. :-) Bu arka planla şunu söyleyebilirim:

Diğerlerinin de belirttiği gibi, programlama hakkında, web'de ve kitaplarda birçok bilgi İngilizce'dir, bu yüzden İngilizce öğrenirseniz kesinlikle yardımcı olacaktır.

Bazı bilgisayar dilleri, örneğin Visual Basic gibi bir çok İngilizce kelime kullanır. Diğerleri çoğunlukla C / C ++ / C # gibi semboller kullanır. Eğer programlayacaksanız, BAZI İngilizce öğrenmeniz gerekecek. Ama çok fazla olduğunu sanmıyorum. EĞER, İLE, DÖNÜŞ, vb. Dile bağlı olarak, belki birkaç düzine 10 veya 20 kelime. Visual Basic düşünebildiğim en kötü dildir ve ben sadece bir listeyi kontrol ettim ve hızlı bir şekilde, yaklaşık 160 ayrılmış kelime var, ama orada çok fazla çoğaltma var. END ve WHILE ve ardından END WHILE gibi üç ayrı "kelime" olarak listelenmiştir. İngilizce olmayan bir konuşmacı için rahatsız edici olduğunu görebiliyorum, ancak bu kelimeler genellikle yaygın İngilizce anlamları ile gevşek bir şekilde ilgili anlamlarla kullanılıyor, bu yüzden birçok durumda ' İngilizce olmayan bir konuşmacı için bir İngilizce konuşmacıdan çok daha zor değil. HANDLER veya CAST'ın anlamı, İngilizce konuşan yeni bir programcı için Portekizce konuşan yeni bir programcıdan daha belirgin değildir. Bunun yerine bazı şeyler İngilizce anlamsız kelimelerle çağrıldıysa, sanki CAST demek yerine FOOBAR demiştik, bu programlamayı öğrenmemi zorlaştırır mıydı? Çok fark yaratacağından şüpheliyim. programlama öğrenmemi zorlaştırır mıydı? Çok fark yaratacağından şüpheliyim. programlama öğrenmemi zorlaştırır mıydı? Çok fark yaratacağından şüpheliyim.

Bazı dillerin anahtar kelimeler için alternatif kelimeleri şu veya bu şekilde tanımlama seçeneklerine sahip olduğunu belirtiyorsunuz. Yani evet, kendi dilinizdeki kelimeleri İngilizce anahtar kelimelerin eş anlamlıları olarak tanımlayabilirsiniz. Yapmazdım. Artık programlarınızın oluşturduğunuz standart olmayan bir sürü terimi var. Aynı şeyi deneyen başka birinin, aynı sözcük grubunu kullanması pek olası değildir. Şimdi bir başkasının programını okurken onun "çevirileri" ile ne demek istediğini anlamanız gerekiyor. Sanırım şirketteki herkes aynı seti kullansaydı, onları öğrenir ve birbirinizin programlarında kolayca çalışabilirdiniz. Ancak başka bir şirkete geçtiğinizde veya web'den yazılım indirdiğinizde ne olur? Bana öyle geliyor ki, sadece kendin için bir tuzak kuruyorsun. Sadece standart kelimeleri öğrenmek daha iyidir.

Portekizce bir program yazıyorsanız ve onu okuyabilecek tek kişi diğer Brezilyalılarsa ve hepiniz Portekizce konuşuyorsunuz, ancak belki de İngilizce'de çok akıcı değilseniz, Portekizce değişken isimleri yapmak mantıklıdır. Özellikle iyi olmadığınız bir dilde değişken adları yapmaya çalışarak ne kazanıldığını görmüyorum.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.