Sadece Dili Öğrenmeyin, Kültürünü Anlayın

Lisede yabancı dil öğrenmek zorunda kaldım. O zamanlar iyi bir İngilizceyle iyileşeceğimi düşündüm, bu yüzden üç yıllık Fransızca dersinde uyumayı seçtim. Birkaç yıl sonra tatil için Tunus'a gittim. Arapça oradaki resmi dildir ve eski bir Fransız kolonisi olduğu için Fransızca da yaygın olarak kullanılmaktadır. İngilizce sadece turistik bölgelerde konuşulur. Dil konusundaki bilgisizliğim yüzünden, kendimi havuz başında James Joyce'un biçim ve dildeki güç gösterisi olan Finnegans Wake'i okurken buldum. Joyce'un kırktan fazla dili eğlenceli bir şekilde harmanlaması, yorucu olsa da şaşırtıcı bir deneyimdi. Yabancı kelimelerin ve cümlelerin nasıl iç içe geçtiğini anlamak, yazara kendini ifade etmenin yeni yollarını verdiğini anlamak, programlama kariyerimde yanımda taşıdığım bir şeydi.

Andy Hunt ve Dave Thomas, çığır açıcı kitaplarında The Pragmatic Programmer, her yıl yeni bir programlama dili öğrenmemizi teşvik ediyor. Onların tavsiyelerine göre yaşamaya çalıştım ve yıllar boyunca birçok dilde programlama deneyimim oldu. Çok dilli maceralarımdan aldığım en önemli ders, bir dili öğrenmek için söz dizimini öğrenmekten fazlasının gerektiğidir: Kültürünü anlamanız gerekir. Fortran'ı herhangi bir dilde yazabilirsiniz, ancak bir dili gerçekten öğrenmek için o dili benimsemeniz gerekir. C# kodunuz çoğunlukla statik yardımcı yöntemler içeren uzun bir Main yöntemiyse mazeret üretmeyin, ancak sınıfların neden anlamlı olduğunu öğrenin.

Yeni bir dilin iplerini öğrendikten sonra, zaten bildiğiniz dilleri yeni şekillerde kullanmaya nasıl başlayacağınıza şaşıracaksınız. C#'ta delegeleri etkili bir şekilde kullanmayı Ruby'yi programlayarak öğrendim, .NET jeneriklerinin tüm potansiyelini ortaya çıkarmak bana Java jeneriklerini nasıl daha kullanışlı hale getirebileceğim konusunda fikirler verdi ve LINQ kendime Scala'yı öğretmeyi bir esinti haline getirdi.

Ayrıca farklı diller arasında geçiş yaparak tasarım kalıplarını daha iyi anlayacaksınız. C yazılımcıları, C# ve Java'nın yineleyici kalıbı metalaştırdığını bulur. Ruby ve diğer dinamik dillerde yine de bir ziyaretçi kullanabilirsiniz, ancak uygulamanız Gang of Four kitabındaki örneğe benzemeyecektir.

Bazıları Finnegans Wake'in okunamaz olduğunu iddia edebilir, bazıları ise onu stilistik güzelliği için alkışlayabilir. Kitabı daha az ürkütücü bir okuma yapmak için, tek dilli çeviriler mevcuttur. İronik olarak, bunlardan ilki Fransızcaydı. Kod birçok yönden benzerdir. Biraz Python, biraz Java ve biraz Erlang ile Wakese kodu yazarsanız, projeleriniz karmakarışık olur. Bunun yerine zihninizi genişletmek için yeni diller keşfederseniz ve işleri farklı şekillerde nasıl çözebileceğiniz konusunda yeni fikirler edinirseniz, eski güvenilir dilinizde yazdığınız kodun öğrendiğiniz her yeni dil için daha güzel olduğunu göreceksiniz.

Anders Norås Tarafından

Last updated