На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела:
1. Название темы - краткое описание кто/что против кого/чего
2. В первом сообщении - список параметров, по которым идет сравнение.
3. Старайтесь аргументировать свои высказывания. Фразы типа "Венда/Слюникс - ацтой" считаются флудом.
4. Давайте жить дружно и не доводить обсуждение до маразма и личных оскорблений.
Модераторы: Модераторы, Комодераторы
Страницы: (56) « Первая ... 37 38 [39] 40 41 ...  55 56  ( Перейти к последнему сообщению )  
> D vs C++ , почти сурковская пропаганда: не пора ли C++ потихоньку готовиться к пенсии?
    Цитата D_KEY @
    В сишных объявлениях и то больше логики, там по крайней мере как пишем, так и используем. А тут все наоборот:
    У сей свои ребусы еще похлеще:
    ExpandedWrap disabled
      void (*foo(int, void (*bar)(int)))(int);

    Расшифруй навскидку, что такое foo. И насколько оно визуально соответствует декларации.
    Сообщение отредактировано: applegame -
      Давай я попробую:
      Скрытый текст
      Функция, принимающая в качестве параметров целое и указатель на функцию (принимающую целое и не возвращающую значение - void(int) ) и возвращающая указатель на такую же функцию void(int) ), как в параметре.
        Цитата amk @
        Давай я попробую:
        Мододец. :)
          Цитата applegame @
          У сей свои ребусы еще похлеще

          Да. Но там объявление типа полностью соответствует использованию операторов, с помощью которых сложный тип дает доступ к своим компонентам. В D это не так. А заговорил о связи объявлений и использования ты :)


          Цитата
          ExpandedWrap disabled
            void (*foo(int, void (*bar)(int)))(int);

          Расшифруй навскидку, что такое foo.


          Там довольно простые правила. Прекрасно описанные в K&R. Другое дело, что читать это неприятно. amk выше правильно написал :)

          Цитата
          И насколько оно визуально соответствует декларации.

          Плохо соответствует. Но вообще тут в любом случае нужны typedef'ы, каким бы прекрасным не был синтаксис. ИМХО.
            Цитата D_KEY @
            Да. Но там объявление типа полностью соответствует использованию операторов, с помощью которых сложный тип дает доступ к своим компонентам. В D это не так. А заговорил о связи объявлений и использования ты
            Связь должна быть визуальная, чтобы удобно было человеку, а не компилятору. Чтобы не надо было учить чтение объявлений по спирали и прочий brainfuck,
            Но мо собственно отклонились от первичного вопроса. Korvin спросил в чем преимущество D, я ответил, что в удобстве, которое кому-то может показаться наоборот неудобным.
            То есть преимущество выражается в конкретном человеке. Допустим я на D пишу гораздо быстрее и с меньшим числом ошибок, чем на C++, потому что многие конструкции и идиомы D мне проще и понятней для понимания, чем аналогичное в C++. А если взять, например Qraizer'а, то у него, возможно, все будет наоборот.

            Добавлено
            Цитата D_KEY @
            Но вообще тут в любом случае нужны typedef'ы, каким бы прекрасным не был синтаксис. ИМХО.
            Это да, typedef или дешный аналог - alias тут явно не помешал бы.
            Сообщение отредактировано: applegame -
              Цитата applegame @
              Korvin спросил в чем преимущество D, я ответил, что в удобстве, которое кому-то может показаться наоборот неудобным.
              То есть преимущество выражается в конкретном человеке. Допустим я на D пишу гораздо быстрее и с меньшим числом ошибок, чем на C++, потому что многие конструкции и идиомы D мне проще и понятней для понимания, чем аналогичное в C++. А если взять, например Qraizer'а, то у него, возможно, все будет наоборот.

              Т.е. объективных преимуществ ты назвать не можешь? ;)
                Цитата D_KEY @
                Т.е. объективных преимуществ ты назвать не можешь? ;)
                Ну для тебя лично нет, ты ведь вообще не считаешь какие-либо преимущества одного языка перед другим объективными.
                Сможешь ли ты назвать объективные преимущества C++ например, перед Visual Basic?

                Добавлено
                Если есть желание почитай статью Component programming with ranges
                Это не C++ vs D, и даже не преимущества D перед C++. Но любопытно, что для D это вполне идиоматичный код, а для C++ скорее экзотика.
                Сообщение отредактировано: applegame -
                  Я потратил на расшифровку столько времени, сколько понадобилось, чтобы написать пост. Даже меньше. Вообще-то это довольно простое объявление, бывают и позапутаннее.
                  Но, объявить typedef для функций аргумента и результата было бы немного нагляднее.

                  Добавлено
                  А хорошее имя для этого typedef'а ещё и немного прояснило бы назначение кода.
                    В каком-то смысле синтаксис Си толкает людей на тайпдефы. А в других языках может возникнуть ложная иллюзия "итакпонятности".
                      С другой стороны, возможность в C описать чуть ли не любую конструкию одним объявлением порождает иногда такие шедевры...

                      Я один раз видел объявление длиной строк пять. Плотно заполненных, длиной символов 80. Это был пример для проверки утилиты расшифровки объявлений (забыл уже, как она называется). Как написал тот, кто его привёл: из небольших.
                        Цитата D_KEY @
                        Ну вот чтоб синтаксис нормальным был не сделаю

                        Давно все сделано в Perl'е :lol:

                        ExpandedWrap disabled
                          my %data;
                          ${${$data{"зеленый"}}[6]}{"вес"} = [1,2,3,4,5]; #присваиваем хешу-массивов-хешей значение в виде массива
                          Нифига непонятно. Что в результате получается-то?

                          И кто-нибудь может объяснить, нафига в Perl'е столько долларов и процентов перед идентификаторами? Автор языка разве финансистом был? Я слышал, что он лингвист.
                            Цитата amk @
                            И кто-нибудь может объяснить, нафига в Perl'е столько долларов и процентов перед идентификаторами?
                            Чтобы легче парсилось, полагаю.
                              Цитата amk @
                              И кто-нибудь может объяснить, нафига в Perl'е столько долларов и процентов перед идентификаторами? Автор языка разве финансистом был? Я слышал, что он лингвист.
                              доллар обозначает, что значение -- скаляр, похож на букву "s" из соответствующего слова.
                              ps: код не промышленный, люди так не пишут :)

                              Добавлено
                              процент -- хеш-таблица, кружочки вокруг палочки (слеша) символизируют отображение одного значения на другое
                                Цитата negram @
                                ps: код не промышленный :)

                                Но хоть коммерческий? =)
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (56) « Первая ... 37 38 [39] 40 41 ...  55 56


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