C++ এবং C# দুটোই C এর বর্ধিত রূপ।
C নিম্নস্তরের ভাষা, এতে অবজেক্ট নামক কোনো কনসেপ্ট নেই। C তে অবজেক্ট ওরিয়েন্টেড ফিচার যুক্ত করে এর নাম দেয়া হয় C++। C++ কে ইন্টারমিডিয়েট স্তরের ল্যাংগুয়েজ হিসেবে গণ্য করা হয়।
C# উঁচু স্তরের অবজেক্ট ওরিয়েন্টেড ভাষা, C++ এর সাথে পার্থক্য হলো, এর কম্পাইলার C++ এর মতো মেশিনকোড আউটপুট হিসেবে না দিয়ে Common Language Runtime বা CLR এ পরিণত করে, পরবর্তীতে তা ASP.NET দ্বারা ইন্টারপ্রেট করা হয়।
C এবং C++ এ মেমরি ম্যানেজমেন্ট ইউজারকেই করতে হয়, কিন্তু C# এ তা অটোমেটিক। C++ প্রায় সবরকম সিস্টেমে ব্যবহৃত হলেও C# উইন্ডোজের বাইরে খুব একটা ব্যবহৃত হয়না।
সিনট্যাক্সের কথা চিন্তা করলে, C এবং C++ অনেকটাই সিমিলার, কিন্তু C# একদমই আলাদা, অনেকটা জাভার মতো।