Tidak ada sesuatu pun di dunia ini yang lebih menyentuh hati para pemrogram selain alat pemrograman. VC, DELPHI, JAVA...nama-nama mempesona ini tidak hanya memenuhi kehidupan para programmer, tetapi juga sepertinya sudah menjadi semacam kepercayaan. Namun, dengan dimulainya abad baru, kepercayaan ini kembali menghadapi tantangan besar. Microsoft, singa yang kelelahan dan diganggu oleh para juri dan peretas, bersumpah untuk mempertahankan mahkotanya, mencoba yang terbaik, dan menghasilkan strategi keahlian khusus-.NET. Sebagai bahasa pengembangan inti .NET, C# muncul secara alami. Pemrogram harus membuat pilihan yang menyakitkan, siapa yang harus diikuti? Untuk mengetahui jawabannya, kita harus membuat beberapa perbandingan dan prediksi.
Jika Anda mengesampingkan semua faktor non-teknis, C# tidak diragukan lagi adalah bahasa pemrograman terbaik yang pernah dibuat di planet ini. C# berisi hampir semua hasil terbaru dalam pengembangan perangkat lunak dan penelitian rekayasa perangkat lunak. Berorientasi objek, jenis, teknologi komponen, manajemen memori otomatis, penanganan pengecualian lintas platform, kontrol versi, manajemen keamanan kode... Anda tidak dapat menemukan semua fitur ini dalam bahasa lain. Meskipun, seperti yang diketahui banyak orang, ketika saya membuat daftar fitur di atas, orang selalu berpikir tentang JAVA, namun C# melangkah lebih jauh. Namun kenyataannya faktor non-teknis seringkali menentukan masa depan suatu produk. Apalagi dalam sejarah perangkat lunak komputer, produk-produk yang secara teknis unggul, seperti OS/2, Mac OS, UNIX, dll., semuanya telah dikalahkan oleh keindahan. dari Windows. Namun kali ini, peran Microsoft tampaknya telah berubah dari seorang revolusioner dengan tangan kosong menjadi tuan tanah tua yang suka menindas. Jika keadaan benar-benar berubah, bukankah anak C# ini akan lahir dari anak yang salah? Mungkin situasinya tidak terlalu buruk. Lagi pula, unta kurus lebih besar dari kuda, dan C# telah diserahkan ke organisasi standardisasi setelah menjadi standar internasional, tidak ada yang tahu apakah ada pahlawan yang gatal (mungkin Microsoft sendiri). akan memindahkannya ke platform lain. Dalam hal ini, JAVA akan berada dalam masalah. Karena pengguna JAVA sebagian besar adalah pengembang layanan jaringan dan pengembang perangkat lunak perangkat tertanam, perangkat lunak perangkat tertanam bukanlah tempat di mana C# ikut berperan. Dalam hal layanan jaringan, kompilasi just-in-time C# dan solusi cache kode lokal lebih kuat dari mesin virtual JAVA. Memiliki keunggulan kinerja absolut. Terlebih lagi, setelah C# menjadi standar publik seperti C++, pengembang perangkat lunak dapat menghemat biaya lisensi JAVA dan tidak perlu khawatir menjadi budak Microsoft masalah yang sama. Pendapat apa. Ini mungkin yang dicari Microsoft.
Jika persaingan antara C# dan JAVA di bidang layanan jaringan dibandingkan dengan persaingan supremasi udara di masa depan, maka persaingan antara C# dan alat pengembangan cepat serba guna tradisional - VB, DELPHI, dll. pertarungan tangan kosong. Mungkin programmer yang paling menyedihkan adalah programmer VB. Di Microsoft, VB seperti Clinton yang meninggalkan jabatannya. Tidak hanya kehilangan kejayaannya, tetapi juga bermasalah. Coba pikirkan, proyek yang ditulis dalam VB6 harus diubah menjadi kode berbasis .NET menggunakan alat konversi sebelum dapat ditransfer ke VB7, yang hampir tidak dapat dikenali. Karena VB7 mengikuti Spesifikasi Bahasa Umum (CLS) yang dibuat untuk memenuhi .NET, hampir semua fitur yang awalnya hanya tersedia dalam C++, JAVA, dan bahasa lain telah ditambahkan, tetapi sintaksisnya kompatibel dengan aslinya. Jika ini pertama kalinya Anda melihat kode konversi proyek VB6 lama Anda ke VB7, berhati-hatilah! Jadi lakukanlah dan jangan bilang kamu akan pensiun. Situasi DELPHI tidak jauh lebih baik. Keahlian khusus awalnya adalah membuat aplikasi dengan cepat dan baik, tetapi sekarang lihat VS.NET Beta 1 terbaru, Anda akan merasa begitu akrab, dengan banyak daftar properti, komponen... Siapa yang membuat kamu miskin? Bahkan kepala desainer tidak dapat mendukungmu.
Faktanya, penguasa sebenarnya di antara bahasa pemrograman adalah C++ selama bertahun-tahun. Semua sistem operasi dan sebagian besar perangkat lunak komersial menggunakan C++ sebagai bahasa pengembangan utama. Sebagian besar programmer JAVA juga merupakan penggemar C++, dan kesuksesan PHP juga disebabkan oleh sintaksis yang mirip dengan C++. Di bidang sistem operasi, driver perangkat, video game, dll., C++ akan tetap menempati posisi dominan untuk waktu yang lama, dan dalam pengembangan perangkat lunak aplikasi dalam jumlah terbesar, C# kemungkinan besar akan menggantikan C++. Pertama-tama, C#, seperti JAVA, hanya menyalin sebagian dari sintaks C++. Oleh karena itu, mudah bagi banyak programmer C++ untuk mempelajari dan memulai. Selain itu, ini lebih sederhana daripada C++ untuk pemula. Kedua, Windows saat ini merupakan platform monopoli, dan ketika mengembangkan aplikasi Windows, tentunya suara Microsoft tidak bisa diabaikan. Hal yang paling penting adalah dibandingkan dengan C++, menggunakan C# untuk mengembangkan perangkat lunak aplikasi dapat mempersingkat siklus pengembangan, dan pada saat yang sama, Anda dapat menggunakan kode C++ asli kecuali kode antarmuka pengguna.
Namun C# juga mempunyai kelemahan. Pertama-tama, program C# belum dapat berjalan di banyak platform Windows yang ada, karena program C# memerlukan pustaka runtime .NET sebagai dasarnya, dan pustaka runtime .NET akan dirilis sebagai bagian dari Windows generasi baru (Whistler ), atau saat Service Pack dikirimkan ke pengguna Windows Me dan Windows 2000. Jadi dalam waktu dekat, C# terutama akan digunakan di server. Kedua, hanya ada beberapa komponen atau pustaka yang dapat digunakan oleh C#, seperti pustaka runtime .NET, dan tidak tersedia pustaka perangkat lunak pihak ketiga yang kaya. Hal ini memerlukan proses, dan dukungan dari berbagai pengembang perangkat lunak juga sangat penting. Ketiga, beberapa faktor keberhasilan JAVA dipuji oleh kubu anti-Microsoft. Meskipun "tulis sekali, jalankan di mana saja" hanyalah sebuah slogan, namun ini sudah merupakan teknologi yang matang. Saat ini, satu-satunya pendukung C# adalah Microsoft, yang memiliki reputasi buruk, dan hanya dapat berjalan di Windows. Faktanya, kedua bahasa ini tidak tergantikan. Secara rasional, bagi pengembang perangkat lunak, apa pun yang paling mereka pahami adalah alat terbaik. Khusus bagi pengguna C++, C# tidak membawa sesuatu yang baru, karena .NET runtime library juga dapat digunakan di C++, dan tidak ada alasan mutlak untuk berubah.
Singkatnya, saya pribadi percaya bahwa dalam beberapa tahun terakhir, C# pasti akan bangkit dan menjadi protagonis di platform Windows, sementara JAVA akan menjadi pemain dominan di UNIX, Linux dan platform lainnya, dan C++ akan terus melenturkan kekuatannya di dunia. bidang perangkat lunak sistem. Yang sangat menarik adalah sintaksis bahasa-bahasa ini sangat mirip, karena JAVA dan C# dikembangkan dari C++. Alat pengembangan lainnya tentu saja akan melanjutkan perjalanannya untuk waktu yang lama, namun pasti akan terpukul dalam hal pangsa pasar.