GNU C Kütüphanesi Kılavuzu gibi kapsamlı bir C işlevleri kılavuzu şimdiye dek Türkçe'ye çevrilmemişti (bildiğim kadarıyla). Her ne kadar C dili ile geliştirilen bir yazılım teamülen tamamen İngilizce sözcüklerle yazılıyorsa da, ülkemizde hiç İngilizce bilmeyenlerin de C ile yazılım geliştirebildiklerini biliyoruz.
Belgeler.org ya da az bilinen ismimizle "Linux Belgelendirme Çalışma Grubu" olarak özgür kaynak kodlu yazılımların özgür belgelerini Türkçeye çevirme görevini *gönüllü* olarak üstlendiğimizden, ilk olarak çok gereksinim duyulan bu kılavuzu çevirmeye karar verdik ve kılavuzun İngilizce tam metnini tefrika bölümüne yerleştirip çeviriye gönüllü katılım daveti yaptık (17 Ağustos 2003).
İlk bölümleri ben çevirdim, bir süre sonra Yaşar Dereli bazı bölümlerin çevirisini üstlendi ve
Şifrelemeyle İlgili İşlevler,
Soketler,
Süreçler ve
Borular ve FIFOlar oylumlarını çevirdi. Evlendikten sonra sanırım pek fırsat bulamadı ve bunu sürdüremedi. Başka üstleniciler de oldu ama onlar bu kararlarının gereğini yerine getirmediler. Sonuçta, Yaşar Dereli'nin çevirdiği oylumlar hariç kılavuzun kalanı benim tarafımdan çevrildi.
Böyle bir kılavuzun ilk defa çevrilmeye çalışılmasının bazı zorlukları vardı. Bazı terimlerin türkçe karşılıkları hiç yoktu.
Kılavuzda C diline özgü işlev, makro, veri türü, HTML dosya isimleri gibi sözcükler dışında İngilizce terim yoktur. Dosya isimlerine dokunulmamasının sebebi özgün metinle çeviri arasında kolay bağ kurulabilmesini sağlamaktır.
C dilinde yazılım geliştirenlerin yadırgayacakları ama okuma ve anlama kolaylığı sağladığı için yapılan bir uygulamaya burada dikkat çekmek isterim. Kılavuzda işlevlerin argümanları da türkçeye çevrilmiş ve bu yapılırken türkçeye özgü karakterler de kullanılmıştır. Halbuki C dilinin sözdizimsel yapısında ascii 127 karakter dışında karakter kullanılamaz. Bu kod parçalarında ascii 127 dışında karakter kullanırsanız kodu derlerken hata oluşur. Bu bakımdan bu işlevleri kopyala/yapıştır yöntemiyle alıp kullanmayın (Ek-B'deki listelerde bu işlem uygulanmamıştır, onları kopyalayıp yapıştırabilirsiniz.)
Kılavuzda kullanılan dile özel bir dikkat gösterilmiştir. Kavramsal karmaşaya yol açmamak için terimler özenle seçilmiştir. Kimi yerde bir terim size şaşırtıcı gelebilir. Bunun sebebi, orada kullanılması gerektiğini düşündüğünüz terimin içerdiği kavramla daha iyi örtüşen bir yerde o terimin kullanılmış olması, orada ise yine o terim kullanıldığında bir kavram kargaşasına yol açacak olmasıdır. Bu bakımdan kılavuz içinde karşılaştığınız yeni terimleri bulunduğu bağlam içinde değerlendirmelisiniz. Örneğin, "thread" için şimdiye kadar çeşitli kaynaklarda "kanal" karşılığı kullanılmış (bence hiç de kavramla örtüşmüyor). Kılavuz içinde ise dosya akımları ile dosya tanıtıcılarından birlikte bahsedilirken kullanılan bir terim bu "kanal" hazretleri. Dolayısıyla kılavuz kapsamında "thread" için "evre" karşılığı kullanılmıştır. Ayrıca, aynı bağlamda olmasa da, "reentrant" ve "thread-safe" kılavuz boyunca eşanlamlı kullanılmış olduğundan her ikisine de "evresel" denmiştir. Burada bahsedemeyeceğim daha çook yeni terim var ama metni okurken, metin anlamlarınıda içerdiğinden onları kolay kolay farketmeyecek ve doğal olarak sizler de onları kullanmaya başlayacaksınız.
Ayrıca, özellikle bu kılavuz için, işlevlerin HTML sayfalar üzerindeki şimdiki görüntüsünü elde etmek için ve kılavuzun sonundaki dizinleri elde etmek için Docbook-xsl kodlarında değişiklik yapılmıştır. Eğer kılavuzun PDF çıktısını almak için XML taslaklarını standart DocBook-xsl kodları ile derlerseniz bu çıktıyı elde edemezsiniz (hatta hiç derleyemezsiniz). Bunun yerine XML taslakları aldığınız yerde bulunan belgeler-xsl kodunu (cvsroot/sitesrc/docbook/) ve tabii belgeler-dtd kodunu alıp kullanmalısınız. (Bu durum belgeler.org.tr'daki bütün belgelerin XML taslakları için geçerlidir. belgeler.org.tr herşeyiyle özel ve bu özellikleriyle bir bütünlük içindedir.)
Kılavuzun, C diliyle yazılım geliştirenler ve C diliyle yazılım geliştirmeseler bile tüm Linux kullananlar tarafından en azından bir kere okunmasını öneririm. Kafalarındaki pek çok sorunun yanıtını bu kılavuzun içinde bulacaklarına ve bu kılavuzu başucu kılavuzu haline getireceklerine eminim.
Eğer kılavuzunun metni içinde çevrilmemiş, çevrildiği halde orada kalmış metinlere rastlarsanız ya da bir imla hatası bulursanız lütfen belgeler.org.tr üzerinden bildirin. Çevrilmeden bırakmış metinleri çevirip yollarsanız özellikle memnun olurum :-) (Var, biliyorum, kimi zaman birbiriyle ilişkili olduğundan konudan konuya atlayarak çevirdim, geri dönüp onları da çevirdim, bazıları gözümden kaçmış olabilir, ama şimdi yerlerini bulmak o kadar zor ki. Salt metin 2,5 MB dile kolay...)
Nilgün Belma Bugüner -- 18 Kasım 2004.
Bol miktarda imlâ hatası bildiren Ömer GÜLMEN'e buradan özellikle teşekkür etmek isterim. (NBB, Kasım 2007)