Tag: perbedaan

Saya mengenai C++ dan C#

C++ didesain sebagai superset dari C, dan C# adalah turunan dari C++. Bahkan designernya, Anders Hejlsberg menyatakan bahwa C# dalam desainnya lebih mirip ke C++ ketimbang Java.

C# dan Java sendiri adalah dua bahasa yang serupa. Tapi tetap, masing-masing memiliki karakteristik yang berbeda. Walau sama-sama mempunyai konsep Intermediate Language. Yaitu C# dengan MSIL dan Java dengan Bytecode-nya.

Baik, C++ dan C# menurut saya lebih dari ‘Bapak-Anak’, walaupun C# didesain dengan sangat bersih, dan efisien. Terkadang agak menyulitkan awam untuk mengerti konsep pemrograman.

Saya mempelajari C# dari buku “C# 4.0 Unleashed” karangan Bart De Smet. Buku yang mahal, dan saya sedikit menyesal. Pasalnya menurut saya bahasa yang dipakai Bart agak berputar-putar, dan walaupun ia menyatakan “tidak akan menampilkan rujukan yang menyebabkan ‘mental-jump'”, tetap saja dia mengatakan “perkenalkan! delegate.. perkenalkan! static method! Kita akan pelajari nanti.. di bab sekian..”

Itu jelas sekali membuat saya langsung membuka bab tersebut, tapi inilah kelebihannya, ia melakukan itu semua dengan baik. Pernyataan “jangan khawatir bila Anda tak mengerti segalanya sekarang, teruskanlah membaca dan semuanya meresap.” memang benar. Lama kelamaan saya menyukai buku ini.

Kembali ke topik. Menurut saya C# memunculkan fitur yang sebenarnya adalah konsep pemrograman pada C++, contohnya adalah delegate, sebuah konsep C++ yang dinamakan function pointer. Namun delegate bersifat type-safe dan object-oriented.