На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Страницы: (4) [1] 2 3 ... Последняя » все  ( Перейти к последнему сообщению )  
> C++/CLI vs C# , Ваше мнение.
    Вопрос таков:
    В чем схожести и в чем различия, а также плюсы и минусы данных .NETовских языков.

    Хочу выяснить для того, чтобы решить имеет ли смысл заморачиватся вообще на C# при разработках под .NET, или являясь С++ программистом достаточно просто изучить особенности программирования под .NET на C++/CLI, как альтернативе C#?
    Сообщение отредактировано: developer -
      Очередной холивар. Будет постов на несколько страниц.
      developer, погугли.
        Не холивар, а конкретный вопрос требующий конкретного ответа. Интересны все мнения про особенности между двумя языками, так как о C# представление 0, а о C++/CLI наработана уже хоть и небольшая но база знаний.
        Главный вопрос: Большая ли разница между этими двумя языками?
        И есть ли вещи которые может делать один язык и не может делать другой?
        Сообщение отредактировано: developer -
          Между NET и nonNET - большая.
          А какие у тебя наработки по C++? Знание STL, навыки работы с указателями, знание WinAPI? Все, что отсюда понадобится, это знание ООП и все.
          Здесь в разделе иногда мелькают вопросы-примеры на C++, я таких людей не понимаю. Visual Basic - один человек хорошо отозвался - "простыня слов". А C# - просто и элегантно :)
            Цитата Raino @
            Между NET и nonNET - большая.
            А какие у тебя наработки по C++? Знание STL, навыки работы с указателями, знание WinAPI? Все, что отсюда понадобится, это знание ООП и все.

            Это все философия про ISO/ANSI С++ итак понятная и вообще я не спрашивал про разницу между ISO/ANSI С++ и C++/CLI, а причем сдесь VB я вообще не понял :D .

            Вопрос конкретный: разница между двумя .NET-овскими языками C++/CLI end C#.
            Сообщение отредактировано: developer -
              Цитата 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.
              Сообщение отредактировано: juice -
                juice
                Насчет указателей я имел ввиду, что не считаю динамические переменные в C++ аналогом объектов reference-типов. А знание структур на c++ только собьет с толку. Поэтому думаю лучше уже учить синтаксис .NET с нуля, не ссылаясь на прошлый опыт. А сама концепция программирования, что в памяти что-то хранить, изменять, что есть классы-методы, это я все и обобщил "ООПом" :)
                  Цитата juice @
                  К плюсам плюсов (во какой каламбурчик :) ) отнес бы незначительно более производительный компилятор (3-5% от C#) и наверное более удобную модель маршалинга к нативному коду, вот собственно и все приимущества C++/CLI если рассматривать платформу .NET.

                  То есть насколько я понял из этой части ответа реализация CLI уже существует не только в виде реализации CLR для .NET Framework, но и для других платформ?
                  Интересно, а для каких еще?
                    Цитата 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.
                      Вопрос объявляю решенным и тему закрытой.
                      Ответами доволен, особенно четкими и лаконичными ответами "по делу" участника juice .

                      В общем С++/CLI меня теперь вполне устраивает как язык для приложений под .NET Framework.

                      GRIENDERS, и ни каких релегиозных войн не произошло :P .
                        Цитата developer @
                        В общем С++/CLI меня теперь вполне устраивает как язык для приложений под .NET Framework.

                        Твой выбор одобряю. Но думаю, ты скоро (ну или со временем) начнешь писать на C# под .NET ;) Свой прогноз я основываю на том, что многие проффи С++ (FlexFerum, Loviard e.t.c) сайта sources.ru, под .NET пишут именно на шарпе, думаю их выбор небезоснователен и чем то мотивирован ... :)

                        P.S. Ну и успехов в освоени новых вершин :)
                        Сообщение отредактировано: juice -
                          Цитата
                          В общем С++/CLI меня теперь вполне устраивает как язык для приложений под .NET Framework.

                          учти что большинство примеров на С#...вот сейчас сам из-за этого мучаюсь.И честно сложилось впечатление что С# это почти синоним .NET
                            ИМХО, как минимум, читать необходимо и на том и на другом языке.

                            С точки зрения программирования "высокоскоростных" приложений
                            лучше юзать managed C++ В виду его хорошей совместимости с unmanaged,
                            ассемблерным вставками и т.п. Кроме того с С++ (старой версии) можно
                            использовать OpenMP!!! Это большой плюс для применения параллельных алгоритмов.

                            С другой стороны C# имеет более простой синтаксис и структуру и т.п.
                            Быстро компилируется и, соответсвенно, оперативно показывает
                            подсказки для функций (интелисенс). Короче кодить удобно.

                            Так что для прог не особо критичных ко времени выполнения, не требующих сторонних
                            С++ библиотек, лучше юзать C#.
                              Цитата
                              В виду его хорошей совместимости с unmanaged,
                              ассемблерным вставками и т.п.

                              Это вероятно самый весомый аргумент.
                                Цитата juice @
                                Во всем остальном, C# и VB.NET ИМХО проще, а главное лаконичней чем C++/CLI

                                И возня с using лаконичнее возможности размещения объектов "на стеке" в C++/CLI?
                                1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                                0 пользователей:


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0355 ]   [ 15 queries used ]   [ Generated: 8.11.25, 22:20 GMT ]