На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела:
1. Название темы - краткое описание кто/что против кого/чего
2. В первом сообщении - список параметров, по которым идет сравнение.
3. Старайтесь аргументировать свои высказывания. Фразы типа "Венда/Слюникс - ацтой" считаются флудом.
4. Давайте жить дружно и не доводить обсуждение до маразма и личных оскорблений.
Модераторы: Модераторы, Комодераторы
Страницы: (32) « Первая ... 22 23 [24] 25 26 ...  31 32  ( Перейти к последнему сообщению )  
> Развейте мои сомнения: упростится ли программирование при переходе от C к C++?
    Цитата JoeUser @
    если ничего от С++ ты не используешь

    Если быть точнее - из STL


    В общем, вывод такой, что и здесь преимущества весьма сомнительные
    А какие тогда ещё?
      Цитата OpenGL @
      Не знаю, как насчёт микроконтроллеров,
      Пишут на плюсах и для микроконтроллеров. RTTI и исключения нафиг и пишем код не менее компактный, чем на старой доброй сяшке.
        Главное, чтобы компилятор был нормальный. Вроде сейчас нет с этим проблем.
          Цитата Олег М @
          В общем, вывод такой, что и здесь преимущества весьма сомнительные
          А какие тогда ещё?
          Типа STL - это самая важная компонента C++? :D
          Классы, наследование, метапрограммирование - это так фигня, за возможности C++ не считается. :lool:

          Добавлено
          Цитата D_KEY @
          Главное, чтобы компилятор был нормальный. Вроде сейчас нет с этим проблем.
          Тот же G++. Да что там плюсы? Кое кто умудрился сделать липоксацию жирнющему рантайму D и писать на нем такой же худосочный код для микроконтроллеров как и на C.

          По сути, подрезав там и сям, можно писать и на плюсах и на дешке и на расте вообще без рантайм либы. И любое из этого будет лучше чем сяшка.
          ИМХО, сяшка помрет вместе с Торвальдсом. Хватит с нас этих heartbleed и cloudbleed и прочих кровотечений. Ну и что, что скомпрометировано триллиарды учеток, зато кодэ у нас такой компактный и быстрый.
          Сообщение отредактировано: applegame -
            Цитата applegame @
            Типа STL - это самая важная компонента C++?
            Классы, наследование, метапрограммирование - это так фигня, за возможности C++ не считается.

            В смысле? Речь вроде было о том, что программа на C++ требует подключения большего количества библиотек, чем аналогичная на Си.
              Цитата OpenGL @
              Цитата D_KEY @
              Автор живет не в изоляции. Код нужно еще и читать. И если не знать C++ полноценно, то разобраться в C++ коде будет невозможно. Даже библиотеки использовать.
              Это таки два разных языка. И в вопросе выживания у C, на мой взгляд, шансов больше.

              Ты сейчас перечислил минусы программиста, а не языка.

              Вопрос в том, дает ли тебе C++ по сравнению с Си столько, что его стоит изучать при условии его сложности и многочисленных тонкостей. Или, например, тебе будет достаточно связки питона и си? C++ не даст тебе таких возможностей, как питон, проблем только добавит(своей сложностью), а быстрее Си код не сделает.
                Цитата Олег М @
                В смысле? Речь вроде было о том, что программа на C++ требует подключения большего количества библиотек, чем аналогичная на Си.
                Это неправда. Не требует.
                Цитата D_KEY @
                Вопрос в том, дает ли тебе C++ по сравнению с Си столько, что его стоит изучать при условии его сложности и многочисленных тонкостей. Или, например, тебе будет достаточно связки питона и си? C++ не даст тебе таких возможностей, как питон, проблем только добавит(своей сложностью), а быстрее Си код не сделает.
                Дык вопрос был о том, облегчится ли программирование. Я думаю облегчится, даже если ты используешь С++ тупо как "C с классами". Много лет назад работал я с одним относительно быльшим проектом написанном на чистом C. А именно с eAthena. Так вот я там видел самую настоящую эмуляцию наследования. Структуры у которых одинаковые первые поля и отличающиеся хвосты, члены - указатели на функции, вручную заполняющиеся в зависисмоти от типа структуры, касты туда-сюда. Я тогда подумал: "Накой ребята все это городили? Не проще ли было просто взять плюсы?". Было бы проще, и, что не менее важно, гораздо безопасней.
                Сообщение отредактировано: applegame -
                  Цитата applegame @
                  И любое из этого будет лучше чем сяшка.

                  Ничем не аргументированное высказывание :)

                  Цитата
                  ИМХО, сяшка помрет вместе с Торвальдсом.

                  Был до Торвальдса, будет и после.
                  Умрет, если его и правда удастся вытеснить. C++ с этим так и не справился. У D и Rust шансов не больше, даже меньше, ИМХО.
                  Хотя Rust дает надежду на будущее. Пусть не он сам, но какой-то другой язык таки сможет дать "системщине" шанс :)
                    Цитата D_KEY @
                    Вопрос в том, дает ли тебе C++ по сравнению с Си столько, что его стоит изучать при условии его сложности и многочисленных тонкостей.
                    Никто же не заставляет учить С++ в полном объеме. Например, можно вообще не заморачиваться с созданием собственных классов, но использовать STL как удобный набор отдельных "инструментов". Обычный процедурный подход. И наоборот, можно не использовать STL, а самому реализовывать свой набор "инструментов" - получаем ООП без метапрограммирования, а можно заморочиться и метапрограммированием. Вкус приходит во время еды.
                      Цитата D_KEY @
                      Ничем не аргументированное высказывание :)
                      Ну хорошо, по крайней мере не хуже. А вообще, тут не может быть иной аргументации, кроме как субъективной. Это мое субъективное мнение, как человека много писавшего на C, потом на C++, потом на D, параллельно пописывая на PHP, Ruby и JS.

                      Добавлено
                      Цитата JoeUser @
                      Никто же не заставляет учить С++ в полном объеме. Например, можно вообще не заморачиваться с созданием собственных классов, но использовать STL как удобный набор отдельных "инструментов". Обычный процедурный подход. И наоборот, можно не использовать STL, а самому реализовывать свой набор "инструментов" - получаем ООП без метапрограммирования, а можно заморочиться и метапрограммированием. Вкус приходит во время еды.
                      :yes:
                      Сообщение отредактировано: applegame -
                        Цитата Олег М @
                        В частности (тут я тупо не в курсе) будет ли libstdс++ линковаться, если ты используешь из плюсов только new и delete? Без них никак

                        new/delete - C++, так что наверняка будет.
                        Цитата Олег М @
                        А зачем тебе тогда C++, если ты ничего от него не используешь?

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

                        Добавлено
                        Цитата D_KEY @
                        Вопрос в том, дает ли тебе C++ по сравнению с Си столько, что его стоит изучать при условии его сложности и многочисленных тонкостей.

                        А что - использование С+ автоматически означает использование и написание многострочных шаблонов? Пиши на Си с классами и будет тебе щастье - никаких особых моментов в сравнении с Си учить не придётся.
                          Цитата applegame @
                          В смысле? Речь вроде было о том, что программа на C++ требует подключения большего количества библиотек, чем аналогичная на Си.
                          Это неправда. Не требует.


                          Цитата OpenGL @
                          В частности (тут я тупо не в курсе) будет ли libstdс++ линковаться, если ты используешь из плюсов только new и delete? Без них никак

                          new/delete - C++, так что наверняка будет.


                          Это взаимоисключающие ответы или я чего-то не понимаю?
                            C++ (по стандарту) требует определённой поддержки от рантайма - исключения, rtti, реализация операторов и прочие мелочи. Поэтому рантайм линковаться будет. И инициализация его будет. Причём фишка в том, что даже если отключить исключения опцией, их инфраструктура все равно будет инициализироваться.
                              Цитата Олег М @
                              Это взаимоисключающие ответы или я чего-то не понимаю?
                              Во первых, new и delete совершенно не обязательны. Можно и по старинке malloc/free. Во-вторых, при желании, можно написать крохотную либку с этими самыми new/delete и линковать ее вместо полноценного рантайма. В-третьих у сяшек тоже есть рантайм либа, без которой, конечно, тоже можно обойтись.
                                Цитата OpenGL @
                                helloworld, скомпиленный gcc и g++ на -O3 у меня выдали идентичный ассемблерный код.
                                Ничего удивительного, поскольку g++ даже не пытался его компилировать. Он сразу вызвал gcc и передал работу ему.
                                Ты перед запуском g++ файл с исходником не забыл переименовать в .cpp?
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (32) « Первая ... 22 23 [24] 25 26 ...  31 32


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