Baru-baru ini saya bergabung dengan tim pengembangan baru di mana preferensi bahasa dicampur pada platform .net.
Dev 1: Tahu VB.net, tidak tahu c #
Dev 2: Tahu VB.net, tidak tahu c #
Dev 3: Tahu c # dan VB.net, lebih suka c #
Dev 4: Tahu c # dan VB6 (VB.net seharusnya cukup mudah diambil), lebih suka c #
Tampaknya bagi saya bahwa para pemimpin pemikiran dalam ruang .net hampir secara universal. Saya juga berpikir bahwa beberapa alat pihak ke-3 tidak mendukung VB.net tetapi ketika saya mulai mencari ke dalamnya saya tidak menemukan contoh yang bagus.
Saya lebih suka untuk mendapatkan seluruh tim di c # tetapi jika tidak ada alasan yang baik untuk memaksa masalah selain dari preferensi maka saya tidak berpikir itu adalah pilihan yang tepat.
Apakah ada alasan saya harus membuat orang menjauh dari VB.net?
Jawaban:
Tidak ada alasan kuat untuk memaksa seseorang mengubah bahasa kecuali ada fitur yang sangat berguna atau menghemat waktu untuk proyek Anda. Keduanya akan dikompilasi ke IL dan berkinerja setara (dengan asumsi yang
Option Strict
ada di VB.NET ... jika tidak, Anda dapat dikenai penalti untuk pengikatan yang terlambat). Segala sesuatu yang lain benar-benar istimewa (tidak menolak sama sekali, tetapi itu bukan metrik objektif).Saya sarankan melihat daftar pekerjaan di daerah Anda dan melihat bahasa mana yang lebih lazim baik dalam pasokan kerja (yaitu kumpulan tenaga kerja untuk kedua bahasa). Melihat mana yang akan memberi Anda kolam tenaga kerja yang lebih besar atau lebih baik mungkin akan menjadi metrik Anda yang paling menarik.
sumber
Untungnya jawabannya sederhana: tidak ada bahasa "terbaik". Semua bahasa .NET menggunakan, pada akarnya, fungsionalitas dari sekumpulan kelas yang disediakan oleh .NET Framework. Oleh karena itu, semua yang dapat Anda lakukan di VB.NET dapat Anda lakukan dalam C #, dan sebaliknya. Satu-satunya perbedaan antar bahasa hanyalah perbedaan sintaksis.
Pemrogram C ++, Java, dan J ++ akan lebih memilih sintaksis non-omong kosong dari C #. Pemrogram Visual Basic (VB) mungkin lebih suka tetap dengan iblis yang mereka kenal — Visual Basic .NET case-insensitive, pseudo-natural language approach. Jika Anda memiliki pemrogram VB dan mereka adalah pemrogram sungguhan (Lihat Option Strict ON) Anda akan mendapatkan hasil yang sama. VB lebih verbose .... C # adalah ball buster dengan sensitivitas case.
sumber
On Error Resume Next
sendiri akan membuat saya berlari menuju C #. TheModule
Konsep juga sangat berbahaya. Ini mirip denganstatic class
di C # tetapi ... semua yang ada di dalamnya dapat diakses secara global tanpa referensi ke kelas induk dan secara otomatis statis tanpa indikasi lain ... kecuali bahwa kelas induk adalah Modul ...!Sejujurnya tim Dev harus menggunakan bahasa yang sama atau paling tidak tahu bahasa yang sama.
Ini akan membantu dalam pelatihan silang dan dukungan di antara berbagai aplikasi yang dihasilkan oleh tim pengembang.
Pada akhirnya, VB vs C # adalah pertarungan preferensi, tetapi tim harus berada pada halaman yang sama dengan yang akan mereka gunakan atau dukung.
sumber
Pengembang harus menggunakan bahasa .NET yang merupakan standar untuk tim. IMO, harus ada satu bahasa yang digunakan (kecuali kasus yang sangat menarik dapat dibuat).
Saya pikir kebanyakan orang di sini lebih suka C # tetapi ini bukan pertanyaan teknis seperti keputusan politik atau bisnis. Tentukan bahasa .NET apa yang akan digunakan dan gunakan. Sekarang jelas ada banyak faktor yang perlu dipertimbangkan:
sumber
Faktanya, VB.NET memiliki beberapa fitur yang tidak dimiliki C # saat ini: XML literal, dan sintaks kueri untuk menggunakan metode Agregat di LINQ.
sumber
Anda dapat memeriksa tiga artikel ini yang membandingkan C # dan VB.NET:
Mereka semua tampaknya memberikan argumen dan perbandingan yang sangat logis antara keduanya. Secara pribadi saya memilih C # (perusahaan saya memilih C # untuk proyek ASP.NET kami ketika kami beralih dari asp klasik).
sumber
Saya berada dalam situasi yang sangat mirip di tahun 2003 yang sekarang Anda alami. Saya mengelola tim yang pindah ke ASP.NET dari ASP Classic. Sebagian besar tim kami memiliki pengalaman dengan VBScript sebagai bahasa defacto untuk ASP, tetapi sekitar setengah dari tim menyukai C # meskipun jalur migrasi sedikit lebih kompleks dari ASP / VBScript. Pada akhirnya saya memilih VB.NET, tetapi kalau dipikir-pikir saya benar-benar berharap saya telah menempuh rute C #.
Pada ulang tahun ke 5 dari keputusan itu saya menulis artikel blog tentang pemikiran saya untuk membuat keputusan dan mencoba untuk memberikan manfaat dari pandangan saya ke manajer pengembangan lain yang mencoba membuat panggilan yang sama. Berikut tautan ke artikel:
"Retrospektif Seorang Manajer tentang Keputusan C # versus VB.NET"
Singkatnya, bagi mereka yang tidak ingin membaca seluruh artikel: Saya tidak berpikir proyek ini lebih buruk karena memilih VB.NET daripada C #, dan mungkin menghemat banyak waktu dalam jangka pendek. Masalah terbesar sebenarnya dengan perekrutan. Saya dengan senang hati akan menyewa programmer C # atau VB.NET untuk bekerja dalam bahasa apa pun. Mereka sebenarnya tidak jauh berbeda. Namun, apakah pantas atau tidak, VB.NET memiliki stigma yang menyebabkan sejumlah pengembang menghindari pekerjaan di mana mereka tahu mereka akan bekerja dengannya sebagai bahasa utama.
sumber
Saya akan condong ke arah C # karena kurang verbose dan dalam pengalaman saya jauh lebih lazim di internet. Saya juga berpendapat bahwa C # atau VB.NET mudah dan cepat untuk dipelajari, ke titik di mana itu dapat diabaikan dan tidak signifikan. Kerangka NET., Di sisi lain sangat besar dan makhluk yang terus berkembang. Menguasai .NET membutuhkan waktu bertahun-tahun, tetapi menguasai C # atau VB.NET bisa memakan waktu beberapa bulan atau kurang.
sumber
Saya pikir @Anna Karin memiliki poin yang bagus, jadi Anda tidak perlu khawatir tentang perpustakaan. Setidaknya, saya tidak dapat mengingat siapa pun yang bekerja dengan c # dan tidak dengan vb.net.
Poin penting lainnya adalah bahwa hal itu akan membuat pemeriksaan kode lebih sulit antara anggota tim yang sama jika mereka bekerja dengan bahasa yang berbeda. Saya pikir adalah ide terbaik menggunakan beberapa bahasa umum, untuk mengurangi gesekan dalam komunikasi.
sumber
Sementara saya setuju dengan jawaban sebelumnya bahwa .NET harus fitur yang sama bijaksana, ini tidak selalu terjadi, tetapi cukup dekat bahwa jika Anda memiliki proyek sederhana itu seharusnya tidak masalah.
Alasan utama yang akan saya berikan untuk beralih ke C # di seluruh tim adalah bahasa yang paling banyak digunakan dalam contoh dan proyek-proyek open source mempublikasikan kode sumber dalam C #. Jadi, jika tim Anda tidak dapat menarik sumber daya seperti itu, Anda mungkin perlu membatasi diri sendiri.
sumber
C # dan VB.NET didasarkan pada platform .NET; penting bagi pengembang yang bekerja di .NET untuk mengetahui .NET, prinsip, teknik, pola ... Dalam hal beralih antar bahasa tidak akan menjadi masalah - ini terutama tentang sintaksis. Dalam tim campuran mungkin mereka semua harus mencoba mempelajari kedua bahasa (ini bukan masalah besar), tetapi bisa penting untuk kolaborasi di masa depan antara anggota tim.
sumber
Saya akan mengatakan satu keuntungan dari memiliki semua orang menggunakan bahasa yang sama adalah bahwa itu berarti bahwa setiap pengembang dapat bekerja pada bagian mana pun dari kode.
Di luar itu, VB.NET dan C # berbeda hanya dengan sintaks di bawah .NET. Dan kode yang ditulis dalam kedua bahasa dapat hidup berdampingan dalam proyek yang sama.
sumber
Saya akan menggunakan C # karena:
sumber
Pendapat saya akan memungkinkan pengembangan berbasis kontrak dengan antarmuka, dan pengembang harus dapat membuat kode kelas dalam bahasa apa pun yang diinginkannya, dan mungkin memisahkan kelas tingkat rendah / tinggi dalam majelis yang berbeda. Selama kelas-kelas menghormati antarmuka yang diminta dan mengimplementasikan persyaratan, seharusnya ada sedikit masalah.
sumber
Saya setuju dengan banyak jawaban lain di sini. Saya telah menjadi bagian dari dua tim yang harus membuat keputusan ini. Pada keduanya mereka awalnya memutuskan bahwa pengembang dapat memilih karena kedua bahasa bekerja bersama. Namun dalam tahun pertama pada keduanya mereka berharap mereka baru saja memilih C # dan memasukkan persyaratan baru bahwa semua proyek baru berada di C #.
sumber
Alasan menggunakan C #:
Alasan menggunakan VB.NET:
sumber