На главную
ПРАВИЛА FAQ Помощь Участники Календарь Избранное DigiMania RSS
msm.ru
! Правила раздела:
1. Название темы - краткое описание кто/что против кого/чего
2. В первом сообщении - список параметров, по которым идет сравнение.
3. Старайтесь аргументировать свои высказывания. Фразы типа "Венда/Слюникс - ацтой" считаются флудом.
4. Давайте жить дружно и не доводить обсуждение до маразма и личных оскорблений.
Модераторы: Модераторы, Комодераторы
Страницы: (7) « Первая ... 3 4 [5] 6 7  все  ( Перейти к последнему сообщению )  
> Rust vs C++, очередная шляпа
    Цитата JoeUser @
    Сообщение №21. Утверждение о том, что в Расте всегда будут создаваться VMT.
    То есть ты сначала сделал сделал логический вывод из своих слов и слов D_KEY, потом выдрал из этого вывода слово "всегда" и начал яростно придираться к нему? :lol:
    Самое забавное, что обсуждаемая деталь реализации крайне малозначительна и не должна быть критерием выбора или отказа от какого-либо языка.
    Сообщение отредактировано: applegame -
    error: 'long long long' is too long for GCC
        Цитата applegame @
        То есть ты сначала сделал сделал логический вывод из своих слов и слов D_KEY, потом выдрал из этого вывода слово "всегда" и начал яростно придираться к нему?

        Неа. Дело было не так :lol:
        Я сперва привел два примера кода - на с++ и на расте.
        Потом D_KEY свой пример привел на С++, но с виртуальными функциями.
        На что я указал, что код не совсем эквивалентный коду на расте.
        И только потом было сообщение 21 ... ну и понеслась.
        Мои программные ништякиhttp://majestio.info
          Очередной ура-фанатик бьется грудью за новую самую-пресамую лучшую игрушку. Коммьюнити радостно поддерживает :) Фанатик трет посты оскорбляющие его нежные чувства :)
          !
          Хватит флудить!
          Твое отличные шутки здесь не нужны.
          Лучше по теме пиши ченить.
          Сообщение отредактировано: JoeUser -
          Подпись выключена.
            Цитата JoeUser @
            Я сперва привел два примера кода - на с++ и на расте.
            Потом D_KEY свой пример привел на С++, но с виртуальными функциями.

            А в твоем примере виртуальных функций не было? :D
            Я, если что, просто его подправил в части наследования.

            Добавлено
            ExpandedWrap disabled
                  #include <iostream>
                  using namespace std;
                  
                  struct A {
                    int a;
                    A(int x);
                    void print() const;
                  };
                  
                  struct B {
                    A a;
                    int b;
                    B(int x, int y);
                    void print() const;
                  };
                  
                  struct C {
                    B b;
                    int c;
                    C(int x, int y, int z);
                    void print() const;
                  };
                  
                  A::A(int x):a(x) {
                  }
                  
                  void A::print() const {
                    cout << a << endl;
                  }
                  
                  B::B(int x, int y):a(x),b(y) {
                  }
                  
                  void B::print() const {
                    a.print();
                    cout << b << endl;
                  }
                  
                  C::C(int x, int y, int z):b(x,y),c(z) {
                  }
                  
                  void C::print() const {
                    b.print();
                    cout << c << endl;
                  }
                  
                  template<typename T>
                  void print(const T &x)
                  {
                      x.print();
                  }
                  
                  int main() {
                    C c = {1,2,3};
                    print(c);
                    return 0;
                  }
            Сообщение отредактировано: D_KEY -
            "If someone claims to have the perfect programming language, he is either a fool or a salesman or both"(c) Bjarne Stroustrup
              Цитата D_KEY @
              А в твоем примере виртуальных функций не было?


              Цитата JoeUser @

              Посыпаю голову пепломъ :lol:

              В посте с кодом С++ и Rust - я привел первый вариант (с виртуальными функциями), а в ссылке на он-лайн компилятор - привел код без них!

              Уффф :)
              Мои программные ништякиhttp://majestio.info
                JoeUser, планируешь на rust написать что-нибудь?
                "If someone claims to have the perfect programming language, he is either a fool or a salesman or both"(c) Bjarne Stroustrup
                  Цитата D_KEY @
                  JoeUser, планируешь на rust написать что-нибудь?

                  Да. Но чую - не скоро! Только-только дочитал книжку. Мозги набекрень, надо еще разок прочесть и переварить, ибо С++ подход (а еще ранее Turbo Pascal 5.5, Virtual Pascal, Дельфи, отчасти ООП щляпы Perl) не отпускает! :wall: :lol:

                  Почему, собственно заинтересовался растом ... Помнится я создавал как-то тему на тему "WebApplication на С++". Потом почитал, посмотрел бэнчмарки, и люто меня заинтересовали две штуки:


                  Второй фреймворк ваще был 5 место занимал в тестах из 40-50 либ на различных языках. Естественно первые три - на чистых Сях. А когда-то найденный мною фрэймворк на С++ TreeRrog - был в конце двадцатки. Вот и подумалось мне - а не глянуть ли мне раст :lol:

                  Добавлено
                  ЗЫ: Кстати ... ты случаем не видел шаблонов, а ля Хелло Ворлд для сборки на раст следующего:

                  1) программа-сервис винды
                  2) программа-демон *nix'
                  3) библиотеки динамической линковки .dll и .so

                  ?
                  Мои программные ништякиhttp://majestio.info
                    Цитата JoeUser @
                    Почему, собственно заинтересовался растом ... Помнится я создавал как-то тему на тему "WebApplication на С++". Потом почитал, посмотрел бэнчмарки, и люто меня заинтересовали две штуки:
                    Интересуйся обратно :) Плюсовой фреймворк (веб в том числе) ULib в большинстве бенчмарков уделывает tokio. :D
                    error: 'long long long' is too long for GCC
                      applegame, видел я его - пусть он и самый быстрый (а по сути там сущие копейки выигрыша по сравнению с Actix).

                      Я просто перечислю тебе "избранное" из одного из файлов примеров.
                      Насладись современным C++:

                      ExpandedWrap disabled
                        // HttpHeader.cpp
                         
                           U_TRACE(5, "HttpHeader::count(%.*S)", U_STRING_TO_TRACE(name))
                           U_RETURN(j);
                           U_TRACE(5, "HttpHeader::add(%p,%d)", field, index)
                           U_INTERNAL_ASSERT_POINTER(field)
                           U_RETURN_POINTER(old, HttpField);
                           U_RETURN_POINTER(U_NULLPTR, HttpField);
                           U_RETURN_POINTER(field, HttpField);
                           U_TRACE(5, "HttpHeader::find(%.*S,%d)", U_STRING_TO_TRACE(name), index)
                           U_RETURN_POINTER(header[i], HttpField);
                           U_RETURN_POINTER(U_NULLPTR, HttpField);
                           U_TRACE(5, "HttpHeader::del(%.*S,%d)", U_STRING_TO_TRACE(name), index)
                           U_VEC_ERASE1(header, i);
                           U_RETURN_POINTER(field, HttpField);
                           U_RETURN_POINTER(U_NULLPTR, HttpField);
                           U_TRACE(5, "HttpHeader::del(%p)", field)
                           U_VEC_ERASE1(header, i);
                           U_RETURN_POINTER(field, HttpField);
                           U_RETURN_POINTER(U_NULLPTR, HttpField);
                           U_TRACE(256+5, "HttpHeader::stringify(%.*S)", U_STRING_TO_TRACE(field))
                           U_INTERNAL_DUMP("f = %p", f)
                           U_INTERNAL_DUMP("field = %.*S", U_STRING_TO_TRACE(field))
                           U_TRACE(5, "HttpHeader::clear()")
                           U_INTERNAL_DUMP("f = %p", f)
                           U_DELETE(f)
                           return U_NULLPTR;


                      В гробу я видал такое читать.
                      Сообщение отредактировано: JoeUser -
                      Мои программные ништякиhttp://majestio.info
                        это больше похоже на древний C++, а на современный.

                        Добавлено
                        Посмотрел на actix.
                        Какая-то убогая пародия на erlang/elixir

                        И таки, ты наверное имеешь в виду не сам actix, а actix-web.
                        Сообщение отредактировано: applegame -
                        error: 'long long long' is too long for GCC
                          Цитата applegame @
                          не сам actix, а actix-web.

                          Ага.

                          Добавлено
                          Цитата applegame @
                          это больше похоже на древний C++, а на современный

                          Qt - де жа вю :lol:
                          Мои программные ништякиhttp://majestio.info
                            Цитата applegame @
                            Какая-то убогая пародия на erlang/elixir

                            Убогая - не убогая, а 6-е место в бенчах. Мне там в коде не копаться N-лет. Знаю точно! "Наследование типажей" уже меня загнало под плинтус :wacko: И разорвало в клочья всю мою концепцию православного мира. Вот сейчас зашел ко мне Jack Daniel's - сидим и обсуждаем как жЫть дальше! :lol:
                            Мои программные ништякиhttp://majestio.info
                              Цитата JoeUser @
                              "Наследование типажей" уже меня загнало под плинтус :wacko: И разорвало в клочья всю мою концепцию православного мира.

                              А что с ним не так? Это же точь-в-точь наследование интерфейсов из привычных языков программирования. Ну, почти - я не помню, есть ли возможность в явошарпах написать аналог какого-нибудь Clone, но не сказал бы, что это прямо-таки концептуальное отличие.
                              Подпись была включена в связи с окончанием срока наказания
                                Цитата OpenGL @
                                А что с ним не так? Это же точь-в-точь наследование интерфейсов из привычных языков программирования. Ну, почти - я не помню, есть ли возможность в явошарпах написать аналог какого-нибудь Clone, но не сказал бы, что это прямо-таки концептуальное отличие.

                                Я не знаю что такое Интерфейсы. В классическом С++ этого тет. Явашарпы я презираю есличо. Такова се ля ви.
                                Мои программные ништякиhttp://majestio.info
                                1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (7) « Первая ... 3 4 [5] 6 7  все


                                Рейтинг@Mail.ru
                                [ Script Execution time: 0,1968 ]   [ 14 queries used ]   [ Generated: 21.07.18, 09:23 GMT ]