Evet, geldik C dili derslerine. Tamam da, C’yi niye bu kadar övdük? Yani C’nin hiç kötü yanı yok mu? Ya da C’den daha iyi bi dil yok mu? Cevaplar aşağıda… (Çoğu Wikipedia’dan kopya, yani çeviri =D )

C Dilinin Tasarımı

C dili, herhangi bir işletim sistemine bağlı olmayacak şekilde hazırlanmıştır. Çünkü yapılma amacı işletim sistemi yazmaktır. Delphi dilini ele alalım. Sadece Windows sistemleri için program üretmektedir. Ama Delphi’nin de C’ye karşı üstünlükleri vardır.

C, genel amaçlıdır. Siz C’de işletim sistemi yazarsınız, adam oyun motoru yazar. Siz konsolda(DOS ekranı) işlem çözdürürsünüz, adam pencerede film oynatır. Kısacası C “her ayın elemanı”dır.

C dili blok yapılı bir dildir. Ne demek olduğunu sonradan anlıycaz.

C dilinde fonksiyon kelimesini çok göreceksiniz. Belirli girdilerle, belirli bir işi yapan kod parçasına fonksiyon denir(Türkçesi “işlev“). Fakat C dili fonksiyonel bir programlama dili değildir. C dili “imperative” bir dildir. Yani, bilgisayara sırasıyla neyi yapması gerektiğini söylersiniz. Ama fonksiyonel bir programlama dilinde, “teorik olarak” bilgisayara aynı anda iki işi birden yaptırabilirsiniz (ama değişken kullanamazsınız :) ve kimse oturup buna kasmamıştır ).

C dili, sistem programcılarının uğraştırıcı makine dili kodlarını daha basit bir şekilde yapması için yaratılmıştır. Ve çoğu C derleyicisinin “inline asm” diye bilinen bir desteği vardır. Eğer, “Ben derleyicinin yarattığı makine kodunu istemiyom, kendiminkini yazacam” derseniz, asm{} bloğu içinde makine dilinde kod yazabilirsiniz. Bu desteğin sağlanmasının esas nedeni, C dilinin yaratılış amacının, “Sistem programlamayı kolaylaştırırken, programcıyı makine dilinden soğutmamak” olmasıdır.

Bir de şunu unutmayın. Bazı durumlar olacak, “Bu lanet olası derleyici niye burda hata veriyo” diyeceksiniz. Ama bu durumun, bir öğretmenim tarafından yapılmış çok güzel bir açıklaması var: “Arkadaşlar, herhangi bir dilde, aynı işi en az 10 farklı şekilde yapabilirsiniz. Ama genellikle bunlardan sadece biri seçilmiştir. Ve seçilmemiş olan yöntem, sizin kullandığınız yöntemdir. Sizin kullandığınız yöntenim seçilmesi için 1 neden varken, diğer 9 neden seçilmiş olan yöntem tarafındadır. Sakın derleyicileri ve dil kurallarını yabana atmayın.” Ben burdan Dennis Amca’nın iyi bir dil yarattığını çıkartmıştım :)

C Derleyicileri

Tamamını okuyun. Neyi, niçin seçtiğiniz belli olsun =D. Bi de ya MSVC(Visual C++, alışın MSVC kısaltmasına), ya da CB (Code::Blocks) seçin.

Microsoft Visual C++

İlk olarak, sakın tam sürüm aramayın. Hele yasadışı yollara(Yazıcıoğlu, “CD var abi”) hiç bulaşmayın. Visual C++’ın Express sürümü tamamen beleştir. Yani Enterprise ya da Professional sürümlere bulaşmayın. Çünkü o sürümlerin yeteneklerinden hiçbirine ihtiyacımız olmayacak bu derslerde. Express sürümü http://www.microsoft.com/express/download/ adresinden bedavaya indirebilirsiniz. Yalnız dikkat edin kazayla Visual Basic filan indirmeyin. Bi de, Visual C değil, Visual C++ onu unutmayın. Ama biz C++ yeteneklerini kullanmıycaz. Sadece C. Unutmadan, indirdiğiniz dosya, bir yükleyici. Bu program daha sonradan gerçek dosyaları indircek(kurduğunuzda). Yaklaşık 70 MB kadar indirme yapabilir.

Code::Blocks IDE

Fark ettiyseniz özelikle IDE yazdım. Yani bir tür editör. Burda derleyici MinGW. Code::Blocks, sadece güzel(çok güzel) bir arayüz oluşturmuş. MinGW(Minimalist GNU for Windows), meşhur GCC’nin Windows’a aktarılmış hali(az önce baktım MinGW sitesine, siteyi yenilemişler. Güzel olmuş). GCC daha çok Linuxçular tarafından kullanılan, kökenleri 1984′e giden bir derleyici (işi ilerletince-baya bi ilerletince-, GCC’nin satıriçi assembler’ının çok dandik olduğunu göreceksiniz. NASM kullanırsınız siz de). Code::Blocks tamamiyle beleş. Buradan (link uzun baya bi) MinGW ile birlikte indirebilirsiniz. Benim en sevdiğim derleyici/IDE bu. O yüzden derslerde biraz ayrıcalığı olabilir =D. Ama her ne anlatıyor olursam olayım, her derleyici için anlatım olacak.

NOT: Burada derleyiciye bağımlı çok fazla şey olmayacak. Yani, “r-G0ne, Code::Blocks dedi, elimiz mahkum” diye bişey yok. Sonuçta C dili, standartları olan bir dil. Yani her önüne gelen, vücudundaki herhangi bir organından C derleyicisi sallayamaz. Bu yüzden anlattıklarımız, C dilinin standartları değştirilinceye kadar( o zamana Merkür’ü de gezegenlşikten çıkarırlar) anlattıklarımız her bi yerde geçerli =D

Bloodshed Dev-C++

Yine beleş bir derleyici. Kendileri MinGW kullanıyor. Aynı Code::Blocks gibi. Ama ufak bir sorunu var. Dev-C++, 2006 yılı ve sonrasında geliştirilmedi. Yani biraz terkedilmiş. Code::Blocks, GCC 4.3 kullanıyor(en son 4.3.1 çıktı 14.07.2008 itibariyle). Dev-C++ ise 3.4.2 iki kullanıyor son betasında. Bi de Dev-C++ son 2 yıldır hiç yeni sürüm yayınlamadı. Yani, UZAK DURUN! Linkini bile vermiycem. Veriyim hadi. Buradan.

TinyC++

O bir şaheser. GCC’den 9 kat hızlı derliyor(derlemeye başlayınca anlarsınız bunun güzelliğini). Sadece 274 KB. Amanın. Ama arayüzü yok. Kaybetti. Not defterinde( ya da akıllılık yapıp bir editörde) kod yazıp komut satırından ( ya da Code::Blocks ile =D ) derleyeceksiniz. Ben linki veriyim. TinyCC . Elinizin altında bulunsun. (Proje Dev-C++ gibi, terkedilmiş değil. Ve, daha tarz B)

Şimdilik bu kadar. Derleyicinizi indirin ve bön bön bakın :)

Ya da bir sonraki dersi bekleyin =)

Not: Yazıya istediğiniz kadar (R), (C) ve TM serpiştirebilirsiniz.

Bu yazı 21 Temmuz 2008, Pazartesi günü gönderildi.
Toplamda 31 kere okundu.
Kategorileri: C Anlatım.
OOOOO
Henüz Oy Yok!

Henüz yorum yok

“C Dili Giriş” yazısına yorum yapın.