C++ adalah bahasa pemrograman komputer yang berisi fitur bahasa pemrograman C serta Simula67 (bahasa berorientasi objek pertama). C++ memperkenalkan konsep Kelas dan Objek.
Ini merangkum fitur bahasa tingkat tinggi dan rendah. Jadi, itu dilihat sebagai bahasa tingkat menengah. Sebelumnya disebut "C dengan kelas" karena memiliki semua properti bahasa C.
Apa itu C#?
C-Sharp adalah bahasa pemrograman berorientasi objek yang dikembangkan oleh Microsoft yang berjalan pada .Net Framework. Ini memiliki fitur seperti pengetikan yang kuat, imperatif, deklaratif, berorientasi objek (berbasis kelas), dan pemrograman berorientasi komponen. Ini dikembangkan oleh Microsoft dalam platform .NET.
Nama "C sharp" terinspirasi oleh notasi musik. Di sini simbol '#' menunjukkan bahwa nada tertulis harus dibuat semitone lebih tinggi dalam nada.
Sejarah C++
Bahasa C++ dikembangkan oleh Bjarne Stroustrup di AT&T Bell Laboratories. Stroustrup adalah pendukung kuat C, pengagum Simula67. Dia ingin menggabungkan yang terbaik dari kedua bahasa. Dia bertujuan untuk membuat bahasa yang mendukung fitur pemrograman berorientasi objek dan masih mempertahankan kekuatan C. Ini menghasilkan C++.
Sejarah C#
Anders Hejlsberg adalah kontributor utama untuk pengembangan bahasa C#. Pada tahun 1999, ia membangun tim untuk mengembangkan bahasa baru yang kemudian disebut “Keren”. Proyek ini disetujui dan diumumkan pada Juli 2000 di .Net Developers Conference. Bahasa tersebut kemudian diubah namanya menjadi C#.
Sekarang dalam tutorial C# vs C++ ini, mari kita pahami perbedaan utama antara C Sharp vs C++.
PERBEDAAN UTAMA:
C++ adalah bahasa pemrograman tingkat rendah yang menambahkan fitur berorientasi objek ke bahasa dasarnya C sedangkan C# adalah bahasa tingkat tinggi.
C++ mengkompilasi ke kode mesin sedangkan C# 'mengkompilasi' ke CLR (Common Language Runtime), yang ditafsirkan oleh JIT di ASP.NET.
C++ adalah bahasa berorientasi objek sedangkan C# dianggap sebagai bahasa pemrograman berorientasi komponen.
Dalam C++ Anda perlu mengelola memori secara manual sedangkan C# berjalan di mesin virtual, yang melakukan manajemen memori secara otomatis.
Dalam pengembangan C++ harus mengikuti arsitektur tertentu dan harus portabel sedangkan pengembangan C# harus sederhana, modem, tujuan umum, bahasa pemrograman berorientasi objek.
Prinsip-prinsip pengembangan C++
Program harus sederhana, berorientasi objek, dan mudah dipahami
Pengembangan harus dilakukan di lingkungan yang kuat dan aman.
Kode harus mengikuti arsitektur tertentu dan harus portabel.
Kode harus mudah “ditafsirkan dan dinamis”
Prinsip-prinsip pengembangan C#
Bahasa ini harus sederhana, modem, tujuan umum, bahasa pemrograman berorientasi objek.
Bahasa dan implementasinya harus memberikan dukungan untuk prinsip-prinsip rekayasa perangkat lunak
C# adalah pilihan ideal untuk membangun aplikasi untuk sistem yang dihosting dan disematkan.
Perbedaan antara C++ dan C#
Berikut ini adalah perbedaan utama antara C# dan C++:
Parameter
C++
C#
Jenis bahasaC++ adalah bahasa pemrograman tingkat rendah dan platform netral.C# adalah bahasa tingkat tinggi.CompilingC++ mengkompilasi ke kode mesinC# 'mengkompilasi' ke CLR (Common Language Runtime), yang ditafsirkan oleh JIT di ASP.NETManajemen memoriDalam C++, Anda perlu mengelola memori secara manual jika Anda mengalokasikan objek secara dinamis.C# menjalankan manajemen memori secara otomatisMultiple inheritanceC++ mendukung multiple inheritanceC# tidak mendukung multiple inheritance.Tingkat kesulitanC++ menyertakan fitur yang lebih kompleks.C# tidak memiliki fitur kompleks. Ini memiliki hierarki yang sederhana dan cukup mudah dimengerti. Akses default SpecifierPublic di C++ untuk Struct. Pribadi untuk kelasPrivate di C# .net.PlatformC++ adalah bahasa yang berjalan di semua jenis platform. Ini juga sama populernya di sistem Unix dan Linux. C#, sementara standar, jarang terlihat di luar jendela. Aplikasi mandiriC++ dapat membuat aplikasi mandiri.C# tidak dapat membuat aplikasi mandiri.Object OrientedC++ bukan bahasa berorientasi objek yang lengkap.C# adalah bahasa berorientasi objek murni.Pemeriksaan terikatTidak mendukung pemeriksaan terikat array. Mendukung pemeriksaan terikat array.Garbage CollectionC++ tidak mendukung pengumpulan sampah.C# mendukung pengumpulan sampah.Multiple inheritanceC++ mendukung multiple inheritance.C# tidak menawarkan banyak pewarisan kelas.Foreach LoopOlder versi C++ tidak mendukung untuk setiap loop. (Loop for berbasis rentang dalam C++ ditambahkan sejak C++ 11)C# mendukung setiap loop.Penggunaan pointerAnda dapat menggunakan pointer di mana saja dalam program. Anda dapat menggunakan pointer hanya dalam mode tidak aman.Digunakan untukBanyak digunakan dalam permainan.Pemrograman C# dapat digunakan untuk membuat aplikasi Windows, seluler, dan konsol.Ukuran binariC++ jauh lebih ringan.C# memiliki banyak overhead dan pustaka harus disertakan sebelum dikompilasi.Jenis ProyekPemrogram C++ umumnya fokus pada aplikasi yang bekerja secara langsung dengan perangkat keras atau yang membutuhkan kinerja lebih baik daripada yang dapat ditawarkan oleh bahasa lain.C# digunakan untuk pengembangan aplikasi modern.Peringatan kompilerC++ memungkinkan Anda melakukan hampir semua hal asalkan sintaksnya benar . Oleh karena itu, ini adalah bahasa yang fleksibel, tetapi Anda dapat menyebabkan kerusakan serius saat menjalankan OS.C# sangat terlindungi. karena Compiler akan memberikan kesalahan dan peringatan jika Anda secara tidak sengaja menulis kode yang dapat menyebabkan kerusakan. Hasil kompilasi Setelah kompilasi, kode C++ diubah menjadi kode mesin. Setelah kompilasi, kode C# diubah menjadi kode bahasa perantara. Pernyataan SwitchDalam Pernyataan C++ Switch, variabel uji tidak boleh berupa string. Dalam pernyataan sakelar C#, boleh berupa string atau tidak.