Alt 17. May 2008, 04:21 AM   #1 (permalink)
Amatör
 
McDroPp - ait Kullanıcı Resmi (Avatar)
 
Üyelik tarihi: Mar 2008
Nerden: C# SQl Server 2008 İnformation Technology's Server Secretary And Aspx To lınk Tecnolojıes,Mybb
Mesajlar: 51
Standart C nedir?

1970'lerin başında Ken Thompson ve Dennis Ritchie tarafından UNIXişletim sistemi için geliştirilmiş bir programlama dilidir. günümüzde neredeyse tüm işletim sistemlerinde kullanılan dünyanın en çok kullanılan sistem programlama dilidir. Ancak uygulama programları yazmak için de çok sık kullanılır. Yine çok kullanılan programlama dillerinden olan C++ da C'den türemiş bir dildir.

Özellikleri

C oldukça minimalist bir dildir ve diğer pek çok programlama dilinden daha düşük düzeylidir. Çoğu zaman C'nin düşük düzeyli bir dil olduğu ya da bir yüksek seviye assembler olduğu söylenir. Her ne kadar bazan bir yüksek düzeyli dil olduğu söylense de gerçekte C yalnızca assembly dillerinden daha yüksek düzeylidir.
C'nin assembly'ye göre iki önemli avantajı vardır: İlk olarak C kaynak kodunu okuması daha kolaydır ve özellikle uzun programlar için yazması da çok daha zahmetsizdir. İkinci olarak bir assembly programı genellikle yalnızca tek bir makina çeşidi üzerinde çalışabilirken C programları (bir C derleyicisi ve gerekli kütüphaneler varsa) başka sistemlerde de çalışmak için derlenebilirler. Öte yandan bir C programının performansı derleyicinin makina kodunu eniyileme başarısına bağlıdır ki bu da programcının denetimi dışındadır. Assembly programlarının performansı ise doğrudan programcı tarafından belirlenir çünkü bir assembly programı aslında bir makina dilinin insanlar tarafından daha kolay okunabilir biçimidir. Bu yüzden bazı programların (örneğin işletim sistemlerinin) yüksek performans gerektiren bölümleri assembly ile yazılırlar. Yine de özellikle modern mimariye sahip işlemciler için C derleyicilerinin eniyileyerek ürettiği assembly elle yazılmış assembly'den hızlıdır.

Benzer avantajlar ve dezavantajlar C'yi yüksek düzeyli dillerden ayırır: bir C programının verimliliği daha iyi kontrol edilebilir ancak C programlarını yazmak ve okumak daha zordur. Yine de dikkat edilmelidir ki C en az yüksek düzeyli diller kadar taşınabilirdir çünkü günümüzde çoğu bilgisayar sisteminde bir C derleyicisi vardır; aslında yüksek düzeyli dillerin pek çoğunun derleyicileri kütüphaneleri ve yorumlayıcıları C ile yazılmışlardır.

C'nin önemli özelliklerinden biri de bilgisayar belleğinin kullanımının programcı tarafından ayarlanmasıdır. Standart C otomatik bellek kullanımını sağlamak için hiçbir araç içermez ve dizi sınırları (İng. array bounds) kontrol edilmez. Ancak C'den türemiş olan Java ve C# gibi diller otomatik bellek yönetimine izin verirler. Her ne kadar C'nin bellek yönetimini programcıya vermesi programın performansının ayarlanmasında programcıya daha çok olanak verse de bu programcılık hatalarının artmasına da neden olur. Bu tür hatalar bilgisayar güvenliğini düşürmeleri ile ün kazanmışlardır. Bu bellek yönetimi hatalarının önüne geçilebilmesi için pek çok araç üretilmiştir (örneğin dizi limitlerini kontrol eden ve otomatik çöp toplama [garbage collection] yapan kütüphaneler lint gibi otomatik kaynak kodu kontrolü yapan programlar).

C'nin bazı özellikleri aşağıda sıralanmıştır:
Çok basit bir temel dil (çekirdek dil). Elzem olmayan işlevler bir standart kütüphaneler kümesi tarafından sağlanır.
Prosedürel programlamaya verilen özel önem. Yapısal programlama da kolaylaştırılmıştır.
C önişlemcisi: Makro tanımlamak ve kaynak kodu dosyalarını birleştirmek için kullanılır.
İşaretçiler aracılığı ile bilgisayar belleğine doğrudan erişim (anlamsal açıdan yanlış işlemler derleyici tarafından engellenmezler)
Parametreler fonksiyonlara referansları ile değil değerleri ile geçirilirler
Lexical variable scoping
Dilin Tarihi

C'nin ilk gelişme safhaları 1969 ile 1973 arasında AT&TBell Laboratuvarları'nda gerçekleşti. Ritchie'ye göre en yaratıcı devre 1972 idi. Dilin pek çok özelliği "B" adlı bir dilden türediği için yeni dile "C" adı verildi. "B" adının kökeni konusunda ise söylentiler değişik: Ken Thompson B'nin BCPL programlama dilinden türediğini söylemektedir ancak Thompson eşi Bonnie'nin onuruna adını Bon koyduğu bir programlama dili de geliştirmiştir.

1973'e kadar C yeterince güçlü bir hale gelmiş ve ilk başta PDP-11/20assembly dili ile yazılan UNIX'in çekirdeğinin büyük kısmı C ile yeniden yazılmıştı. Böylece UNIX çekirdeği bir assembly dili ile yazılmayan ilk işletim sistemlerinden biri olmuştu.


ANSI C ve ISO C

1970'lerin sonunda C en çok kullanılan mikrobilgisayar dili olarak BASIC'in önüne geçmeye başladı. 1980'lerde ise IBM PC ile kullanılmak üzere benimsenmesiyle birlikte popülaritesi iyice artmaya başladı. Aynı zamanda Bell Laboratuvarları'nda Bjarne Stroustrup ve iş arkadaşları C'ye nesneye yönelim eklemek üzere çalışmaya başlamışlardı. C bugün UNIX dünyasında en çok kullanılan dil olarak kalırken Stroustrup'un geliştirip C++ adını verdiği dil Microsoft Windows işletim sisteminde en önemli dil oldu.

1983'te Amerikan Ulusal Standartlar Enstitüsü (ANSI) bir C standardı oluşturmak için bir kurul oluşturdu. Uzun ve yorucu bir çalışmadan sonra bu kurul standardı 1989'da tamamladı ve standart ANSI X3.159-1989 "Programming Language C (C Programlama Dili)" olarak yayımlandı. Dilin bu versiyonu genellikle ANSI C olarak adlandırılır. 1990'da bu standart küçük değişikliklerle Uluslararası Standartlar Örgütü (ISO) tarafından da benimsenip ISO/IEC 9899:1990 olarak yayımlandı.

ANSI C'yi oluşturmanın amaçlarıdan biri K&R C'yi içeren ve dile sonradan katılan "gayriresmi" özellikleri de dile katan bir standart oluşturmaktı. Standart k fonksiyon prototiplerini ve daha yetenekli bir önişlemciyi de standarda ekledi.

Bugün artık ANSI C neredeyse tüm derleyiciler tarafından desteklenmektedir. Günümüzde yazılmakta olan C programlarının çoğunluğu ANSI C stardarına uygun olarak yazılmaktadır. Yalnızca standart C kullanılarak yazılmış bir program standarda uyumlu her derleyici ile doğru bir biçimde derlenip çalıştırılabilir. Ancak standart olmayan kütüphaneler kullanılarak yazılmış programlar belli bir platform ya da derleyici gerektirebilirler

C99

ANSI standartlaştırma işleminden sonra C dili uzun bir süre oldukça sabit kaldı ancak C++ gelişmeyi sürdürdü. Buna bağlı olarak 1990'ların sonunda ISO standardı güncellendi ve 1999'da ISO 9899:1999 olarak yayımlandı. 2000 yılının Mart'ında ise "C99" olarak bilinen bu standart ANSI tarafından da benimsendi.

C99'un yeni özellikleri şöyle özetlenebilir:
inline fonksiyonlar
C++'da olduğu gibi artık değişkenler programın herhangi bir yerinde tanımlanabilirler
long long int boolean complex gibi yeni veri tipleri
değişken uzunluğa sahip diziler
C++'dan alınan // ile başlayan tek satırlık program içi açıklamalar
snprintf() gibi yeni kütüphane fonksiyonları
stdint.h gibi yeni başlık dosyaları
C99'u bugün GCC ve bazı başka derleyiciler desteklemekteyken Microsoft ve Borland derleyicilerine C99 desteği eklemekte isteksiz davranmaktadırlar

C'de "Merhaba dünya!" programıAşağıdaki basit program standart çıktıya "Merhaba dünya!" sözcüklerini yazar. Bu programın bir versiyonu ilk kez K&R'de basılmıştır

#include <stdio.h>

int main( **** )
{
printf( "Merhaba dünya!\n" );
return 0;
}[/font]
__________________
بِسْــــــــــــــــــــــمِ اﷲِارَّحْمَنِ ارَّحِيم

-------------------------------------------------

Bu Soysuzlar Bu Vatansızlar Sarsada Yurdumu Ben Yaratan'dan Alırım Asil Kanı ve Gücü.
-------------------------------------------------
McDroPp isimli Üye şimdilik offline konumundadır   Alıntı ile Cevapla
Cevapla

Seçenekler
Stil

Yetkileriniz
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-KodlarıKapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı


Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
Nedir Bunun Sırrı xDoZeRx Öneri - Şikayet - Sorun - İstek - Yardım 1 4. December 2012 04:12 PM
McDroPp ile C++ Nedir ve Temel Dersler McDroPp Konu ve Anlatımlar 1 14. January 2012 07:30 PM
C# Nedir? McDroPp Konu ve Anlatımlar 0 17. May 2008 04:45 AM
Nedir bu picaxe i-rot İstek ve Sorun 0 27. April 2008 08:47 PM