На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела:
1. Название темы - краткое описание кто/что против кого/чего
2. В первом сообщении - список параметров, по которым идет сравнение.
3. Старайтесь аргументировать свои высказывания. Фразы типа "Венда/Слюникс - ацтой" считаются флудом.
4. Давайте жить дружно и не доводить обсуждение до маразма и личных оскорблений.
Модераторы: Модераторы, Комодераторы
Страницы: (495) « Первая ... 327 328 [329] 330 331 ...  494 495  ( Перейти к последнему сообщению )  
> Delphi vs C++ vs C# , ну и Java немножко, где-то ближе к старшему байту номеров страниц
    Цитата DesweR @
    Цитата D_KEY @
    Именно так.

    Ну покажи (и хочется чтобы ещё Code Completion их отображал во всплывающем окошке, чтоб не держать в голове все типы элементов).

    Для клиента у тебя будет почти тоже самое, что ты сейчас пишешь.
    Можно сделать так:
    ExpandedWrap disabled
      get<1>(my_tuple);
      Цитата D_KEY @
      Для клиента у тебя будет почти тоже самое, что ты сейчас пишешь.

      И даже Code Completion?

      Цитата D_KEY @
      get<1>

      А вот дженерики индексировать нельзя...
        Цитата DesweR @
        Да нет. Объект - это замок, а Get/Set - открыть ключом, либо закрыть ключом замок (получить методом данные, либо записать методом данные).

        Уже в конкретику ударились? Ну хорошо, пусть будет объект - замок, а Get/Set - открыть/закрыть ключем. Тогда можешь пояснить, чем эти ключи отличаются? С чего это они разные? Они как раз таки и говорят, что ты делаешь с объектом. Открываешь или закрываешь.
        Если я пишу GetObject(); то сразу вижу, что в этом месте я получаю данные. Если я пишу SetObject(val), то сразу видно, что я явно их не получаю, а устанавливаю. Где тут разные ключи?
        Может быть ты объяснишь в чем преимущество свойств перед методами Get/Set?
          Цитата DesweR @
          А вот дженерики нормально использовать нельзя...

          fixed
          Скрытый текст
          У korvin'а научился
            Цитата DesweR @
            А вот дженерики индексировать нельзя...

            А, ну тогда без копипасты никак...
            Макросов тоже нет?
            Как же вы живете :-? ?
              D_KEY, ну, а что ты хочешь? В дотнете вон тоже вполне "официально" делегаты Func и Action копипастой сделаны.
              Хотя даже само наличие двух сущностей для одного и того же изрядно доставляет.
                Цитата MyNameIsIgor @
                D_KEY, ну, а что ты хочешь?

                Адекватных средств для мета- и обобщенного программирования. Хотя для .NET есть тот же Nemerle, который позволит нагенерить соответствующие классы.
                  Цитата D_KEY @
                  Хотя для .NET есть тот же Nemerle, который позволит нагенерить соответствующие классы.

                  Ну, это необязательно, у них же там есть кодогенератор какой-то... Ща дотнетчики подскажут, они всякий раз его вспоминают, когда им показывают метапрограмминг на шаблонах.

                  Добавлено
                  T4, во!
                    Цитата MyNameIsIgor @
                    Цитата D_KEY @
                    Хотя для .NET есть тот же Nemerle, который позволит нагенерить соответствующие классы.

                    Ну, это необязательно, у них же там есть кодогенератор какой-то... Ща дотнетчики подскажут, они всякий раз его вспоминают, когда им показывают метапрограмминг на шаблонах.

                    Добавлено
                    T4, во!

                    Жесть какая-то. Впрочем, если на практике справляется, то нормально :)
                    Хотя в таком случае для любого языка можно просто воспользоваться m4 и другими подобными средствами. Или awk/perl/python и т.п. Или даже flex/bison :D
                      Цитата DesweR @
                      ExpandedWrap disabled
                        var
                          Tuple: TTuple<Integer, Char>;
                        begin
                          Tuple := TTuple<Integer, Char>.Create(123, 'A');
                          ...
                        end;

                      Цитата
                      make me unsee it
                        Цитата DesweR @
                        Особенного там ничего нет (дженерики и местами rtti), вот отрывок. До финальной версии ещё далеко.
                        Нафик нужны такие кортежи. Чем хуже обычный массив из TValue передавать?
                        Сообщение отредактировано: Qraizer -
                          Цитата korvin @
                          вообще-то не только и не столько для этого, а для возможности менять реализацию, без влияния на клиентский код.
                          Гм. Вообще-то это следствие, а не причина. Причём цепочка буквально в одно звено: раз влияние деталей ограничено областью видимости класса... Поэтому твой вывод
                          Цитата korvin @
                          ты в своих суждениях отталкиваешься от реализации, а нужно отталкиваться от интерфейсов.
                          абсолютно несостоятелен.
                            Цитата MyNameIsIgor @
                            В дотнете вон тоже вполне "официально" делегаты Func и Action копипастой сделаны.
                            Хотя даже само наличие двух сущностей для одного и того же изрядно доставляет.

                            Они не совсем для одного и того же.
                            Func<T> - функция, без параметров, возвращает тип Т.
                            Action<T> - "действие", ничего не возвращает, принимает один параметр типа Т.
                            Как бы ты одной сущностью заменил ?
                              Цитата IL_Agent @
                              Цитата MyNameIsIgor @
                              В дотнете вон тоже вполне "официально" делегаты Func и Action копипастой сделаны.
                              Хотя даже само наличие двух сущностей для одного и того же изрядно доставляет.

                              Они не совсем для одного и того же.
                              Func<T> - функция, без параметров, возвращает тип Т.
                              Action<T> - "действие", ничего не возвращает, принимает один параметр типа Т.
                              Как бы ты одной сущностью заменил ?

                              Я не очень понял, о чем вы, но может Action<T> заменить на Func<void, T>?
                                Цитата Qraizer @
                                Гм. Вообще-то это следствие, а не причина.

                                нет. это причина, а спецификаторы доступа -- всего лишь одно из языковых средств, помогающих скрывать детали реализации
                                1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (495) « Первая ... 327 328 [329] 330 331 ...  494 495


                                Рейтинг@Mail.ru
                                [ Script execution time: 0.4957 ]   [ 14 queries used ]   [ Generated: 31.07.26, 16:07 GMT ]