Microsoft .NET Programlama Dilleri

Microsoft .NET Programlama Dilleri

Bu yazıda Microsoft dotNET ile birlikte programcılara sunulun geliştirme dilleri üzerinde durulmuştur. Bu yazı Temmuz 2003’te MSDN de yayınlanan Microsoft Programming Languages yazısından Türkçe’ye çevrilmiştir.

Microsoft .NET’in Yararları

Microsoft . NET Framework ,XML Web Servisi ve uygulamalarının derlenip çalıştırılması için gerekli olan Microsoft Windows® bileşenlerini içerir. Bu; bize geliştirdiğimiz uygulamalarda

•  yüksek bir verim ,

•  standart bir alt yapı,

•  daha basit uygulama geliştirme ,

•  çoklu dillerin(multilanguage) bulunduğu bir ortam ,

•  var olan programlama bilgilerinden yararlanabilme,

•  var olan uygulamalar ile kolay entegre olabilme,

•  internet uygulamalarında kullanabilme ve çalıştırmanın rahatlığını getirir.

.NET Framework, iki ana bölümden oluşur : CLR(Common Language Runtime) ve web tabanlı programlamada devrimsel bir gelişme yaratan birleştirilmiş sınıf kütüphanesi(ASP.NET),  akıllı istemci uygulamalarını gerçekleştirmek için Windows formları, ortam ve temel veri girişleri için ADO.NET alt sistemi. Programcılar iki farkli dille uygulama geliştirirken rahatlıkla .NET Framework kullanabilirler. Bu dillerin hepsi (MSIL)’e derlenir ve daha sonra native(ana) koda dönüştürülür ve CLR ortamında çalıştırılır. Bu sayede herhangi bir dille yazılan herhangi bir uygulama başka bir uygulama ile kolaylıkla entegre olabilir. Bu ortamın programcılara sağladığı yarar şudur; işlerini yaparken kullanmaları için geniş bir dil seçenegi vardir ve dolayısıyla programcılar en iyi bildikleri dili seçebilirler.

Geniş Bir Dil Seçeneği

Sanatçılar çalışırken bulundukları ortam ve araçlar, sanatçıların tecrübelerini ve kişiliklerini yansıtır. Aynı yazılım uzmanları gibi onlarda bildikleri dili ve eğitimlerini göz önüne alarak çalışırlar. Tüm yazılım uzmanlarını memnun edecek bir dil henüz yoktur. Programcılar, doğuştan farklı bir kimliktirler: kısmen bilim adamı, kısmen sanatçı, her zaman dik kafalı, ve hep daha iyisini araştıran insanlardır. Buna rağmen modern programlama dillerinin eksikliklerini kabul ederler.

“Biz her zaman, yarım milyon veya 50 milyon VB(Visual Basic) bilen programcıya sahip olacağız. Bizim, .NET ‘de VB miz var. Ve bizim simdi, . NET’de Java dilimiz ve hatta, COBOL dilimiz bile var! Bunun ne demek oldugunu tahmin et?  ” -Tim Huckaby, baskan ve CEO, Interknowlogy

Programlama dilleri personel alımında önemli bir faktördür. Bir yazılım uzmanının bildiği dilden başka bir dili kullanmaya geçmesi zordur. .NET yapısının gücü ile bir kaç dili içinde barındıran bir platform sağlar. Programcılar bu platform da-C++, Objective C, Fortran, COBOL, Visual Basic®, Perl -‘in her biri ile güçlü yazılım geliştirilebilirler.

Bu bölümde Microsoft’un dört farklı programlama dili sunduğunu ve bunları tek bir ortamda nasıl birleştirdiğini göreceğiz.

  • Visual Basic.NET , dünyanın en popüler geliştirme aracının ve dilinin en son uyarlamasıdır. Visual Basic.NET, vazgeçilemez verimliligi teslim eden, ve task(görev)-oriented(yönelimli) programlama için eşsiz özellikler sunan bir dildir.
  • Visual C++ dili, power(güç)-oriented(yönelimli) güçlü uygulamalar geliştirilebilen , farkli teknolojilerle köprü kurabilen, hem windows doğal diline hemde(assembly) .NET ara diline(IL) derlenebilen maksimum performans karekteristiklerine ve yüksek fonksiyonaliteye sahip bir dil olarak karşımıza çıkar.
  • Visual C #®.NET , modern ve yenilik getiren programlama dili ve geliştirme aracıdır. Microsoft, C# ile bizi 2001’de tanıştırdı, C++ ve Java programcılarının bildiği bir sentaks(sözdizimi) ile sunulmuştu, bu yüzden C++ ve Java geliştiricilerinin ilgisini çekmis olan C#, .NET Framework ile beraber kod odaklı uygulamaları daha düzenli bir dil yapısı ile sunar.
  • Visual J#®.NET , Microsoft . NET için Java-dili gelistirme aracidir. Visual J#.NET, Visual J++ ve Java gelistiricilerine kendi dil ve söz dizimlerinden uzaklasmadan .NET’in olanaklarindan tam olarak yararlanabilmeyi ve endüstrinin en gelismis XML web servisleri platformundan faydalanabilmelerini saglamistir.

Burada Microsoft, programlama dillerindeki geniş dil seçeneğinin geliştiricilere uygunluğu ile dikkat çeker. Microsoft.NET, programcıları bu yeni platformda birleştirmek için eğitim ve çözüme daha hızlı ulaşmayı saglamada onlara yardım etme imkanı da sunar.

Visual Basic .NET

Visual Basic 1.0, Windows’un gelişmesi ve daha geniş bir kullanıcı sayısına ulaşması ve günümüzdeki verimliliğine kavuşması için bir devrim yarattı. Böyle zengin bir tarihe sahip olan VB , okunabilir bir syntax, sezgisel bir arayüzün ve aletlerin oldugu , task-oriented(görev yönelimli) yapısı ile hızlı build edilebilmesi ile ve .Net ile yeni bir yapılandırmaya kavuşmuştur. Visual Basic.NET dilinede diğer popular diller gibi her tür Windows uygulaması, WEB,ve mobile aletler için uygulama yapabilme yetenekleri eklendi.

Task-Orinted(görev yönelimli) Gelişme

Deadline(Son teslim) tarihleri, yazılım sanayisine yeni olan bir şey değildir. Programcıların büyük bir grubu için, deadline tarihleri, günlük hayatın bir gerçeğidir. Programcılar çoğunlukla, plan yaparken ,işin gereksinimlerini karşılayacak hızlı bir yolun çözümünü ararlar. Bazi çözümler , bu ortamlar yaratılırken dikkatlice test edilecek, daha sonra uygulama bu tarz yapılarda hemen kullanılacaktır. Uygulama geliştirme uzmanının problemlerde çözüme odaklanması için bir dahaki iş verilene kadar serbest bırakılması gerekir. Task-Oriented bir geliştirme ortamı, ortam farklılıklarından programcıyı kurtarmak için kabul edilebilir bir yöntemdir.

Hangi Programcılar Neden VB.NET’i Seçmelidir?

Gelecek kuşak uygulamaları ve servisleri birleştirerek .NET ortamında araştırma yapmak isteyen aşağıdaki tipteki programcılar için Visual Basic.NET ideal bir dildir.

• .NET Framework ortamında hızlı ve üretken bir araçla uygulama geliştirmek isteyen programcılar : .Net ile birlikte hizli ve rahat bir gelistirme araci sunulurken Visual Basic.NET uygulamalarinda kolay sntax ve sezgiyle elde edilen gelistirme ortamini sunar. Ayrıca VB.NET progracmıları ilgili kaynaklara çok hızlı bir şekilde erişebime imkanına sahiptir.

• VB ile uygulama geliştirme tecrübesi olan programcılar : Visual Basic bilen programcilar için Visual Basic.Net yapisina geçmek zor olmayacaktir. Visual Basic .NET anahtar sözcükleri, sentaks ve derleme yapısı ile farklılıklar oluştursa da, geleneksel VB programcısına tanıdık gelecektir. VB.NET te ayrıca case-insensitivity, anlaşılır kodlar ve sentaksı vardır. Visual Basic’in ilk versiyonlarını kullananlarda .NET kullanmaya yönelebilirler. Mevcut bulunan ActiveX kontrollerini de Visual Basic .NET te kullanmaya devam edebilirler.

• Halihazırdaki ortamlara benzer tasarım zamanı ve kod editörü paradigmaları arayan programcılar : Geliştiriciler bildik bir arayüz ve editor ararken, VB.NET ile uygulamaların tasarımı drag and drop ile yapılabiliyor. Ayrıca otomatik, kolay biçimlendirilmiş bir kodlama sunar.

• Sezgisel ve erişebilirlik özelliği yüksek olan bir dille geliştirme yapmak isteyen programcılar : Visual Basic.NET, geliştiricilerin büyük bir bölümüne ulaşabilmek için tasarlanmıştır. Bu nedenle hem uzmanlara, hem de yeni başlayanlara önerilir. Yeni başlayanlar, Visual Basic ortamının ve Visual Basic dilinin birçok benzersiz özelligini faydalı bulacaktır.

VB.NET Diline Has Özellikler

VB.NET, uygulama üretkenliğini hızlandıracak diğer .NET dillerinde olmayan bir takım özellikleri içinde barındırır.

•  Değişkenlere varsayılan ilk değer verme :VB.NET’te değişkenleri kullanılmadan önce onlara ilk değer verilme zorunluluğu yoktur. Bu yüzden yeni başlayan bir çok programcının diğer dillerde olduğu gibi kafası karışmayacaktır.

•  Implicit typing(dolaylı tür belirtme) ve geç bağlama(late binding) :Visaul Basic.Net te bir değişken kullanılmadan önce onun tipini belirtmek zorunda degiliz. Bu da programcıya daha az eforla daha kullanışli kod yazmasında yardım eder.

•  Numaralandırıcıların Davranışı :Visual Basic. NET,Enumeration tipleri kullanmak gerektiginde .NET ortami sezgiyle bunu programciya getirir.

•  Varsayılan public erişimi :Visual Basic.NET sınıfinın üyele elemanları varsayılan olarak public olduğu için programcılara sezgisel gücü fazla olan bir özellik sunar.

•  Shared üye elemanlarını kullanma :Shared(C# taki static) üye elemanlarına hem sınıfın ismi üzerinden hem de ilgili sınıf nesnelerinden erişilebilir. Bu da programciya daha esnek bir yapı sunar. Örneğin

Dim x as new MyClass

x.SharedMethod() ‘ ile birlikte

MyClass.SharedMethod()

ifadesi de geçerlidir.

•  Opsiyonel parametreler : Visual Basic.NET programcıları nesne yönelimli programlama tekniğinin bütün nüanslarını bilmeye gerek kalmadan esnek sınıf yapıları tasarlayabilir. Örneğin sınıf tasarımcıları opsiyonel parametreleri kullanarak daha esnek sınıflar tasarlayabilirler.

•  Filtrelenmiş catch blokları :VB.NET istisnai durumları ele elmada esnek bir yapı sunar. Filtrelenmiş catch blokları sayesinde programcılar hataları, hata numarasına göre, istisnanının türüne göre yada herhangi bir koşullu ifadeye göre filtreleyebilirler.

•  Parametreli Özellikler : Visual Basic.NET te özellikler C# taki karşılığından farklı olarak parametreli olabilir. Böylece özellikler daha esnek bir yapı sunmuş olur.

•  Declarative event handlers : Visual Basic.NET’te olaylara ilişikin metotları bildirirken Handles anahtar sözcüğü kullanılır.

•  Arayüz üye elemanlarının yeniden bildirilmesi : VB.NET’te implemente edilen bir arayüzün üye elemanının ismi arayüzü uygulayan sınıf tarafından değiştirilebilir.


VB.NET Geliştirme Ortamına Has Özellikler

Visual Basic.NET programcılara daha çok yarar sağlayacak bir tasarıma, uygulama ve servis yazmakta kolay bir ortam sağlar. Bu sadece Visual Basic.NET’i degil tüm .NET platformunu kapsar.

Arka planda kodun derlenmesi : Geliştirme ortamı siz çalışırken arka planda kodunuzu derler ve eğer kodda hata varsa bunu size listeler.

Visual Basic . NET otomatik olarak yazdığınız kodu düzenler ve kaydeder. Otomatik olarak düzenlerken kodun durumu , anahtar sözcüklerin durumunu ve değiskenleri hizalayabilir. Bu da çok fazla ifadenin kullanıldığı durumlarda yanlış ifadelerin yada formatsız ifadelerin düzgün görülmesini sağlar.

Performans

Son önemli nokta performanstır.Visual Basic . NET derleyicisinin ürettiği ara kod, C# derleyicisinin ürettiği IL kodu ile aynı performansa sahiptir.

Visual C+ +

Çoğunlukla yazdığı programlardan güç beklentisi olan programcıların bu platformun tüm özelliklerinden faydalanması mümkündür.CLR ve . NET altyapısının pek çok faydalarına rağmen, bazı programcılar hala uygulamaları geliştirirken, Windows işletim sisteminin tüm genişlik ve derinliklerine güvenerek uygulamalarını oluştururlar. Geleneksel olarak programcılar, sistem verimliliğini en iyi kullanan kodu yazmak sistem tarafından sağlanan kaynaklara(disk,hafıza) en etkili erişimi sağlamak amacıyla Visual C++ ortamını seçmişlerdir. Visual C++.NET bu geleneksel yöntemlerin devamını sağlamayı hedeflemiştir. Tabi bunu yaparken Win32 API den sıklıkla faydalanır. C++.NET aynı zamanda .NET Framework ve yönetilebilir CLR nin bir çok imkanına erişmeyi de sağlar.

Güç Yönelimli(Power-Oriented) Geliştirme

Bir çok durumda geliştiriciler, işletim sisteminin sağladığı bütün imkanlara erişmek isterler. Microsoft, bu imkanlardan soyutlanmış yada tamamen bu imkanlar üzerine kurulmuş değişik araçlar tasarlamıştır. Bugün itibariyel .NET framework sağlam uygulama geliştirmek için bu imkanların birçoğunu sunarken yinede işletim sisteminin bütün yeteneklerini içinde barındırmaz. Güç yönelimli(Power-Oriented) geliştirme araçları, programcılara bu dilin tüm özelliklerinin yanında, uygulamanın gerektirdiği çözümlerin de kolayca çözüme kavuşabileceği kütüphaneleri sağlar.

Hangi Programcılar Neden VB.NET’i Seçmelidir?

Visual C++, aşağıdaki tipteki programcılar için ideal bir dildir.

• Win32 tabanlı bileşen ve uygulama geliştirmek isteyen programcılar : Günümüzde programcıların bir grubu, native windows tabanlı uygulamalar yapmaya ihtiyacı vardır. Bu programcılar bu tr uygulamalar için Win32 API yi ve native(doğal) C++ kütüphanelerini kullanırlar. Visual C++.NET 2003, bu tür uygulamaların performansını daha iyi yönde etkileyebilrcek bir takım derleme parametrelerine sahiptir.

• Win32 tabanlı uygulamalar ve .NET ile geliştirilmiş uygulamar arasındaki boşluğu doldurmak isteyen programcılar : Halihazırda yazılmış olan bir çok uygulama, karmaşık kodlar yüzünden, zaman, ücret veya bir çok nedenden dolayı .NET Framework kullanılarak yeniden yazılamayabilir. Visual C++ ile programcılar, var olan uygulamalarının genişleterek devamını .NET Framework çatısı altında geliştirebilirler. Üstelik daha karmaşık bir WinAPI altyapısını da kullanma imkanına kavuşurlar. Microsoft C# ve ya Visual Basic Windows API lerine erişimi sağlarken, C++’a karsı bir rakip olarak tasarlanmadı.

• Uygulamaların ana olarak performansı ile ilgilenen programcılar : Uygulama tasarımında ve çalıştırılmasında C++ geliştiriciye geniş bir kontrol imkanı sunar. İleri düzey geliştiriciler C++ kullanarak diğer dillerde geliştirebilecekleri uygulamalardan(native Windows yada .NET tabanlı) daha hızlı ve etkili çalışan uygulama tasarlayıp implemente edebilirler.

• Farklı platformlar arasında çalışabilecek program geliştirmek isteyen programcılar : Yalnızca C++ dili ISO standartlarını içerir ve gerçekten taşınabilir sentaksı, her sistemde çalışabilecek bir yapı içerir. Visual C++.NET 2003’ün genişletilmiş standart uyumluluğunu sağlarken aynı zamanda programcılara ileri seviye dil özelliklerini ve bir çok işletim sisteminde bulunan popüler sınıf kütüphanelerini kullanma imkanı sunar.

C++.NET Diline Has Özellikler

Visual C++. NET, ileri düzey yazılımcılar tarafından büyük bir taleple karşılan kendine has bir takım özelliklere sahiptir. Bu özelliklerin hepsi C++.NET’i .NET dilleri arasında en güçlü kılmaya yetmektedir.

• Şablonlar(Templates) : Büyük ölçüde C++ diline has olan şablonlar yeniden kullanılabilirliği ve performans artışı gibi bir çok önemli özelliği sağlamaktadır.

• Göstericiler(Pointers) : Göstericiler, C + + geliştiricilerine makinenin yerel hafızasına doğrudan erişebilmesini sağlar ve böylece en yüksek seviyede performans elde edilir.

• Çoklu Türetme(Multiple Inheritance) : C++, hemen hemen tüm OOP desenlerini implemente etmeyi sağlayan ve bütün OOP özelliklerini uygulamaya geçirecek özelliklere sahiptir. Çoklu türetme de bu özelliklerden biridir.

• Intrinsics : Intrinsics’ler, geleneksel programlama tekniklerinde olmayan bir takım yeni özelliklere erişmeye imkan sunar. Örneğin MMX ve AMD 3D Now! registerları ve komutları.


C++.NET Geliştirme Ortamına Has Özellikler

Visual C++.NET 2003 geliştirme ortamıda daha esnek ve daha gelişmiş uygulamalar geliştirmek için bir takım özellikler sağlar.

• Derleyiciyi optimize etmek : Visual C++ derleyicisi bir çok geliştirme seneryosu için derleme işlemini optimize edebilir. Bu seneryolardan bir kaçı : MSIL üretimi, kodun çalışcağı sisteme özgün optimizasyon, floating sayı hesaplamalarının yoğun olduğu derlemeler.

• Çalışma zamanı kod güvenliği kontrolü : Programcılar kötü niyetli ataklara karşı derleyicinin ileri seviye özelliklerini kullanarak daha güvenli Windows tabanlı uygulamalar geliştirebilirler.

• 32 bit ve 64 bit desteği : Visual C++.NET derleyicisi 32 ve 64 bitlik Intel ve AMD mikroişlemcilerine ve yönelik gömülü mikrpişlemcilere yönelik ölçeklenebilir kod üretebilmektedir.

• İleri düzey hata raporlama : Uygulamalar daima programcıların hatalarından etkilenirler. Minidump teknolojisiyle Visual C++ geliştirme ortamı, uygulama geliştirme uzmanlarına hataların kolayca belirlenmesine yardımcı olur. Üstelik derlenmiş kodda bile bu hatalar kolaylıkla rapor edilebilir.

• Gelişmiş hata ayıklama(debug) : Visual Studio hata ayıklayıcısı aynı anda hem native hemde yönetilebilir kodda hata ayıklama desteğini benzer bir şekilde sunar.

Gelecekte, Visual C + + . NET Programcilara yardim etmek için daha güçlü özellikleri içerecek.

• Generics : Parametreli kod algoritmalarını yeniden kullanılabilirliğini sağlamayı hedefleyen çalışma zamanı(run-time) teknolojisi.

• Yönetilen(Manage) tiplerde şablonlar : Derleme zamanı C++ şablon sentaksının yönetilen(manage) tipler içinde kullanılabilmesi.

Visual C#

Geleneksel Olarak Visual Basic ve Visual C + + farklı spektrumdaki programcıları hedeflemiştir. Visual Basic özellike üretkenliği ön plana çıkarması ile programcılara daha kolay ve sezgisel bir geliştirme modeli sunuyordu. Öte yandan Visual C++, üretkenliği azaltıyor gibi görünmesine rağmen Windows işletim sisteminin bütün özelliklerini etkili bir şekilde kullanma imkanı tanıyordu.

Bu iki dilin sunduğu imkanlar arasındaki boşluğu doldurmak için Microsoft kod odaklı uygulama geliştirmeyi modern ve yenilikçi bir tazrda ele alan C# dilini geliştirdi. C#, C++ sözdizimine benzer bir şekilde temiz ve güzel bir programlama dili sunarken aynı zamanda Visual Basic dilinin üretkenliğinide korur.

Kod Odakli Geliştirme

Programcıların hepsi projelerinde mutlaka belli özelliklerde kod yazarlar. Fakat programcılarinin çoğu zamanlarının önemli bir kısmını sihirbaz(wizard),kontrol ve tasarım araçları kullanarak harcarlar ve böylece önemli ölçüde bir üretkenlik sağlarlar. Bu özelliğin programcılar için tek kötü yanı sihirbaz tarafindan üretilen kodun anlaşılabilirliğinin az olmasıdır.Fakat programcılar kodlarında anlaşılırlık ve verimlilik arasindaki tercihlerinde güveni tercih ettiler.

Ayrıca kod odaklı geliştirme yapan programcılar başkaları tarafindan doğru tasarlanmış kodu yeniden yazmaya yönelir ve bu daha az bilgili programcıların pratik olarak iyi kod geliştirebilmesindeki karmaşıklığı düzeltir.

Hangi Programcılar Neden VB.NET’i Seçmelidir?

Gelecek kuşak uygulamaları ve servisleri birleştirerek .NET ortamında araştırma yapmak isteyen aşağıdaki tipteki programcılar için C# ideal bir dildir.

• Üretkenlik arayan C/C++ ailesindeki diller ile geliştirme yapan programcılar :C# dili, C++ dili gibi isleç(operator) aşırı yüklerken buna ek olarak numaralandırmalar, küçük-büyük harf duyarlılığı ve component-oriented(bilesen-yönelimli) özellikler olan property,delegate, events ve daha fazlasini içerir. C#, .NET framework ile beraber yüksek verimlilik ,yönetilebilir , daha güvenli ve anlaşılabilir sözdizimi ile yeni özellikler isteyen C++ programcılarına sunulmuş bir dil olarak da düşünülebilir.

• Framework tasarımcıları ve yazılım mimarlari : Framework tarafindan iyi desteklenen , isleç yükleme özellikleri içeren, güvenli olmayan kodlara ve önceden yazılmış yazılımlara erişimiyle C#, yazılım mimarlarına geniş ve esnek kütüphaneler ve iş parçacıkları tasarlama imkanı sağlar.

• Java tabanlı yazılımlar geliştirmiş programcılar : Java Language Conversion Asistant (JLCA) ile Java programcıları uygulamalarını C# ve .NET Frameworke’e rahatlıkla taşıyabilirler. JLCA kaynak kod seviyesinde bir analiz yapar ve Java kodunu C# koduna dönüştürür. Dönüştürme işlemi bittiğinde geliştiricinin dikkat etmesi gereken noktalar belirtilir. Böylece taşıma işlemi an az hasarla geçekleştirilmiş olur.

C#’ın C ++ Diline Benzer olan Özellikleri

C# dili, geleneksel C++ özelliklerinin bir çoğunu desteklemektedir. Bu geleneksel özelliklerin bir çoğu Visual C++ ‘taki üretkenliği artırmak için de kullanılmıştır.

• Tüm CLR türleri için destek : C# dili tüm CLR veri tiplerini destekler , programcılar çözüm sunarken .NET ortamının yönetilen çalışma ortamının tüm özelliklerinden yararlanırlar.

Referens yolu ile parametre aktarma ve out parametresi : C# programcıları, parametreleri foksiyonlara referans yolu ile aktarabilirler ayrıca out parametresi ile değişkenlere ilk değer vermeden onları fonksiyonlara parametre olarak geçirebilirler.

• Overloading (Operatör aşırı yükleme) : Sınıf kütüphanesi tasarımcıları operatörleri aşırı yükleyerek daha sağlam sınıflar tasarlayabilirler.

Using ifadesi : Programcılar, uygulamalarında bulunan kaynakları daha kontrollü bir şekilde yönetebilmek için using anahtar sözcüğünü kullanırlar.

Guvensiz kod(Unsafe code) : C#, programcılara gösterici kullanma imkanı tanıyarak hafızaya direkt erişimi sağlar. Her ne kadar güvensiz kodda CLR yönetiminde olsa da ileri düzey programcılar uygulamalarının hafıza yönetimi üzerinde söz sahibi olmaları için güvensiz kod yazabirler. Buna rağmen hafıza üzerinde daha etkili bir kontrol için Visual C++ kullanılması daha çok tavsiye edilir.

• XML dökümantasyonu : Programcılar, kodlarına açıklayıcı notlar eklemek için XML formatındaki bildirimleri kullanabilirler.

Öte yandan C# dil tasarımının sınırlarını genişletecek şekilde hızla büyümektedir. C# dilinin tasarımcıları yakın bir gelecekte dile eklemeyi planladıkları bir kaç önemli özellikten bahsetmektedir. Daha modern ve yenilikçi bir yaklaşım sunan bu özellikle şunlardır :

• Generics : Varolan kodların yeniden kullanılabilirliğini kolayca sağlayan C++ şablonlarına benzer bir yapı.

• Erişiciler (Iterators) : Koleksiyon tabanlı sınıfların elemanları arasında daha hızlı ve kolay bir şekilde dolaşmamızı sağlayacak yapı.

• Anonim(Anonymous) Metotlar : Basit görevleri temsilcilerle daha rahat bir şekilde ele alacak yöntem

• Kısmi(partial) Türler : Bir kodu farklı dosyalara bölebilecek türler.

Visual J #

Microsoft, Visual J# dili ile JAVA dilini .NET ortamına sokmuş oldu. Microsoft Java diline .NET ortamının pratikliğini getirdi ve okullarda müfredatları olan programcılara, ögrencilere, ve profesörlere Java yapısını muhafaza ederek onların .NET e hızlı bir şekilde girmelerini sağladı. Ayırca J# dili windows tabanlı uygulama geliştiren Visual J++ 6.0 kullanıcılarına kolayca Visual J# .Net ortamına geçebilmelerinde kolaylıklar sagladi.

Java Geliştirme Ortamı

C++ geliştiricilerin sıkılıkla karşılaştıkları problemler etkili ve kolay bir sentaks yapısı aynı zamanda benzer OOP fonksiyonelitesi ile JAVA ile giderilmiştir.Java ile uygulama geliştirenlerin .NET ortamında uygulama geliştirenilmeleri için en uygun dil J# olarak görülmektedir. Java programcıları dil değiştirmek zorunda kalmadan .NET framework teki bütün olanaklardan hızlı bir şekilde faydalanma imkanına kavuşmuştur.

Hangi Programcılar Neden VB.NET’i Seçmelidir?

Visual J#, aşağıdaki tipteki programcılar için ideal bir dildir.

• Java-dili geliştiricileri : Daha önceden Java dilini kullanan bir programcı .NET e geçerken bşska bir dili öğrenmek istemeyebilir. Visual J#, .NET platformunun getirdiği özellikler ile java programcılarının bilgilerini kullanabildikleri rahat ve hızlı bir platform sunar.

• Visual J++ ile kod geliştiren programcılar : Visual J# ortamı varolan Visual J++ uygulamalarını .NET ortamına sorunsuzca taşıyabilir ve böylece Visual J#.NET kullanmaya baslayan programcılar projelerinde .NET alt yapısının getirdiği pratikliği ve rahatlığı hemen farkederler.

• Ögrenciler, ögretmenler, ve profösörler : Öğrenciler ve öğretmenler Computer Science derslerinde Java dilinin basitliğinden faydalanmak için Visual J#.NET dilini kullanabilirler. Visual J#.NET, ileri bilgisayar bilimin bütün gerekliliklerini karşılar.

J#.NET Diline Has Özellikler

Bir çok dilde bulunan özelliklerin çogunu yapısında içeren J#, daha rahat ve bildik yapısı ile deneyimli Java geliştiricileri için .Net Framework’e yönelik uygulamalar geliştirmek için ideal bir dildir.

• Java dilinin söz dizimi : Java geliştiricileri bildik bir dil yapısı ile karşılacak ve aynı zaman .NET in tüm imkanlarından faydalandıklarını görecekler.

• Sınıf kütüphanesi desteği : Bağımsız olarak geliştirilen ve bir çok özelliği sunan Java 1.1.4 JDK versiyonundaki kütüphane ile JDK 1.2 java.util de bulunan hemen hemen bütün sınıfları içerir.

• Özellikler, temsilciler(delegates) ve olaylar(events) : .NET geleneksel JAVA söz dizimi ile .NET’in güçlü özelliklerinden olan event ,delegate, ve property yapılarını destekler.

• Javadoc Yorumları : J#, Javadoc kolarındaki yorumlama stilini destekler. Visual J# . NET, kullanıcıların HTML API belgesini yaratabilmesine olanak kılar.

Visual J#.NET Geliştirme Ortamına Has Özellikler

Visual J#.NET direkt olarak Visual Studio.NET geliştirme ortamına entegre bir şekilde çalışır. Dolayısıyla tasarlama araçları, editörler ve hata ayıklayıcılar Visual J# geliştirme ortamında rahatlıkla kullanılabilir. Ayrıca hazlihazırdaki JAVA programcılarının .NET’e geçişini kolaylaştıracak bir takım araçlar da vardır.

• Visual J++ Upgrade Wizard : Visual J++ geliştiricileri projelerini Visual J# ortamı için upgrade edebilirler. Bu sihirbaz proje dosyalarını çevirir ve olası potansiyel sorunlar için kullanıcıyı bilgilendirir.

• Ikili dönüstürücü : Bu araç, Java byte kodunu, .NET uygulamalarında kullanmak üzere MS.NET assembly lerine dönüştürür.

Özet

Programlama dilleri fakli çözümler için kullanılabilmektedir. Her dil kendi özelliklerini ve belirli bir uygulamanın ihtiyaçlarını karşılayabilecek en uygun ortamı içerir. Microsoft geniş bir dil seçeneğini sunduğu gelismiş .NET yapısı ile yazılım uygulamalarında daha sağlam ve fonksiyonalite sağlamış bulunmakta.

tuna

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir