Visual Basic mi? C Sharp mı?

Hangi .Net programlama dili?
24 Ekim 2009
Birçok öğrencim, programlamaya yen başlayacak olanlar ya da bir şekilde yukarıdaki programlama dillerinden biriyle yazılım geliştirmeye başlayanlardan sıkça gelen bir soru bu: “VisualBasic mi daha iyi? Yoksa C# mı? Hangisini tercih etmeliyim?” Böyle bir soru geldiğinde cevabım yine bir soru oluyor: “neye göre? “ ya da “hangi açıdan?”

Bir programlama dilini iyi yapan nedir?
  • Piyasada daha çok tercih ediliyor olması. O dili bilenlerin daha kolay iş bulabiliyor olması.
  • Piyasada daha az tercih ediliyor olması ama odili bilenlerin çok iyi ücret alıyor olması.
  • Kolay öğrenilebiliyor olması.
  • Çok kolay ve hızlıca uygulama geliştirilebiliyor olması.
  • Geliştirilen uygulamaların çok hızlı çalışıyor olması.
  • Geliştirilen uygulamaların tüm işletim sistemlerinde çalışıyor olması.
  • Geliştirme araçlarının ücretsiz olması.
  • O dille ilgili yazılmış kaynakların; kitapların,makalelerin çok sayıda ve kolay erişilebilir olması.
  • Veri tipi, kod akışı, hata denetimi gibi yapısal özelliklerinin zengin ve güçlü olması.
  • Genel amaçlı olması. (Herhangi bir amaç için uygulama geliştirebilirsiniz.)
  • Özel amaçlı olması ve bu belirli alanda çok güçlü olması. (Örneğin veritabanı sorgulamak için kullanılan SQL özel amaçlı bir dildir)
Sizin de tahmin edebileceğiniz gibi bütün bu seçeneklerin hepsinin tek bir dilde olması mümkün değildir. Bu nedenle bu seçeneklerden sizin için en önemli olanlara öncelik vererek dil seçiminizi yaparsınız.

Ortak Yönler:
VB ile CS arasındaki farklardan bahsetmeden önce, daha doğru ve hızlı bir değerlendirme yapabilmek için, bu iki dilin ortak yönlerinden bahsetmek istiyorum.

VB ve CS programlama dilleri, Microsoft’un .NET teknolojisi üzerinde çalışan dillerdir. Yani her iki dilinde altında .NET Framework adı verilen bir alt yapı vardır. Bu yapı ortak bir veri tipleri alt yapısı, çok geniş bir hazır nesne kitaplığı, program geliştirmek için gerekli (derleyici vb.) araçları ve .NET Framework için yazılmış ve derlenmiş programları işletmek (yürütmek/çalıştırmak) için gerekli olan yürütücüyü (CLR) içerir.

VB ya da CS ile yazdığınız bir programın bir bilgisayarda çalışabilmesi için, o bilgisayarda .NET Framework’ün yüklü olması zorunludur. Bir programı CS ile de VB ile de yazsanız, derlediğinizde ortaya MS IL (Microsoft Intermediate Language) adı verilen birara kod/derleme çıkar. Bu bilgisayarların işletim sistemlerinin direkt olarak çalıştırabileceği bir derlenmiş dosya değildir. Bu derlenmiş dosyayı ancak .NET Framework çalıştırabilir.

Şimdi buraya kadar konuştuklarımızla VB ve CS’in durumunabakacak olursak;
  • Her iki dil de tam anlamıyla nesne yönelimlidir.
  • Her iki dil de aynı veri tipleri alt yapısını kullanıyor. Yani VB de Integer CS da int diyorsunuz ama ikisi de aslında System.Int32 anlamına geliyor.
  • Her iki dilde de yazılan programlar derlendiğinde ortaya aynı şey (MS IL) çıkar.
  • Her iki dilde de aynı nesne kitaplığı kullanılır.Yani pencerelerle, web sayfalarıyla, dosyalarla, networkle ya da veritabanıyla çalışırken tamamıyla aynı mekanizmaları kullanırsınız.
  • Her iki dilde yazılan program da bir bilgisayar üzerinde çalıştırıldıklarında, aynı yürütücü (CLR) tarafından çalıştırıldıklarından ve çalıştırılan şey aynı MSIL olduğundan, aynı şekilde çalışacaktır.
 
Şimdi gelelim farklara…
İki dilde temelde söz dizimi dediğimiz, kodun yazımıyla ilgili farklar vardır. Eğer önceden Visual Basic 6  gibi bir dilde kodlama yaptıysanız VB.NET, Java, C gibi dillerle programlama yaptıysanız C# size daha yakın gelecektir. Bunun haricinde bazı ufak tefekavantaj ve dezavantajları da aşağıda listeliyorum.
  • C# büyük/küçük harf duyarlı bir dildir. VB deise büyük/küçük harf fark etmez. VB fonksiyonlarda opsiyonel parametreleri destekler. 
  • VB programlamayı kolaylaştırmak için C# da olmayan birçok hazır fonksiyonla birlikte gelir.
  • VB kodlamayı kolaylaştıran bir with yapısına sahiptir.VB ile bir XML belgeyi direkt olarak koda yazıp bir veri tipi olarak kullanabilir ve değişken tanımlayabilirsiniz.
  • C# ile using blokları kullanarak nesnelerin bellek kullanımını daha kolay kontrol edebilirsiniz. C#, VB den farklı olarak .NET dışında çalışacak kodlamaya (unsafe) da izin verir. Yani C, C++ kodlarınızı C# içindençalıştırabilirsiniz.
  • Burada bahsettiklerim tabii ki tüm detayları içermiyor. Ayrıca VB ve C# arasındaki farklar ve benzerlikler, dillerin yeni sürümlerinde farklılaşıyor. Bu yazıdaki amacımın genel bir fikir vermek olduğunu unutmayın.
Bu arada VB ve CS arasındaki farklılıkları anlatan ve yazılımcılar için bir dili bilenin diğer dili öğrenmesinde ya da kullanmasında yararlı olacağını düşündüğüm bir teknik dokuman üzerinde çalışmaya başladım. Daha detaylı bilgi almak isteyenler, benimle temasa geçsinler.

 
Önerilerim:
Visual Basic mi? C Sharp mı?
Aşağıdakiler de benim önerilerim.
  • Öğrenciyseniz ve bir proje için belki de sadecebir kereliğine programlama yapmanız gerekiyorsa, daha kolay öğrenebileceğiniziçin VB. 
  • Hobi olarak programlama yapmak istiyorsanız, VB.
  • Hobi olarak programlama yapmak istiyorum ama iddialıyım diyorsanız, C#.
  • Bu işi meslek olarak yapacaksanız ve destek (kurs,eğitim, tanıdık, vb.) alabiliyorsanız, C#.
  • Bu işi meslek olarak yapmak istiyorsunuz ancak destek alma imkânınız yok ve alt yapınız yeterli değilse, VB.
 
Son Söz:
VB ya da CS, biriyle başlayın. Daha sonra eğer gerekiyorsa diğer dili öğrenmek için birkaç hafta yeterli olacaktır.

Kalın sağlıcakla.
Kadir Çamoğlu
kadircamoglu@hotmail.com

Toplam 9225 kez okundu.
Oyla:
En Düşük
Oy ver: 1Oy ver: 2Oy ver: 3Oy ver: 4Oy ver: 5
En Yüksek
YORUMLAR
Toplam 17 yorum
1234Sonraki
Ziyaretçi yazmış:
Öncelikle alttaki mesajı yazan arkadaş ayıp etmiş bu makaleyi okumak zorunda değilsin dostum madem çok biliyorsun neden site site makale arıyorsunda tesadüfen bulduğun bu makaleye yorum yapıyorsun bende c# ta adam yapar vb de takla attırırım benimde tercihşm vb bu tamamiyle tercih meselesi ama senin yaklaşımın insancıl değil

Senin gibi programcıyım diyen çok adam gördüm hazır yapılar kullanıp veritabanına bişeyler ekletim bunları listeletim güncelleme silme v.s yaparak bu iş olmaz

seninle istediğin platformda tartışabilirim madem bu kadar kendine güveniyorsun laflarını değil icraatlarını görelim
27 Oca 2012  00:59Bu yorumu beğendimBu Yorumu Beğenmedim
Ziyaretçi yazmış:
Alttaki yorumu yapan arkadaş; programcı olmadan insan olmak gerekir. Böyle mahalle kabadayısı ağzı ile sanki bu konuda tek yetkili otorite gib, gayet seviyesiz mesajınız için sizi kınıyorum.

----------------------------------------------------------------------------
Mesaj:
Şimdi Bu Geri. Arkadaş Programcıyım diye geçinir.Ben hem C# .net'i ve vb .net'i biliyorum.Ve Vb.net'i tercih ediyorum çünkü c# .net'ten daha iyi , kullanımı kolay , kod yazarken zaman kaybetmiyorum.Adam c# yazdığı kodun hatalı olup olmadığını f5'e basınca öğreniyor. bir alanın get mi set mi olduğunu yazmıyor bir kere övdüğünüz c# .net.Neysee ya zaten türkiyede adam akıllı programcı yok.Her Zaman Dediğim Gibi herkes programcı olabilir ancak herkes programcı olamaz. :) İyi Düşün
26 Ağu 2010  00:29%100Bu yorumu beğendimBu Yorumu Beğenmedim%0
Ziyaretçi yazmış:
Şimdi Bu Geri. Arkadaş Programcıyım diye geçinir.Ben hem C# .net'i ve vb .net'i biliyorum.Ve Vb.net'i tercih ediyorum çünkü c# .net'ten daha iyi , kullanımı kolay , kod yazarken zaman kaybetmiyorum.Adam c# yazdığı kodun hatalı olup olmadığını f5'e basınca öğreniyor. bir alanın get mi set mi olduğunu yazmıyor bir kere övdüğünüz c# .net.Neysee ya zaten türkiyede adam akıllı programcı yok.Her Zaman Dediğim Gibi herkes programcı olabilir ancak herkes programcı olamaz. :) İyi Düşün
27 Tem 2010  18:20%12Bu yorumu beğendimBu Yorumu Beğenmedim%88
Ziyaretçi yazmış:
Java Cross Platform desteği bakımından daha iyi Monoda falan henüz denemedim VS yi ,Fakat windows ortamındaki kadar performanslı olabilieceğini düşünmüyorum, Ama .Net in trendi VS ye kaydığına inanıyorum..

Mehmet ÖZÜAĞ
25 May 2010  11:52%0Bu yorumu beğendimBu Yorumu Beğenmedim%100
Ziyaretçi yazmış:
C# bir adım önde gözüküyor, ama VB'nin son sürümlerinden istifade etmesi daha kolay
07 May 2010  12:40Bu yorumu beğendimBu Yorumu Beğenmedim
1234Sonraki


Bu sayfalarda yer alan okur yorumları kişilerin kendi görüşleridir. Yazılanlardan CHIP Online sorumlu değildir.
Siz de yorumunuzu yazın
CHIP Online Ziyaretçisi
Yorumunu Gönder
Lütfen bu bölüme sadece yorumlarınızı yazın. Teknik yardıma ihtiyaç duyduğunuz konuları lütfen forumda ilgili bölüme veya Uzmanına Sorun bölümümüze yazın, yanıtınızı çok daha sağlıklı ve hızlı olarak alabilirsiniz
Siz de kendi teknoloji blogunuzu ücretsiz oluşturun!

Tek Kişilik Yazılımevi-Kategoriler

 


Ekim 2009
PtsSalÇarPerCumCtsPzr
   1234
567891011
12131415161718
19202122232425
262728293031 

CHIP Online Yazar Blogları

Yazarlarımızdan, editörlerimizden sizlere...

Cem SinanoğluCem Sinanoğlu
Ne halin varsa gör!
Selim ÖztürkSelim Öztürk
22 Kasım = Sansür mü?
Rik FergusonRik Ferguson
Yılbaşı alışverişinde yalancı fırsatlara kanmayın!
Kadir ÇamoğluTek Kişilik Yazılımevi
Yazılım Test Uzmanlığı Kariyeri
Zeynel ÖztürkZeynel Öztürk
Google+ sizi yayınlamasın!
 

CHIP Dergisi: Şubat 2012


İşbirliği ortaklarımız

  • Hepsiburada.com
  • Level
  • Turhost
  • CHIP Download
  • yenibiris.com
  • CHIP Download
 
 
Cep telefonları | Ekran kartları | Masaüstü | Notebook | Ses kartları | Webcam | Klavye & Fare | Yazıcılar | Tablet Ev Sineması
Mp3 Player | Usb Bellekler | Video kameralar | Fotoğraf Makinesi | Taşınabilir diskler | LED & LCD Tv | Monitörler | OEM | PDA
Navigasyon | Oyun Konsolu