C# PROGRAMLAMA DİLİ, TARİHİ ,DOĞUŞU..

ARKDAŞLAR İKİNCİ TANITACAĞIMIZ PROGAMLAMA DİLİ C# ..İleride diğer programlama dilleride gelecek...progenc .:::ASİ::...

 

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 aktardığı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 değer bir hale geldi. Bu değer Bjarne Stroustrup 'un yazdığı 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 harcayağı 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ığı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 diğer 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 özelliği tamamlarayarak ilk adımları atmıştır. C++; C deki nesne eksikliğini, Java; C++ daki platform bağımsızlık özelliğini ve son olarak C# hem hepsinde olan özellikleri hemde Java 'da olmayan uyumlu çalışma desteğini almıştır.

 

İnşallah Faydalı olmuştur...

sorularınız için ziyaretçi defterini ziyaret edin..

Yorum Yaz
Arkadaşların Burada !
Arkadaşların Burada !