с это



ээс это

Автор Ell& задал вопрос в разделе Другие языки и технологии

с++ и с# это одно и тоже? и получил лучший ответ

Ответ от Goth[гуру]
Постановка вопроса о сравнении языков не совсем корректна. Основная разница заключается не в синтаксисе, а в том, что представляет собой конечный результат - программа.
Результатом компиляции прогораммы на C++ чаще всего является т. н. Native Code- набор бинарных инструкций непосредственно для микропоцессора (CPU). Такая программа имеет доступ к низкоуровневым ресурсам (железу) , за небольшим исключением, накладываемым операционной системой. Контроль ресурсов осуществляется самой программой и операционной системой. Это накладывает бОльшую ответственность на программиста, но и дает ему больше свободы действий. При условии, что руки не кривые и мозг на месте (что, вопреки самомнению большинства далеко не всегда так) . Компиляция осуществляется, как правило, под конкретную платформу (ОС, архитектуру процессора) .
На C# пишутся программы исключительно для Microsoft .NET Framework (аналог виртуальной машины Java от Microsoft) - необходимо, чтобы он был установлен на машине, где будет исполняться код (причем, именно та версия, под которую скомпилирована программа) . Т. е. программа представляет собой не бинарный исполняемый код, а набор инструкций на MSIL (microsoft intermediate language) исполняемых средой CLR (common language runtime). Превращение MSIL в бинарный код, исполняемый процессором (еще одна компиляция) происходит в момент первого запуска .NET программы. Причем компиляция именно под платформу (OS, архитектуру процессора) , на которой программа запускается. Выделение, контроль ресурсов и некоторых прав доступа осуществляются виртуальной машиной CLR. Тем не менее, производительность очень близка к произвотительности программ, являющими собой Native Code - ибо результатом второй компиляции тоже является Native Code, и именно он выполняется процессором. Тем не менее, контроль ресурсов со стороны CLR позволяет избежать многих типичных ошибок (например, утечки памяти) . Платой за это являются чуть более высокие требования к ресурсам (впрочем, как и при использовании Java, Python и прочих виртуальных сред исполнения а также универсальных фреймворков типа Qt, Gtk и прочих) . Тем не менее, через CLR можно решить не все задачи - например, драйвер какого-нибудь устройства на .NET написать нельзя. Зато стоимость разработки бизнес-приложений на порядок меньше за счет готовых реализаций наиболее типичных вспомогательных задач программирования и меньших затрат на отладку приложений.
Еще одна большая разница заключается в том, что C# является строго типизированным, строго формализованным языком в отличие от C++. Это делает возможным существование таких инструментов, как ReSharper, помогающих при написании программ для .NET, которые в принципе нельзя создать для C++ (впрочем, для других строго формализованных языков типа Java тоже существуют аналогичные мегаинструменты) - это тоже очень сильно упрощает, а следовательно, удешевляет себестоимость разработки.
В общем, язык не является хорошим или плохим сам по себе - он лишь является более хорошим или плохим инструментом для решения конкретной задачи. Надо написать драйвер - C++ тебе в помощь. Надо быстро и качественно написать легкое бизнес-приложение - C# или Java и "умная" среда разработки. Нужно написать компонент, критичный по производительности и потреблению ресурсов, заточенный под конкретную платформу - Assembler или C++.
Свято веровать в единый кошерный, праведный язык, и кричать "давайте все писать на C# / Java / Python / Perl / Assembler", или "Все надо писать на C++ с использованием Qt / Gtk, фтопку все виртуальное" может кричать только идиот, освоивший одну технологию, и не осведомленный о преимуществах других в конкретных областях.

Ответ от Inna Nikonova[активный]
нет, это разные язык. Читайте ответ Гофа.

Ответ от Евгений Ломега[гуру]
Goth написал правильные буквы но слишком много. Боюсь что большая половина этих букв вам не знакома. По этому отвечу проще.
С++ это комплект сложных инструментов и дорогих материалов из которых хороший мастер может сделать хорошую, ценную вещь, плохой ни чего хорошего не сделает, все испортит
С# это детский конструктор из деталей которого любой школьник может слепить прикольную модельку на радость мамы с папой

Ответ от 22 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: с++ и с# это одно и тоже?
C++ на Википедии
Посмотрите статью на википедии про C++
C++ на Википедии
Посмотрите статью на википедии про C++
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*