C# према мене не треба да го носи тоа име. Може би било поприкладно нешто како MSJava, JavaM, Java# или нешто слично
.
Отворив една тема за C# и наведов грубо за што всушност станува збор. Сепак, ако ти треба конкретно C++ vs. C# еве:
Концепсиски гледано, овие два јазика во многу се различни. Како прво, менаџирањето со меморија. C++ работи на пониско ниво и тој само алоцира, без притоа да води сметка дали на тие позиции има некои податоци, какви се тие податоци и што да прави со тој опсег на податоци откако истите нема да бидат од корист. Кај C#, се среќава и првична иницијализација на полињата, што кај C++ го нема. Пример:
Код:
int []pole = new int[50];
во C++ само ќе го алоцира полето, без да води сметка што ќе се добие пример за pole[10], додека пак C# го алоцира, и сите вредности ги сетира на 0, што значи сигурно за pole[10] ќе добиеме 0.
Концепт на преоптоварување на оператори. Не сум сигурен, ама мислам дека во C# го нема. Барем јас досега не сум го сретнал.
Трето, библиотеки. C# е строг .net, C++ не. Поради есенцијалната поврзаност на C# со .net, следува дека тој е строг објектно-ориентиран програмски јазик. C++ не е. Тој подржава и глобални статички методи, променливи и константи кои не се членови на некоја класа.
Останато: принцип на справување со исклучоци. C# има специјализиран систем со класна полиморфна хиерархија на класи кои наследуваат од Exception. C++ (не C++.net) го нема ова. Таму се работи строго со исфрлање на исклучоци како примитиви. Фаќањето на истите иде на ваков принцип, а идентификувањето на грешките иде преку некојa switch структура и дефинирани кодови во текот на програмата. Исто така C# има и finnaly блок, а C++ нема (не сум сигурен за ова)
String класа!!!! Кај C++ мора да се користи STL и #include <string>. C# овде е подобар.
И уште редица работи, ама овие мислам дека се најбитни.
Што може со едниот а што со другиот. Хмм... Со C++ web апликација, мало морген, додека C# е специјализиран за ова. Напредна и комплицирана desktop апликација (нарочито некоја CAD или системска) со C# јајцата ќе ти отечат, а со C++ ќе те виде господ. Ќе ја тупиш со криптична синтакса и комплексна архитектура, ама резултатот би бил феноменален.
Сега со Java. C# и Java имаат една синтаксна разлика во однос на вклучувањето на библиотеки. C# користи using, а Java користи импорт. Останато, мислам дека 99% е исто.