Страницы

Поиск по вопросам

воскресенье, 26 января 2020 г.

Чем отличается С++ от С# ? [закрыт]

#c_sharp #cpp


        
             
                
                    
                        
                            Закрыт. На этот вопрос невозможно дать объективный ответ.
Ответы на него в данный момент не принимаются.
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            Хотите улучшить этот вопрос? Переформулируйте вопрос,
чтобы на него можно было дать ответ, основанный на фактах и цитатах, отредактировав его.
                        
                        Закрыт 4 года назад.
                                                                                
           
                
        
И еще, на Microsoft Visual Studio на C# программируют?    


Ответы

Ответ 1



Если абстрагироваться от синтаксиса, то у C# и C++ есть несколько кардинальных отличий: C# (также как и J#, VB# и проч.) работает поверх некой виртуальной машины которая называется dot NET Framework. То есть объектный код C# генерирует коды для виртуальной (а не физической машины). Соответственно, там где есть эта виртуальная машина объектник C# будет работать везде - это свойство называется кроссплатформенностью, частным следствием этого является то что размеры типов C# фиксированы. С++ собирает объектный код для конкретной платформы: Windows x86, Windows x64, Linux, Sparc и т.д. Причем везде размеры типов и endianness - очередность битов разные, так что при переносе кода между платформами постоянно возникают проблемы. В С# автоматизирована проблема деаллокации объектов (т.н. сборщик мусора). В идеале прогер только создает объекты, а уже сборщик мусора сам разбирается кого и когда уничтожить. В С++ напротив проблема управления памятью вся возложена на прогера. Это в общем то целая наука как правильно управлять памятью, чтобы не было ее утечки. Конечно, есть и более тонкие отличия - но это уже детали. Основные отличия я указал.

Ответ 2



Язык C# для разработчиков на языке С++ В следующей таблице содержится сравнение C# и C++ (где не используется /clr) в различных областях ... в этой таблице вы найдете важные различия между этими двумя языками. В добавок: различия между шаблонами языка C++ и универсальными шаблонами языка C#. Да, на Microsoft Visual Studio в основном на C# и программируют.

Ответ 3



C++ и C# — это два разных языка программирования с C-подобным синтаксисом. C# — объектно-ориентированный язык программирования с автоматическим управлением памятью, предназначенный для программирования на платформе .NET. C++ — кросс-платформенный язык программирования общего назначения, совместимый в большинстве случаев с C.

Ответ 4



Язык C++ - 2 плюса, а C# - 4 плюса :)

Ответ 5



C++ и C# - разные языки. C# более высокоуровневый. На нём удобнее всего программировать графический интерфейс. Но между этими языками большая пропасть: на C# очень сложно использовать библиотеки, предназначенные для C++. Также программы на C# требуют для своей работы установленный .NET Framework, версия которого зависит от используемой версии C#. На Windows Vista предустановлен .NET Framework 3.0, а на Windows 7 - 3.5. На Windows XP .NET Framework нужно устанавливать самому. На языке C# необязательно писать именно на Visual Studio. Можно использовать любую IDE или даже обычный редактор, например блокнот.

Ответ 6



C# - объектно-ориентированный язык программирования с C подобным синтаксисом. C++ - расширенная версия C. На данный момент есть более расширенная версия, точное название не скажу. Visual Studio на данный момент поддерживает множество языков программирования, например PHP, Iron Python. В бесплатном доступе есть редакторы для C# C++ ASP.NET VBasic имеющие префикс Express. Их можно бесплатно скачать с сайта Microsoft, получив учетную запись MSDN.

Ответ 7



Давайте-ка и я дополню список. Странно, что ещё никто не упомянул наибольшее различие: C++ — это небезопасный язык. В том смысле, что конструкции языка могут приводить к undefined behaviour, состоянию, в котором на поведение программы (а также компилятора) не даётся вовсе никаких гарантий. Получить такую ситуацию достаточно легко: доступ к массиву за пределами выделенной памяти, арифметическое переполнение, ошибочный static_cast приводят к ней. C# же (за исключением кода, помещенного ключевым словом unsafe) — безопасный язык. В нём подобные ситуации исключены — за счёт дополнительных проверок, происходящих во время выполнения.

Комментариев нет:

Отправить комментарий