Здравствуйте, Didi, Вы писали:
D>Ничего не напоминает? Действительно, история развивается по спирали...
Не напоминает. Фичи фичам рознь. Например, в том же PL/1 для того, чтобы сделать возможность вызывать функцию рекурсивно, нужно было помечать её особым ключевым словом. Вот такие там в основном были фичи. Ничего общего с тем что здесь обсуждается.
Если нам не помогут, то мы тоже никого не пощадим.
Здравствуйте, IT, Вы писали:
IT>Здравствуйте, Didi, Вы писали:
D>>Ничего не напоминает? Действительно, история развивается по спирали...
IT>Не напоминает. Фичи фичам рознь. Например, в том же PL/1 для того, чтобы сделать возможность вызывать функцию рекурсивно, нужно было помечать её особым ключевым словом. Вот такие там в основном были фичи. Ничего общего с тем что здесь обсуждается.
Ну, в C# тоже достаточно революционных фич а-ля partial methods.
Здравствуйте, AlexRK, Вы писали:
IT>>Не напоминает. Фичи фичам рознь. Например, в том же PL/1 для того, чтобы сделать возможность вызывать функцию рекурсивно, нужно было помечать её особым ключевым словом. Вот такие там в основном были фичи. Ничего общего с тем что здесь обсуждается.
ARK>Ну, в C# тоже достаточно революционных фич а-ля partial methods.
Весьма полезная штукенция, если речь идёт о генерации кода. При наличии полноценного МП, конечно, рудимент, но до полноценного МП нам ещё как до Парижу.
... << RSDN@Home 1.2.0 alpha 5 rev. 69>>
Если нам не помогут, то мы тоже никого не пощадим.
Здравствуйте, koodeer, Вы писали:
K>Хотелось бы иметь ограничение дженериков как простых типов, чтобы можно было реализовывать быстрые вычисления.
В эту же кучу ограничение дженериков на параметризованный конструктор типа.
Здравствуйте, Andir, Вы писали:
A>Здравствуйте, koodeer, Вы писали:
K>>Хотелось бы иметь ограничение дженериков как простых типов, чтобы можно было реализовывать быстрые вычисления. A>В эту же кучу ограничение дженериков на параметризованный конструктор типа.
A>-- A>С Уважением, Andir!
Вот это точно! А ещё ограничение на отсутсвие управляемых указателей, чтоб можно было писать
чего не хватает так это множественного наследования, просто за основу программирования взята математическая модель с ее иерархическими цепочками от частного к общему, с другой стороны должны же когдато предоставить возможность множественного кроссовера как например делается с растениями или в генетическом алгоритме — это был бы прорыв
Re[2]: Что нужно добавить в C#?
От:
Аноним
Дата:
10.04.13 07:50
Оценка:
Здравствуйте, pavel783, Вы писали:
P>чего не хватает так это множественного наследования, просто за основу программирования взята математическая модель с ее иерархическими цепочками от частного к общему, с другой стороны должны же когдато предоставить возможность множественного кроссовера как например делается с растениями или в генетическом алгоритме — это был бы прорыв
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, pavel783, Вы писали:
P>>чего не хватает так это множественного наследования
А>Я против
Не беспокойтесь, изменениями в C# этот вопрос не решить. Тут нужно рантайм менять.
Здравствуйте, pavel783, Вы писали:
P>чего не хватает так это множественного наследования, просто за основу программирования взята математическая модель с ее иерархическими цепочками от частного к общему, с другой стороны должны же когдато предоставить возможность множественного кроссовера как например делается с растениями или в генетическом алгоритме — это был бы прорыв
Это уже проходили в С++. При среднем уровне программиста вреда от множественного наследования больше, чем пользы, да и ногу отстрелить себе значительно легче. За 10 лет программирования на .Net как-то не возникало задачи, требующей множественное наследование.
Здравствуйте, pavel783, Вы писали: P> возможность множественного кроссовера как например делается с растениями или в генетическом алгоритме — это был бы прорыв
Кроссинговера, наверное. А вообще, как уже написали — не нужно.
Re: Что нужно добавить в C#?
От:
Аноним
Дата:
12.04.13 14:11
Оценка:
Автоматические свойства, с возможностью изменения только из конструктора.
Как-то автоматизировать написание wrapper. Хотя синтаксис будет кривоватый, какой ни придумывай, но хоть что нибудь. Иногда нужно.
Например так:
class C
{
private Cl2 _member;
...
wrappers(_member)
{
int Prop1{get;set;}
int Func1(int p1, ref int p2);
...
}
}
В фигурных скобках декларация членов как в описании интерфейса (может с модификаторами доступа public protected private), эти члены появляются в классе, реализуются как обертки над членами _member.
Т.е раскрываются в такое
class C
{
private Cl2 _member;
public Prop1{ get{return _member.Prop1;} set{_member.Prop1=value;} }
public int Func1(int p1, ref int p2){ return member.Func1(p1, ref p2); }
...
}