VB.Net vs C # debat [ditutup]


18

Saya sudah berada di tempat kerja di mana, pada awal proyek, pertanyaan "Haruskah kita menggunakan VB.Net atau C #" telah diajukan.

Memang, itu mungkin kurang umum untuk membuat keputusan itu sekarang daripada di hari-hari awal. Net, terutama mengingat tren menuju konvergensi bahasa, tetapi masih bisa menjadi perdebatan sengit.

Jadi, antara VB.Net dan C #, Bahasa apa yang Anda sukai dan mengapa?


2
Hanya untuk melempar kunci pas dalam karya, ada beberapa produk (misalnya desainer WF di VS2010) yang hanya mendukung sintaks VB.Net ...
Damovisa

Di sini, programmer C # dibayar lebih dari programmer VB.NET.
SeanX

Saya menghapus bagian "Abadi" dari judul yang tampaknya benar-benar "tidak konstruktif". Pertanyaan itu sendiri sangat berguna dan kualitas jawaban adalah indikasi yang jauh lebih baik tentang bagaimana konstruktif dari "enam pedoman" yang terkenal itu.
Wizard79

Saya sering bertanya-tanya apakah itu akan berbalik dengan sendirinya jika tren terus ke arah C # membuat orang-orang dengan VB.NET mengalami lebih langka dan mampu mendapatkan premi yang lebih tinggi.
JohnFx

Jawaban:


29

Saya lebih suka C # daripada VB.NET karena

  • lebih mudah untuk menemukan programmer / pekerjaan:

teks alternatif

  • lebih mudah untuk menemukan bantuan:

teks alternatif

(dari stackoverflow)


3
+1 SO dengan cepat mengganti google sebagai sumber bantuan pemrograman pilihan saya.
Jenis Anonim

12
Pertanyaannya adalah apakah tag C # 10x lebih banyak berarti bahwa pokok bahasannya lebih baik, lebih banyak digunakan atau memiliki lebih banyak masalah? +1 pada ketersediaan pekerjaan.
JeffO

12
Saya akan mewaspadai majikan mana pun yang tidak akan mempekerjakan seorang programmer VB.NET untuk melakukan C #.
Matt Olenik

@Anonim: SO menggantikan google pada hari ke 2 (lebih dari setahun yang lalu). FireFox di rumah memiliki SO, MSDN, dan Programmer sebagai 3 situs pencarian utama saya.
IAbstrak

@Abstrak, lol, benar sekali.
Tipe Anonim

27

Saya benci VB.NET. Hari-hari saya masih menghabiskan menggunakannya adalah hari-hari saya menyesal. Yang mengatakan, seleraku adalah bagian dari situasi dan pengalaman saya, dan tidak selalu memiliki relevansi dengan apa yang Anda lakukan ...

Saya pikir ini penting, ketika membandingkan bahasa yang terus berkembang seperti C # dan VB.NET, untuk melihat kembali sejarah mereka dan melihat bagaimana mereka sampai pada keadaan saat ini:

Keunggulan asli BASIC pada mikrokomputer termasuk ukuran dan kesederhanaan (sintaksis kecil, mudah diurai yang dibuat untuk penerjemah kecil yang cukup cepat dan meninggalkan ruang dalam memori untuk program dan data aktual), lingkungan interaktif yang memungkinkan eksperimen, dan sintaksis yang menghindari simbol dan struktur singkat untuk sintaksis yang cukup jelas, seperti bahasa Inggris. Namun itu tidak cocok untuk program besar yang terstruktur, dan cenderung mendorong kode spageti. Namun, ketersediaan dan kesederhanaannya membuatnya menjadi pilihan yang sangat baik untuk pengantar pemrograman.

QuickBasic memperbarui sintaks untuk memungkinkan program yang lebih terstruktur dan menambahkan kompilasi untuk eksekusi yang lebih cepat.

VisualBasic menyediakan pembangun formulir yang kuat dan mudah digunakan untuk memungkinkan pembangunan aplikasi GUI yang cepat, sambil mengadopsi sintaksis QB untuk digunakan dalam pembuatan skrip UI ini. Ini bekerja paling baik ketika digunakan untuk membuat UI untuk logika tingkat rendah yang disediakan sebagai komponen pra-dibangun (biasanya ditulis dalam beberapa bahasa lain). Seiring waktu, sintaks menjadi semakin besar dan tidak konsisten ketika fitur-fitur baru ditempelkan. Fokus pada pembuatan UI pertama dan kemudian mengisi potongan-potongan skrip bekerja dengan baik untuk aplikasi kecil yang berpusat pada UI, tetapi cenderung mendorong program copy-paste dan variasi pada kode spageti sambil mengecilkan penggunaan kembali, struktur data yang kompleks, dan pemisahan kekhawatiran. Dalam benak banyak orang, "kode VB" menjadi identik dengan "bola besar lumpur"; "Pemrogram VB" dengan "hack yang tidak berpengalaman".

VB.NET adalah bahasa seperti VB pada platform .NET, upaya (tidak sepenuhnya berhasil) untuk membersihkan dan memodernisasi sintaks VB yang terlalu besar. Itu tidak sepenuhnya kompatibel dengan kode VB yang ada, dan tidak berusaha untuk memberikan kompatibilitas dengan bentuk VB (bisa dibilang bagian paling penting dari VB) apa pun. Ini membuat banyak pemilik produk VB dengan pilihan yang tidak menyenangkan untuk secara efektif menulis ulang aplikasi mereka di VB.NET (berurusan dengan ketidakcocokan yang halus dalam setiap rutin yang tidak diperiksa dengan teliti) atau benar - benar menulis ulang aplikasi mereka dalam C # (berurusan dengan yang tidak dikenal sintaksis di sampingperpustakaan runtime baru dan desainer formulir). Sebagian besar pengguna VB.NET adalah pengguna VB yang terjebak dengannya untuk sintaks saja, banyak yang menggunakannya sebagai penopang saat mempelajari C #. Akibatnya, itu segera mengambil reputasi sebagai surga bagi programmer yang telah terjebak dalam cara mereka, tidak mau atau tidak dapat memperluas atau meningkatkan keterampilan mereka.

Pada titik ini, VB.NET terus berevolusi, secara perlahan melepaskan bagasi sambil mengambil sintaks baru dan menarik (LINQ, XML literals). Meski demikian, hampir tidak ada keuntungan asli dari BASIC: ini adalah bahasa yang besar dan kompleks dengan kurva belajar yang cukup curam dan kesempatan terbatas untuk eksperimen interaktif.

  • Untuk programmer lama yang telah menggunakannya selama lebih dari 30 tahun terakhir, itu bukan pilihan yang buruk, asalkan mereka tidak membatasi diri untuk itu.
  • Untuk programmer baru, kemiripan yang semakin kabur dari program VB ke bahasa Inggris tidak sebanding dengan anggukan aneh untuk kompatibilitas ke belakang dan stigma sosial.
  • Untuk proyek - proyek baru , VB.NET adalah pilihan aneh kecuali jika proyek tersebut sangat terlibat dengan salah satu dari beberapa tugas yang dioptimalkan untuk bahasa: integrasi dengan komponen COM yang tidak diketik dengan baik (Office ...) (meskipun C # 4.0 mengurangi keuntungan ini secara signifikan. ), atau inline XML generation.

4
Dengan C # 4 saya tidak melihat keuntungan apa pun yang VB.Net masih miliki berkaitan dengan integrasi COM. Saya pikir generasi XML inline bisa menjadi fitur yang berguna; Saya mencoba untuk tidak menggunakan XML (dan telah berhasil selama 5 tahun terakhir!), Tetapi jika saya memiliki proyek .net yang perlu menghasilkan banyak XML saya mungkin akan membuat proyek VB hanya untuk generasi XML.
konfigurator

3
Saya menikmati membaca jawaban Anda tetapi sepertinya berhenti tiba-tiba. Anda memberikan sejarah dasar yang menarik dan saya anggap benar. Saya berharap untuk mengetahui mengapa Anda tidak suka VB.NET dan / atau mengapa Anda suka C #. "Untuk proyek baru, VB.NET adalah pilihan yang aneh" Kenapa?
Tim Murphy

@Tim: Saya tidak suka VB [.NET] karena sebagian besar kode yang saya temui adalah kode spaghetti yang tidak diketik yang ditulis oleh programmer yang mengambilnya pada pekerjaan bertahun-tahun yang lalu (atau diajarkan oleh coders semacam itu). Itu belum tentu alasan yang baik bagi orang lain untuk tidak menyukainya. Alasan yang lebih baik adalah karena bahasa tersebut telah membuat terlalu banyak konsesi untuk kompatibilitas ke belakang ... namun sebenarnya tidak kompatibel ke belakang. Jadi, kecuali Anda mencari untuk menulis kode spaghetti baru yang belum diketik ...
Shog9

20

Saya akrab dengan keduanya, tetapi melakukan banyak pekerjaan pemrograman awal saya di VB4, VB5, dan VB6. Sekarang kedua bahasa di .NET telah melalui beberapa iterasi dan bertemu sedikit dalam kemampuan mereka. Saya pikir perdebatannya benar-benar konyol, mirip dengan "apa warna kesukaanmu."

Secara pribadi, saya suka keduanya karena alasan yang berbeda.

VB.NET
Banyak orang berbicara tentang bagaimana sintaks C # lebih intuitif, tetapi itu sangat subjektif dan didasarkan pada apa yang Anda ketahui. Saya berpendapat bahwa jika Anda sepenuhnya sintaks VB.NET mungkin lebih intuitif jika Anda tidak menganggap pengetahuan sebelumnya dalam bahasa lain. Misalnya, diberikan program yang sama dalam C # dan VB.NET yang menurut Anda akan lebih mudah dipahami oleh seseorang yang tidak memiliki pengetahuan pemrograman. Tampak jelas bagi saya.

Hal lain yang baik tentang sintaks ini, adalah yang jauh lebih eksplisit tentang struktur penutupan (END IF, END WHILE, NEXT X) dibandingkan dengan model bracketing. Itu membuat kode sedikit lebih mudah dibaca dan sering memungkinkan kompilator menjadi lebih tepat pada nomor baris apa yang menyebabkan kesalahan kompilasi. Jika Anda pernah pergi mencari braket / semi-colon hilang karena kesalahan kompiler 50 baris dari masalah Anda tahu apa yang saya maksud.

Juga, di kolom menang VB.NET menurut saya adalah kurangnya == / = sebagai operator perbandingan / penugasan. Manfaat langka dari memiliki operator yang berbeda untuk masing-masing adalah tidak akan pernah mengimbangi semua (kadang-kadang) sulit untuk menemukan kelemahan yang membantu menciptakan.

Akhirnya, saya benci sensitivitas huruf dalam bahasa pemrograman. Salah satu keluhan tentang VB adalah bahwa ia memiliki begitu banyak bagasi, tetapi C # meneruskan albatros sensitivitas case C. Saya tidak pernah berada dalam situasi di mana saya ingin dua pengidentifikasi dalam lingkup yang sama hanya berbeda berdasarkan kasus. Itu hanya untuk pekerjaan yang sibuk dan memperlambat saya. VB.NET mendapatkan beberapa poin lebih dari C # dalam hal ini bagi saya.

C #
Programmer suka ringkas, itulah sebabnya saya pikir mereka umumnya menyukai sintaks ini. Itu hanya memiliki daya tarik estetika tertentu. Namun, dari sudut pandang yang sepenuhnya praktis, saya menyukainya karena sangat mirip dengan bahasa seperti Java, JavaScript, dan C ++.

Karena saya melakukan banyak pengembangan web yang membutuhkan pemrograman sisi server dan klien, saya merasa lebih mudah untuk beralih secara mental antara C # dan JavaScript seperti yang sering harus saya lakukan.

Saya juga menyukai kenyataan bahwa, sebagian besar, bahwa jika saya harus beralih ke pemrograman Java atau C ++, saya akan memiliki sedikit permulaan jika saya menggunakan C # sebagian besar waktu.


3
+1 untuk komentar pengembangan web. Saya menggunakan VB.NET dan C #, tergantung pada proyeknya, dan merasa lebih mudah untuk bolak-balik antara C # dan Javascript daripada VB.NET dan JS.
Paperjam

2
"Aku belum pernah dalam situasi di mana aku ingin dua pengidentifikasi dalam lingkup yang sama hanya berbeda berdasarkan kasus." adalah subyektif murni. Inilah salah satu alasan mengapa saya lebih suka C #. Ketika diterapkan dengan benar dan konsekuen, mungkin masuk akal bagi dunia untuk memiliki misalnya parameter dalam konstruktor dengan nama namedan properti publik dengan nama Namedan kemudian menugaskannya Name = name;. Selama Anda memiliki standar pengkodean, kalau tidak saya setuju, maka itu dapat menyebabkan kebingungan.
Aidiakapi

1
Membutuhkan standar pengkodean untuk menghindari bug berbahaya seperti itu, bagi saya, adalah negatif. Kehadiran solusi tidak memaafkannya.
JohnFx

Seharusnya sulit untuk menulis kode ceroboh dalam bahasa pemrograman apa pun. Ketidakpekaan case hanya mendorong kode ceroboh. Sensitivitas kasus tidak memperlambat Anda sama sekali, argumen macam apa ini? Ini memperlambat Anda ketika Anda membuat banyak kesalahan ketik dan kemudian itu hal yang baik Anda diperlambat.
Falcon

Ini hanya kode ceroboh karena kompiler tidak dapat menafsirkannya. Jika semua kompiler tidak peka huruf besar kecil, tidak masalah. Tugas kita bukan menulis kode untuk dicetak di majalah, tapi menulis kode yang melakukan pekerjaan. Kasing "ceroboh" tidak menghambat itu sedikit pun.
JohnFx

19

Saya lebih suka sintaks braket bahasa gaya C ke lebih banyak "verbose" sintaks bahasa gaya BASIC.

Pengantar saya tentang pemrograman adalah dengan Turbo Pascal. (Sedikit pemrograman BASIC yang saya lakukan pada Commodore 64, sebagai seorang anak, tidak terlalu diperhitungkan.) Setelah mempelajari Java, saya tidak pernah melihat ke belakang dan lebih menyukai sintaks gaya-C.


4
"" verbose "sintaks bahasa gaya BASIC." - Ya, saya tidak pernah melihat VB lagi ketika saya melihatif something then code endif
TheLQ

1
Heh, saya terkejut bahwa ada seseorang yang menurunkan nilai ini. (Saya berharap itu menjadi pertanyaan Emacs vs Vim.)
George Marian

3
@TheLQ: dan juga AndAlso!
Gerry

Saya merindukan hari-hari Turbo Pascal saya. Itu sangat menyenangkan.
MetalMikester

1
Saya menemukan sintaks braket lebih mudah dibaca. Satu simbol generik untuk satu blok daripada beberapa kata spesifik konteks.
Michael K

12

Secara fungsional mereka sama, tidak ada yang dapat Anda lakukan di satu yang tidak dapat Anda lakukan di yang lain, dan untuk masa depan Microsoft telah berjanji bahwa tim bahasa akan mengembangkan keduanya secara merata sehingga ini adalah persamaan yang tidak mungkin berubah.

Perbedaannya sekarang murni budaya dan pribadi. Artikel ini adalah bacaan yang menarik tentang perbedaan antara budaya pemrogram menggunakan C # dan VB.net

[Catatan: Meskipun saya sendiri seorang C # dev, kesimpulan artikel yang ditautkan tidak mencerminkan pendapat pribadi saya, itu hanya pendekatan alternatif yang menarik dalam debat]


8
Itu tidak sepenuhnya benar: misalnya, VB.NET tidak memiliki iterator, yang merupakan besar C # fitur.
Thomas Levesque

2
C # tidak memiliki literal XML VB.NET: blogs.msdn.com/b/wriju/archive/2008/02/07/… (walaupun saya bukan penggemar fitur untuk alasan arsitektur, ini SANGAT keren)
Steven Striga

@ Thomas @ WeekendWarrior: Contoh yang bagus, tetapi hanya untuk menunjukkan, saya berkata "Secara fungsional sama", yaitu mereka. Keduanya dikompilasi ke IL, sehingga serangkaian fungsi yang sama dapat dicapai. Contoh-contoh ini hanyalah pintasan bahasa untuk fungsi yang dapat dicapai dengan cara lain.
Simon P Stevens

8

Saya datang ke .NET dari C dan C ++ (dengan sedikit Java, Ada dan Pascal dilemparkan ke dalam) jadi C # adalah perkembangan alami bagi saya.

Jika suatu pekerjaan datang yang diperlukan VB.NET saya pasti tidak akan menolaknya.


6

Saya telah melakukan banyak pekerjaan dengan VB.NET, tetapi saya cukup mengerti C # untuk mendapatkan intisari dari apa yang terjadi dalam kode. Preferensi saya saat ini adalah VB.NET karena saya paling akrab dengannya (jelas), tetapi saya tidak benar-benar memiliki preferensi antara sintaks BASIC verbose dan sintaks C-style, keduanya sangat mudah dibaca dan dimengerti oleh saya.

Sebagian besar latar belakang pemrograman rekan kerja saya adalah COBOL dan VB6, jadi VB.NET adalah pilihan bahasa .NET yang lebih nyaman bagi kami sebagai sebuah tim. Tidak ada alasan kuat bagi kami yang menjadikan pembelajaran C # sebagai persyaratan karena secara fungsional mereka sama.

Yang mengatakan, belajar C # pasti di daftar hal yang harus dilakukan.


2
Saya dalam masalah yang sama. :) dan saya lebih suka VB.NET dengan cara yang sama saya lebih suka coke bukan pepsi. Tetapi, jika kita akan memulai proyek baru, C # adalah pilihan terbaik karena kita akan menemukan lebih banyak programmer yang tahu dan lebih suka C #. Saya mengerti bahwa strategi MS untuk VB adalah untuk membawa komunitas VB ke .NET plataform.
Pagotti

5

Saya lebih suka C #.

Saya mulai sebagai programmer VB.NET tetapi dengan berlalunya waktu menjadi jelas bahwa cukup banyak fitur baru yang pertama datang ke C # dan kemudian ke VB.NET (misalnya properti otomatis). Dan komunitas di sekitar C # jauh lebih hidup daripada VB.NETs satu.

Selain itu, jika Anda bermaksud mempelajari Java atau bahasa serupa, C # adalah titik awal yang lebih baik - sintaksisnya hampir sama di semua bahasa yang diturunkan-C. Meskipun ini tidak akan menjadi titik kritis bagi saya karena sintaks adalah sesuatu yang dapat Anda pelajari dengan cepat.


3
"fitur datang ke C # pertama" Namun, tidak selalu seperti itu. Lihat stackoverflow.com/questions/181188/… (Hanya untuk melemparkan kunci pas lain dalam karya)
Catatan untuk diri sendiri - pikirkan nama

Di sinilah aku berada. Saya masih menyukai VB, karena ini adalah tempat saya memulai, tetapi menurut saya C # memiliki sintaks yang lebih baik dalam hal-hal seperti ekspresi lambda. Di sisi lain, VB memiliki XML Literals, yang hanya bisa diimpikan oleh C #. Saya pikir ada baiknya memutuskan proyek VB terpisah untuk pekerjaan XML berat.
Kyralessa

1
Dengan setiap generasi alat, argumen "fitur" sedikit bergeser. Satu-satunya hal yang dapat saya pikirkan tentang C # pada vs2010 yang kurang dimiliki vb.net adalah iterators; sebaliknya, vb.net menawarkan nama pengindeks, filter pengecualian, XML literals, operator "Is" yang 1000x lebih cantik daripada Object.ReferenceEquals, penanganan acara yang hampir dilakukan dengan benar, dan pengalaman IDE yang lebih halus. VB.net memungkinkan, meskipun sedikit canggung, untuk menginisialisasi bidang menggunakan parameter konstruktor atau membuat IDisposableobjek dengan aman tanpa harus menggunakan ThreadStaticvariabel; C # tidak.
supercat

5

Selain jawaban lain yang diposting di sini, saya akan memilih C # lebih dari VB karena programmer C # dibayar lebih banyak. Lebih banyak pengalaman dengan C # = lebih banyak $$ :)

Saya tahu kedua bahasa hampir sama dan sangat mudah untuk beralih di antara keduanya, tetapi saya pikir ketika manajemen melihat sekelompok kurung kurawal dan semi-titik dua mereka menerima kenyataan bahwa kami melakukan sesuatu yang tidak dapat mereka lakukan, di mana dengan VB. Net mereka mungkin melihatnya dan pergi "oh itu pasti tidak sulit untuk dilakukan jika saya bisa memahaminya".


1
Saya pikir poin yang agak valid yang sering diabaikan tergantung pada industri / wilayah.
Tipe Anonim

4

C # karena saya bisa beralih di antara itu dan Jawa dengan upaya minimal

VB.NET adalah sintaks yang sama sekali berbeda. C #, menjadi mirip dengan bahasa Jawa dan lainnya memberi saya posisi yang lebih baik untuk cepat beradaptasi dengan hal-hal baru. Karena output dari C # dan VB.NET secara virtual dapat dipertukarkan, masuk akal untuk menggunakan C #. Selain itu, jika kode perusahaan Anda dalam C #, Anda lebih cenderung dapat melatih pengembang Java cara mengkodekan C # daripada VB pengembang Java. Hanya ada keuntungan halus, tetapi tetap halus keuntungan.


3

Mengesampingkan preferensi pribadi saya. Sebagai seseorang yang telah merekrut (dan berusaha untuk direkrut) akhir-akhir ini, ketika kami berdebat di kantor, konsensus umum adalah bahwa kami harus beralih ke C # dari VB.

Mengapa? Karena C # lebih lazim di pasar (sekitar kita), memungkinkan kita untuk merekrut lebih mudah, dan direkrut lebih mudah.

Sepertinya sudah menjadi lingkaran penuh; orang belajar C # karena perekrut menginginkannya, karena ada lebih banyak kandidat.


3

Menjadi seorang dev yang agak lebih tua (apakah 59 "agak" lebih tua?), Saya belajar BASIC pertama kali pada Commodore VIC-20, belajar sendiri Turbo Pascal (v1!), Melanjutkan belajar COBOL di perguruan tinggi, dan menghabiskan 14 tahun mengembangkan IBM mainframe, dengan pengalihan singkat menulis aplikasi berukuran sedang di Revelation BASIC (varian PICK BASIC) dan beberapa utilitas di Modula-2, sebelum beralih ke VB5 dan VB6. Dan kemudian muncul .NET.

Karena latar belakang dasar saya, saya pikir saya harus mulai dengan VB.NET, hanya untuk menemukan bahwa saya terus berusaha melakukan hal-hal dengan cara "lama" dan itu membuat saya gila (oke, lebih banyak kacang). Karena saya telah melakukan beberapa pekerjaan di C, saya pikir saya akan memberikan C # pusaran untuk melihat bagaimana hasilnya. Dan OMG, itu seperti muncul dari terowongan gelap ke siang hari yang cerah! Benar-benar tak terduga. Dan saya biasa membuat suara meremehkan tentang C menjadi "hanya-menulis" bahasa - "sangat sulit untuk memahami bahwa seorang programmer C tidak bisa mengetahui apa yang kode sendiri lakukan 6 bulan setelah dia menulisnya", sebuah pengamatan yang dilakukan oleh novelis setengah terkenal yang menurut saya terdengar lucu saat itu.

Jadi, karena menjadi sedikit tidak terbiasa dengan C, C # secara paradoks lebih mudah bagi saya untuk belajar pemrograman. NET daripada paradigma dasar yang jauh lebih akrab. Saya masih suka VB6, tetapi saya suka C #. Bahasa pemrograman terbaik di planet ini.


1
Jawaban yang menarik, saya pikir ini setidaknya sebagian menolak gagasan bahwa "kerumunan yang lebih tua" cenderung tetap berpegang pada VB.NET lebih dari C #
Jenis Anonim

3

Saya mengembangkan Visual Basic .Net sejak tahun 2001 dan saya menyukainya dan saya benci !!!

Urutan presentasi poin-poin ini hanya didasarkan pada urutan di mana dia datang ke pikiran saya ...

Di vb.net dengan visual studio, ada jeda garis visual antara setiap metode, properti. Bagi banyak orang, itu bukan alasan yang baik untuk memilih vb.net daripada c # tapi saya tidak mengerti mengapa tim c # di Microsoft tidak menerapkannya. Ada add-in yang menarik garis ini di c # tetapi thanx lagi Microsoft untuk memiliki tim ac dan tim visual basic yang tidak berbicara satu sama lain.

Di vb.net, saat Anda membuat winform, Anda memiliki dua kotak kombo di studio visual di bagian atas editor dan Anda dapat membuat acara secara otomatis ketika memilih acara di kotak kombo yang tepat. Saat Anda melampirkan puluhan acara setiap hari, akan sangat merepotkan jika tidak memiliki fitur ini. Dengan c #, Anda memiliki tombol kecil di bagian atas kotak properti yang dapat menghasilkan acara tetapi tidak secepat di vb.net. Lebih lagi, jika Anda melampirkan peristiwa kontrol di c # dan menghapus kontrol pada formulir, delegasi yang dibuat pada kode yang dibuat secara otomatis untuk menangani acara harus dihapus secara manual. Sekali lagi terima kasih Microsoft.

Di vb.net, ketika Anda mencoba mengubah metode yang berisi kueri linq tanpa mengubah kueri itu sendiri, tidak ada masalah tetapi di c #, semua kode metode dikunci. Jika Anda memiliki banyak pertanyaan LINQ atau ekspresi lambda, fitur edit dan lanjutkan dengan cepat akan menjadi hal yang baik. Ok, sedikit berlebihan ... tapi :)

Di vb.net, ketika Anda membuat nama metode dan mengetuk enter, 'end sub' akan dibuat secara otomatis. Dalam c #, lakukan sendiri. Ok, jika Anda memiliki resharper atau devexpress diinstal, itu akan lebih baik tetapi mengapa semua fitur kecil tapi hebat ini tidak diimplementasikan di c #.

Di vb.net, ketika Anda memiliki kesalahan pada kode Anda, kesalahan ditampilkan secara otomatis dan ketika Anda memperbaikinya, kesalahan ini dihapus dari tumpukan secara real time. Dalam c #, Anda harus membangun proyek Anda untuk menyadari bahwa Anda telah berhasil memperbaiki atau tidak kesalahan yang ditentukan. Mengapa tim c # tidak memberikan opsi untuk memverifikasi kesalahan waktu nyata seperti di vb.net. Dengan solusi besar, tidak ada verifikasi kesalahan waktu nyata bisa menjadi optimasi kinerja yang sangat bagus tapi saya suka melihat setumpuk kesalahan menghilang sementara saya memperbaikinya.

Seperti orang lain sebutkan, saya pikir itu lebih mudah untuk membaca kondisi vb.net jika..mengakhiri, pilih case ... end pilih tetapi dengan bracket lukisan devexpress, lupakan apa yang saya katakan.

Dengan vb.net, ada banyak bug di visual studio. Untuk menyebutkan satu di visual studio 2010, intellisens tidak memfilter enumerasi dengan benar jika Anda memiliki mode "umum" diaktifkan, bukan "semua".

Dengan vb.net, Anda dianggap sebagai orang bodoh karena secara statis, programmer yang lebih buruk menggunakan vb.net daripada c # karena c # lebih sulit untuk belajar dan mempromosikan praktik pemrograman yang lebih baik.

Seperti kata lain, programmer c # memiliki kesempatan lebih baik untuk memiliki pekerjaan yang baik dengan lebih banyak uang.

Di kepala pelanggan, vb.net = orang yang memprogram di ruang bawah tanahnya dengan segelas spageti kode. c # = wow, kamu sangat cerdas. Faktanya adalah bahwa itu bukan karena Anda memprogram dalam c #, bahwa Anda membuat program yang bagus tetapi secara statis, ya.

Dengan semua poin ini, saya memilih untuk mengonversi semua kode vb saya di c #. Saya memprogram dengan semua praktik terbaik berorientasi objek, pola desain, kode bersih dengan standar dan sintaksis yang ketat dan saya dapat memprogram seperti itu selama 50 tahun tetapi dari mata masyarakat, saya bukan programmer yang baik. Saya akan mengonversi kode saya di c # tanpa praktik terbaik lainnya dan saya akan menjadi orang lain; pria hebat yang harus kamu hormati ..... :( lelucon apa ... !!! tapi itulah kenyataannya.


2

Berikut cara untuk melihatnya: Antara SO dan CodePlex, bahasa mana yang lebih populer? C # atau VB.Net?

Terkadang, mengikuti kawanan adalah hal yang baik karena kawanan itulah yang akan dapat membantu Anda saat Anda membutuhkannya. Secara default, C # akan lebih cepat dari Vb.Net. Saya percaya menggunakan Opsi Ketat mungkin menyamakannya. Terakhir kali saya membandingkan IL di antara keduanya, jenis keamanan VB.Net akhirnya menambahkan sekitar 15% lebih banyak untuk IL. Ini berarti overhead tambahan. DAN ... mengingat bahasa yang pada dasarnya melakukan hal yang sama, saya akan mengambil yang lebih cepat. Kenyamanan saya seharusnya tidak mengesampingkan pengalaman pengguna saya secara umum.


2

Saya suka mengatakan bahwa satu-satunya alasan BASIC masih populer adalah bahwa itu adalah produk pertama Microsoft, dan mereka telah mendorongnya ke tenggorokan kami selama 35 tahun terakhir. Seharusnya sudah lama meninggal.

Dengan mengatakan itu, saya telah bekerja pada dua proyek .NET yang cukup besar dan keduanya dilakukan dengan VB.Net - meskipun ada sedikit C # karena terjemahannya tidak benar, atau konstruksinya tidak ada di VB.Net. Satu-satunya keuntungan yang saya lihat dengan VB.Net adalah bahwa editor Visual Studio jauh lebih ramah untuk itu (dalam pengalaman saya pula) daripada dengan C # - Intellisense tampaknya lebih baik, dan begitu juga autoformatting (perhatikan bahwa karena saya belum pernah menggunakan C # sebanyak, saya mungkin hanya kehilangan sesuatu dalam konfigurasi IDE ...)

Kerugian utama dalam VB.Net adalah bahwa mereka membawa banyak omong kosong era VB6 kembali. NET 1.x untuk memudahkan konversi kode VB6. Hal-hal itu masih ada di sana, dan coders VB6 mengkodekan kode baru menggunakan ... "ekstensi" daripada menggunakan kelas .NET / metode / yang lebih netral. Saya tidak tahu berapa kali saya bertanya kepada bos saya mengapa dia masih menggunakan omong kosong itu. "Tapi ... itu berhasil ..." Benar. Hei, aku suka menggerutu.

Saat mencari bantuan di web, saya menemukan sebagian besar solusi ada di C # - lihat forum MSDN, berbagai blog, dll ... Buku memiliki kecenderungan untuk fokus pada C #, dan jika ada versi VB, itu biasanya datang berbulan-bulan kemudian (mis. Pro LINQ .... dari Apress.)

Banyak bahasa berbagi nenek moyang C, yang membuat peralihan antara C, C ++, C #, Java, PHP dan beberapa lainnya lebih mudah. PHP adalah sedikit peregangan di sini, tetapi memang memiliki banyak konstruksi C-like. VB? Ya, itu hal kecilnya sendiri dan hanya itu.

Seorang pemimpin proyek di organisasi saya baru-baru ini mengatakan kepada saya bahwa semakin banyak proyek baru sedang dikembangkan menggunakan C # daripada VB - AKHIRNYA. Ketika .NET diperkenalkan di organisasi kami, mereka lebih-atau-kurang-resmi pergi dengan VB.Net karena semua pengkodean VB6 yang sudah terjadi. Kekuatan yang kemudian mengakui padaku bahwa itu bukan langkah terbaik mereka.

Seperti yang ditunjukkan orang lain di atas, saya tidak akan mengatakan tidak kepada proyek VB.Net, tetapi saya masih berharap bahwa proyek itu akan perlahan-lahan dihapuskan dari pengembangan yang lebih baru di tempat kerja saya.


1

Nah, hari ini tidak ada alasan kuat untuk menggunakan VB.net. Pada awalnya itu hanya cara untuk memberikan programmer VB sintaks yang sudah dikenal, tetapi pada dasarnya adalah pemetaan ulang seperti C # pada BASIC. Jadi satu-satunya keuntungan nyata adalah sintaks yang lebih akrab, dan sintaks BASIC-nya juga merupakan batas yang sebenarnya.

Seiring berjalannya waktu, kedua bahasa berevolusi, satu-satunya perbedaan yang signifikan adalah my ruang nama semu.

Saya menyarankan setiap programmer .net yang tidak terbiasa dengan C # untuk mempelajarinya, karena komunitasnya cukup besar dan sintaksis mirip-C adalah umum untuk sebagian besar bahasa yang lebih banyak digunakan.


Pertimbangan penting lain mengapa VB.NET ada adalah karena dibuat untuk jalur peningkatan yang lebih mudah untuk proyek-proyek yang ada dalam ASP "Klasik" / VBScript atau VB6. Itu jauh lebih sedikit pekerjaan untuk port aplikasi besar yang ada.
JohnFx

1

VB bahasa lebih mudah dibaca untuk pemula, mereka cenderung menulis aplikasi pertama, kedua dan ketiga di dalamnya dan kita semua tahu seperti apa aplikasi pertama kita dikodekan seperti - sangat.

Pemrogram dari C ++, Java dan lain-lain telah pindah ke C # sementara pengembang VB.NET berasal dari latar belakang VBA, VB dan BASIC, pemrogram penting non-tradisional.


1

Tampaknya ada lebih banyak sampel kode C # online daripada sampel VB.NET. Tidak seperti itu yang sulit untuk mengkonversi satu ke yang lain, tetapi mengapa repot-repot jika Anda tidak perlu.


1

Saya lebih suka VB .Net daripada C #,

  • (97) ...
  • (98) karena saya belajar VB sebelum saya tahu tentang C #.
  • (99) karena saya sudah membeli buku tebal 10.000 halaman di VB .Net.
  • (100) karena VB tidak memiliki kawat gigi.
  • (101) karena semua orang membenci VB.

0

C #. Itu hanya karena saya telah melakukan C dan Java, jadi saya merasa bahwa C # lebih mudah dibaca oleh saya. C # untuk saya, karena VB.NET untuk mantan programmer VB.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.