C++/CLI vs C#
, Ваше мнение.
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
| ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
| [216.73.216.141] |
|
|
| Страницы: (4) [1] 2 3 ... Последняя » все ( Перейти к последнему сообщению ) |
C++/CLI vs C#
, Ваше мнение.
|
Сообщ.
#1
,
|
|
|
|
Вопрос таков:
В чем схожести и в чем различия, а также плюсы и минусы данных .NETовских языков. Хочу выяснить для того, чтобы решить имеет ли смысл заморачиватся вообще на C# при разработках под .NET, или являясь С++ программистом достаточно просто изучить особенности программирования под .NET на C++/CLI, как альтернативе C#? |
|
Сообщ.
#2
,
|
|
|
|
Очередной холивар. Будет постов на несколько страниц.
developer, погугли. |
|
Сообщ.
#3
,
|
|
|
|
Не холивар, а конкретный вопрос требующий конкретного ответа. Интересны все мнения про особенности между двумя языками, так как о C# представление 0, а о C++/CLI наработана уже хоть и небольшая но база знаний.
Главный вопрос: Большая ли разница между этими двумя языками? И есть ли вещи которые может делать один язык и не может делать другой? |
|
Сообщ.
#4
,
|
|
|
|
Между NET и nonNET - большая.
А какие у тебя наработки по C++? Знание STL, навыки работы с указателями, знание WinAPI? Все, что отсюда понадобится, это знание ООП и все. Здесь в разделе иногда мелькают вопросы-примеры на C++, я таких людей не понимаю. Visual Basic - один человек хорошо отозвался - "простыня слов". А C# - просто и элегантно |
|
Сообщ.
#5
,
|
|
|
|
Цитата Raino @ Между NET и nonNET - большая. А какие у тебя наработки по C++? Знание STL, навыки работы с указателями, знание WinAPI? Все, что отсюда понадобится, это знание ООП и все. Это все философия про ISO/ANSI С++ итак понятная и вообще я не спрашивал про разницу между ISO/ANSI С++ и C++/CLI, а причем сдесь VB я вообще не понял .Вопрос конкретный: разница между двумя .NET-овскими языками C++/CLI end C#. |
|
Сообщ.
#6
,
|
|
|
|
Цитата Raino @ навыки работы с указателями, знание WinAPI Зачастую требуются, первое особенно для шарп программеров. Но все же можно и без них. Вот могу привести пример номер один. На C++/CLI нельзя по человечески писать для web с ASP.NET, вернее можно, но довольно геморно. Аналогично обстоят дела и с новомодными Silverlight и ижи с ними. Там IronPython поддерживаются лучше, чем плюс-плюс. Цитата developer @ или являясь С++ программистом достаточно просто изучить особенности программирования под .NET на C++/CLI, как альтернативе C#? Для таких как ты его и создавали ![]() К плюсам плюсов (во какой каламбурчик ) отнес бы незначительно более производительный компилятор (3-5% от C#) и наверное более удобную модель маршалинга к нативному коду, вот собственно и все приимущества C++/CLI если рассматривать платформу .NET.Во всем остальном, C# и VB.NET ИМХО проще, а главное лаконичней чем C++/CLI, а потому эффективней в рамках .NET. Это языки позволяющие не задумываться о языке на котором пишешь. Они позволяют сосредоточиться на тех задачах, что ты решаешь. Наверное по этому почти весь Framework написан именно на C#. Добавлено Вот еще пришло в голову на ++ тебе будет проблематично писать плагины к офиссным приложениям, создавать WPF, WCF проекты. Ввсе это можно делать, но в студии ты не найдешь даже визардов проектов для этого... Цитата а причем сдесь VB я вообще не понял . И малость оффтопа .. оказывается в Integration Service 2005 сиквел сервера, скрипты в Сontrol flow .. можно писать только на VB.NET. |
|
Сообщ.
#7
,
|
|
|
|
juice
Насчет указателей я имел ввиду, что не считаю динамические переменные в C++ аналогом объектов reference-типов. А знание структур на c++ только собьет с толку. Поэтому думаю лучше уже учить синтаксис .NET с нуля, не ссылаясь на прошлый опыт. А сама концепция программирования, что в памяти что-то хранить, изменять, что есть классы-методы, это я все и обобщил "ООПом" |
|
Сообщ.
#8
,
|
|
|
|
Цитата juice @ К плюсам плюсов (во какой каламбурчик ) отнес бы незначительно более производительный компилятор (3-5% от C#) и наверное более удобную модель маршалинга к нативному коду, вот собственно и все приимущества C++/CLI если рассматривать платформу .NET.То есть насколько я понял из этой части ответа реализация CLI уже существует не только в виде реализации CLR для .NET Framework, но и для других платформ? Интересно, а для каких еще? |
|
Сообщ.
#9
,
|
|
|
|
Цитата developer @ То есть насколько я понял из этой части ответа реализация CLI уже существует не только в виде реализации CLR для .NET Framework, но и для других платформ? на самом деле при компиляции кода в MSIL каждый язык использует собственный компилятор. Отсюда ращница. Компилятор для ++ дает несколько более производительный код, чем компилятор C#, в тоже время последний самую малость выигрывает у VB.NET. Под платформой .NET я имел ввиду рассмотрение исключительно Managed версии C++. Вообщето откровенно говоря CLR не совсем следует собственной спецификации Microsoft - CLI (стандартизированной в ECMA, например отличается модель памяти, в CLR используется сильная модель в отличие от слабой модели описываемой в CLI), но если откинуть нюансы, то есть реализациb CLI под Linux/Windows/Mac OS - Mono и Rotor под Unix. |
|
Сообщ.
#10
,
|
|
|
|
Вопрос объявляю решенным и тему закрытой.
Ответами доволен, особенно четкими и лаконичными ответами "по делу" участника juice . В общем С++/CLI меня теперь вполне устраивает как язык для приложений под .NET Framework. GRIENDERS, и ни каких релегиозных войн не произошло . |
|
Сообщ.
#11
,
|
|
|
|
Цитата developer @ В общем С++/CLI меня теперь вполне устраивает как язык для приложений под .NET Framework. Твой выбор одобряю. Но думаю, ты скоро (ну или со временем) начнешь писать на C# под .NET Свой прогноз я основываю на том, что многие проффи С++ (FlexFerum, Loviard e.t.c) сайта sources.ru, под .NET пишут именно на шарпе, думаю их выбор небезоснователен и чем то мотивирован ... ![]() P.S. Ну и успехов в освоени новых вершин |
|
Сообщ.
#12
,
|
|
|
|
Цитата В общем С++/CLI меня теперь вполне устраивает как язык для приложений под .NET Framework. учти что большинство примеров на С#...вот сейчас сам из-за этого мучаюсь.И честно сложилось впечатление что С# это почти синоним .NET |
|
Сообщ.
#13
,
|
|
|
|
ИМХО, как минимум, читать необходимо и на том и на другом языке.
С точки зрения программирования "высокоскоростных" приложений лучше юзать managed C++ В виду его хорошей совместимости с unmanaged, ассемблерным вставками и т.п. Кроме того с С++ (старой версии) можно использовать OpenMP!!! Это большой плюс для применения параллельных алгоритмов. С другой стороны C# имеет более простой синтаксис и структуру и т.п. Быстро компилируется и, соответсвенно, оперативно показывает подсказки для функций (интелисенс). Короче кодить удобно. Так что для прог не особо критичных ко времени выполнения, не требующих сторонних С++ библиотек, лучше юзать C#. |
|
Сообщ.
#14
,
|
|
|
|
Цитата В виду его хорошей совместимости с unmanaged, ассемблерным вставками и т.п. Это вероятно самый весомый аргумент. |
|
Сообщ.
#15
,
|
|
|
|
Цитата juice @ Во всем остальном, C# и VB.NET ИМХО проще, а главное лаконичней чем C++/CLI И возня с using лаконичнее возможности размещения объектов "на стеке" в C++/CLI? |