C Programlama Dili, .NET Framework

Bu başlık kilitlidir. Yeni mesajlar gönderilemez veya mevcut mesajlar düzenlenemez.
gX2
03-01-2006, 08:53   |  #1  
OP Taze Üye
Teşekkür Sayısı: 0
10 mesaj
Kayıt Tarihi:Kayıt: Eki 2005

C Programlama Dili, .NET Framework :

" Biz programcılar, daha iyinin arayışı içinde olan bir kitleyiz; daima yazdıgımız
programların performansını, verimliligini ve taşınabilirligini arttırmanın yollarını
ararız. Ayrıca kullandıgımız araçlardan da pek çok şey bekleriz. Özellikle de
programlama dilleri söz konusu oldu unda... Pek çok programlama dili mevcuttur,
fakat sadece bir kaçı gerçekten müthiştir. Bir programlama dilinin müthiş olması
için, güçlü ve aynı zamanda esnek olması gerekir. Söz dizimi kısa ve öz, ama net
olmalıdır. Önümüze engel çıkarmadan dogru kodun üretilmesini kolaylaştırmalıdır. En son teknoloji özelliklerini desteklemelidir, fakat sonu bir yere varmayacak
modalardan kaçınmalıdır. Son olarak, müthiş bir programlama dili neredeyse özet
sayılabilecek bir nitelige daha sahip olmalıdır: Dilin, yaptıgımız işe uygun
oldugunu hissedebilmeliyiz. C# işte böyle bir dildir. "

Ne güzelde tanımlamış Herbert Schildt " C# Complete Reference " kitabında;
programlama dillerinde iyiyi. Zira bu gün için bir uygulamayı çok farklı programlama
dilleri ile gerçekleştirebilirsiniz. Tabi son cümle için hala tereddütlerim oldugunu
söylemek istiyorum.

Bu kısa ama etkili oldugunu düşündü üm girişten sonra herkese merhabalar. Bu
makalede özellikle Microsoft 'un son yıllardaki en büyük adımlarından biri olan C# (
C Sharp ) programlama dilinin gelişimi ve öncesindeki programlama dillerine ilişkin
bilgiler vermeye çalışacam. Kaynak olarak C# The Complete Reference ( Herbert
Schildt ) kitabını baz aldım. Zira Microsoft C# Ürün Müdürü Prashant Sridharan bu
kitap için " Herbert Schildt, her programcının sahip olması gereken bir kaynak
hazırlamış. " diyor. Eeee... " kimse yogurdum kara demez " elbette

C# Nedir? , Ne de ildir?

C# ; Microsoft 'un gelecek vaadeden " .NET ortamının çatısını oluşturan .Net
Framework 'ü " desteklemek-geliştirmek amacıyla geliştirdi i bir programlama
dilidir. C# 'ın baş mimarı olan Anders Hejlsberg aynı zamanda 80 'li yıllarda büyük
başarı sa layan Turbo Pascal 'ı yazan bir programlama dehasıdır. Bu faktörlerin
yanında C# ço u otorite tarafından kabul edilen ve dünyanın en " başarılı " iki dili
olan : C ve C++ ' tan türetilmiştir.

Kişisel olarak C# dili ile tanışmam , şuan için boş zamanlarımda geliştirmeye
çalıştı ım CSL projesi ile başladı. Özellikle bir programlama dili kullanarak başka
bir alanda bir programlama dili geliştirmek çok zordur. CSL projesinin ilk
zamanlarında çekti im zorluklardan sonra, uzun zaman önce yazdı ım " C++ ın
yaratıcısı Bjarne Stroustrup ile röpörtaj " makalesi aklıma geldi. Makalede bahsi
geçen C# üzerinde kısa bir araştırma yaptıktan sonra ozamanlar sadece boş
zamanlarımı de erlendirmek için yaptı ım bu projede C# 'ın çok daha etkili oldu unu
düşünüp CSL 'i C++ yerine C# ile yazmayı uygun gördüm.

Programlama Dilleri Tarihinde Önemli Adımlar

60 ' lı yıllarda özellikle Pascal gibi önemli başarılar elde etmiş programlama
dilleri, yapısal programlama ( structured programming ) mantı ı ile oldukça büyük
ilerlemeler kaydetti. 70 'li yıllara gelindi inde Dennis Ritchie Unix İşletim
sistemi kullanan bir DEC bilgisayar üzerinde " C " dilini yarattı. C programlama
dili ozaman için büyük bir adımdı ve 80 'li yıllarda en yaygın kullanılan
programlama dili haline geldi. Fakat gelişen teknoloji beraberinde daha gelişmiş
programları ve komplike sistemleri ortaya çıkardı. Çok kısa bir süre sonrada C dili
artık yetersiz gelmekteydi.

1979 yılında nesne yönelimli programlama ( OOP, Object Oriented Programming )
yöntemi ilk kez kayda deger bir hale geldi. Bu de er Bjarne Stroustrup 'un yazdıgı
C++ diliydi. C++ aslında tamamen C dili üzerine kurulmuş, yani onun tüm
özelliklerini içeren ve ayrıca nesne yönelimli programlama yöntemi kazandırılmış bir
dildi. Bu sayede C++ dili C ye göre hem çok daha etkili oldu hemde kullanıcıların
dili ö renmek için harcayacagı zamandan tasarruf sa layarak yumuşak bir geçiş ve
dolayısıyla yaygınlaşmasında avantajlar sa ladı. Sonraki 10 yıl sonunda C++ artık
dünyada en çok kullanılan ve en iyi programlama dili olarak gösteriliyordu.

" C++ 'ın keşfinin bir programlama dili ortaya çıkarmaya yönelik bir girişim
olmadıgını anlamak kritik bir öneme sahiptir. Bilakis, C++ zaten çok başarılı bir
dilin gelişmiş haliydi. Dillerin gelişimi ile ilgili bu yaklaşım - mevcut bir dil
ile başlayıp, onu daha da ileriye taşımak - bu gün bile devam etmekte olan bir
trendin öncüsü oldu. " ( Herbert Schildt )

Programlama dillerindeki bu gelişmelerden sonra en büyük adım Java ile oldu. 1991
'de Sun Microsystems tarafından geliştirilen dilin arkasındaki en güçlü isim James
Gosling 'di. Java söz dizimi ve felsefesi C++ 'tan alınan yapısal ve nesne yönelimli
bir dildir. Özellikle Internet 'in oluşması ile Java büyük bir hız kazandı. Aslında
bunun nedeni çok basitti. O zamana kadar programlama dilleri ile yazılan
programların ço u belirli işletim sistemleri ve işlemciler için yazılıyordu. Yani
kodun taşınılabilirli i karşısında Java en iyi yöntemdi. Java 'nın sundu u platform
ba ımsız ( cross-platform ) teknolojisi bir anda büyük bir çevre tarafından kabul
gördü. Yazılımcılar sistemlere göre program geliştirmektense yazılan kodun heryerde
kullanılmasını tercih ettiler. Elbette internete ba lı birbirinden farklı bu
sistemlerin ortak veya ayrı noktalarda aynı uygulamaları kullanabilmesi için....
yada her nasıl ise öyle olması için

" Gosling ve arkadaşları yeni ve yenilikçi özelliklere odaklanmakta serbesttiler.
Tıpkı Stroustrup 'un C++ 'ı geliştirirken " tekerle i yeniden icat etmesine " gerek
olmadı ı gibi, Gosling 'ın de Java 'yı geliştirirken bütünüyle bir dil icat etmesi
gerekmiyordu. İlaveten Java 'nın ortaya çıkışıyla C ve C++ yeni bilgisayar
dillerinin üzerine inşa edilece i onaylanmış bir katman oluyordu. " ( Herbert
Schildt )

Tabi java 'nın da eksik yönleri vardı...

Java platform ba ımsız bir kodlama için JVM ( Java Virtual Machine ) kullanıyordu.
Java kaynak kodu " bytecode " denilen bir koda çeviriyor, ve gerekti inde JVM ile
programı çalıştırıyordu. Yani JVM 'nin oldu u her sistemde her kod aynı muameleyi
görüyor, böylece kodun işletim sistemi veya işlemciye göre tekrar derlenmesine gerek
kalmıyordu. Fakat bu aynı zamanda Java 'nın di er programlama dilleri ile uyum
içinde çalışması ( cross-language interoperability ) için dezavantaj oluşturuyordu.

İşte bu noktada bir gereksinim ortaya çıkıyordu...

C# 'ın Do uşu

1990 'lı yılların sonlarına do ru Microsoft 'un programlama dehası Anders Hejlsberg
C# dilini yarattı. 2000 yılının ortalarında C# 'ın ilk alfa versiyonu piyasaya
çıktı. C# programlama dili ; C, C++ ve Java ile ba lantılı bir dil olarak yapıldı.
Bunun bir tesadüf oldu unu düşünmeyin. Bunlar dünyada en yaygın kullanılan ve
sevilen dillerden üçüdür. Hejlsberg 'de aynı Stroustrup ve Gosling gibi tekerle i
yeniden icat etmektense mevcut bir dili geliştirmeyi uygun görmüştür.

E er bu diller arasında bir ba lantı kurmak gerekirse. C# programlama dili; C
dilinin söz dizimini ve C++ dilinin nesne yönelimli programlama yöntemlerini ve
tekniklerini almıştır.

C# 'ın Java ile olan ilişkisi ise özel bir durumdur. Zira C# 'ta Java gibi C ve C++
dillerinden özellikler almış ama aynı zamanda Java gibi platform ba ımsız kod amaçlı
tasarlanmıştır. Yani C# dili, Java dilinden türememiştir. En iyi tarafı ise C, C++,
C# veya Java dillerinden birinde iyi olmanız di er tüm dillerdede size büyük
kolaylıklar sa lar.

Tüm bu diger dillerle olan ba lantısına ra men C# beraberinde pek çok yenilik,
özellik getirmiştir. Zaten di er başarılı dillerin do uşunda da aynı trend
yaşanmıştır. İşte bu noktada C# : bileşen yönelimli bir dil ( component-oriented
language ) olarak nitelendirilmiştir. Zira C# bileşenleri yazmak için bütünleşik
destek içermektedir. Bunların içinde en önemlisi; karışık dillerin oldu u bir
ortamda çalışabilme becerisidir.

Dikkat ettiyseniz, birbirinden türeyen her dil bir önceki dilde eksik olan bir
özelligi tamamlarayarak ilk adımları atmıştır. C++; C deki nesne eksikligini, Java;
C++ daki platform bagımsızlık özelligini ve son olarak C# hem hepsinde olan
özellikleri hemde Java 'da olmayan uyumlu çalışma deste ini almıştır.

.NET Framework Nedir? ( .NET Çatısı ) ve C# ile Arasındaki Ba lantı...

Makalenin başındada söyledi im gibi C# programlama dili .NET Framework için kod
geliştirmek-desteklemek amacı ile tasarlanmıştır. C# dilinde kullanılan ve her
programlama dilinde bulunan kütüphaneler aynı zamanda .NET Framework tarafından
kullanılan kütüphanelerdir. Yani C# dilini .NET ortamından ayırsanız bile bir biri
ile sıkı sıkıya ba lıdır. O yüzden .NET Framework 'ün C# için önemini anlamak çok
önemlidir.

.NET Framework bileşen yönelimli uygulamaların geliştirilmesini ve yürütülmesini
destekleyen bir ortam tanımlamaktadır. Bu sayede; farklı programlama dilleri, farklı
işletim sistemleri ile çalışabilme özelli ine sahiptir. ( Mesala şuanda C# kodlarıın
*nix sistemlerde çalışabilmesi için yapılan uygulamalardan biri > go-mono.com )

.NET Framework ve C# 'ın arasındaki en önemli iki ilişki : Ortak dil çalışma zamanı
( CLR - Common Language Runtime ) ve .NET sınıf kütühanesidir.

CLR - Common Language Runtime : Programların çalışmasını idare eden, programların
taşınabilirligini saglayan, aynı zamanda di er avantajlarının dışında karışık dilde
programlamayı destekleyen ve güvenligi saglayan parçadır.

.NET Sınıf Kütüphanesi : Programınızın çalışma ortamına erişmesine imkan veren
parçadır. Mesala bu sınıf kütüphanesi tanımlanan özelliklerle kısıtlı kalırsa
kodlarınız .NET ortamında rahatça çalışır.

İşte bu nokta C# için en önemli özelliklerden biridir. Aynı kodun her yerde
çalışması...

Son Sözler...

Sonuç olarak; ben size güvenilir kaynaklardan okudu um, araştırdı ım ve ö rendi im
bilgiler do rultusunda C# programlama dili ve ona kadar gelinen tarihte oluşan
olayları anlattım. Her programlama dili bir öncekinden pek çok özellik almış ve
yenilerini ekleyerek programcılara yeni olanaklar sa lamıştır. Bu sayede dilin
yaygınlaşması ve çabuk adaptasyonu sa lanmıştır.

C# : Platform ba ımsız oluşu ve aynı zamanda Microsoft 'un .NET strateji açısından
kritik öneme sahip bir dil olmasından dolayı gelecek vaadeden ve kullanıcıların
mutlaka dikkate alması gereken bir dil.

" Bilişim tarihi boyunca programlama dilleri, programlama ortamındaki de işiklikleri
ve programlama hakkındaki düşüncelerimizde ve programlamaya yaklaşımımızdaki
de işiklikleri barındıracak şekilde gelişmiştir. C# da bir istisna de ildir.
Süregelen geliştirme, adaptasyon ve yenilik sürecinde C# halihazırda ön sırada yer
almaktadır. C#, her profesyonel programcının göz ardı etmekten kaçınacagı bir
dildir. " ( Herbert Schildt )

Eger C# ilginizi çektiyse....

Web : Microsoft .NET Framework Software Development Kiti download edin

veya

Visual Studio .NET yazılımı edinin.

* www.PowerDarbe.Com *

Son Düzenleme: gX2 ~ 03 Ocak 2006 09:07