Java ve C# ın Farklı Yanları

'HTML-PHP-ASP-JAVA' forumunda Mavi_Sema tarafından 19 Mayıs 2009 tarihinde açılan konu

  1. Mavi_Sema

    Mavi_Sema Özel Üye

    Sponsorlu Bağlantılar
    Java ve C# ın Farklı Yanları konusu Uygulama geliştiriciler arasında son zamanlarda C# ve Java yoğun olarak karşılaştırılıyor. C# ve Java her ne kadar birbirleriyle bazı yönlerden uyuşsalar da ayrı noktalarıda yok değil.Zaten bu ayrılıklar olmasaydı Java varken C# ı geliştirmek için bir sebep olmazdı.

    C# ve Java'ya baktığımızda her ikisinin de değişik yazım kuralları (syntax) içerdiğini görüyoruz. C# kendi başına bir platform değildir. Microsoft .Net çatısı altında yeralan bir uygulama geliştirme dilidir. C# ile Java'yı birer dil olarak karşılaştırdığımızda ise C#'ın bir iki önemli özellik taşıdığını görüyoruz. Bunların arasında güvenli olmayan yani unsafe kod (burada güvenli olmayan (unsafe) kod ile kastedilen herhangi bir yazılım hatası yada güvenlik açığı değil, programlama dilinin dizilerin sınırlarını kontrol etmemesi gibi yapısal özelliklerdir), operator overloading ve .Net altyapısı üzerinde kısa süred e uygulama geliştirmeye yönelik özellikleri sayabiliriz.

    Şimdi iki dil arasindaki önemli farklılıkları maddeleyip açıklayalım:

    * İstisna İşleme: C# atık listesinin kullanılmasına izin vermemekte.Buna karşılık bunu gerçekleştiren fonksiyon javada mevcuttur.Gelişrtiricilerin çoğu Java nın sorun giderme mekanizmasını C# ınkine tercih etmektedir.
    * Java herhangi bir işletim sistemiyle çalışabilir: Java gibi bir dili yaratmanın en önemli nedeni derlenmiş kodların herhangi bir işletim sistemiyle kullanmaya olanak vermesiydi.C# ise MSIL(Microsoft Intermediate Language) adı verilen aracı dille derlenebilir.Ancak MSIL Windows platformu ve Linux tarafından desteklenmekte.BU yuzden java bu kategoride lider durumda çünkü C# dan daha fazla işletim sistemi tarafından desteklenmekte.
    * Operatör: C# ın Java yı geride bıraktığı önemli noktalardan biri operatör klavyesini kullanarak aşırı yükleme yapabilmesidir.Java,operatöre kesinlikle bu imkanı sunmaz.
    * Struct: Structlar C# da kullanılırken Java da yoktur.
    * Foreach/in : Bu javada olmayan C# ın sunduğu yeni bir döngüleme raporudur.Bu,tüm öğelerin incelenmesinin gerektiği durumlarda sıralama aracılığıyla yapılacak işlemlerin kolaylaşmasını sağlar.

    İki dil arasında daha pek çok ayrı nokta var.Bir yanda birçok farklı işletim sistemiyle yeniden derleme kodu olmadan çalışabilecek Java diger yanda varsayılan daha fazla dil özelliği varmış gibi görünen ve CLR yüklü her işletim sistemiyle kullanılabilen C#. Eğer az zamanınız varsa ve hemen hemen tüm işletim sistemleriyle çalışabilen bir uygulamaya ihtiyacınız varsa Java mantıklı bir seçim olur .Ancak uygulamanız Windows da çalışacaksa ve zaman probleminiz yoksa o zaman güçlü bir programlama dili olan C# iyi bir seçim olacaktır.
     

Bu Sayfayı Paylaş