Diğer (Konuşulan) Dillerde Kodlama


105

Bu her zaman merak ettiğim bir şey ve internette hiçbir yerde bundan bahsedemiyorum. Örneğin Japonya'dan bir dükkan kod yazdığında, onu İngilizce okuyabilir miyim? Veya C, PHP gibi dillerin yazdıkları Japonca çevirisi var mı?

Sanırım sorduğum şey, dünyadaki her bir kodlayıcı, benim yaptığım aynı ayrılmış sözcükleri kullanacak kadar İngilizce biliyor mu?

Bu kod:

If (i < size){
    switch
        case 1:
            print "hi there"
        default:
            print "no, thank you"
} else {
    print "yes, thank you"
}

tam olarak şu anda İngilizce olarak gördüğümle aynı şekilde gösterilsin, yoksa İngilizce konuşmayan başka bir kişi "eğer", "geçiş", "durum", "varsayılan", "yazdır" ve " başka "kendi ana dillerinde?

DÜZENLEME - evet, bu ciddi. Bir dilin farklı yerelleştirmelerinin farklı anahtar kelimelere sahip olup olmadığını bilmiyordum. veya hatta farklı yerelleştirmeler varsa.


3
Sonuç sorusu: Anahtar kelimeleri İngilizce olmayan herhangi bir ana akım dil var mı (dil başlangıçta İngilizcenin ana dil olmadığı bir yerde icat edilmiş olsa bile)?
Jon Schneider

Bu soru bana, Tanrı'nın ana dilinin İngilizce olduğunu, dolayısıyla diğer insanların dualarının anlaşılabilmesi için onu öğrenmesi gerektiğini düşünen bir (yabancı) ile bir zamanlar yaptığım bir konuşmayı hatırlatıyor. (Yine de kaba, ilginç bir soru demek istemiyorum)
wallyqs

Ve Tanrı'nın her şeye kadir olduğunu sanıyordum!
Autodidact

Tanrı yalnızca bir dil bilir. Artık nesli tükenmiş bir Mezopotamya köyünün belirsiz bir lehçesidir. Bu yüzden dualarınıza cevap vermiyor ve neden iyi insanların başına kötü şeyler geliyor (kafası karışıyor).
Anthony

1
Oh, ve şimdi bazı cevapları okuduğuma göre ... Güzel soru. Her zaman bilgisayar kodunun yerelleştirilmiş sürümleri olduğunu varsaymıştım, ancak aklıma geldiğimde, bazı kuralların uygulanması bir kabus olurdu (sağdan sola veya dikey olarak yönlendirilmiş yön) ve diğerlerinin uyum sağlaması zor olurdu (özellikle: satırlar PHP'de noktalı virgül ile sonlanır. Bu, Batı geleneğine göre tam cümlecikleri noktalı virgülle sonlandırmaya dayanır. Noktalama gelenekleri için yerelleştirmeye çalıştığınızı hayal edin.
Anthony

Yanıtlar:


159

İyi anladıysam, soru aslında şudur: "Dünyadaki her bir kodlayıcı, benim bildiğimle aynı ayrılmış kelimeleri kullanmak için yeterli İngilizce biliyor mu?"

Pekala .. İngilizce burada konu değil, programlama dili ayrılmış kelimeler. Demek istediğim, yaklaşık 10 yıl önce başladığımda, İngilizce konusunda hiçbir fikrim yoktu ve yine de ne anlama geldiğini bilmediğimde bile (İngilizce'de) programlama dilini öğrenerek basit şeyleri programlayabiliyordum. Aslında bu, İngilizce öğrenmeme yardımcı oldu.

Örneğin. Bir "yineleme" yapmayı biliyorum (elbette yineleme) Yazmam gerekiyordu:

 for( i = 0 ; i < 100 ; i++ ) {}

Bana göre "için", ";" ve basit yabancı sözcüklerin veya sembollerin bulunduğu "++". Daha sonra "için" nin "para" anlamına geldiğini ve "while" ın "mientra" anlamına geldiğini vb. Öğrendim ama bu arada İngilizce bilmeme gerek yoktu, ama benim durumumda ihtiyacım olan şey "C" yi bilmekti.

Elbette daha fazla şey öğrenmem gerektiğinde, İngilizce öğrenmem gerekiyordu, çünkü belgeler o dilde yazılmıştı.

Yani cevap şu: Hayır, anadilimde olup olmadığını, bunun için, vs. görmüyorum. Onları İngilizce olarak görüyorum, ancak benim için programlama dili için ifade ettikleri başka bir şey ifade etmediler.

Bash'deki switch deyimi gibidir: case .. esac. "Esac" Nedir ... benim için bash'daki switch ifadesinin sonu.

Sanırım buna "soyutlama" diyoruz


10
Bu arada, 'esac' sadece durum tersidir. Bir noktaya değiniyormuş gibi yapıp yapmadığını söyleyemem, ama bunun İngilizce olmayanlar için ne kadar kafa karıştırıcı olacağını görebiliyordum.
pbh101

9
Elbette fi, if'in olduğu gibi, ama bir noktada sahip oldukları tek anlam "bir switch ifadesini 'esac' yazarak bitirirsiniz" ... ingilizce herhangi bir şey. Ancak C veya bash veya pascal'da anlamları vardır. Konu bu. Programlama dilini öğreniyoruz.
OscarRyz

5
Excel'de, makronun yerel dile çevrildiğini ve Fransızcada "if" "si" olur, bu da araçları kesinlikle kullanılamaz hale getirir.
e-satis

9
Her zaman en iyi cevabı ana dili İngilizce olmayan birinden alacaktın. İskoçyalıyım ve İngilizce öğrenmek benim için de zordu ;-)
Davie

9
+1 Programlamaya başladığımda goto'yu nasıl doğru telaffuz edeceğimi bile bilmiyordum. Ama daha sonra ne anlama geldiğini öğrendiğimde yüzüme bir sırıtma koydu.
Hamish Grubijan

28

Java dilinde, JavaBeans kuralı nedeniyle bazı yöntemlerin (en azından kısmen) İngilizce dili kullanılarak adlandırılması gerekir.

Bu kural, bir X özelliğinin getX () ve setX () yöntemleri çifti aracılığıyla oluşturulmasını gerektirir. Burada, bazı geliştiricilerin Fransız dilinde kodlama yapmak zorunda olduğu Fransız-Kanada'da bu, aşağıdaki kargaşaya yol açar:

interface Foo {

  Color getCouleur();

  void setCouleur(Color couleur);
}

9
Oh cripes! Bürokrasi yine kazandı! :(
AR.

3
evet, Fransız okullarında sana öyle öğretiyorlar. Bu öylesine berbat ki, öğrenciler sınıfta yaptıklarını gerçek dünyada kodlamak için asla kullanmıyorlar ve basit bir İngilizce ile yazmak için çabucak eğiliyorlar.
e-satis

Üniversitemde bazı öğretim görevlileri örnek kod olarak Fince kullandılar ve bunun temel nedenlerini anlasam bile sonuç genellikle daha tuhaftı. Neyse ki, "gerçek dünyada" neredeyse hiç duyulmamış (en azından özel sektörde). İngilizce FTW (programlama devam ettiği sürece).
Jonik

2
@Jonik: En azından ASCII / extended charset hakkında tartışmak zorunda değildin. Bazı yerlerde (burada), tanımlayıcılarınıza a) İngilizce, b) Aksan olmadan Çekçe, c) aksanlarla Çekçe (çoğu Çek klavye düzeni olmadan yazamazsınız) adlandırma konusunda büyük bir tartışma vardı. , başkaları tarafından sürdürülebilirlik açısından harika).
Piskvor

@Piskvor, aslında Fince isimler kullanırsanız, özel karakterler (äöå) kullanıp kullanmama konusunda benzer bir ikilem vardır (ve bunları kullanırsanız, muhtemelen karakter seti problemleriyle karşılaşıyorsunuz). Ama evet, neyse ki en az 7 yıldır Finceyi kod olarak kullanmak zorunda kalmadım. :)
Jonik

27

Referans bulmada sorun yaşıyorum ama bana üç hikaye hatırlatıldı.

Bir Lisp bilgisayar korsanı, "cdr" ve "araba" gibi anlamsız işlevleri ana dilinizdeki programlamayla karşılaştırarak savunur: http://people.csail.mit.edu/gregs/ll1-discuss-archive-html/msg01171. html

Yukihiro Matsumoto ("Matz") Ruby'yi geliştirmeye başladığında, tüm belgeleri Japonca yazmasına rağmen İngilizce anahtar kelimeler kullandı ! . Birkaç yıldır Ruby için İngilizce dokümantasyon yoktu ve dili kullanan çok az Amerikalı vardı. Ama şimdi dünya çapında bir dil ve Japonya'da doğmuş olması sadece tarihsel bir ilgi. Dil, hiragana'da anahtar kelimeler kullanıyor olsaydı, popülerlik kazanmakta çok daha zor zamanlar geçirecekti.

Bir makaleyi bir kez okudum - belki başka biri bulabilir, Google bugün yardım etmiyor - bu, anahtar kelimeleri çevirmenin yanlış yönlendirildiğini, çünkü kelimelerin aslında İngilizce olmadığını - bunlar jargon. Sadece yapmak değil (örneklere yukarıda kullanmak için) paragraf ve dökmek oldukça bu kesin anlama sahip değildir için İngilizce sahiptir, sigara programcılar "döngü" ifade etmek alay etmeleri. Amerikalıların bile yeni bir anlam öğrenmesi gerekiyor. Dolayısıyla, kelimelerin yüzeysel anlamını başka bir dile çevirmek, aslında yardımcı olmaktan çok, diller arası kelime oyunu yapmaya benzer.


25

Daha önce Japonca programlama hakkında çok fazla düşünmemiştim ama işte sorunun kod örneğini kullanarak başlıyoruz.

Değişkenler İngilizce olan Japonca'da yalnızca dil ifadelerini kullanmak:

// In Japanese, it makes more sense to put the keywords/modifiers as
// postfix expressions rather than prefix expressions.
(i < size)か {
     (l[i])は {
     1だ:
         「もしもし。」を書く;
     省略時値:
         「いいえ、いいですよ。」を書く;
     }
} ない {
     「はい、ありがとうございます。」を書く;
}

(;) İçin nokta virgül sanırım .. = D
José Leal

1
Aslında, Japonca kodlama yapabilseydiniz, → 定 問 上 下 不 gibi şeyleri özel sözcükler olarak kullanabilirdiniz, Japonca bir lisp düşünebilir miydiniz? (定 hatırlamak (→ (a lat) (問 ((空? lat) (引用 ())) (又 ...
wallyqs

1
Postfix ile yazacaksan, onu bir Dördüncü lehçe de yapabilirsin, ね? :-)
Ken

bu bile derlenecek mi? : \
NoobEditor

13

Pek çok kişinin daha önce belirttiği gibi, çoğu programlama dilinde sadece birkaç anahtar kelime öğrenmeniz gerekiyor, bu yüzden İngilizce (veya bu konuda sizinkinden başka bir dilde) olmaları o kadar da önemli değil. Bu sadece bir yapıyla ilişkilendirdiğiniz bir sembol. Örneğin, VB'de, birçok C stili dilde "{" olan "THEN" var ve okunabilirlikte büyük bir fark yaratmıyor (en azından ben böyle görüyorum, İngilizce olmayan anadili).

Ancak işlerin bazen zorlaştığı ve (doğal) dil seçiminin önemli olduğu yerlerde tanımlayıcıları adlandırmaktır. Değişkenlerin, işlevlerin, sınıfların vb. Adları, bir dil engeli nedeniyle sizin için anlamlı bir isme sahip değilse, en basit kodu takip etmek bile oldukça zor olabilir.

Birinin bana bir blogdan alınan kısa bir Actionscript pasajı verdiğini hatırlıyorum. İsimler Almancaydı ve o dilden tek bir kelime bile konuşmadığım için var_123, var_562 veya func_333 de olabilirdi (ve muhtemelen isimleri hatırlamak veya en azından benim için daha kolay olurdu. kopyalamadan ve yapıştırmadan doğru heceleme şansı). Bu kısa, kendi kendine yeten bir pasaj olduğundan, bu değişkenlere ve işlevlere ana dilimde (İspanyolca) anlamlı isimler vermek için çevrimiçi bir çevirmen kullandım ve bundan sonra her şey açıktı. Mesele şu ki kod aslında basitti, ancak çok fazla (gereksiz) fazladan çaba sarf etmeden yalnızca dil engelini aştığımda bir anlam çıkarabildim.

O zamandan beri, tanımlayıcıları adlandırmak için İngilizce kullanmaya başladım. Hoşunuza gitsin veya gitmesin, programlama, mühendislik ve genel olarak teknik işler için "koine" dir. API'lerin çoğu ve çoğu dokümantasyon İngilizce dilinde yazılmıştır (ve muhtemelen bulabileceğiniz en iyi kaynaklar İngilizcedir). Güzel bir şekilde, kodunuzu etkileşime girme olasılığınız olan kodla daha tutarlı tutar ve sanırım İspanyolca gibi diğer dillerden daha derli toplu ve kısa ve öz olma eğilimindedir (aksi takdirde benim doğal tercihim olurdu).

Elbette, en azından biraz İngilizce anlayamazsanız, sorun aynı kalır, bu yüzden mükemmel bir çözüm değildir. Ancak, birçok farklı ülkeden bir dizi geliştirici göz önüne alındığında, iletişim kuracakları ortak dilin (kod ve tabii ki başka yollarla) İngilizce olması ihtimali vardır. Bu yüzden, bu soruna mükemmel bir çözüm olmasa da, İngilizce'yi seçmek belki de en iyi seçenektir.


Evet. Bununla ilgili küçük bir sorun, kodlayıcının ingilizce değişken isimlerini doğru şekilde yazmamasıdır. Gördüğüm en kötüsü "String employiNeim" hehe (nahh sadece şaka yapıyorum) ama daha önce buna çok yakın şeyler gördüm.
OscarRyz

Anadili İngilizce olmayan bir konuşmacı için, şaşırtıcı derecede güçlü bir dile hakimsiniz. Tebrikler, İngilizce, biz ana dili İngilizce olanlar için bile çok garip bir canavar.
Nicholas Flynt

10

Programlama dili, anahtar sözcükleri ve standart sınıf adlarını tanımlar ve en iyi uygulama, kullanıcı tanımlı türler, değişkenler ve işlevler ve ayrıca İngilizce adlar (anadili olmayan bir konuşmacı olarak söyleyebilirim ;-).

Yani evet, her şey yolundaysa, kodu okuyabileceksiniz.

Bununla birlikte, Java ve Perl gibi diller, tanımlayıcılar için tam Unicode setine izin verir, bu nedenle biri sınıf adlarını Kanji'de yazarsa, muhtemelen bir sorun yaşarsınız.

Güncelleme: Perl için Latince Perl yazmanıza izin veren bir şaka modülü var. Ama bu gerçekten sadece bir şaka. Kimse böyle şeyleri ciddiye almaz.

İkinci Güncelleme: Yerelleştirilmiş programlama dilleri fikri o kadar da saçma değil. Excel'in makro dili yerelleştirilmiştir, ancak şans eseri dosyada tek bir kanonik dilde (İngilizce) depolanır, bu nedenle yerelleştirme, normal şeyin üstündeki bir katmandır. Bu tür şeyler sadece küçük "programlar" için anlamlıdır, "gerçek" programlar için ise sürdürmek zorlaşır.


7

Aslında orada olan bazı İngilizce Olmayan tabanlı programlama dilleri (Vikipedi)

Ben Norveçliyim, ancak çıktı hariç tüm kodlar için her zaman İngilizce kullandım (okuldaki bazı aptalca kodları göz ardı ederek). Aslında genellikle her şeyi İngilizce yazıyorum ve sonra çeviriyorum gettext (veya başka bir şey) kullanarak ana dilime .


6

Ben İngilizim ve sık sık karşılaştığımız bir sorun Amerikan / İngiliz yazım çatışmasıdır. Bu genellikle Initialise () veya Initialize (), Analyze () veya Analyze () vb. Gibi programlama ile ilgili terimlerle ortaya çıkar. Bu, yöntemleri geçersiz kılmaya çalışan sorunlara yol açabilir (vardır) ve bazen fark edilmesi zordur.

Çerçeve (bizim durumumuzda C #) Amerikalılar tarafından tasarlandığından, tutarlı olmanın ve Amerikan yazımlarını kullanmanın en iyisi olduğunu gördük. Color'ı bile benimsiyoruz.

Geliştirme ekiplerimizde farklı milliyetler var ve İngiliz olmayanların çoğu doğal olarak Amerikan yazımlarına yöneliyor.


4

AppleScript bir zamanlar Fransız ve Japon lehçelerinde mevcuttu. Neden geri çekildiğini bilmiyorum.


Muhtemelen internet çağında kod paylaşmak zor olduğu için ... VBA da tercüme edildi. Kötü bir fikir.
PhiLho

4

Bunu bir sonraki seviyeye taşıyacak olursak, sembolleri ikame edebilmek nasıl olur?

Brainf ** k ve Whitespace gibi dilleri gördükten sonra şöyle bir dil yapmayı düşündüm: Açmak için kapatma parantezleri kullanmanız, kapatmak için parantezleri açmanız, + ve -, * ve / ,; ve:,> ve <vb.

Kavram, hileli olarak değiştirilmiş bir C derleyicisinden başka bir şey değildir. Ancak, anahtar kelimeleri farklı şekilde düşünmek gibi, daha önce böyle şeyleri hiç düşünmediyseniz, bazı temel varsayımları yeniden düşünmeniz için sizi zorlar. Ör:

int foo)int i, char c( }
    int six = 2 / 3:
    int two = six + 4:
    if )i > 0( }
        printf)"i is negative"(:
    {
{

2
hey, bu suratı seviyorum.
aib

4

C # dilinde bir yazılım sistemi geliştiren bir Fransız ekibindeyim. Programlama dili anahtar kelimelerinin görünüşte İngilizce olmasına rağmen, tüm fonksiyon isimleri, değişkenler, kod yorumları, veritabanı tabloları ve sütunları, teknik özellikler, protokoller ve benzerleri içerdiği için kodu okurken büyük zorluk yaşayacağınızı hayal ediyorum. Fransızca, bu güzel aksanlı karakterler de dahil olmak üzere ç, ​​é, è, ù, vb. Virgülün varsayılan ondalık ayırıcı olarak kullanılması gibi yerelleştirme hataları nedeniyle sistemin başka bir yerde çalışıp çalışmayacağından bile emin değilim.

Aksi takdirde, WinDev Fransa'da popüler bir programlama platformudur ve programlama dili WLanguage, Fransızca veya İngilizce anahtar kelimelere sahiptir, buraya bakın ve örnek: bağlantı metni


resharper herhangi bir yerel ayara özgü pisliği yakalayacaktır :) kod tabanınızı temizlemek için 1 aylık testi kullanın.
v.oddou

4

Yerelleştirilmiş gördüğüm tek dil , makroları olan Excel. İtalyanca Office sürümünü kullanarak bir sütun toplamaya çalışırsanız, SOMMA(A1:A10)TOPLA değil yazmanız gerekir . Bu utanç verici.

Bu arada, eğlenceli olduğu için, kodunuzun İtalyanca anahtar kelimelerle nasıl görünmesi gerektiği aşağıda açıklanmıştır:

se (i < size){
    commuta
        caso 1:
            stampa "hi there"
        normalmente:
            stampa "no, thank you"
} altrimenti {
    stampa "yes, thank you"
}

3

VBA'nın ispanyolca benzeri komutlara çevrildiğini gördüm. şimdiye kadar görülen en çirkin şeylerden biri. Bilgisayarımda böyle bir şey olmasından utanırdım.

PD: İspanyolcanın İngilizceden çok daha güzel bir dil olduğunu düşünüyorum; ama çeviri YANLIŞ


Daha yeni ms-office sürümlerinde hala durum böyle mi bilmiyorum, ancak eski olanlar farklı bir yerelleştirme için yazılmış komut dosyalarını çalıştıramadı.
EricSchaefer

1
Sadece İngilizce "daha iyi" İspanyolca daha bu şekilde içeri yazma için biraz daha kısa yüzden İngilizce, daha büyük bir kelime olmasıdır ben ikinci dil olarak İngilizce öğrenmek istemem.; İspanyolca çok daha mantıklı!
Chip Uni

İspanyolca (çoğu dil gibi) İngilizceden çok daha geniş bir kelime dağarcığına sahiptir; ancak İngilizce, yeni kelimeler icat etmeyi ve yine de anlaşılmayı kolaylaştırır. Bu, onu çok kısa ve teknik konularda kullanımı kolay hale getirir. Ayrıca, İngilizce çok daha zorunludur ve basit cümleleri tercih eder (eğer varsa, belirsizlikten kaçınmak için), belki de bu onu prosedürel programlama için daha 'doğal' yapar. Ayrıca, İngilizcenin diğer dillerden "daha iyi" olduğunu asla söylemeyeceğimi de unutmayın; ancak BASIC İngilizceye dayalıdır, tercüme edildiğinde okunamayan bir karışıklığa neden olur.
Javier

"İspanyolca (çoğu dil gibi) İngilizceden çok daha geniş bir kelime hazinesine sahiptir": doğru değil. İngilizcenin diğer dillerden daha fazla kelimeye sahip olduğu biliniyor, İspanyolca için yaklaşık 250.000'e karşı 100.000
Luigi Plinge

Buradaki derslerden biri tamamen ticari; VBE programlama topluluğunun dünya çapında muhtemelen 1.000'den az kişiden oluştuğu dillerde yerelleştirme desteği sağlayamazsınız. Microsoft bunu 1990'larda yaptı ve ardından hızla geri çekildi. Bazı dersler İspanyolca gibi çok daha büyük topluluklara taşınır. Öncelikle, senaryonuzu dilin aynı yerelleştirilmiş sürümüne sahip olmayan kişilerle paylaşamazsınız.
üçlü

3

Diğerlerinin de belirttiği gibi, anahtar kelimeler ve sistem çağrıları büyük olasılıkla İngilizce kalacaktır.

Ancak, dilin anahtar kelimelerini anlamak, kodu anlamanın sadece küçük bir kısmıdır. Değişken isimler, işlev isimleri ve yorumların tümü yazarın ana dilinde olma riskini taşır.

Düzenleme : Anahtar kelimeleri Fransızcaya çevirmek için TRS-80 yerleşik BASIC'imin eşleme tablolarına gittiğim gençliğime yeni döndüm. Tüm anahtar kelimeleri değiştirebilirdim ama hiçbirini büyütemedim. Komik programlar için yapılmıştır.


Aslında. "Değişken adlardan yorumlara kadar her şey için sadece [yerel dili girin] kullanacağız - bu sadece küçük bir uygulama, onu kim değiştirecek?" Birkaç yıl sonra, başka yerlerde: "Evet, yorumlar var. Keşke '// Meg tudom enni az üveget, nem árt nekem'in ne anlama geldiğini bilseydim ..." (vurgu için lang değiştirildi)
Piskvor

Üniversitede birinin DOS'a girdiğini ve bazı komutları ve mesajları müstehcen olacak şekilde değiştirdiğini hatırlıyorum ve hala işe yaradı
JoelFan

3

Bununla dalga geçme. Birkaç yıl önce Microsoft, Almanca anahtar kelimeler ve API ile G # (German Sharp) - C # 'i duyurmuştu. Elbette bu bir Nisan Şakası şakasıydı, ancak bununla ilgili tüm site çok gerçekçi ve profesyonel görünüyordu (ve microsoft.com'daydı). Korkunç.

İş yerinde, her ikisi de Almanca konuşulan ülkelerde geliştirilmiş, tanımlayıcılar için bazı sevimli sahte arkadaşlar da dahil olmak üzere korkunç bir Almanca ve İngilizce karışımına sahip iki alan veri yolu sistemi kullanıyoruz. Bu bir karmaşa.

Hayır, İngilizce anahtar kelimeler ve tanımlayıcılar iyidir. Bazıları bunun Renkli mi yoksa Renkli mi olması gerektiğini tartışabilir :)


3

Üzerinde çalıştığım birkaç VBA projesinde (evet, kariyerimin çok başlarında) kullanıcının makinesine yüklenmiş olan ofis sürümünü tespit etmemiz ve e-tablolarda kullanılan formülleri buna göre değiştirmemiz gerekti.

Ben portekizce programladığım gibi "SUM", "SOMA" ya tercüme edilmeli ve bu böyle devam edecek. Bunun birkaç dilde gerçekleşmesi için gerekli çalışmayı hayal edemiyorum. Bu problemden başka acı çeken var mı?


3

Anahtar kelimelerin çevrildiği bazı diller vardır. Örneğin Excel formülleri. Bir elektronik tabloya bazı hesaplamalar yazarsanız, bu sizin dilinizde olacaktır.

Neyse ki, bu genel bir uygulama değil ve benim gibi İngilizce konuşmayanlar bile anahtar kelimeler için standart bir dil olduğu için Tanrı'ya şükür:

  • Çalışmanızı paylaşmak daha kolay.
  • belgelerin halihazırda olduğundan daha büyük bir kabusa dönüşmesini engeller.
  • İngilizce kelimeler ve cümleler genellikle kısadır ve sözdizimsel olarak pragmatiktir. Edebiyatta Latin dilleri çok daha güzeldir, ancak teknik konularda İngilizce harikadır.

Ve nerede durmalı? Eski Yunanca'da bir C düşünebiliyor musunuz?

Anahtar kelimeler tek bir dilde kalmalı ve İngilizce ile başlamalı, öyle kalsın. Bu en kötüsü olabilirdi (Asya dili?). Ve bu yüzden İngilizce yöntemler ve yorumlar yazmalıyız. Tamam, bizim için daha çok iş, ama en azından uluslararası kod tabanı uyumlu kalıyor.

Bununla birlikte, ana dilde yöntem adlarının ve yorumlarının kullanılmasının iyi bir uygulama olabileceği bir durum vardır: üçüncü dünya ülkesinde. Birkaç ay sonra bir Django projesini yönetmek için Senegal'e gidiyorum. Senegal'in muazzam bir analphabetization oranı var ve bu nedenle programlama bilgilerini geliştirmek için enerji harcaması zaten harika. Fransızca burada anadildir, bu nedenle onları aynı anda hem bilgisayar hem de yeni bir dil öğrenmeye zorlamak yetersiz olacaktır.

BTW, Fransızca anahtar kelimeler içeren kodunuz olacaktır:

Si (i < taille) {
    cas par cas :
        cas 1:
            afficher "salut"
        défaut:
            afficher "non merci"
} sinon {
    afficher "oui, merci"
}

Anahtar kelimelerin çevrilmesinin dizeleri çevirmekle ilgisi olmadığı için değil. Elbette "merhaba, orada" dilimize çevrildi. Avrupalı ​​kodlayıcılar, hizmetlerinin daha geniş bir kitleye ulaşabildiği I18N'yi Amerikan toplumundan çok daha fazla kullanma eğilimindedir.


2

Genel olarak konuşursak, çoğu programcı İngilizce forma uyum sağlar. Programlamayı 7 yaşımdayken öğrendim ve sadece İbranice (sağdan sola) konuşuyordum ve hiç İngilizce bilmiyordum, bu da onu oldukça etkileyici bir deneyim haline getirdi.

Genellikle karşılaşacağınız sorun dokümantasyon, değişkenler ve işlev adlarıyla ilgilidir. İngilizce alfabe kullanarak diğer dillerde değişken payımı gördüm.

Aslında tercüme edilen bildiğim tek dil eski Logo idi (bu güne kadar hala harika).


Shalom Uri, Sourceforge'da ayrıca İbranice Programlama Dili (HPL) var. LOGO gibi, genç bilgisayar kullanıcılarına yöneliktir.
TonJ

2

Ben çocukken Fransa'ya gittik ve gittiğimiz bir müzede size bilgisayar programları yazmayı gösteren bir sergi bulduğumu hatırlıyorum. Dil bir tür BASIC varyantıydı ve onu FOR yerine POUR kullanarak açıkça hatırlıyorum, vb. 7 yaşındaydım ve sadece BASIC'i yeni öğrenmiştim ve Fransızların böyle kendi lehçelerine sahip olması bana tamamen doğal geldi !!

Sanırım gördüğüm LSE olabilir mi?


2

Filemaker'ın betik dili yerelleştirilmiştir. Komut dosyaları (ve veriler!) Korkunç bir "standart kanonik" formda saklanır.

Dolayısıyla, Amerikan versiyonunda bir komut dosyası yazarsanız, onu Fransızca versiyonda açarsanız, tüm anahtar kelimeler ve yerleşik fonksiyon adları Fransızca olacaktır. Ama neden çalışmıyor ?! Aha! Fransız versiyonu ondalık nokta olarak "," kullanır ve bu nedenle belirsizliği önlemek için ";" işlev argümanlarını ayırmak için - Amerikan versiyonu "." ve "," sırasıyla. Bu dönüşümü kendin yapmalısın.

Dolayısıyla, tüm bunları düzeltmek için inanılmaz derecede kötü komut dosyası düzenleme arayüzünde (metin dosyaları olarak komut dosyaları yazamazsınız) çalışıyorsunuz. Çalışıyor! Harika! Sonuçlar tamamen yanlış! Oh hayır! Aha! Amerikan versiyonuna girdiğiniz Ocak-7-2004 tarihi, Temmuz-1-2004 olarak yorumlanıyor - görünüşe göre tarihler sadece görüntülenmiyor, aynı zamanda yerel ayara bağlı olarak saklanıyor . Şaka mı yapıyorum ? Hayır.

[Not: Filemaker 8 ve 9 mantıklı olabilir - Ben sadece 3 - 7 ile çalıştım.]


Ah! Bunu thedailywtf.com'a göndermeniz gerekiyor gibi görünüyor
André

2

Sorunuz Perl ile ilgili ilginçtir çünkü sözdizimi (İngilizce) doğal dili takip etmek için tasarlanmıştır. Acaba bu, İngilizce konuşmayanlar için işleri daha mı zorlaştırır?

Elbette Perl ve Perlers geleneksel kurallara göre oynamayı reddediyor. Çılgın bilim adamı Damian Conway, , Latince Perl yazmanıza olanak sağlamak için kaynak filtrelerinin kara büyüsünü kullanan Lingua :: Romana :: Perligata modülünü !


Ben öyle düşünmüyorum. Sorun şu ki, ingilizce bilmenize rağmen, (koşul) jump_to: label ... Perl'e söyleyemezsiniz. Demek istediğim, bir goto falan gibi.
OscarRyz

Perl'in "doğal dili gibi" deyimlerinin çoğu "open () veya die ()" gibi bir almanca konuşmacı olarak benim için oldukça doğal. sanırım İngilizce ve Almanca yeterince benzer
bjelli

2

Burada Avustralya'da biz hala heceleyebilirsin rengi gibi renk . Bununla birlikte, bir Avustralya projesi üzerinde çalışan diğer (Avustralyalı) geliştiriciler, dahili değişken adlarının Amerikan tarzında yazılması gerektiğine karar vermelerini rahatsız edici buluyorum.


1

IMHO, bir dil sözdizimi için i18n anlamsız olurdu . Her tür taşınabilirliği öldürecektir.

Tek istisna, LOGO gibi eğitim dilleridir. Kolay öğrenim için tasarlandılar, bu nedenle taşınabilirlik bir sorun değil.


1
Excel'de formüller yazan veya sunumlarında küçük efektler yaratan kişiler gibi daha geniş bir hedef kitleniz olduğunda, "ayrılmış" kelimeler için i18n uygulamayı düşünmelisiniz ...
rshimoda

1

Çok fazla kod okudum ama sorun her zaman değişken / yöntem adlarında ve yorumlarda, eğer kodlarını kendi dillerinde yorumluyorlarsa, Japonca veya Kiril gibi özel bir dil kullanarak başımız belada! ama anahtar kelimeler İngilizce olarak kalacaklarını düşünüyorum.


1

italyanca

se (i < dimensione){
    scegli
        caso 1:
            stampa "ciao"
        mancante:
            stampa "no, grazie"
} altrimenti {
    stampa "sì, grazie"
}

Önceki bazı posterlerin endişelerini teyit etmek için, tüm anahtar kelimeleri İngilizceden Fransızcaya çevirmeyi içeren bir makro içeren bir Fortran kodu gördüm. Devam etmeme izin ver.

Aynı zamanda İtalyanca, Almanca, İngilizce ve Fransızca tanımlayıcıları eşzamanlı olarak içeren bir kodla çalışmak zorunda kaldım, çünkü yalnızca birçok farklı yerde geliştirildiğinden değil, aynı zamanda ana geliştirici bunun eğlenceli olduğunu düşündüğü ve tanımlayıcı adlarını kopyalamamasına yardımcı olduğu için ( tabii ki 2000 satırlık bir rutin ile ....)


0

WordBasic'in yerelleştirildiğini düşünüyorum. WordBasic, VBA kullanılmadan önce Word'de makrolar yazmak için kullanıldı.

Doğru hatırlıyorsam, yalnızca İngilizce sürümde yazılmış WordBasic tüm yerelleştirilmiş sürümlerde çalıştırılır. Hollandaca bir versiyon yazacaksanız, bunu sadece Hollandaca bir Word üzerinde çalıştırabilirsiniz.

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.