Dari apa yang saya bisa mengerti, C # adalah bahasa defacto saat coding aplikasi .NET. Apakah direkomendasikan untuk memprogram aplikasi .NET [biarkan itu ASP.NET, WinPhone 7, GUI, dll] di C ++? Apa jebakan dan kelemahannya jika kita memilih untuk menempuh jalan ini?
Terima kasih telah berbagi.
Jawaban:
Sebagai programmer lama yang menggunakan C ++ sampai saya pindah ke C # /. Net saran saya adalah jangan menggunakan C ++ untuk pengembangan .Net. Sebenarnya Anda tidak dapat menggunakan C ++ nyata untuk memprogram dalam. Net tetapi kekejian microsoft yang disebut C ++ / CLI dengan keburukan yang tidak ditemukan dalam ISO C ++. Saya akan mengatakan hanya dari sudut pandang keterbacaan C ++ / CLI tidak boleh dianggap sama sekali. Apakah Anda ingin menggunakan _gc, gcnew dll.
Juga untuk tujuan praktis Anda tidak akan menemukan banyak contoh kode, tutorial, blog, dll. Menggunakan C ++ / CLI, dan Anda juga tidak akan menemukan programmer yang mengetahui atau mau bekerja di C ++ / CLI. Ini bukan bahasa alami untuk pengembangan .Net. C # / VB.Net / F # akan terus berubah lebih cepat dengan fitur-fitur baru dibandingkan dengan C ++ / CLI.
sumber
Ide dari .Net adalah bahwa Anda dapat menggunakan bahasa apa pun yang sudah Anda sukai dan menggunakan platform DotNet tanpa harus belajar bahasa baru lagi. Salah satu cara memandangnya adalah sebagai inversi dari piramida Jawa. Java dapat dijelaskan sebagai "OS tunggal-executable tunggal (IL) -banyak OS". dot net adalah "banyak bahasa-satu yang dapat dieksekusi-satu OS" (tentu saja bit satu-OS salah karena kita memiliki Mono tetapi saya tidak berpikir itu yang ada dalam pikiran Microsoft: -P).
Ya C # dimaksudkan sebagai bahasa untuk DotNet, tetapi tidak "THE ONLY". Microsoft mungkin berharap untuk mendapatkan programmer C ++ untuk bermigrasi ke C # dalam jangka panjang, jika tidak segera. Tapi itu sepertinya tidak terjadi. C ++ masih merupakan bahasa terpopuler ketiga. Faimiliaritas dengan bahasa dan upaya yang dibutuhkan untuk port aplikasi dari C ++ ke C # telah membuat sebagian besar pengembang enggan. Lagi pula, mengapa memperbaiki sesuatu yang tidak rusak? Itu sebabnya Microsoft datang dengan C ++ / CLI. Ini adalah cara yang luar biasa untuk mendapatkan programmer C ++ di kereta DotNet tanpa harus belajar bahasa baru. Butuh sedikit waktu untuk membiasakan diri dengan C ++ / CLI. Satu-satunya kelemahan yang saya lihat adalah notasi pointer baru untuk kelas yang dikelola dapat membingungkan mereka yang memiliki pemahaman yang lemah tentang pointer di C ++. Tidak memengaruhi saya.
sumber
Saya tidak melihat apa manfaatnya. Manfaat utama C ++ adalah kode kinerja asli, level rendah, mandiri / asli. Setelah Anda menggunakan lingkungan yang dikelola dan semua bagasi yang dibawa, saya tidak bisa melihat mengapa Anda tidak ingin bahasa yang lebih modern yang dirancang untuk lingkungan yang dikelola.
sumber