На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела:
1. Название темы - краткое описание кто/что против кого/чего
2. В первом сообщении - список параметров, по которым идет сравнение.
3. Старайтесь аргументировать свои высказывания. Фразы типа "Венда/Слюникс - ацтой" считаются флудом.
4. Давайте жить дружно и не доводить обсуждение до маразма и личных оскорблений.
Модераторы: Модераторы, Комодераторы
Страницы: (56) « Первая ... 5 6 [7] 8 9 ...  55 56  ( Перейти к последнему сообщению )  
> D vs C++ , почти сурковская пропаганда: не пора ли C++ потихоньку готовиться к пенсии?
    Цитата applegame @
    А некоторые еще любят замутить такие вложенные замороченные макросы, что потом когда вылезает ошибка компиляции, приходится мучительно искать, где-же именно это говно вылезло. Ведь компилер бодренько показывает строку в которой макрос был задействован. Это к вопросу D_KEY, почему макросы говно. А потому, что препроцессор - тупой, а компилятор - умный. Поэтому замена препроцессора компилятором - отличная идея. Но упоротые "старики" будут гнуть свое, хотя практически все учебники по C++ говорят одно и тоже: макросы - зло.

    Макросы зло - когда ими злоупотребляют. Когда их используют вместо банальных констант, когда ими пытаются выражение на 5 строчек реализовать макросом в одну строчку, странно почему не функцией и т.д. А так то макросы сами по себе нормальные. Просто есть макрофанаты отдельные...
      Цитата MyNameIsIgor @
      Неинтересно. Для небольших проектов хоть Brainfuck прокатит.
      Сами пишите на Brainfuck. А мелкие вспомогательные тулзины крутятся вокруг любого крупного проекта.
        Цитата applegame @
        А мелкие вспомогательные тулзины крутятся вокруг любого крупного проекта.

        Так они на каких-нибудь питонах, как правило.
          applegame, вот ты там писал гдето про GC и деструкторы, мол для структор что на стэке - обычные деструкторы, а в остальном GC. А как эта солянка вместе работает? Вот например что там в плане исключений? finally какие нибудь писать нужно? или как?
            Цитата D_KEY @
            Цитата applegame @
            А мелкие вспомогательные тулзины крутятся вокруг любого крупного проекта.

            Так они на каких-нибудь питонах, как правило.

            +1
            Есть куча языков, на которых можно сделать мелкие тулзы, и языки эти знает куча народу. Зачем мне D?
              Цитата Wound @
              Макросы зло - когда ими злоупотребляют. Когда их используют вместо банальных констант, когда ими пытаются выражение на 5 строчек реализовать макросом в одну строчку, странно почему не функцией и т.д. А так то макросы сами по себе нормальные. Просто есть макрофанаты отдельные...
              Да, но самое интересное, что главное преимущество препроцессора - это как раз городить костыли, которые нормальным способом не сделать. Например Boost.Foreach. В остальных случаях он не нужен при достаточной поддержке языка. В том же D, например.
                Цитата D_KEY @
                Так они на каких-нибудь питонах, как правило.
                Я не знаю питона и изучать его нет никакого желания. Я использую D.
                Цитата Wound @
                applegame, вот ты там писал гдето про GC и деструкторы, мол для структор что на стэке - обычные деструкторы, а в остальном GC. А как эта солянка вместе работает? Вот например что там в плане исключений? finally какие нибудь писать нужно? или как?
                Все нормально работает. finally - в D нет и он там не нужен. При выходе из scope деструктор для структуры вызовется автоматически, как и в плюсах. Но, если нужно, то можно мутить какие-то особые правила при выходе из scope:
                ExpandedWrap disabled
                  void foo(void) {
                    scope(exit) writeln("это выполнится при любом выходе из scope (в данном случае - функции)");
                    scope(success) writeln("это выполнится только при выходе без исключений");
                    scope(failure) writeln("это выполнится только при выходе по исключению");
                    try {
                      ...
                    } catch(Exception e) {
                      ...
                    }
                  }
                Сообщение отредактировано: applegame -
                  Цитата applegame @
                  Я не знаю питона и изучать его нет никакого желания.

                  Да его изучать и не приходится както, просто берешь и пишешь как тебе нравится и все ))
                    Цитата applegame @
                    finally - в D нет

                    Лолшто?
                    Цитата
                    TryStatement:
                    try ScopeStatement Catches
                    try ScopeStatement Catches FinallyStatement
                    try ScopeStatement FinallyStatement

                    Catches:
                    LastCatch
                    Catch
                    Catch Catches

                    LastCatch:
                    catch NoScopeNonEmptyStatement

                    Catch:
                    catch ( CatchParameter ) NoScopeNonEmptyStatement

                    CatchParameter:
                    BasicType Identifier

                    FinallyStatement:
                    finally NoScopeNonEmptyStatement

                    Цитата applegame @
                    и он там не нужен

                    Ага, не нужен. Но в D нет общей идеи, это просто бессистемный набор фич.
                      Цитата applegame @
                      finally - в D нет

                      Есть
                        Цитата Wound @
                        Да его изучать и не приходится както, просто берешь и пишешь как тебе нравится и все ))
                        Как нравится не получится. Я однажды писал маленький плагин для Blender. Нужно было импортировать/экспортировать модельки для игры. Так вот помучался немного. Написал в итоге, но язык не понравился.
                          Цитата applegame @
                          При выходе из scope деструктор для структуры вызовется автоматически, как и в плюсах. Но, если нужно, то можно мутить какие-то особые правила при выходе из scope:
                          ExpandedWrap disabled
                            void foo(void) {
                              scope(exit) writeln("это выполнится при любом выходе из scope (в данном случае - функции)");
                              scope(success) writeln("это выполнится только при выходе без исключений");
                              scope(failure) writeln("это выполнится только при выходе по исключению");
                              try {
                                ...
                              } catch(Exception e) {
                                ...
                              }
                            }

                          Кстати, мне кажется, что D очень удобен для холиваров. Можно мимикрировать под разные языки.
                            Цитата D_KEY @
                            Есть
                            Да, ты прав, есть. Я был уверен, что нет :)
                              Цитата applegame @
                              Цитата D_KEY @
                              Есть
                              Да, ты прав, есть. Я был уверен, что нет :)

                              Не нужен, но есть. Прямо как сам D.
                                Цитата D_KEY @
                                Кстати, мне кажется, что D очень удобен для холиваров. Можно мимикрировать под разные языки.
                                Холивара не получается. Всем насрать хорош или плох C++, всем важно насколько плох D. :D
                                Я привел два примера в чем D однозначно переплюнул C++, но всем пофиг. :)
                                Сообщение отредактировано: applegame -
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (56) « Первая ... 5 6 [7] 8 9 ...  55 56


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0486 ]   [ 15 queries used ]   [ Generated: 17.06.25, 17:28 GMT ]