VB dan C# Kenapa Berantem?
Kayaknya orang-orang banyak yang memperdebatkan yang mana yang lebih bagus untuk digunakan. Gw sendiri sudah berpengalaman “bercinta” dengan kedua bahasa pemrograman populer ciptaan Microsoft tersebut. Dan tentu saja ada pahit manisnya. 😀
Gw belajar VB6 pas kelas 2 SMP. Pas itu gw masih pake VB for Application yang dipake di Microsoft Access. Lama-lama tertarik juga untuk mendalami VB6 di VS6. VB itu menurut gw bahasanya sangat readable dan manusiawi. Sintaks-sintaksnya sangat ramah dibaca karena mirip dengan bahasa Inggris. Tentu aja karena sintaks yang manusiawi begitu, gw yang masih rookie bisa dengan cepat belajar programming. Pada waktu itu, gw melihat sintaks C-Family kayak C++ atau Java gw merasa sangat bingung karena tampak sangat advanced dengan titik-koma serta kurung-kurawal di mana-mana. Terlebih lagi gw belum tau yang namanya Visual Studio .NET yang ada C# dan VB.NETnya. Makanya sampai gw sebelum kuliah, gw tetap stick to VB.
Nah pas zaman gw masuk kuliah, gw diharuskan belajar C. Akhirnya gw bertemulah dengan sintaks-sintaks yang menurut gw dulu ajaib. Tapi setelah dilihat-lihat ya polanya sama. Bahkan untuk menulis satu baris perintah di C bisa lebih singkat daripada di VB. Di C engga dikenal sintaks If … Then … End If, yang ada hanyalah sintaks blok dengan kurung-kurawalnya seperti if( … ){ … }. Lama-lama gw terbiasalah dengan sintaks singkat padat dan jelas di keluarga besar C, yaitu Java, C#, dan C++.
Pada saat semester dua, gw pernah mendevelop aplikasi untuk pendaftaran beasiswa di AFS-Bina Antarbudaya Chapter Surabaya. Dan gw menggunakan pure VB.NET dan Windows Form di VS2008. Setelah gw menyelesaikan aplikasi itu, gw berpikir: It’s such a hell to develop a really big application using VB! Terlalu banyak yang harus diketik, terlalu banyak tetek bengek untuk mengetik sebuah statement, terlalu banyak membuang-buang whitespace dan sangat tidak readable buat gw. Mungkin itu juga yang dirasakan sama mayoritas programmer VB yang akhirnya migrasi ke C-Family. Dan sejak saat itulah gw tidak lagi menggunakan VB untuk develop aplikasi pada umumnya, kecuali diminta. 😀
Sebenernya kenapa sih VB serasa dianaktirikan oleh Microsoft? Eits, kalian jangan berpikir seperti itu dulu deh. VB itu adalah salah satu tonggak dan akar dari Rapid Development di sistem Microsoft. Dan tentu saja VB sangat berjaya pada masa-masa 90an, terlebih lagi dengan munculnya ActiveX control, OLE Object, dll yang jika kita mendevelop dengan VB jaaaaaauh lebih mudah daripada mendevelop langsung dengan C/C++ yang jauh lebih nista! VB juga pelopor IDE WYSIWYG di Microsoft Visual Studio, dimana kalo di C/C++ kita engga bisa langsung pake WYSIWYG karena tentu saja C/C++ sangat ribet untuk mendefinisikan sebuah GUI dalam program.
VB dipertahankan di .NET Framework karena memang tujuannya adalah menjaring programmer-programmer VB di jaman itu untuk migrasi ke sistem .NET. VB6 dan keluarganya memang tidak akan lagi dikembangkan kedepannya seiring dengan berjayanya pengembangan .NET Framework di Microsoft. Walaupun tentunya VB6 dan VB.NET sangatlah berbeda dari sisi language-construct, kemiripan sintaksnya akan membuat programmer VB lebih mudah bermigrasi ke VB.NET. Begitu pula adanya C#, untuk memudahkan pengguna C/C++ maupun Java bermigrasi ke .NET. Walaupun dulu ada J# yang menggunakan bahasa Java untuk .NET Framework, J# tampaknya kurang populer dan language-constructnya tidak bisa dikembangkan seiring perkembangan teknologi .NET, sehingga Microsoft menghentikan support ke J# di VS2008.
Alasan kenapa VB.NET sering tidak bisa buat program untuk XNA for XBox 360 atau Windows Phone, adalah karena VB.NET tidak bisa dijalankan di XBox 360 itu sendiri, salah satu alasannya katanya ada fitur di VB.NET yang tidak didukung di .NET Compact Framework 2.0 yang dipakai di XBox 360 (sumber), dan sepertinya nasib Windows Phone 7 juga sama seperti itu.
Nah kenapa musti berantem? Kalau memang VB.NET tidak didukung sama Microsoft untuk fitur-fitur tertentu, ya gunakanlah bahasa pemrograman yang bisa. Seperti kata orang di sini, kalau mau jadi developer jangan cuma bisa satu bahasa pemrograman aja. Gw juga gitu, gw bisa pake C/C++, Java, C#, VB6, VB.NET, PHP, JavaScript, dll :D. Bukankah itu saat yang baik untuk memulai belajar bahasa pemrograman lain selain VB.NET? Kalau kita terus menunggu support VB.NET yang mungkin saja tidak akan pernah hadir, kita akan ketinggalan duluan, ya to?
Banyak kok fitur-fitur VB.NET yang ga ada di C# yang gw juga kesel kenapa engga ada di C#, kayak XML-Literal yang sangat keren itu. Tapi di VB juga engga ada pointer sih. #geek 😀
sy mau belajar dg utk semua bhs pemrograman yg mas kuasai, bisa gak yaa? gimana caranya?