Visual Basic adalah orang yang ganjil dalam .NET baru

Dalam satu siri catatan blog minggu lalu, Microsoft memperincikan perubahan mendasar tentang bagaimana mengembangkan bahasa .NET. Itu adalah berita baik bagi pembangun C # dan F #, tetapi sementara Microsoft memberikan perubahan positif mengenai apa yang dimaksudkan dengan perubahan untuk Visual Basic, masa depan jangka panjang bahasa yang terhormat nampaknya kurang pasti.

Visual Basic Microsoft telah lama menjadi salah satu dunia jika tidak digemari, maka tentunya salah satu bahasa yang paling banyak digunakan, dan ini benar-benar meletakkan Microsoft sebagai pusat pentas perusahaan. Dari enam iterasi pertama sebagai bahasa untuk pengembangan aplikasi pelayan pelanggan hingga kelahiran semula sebagai sebahagian daripada platform .NET, Visual Basic telah menjadi alat untuk pengembangan aplikasi perusahaan dengan cepat. Itu sebahagiannya kerana perpustakaan komponen antara muka pengguna yang besar, bersama penyambung ke pangkalan data biasa dan model komponen yang membolehkan pihak ketiga membina perniagaan dengan menyediakan fungsi tambahan.

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

Ini adalah peralihan yang mencabar bagi pemaju, dan Visual Basic mula kehilangan perhatian dalam pengembangan perusahaan — dan di dalam Microsoft. Walaupun begitu, Microsoft berjanji untuk memastikan C # dan VB.NET tidak selari. Ciri-ciri yang dibuat untuk C # akan menjadi sebahagian daripada Visual Basic, kedua bahasa berkembang bersama. Sebabnya ialah mereka sering digunakan untuk tugas yang sama dan mempunyai sifat dasar yang sama: kedua-dua bahasa yang sangat ditaip dan berorientasikan objek bekerja dengan alat yang sama.

Visual Basic dan C #: Perbezaan baru akan datang

Dengan pengumuman minggu lalu, evolusi bersama itu hilang. Microsoft akan membiarkan kedua bahasa berjalan dengan cara yang berbeza, bermula dengan Visual Basic 15 yang akan segera dikeluarkan.

Ini bukan perceraian yang mengejutkan. Populariti C # telah berkembang pesat, sementara Visual Basic perlahan-lahan merosot carta, hampir hilang dari radar laman web pertanyaan pengaturcaraan popular seperti Stack Overflow. Kes penggunaan juga berubah: Visual Basic masih tertumpu pada paradigma pelayan pelanggan asalnya, sementara C # telah menjadi alat untuk aplikasi berbasis web n -tier, bekerja di cloud dan di tempat. Dengan semakin banyak aplikasi yang dibina untuk berfungsi dengan web dan awan, tidak menghairankan bahawa C # menjadi pilihan pertama untuk banyak projek.

Terdapat perubahan bagaimana bahasa dikembangkan. C # telah beralih ke model reka bentuk terbuka, yang bermaksud penggunanya berada di tempat duduk pemandu untuk mengutamakan ciri baru, berkat daftar surat yang aktif dan repositori GitHub umum. Microsoft telah mengambil ciri baru dari luar syarikat - perubahan besar dari proses kejuruteraan bahasa tradisionalnya yang tertumpu pada kumpulan penyelidikannya dan pasukan pengurusan produk dalaman.

Visual Basic juga mempunyai model reka bentuk terbuka, tetapi mempunyai keutamaan yang berbeza dari C #. Ini sudah menyokong subset ciri C # dalam binaannya saat ini sebagai sebahagian daripada calon pelepasan Visual Studio 2017.

Oleh kerana C # terus menyimpang dari Visual Basic, kita akan melihat kedua-dua bahasa berkembang secara berasingan, walaupun mereka harus dapat bekerjasama. Kedua-duanya masih harus menangani API .NET yang sama, dan keduanya masih akan menjadi sebahagian daripada alat Visual Studio.

Apa makna perubahan ini bagi pemaju perusahaan

Pada masa ini, ada sedikit yang perlu dilakukan oleh perusahaan mengenai perbezaan ini.

Tetapi pada masa akan datang, sudah tentu ada ruang untuk kerja lintas platform dalam Visual Basic, kerana ia bergerak untuk menyokong set perpustakaan kelas asas .NET Standard di samping Kerangka .NET yang biasa. Walaupun beberapa kod akan mudah alih, tidak semua kod Visual Basic akan dapat melakukan lompatan dari satu set perpustakaan ke satu set yang lebih kecil. Kemungkinan kod yang ada akan tetap murni pada Windows dan murni dalam aplikasi di tempat.

Sebagai pembangun, anda harus memilih antara membawa kod Visual Basic ke platform yang lebih baru melalui .NET Standard atau beralih ke bahasa seperti C # yang menawarkan rangkaian kerangka sasaran dan peranti yang lebih luas.

Kerana .NET Standard ditujukan untuk semua platform .NET, itu adalah penyamaan penting. Walau bagaimanapun, tidak perlu untuk semua bahasa .NET. Walaupun Visual Basic memerlukannya pada sistem yang tidak mempunyai .NET Framework yang lengkap, C # akan dapat menangani platform seperti .NET Core secara langsung, mengakses APInya. Itu juga memudahkan derivatif C #, seperti Unity, untuk menyokong API khusus mereka sendiri.

C # dengan sokongan untuk .NET Framework pada Windows dan sumber terbuka. NET Core (berjalan pada Nano Server dan dalam bekas) akan menjadi pilihan pertama untuk aplikasi cloud dan untuk aplikasi mudah alih, sementara model pengaturcaraan fungsional F # akan sesuai untuk perkhidmatan kewangan dan aplikasi yang bergantung pada pembelajaran mesin.

Salah satu pemacu yang jelas untuk perubahan ini adalah pemerolehan Xamarin Microsoft. Microsoft memerlukan sekumpulan alat lintas platform untuk mendukung rangkaian peranti mudah alih yang lebih luas, dengan Windows Mobile gagal memperoleh pangsa pasar perusahaan seperti yang diharapkan. Walaupun di kawasan geografi Windows Mobile seperti United Kingdom, iOS dan Android bersama-sama mempunyai lebih daripada 80 peratus pasaran. Pembangun Microsoft yang ingin membina bahagian depan mudah alih untuk aplikasi mereka perlu menggunakan alat seperti Xamarin untuk menyasarkan platform mudah alih yang dominan.

Dengan Xamarin yang memfokuskan pada C #, Microsoft mesti menjelaskan bahawa C # adalah bahasa .NET kelas pertama yang akan maju. Walaupun itu tidak jelas dalam pengumuman bahasa Microsoft baru-baru ini, ini sangat tersirat.

Bagaimana anda harus menguruskan strategi bahasa perusahaan anda

Ini bukan selamat tinggal kepada Visual Basic, tetapi sudah tiba masanya untuk melihat di mana anda berada dan di mana anda mahu berada. Aplikasi Visual Basic yang ada dapat terus dikembangkan, tetapi ketika platform .NET yang mendasarinya berkembang, anda seharusnya mengharapkan hanya sebahagian daripada API .NET yang tersedia untuk pemaju Visual Basic anda. Walaupun itu tidak akan menjadi masalah dalam jangka pendek, anda harus bersiap sedia untuk migrasi jangka panjang ke C # atau F #, terutama jika anda merancang pengalaman pengguna mudah alih atau merentas platform untuk aplikasi anda.

Tampak jelas bahawa pilihan terbaik untuk mengelakkan overhang hutang teknikal adalah menjadikan C # keutamaan anda untuk pembangunan baru. C # mempunyai sokongan kelas pertama dan model reka bentuk berdasarkan pengguna. Ia juga merupakan pusat pengembangan lintas platform Microsoft dan Platform Windows Universalnya. Ini bermakna anda boleh menulis logik perniagaan sekali, kemudian menyampaikan pengalaman pengguna tersuai untuk web, Windows 10, iOS, Android, dan MacOS. Terdapat juga kesamaan bahasa yang cukup sehingga para pemaju seharusnya dapat melakukan peralihan dengan lebih mudah, memilih ciri baru setelah latihan awal.