YazýlýmYazýlým en hýzlý geliþen ve deðiþen sektörlerden birisi… Ayrýca programlama dilleri, metodolojileri, araçlarý ve kullaným þekilleri itibariyle en fazla çeþitlenmenin de olduðu alanlardan…

Fikirler ve ürünler çok çeþitli olunca tartýþmalar yaþanmasý kaçýnýlmaz oluyor. Çoðunlukla her iki tarafýn da haksýz olmadýðý bu tartýþmalar bazen uzun yýllar sürebiliyor ve hatta bir sonuca ulaþmýyor.

Tab mý boþluk mu?

Programcýlýkta, kod parçalarýnýn farklý girintiler yaparak yazýlmasý önemlidir. Bir fonksiyonun içindeki kodlarý biraz içeriden, bir döngünün içinde kalan bölümü biraz daha içeriden vb. yazarak kodlarýn kolay okunabilir ve anlaþýlabilir olmasý saðlanýr.

Peki, bu girintileri verirken Tab (Sekme) karakteri mi kullanýlmalýdýr yoksa belirli sayýda boþluk mu verilmelidir?
Bu sorunun cevabý çok eski yýllardan beri bir tartýþma konusu olagelmiþtir. Boþluk fikrini savunanlar, bir Tab karakterinin Unix’te 8 boþluk, Macintosh’ta 4 boþluk anlamýna gelebileceðini ve ortak bir standart için belirli sayýda boþluk kullanýlmasý gerektiðini söylerler.
Tab fikrindekiler de herkesin boþluk verme þeklinin farklý olduðunu, asýl standardý Tab karakteri kullanmanýn oluþturduðunu iddia ediyorlar.

Modern programlama editörlerinin çoðunda Tab tuþunun kaç boþluk vereceði kullanýcýya býrakýlmýþ durumda… Tab deðil de boþluk vermeyi tercih edenler ise farklý alýþkanlýklara baðlý olarak 2, 4, 8 karakter kullanabiliyorlar.

Süslü parantez nereye konacak?

C ve sonrasýnda çýkan benzeri programlama dillerinde bir programýn, bir metodun ya da bir döngünün baþlayýp bittiðini anlatmak için süslü parantezler { } kullanýlýr. Bu parantezlerin kullaným þekli de bir baþka tartýþma konusudur.

Vikipedi’de anlatýldýðý þekline göre;
Klasik C dilinde çok kullanýlan K&R (Kernighan and Ritchie) stilinde, Unix/Linux çekirdeðinin yazýldýðý 1TBS (The One True Brace Style) ve BSD Unix kaynak kodunun yazýldýðý þekil olan BSD KNF stilinde, açýlan parantez metotlarda alt satýra, metot içindeki döngülerde ise ayný satýra konur. Kapatýlan parantez metodun ya da döngünün baþý ile ayný hizaya konur.

int metot()
{
    while(þart) {
	iþlemler...
    }

    if(þart){
       iþlemler...
    } else {
       iþlemler...
    }
}

ANSI C standardý olarak bilinen Allman stilinde ise, parantezler her zaman ayrý satýrlarda bulunur. Bu yöntemde tek bir parantez bir satýr olarak geçtiðinden yazýlan kodun satýr sayýsý artar. Ama ayný zamanda okunabilirliði de artar.

int metot()
{
    if(þart)
    {
       iþlemler...
    }
    else
    {
       iþlemler...
    }
}

Yine, bu iki metottan hangisini tercih edeceðiniz size kalýyor.

Eþittirden sonra boþluk olmalý mý?

Bir diðer tartýþma konusu, deðiþken atamalarýnda ya da þart ifadelerinde = (eþittir) karakterinin etrafýnda boþluk býrakýlýp býrakýlmayacaðý…
Örneðin, deðiþken=deðer mi olmalý yoksa deðiþken = deðer mi? Bu sorunun cevabý deðiþken; çünkü bir çok programlama ve script dilinde boþluk kullanmanýn anlamý deðiþebiliyor.

GNU/Linux mu, Linux mu?

Açýk kaynaklý yazýlým dünyasýnýn tartýþmalarýndan birisi, Linux iþletim sisteminin adýnýn GNU/Linux mu yoksa Linux olarak mý kullanýlmasý gerektiði…

GNU (GNU’s Not Unix -yinelemeli bir kýsaltma) Unix’e alternatif ve sadece özgür yazýlýmlardan oluþan bir iþletim sistemi oluþturmak için Richard Stallman tarafýndan 1984 yýlýnda baþlatýlmýþ bir proje… 1991′de, Linus Torvalds Linux çekirdeðini yazýnca bazý GNU programlarý Linux üzerinde çalýþmak üzere aktarýlmýþ ve daha sonra GNU’nun diðer kýsýmlarý da Linux üzerine taþýnmýþ. Böylece tam bir iþletim sistemi ortaya çýkmýþ.

Ancak, sonraki yýllarda Linux çekirdeðinden ve GNU programlarýndan oluþan bu iþletim sistemine ne ad verileceði tartýþma konusu olmuþ. GNU/Linux ismini savunanlar, tam bir adý ortaya koyduðu için bir kimlik olarak kabul edilmesini isterken; Linux ismini savunanlar daha kolay ve yaygýn bir kullaným oluþtuðu için iþletim sisteminin adýnýn Linux olarak kalmasý gerektiðini iddia ediyorlar.

Richard Stallman, iþletim sisteminden bahsederken GNU/Linux; çekirdekten bahsederken ise Linux denmesini istiyor. Linus Torvalds ise, eðer Debian Linux, Redhat Linux gibi bir GNU daðýtýmý hazýrlanacaksa o zaman böyle denebileceðini, ama Linux’a GNU/Linux denmesinin komik olduðunu söylüyor.

Kaynak kodu açýk mý olmalý yoksa kapalý mý?

Geliþtirilen yazýlýmlarýn kaynak kodunun açýk ve ulaþýlýr olmasýný isteyen açýk kaynak felsefesi ile kaynak kodlarýnýn gizli olmasýnýn gerekliliðini savunan þirketlerin tartýþmasý yýllardýr devam ediyor.

Açýk kaynak felsefesi; açýk kaynak kodlu uygulamalarýn güvenilirlik saðladýðýný, sanýlanýn aksine güvenlik açýðý oluþturmadýðýný hatta bir çok kiþi tarafýndan görülebildiði için hatalarýnýn kýsa zamanda düzeltilebileceðini belirtiyor. Ayrýca herkes tarafýndan geliþtirilebilmesi sayesinde daha saðlam ve yüksek kalitede olacaðýný iddia ediyor.

Microsoft’un baþýný çektiði, kapalý kodu savunan þirketler ise; kapalý kaynak kodlu uygulamalarýn daha güvenli olduðunu, daha çok kiþinin kodu görmesinin hatalarý kapatmaya yetmeyeceðini, farklý kiþilerin koda müdahale etmesinin daha yanlýþ olduðunu savunuyor. Ayrýca, yazýlýmlardan alýnan lisans bedellerinin ar-ge faaliyetlerinde kullanýldýðýný, açýk kaynak kodlu bir çok yazýlýmýn ise ar-ge faaliyeti yapmadan kendilerinin fikirlerini kullandýðýný iddia ediyorlar.

Yazýlým geliþtirme mi sanat mýdýr, mühendislik mi?

Yazýlým ürünleri hem yapýlýþ süreçleri itibarýyla bir sanat eseri hem de içerdikleri mantýk ve sorunlara yaklaþýmý sebebiyle bir bilim ya da mühendislik yapýsý özelliði gösterirler.

Tartýþýlan nokta ise daha çok yazýlým geliþtirme iþinin hangisine daha çok uyduðu…

Mühendislik fikrini savunanlar, yazýlým geliþtirmenin kendine özgü dinamikleri, çalýþma prensipleri ve kurallarý olan bir meslek olduðu, süreçlerin bilimsel olarak ele alýnmasý gerektiði, ihtiyaçlara analitik ve sistematik bir yapýda çözümler üretilmesi gerektiði yaklaþýmlarýný ortaya koyuyor.

Sanat olduðunu iddia edenler ise, geliþtiricilerin el emeði olduðunu, yetenek gerektirdiðini, arayüz tasarýmlarý, raporlamalar vb. sebebiyle birer sanat eseri olduðunu, yazýlýmcýlarýn bir disiplinle çalýþamayacaklarýný ancak özgür býrakýldýklarýnda nitelikli bir üretim yapabileceklerini düþünüyorlar.

Yorum (3)