Сравнителна таблица
Основа за сравнение | ° С# | C ++ |
---|---|---|
Състави се в | CLR | Машинен код |
Паметта се управлява | автоматично | Ръчно |
Използване на указатели | Не е позволено | Позволен |
Наети на работа | Windows платформа най-вече | Всяка платформа |
Приложения | Конзола, прозорци, ASP.NET и мобилно приложение. | Самостоятелно конзолно приложение. |
кодиране на стоките | Насочена към Windows OS. | Това се прави за всяка платформа. |
скорост | По-бавно | По-бързо, тъй като е лек език. |
Дефиниция на C #
Програмният език C # е обектно-ориентиран език за програмиране, който е пряко свързан с неговия предшественик C ++ и C. Той е разработен от Anders Hejlsberg през 2000 година. Основната цел за създаване на C # е да се преодолеят ограниченията на java, въпреки че тя се е развила чрез C. Тъй като java не е имала интер-езикова оперативна съвместимост, с други думи, Java не може да изпълни програма, написана на един език за програмиране с програмите, генерирани на други езици за програмиране. Второ, Java не осигурява пълна интеграция с Windows платформата.
Java винаги е бил противник за C #. C # е стандартният език на платформата .NET, която използва CLI (Common Language Interface) среда, за да направи програмите преносими.
C # включва функции като автоматично събиране на боклука, тип безопасност, поддръжка на версиите, делегати и събития, уеб услуги, бокс и unboxing и достъпност на членовете.
Характеристики на C #
- Простота : C # е проста по отношение на използването на оператори и напълно разделя булев и целочислен тип данни.
- Съвместимост : C # осигурява взаимодействие в езиците на платформата .NET чрез прилагане на спецификациите на общия език.
- Съгласуваност : Интегрираната система тип се поддържа от C #, за да се премахне издаването на диапазони от променливи от цели числа. Той разглежда всички типове като обекти.
- Обектно-ориентирана : Тя е изцяло обектно ориентирана, където всичко е обект вместо глобални функции, променливи и константи.
- Безопасност на типа: В нея са включени няколко типа безопасни мерки, като динамично разпределени обекти и масиви, които се инициализират до нула, използването на неинициализирани променливи не е позволено, автоматична проверка на диапазони за масиви, несигурни отливки не са разрешени, проверка за препълване и др.
- Версия : Дава възможност на новата версия на софтуерните модули да бъде съвместима с вече съществуващите приложения.
- Гъвкавост : Въпреки това, указателите не се поддържат от C #, но въпреки това, могат да се използват небезопасни класове и методи.
- Междуоперативност : C # използва COM обекти и прави програма за извикване на всеки роден API.
Дефиниция на C ++
Езикът на програмиране C ++ се появява през 1980 г. в AT&T Bell Laboratories от Bjarne Stroustrup. Тази версия първоначално е била известна като “C с класове”, тъй като C ++ е обектно-ориентиран език, но също така поддържа някои от конвенционалните примитивни типове. C ++ е извлечен от езика C и притежава свойствата “близо до проблема”, както и “близо до машината”, които се запазват от езика С.
Синтаксисът на C ++ наподобява езика C, но е напълно различен в сравнение с C #. Той е гъвкав и се фокусира върху ефективността и последователната семантика.
Има няколко характеристики на C ++, които се отхвърлят в C #, например, използването на макроси, множествено наследяване, указатели, шаблони, typedef оператор, глобални променливи, функции на постоянен член или параметри, аргументи по подразбиране, препратена декларация за класове.
Характеристики на C ++
- Преносимост : Когато сравним C ++ преносимостта с C #, кодът може да бъде стартиран на машината, работеща с родната OS, но това не е така в C #.
- Зависимост от платформата : C ++ е език, зависим от платформата, където програмите, написани на операционната система, не могат да бъдат изпълнени в различните операционни системи.
- Чувствително към малки букви: Големите и малките букви се обработват по различен начин.
- Базирано на компилатор : C ++ се казва, че е компилиран език, защото не изпълнява нито един код без компилация.
- Базирано на синтаксис : Правилата на езика за програмиране се спазват стриктно.
- Указатели : За разлика от C #, C ++ позволява използването на указатели.
Основни разлики между C # и C ++
- C # кодът първо се компилира до CLR (Common Language Runtime), който след това се интерпретира от .NET framework. Напротив, C ++ компилира кода директно в машинния код.
- Тъй като C # се изпълнява на виртуалната машина, която автоматично се занимава с управлението на паметта. Обратно, C ++ ръчно организира паметта.
- C ++ позволява използването на показалеца, докато в C # е по-малко вероятно да се използват указателите, вместо това се практикуват опасни класове.
- C # е основно използван в средата на Windows. За разлика от C ++ е създаден за Unix базирана система, но сега може да се използва с всяка платформа.
- Прилагането на C # включва уеб-базирани, настолни и мобилни приложения. За разлика от това, единствената цел на C ++ е да създаде самостоятелни конзолни приложения.
- C ++ кодът е по-бърз, тъй като не използва тежки библиотеки. От друга страна, C # е по-бавен, тъй като произвежда режими и използва тежки библиотеки като java.
заключение
C ++ се използва предимно, когато производителността е основната грижа на програмиста, докато в C # дори и начинаещите могат да развиват всяко уеб-базирано, мобилно и десктоп приложение с лекота. C # е лесен за научаване и защитен език от гледна точка на причиняване на вреда на операционната система, от друга страна, C ++ е по-отворен и позволява на програмиста да прави нещо с предоставения синтаксис.