ээс это
Автор 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, фтопку все виртуальное" может кричать только идиот, освоивший одну технологию, и не осведомленный о преимуществах других в конкретных областях.
нет, это разные язык. Читайте ответ Гофа.
Goth написал правильные буквы но слишком много. Боюсь что большая половина этих букв вам не знакома. По этому отвечу проще.
С++ это комплект сложных инструментов и дорогих материалов из которых хороший мастер может сделать хорошую, ценную вещь, плохой ни чего хорошего не сделает, все испортит
С# это детский конструктор из деталей которого любой школьник может слепить прикольную модельку на радость мамы с папой
Что такое реле и его предназначение?
С французского - перепряжка
Устройство, которое обеспечивает коммутацию в некоей цепи,
подробнее...