Visual Basic adalah orang aneh di .NET baru

Dalam serangkaian posting blog minggu lalu, Microsoft merinci perubahan mendasar tentang cara mengembangkan bahasa .NET-nya. Itu adalah kabar baik bagi pengembang C # dan F #, tetapi sementara Microsoft memberikan putaran positif tentang apa arti perubahan untuk Visual Basic, masa depan bahasa terhormat jangka panjang tampaknya kurang pasti.

Visual Basic Microsoft telah lama menjadi salah satu bahasa jika bukan favorit, maka tentu saja salah satu bahasa yang paling banyak digunakan, dan ini benar-benar menempatkan Microsoft di tengah panggung perusahaan. Dari enam iterasi pertama sebagai bahasa untuk pengembangan aplikasi klien-server hingga kelahirannya kembali sebagai bagian dari platform .NET, Visual Basic telah menjadi alat bantu untuk pengembangan cepat aplikasi perusahaan. Itu sebagian karena pustaka besar komponen antarmuka pengguna, bersama dengan konektor ke database umum dan model komponen yang memungkinkan pihak ketiga membangun bisnis dengan menyediakan fungsionalitas tambahan.

Peralihan ke .NET sebagai dasar untuk strategi pengembangan Microsoft masuk akal untuk bahasa baru seperti C #, tetapi itu berarti perubahan pada Visual Basic di mana kode tidak dapat dengan mudah bermigrasi dari Visual Basic lama ke VB.NET baru.

Ini adalah transisi yang menantang bagi pengembang, dan Visual Basic mulai kehilangan mind share di dalam pengembangan perusahaan — dan di dalam Microsoft. Meski begitu, Microsoft berjanji untuk tetap menyinkronkan C # dan VB.NET. Fitur yang dibuat untuk C # akan menjadi bagian dari Visual Basic, dua bahasa yang berkembang bersama. Alasannya adalah bahwa mereka sering digunakan untuk tugas yang sama dan memiliki sifat dasar yang sama: keduanya merupakan bahasa berorientasi objek yang diketik dengan kuat dan bekerja dengan alat yang sama.

Visual Basic dan C #: Perbedaan baru akan datang

Dengan pengumuman minggu lalu, evolusi bersama itu hilang. Microsoft akan membiarkan kedua bahasa tersebut berjalan dengan cara yang berbeda, dimulai dengan Visual Basic 15 yang akan segera dirilis.

Ini bukan perceraian yang mengejutkan. Popularitas C # telah tumbuh dengan pesat, sementara Visual Basic perlahan-lahan menuruni grafik, hampir menghilang dari radar situs kueri pemrograman populer seperti Stack Overflow. Gunakan kasus juga berubah: Visual Basic masih terfokus pada paradigma client-server aslinya, sementara C # telah menjadi alat untuk n aplikasi berbasis web tier, bekerja di awan dan di tempat. Dengan semakin banyak aplikasi yang dibuat untuk bekerja dengan web dan cloud, tidak mengherankan bahwa C # menjadi pilihan pertama untuk banyak proyek.

Ada juga perubahan dalam cara pengembangan bahasa. C # telah bergeser ke model desain terbuka, yang berarti penggunanya berada di kursi pengemudi untuk memprioritaskan fitur-fitur baru, berkat milis aktif dan repositori GitHub publik. Microsoft telah mengambil fitur baru dari luar perusahaan — perubahan besar dari proses rekayasa bahasa tradisionalnya yang berfokus pada grup penelitian dan tim manajemen produk internal.

Visual Basic juga memiliki model desain terbuka, tetapi memiliki prioritas yang berbeda dari C #. Ini sudah mendukung subset fitur C # dalam build saat ini sebagai bagian dari kandidat rilis Visual Studio 2017.

Karena C # terus menyimpang dari Visual Basic, kita akan melihat kedua bahasa berkembang secara terpisah, meskipun keduanya dapat bekerja sama. Keduanya masih harus menangani API .NET yang sama, dan keduanya masih akan menjadi bagian dari alat Visual Studio.

Apa arti perubahan ini bagi pengembang perusahaan

Saat ini, sangat sedikit yang dapat dilakukan perusahaan untuk mengatasi perbedaan yang akan datang ini.

Tapi di masa depan, pasti ada ruang lingkup untuk pekerjaan lintas platform dalam Visual Basic, karena itu bergerak untuk mendukung kumpulan pustaka kelas dasar .NET Standard bersama dengan .NET Framework yang sudah dikenal. Meskipun beberapa kode bersifat portabel, tidak semua kode Visual Basic dapat berpindah dari satu set pustaka ke set lain yang lebih kecil. Kemungkinan kode yang ada akan tetap murni di Windows dan murni di aplikasi lokal.

Sebagai pengembang, Anda harus memilih antara membawa kode Visual Basic ke platform yang lebih baru melalui .NET Standard atau pindah ke bahasa seperti C # yang menawarkan kerangka kerja dan perangkat target yang lebih luas.

Karena .NET Standard ditujukan untuk semua platform .NET, ini adalah equalizer penting. Namun, itu tidak diperlukan untuk semua bahasa .NET. Meskipun Visual Basic akan membutuhkannya pada sistem yang tidak memiliki .NET Framework penuh, C # akan dapat menangani platform seperti .NET Core secara langsung, mengakses API-nya. Itu juga memudahkan turunan C #, seperti Unity, untuk mendukung API khusus mereka sendiri.

C # dengan dukungan untuk .NET Framework pada Windows dan open source .NET Core (berjalan di Nano Server dan dalam kontainer) akan menjadi pilihan pertama untuk aplikasi cloud dan seluler, sedangkan model pemrograman fungsional F # akan ideal untuk layanan keuangan dan aplikasi yang mengandalkan pembelajaran mesin.

Satu pendorong yang jelas untuk perubahan ini adalah akuisisi Xamarin Microsoft. Microsoft membutuhkan seperangkat alat lintas platform untuk mendukung perangkat seluler yang lebih luas, dengan Windows Mobile gagal mendapatkan pangsa pasar perusahaan seperti yang diharapkan. Bahkan di wilayah yang bersahabat dengan Windows Mobile seperti Inggris Raya, iOS dan Android bersama-sama memiliki lebih dari 80 persen pasar. Pengembang Microsoft yang ingin membangun ujung depan seluler untuk aplikasi mereka perlu menggunakan alat seperti Xamarin untuk menargetkan platform seluler yang dominan.

Dengan Xamarin yang berfokus pada C #, Microsoft harus menjelaskan bahwa C # adalah bahasa .NET kelas satu yang akan datang. Meskipun itu tidak eksplisit dalam pengumuman bahasa terbaru Microsoft, itu sangat tersirat.

Bagaimana Anda harus mengelola strategi bahasa perusahaan Anda

Ini bukan perpisahan dengan Visual Basic, tetapi sekarang saatnya untuk mengetahui di mana Anda berada dan di mana Anda ingin berada. Aplikasi Visual Basic yang sudah ada dapat terus dikembangkan, tetapi seiring berkembangnya platform .NET yang mendasarinya, Anda harus mengharapkan hanya sebagian dari .NET API yang tersedia untuk pengembang Visual Basic Anda. Meskipun itu tidak akan menjadi masalah dalam jangka pendek, Anda harus mempersiapkan migrasi jangka panjang ke C # atau F #, terutama jika Anda berencana menggunakan pengalaman pengguna seluler atau lintas platform untuk aplikasi Anda.

Tampaknya jelas bahwa pilihan terbaik untuk menghindari kelebihan hutang teknis adalah menjadikan C # sebagai prioritas Anda untuk pengembangan baru. C # memiliki dukungan kelas satu dan model desain yang digerakkan oleh pengguna. Ini juga merupakan jantung dari pengembangan lintas platform Microsoft dan Platform Windows Universal-nya. Artinya, Anda dapat menulis logika bisnis satu kali, lalu memberikan pengalaman pengguna khusus untuk web, Windows 10, iOS, Android, dan MacOS. Ada juga kesamaan bahasa yang cukup sehingga pengembang dapat melakukan transisi dengan relatif mudah, mengambil fitur baru setelah pelatihan awal.