.NET Platformunda yazılım geliştririken VB.NET mi C# mı?

Etiketler .net, vb.net, c sharp, 10.09.2006

.NET platformunda yazılım geliştirinler arasında klasik geyiklerden biridir heralde VB.NET ile mi yazalım yoksa C# ile mi? ya da C# mı iyi VB.NET mi?

İkinci klasik durum ise yeni başlayacak birinin klasik sorusudur bu C# mı VB.NET ile mi kod yazayım?

Coding Horror buna çok güzel bir örnek vermiş Coca Cola mı Pepsi mi? Sanırım başlık yeterince açıklayıcı VB.NET ile C# arasında seçim yapmak Coca Cola ile Pepsi arasında seçim yapmak gibi bir şey.

Genel olarak .NET geliştiricileri hem C# hem de VB.NET ile kod yazabilirler ve düzenli olarak da yazmaları gerekir. Şahsen benim karşılaştığım genel iki neden,

  • Bir dil ile yazılım geliştirirken diğer dilden bir DLL kullanmam ve modifiye etmem gerekmesi,
  • Hali hazırda geliştirilen bir yazılıma veya legacy bir yazılıma yeni ek yazılması. Eğer yazılım sizin normal geliştirdiğiniz dilde değilse ona başka dilde yazılmış bir ek yapmanız pek hoş karşılanmayacaktır.

İki basit konu daha var,

  • VB Microsoft' un eski çocuğu ve bariz bir şekilde onu hiç bir zaman bırakmayacak,
  • C# özellikle yazılım toplulukları ve Java, C++ tan .NET' e geçen bir çok kişinin kullandığı dil. Dolayısıyla iki dilde bol bol kaynak ve tam destek var.

Son olarak yeni başlayan birinin kendine yakın dili seçmesi en mantıklı hareket olacaktır. Örnek olarak eğer C, C++, Java, PHP geliştiriciyseniz C# muhtemelen size daha yakın gelecektir. Eğer ki Visual Basic, Basic, ASP üzerinde daha önce çalıştıysanız VB.NET daha kolay gelecektir.

Eğer ki sıfırdan konuya giren biriyseniz VB.NET in okunabilirliği C# a göre daha iyi. Öte yandan C# sizi bir çok diğer dile daha fazla yaklaştırabilir ki bu da daha sonrası için ciddi bir avantaj olacaktır.

mhozcan - 20.02.2009

arkadaslar ben ilk önce pascal ardindan c üzerine egitim almis sonra dil degistirirken c#.net geçmis arindan sapkami çikarip düsündüm vb.net de ayni seyleri yapiyorsa synax i yani yazimi zor bir dil olan c#.net üzerinde kasiyorum. Velakin bu hatayi yapmis bulunuyorum. Vb.net üzerinden egitimime devam ettim. AAA bi baktim ki internetde c# üzerine çok daha fazla kaynak ve video var. ayrica kitap bakimindanda daha zengin hadi bunlari geçtim. site tasarlarken Css ögrenmem gerekti bi baktim Css'inde yazimi ayi C gibi Bir gün bagimsiz platformda yazilim gelistirmek istersem yada Sun üzerinden birseyler yapmak istersem ki hayalimdir Java kullanmak vb.net den geçmem gerçektende zor olucakti. birde su vb.net 'in herseyi uzun uzun yazdirmasi yokmu gerçektende akilda tutmasi sorun oluyor. Belki bi amerikali için basit görünsede türk için gereksiz bir hal aliyor. Lafi fazla uzattim sanirim bir gerçek var bildigim büyük firmalar c#.net yada C kökenli dillerle proje gelistiriyorlar. Is basvuru sitelerinde C#.net deneyimi yaziyor. unutmayin C dilini bilen aslinda bir çok dili ögrenmeye yatkin haldedir yazimlar ve mantik birbirine yakindir Bir çok dilin yazimi C türevindedir. Ama vb.net için ayni seyleri söylemek gerçektende zor.

caglaror - 14.04.2008

Tanidik bazi isimleri bu tartismada görmek çok güzel. Yil kaçti hatirlamiyorum ama yillardir, "IT'nin Kiyisindan" isimli bir yazida yazdigi gibi bu 'programlamacilik' isini kabuk anlaminda uzun yillardir uzmanca yapan bir acemiyim.
O zamanlar Basic mi C mi vardi sanirim, sonralari epey biseyler daha kiyaslanarak tartisma sürdü, ASP mi PHP mi tartisildi yine bir süre, simdilerde ise görüyorum- ve bende kendime soruyorum ki- vb.net mi c# mi sorusu var.
Yillardir sektör ha bire ürettiyse demek cevap ne olursa olsun birileri biseyler üremis. Bir dili tercih etmis ve yine üretmis.
Uzun süredir görüsemedigim DarkyDark nickli bir arkadasim, 'teorik olarak herhangi bir dilde yazilim üretecek' kadar mantiga hakim oldugunu belirtmisti. Elbette olayin özü budur. Ama olaya son derece nesnel bir açidan bakarak, ihtiyaç-çözüm dogrultusunda bakmak ve gerisini 'rahat hissedilen ortamla yazmak' olarak açiklamak, biz sorusuna cevap arayanlari aramaya iten güdüyü yalanlamak olur bence.
Daha akilci, daha kolay, daha pratik, daha islevsel, daha keskin, daha anlasilir, daha hatasiz, daha etkili, daha sade, daha kompleks, daha hiyerarsik, ve bunun gibi bir sürü dahayi ariyoruz ögrenmek istedigimiz dilde. Peki neden?
Bu kadar güçlü ve ögrenmesi uygulamasi kolay bir dille ne yapacagiz?
Programlamanin kendimiz için mi yoksa yapmak istediklerimiz için mi bir araç oldugu tartisilmali.
Yazabildiklerimizle ve ürettigimiz programlarla ögünecek miyiz, yoksa sadece hayatimizi kazanmak için bir araç mi bunlar?
Eger gelecekte konusma diline çok yakin program arayüzleri, frame workler çikarsa ne yapacagiz. Siz konusup mantiklari aktaracaksiniz gerisini yazilim yapacak ve derleyecek. Ya sonra, tekrar basa dönüyoruz neden?
Benim ....mi yoksa ..... sorumun simdi temelinde daha net, duru bir merak yatiyor.
Uzun vadede baska dile geçmegeregi duymadan yatirimlarimi(zaman, para, enerji) bana olanaklar ve kolayliklar olarak çevirecek bir dil ariyorum, sizce bunu en çok hangisi karsilar (%1 fark bile benim için tercih sebebidir). Yazilim zorluklarini beynime ve ögrenebilme yetenegime birakin.
Ben kendi açimdan sorunun cevabini buldum: C grubunun (oldukça degistirilmis olsa da) veliahti ve sadece mantik olarak takipçisi olsa da C#'i tercih edecegim. Yillarin hatta on yillarin visual basic scriptçisi olarak söylüyorum bunu.
Pratik olarak hepimiz yeni dile tamamen adapte olmada en çok 1 yil harcariz. Ama bu git-geller bize daha çok zaman kaybettiriyor ve ciddi bir projede yer alma olasiligimizi yani gerçekten üretme olasiligimizi azaltiyor.
Benim sintaks olarak zor olsada kullanim kolayligi açisindan javascriptten hareketle bu sintaks grubuna inanilmaz bir kanim kaynadi. Oysa ciddi olarak deneyene kadar çok soguk ve uzak gelirdi (muhtemelen tüm vbscriptçiler gibi).
Hadi ama asla Lisp kadar olamazdi degil mi?
Evet vb.net'te belki ilerde ara-ara, yeniden, ama suan C#'a geçiyorum.
Tesekkürler okudugunuz için.
Iyi çalismalar
Çaglar ORHAN

rasim - 01.02.2008

Bende Vb.net' e geçis yapmayi düsünüyordum, ama sonra vazgeçtim. Nedeni açik kod kaynakli yazilimlarina yönelmeyi düsünüyorum. Sizce dogru bir karar mi?

sakirsensoy.com - 30.01.2008

Yukarida "ahmet yerli" arkadasimizin söylediklerine katiliyorum.Mesela bir yazilim evi herhangi bir projeye basladi.Ve projede kullanilan dil c#.Ama siz vb.net biliyorsunuz.Yazilim evi sahibine ben vb.net biliyorum diyeceksiniz.Oda size farketmez bizim proje c# ama yarisinida vb.net ile yapariz demicektir tabiki.Bencede sektörün kullandigi dili farkedip ona yakinlasmak daha mantikli.Tabiki bu isi hobi amaçli yapmiyorsaniz.Ayrica bir arkadasimizda asp bilen biri için c# ögrenmek çok zor olur demis.Bende asp ile hasir nesir olmus ve ondan baska bir dil ile çalismamis biriyim.Ama sizinde farkedeceginiz gibi c# ile vb.net arasinda yazim bakimindan çok ufak farklar var.
Örnek :
Degisken tanimlama VB.Net ile :
Dim degisken As Object
Degisken tanimlama C# ile :
Object degisken;

Bunun gibi ufak tefek bazi farklar var.Yani bir c# blogu vb.net bloguna kolaylikla çevrilebiliyor.Bu yüzden asp bilen biride rahatça c# ögrenebilir.Tabi vb.net kadar kolay olamayacagi kesin.Kalin saglicakla!

uzm@n JR - 24.04.2007

Bende kendime sik sik bu soruyu soruyorum C# mi yoksa VB.NET mi bide kafamda 3. bir Secenek var buda J# >> Platformdan bagimsiz calismak istiyorum.Ama Vb.NEt inde dersini aliyorum önce VB.NET sonrada C# ögrenmek istiyorum. sizce ne yapmam lazim ? C# mi VB.NET mi J# mi ? Bu ask üçgeninde kaldim:D:D

Abdullah DAGLI (abdagli) - 27.03.2007

Uzun yillardir ASP ile çalisiyorum. Artik ben de ufak ufak .NET teknolojilerine yaklamaya basladim. Herkes .NET gelistirirken C# kullaniyor ben de kullanayim dedim. Ve çok büyük bir hata yaptigimin farkindayim. Gerçekten de yalnizca ASP bilen (vb script) biri için C# ile kod gelistirmek çok zor. Anlamak imkansiz:)

Eger bu güne kadar microsoft teknolojilerini kullandiysaniz devam edin. Aksinde iseniz Bu tarafa geçmeyin.

alpi - 31.12.2006

11. duygu [ # | 23 gün, 3 sa, ]
ben visual basicde hesap makinesi yapmaya çalisiyorum ama windows xp deki gibi olcak yapamadim ya yardim edermisiniz bu programi staj gördügüm yerde verdiler yardimlarini bekliyorum tesekkürler simdiden)))))))))))))))))

Alakaya maydonoz örnegi. Bu arkadasin sayesinde hangi dili tercih etmem erektigini anladim.

duygu - 08.12.2006

ben visual basicde hesap makinesi yapmaya çalisiyorum ama windows xp deki gibi olcak yapamadim ya yardim edermisiniz bu programi staj gördügüm yerde verdiler yardimlarini bekliyorum tesekkürler simdiden)))))))))))))))))

Ümit KALYONCU - 27.10.2006

Herkese Selam.
Bizim okulda hocamiz birinci sinifta, ilk derse girdiginde söyle bisi demisti. "Arkadaslar bugün ders yapmak istemiyorum. Bugün sadece tanismak istiyorum. (tanisma fasli bitti......) Arkadaslar; öncelikle kod editörümüzü açmadan önce su sizlere tavsiyemdir; bir kaç dili yarim yamalak ögrenmektense, bir dili iyi ögrenin ve uzmanlasin" demisti ama ben C++ ve VB her ikisinide ögrenme pesindeydim.
Sonuç: Bugün ya C++ yada VB'ye ikisinden birine yönelmedigim için çok pismanim? Tek dilde uzmanlasmak en akillicasiymis. Yukarida bir arkadasimiz derki, bir yazilim evi C#'da yazilim gelistiriyorsa ve siz'de VB.Net biliyorsaniz sümük çekersiniz. O yazilim evi Bir Isletim Sistemi yazamiyacagina göre C sart degildir. O yazilim evi eline VB.Net uzmani geçirdiginde emin olun kaçirmayacaktir. (yanlis anlamayin ben C# yaziyorum) hiç bir programci sümük çekmez, üretirler. C#'la VB.NET arasinda büyük farkliliklar yoktur.

doruk dalcam - 01.10.2006

yaa beyler iy i guzel konusuyosunuz ama bi sorunum war ben pamukkale uni 1. sinif bilg mühendisliginde okuyorum we bize direk c sharpe ogretmee basladilar:( ama ben .net platformunuda ogrenmek istiyorum insallah dogru kullanmisimdir terimleri ama bunari nerden en iyi sekilde ogrene bilirim we bolumde cok da iyi olmayan arklar we cok yawas ilerlioruz:( buda bei uzuyo biras aceleciyim tamam ama bana biras kaynak onerisinde bulunsaniz bende yararlansam bi 10 sene sora bende genclere rehberlik yapabilsem helpmeee:P

vedat taylan - 23.09.2006

aslinda ortak kanaat belli ikisinin arasinda ufak tefek farklar görünse bile neye hizmet ettikleri önemli ve kullanilacak dile ne kadar hakim olundugu daha önemli..

Volkan KARAKAYA - 13.09.2006

Öyle yada böyle .net projeleri gelistirirken, kullanilan dilin çok fazla önemi olmadigini düsünüyorum. Nihayetinde bir dilin yapamayipta diger bir dilin yapabildigi çok fazla farklilik yok. Ha keza Delphi 2006 halen .net 1.1 destekli, onu ayiriyorum. .net 2.0 destegiyle gelen dillerin farkliligi syntaxtan öte gidemiyor.

VB.NET mi C# mi?

Farketmez hocam. Gerçekten farketmez. Ben bir nesne olsun kalitim olsun çok biçimlilik olsun kapsülleme olsun kisacasi oop' u bilemedikden, uml, tasarim desenleri, enterprise library (application blocklar), n-tier, remoting bilemedikten sonra vb.net kullanmisim c# kullanmisim çok önemi yok.

Tuna Toksöz - 11.09.2006

düzeltme yapiyorum
iki dil arasindaki benim için önemli farklardan biri anonim metodlar... vb.net özellik ekledikçe çirkinlesse de ihtiyaçlari karsilama konusunda c#dan sadece az bir farkla geride:)

Ferruh Mavituna - 11.09.2006

Aslinda Tuna Toksöz beyinde degindigi gibi iki dil destegi arasinda Using çok güzel bir örnektir. Lakin Framework 2 de VB.NET e de 'using' eklendi ve ayni C# taki gibi gibi kullanilabiliyor. Eger bir programci olarak C# using kullanmak için seçtiyseniz VB.NET e geri dönebilirsiniz:) Bu isin dalgasi tabii ama sonuçta iki dilde ayni sekilde gelismekte.

alya - 11.09.2006

Bence kisinin ihtiyacini belirleyen etmen, kisinin kendini rahat hissetmesidir.
Nasil bir zamanlar VB vardi ve simdi VB.NET varsa simdi C# varken ve ilerde de C## (Csharper) olacaktir. Diller geçici, önemli olan programlamanin çekirdek bilgisini kavramak, programlamayi bilmek, degil mi?
VB.NET, C#.NET, C++.NET, J#.NET hepsi de .NET Framework'ü kullanan birer araç. Mühendisler "hadi yeni bir dil olusturalim" diye bir masa etrafinda toplaniyor. Söz dizimi, anahtar kelimeleri,.. belirlemeye sira gelince de biri "select case olsun" digeri "switch case olsun", ..., biri "önce tip tanimi sonra degisken olsun", digeri önce degisken sonra tip tanimi olsun", ... diye tartisiyorlar, kavga ediyorlar. Bir yapboz olusturup elimize veriyorlar, ugras dur, oyuncak oluyoruz. Aslinda onlarin oyuncagi da biziz, bu tartismalari izleyince gülüp egleniyorlardir herhalde... O dil bu dil derken konunun özünden uzaklasiyoruz, .NET ile 7-8 tik ve programin hazir hale geldigi bir noktaya gidiyoruz. .NET Framework'ü programlayanlar programci; ama gidisati göremeyen ve programci olmak için çalismak yerine MSin piyasaya sürdügü, her seyi daha da paketleyen framework ve VS lerle 7-8 tikla program "olusturmakla", program kullanmayi ögrenmekle ve bunlari yapabildigini gösteren sertifika sahibi kisileri tercih eden yöneticilerle programciliktan uzaklasiliyor.
Sonuçta hepsi compiler ile makine koduna çevrilen .NET Framework'ü kullanan "makyajli kod"dan baska bir sey degil.

C# mi VB.NET mi, ASP mi PHP mi sorusunun yanitini söyle özetlesek nasil olur?
switch(dil)
{
case "C#.NET": Console.WriteLine("Ben C# biliyorum. Sadece C# kodu yazabilirim");
case VB.NET: Console.WriteLine("Ben VB.NET biliyorum. Sadece VB.NET kodu yazabilirim");
case ASP: Console.WriteLine("Ben ASP biliyorum. Sadece ASP kodu yazabilirim");
case PHP: Console.WriteLine("Ben PHP biliyorum. Sadece PHP kodu yazabilirim");
default: Console.WriteLine("Ben programlamayi biliyorum. Tek ihtiyacim esnek bir bakis açisina sahip, diplomali veya x'i veya y dilini bilme açisindan sertitifikali olmayi önemsemeyen yönetici ve görev veren pm");
}

Tuna Toksöz - 10.09.2006

c#'ta "using" blogu varken mesela, vb.net'te de vardir:)

microsoftun c# üstüne egildigi bir gerçek. C# gelistirmeye daha açik bir dil. ayrica benim için c# in anonim metodlara destek vermesi vb.net i kullanilmaz yapiyor bana göre:P

vb.net yeni özellik eklendikçe çirkinlesiyor. Genericslerde List(of T) yapisi c#da (c++ daki template ve javadaki generics e benzer) List<T> kullanirsiniz ki of T den daha güzel bir görünüm verir... Ayrica C ve Javaya yakinlik Ferruh Beyin de dedigi gibi java ve c++ gibi dillere daha çabuk alismamiza yardimci olur

Ferruh Mavituna - 10.09.2006

dersiniz ki yeni yetme adam, daha kod yazmamis, ihtiyaçlarini nereden bilecek?


Ihtiyaçlari using kullanmak ya da kullanmamak mi? Nasil ihtiyaçlar ?

en az iki dil ögrenin. birisi sevdiginiz, digeri ekmek yediginiz dil olsun. eger ikisi de ayni dil olacaksa, ne mutlu size. simdi bir sise kolayi hakettiniz.


Bu önerinin yüksek degeri ise su ilanlarin bir altinda yatan gerçek olsa gerek,
Iyi derecede ASP ve PHP bilen eleman ariyoruz


Ya da bu öneriye dayanarak PHP mi ASP? diyen birine Ne kasiyon canim ögren ikisini de olsun bitsin... diyebiliriz. Eminim çok yardimci olacaktir.

ahmet yerli - 10.09.2006

ayni geyiklere sizin de girdiginizi görüyorum.

bu konuda, geyiklere girmeden söylenecek sey sunlardir:

bir yazilim evindeyseniz, o yazilim evinin kullanageldigi dili kullanacaksinizdir, baska yolu yok. vb.net ile yazarsiniz ve eve gelince aglaya aglaya c# kodlarsiniz, keske dersiniz, sümügünüzü çekersiniz...

yeni baslayacaksaniz, bu isi bakkaldan kola seçmeyle karistirmamalisiniz. tamamen kendinizi, dilin size verebileceklerini düsünmelisiniz.

.net dilleri, her ne kadar ortak bir dile dönüstürülüyor vs. ve dil bagimsizligi oley diye pazarlaniyorsa da, tüm diller ayni yapilari desteklemiyor. yani hepsi sonuçta kola diyemezsiniz. c#'ta "using" blogu varken mesela, vb.net'te yoktur, simule edersiniz, caniniz sikilir. felan filan.

er kisi, önündeki dilleri iyi tanimalidir. "üzerime yakismis mi" diye reyon görevlisine poz vermekten daha istifadeli bir davranistir bu. ihtiyaçlarini da iyi bilmelidir. dersiniz ki yeni yetme adam, daha kod yazmamis, ihtiyaçlarini nereden bilecek? bilecek iste. makale okuyacak, kitap devirecek. biraz daha az kola içecek ama bunlari yapacak.

seçecegi dilin endüstrideki durumunu gözetecek. herkes c# ile yaziyorsa ve er kisi de kodlamayi geçimi için yapiyorsa ebleh ebleh vb.net ögrenmeyecek. zevk için yapiyorsa ne ögrenirse ögrensin, burada onu konusmayalim müsadenizle.

hâsili, mesele, ihtiyaçlarda ve dis çevrenin parametrelerinde dügümleniyor.

"ben yeni baslayanlara sunu öneriyorum" geyigi ile bitirelim:
en az iki dil ögrenin. birisi sevdiginiz, digeri ekmek yediginiz dil olsun. eger ikisi de ayni dil olacaksa, ne mutlu size. simdi bir sise kolayi hakettiniz.

Yorum Yazın


Tüm yorumlar onaydan geçmektedir, bu işlem en uzun 30 dk. sürecektir. E-mail adresleri yeni yorumları bildirme harici hiç bir başka amaçla kullanılmamaktadır ve sitede gözükmemektedir.



Captcha Kodu