Re[15]: Будущее C#
От: WolfHound  
Дата: 02.07.03 05:11
Оценка: :)
Здравствуйте, IT, Вы писали:

IT>Неужели один прочитанный учебник может сделать из вчерашнего студента закоренелого профи?

Нет но начальные знания дать может, а у них и этого нет.
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[16]: Будущее C#
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 02.07.03 06:13
Оценка:
Здравствуйте, WolfHound, Вы писали:

AVK>>Не хами.

WH>Простите погорячился. Просто мне надоело что вы с Владом орете на каждом шагу о примитивности С++ при этом имея весьма отдаленные представления о нем.

Нормальные мы имеем представления, не переживай. А о применимости не зря говорим, поскольку наболело. Мы вот вчера с retalik на эту тему общались, у него мнение такое же, хотя до недавнего времени, как я понимаю, он писал на С++. Он тоже наверное весьма отдаленные представления имеет?

AVK>>Я точно так же могу сказать что пока ты не напишешь проект размером больше 1М на шарпе я с тобой на тему C++ vs C# разговаривать не буду.

WH>Не боись напишу.

Вот когда напишешь тогда и поговорим. А пока что это, извини за резкость, просто треп.
... << RSDN@Home 1.1 beta 1 >>
AVK Blog
Re[20]: Будущее C#
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 02.07.03 06:13
Оценка: +1
Здравствуйте, WolfHound, Вы писали:

WH>Хочешь знать что можно сделать на шаблонах?


Вопрос не в том что можно, вопрос в том что нужно. На асме к примеру можно так извратнуться что народ будет кипятком писать, вот только в практическом плане пользы от этого ноль. Главное отличие моего и твоего отношения к С++ в том что мне не шашечки, мне ехать. А вот ехать на С++ не очень удобно, вне зависимости от того читал ты Александреску, или не читал. В полезности шаблонов никто не сомневается, но очень большой кусок их применения в С++ это не столько какой то особенный функционал, сколько залатывание дыр самого языка. Раньше, до шаблонов, подобным образом применяли макросы.
... << RSDN@Home 1.1 beta 1 >>
AVK Blog
Re[20]: Будущее C#
От: Plutonia Experiment Беларусь http://blogs.rsdn.org/ikemefula
Дата: 02.07.03 07:40
Оценка: 22 (2)
Здравствуйте, WolfHound, Вы писали:

PE>>Значит у тебя аргумент — Александруску и своей головой думать не надо ?

WH>Хочешь знать что можно сделать на шаблонах?
WH>Без проблем попробуй разберись
Автор: WolfHound
Дата: 22.06.03
. Хотя для меня и тех кто освоил идеи Александреску проблем не составит.

WH>Можно почитать эти ветки По мотивам SWL
Автор: WolfHound
Дата: 27.04.03
, Виртуальные конструкторы 2
Автор: WolfHound
Дата: 09.06.03
, Быстрое сохраниние/восстановление членов класса
Автор: Keeper_andrew
Дата: 15.04.03
.



Несколько гвоздей в гроб подхода Александруску.

1. Сам факт, что книга такого масштаба появилась только сейчас говорит о том, что C++ многогранен.
2. Этот же факт говорит о том, что мало кто понимает всю мощь этого языка.
3. Это же означает, что не только новичек, но и середнячек не потянет все рулезы концентрированного С++.
Такая техника сродни уровню гросстмейстера мирового класса в шахматах — их очень мало.
4. Я не вижу отражения существующих тенденций — компонентное программирование и тд.
__declspec(__dllexport) — это далеко не то, что надо сейчас.

В тех примерах, что ты привел, много интересного. Но все те же вещи можно сделать настолько просто, что любой новичек сразу подхватит проект. В примере про виртуальные конструкторы ты(или не ты) изобрел моникеры и интерфейсы, которые есть в COM, которые есть в других средах под такими же или другими именами, например локаторы.

Я не вижу реальной неоходимости внедрять это. Невозможно заставить людей выучить все.
Re[10]: Будущее C#
От: alexkro  
Дата: 02.07.03 07:57
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Здравствуйте, alexkro, Вы писали:


AVK>>>Вот о том и речь что ты пытаешься мерять дотнет плюсовым аршином. В отличие от С++ рассматривать C# отдельно от его рантайма не имеет смысла, обычный язык почти без изысков.


A>>Да, я сравниваю языки программирования. Среда исполнения мне не особенно важна.


AVK>В дотнете крайне важна. Без нее языки не имеют смысла. В дотнете по сути все сделано наоборот — шарп разрабатывался под рантайм, а не рантайм под шарп. Собственно это в той или иной степени имеет отношение ко всем языкам дотнета.


A>>Нехороший сайт попался. Нужно поискать "policy basic_string" на www.cuj.com. Первая ссылка — это она и есть.


AVK>Чего то там много, нет времени все это читать. Объясни на пальцах что это такое и какие у него бенефиты.


AVK>>>Языки как раз отличаются не очень сильно, сильно отличается рантайм.


A>>На C++ тоже можно для .NET программировать


AVK>Ну и что? Если укладываться в рамки CLR то от С++ остануться рожки да ножки.


A>>и при этом использовать большинство его (C++) идиом.


AVK>Большинство идиом в managed коде? Не получится.


A>>Кстати, этот подход (C++ для .NET) будет еще более сильно развит в следующей версии VC++.


AVK>Откуда дровишки?


А нужны ли они тебе?

PS: на остальное тоже нет желания отвечать. Только время зря терять, если честно.
Re[12]: Будущее C#
От: alexkro  
Дата: 02.07.03 08:22
Оценка:
Здравствуйте, Plutonia Experiment, Вы писали:

PE>Здравствуйте, alexkro, Вы писали:


DG>>>К тому, что C++ выбирать в качестве языка разработки не удобно(не выгодно и т.д.)

DG>>>Одна из основных проблем, что C++ стал слишком тяжелым и слишком уж с тяжелым наследием прошлого.
A>>Это твое личное мнение.

PE>С++ — это профессиональный инструмент.


А нам значит нужны какие-то другие инструменты.

PE> Новичку в нем тяжело.


Как и везде.

PE>Нынче хороший С++ программист сродни хорошему шахматисту — и тех и других мало. Разница лишь в том, что программисты на С++ зарабатывают деньги этим самым С++, а шахматисты зарабатывают чаще всего не шахматами.


PE>С одной стороны это хорошо — мощь потрясающая. С другой — изучать этот язык надо долго.

PE>Новичку нельзя доверить суппорт проекта на С++ — дохлый номер.

Чистая дискриминация. Ты подразумеваешь, что остальные C++ не поймут?

PE>Такие чудеса, что демонстрирует Александреску, нельзя, к сожалению, внедрять повсюду.


Это не чудеса, а просто новая парадигма дизайна и программирования. Можно ее принять и использовать, а можно программировать как раньше. C++ все поддерживает, недаром его называют multi-paradigm.
Re[13]: Будущее C#
От: Plutonia Experiment Беларусь http://blogs.rsdn.org/ikemefula
Дата: 02.07.03 08:32
Оценка:
Здравствуйте, alexkro, Вы писали:

PE>> Новичку в нем тяжело.

A>Как и везде.

Нет. Не везде. На шарп я перепрыгнул езо всяких книг, мануалов и тд. Просто нача писать. Потом были курсы, которые я проспал. В жаве тож самое. Парень ушел от нас и пересел без проблем на жаву. В вот на С++ так не перепрыгнешь.

PE>>Нынче хороший С++ программист сродни хорошему шахматисту — и тех и других мало. Разница лишь в том, что программисты на С++ зарабатывают деньги этим самым С++, а шахматисты зарабатывают чаще всего не шахматами.

PE>>С одной стороны это хорошо — мощь потрясающая. С другой — изучать этот язык надо долго.
PE>>Новичку нельзя доверить суппорт проекта на С++ — дохлый номер.

A>Чистая дискриминация. Ты подразумеваешь, что остальные C++ не поймут?

Это не дискриминация. Больше всего рядовых игроков, рядовых программистов.
Даеко не всякий сможет подойти к помосту и выжать 300 кг. Хотя теоретически это по плечу каждому.
С шахматами и С++ тоже самое.


PE>>Такие чудеса, что демонстрирует Александреску, нельзя, к сожалению, внедрять повсюду.


A>Это не чудеса, а просто новая парадигма дизайна и программирования. Можно ее принять и использовать, а можно программировать как раньше. C++ все поддерживает, недаром его называют multi-paradigm.

В дизайне я не увидел ничего нового. Все это было, только реализовывалось более громоздко, но более наглядно.
Я называю подход Александреску — концентрированный С++
Re[21]: Будущее C#
От: alexkro  
Дата: 02.07.03 08:54
Оценка:
Здравствуйте, Plutonia Experiment, Вы писали:

PE>Несколько гвоздей в гроб подхода Александруску.


PE>1. Сам факт, что книга такого масштаба появилась только сейчас говорит о том, что C++ многогранен.


Многогранен — это точно. Но что значит "только сейчас"? Книга написана в 2001-м, некоторые идеи (например, static_checker<> — так его раньше Александреску называл) были у него уже опубликованы в 1999-м. Про Typelist он тоже в 1999-м проговорился. Все это — почти сразу после принятия стандарта.

PE>2. Этот же факт говорит о том, что мало кто понимает всю мощь этого языка.


Что-ж, многие еще до сих пор не знают, что такое "using namespace std". Разве это о чем-либо говорит? Просто люди когда-то научились программировать на C++ (на самом деле на C with classes), и с тех пор им было пофиг свои знания обновить.
Re[22]: Будущее C#
От: Plutonia Experiment Беларусь http://blogs.rsdn.org/ikemefula
Дата: 02.07.03 09:00
Оценка:
Здравствуйте, alexkro, Вы писали:

PE>>1. Сам факт, что книга такого масштаба появилась только сейчас говорит о том, что C++ многогранен.


A>Многогранен — это точно. Но что значит "только сейчас"? Книга написана в 2001-м, некоторые идеи (например, static_checker<> — так его раньше Александреску называл) были у него уже опубликованы в 1999-м. Про Typelist он тоже в 1999-м проговорился. Все это — почти сразу после принятия стандарта.


Все равно поздно. Как ни крути. Уже 2003 год.


PE>>2. Этот же факт говорит о том, что мало кто понимает всю мощь этого языка.


A>Что-ж, многие еще до сих пор не знают, что такое "using namespace std". Разве это о чем-либо говорит? Просто люди когда-то научились программировать на C++ (на самом деле на C with classes), и с тех пор им было пофиг свои знания обновить.


Таких, к сожалению, большинство. Новозможно всем сразу стать профессионалами уровня Александреску.
Re[21]: Будущее C#
От: WolfHound  
Дата: 02.07.03 09:44
Оценка: 3 (1)
Здравствуйте, AndrewVK, Вы писали:

AVK>Вопрос не в том что можно, вопрос в том что нужно. хъ

Былабы возможность,а применение найдется. Нука изобрази на C#

#pragma once
#define MINIX_SELF()\
        SelfType* Self()        {return static_cast<        SelfType*>(this);}\
const    SelfType* Self()const    {return static_cast<const    SelfType*>(this);}


#pragma once
template<class SelfType>
struct SingleThread
{
    struct Locker
    {
        Locker(SelfType*){}
    private:
        Locker(const Locker&);
        Locker&operator=(const Locker&);
    };
    struct StaticLocker
    {
        StaticLocker(SelfType*){}
    private:
        StaticLocker(const StaticLocker&);
        StaticLocker&operator=(const StaticLocker&);
    };
};
template<class SelfType>
struct MultiThread
{
    struct Locker
    {
        Locker(SelfType* self)
            :self_(self)
        {
            self_->cs_.Lock();
        }
        ~Locker()
        {
            self_->cs_.Unlock();
        }
    private:
        Locker(const Locker&);
        Locker&operator=(const Locker&);
        MultiThread* self_;
    };
    struct StaticLocker
    {
        StaticLocker(SelfType* self)
            :self_(self)
        {
            self_->scs_.Lock();
        }
        ~StaticLocker()
        {
            self_->scs_.Unlock();
        }
    private:
        StaticLocker(const StaticLocker&);
        StaticLocker&operator=(const StaticLocker&);
        MultiThread* self_;
    };
private:
    struct CS{void Lock(){}void Unlock(){}};
    CS cs_;
    static CS scs_;
};
template<class SelfType>
typename MultiThread<SelfType>::CS MultiThread<SelfType>::scs_;

#define SelfLock()            SelfType::Locker        locker(Self());
#define SelfStaticLock()    SelfType::StaticLocker    staticLocker(Self());


#pragma once
#include "mixin.h"
#include "Thread.h"
struct ITest1
{
    virtual void Test1Fn1()=0;
    virtual void Test1Fn2()=0;
    virtual void Test1Fn3()=0;
};
template<class SelfType>
struct ImplTest1:ITest1
{
    MINIX_SELF()
    void Test1Fn1()
    {
        SelfLock()
        Self()->Impl2();
    }
    void Test1Fn2()
    {
        Self()->Impl3();
    }
    void Test1Fn3()
    {
        SelfLock()
        Self()->Impl1();
    }
    void Impl1()
    {
    }
};


#pragma once
#include "mixin.h"
#include "Thread.h"
struct ITest2
{
    virtual void Test2Fn1()=0;
    virtual void Test2Fn2()=0;
    virtual void Test2Fn3()=0;
};
template<class SelfType>
struct ImplTest2:ITest2
{
    MINIX_SELF()
    void Test2Fn1()
    {
        Self()->Impl3();
    }
    void Test2Fn2()
    {
        SelfLock()
        Self()->Impl1();
    }
    void Test2Fn3()
    {
        SelfStaticLock()
        Self()->Impl2();
    }
    void Impl2()
    {
    }
};


#pragma once
#include "mixin.h"
#include "Thread.h"
struct ITest3
{
    virtual void Test3Fn1()=0;
    virtual void Test3Fn2()=0;
    virtual void Test3Fn3()=0;
};
template<class SelfType>
struct ImplTest3:ITest3
{
    MINIX_SELF()
    void Test3Fn1()
    {
        SelfStaticLock()
        Self()->Impl2();
    }
    void Test3Fn2()
    {
        SelfStaticLock()
        Self()->Impl1();
    }
    void Test3Fn3()
    {
        SelfLock()
        Self()->Impl3();
    }
    void Impl3()
    {
    }
};
template<class SelfType>
struct Impl2Test3:ITest3
{
    MINIX_SELF()
    void Test3Fn1()
    {
        SelfStaticLock()
        Self()->Impl2();
    }
    void Test3Fn2()
    {
        SelfStaticLock()
        Self()->Impl1();
    }
    void Test3Fn3()
    {
        SelfLock()
        Self()->Impl3();
    }
};


#include "stdafx.h"
#include "ITest1.h"
#include "ITest2.h"
#include "ITest3.h"

struct Test1
    :MultiThread<Test1>
    ,ImplTest1<Test1>
    ,ImplTest2<Test1>
    ,ImplTest3<Test1>
{
};

struct Test2
    :SingleThread<Test2>
    ,ImplTest1<Test2>
    ,ImplTest2<Test2>
    ,Impl2Test3<Test2>
{
    void Impl3()
    {
    }
};

int main()
{
    Test1 t1;
    Test2 t2;
    return 0;
}

Типовая реализация интерфейсов вполне реальная вещь. А Self()->Impl3(); и тп могут быть даже инлайнены.
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[22]: Будущее C#
От: Plutonia Experiment Беларусь http://blogs.rsdn.org/ikemefula
Дата: 02.07.03 10:04
Оценка: 1 (1)
Здравствуйте, WolfHound, Вы писали:

WH>Здравствуйте, AndrewVK, Вы писали:


AVK>>Вопрос не в том что можно, вопрос в том что нужно. хъ

WH>Былабы возможность,а применение найдется. Нука изобрази на C#

Изоразить можно.Но мне волм разбирать по коду, какая цель твоих примеров.
Если цель — показать крутой полиморфизм, то пиши сам.
Если конкретная задача для пользователя — можно попробовать.

Мне вот не нгадо выписывать чудеса всякие. Заказчик пришел и сказал — напиши аппликацию для специфического HTMLа, что можно было легко расширять ее плагинами, скриптами и тд.
Этим следует заняться.

А если — напиши мне это

// --------------------------------------------------------------------
// A little helper class for setting a boolean flag and clearing it
// on destruction.
class BoolLock
{
    bool* _pFlag;
public:
    BoolLock(bool* pFlag)
    {
        _pFlag = pFlag;
        *pFlag = true;
    }
    ~BoolLock()
    {
        *_pFlag = false;
    }
};



То я пас.


Итак, какова цель того кода, который я поскипал ?
Re[23]: Будущее C#
От: WolfHound  
Дата: 02.07.03 10:04
Оценка: +1
Здравствуйте, Plutonia Experiment, Вы писали:

PE>Таких, к сожалению, большинство. Новозможно всем сразу стать профессионалами уровня Александреску.


Это проще чем кажется. Стоит только захотеть.

А если не хочешь то по крайней мере не надо орать что С++ примитивин. Именно это меня раздражает.
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[22]: Будущее C#
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 02.07.03 10:13
Оценка:
Здравствуйте, WolfHound, Вы писали:

AVK>>Вопрос не в том что можно, вопрос в том что нужно. хъ

WH>Былабы возможность,а применение найдется. Нука изобрази на C#

Мне чего, заняться нечем разбираться в коде, да потом еще и реализовывать на шарпе. Нужно будет, реализую.
... << RSDN@Home 1.1 beta 1 >>
AVK Blog
Re[21]: Будущее C#
От: WolfHound  
Дата: 02.07.03 10:17
Оценка:
Здравствуйте, Plutonia Experiment, Вы писали:

PE>3. Это же означает, что не только новичек, но и середнячек не потянет все рулезы концентрированного С++.

Если человек хочет его можно дотяуть до этого уровня очень быстро.

PE>Такая техника сродни уровню гросстмейстера мирового класса в шахматах — их очень мало.

Лесть тебя не спасет.

PE>4. Я не вижу отражения существующих тенденций — компонентное программирование и тд.

PE>__declspec(__dllexport) — это далеко не то, что надо сейчас.
Согласен. Но во первых и на этом можно очень много, во вторых есть много задачь где это не актуально.

PE>В тех примерах, что ты привел, много интересного. Но все те же вещи можно сделать настолько просто, что любой новичек сразу подхватит проект.

Ты бы лучше смотрел интерфейс, а не реализацию. Например тотже boost может легко использовать любой новичек однако понять как именно он работает довольно не просто.

PE>В примере про виртуальные конструкторы ты(или не ты) изобрел моникеры и интерфейсы, которые есть в COM, которые есть в других средах под такими же или другими именами, например локаторы.

Это я сделал на спор. Один дельфист не верил что такое возможно.

PE>Я не вижу реальной неоходимости внедрять это. Невозможно заставить людей выучить все.

Ну сериализация очень практична, SWL это потенциально очень мощьная, гибкая и лаконичная оконная библиотека только надо комуто ее написать.
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[23]: Будущее C#
От: WolfHound  
Дата: 02.07.03 10:27
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Мне чего, заняться нечем разбираться в коде, да потом еще и реализовывать на шарпе. Нужно будет, реализую.

А что тут разбираться это просто пример того как можно написать несколько стандартных кирпичиков, а потом из них собирать классы.
А как на C# можно из стандартных кирпичиков собирать классы?
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[24]: Будущее C#
От: Plutonia Experiment Беларусь http://blogs.rsdn.org/ikemefula
Дата: 02.07.03 10:27
Оценка:
Здравствуйте, WolfHound, Вы писали:

PE>>Таких, к сожалению, большинство. Новозможно всем сразу стать профессионалами уровня Александреску.


WH>Это проще чем кажется. Стоит только захотеть.

В том то и проблема, что далеко не все смогут захотеть.
Очень сложно собрать хотябы пять человек, у которых будет абсолютно одинаковые цели, хобби, интересы и тд.

У нас работает над проектом примерно 40 человек в 4 городах в разных странах.
У каждого свое хобби, своя семья или отсутвие оной. Свои интересы. Своя жизнь.

Где нам взять 40 профессионалов уровня Александреску ?


WH>А если не хочешь то по крайней мере не надо орать что С++ примитивин. Именно это меня раздражает.

Я такого не говорил. Я сказал, что это профессинальный инструмент, многогранный, мощный и тд.
В этом его недостаток.
Re[24]: Будущее C#
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 02.07.03 10:43
Оценка:
Здравствуйте, WolfHound, Вы писали:

AVK>>Мне чего, заняться нечем разбираться в коде, да потом еще и реализовывать на шарпе. Нужно будет, реализую.

WH>А что тут разбираться это просто пример того как можно написать несколько стандартных кирпичиков, а потом из них собирать классы.

Просто чтобы прочитать такой объем исходников нужно немалое время. Я тебе могу тоже сейчас из януса кинуть кусок исходников большого объема и попросить реализовать это на С++.

WH>А как на C# можно из стандартных кирпичиков собирать классы?


Что значит из стандартных кирпичиков? Ты имеешь ввиду подключение реализаций? Пример того как это реализовать я приводил в форуме по дотнету.
... << RSDN@Home 1.1 beta 1 >>
AVK Blog
Re[24]: Будущее C#
От: Plutonia Experiment Беларусь http://blogs.rsdn.org/ikemefula
Дата: 02.07.03 10:46
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Здравствуйте, AndrewVK, Вы писали:


AVK>>Мне чего, заняться нечем разбираться в коде, да потом еще и реализовывать на шарпе. Нужно будет, реализую.

WH>А что тут разбираться это просто пример того как можно написать несколько стандартных кирпичиков, а потом из них собирать классы.
WH>А как на C# можно из стандартных кирпичиков собирать классы?


И ты столько кода нагнал, чтобы показать всю прелесть множественного наследования ?
Посмотри мои примеры на ATL — для этого не нужен Александреску.

Теперь по существу. Дизайн C# сделан специально для того, что бы такое конструирование запретить.

1. Разные компилеры далеко не 100% совместимы.
2. В компонентном программирования такие навороты не дают преимущества.
3. Сложность обнаружения и исправления ошибки. Пока не узнаешь стандарт и особенности компилера, не знаешь даже, где твоя ошибка, что это за ошибка, и твояли это ошика.
4. Сложность внесения изменений.
5. Ненаглядный дизайн.

Конструирование необходимо для быстрого решения прикладной проблемы.
В Шарпе это делается несколько другими средствами.


class ATL_NO_VTABLE CLayer : 
    public CComObjectRootEx<CComSingleThreadModel>,
    public CComCoClass<CLayer, &CLSID_Layer>,
    public ISupportErrorInfo,
    public IDispatchImpl<IObjectImpl<ILayer>, &IID_ILayer, &LIBID_VPISCRIPTINGLib>,
    public IProvideClassInfo2Impl<&CLSID_Layer, &IID_ILayer, &LIBID_VPISCRIPTINGLib>,
    public CLeakHelper



class ATL_NO_VTABLE CNpNode : 
    public CComObjectRootEx<CComSingleThreadModel>,
    public CComCoClass<CNpNode, &CLSID_NpNode>,
    public ISupportErrorInfo,
    public IConnectionPointContainerImpl<CNpNode>,
    public IConnectionPointImpl<CNpNode, &IID_IAdviseSink>,
    public IConnectionPointImpl<CNpNode, &IID_IVPIAdviseSink>,
    public IConnectionPointImpl<CNpNode, &IID_IVPIObjectAdviseSink>,
    public IPropertyNotifySinkCP<CNpNode>,
    public IDispatchImpl<INpNode, &IID_INpNode, &LIBID_NPDATALib>,
    public CNpDataBinder<CNpNode, t_nod>,
    public INpDataObject,
    public IPerPropertyBrowsing
Re[25]: Будущее C#
От: WolfHound  
Дата: 02.07.03 14:38
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Просто чтобы прочитать такой объем исходников нужно немалое время. Я тебе могу тоже сейчас из януса кинуть кусок исходников большого объема и попросить реализовать это на С++.

Если бы ты потратил хотябы минуту то понял бы что там все повторяется и разобрался бы за следующие 2 мнуты.

AVK>Что значит из стандартных кирпичиков? Ты имеешь ввиду подключение реализаций? Пример того как это реализовать я приводил в форуме по дотнету.

Вобщем да. А ссылку можно? Хотя у меня функциональность по больше в моем варианте один кирпичик может изменять дугой причем только с использованием полиморфизма времени компиляции те без ущерба производительности.
... << RSDN@Home 1.1 alpha 1 >>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[5]: Будущее C#
От: VladD2 Российская Империя www.nemerle.org
Дата: 02.07.03 15:07
Оценка:
Здравствуйте, alexkro, Вы писали:

A>Здравствуйте, VladD2, Вы писали:


VD>>Да конечно появление шаблонов откроет пути к совершенству.


A>Спорный вопрос. C# generics ничего общего с шаблонами не имеют.


Да? Ты хоть гуру CLI-gyro (проект МС-ресерча добавляющий generics к SSCLI)? Один к одному шаблоны. Только слегка упрощенные, ну, и идея шаблонов развита так что шаблонными можно делать даже интерфейсы.

A> Пока что я для них одно применение вижу — типизированные контейнеры.


Почему только контейнеры? Любые алгоритмы толерантные к типам можно будет выражать с их помощью. Хотя бесспорно, что коллекции — это самое важное место где можно применять шаблоны.

A> Никакой новой парадигмы программирования они не откроют.


А новой парадигмы и не нужно. Нужно расширение дотнета позволяющее писать более эффективные и безопастные приложения. Парадигмы же достаточно и той что есть.

A> Даже такая простая вещь как policy-based programming не станет возможна в C#.


Что ты под этим понимаешь?
... << RSDN@Home 1.1 beta 1 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.