08.11.2014 Views

c_kitap

c_kitap

c_kitap

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

C ve Sistem Programcıları Derneği - C Ders Notları - Necati Ergin<br />

Örnek vermek gerekirse UNIX işletim sisteminin % 80'i C dili ile geri kalanı ise simgesel<br />

makine dili ile yazılmıştır. Bu işletim sistemi ilk olarak BELL Laboratuarları’nda<br />

oluşturulmuştur. Kaynak kodları gizli tutulmamış, böylece çeşitli kollardan geliştirilmesi<br />

mümkün olmuştur. Daha sonra geliştirilen UNIX bazlı işletim sistemi uygulamalarına<br />

değişik isimler verilmiştir.<br />

C bilimsel ve mühendislik alanlarına kullanılabilen genel amaçlı bir sistem programlama<br />

dilidir.<br />

Alt Programlama Yeteneği<br />

Bir bütün olarak çözülmesi zor olan problemlerin parçalara ayrılması ve bu parçaların ayrı<br />

ayrı çözülmesinden sonra parçalar arasındaki bağlantının sağlanması programlamada sık<br />

başvurulan bir yöntemdir. Bir programlama dili buna olanak sağlayan araçlara sahipse<br />

programlama dilinin alt programlama yeteneği vardır denilebilir. Alt programlama<br />

yeteneği bir programlama dilinin, programı parçalar halinde yazmayı desteklemesi<br />

anlamına gelir.<br />

Alt programlama Yapısal Programlama Tekniği'nin de ayrılmaz bir parçasıdır. Alt<br />

programlamanın getirdiği bazı önemli faydalar vardır. Alt programlar kaynak kodun<br />

küçülmesini sağlar. Çok yinelenen işlemlerin alt programlar kullanılarak yazılması<br />

çalışabilir programın kodunu küçültür. Çünkü alt programlar yalnızca bir kere, çalışabilir<br />

kod içine yazılır. Program kodu alt programın olduğu yere atlatılarak bu bölgenin<br />

defalarca çalıştırılması sağlanabilir.<br />

Alt programlama algılamayı kolaylaştırır, okunabilirliği artırır, aynı zamanda kaynak<br />

kodun test edilmesini kolaylaştırır, kaynak kodun daha kolay güncelleştirilmesini sağlar.<br />

Alt programlamanın en önemli faydalarından biri de oluşturulan alt programların birden<br />

fazla projede kullanılabilmesidir (reusability).<br />

C alt programlama yeteneği yüksek bir dildir. C'de alt programlara işlev (function) denir.<br />

İşlevler C dilinin yapı taşlarıdır.<br />

Öğrenme ve Öğretme Kolaylığı<br />

Her programlama dilini öğrenmenin ve öğrenilen programlama dilinde uygulama<br />

geliştirebilmenin zorluk derecesi aynı değildir. Genel olarak programlama dillerinin düzeyi<br />

yükseldikçe, bu programlama dilini öğrenme ve başkalarına öğretme kolaylaşır. Bugün<br />

yaygın olarak kullanılan yüksek düzeyli programlı dillerinin bu derece tutulmasının önemli<br />

bir nedeni de bu dillerin çok kolay öğrenilebilmesidir. Ancak yüksek düzeyli dilleri<br />

öğrenerek yetkin bir beceri düzeyi kazanmakta da çoğu zaman başka zorluklar vardır.<br />

Böyle diller çok sayıda hazır aracı barındırırlar. Örneğin yüksek düzeyli bir programlama<br />

ortamında, GUI'ye ilişkin hazır bir menü çubuğunun özelliklerini değiştirmeye yönelik<br />

onlarca seçenek sunulmuş olabilir. Bu durumda programcı, her bir seçeneğin anlamını<br />

öğrenmek durumunda kalır. Yani bazı durumlarda programlama dilinin seviyesinin<br />

yükselmesi programcı açısından bir algısal kolaylık getirmekle birlikte, programcıya<br />

özellikle hazır araçlara yönelik bir öğrenme yükü getirir.<br />

Programlama Tekniklerine Verilen Destekler<br />

Programlamanın tarihsel gelişim süreci içinde, bazı programlama teknikleri<br />

(paradigmaları) ortaya çıkmıştır. Programlamanın ilk dönemlerinde yazılan programların<br />

boyutları çok küçük olduğundan, program yazarken özel bir teknik kullanmaya pek gerek<br />

kalmıyordu. Çünkü bir program tek bir programcının her yönüyle üstesinden gelebileceği<br />

kadar küçüktü ve basitti. Bir programda değişiklik yapmanın ya da bir programa ekleme<br />

yapmanın ciddi bir maliyeti yoktu.<br />

Bilgisayar donanımındaki teknik gelişmeler, insanların bilgisayar programlarından<br />

beklentilerinin artması, bilgisayar programların çoğunlukla görsel arayüzler kullanmaları,<br />

program boyutlarının giderek büyümesine yol açtı. Programların büyümesiyle birlikte,<br />

program yazmaya yönelik farklı teknikler, yöntemler geliştirildi. Bu tekniklere örnek<br />

olarak, "prosedürel programlama", "modüler programlama", "nesne tabanlı<br />

programlama", "nesneye yönelmiş programlama", "türden bağımsız programlama"<br />

verilebilir.<br />

8/529

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!