Neden Vb.Net Kullanmamalıyız - ihan3t

ihan3t

Kadim Üye
7 Şub 2012
5,018
22
Merhabalar tht üyeleri. Bu yazımda sizlere neden vb.net kullanmamalıyız bunu anlatacağım.

Programlama dili tavsiyesi isteyenlere vb.net öneriyorlar. Hala, maalesef.

- Vb.net mainstream desteği 2008 de bitmiş bir dildir.


Mainstream desteğinin bitmiş olması demek, microsoft o saatten itibaren bir daha asla o ürünü yükseltmeyecek. Genişletilmiş destek sözleşmeniz yoksa, güvenlik açığı dışında hotfix sağlamayacak. Garanti talepleri sona erecek. Yeni bir feature ve design talebinde bulunulamayacak.

Yani kısacası vb.net dili 2008 de gelişimini durdurdu. Diğer bütün diller yeni teknoloji ve design lara geçerken vb.net 2008 teknolojisinde kaldı.
Extendend support ise vb.net 2003 için 2013 te bitti. Yani o saatten itibaren security hotfix leri de yapılmıyor.

- Vb.net gördüğüm en verbose dillerden birisi

Aynı kodların c# ve vb.net tarafında yazılışına bakalım :

Kod:
C#

var value = expression1 ?? expression2 ?? expression3 ?? expression4;

VB

dim value = if(exression1,if(expression2,if(expression3,expression4)))

Kod:
C#

while (c < 10) 
  c++;


Vb.net

While c < 10 
  c += 1 
End While

Kod:
C#

int[] nums = {1, 2, 3};

Vb.net

Dim nums() As Integer = {1, 2, 3}

Kod:
C#

var result = GetMyTypes().Where(x => x.AccountNumber == "123");

Vb.net

Dim result = GetMyTypes().Where(Function(x) x.AccountNumber = "123")

Buradaki adreste daha kapsamlı bir syntax karşılaştırmasını görebilirsiniz, biraz eski olsa da temel farkları gösteriyor : VB.NET and C# Comparison

Bu da wiki den : https://en.0wikipedia.org/index.php...l9vZl9DX1NoYXJwX2FuZF9WaXN1YWxfQmFzaWNfLk5FVA

- .Net Core Asp.net tarafında Vb.net ile geliştirme yapamazsınız

.Net geliştiricilerinin ve open source camiasının bir kısmının yeni gözdesi asp.net core tarafında vb.net ile geliştirme yapamazsınız. Sadece c# ile yapabilirsiniz.

- Vb.net in syntaxı C ailesinin syntaxından çok uzaktır

Vb.net alışılagelmiş olan birçok dilden farklı bir syntaxa sahiptir. Yeni başlayan birisi için ingilizce yazar gibi kod yazmak kolayına gelebilir, fakat gerçek dünya böyle değildir. Başka bir dile geçerken zorluk çekebilir vb.net fanatikleri.

- Community açısından C# ın ezici bir üstünlüğü vardır

- Dünyanın en korkunç, kaçılan dilleri arasında vb/vb.net mevcuttur

Stackoverflow developer anketine bakarsanız DREADED languages kısmında en tepelerde vb.net mevcut :

https://insights.stackoverflow.com/survey/2017#technology-most-loved-dreaded-and-wanted-languages

Linke tıklayıp DREADED sekmesine basın.

"For the second year in a row, Visual Basic (for 2017, Visual Basic 6, specifically) ranked as the most dreaded language. Most dreaded means that a high percentage of developers who are currently using the technology express no interest in continuing to do so."

- Türkiye'de iş imkanı bulması en zor dillerden birisi vb.net

Vb.net ile Türkiye'de iş bulamazsınız desem yalan olmaz. Kariyer.net, indeed, linkedin üzerinde iş ilanı aramaya çalışırsanız, visual basic üzerine iş bulamazsınız.

.Net teknolojileri üzerine yazılımcı arayanlar %99 c# üzerine arıyor.

İş ilanlarında vb.net yazanlar sadece ilanı açan insan kaynakları, bütün programlama dillerini kopyalayıp yapıştırıyorlar.. Yoksa vb.net aradıkları falan yok.

Zaten eğer vb.net ile çalışan bir yer varsa oradan koşarak kaçın.

Eğer biraz düşünürseniz aslında sizi körelten ve standartların dışında kod yazmaya zorlayan bir dil olduğunu göreceksiniz. Ayrıca gelecek açısından size hiçbir faydası olmayan bu dili lütfen artık tavsiye etmeyin, kullanmayın, kullandırtmayın.

Bu işi kariyer amaçlı yapmak isteyen arkadaşlar vb.netten uzak dursun.

Herkese iyi forumlar, ihan3t.
 

Sagopa K

Kıdemli Üye
10 Haz 2016
3,678
42
Melankolia
Hocam yine döktürmüşsünüz :) :D hocam ama gerçekten ingilizce yazar gibi code yazılıyor vb de o yüzden çok basit geliyor.
 

AARP

Üye
29 Tem 2017
187
0
Makalelerinizi gerçekten çok beğeniyorum ve takip ediyorum.
Elinize sağlık.
 

ihan3t

Kadim Üye
7 Şub 2012
5,018
22
Türkiyede iş imkanı çok olan diller neler hocam? Kariyer amaçlı

C#, Java ve ASP.NET

Arkadaş haklı. Türkiye'de kurumsal anlamda kariyer yapmak istiyorsan sana önerebileceğim 2 temel dil var : C#, Java.

C# tarafında, asp.net mvc, web api, entity framework

Java tarafında ise Spring Framework, jpa/hibernate

Bu ikisi kurumsal sektörün defacto standartıdır.

Startup/kurumsal aşamasında ise nodejs çok iyi imkanlar sağlıyor.

Aslında şöyle bir durum var, "her dil ile iş bulabilirsin". Bu bir gerçek. Fakat kimisinin imkanları daha iyi olur, kimisinin daha kötü. Kimisi ile iş bulmak daha kolay olur kimisi ile daha zor.

Örneğin Java ve C# uzun yıllar sana iyi ekmekler yedirir. Php sana düşük statülü, kötü projelerde kod yazma imkanı sunar, hele ki Türkiye de php ile kariyer yapmak oldukça zor. Zaten kaliteli kod yazan adam sayısı sınırlı, birde php ile birleşince ortaya felaketler çıkıyor. Gerçekten iyi olan yer sayısı ise çok az.

Örneğin java ve c# ile kurumsal anlamda iyi bir kariyer oluşturabilirsin. Birçok iş ilanı mevcut bu iki dil ve teknolojileri üzerine.

Fakat python için iş ilanı sayısı ve alanı çok daha dar. Ama yok değil. Benim bir önceki çalıştığım startup python ile çalışıyordu, bir arkadaşım hala orada çalışıyor.

Nodejs tarafında İstanbul'da birçok şirket çok iyi maaşlar veriyor. Bir arkadaşım nodejs üzerine çalışıyor.

Başka bir arkadaşım Ios Developer olarak iyi bir ücrete çalışıyor.

Yani farklı farklı dil ve teknolojiler üzerine iş bulmak mümkün. Fakat şartlar değişkenlik gösteriyor.

İşe girmeden önce görüştüğüm 3-4 farklı yer vardı, birisi php birisi java biri .net üzerine çalışıyordu. Ben şartlarını beğendiğim için .net üzerine işe girdim (bu şartlar sadece maaş değil, kariyer olarak uzun vadede daha iyi imkanlar gibi gibi..).


 

1071malazgirt

Uzman üye
26 Haz 2015
1,781
8
Trafo
Foruma ilk geldiğimde vb önermişlerdi ben de cahilce vb öğrenmeye çalışıyordum ve hiçbir ilerleme kaydedemiştim. İlerleme kaydetmeyi bırakın programlamayı sürükle bıraktan ibaret olduğu düşüncesine kapılmıştım.
 
Son düzenleme:

zztri

Yaşayan Forum Efsanesi
9 Tem 2015
10,053
389
Ankara
Ehi ehi, kızdıracağım :D

Üstad, öncelikle en son 2016'da roadmap yayınladı .NET takımı, .NET Core 2017 birinci çeyreği için VB.NET desteği son gaz devam ediyordu...

Düzeltme, 2017 Şubat'ta da Language Strategy yayınlamışlar. VB.NET kalıyor, destekleniyor, geliştiriliyor. Tıklayın.

Zaten kalkması saçma olur, VB.NET, C#, F#... üçü de aynı halta, standart IL koduna compile ediliyorlar. Compile etme süreci de çok basit. Boşuna geriye dönülebilirliği kaybetmezler. Elemanlar yield'a eşdeğer new ... from'u ekledikleri anda vb.net'in daha epeyce bir zaman yaşayacağı kesinleşmişti. Yoksa parallel task'lardan önce keserlerdi. Canları çıktı onu implement ederken.

Üstad senin yazdığın kodun 1 satır uzun veya kısa olması, asıl compilation neticesi IL kodunu zerre kadar ırgalamıyor. Eşdeğer C# ve VB.NET kod blokları eşdeğer IL kodu verir. Ondan dolayı da, "VB.NET şunda 3 satır fazla yazmak zorunda kalıyor" gereksiz argüman oluyor. Zaten VB.NET intellisense'i o satırları senin için yazıyor, vakit bile kaybetmiyorsun.

.NET Core 2'den itibaren VB.NET destekleniyor üstadım. Başta senden okuyunca şaşırdım, araştırdım. Doğru, .NET Core 1'de desteklenmemiş. Artık ASP.NET Core'u vb.net ile de yazabilirsin. Adamlar zaten sadece zaman bulamamışlardı ama 2016'da roadmap yayınlayıp "en kısa sürede" demişlerdi. :D tıklayın...

Üstad VB.NET ile C# syntax'ı birbirinden uzaktır ama windows programcısı isen, zorunlu ikisini de bileceksin. VBA var ne de olsa, bize eşşek gibi Visual Basic eşdeğeri eninde sonunda yazdırıyorlar.

Haa son kısım sonuna kadar doğru.. Bir programcı gelip bana "VB.NET" biliyorum derse, onu ciddiye almam. VB.NET ile C# ile yapabildiğiniz her şeyi yapabilirsiniz ama... yine de ciddiye almam. Ciddi işyerleri de ciddiye almazlar. O da yazılım kültürünün sonucu, o bir kere "basic" dil olmuş, "basit" dil olmuş, Microsoft poposunu yırtsa o yaftadan kurtaramaz VB.NET'i...
 
Son düzenleme:

zztri

Yaşayan Forum Efsanesi
9 Tem 2015
10,053
389
Ankara
Arkadaş haklı. Türkiye'de kurumsal anlamda kariyer yapmak istiyorsan sana önerebileceğim 2 temel dil var : C#, Java.

C# tarafında, asp.net mvc, web api, entity framework

Java tarafında ise Spring Framework, jpa/hibernate

Bu ikisi kurumsal sektörün defacto standartıdır.

Startup/kurumsal aşamasında ise nodejs çok iyi imkanlar sağlıyor.

Aslında şöyle bir durum var, "her dil ile iş bulabilirsin". Bu bir gerçek. Fakat kimisinin imkanları daha iyi olur, kimisinin daha kötü. Kimisi ile iş bulmak daha kolay olur kimisi ile daha zor.

Örneğin Java ve C# uzun yıllar sana iyi ekmekler yedirir. Php sana düşük statülü, kötü projelerde kod yazma imkanı sunar, hele ki Türkiye de php ile kariyer yapmak oldukça zor. Zaten kaliteli kod yazan adam sayısı sınırlı, birde php ile birleşince ortaya felaketler çıkıyor. Gerçekten iyi olan yer sayısı ise çok az.

Örneğin java ve c# ile kurumsal anlamda iyi bir kariyer oluşturabilirsin. Birçok iş ilanı mevcut bu iki dil ve teknolojileri üzerine.

Fakat python için iş ilanı sayısı ve alanı çok daha dar. Ama yok değil. Benim bir önceki çalıştığım startup python ile çalışıyordu, bir arkadaşım hala orada çalışıyor.

Nodejs tarafında İstanbul'da birçok şirket çok iyi maaşlar veriyor. Bir arkadaşım nodejs üzerine çalışıyor.

Başka bir arkadaşım Ios Developer olarak iyi bir ücrete çalışıyor.

Yani farklı farklı dil ve teknolojiler üzerine iş bulmak mümkün. Fakat şartlar değişkenlik gösteriyor.

İşe girmeden önce görüştüğüm 3-4 farklı yer vardı, birisi php birisi java biri .net üzerine çalışıyordu. Ben şartlarını beğendiğim için .net üzerine işe girdim (bu şartlar sadece maaş değil, kariyer olarak uzun vadede daha iyi imkanlar gibi gibi..).



O nodejs denen gerizekalı sistemi [küfür]... Nefret ediyorum, zorunlu kullanıyorum çünkü GIS için her türlü script sistemi nodejs üstüne kurulmuş. Ama tamamen haklısın üstadım, sadece nodejs'e küfretmek için yorum yazdım.
 

siberdrone15

Kıdemli Üye
20 Ağu 2016
4,446
3
Arkadaş haklı. Türkiye'de kurumsal anlamda kariyer yapmak istiyorsan sana önerebileceğim 2 temel dil var : C#, Java.

C# tarafında, asp.net mvc, web api, entity framework

Java tarafında ise Spring Framework, jpa/hibernate

Bu ikisi kurumsal sektörün defacto standartıdır.

Startup/kurumsal aşamasında ise nodejs çok iyi imkanlar sağlıyor.

Aslında şöyle bir durum var, "her dil ile iş bulabilirsin". Bu bir gerçek. Fakat kimisinin imkanları daha iyi olur, kimisinin daha kötü. Kimisi ile iş bulmak daha kolay olur kimisi ile daha zor.

Örneğin Java ve C# uzun yıllar sana iyi ekmekler yedirir. Php sana düşük statülü, kötü projelerde kod yazma imkanı sunar, hele ki Türkiye de php ile kariyer yapmak oldukça zor. Zaten kaliteli kod yazan adam sayısı sınırlı, birde php ile birleşince ortaya felaketler çıkıyor. Gerçekten iyi olan yer sayısı ise çok az.

Örneğin java ve c# ile kurumsal anlamda iyi bir kariyer oluşturabilirsin. Birçok iş ilanı mevcut bu iki dil ve teknolojileri üzerine.

Fakat python için iş ilanı sayısı ve alanı çok daha dar. Ama yok değil. Benim bir önceki çalıştığım startup python ile çalışıyordu, bir arkadaşım hala orada çalışıyor.

Nodejs tarafında İstanbul'da birçok şirket çok iyi maaşlar veriyor. Bir arkadaşım nodejs üzerine çalışıyor.

Başka bir arkadaşım Ios Developer olarak iyi bir ücrete çalışıyor.

Yani farklı farklı dil ve teknolojiler üzerine iş bulmak mümkün. Fakat şartlar değişkenlik gösteriyor.

İşe girmeden önce görüştüğüm 3-4 farklı yer vardı, birisi php birisi java biri .net üzerine çalışıyordu. Ben şartlarını beğendiğim için .net üzerine işe girdim (bu şartlar sadece maaş değil, kariyer olarak uzun vadede daha iyi imkanlar gibi gibi..).



Hocam zaten C# diline başlamıştım bir de ek olarak

Wordpress tema ve script yazmak için neler bilmem gerek sırası ile?
 

zztri

Yaşayan Forum Efsanesi
9 Tem 2015
10,053
389
Ankara
Hocam zaten C# diline başlamıştım bir de ek olarak

Wordpress tema ve script yazmak için neler bilmem gerek sırası ile?

Tema için grafiker gözü ve azıcık CSS yeter de artar bile.. Script yazmak için php bilmek zorundasın ama, C#'ta iyi olduktan sonra 3-4 günde öğrenirsin.

Özet:
Microsoft Bile VB .Net'ten Çekilmiş Durumda, Hiç Öğrenmekle Uğraşmayın.

Çekilmedi, daha çekilmez. Kimsenin sallamadığı bir dil ve başlangıç dili olarak asla tavsiye etmem ama eninde sonunda, teknik olarak geçerli ve desteklenen bir dil.
 
Moderatör tarafında düzenlendi:

ArViX

Uzman üye
28 Şub 2013
1,273
0
cos a=cos bc
ddeaff2a89605d8314e09ac2246cb884f1655a78.jpeg

buda IEEE Spectrum'a göre en çok kullanılan yazılım dilleri, kendi ülkemizle kıyaslayınca başka bir dünyayız sanki :RpS_scared:
 

ihan3t

Kadim Üye
7 Şub 2012
5,018
22
Ehi ehi, kızdıracağım :D

Üstad, öncelikle en son 2016'da roadmap yayınladı .NET takımı, .NET Core 2017 birinci çeyreği için VB.NET desteği son gaz devam ediyordu...

Düzeltme, 2017 Şubat'ta da Language Strategy yayınlamışlar. VB.NET kalıyor, destekleniyor, geliştiriliyor. Tıklayın.

Zaten kalkması saçma olur, VB.NET, C#, F#... üçü de aynı halta, standart IL koduna compile ediliyorlar. Compile etme süreci de çok basit. Boşuna geriye dönülebilirliği kaybetmezler. Elemanlar yield'a eşdeğer new ... from'u ekledikleri anda vb.net'in daha epeyce bir zaman yaşayacağı kesinleşmişti. Yoksa parallel task'lardan önce keserlerdi. Canları çıktı onu implement ederken.

Üstad senin yazdığın kodun 1 satır uzun veya kısa olması, asıl compilation neticesi IL kodunu zerre kadar ırgalamıyor. Eşdeğer C# ve VB.NET kod blokları eşdeğer IL kodu verir. Ondan dolayı da, "VB.NET şunda 3 satır fazla yazmak zorunda kalıyor" gereksiz argüman oluyor. Zaten VB.NET intellisense'i o satırları senin için yazıyor, vakit bile kaybetmiyorsun.

.NET Core 2'den itibaren VB.NET destekleniyor üstadım. Başta senden okuyunca şaşırdım, araştırdım. Doğru, .NET Core 1'de desteklenmemiş. Artık ASP.NET Core'u vb.net ile de yazabilirsin. Adamlar zaten sadece zaman bulamamışlardı ama 2016'da roadmap yayınlayıp "en kısa sürede" demişlerdi. :D tıklayın...

Üstad VB.NET ile C# syntax'ı birbirinden uzaktır ama windows programcısı isen, zorunlu ikisini de bileceksin. VBA var ne de olsa, bize eşşek gibi Visual Basic eşdeğeri eninde sonunda yazdırıyorlar.

Haa son kısım sonuna kadar doğru.. Bir programcı gelip bana "VB.NET" biliyorum derse, onu ciddiye almam. VB.NET ile C# ile yapabildiğiniz her şeyi yapabilirsiniz ama... yine de ciddiye almam. Ciddi işyerleri de ciddiye almazlar. O da yazılım kültürünün sonucu, o bir kere "basic" dil olmuş, "basit" dil olmuş, Microsoft poposunu yırtsa o yaftadan kurtaramaz VB.NET'i...

Üstad doğru yazmışsın, zaten performans ve compile time gibi bir karşılaştırma yapmadım. Verbosity e değindim orada sadece..

Fakat şurada yanlış anlaşıldı sanırım, .net core 2.0 vb.net desteklemiyor demedim, asp.net core tarafı hala vb.net ile yazılmıyor.

-"Is ASP.NET Core 2 going to be supported with VB.NET along with tooling for it?"
+"Not yet. You can use VB for console apps and class libraries."

En son 4 ay önce böyle söylenilmiş..

Resharper gibi toollar, intellisense ler falan oldukça code completion yapıyor fakat bu vb nin verbose olduğunu değiştirmiyor.. Hala kaynak kodu okumaya çalışan birisi gereksiz onlarca satır kod görüyor. Bu beni rahtasız ediyor açıkçası, nedense hiç ısınamadım.

Bu arada, nodejs tarafında ücretler çok fena hocam...
 

zztri

Yaşayan Forum Efsanesi
9 Tem 2015
10,053
389
Ankara
Üstad doğru yazmışsın, zaten performans ve compile time gibi bir karşılaştırma yapmadım. Verbosity e değindim orada sadece..

Fakat şurada yanlış anlaşıldı sanırım, .net core 2.0 vb.net desteklemiyor demedim, asp.net core tarafı hala vb.net ile yazılmıyor.

-"Is ASP.NET Core 2 going to be supported with VB.NET along with tooling for it?"
+"Not yet. You can use VB for console apps and class libraries."

En son 4 ay önce böyle söylenilmiş..

Resharper gibi toollar, intellisense ler falan oldukça code completion yapıyor fakat bu vb nin verbose olduğunu değiştirmiyor.. Hala kaynak kodu okumaya çalışan birisi gereksiz onlarca satır kod görüyor. Bu beni rahtasız ediyor açıkçası, nedense hiç ısınamadım.

Bu arada, nodejs tarafında ücretler çok fena hocam...

Benim maaş iyi.. Devlet projesinde çalışıyorum, CV'ye çok iyi gelecek, aslında mükemmel değil maaş ama 6 ay daha kasacağım. En son 1000 lira da zam yaptılar, neredeyse idare eder hale geldi maaş.

Ama ondan sonra da girmem.. Cidden büyük bir SigInt projesi olacak, cidden senin CV'yi isteyeceğim başlayınca. O zaman çatır çatır gün boyu C yazacağız, kurtuluruz gerizekalı nodejs'ten filan.
 

ihan3t

Kadim Üye
7 Şub 2012
5,018
22
Benim maaş iyi.. Devlet projesinde çalışıyorum, CV'ye çok iyi gelecek, aslında mükemmel değil maaş ama 6 ay daha kasacağım. En son 1000 lira da zam yaptılar, neredeyse idare eder hale geldi maaş.

Ama ondan sonra da girmem.. Cidden büyük bir SigInt projesi olacak, cidden senin CV'yi isteyeceğim başlayınca. O zaman çatır çatır gün boyu C yazacağız, kurtuluruz gerizekalı nodejs'ten filan.

Sizin için normal hocam, onca yıllık sektör tecrübesi... Allah daha iyi etsin.

Bende şuan iyi bir yerdeyim, Türkiye'nin büyük e ticaret şirketlerinden birisi.. Agile manifestoyu takip eden bir kültür var, şirket kültürü ve şartları da iyi.. Daha fazla maaş veren bir yer vardı gitmedim oraya.. Burası kariyer açısından iyi şeyler katar diye.

İlerde birgün sizinle çalışmak isterim hocam, sizden öğreneceğimiz çok şey var..

Yalnız C... Bilemiyorum, hiç sevmiyorum o kadar alt seviyeyi yahu...
 

zztri

Yaşayan Forum Efsanesi
9 Tem 2015
10,053
389
Ankara
Sizin için normal hocam, onca yıllık sektör tecrübesi... Allah daha iyi etsin.

Bende şuan iyi bir yerdeyim, Türkiye'nin büyük e ticaret şirketlerinden birisi.. Agile manifestoyu takip eden bir kültür var, şirket kültürü ve şartları da iyi.. Daha fazla maaş veren bir yer vardı gitmedim oraya.. Burası kariyer açısından iyi şeyler katar diye.

İlerde birgün sizinle çalışmak isterim hocam, sizden öğreneceğimiz çok şey var..

Yalnız C... Bilemiyorum, hiç sevmiyorum o kadar alt seviyeyi yahu...

Ben de frontend'den nefret ediyorum. Patron programa bakıp "burada düğmeler camgöbeği mi olsaydı" deyince kudurasım geliyor. Bak blog açayım dedim, arkaplanda da benim topuz'un lisans sistemini koyacağım, gün boyu tema değiştirip durdum bir türlü beceremedim...
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.