Muhammed Tahiroğlu yazıyor
Yazılım ve Sanat

Yazılımcının Türkçesi

Ağustos 21, 2007 17:08, Muhammed

Bir zamanlar TDK, hiciv ve alay konusu olurdu şu Türkçeleştirme paranoyasından dolayı. "Oturgaçlı götürgeç" efsanesi şimdiki çocukların bile dillerinde. "Güneş Dil Teorisi"nden bihaber yaşayan bu çocuklar, dilbilim hakkında da en ufak bir fikir sahibi olmayıp sadece işin dalga yakasında salınmaktalar. Yanlış anlama olmasın, dilde arınmayı, banyo yapmayı savunan bir vatandaş değilim. Dilimizle ilgili meselelerde, çocukların da yetişkinlerin de daha duyarlı (sensitiv) olmasını arzuluyorum o kadar. Okuma yazmanın artık problem olmadığı memleketimizde, "doğru okuma yazma" seferberliğinin başlaması için de dua ediyorum.

Gelelim bizim yazılımcılara. Ah şu yazılımcılar. Ah şu Türkçeyi evirip çevirmekte üzerlerine olmayan Britanya sevdalıları...

Ne zamandır takip ettiğim Yazılım Geliştirme (genelde .NET) konulu makale / haber siteleri var. Cevval yazarlar, harıl hurul kodlar, cümleler yazıp yayına alıyorlar. Sonra bu yazarlar eğitimci, MVP, danışman gibi ünvanlar alarak sektörümüzün göbeğinde bize hizmet veriyorlar. Allah razı olsun.

Bugün, yine bu sitelerden birinin RSS başlıklarını tararken gülümsemelere gark oldum. Bakınız ey okur, siz de bakınız ve boşuna mı gülümsemişim karar veriniz:

- Tüm Yönleriyle Koleksiyonlar(Collections)  : Bu normal gibi ama başlangıç için uygun bir seçimdi.
- Asp.Net Temelleri : Derinlemesine Download/Upload İşlemleri : Bugüne kadar balıklamasına öğrendik, şimdi derinlemesine dalalım.
- Asp.Net 2.0 URL Rewriting Hakkında Gerçekler : Yazıyı bir de foto-analiz izliyor sanki. Merak ediyorum daha önceki duyduklarımız hep yalan mıydı?
- Etkili Reflection(Yansıma) Teknikleri : Parantez içinde bu ifadenin çevirisi ne gereksiz duruyor değil mi? Bir de "etkili" ne demek? Ne demek istiyor burada yazar?
- Asp.Net Temelleri : Etkili Trace Kullanımı : Hmm. Etki sendromu yaşıyoruz. "Trace" için "izleme" diye bir parantez içi karşılık vermesini beklerdik.
- Asp.Net Temelleri : Tablo Bazlı Resimleri Ele Almak : Hiçbir şey anlamadım bu başlıktan. Siz anladınız mı? "Ele almak" burada acaba mecazi anlamda mı, gerçek anlamda mı?
- Detayları ile Operatörleri Aşırı Yüklemek (Operator Overloading) : Uvv. Süper.
- Asp.Net Temelleri - Etkin Hata Yönetimi : Yazarımız "etkili"den vazgeçti, artık "etkin" işler yapıyoruz.
- C# Temelleri - Olayları(Events) Kavramak : "Ele almak"tan ötesi sanırım. "Event" kelimesi oldum olası düzgün çevrilememiştir zaten dilimize. Yazar çok haklı.
- Kendi Web Part Bileşenlerimizi Geliştirmek : "Kendi" diye başlayan bir cümlenin genel bir ifadeyle bitmesi ne kadar hoş durmuş değil mi?
- Profesyonelce Master Pages : Amatörce başlıklar.
- WPF, Xaml, Baml ve Dahası : "and more..." ancak bu kadar güzel çevrilebilirdi.
- .Net Tarafında Xml ile Oynamak : Oğlan tarafında kaşık ile oynamak... Çakkıdı ve dahası.
- Windows API - Akıtma Çubuğu Kontrolü : Abi ne diyorsun sen ya?
- Asp.Net 2.0 Temelleri : Bir Web Sayfasının Anatomisi : Sağlam bir başlık. İyi bir makale bekleriz bu başlığa.
- C++ ve K-Ortalama Algoritması ile İmge Bölütleme : Bu arkadaşı geleceği parlak. Çankaya'ya göz kırpıyor.
- C# Temelleri: 1!=1 Eşitsizliğinden GetHashCode' a Uzun İnce Bir Yol : Gündüz gece, gündüz gece diye devam ediyor değil mi?
- C# Temelleri : Referans Tipi Olmak : Ya da olmamak. Ya da tamamen tipsiz olmak. Hangisi?
- C# Temelleri : Static Olmak : Olmayalım daha iyi.
- Cross-Page Postback Paradigması : Yazardan yine sağlam bir başlık. Ama başlığın vadettiği şeyin yazıda bulunduğunu sanmıyorum. Uff paradigma.
- Büyük Nesneler(Large Objects) ile Çalışmak : Seslisozluk.com olmuşuz abi.
- Evinizde ADSL Üzerinden Web Hosting Hizmeti Nasıl Verilir : Ya şahıs çekimlerinde problemleri var bu arkadaşın. "Evimizde" diye başlamalıydın. Bizim eve karışmaz mısın iki dakika.
- C ve OpenGL : Döndürme ve Öteleme İşlemleri : Evet aslında anlıyorum ama aynı zamanda anlamıyormuş gibiyim. Kararsızım.
- Windows API - Düğme Kontrolleri : İki küçük form düğmesi... Hatırlatır Windows'u bana...
- Yapılar, Birlikler ve Bit Alanları : Uzunyayla SS.Yapı.Birlik.Koop.
- Numaralandırıcıları Kullanmak İçin Bir Sebep : Nedir o?
- Using İfadesi ile Garanti Dispose : Neresi Türkçe? Neresi İngilizce? Neresi İstanbul, neresi Garanti?

İşte yazılımcının Türkçesi böyledir. Kendi içlerinde bile ne dediklerini anlayamayacak kadar, şahıslarına münhasır konuşurlar ve yazarlar. İngilizce makaleleri birebir tercüme edip yayınlarlar. Uzaktan bir bakmazlar yazdıklarına.

Oysa Türkçe bambaşka bir şeydir. Bambaşka bir derleyicisi vardır.

Ne olur azıcık dikkat edelim sevgili yazılımcılar yazdıklarımıza... Sonunda kaybolmayan bir Türkçe var. Değmez mi?

Hani Adresliyor Olacaktık?

Ağustos 6, 2007 16:21, Muhammed

Her gün yeni kelimeler, yeni ifade kalıpları öğreniyor insan.

Yeni kalıbımız arkadaşlar: Adreslemek. Her yere kullanabilirsiniz:

- Bilemiyorum adresledin mi anlattıklarımı?
- Evet, camiden dönünce köşede. (Bknz: Dobişko adres tarifleri)
- Biz konuşurken Müslüm Bey gerekli noktaları adreslemiştir zaten. (Müslüm kendinden bekleneni hep vermiştir.)

Şimdi bu ifadenin analizini yapalım beraberce. Dikkatli okuyucu, ifadenin kaynağının Türk Bilişim Camiası (Microsoft cenahı) olduğunu hemen anlamıştır. Evet, ama hangi yabancı sözcüğe mukabil dillere yerleşti bu, bunu anlayabildiniz mi? Adreslemek... hmm. Konumlandırmak, yerleştirmek. Ne olabilir? Kavramak meselâ? Yok bunlar çok temel. Adreslemek, sanırım kafada ampüller yanması. Çok mu siyasi oldu? Değiştirelim. İnsanın kafasını bir bellek alanı olarak tasavvur edip, oraya kavradığı şeyleri tertipli bir biçimde yığması! İşte bulduk sevgili okuyucu, "adreslemek" artık "el" değil bize.

Artık dağarcığınız biraz daha genişlemiş oluyor. Elinizde, "jenerik", çok amaçlı, çok yönlü, uygulanabilirliği yüksek, kullanılabilirliği enfes, erişilebilirliği nefes kesen bir sözcük ya da eski dil ile kelime bulunuyor. Bu fiili ister mastar yapın, isim-fiil hâllerine sokun, ister tüm şahıslarla çekin. Sonuç değişmeyecektir. Siz süper konuşan, süper kelimeler bilen ve meramını karşıdakine net aktarabilen bir endüstri insanısınızdır.

Gelişiminize yaptığım bu katkıyı unutmamanız, benim için en mânidar şükran olacaktır.

Kodcunun Altyapıyla İmtihanı

Ağustos 2, 2007 10:03, Muhammed

Bir üst framework yazmak / kullanmak ne denli zahmetlidir, biliyor muydunuz?

Microsoft yazmış bir framework, üstüne yine yazmış Application Block'lar, Enterprise Library'ler. Sonra üçüncü taraflar (çeviri Google'dan) yazmış başka başka yazılım geliştirme altyapıları. Ortalık standartlaşma, merkezileşme, kurallılaşma hevesiyle dalga dalga, duman duman.

İşveren veya "ekipler âmiri" ne istiyor? Kodcuma bağımlı olmayayım. Plug-and-play kodcularım olsun. Tuğlaları birleştiren, duvarı ören işçiler gibi. Tuğlanın yapısı hakkında, duvarın tasarımı hakkında bir fikri olmasın. Fikri olsa bile bunu kendine saklasın. İşyerinden tuğla kaçırsa bile, başka bir duvara uymadığı için tuğlalar elinde patlasın. Bir gün stok tarafında tuğla dizmiş kodcumuz, ertesi gün izne ayrılmış diğer arkadaşının yerine muhasebe tuğlaları dizebilsin. Üstelik, esneklik ister âmiri. Yazılımlar rahat rahat sünebilmelidir, genişleyebilmelidir. Her gün değişen iş ve rekabet koşullarına göre dinamik bir biçimde geliştirilebilmelidir. Kodlar yapış yapış olmuş makarnaya dönmeden konforlu biçimde yazılabilmelidir. Zaman da kazanmak ister âmir. Sıkıştırma algoritması bir kere yazılsın ister, her kodcu, gerektiğinde kendi zip'ini yazmaya kalkışıp geceler, gündüzler tüketmesin ister.

Hangi sebeple olsun altyapı gereklidir. Kodcu istesin veya istemesin, gereklidir.

Kodcunun hayalleri, idealleri vardır. Kendi algoritmalarını yazıp, kendi imzalarını atmak ister. Kod içerisine şakalı açıklamalar yazmak düşler. Kimisi âşıktır, şiire verir kendini. Döngü içerisinde sıcak kalp atışları duyulur. İtiraf.com'dan çok daha öte bir şeydir bu. Çok insancıldır. İnsan emeğinin yazılıma dönüştüğü noktada, alınteri ışıltısıdır bunlar. Kodcu, altyapının kendini sınırladığını düşünür bu zamanlarda. Altyapı olmasa süper bir kodcu olacaktır, sağdan soldan teklif gelecektir. Bu bir ressamın, yaptığı bir tablonun altına adını yazamaması gibi azap verici hâle gelir onda. Ah şu altyapı olmasa veritabanına nasıl da bağlanırım der. Nasıl da hızlı çalışan kodlar yazarım! Tüm değişkenleri tek satırda nasıl da tanımlarım. Rem'lerle adımı nasıl da yazarım kodların arasına. Ustalığımı konuştururum. Ben gitsem bile adım kalır bâki.

Öyle olmaz işte. Altyapı, kodcuyu kendi mahallesine çeker, döver de döver. Hem ruhen hem bedenen bir eğitime tâbi tutar. Kazançlı da çıkar aslında kodcu bir anlamda. Daha tertipli kod yazmayı öğrenir. Bot gibi çalışmaya başlar. Akşam eve gidince normal insana dönmesi gerekir yalnız. Altyapının da kararında olması lazımdır.

Şöyle erer ruhlar itminâna:
Devir tüketim devridir. Acımasızca bir tüketim. Bandwith'ler, storage'ler... servet gibi yığılır insanın önüne. Tek tasarruf etmesi gereken şey "zaman"dır bu çağda. Çünkü artırdığı zamanı, daha fazla tüketim için kullanacaktır. Evet kardeşim evet, altyapı da, framework de bir tüketim aracıdır. Eskisinden daha fazla kod çalışıyorken arka planda, kodcunun daha az kod yazması, onun hakikaten daha az kod yazdığı anlamına gelmemektedir. Çünkü artan zamanda yine kod yazan kodcumuz, tüketimin zâlim çarkına girmiş bulunmaktadır.

İşin acısı nedir bilir misiniz? Bunun farkında olarak yaşamak. Ve Orta Çağ'ı kapatıp Yeni Çağ'ı açacak kudretten mahrum olmak.

Son olarak, bu da bir dış bağlantı olsun, gönülden kopan: Why frameworks are a good thing?

 
EOS 40D
Site Meter