Каква е разликата между C и C #

Тук всеки пише за разликите. Бих се осмелил да пиша за приликите.

Първо, каквото и да пише Елена, C ++ и C # са и езиците с общо предназначение. Още повече, оказва се - C # никога не е бил изострян за голяма библиотека (или рамка) .NET, но е много, много по-лесно с него. Но ако вземете предвид .NET, тогава за C ++ има Boost и Qt, така че тук е по-скоро паритет - има достатъчно библиотеки и за двете.
На второ място, сложността на разработката на C ++ често е преувеличена. Освен ако не се нуждаете само от повече дисциплина - тук е по-лесно да стреляте в крака. В този случай обаче C ++ ще бъде малко по-гъвкав и без танци с тамбури, неуправляваният код не може да се изпълнява в C #. Ако изведнъж имате нужда.
Трето, и двата езика, тъй като са с общо предназначение, са многопарадигматични. Тоест те прилагат повечето практики. И въпреки че C ++ се развива доста бавно, сега C ++ рязко настигна C # по отношение на неприложени функции (тук поне ламбди). Е, C ++ ще има повече метапрограмиране (явна лъжа).
Четвърто, и двата езика са междуплатформени. C # обаче ще бъде по-платформен от C ++. Освен ако един и същ Qt не е изтрил рязко границите, но това не означава почти нищо - C # се компилира в един и същ CIL за всички платформи, C ++ - в напълно различен код за различни платформи (i386, amd64, ARM Cortex-AXX).
И накрая, пето, синтаксисът им наистина е много сходен. И двата езика принадлежат към семейството, подобно на Алгол, така че и скобите, и другите скоби тук имат приблизително една и съща цел.

Разликите, които изглежда правят езиците напълно различни, не са толкова фундаментални на нивото на абстракция, на което е зададен въпросът. И разликите са наистина колосални: C # се управлява код, което означава, че компилираният код ще бъде изпълнен не директно на процесора, а на специална виртуална машина. Това изяжда производителността, но улеснява много портирането на вашия код. И тогава, C # е полузащитен отговор на Java (което е интересно, тъй като се оказва, че C # е по-безплатен от Java), който е създаден като заместител на сложен и опасен C ++, включително.