Re[2]: Что нужно добавить в C#?
От: IT Россия linq2db.com
Дата: 06.04.13 16:48
Оценка: +1
Здравствуйте, Didi, Вы писали:

D>Ничего не напоминает? Действительно, история развивается по спирали...


Не напоминает. Фичи фичам рознь. Например, в том же PL/1 для того, чтобы сделать возможность вызывать функцию рекурсивно, нужно было помечать её особым ключевым словом. Вот такие там в основном были фичи. Ничего общего с тем что здесь обсуждается.
Если нам не помогут, то мы тоже никого не пощадим.
Re[3]: Что нужно добавить в C#?
От: AlexRK  
Дата: 06.04.13 17:13
Оценка:
Здравствуйте, IT, Вы писали:

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


D>>Ничего не напоминает? Действительно, история развивается по спирали...


IT>Не напоминает. Фичи фичам рознь. Например, в том же PL/1 для того, чтобы сделать возможность вызывать функцию рекурсивно, нужно было помечать её особым ключевым словом. Вот такие там в основном были фичи. Ничего общего с тем что здесь обсуждается.


Ну, в C# тоже достаточно революционных фич а-ля partial methods.
Re[4]: Что нужно добавить в C#?
От: IT Россия linq2db.com
Дата: 06.04.13 17:21
Оценка:
Здравствуйте, AlexRK, Вы писали:

IT>>Не напоминает. Фичи фичам рознь. Например, в том же PL/1 для того, чтобы сделать возможность вызывать функцию рекурсивно, нужно было помечать её особым ключевым словом. Вот такие там в основном были фичи. Ничего общего с тем что здесь обсуждается.


ARK>Ну, в C# тоже достаточно революционных фич а-ля partial methods.


Весьма полезная штукенция, если речь идёт о генерации кода. При наличии полноценного МП, конечно, рудимент, но до полноценного МП нам ещё как до Парижу.
... << RSDN@Home 1.2.0 alpha 5 rev. 69>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[2]: Что нужно добавить в C#?
От: Andir Россия
Дата: 07.04.13 07:47
Оценка:
Здравствуйте, koodeer, Вы писали:

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

В эту же кучу ограничение дженериков на параметризованный конструктор типа.

--
С Уважением, Andir!
using(<< RSDN@Home 1.2.0 alpha 5 rev. 67>>) { /* Работаем */ }
Re[3]: Что нужно добавить в C#?
От: Ilya81  
Дата: 08.04.13 14:00
Оценка:
Здравствуйте, Andir, Вы писали:

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


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

A>В эту же кучу ограничение дженериков на параметризованный конструктор типа.

A>--

A>С Уважением, Andir!
Вот это точно! А ещё ограничение на отсутсвие управляемых указателей, чтоб можно было писать
T* pT1= (T*)Marshal.AllocHGlobal(n*Marshal.SizeOf(typeof(T)));



А самое желательное, то что вообще-то есть, но не в пользовательской версии, а в Singularity — восклицательные знаки для запрета пустых указателей.
Re: Что нужно добавить в C#?
От: pavel783  
Дата: 10.04.13 06:19
Оценка:
чего не хватает так это множественного наследования, просто за основу программирования взята математическая модель с ее иерархическими цепочками от частного к общему, с другой стороны должны же когдато предоставить возможность множественного кроссовера как например делается с растениями или в генетическом алгоритме — это был бы прорыв
Re[2]: Что нужно добавить в C#?
От: Аноним  
Дата: 10.04.13 07:50
Оценка:
Здравствуйте, pavel783, Вы писали:

P>чего не хватает так это множественного наследования, просто за основу программирования взята математическая модель с ее иерархическими цепочками от частного к общему, с другой стороны должны же когдато предоставить возможность множественного кроссовера как например делается с растениями или в генетическом алгоритме — это был бы прорыв


Я против
Re[3]: Что нужно добавить в C#?
От: samius Япония http://sams-tricks.blogspot.com
Дата: 10.04.13 07:51
Оценка:
Здравствуйте, Аноним, Вы писали:

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


P>>чего не хватает так это множественного наследования


А>Я против

Не беспокойтесь, изменениями в C# этот вопрос не решить. Тут нужно рантайм менять.
Re[2]: Что нужно добавить в C#?
От: Codechanger Россия  
Дата: 10.04.13 09:45
Оценка: +2
Здравствуйте, pavel783, Вы писали:

P>чего не хватает так это множественного наследования, просто за основу программирования взята математическая модель с ее иерархическими цепочками от частного к общему, с другой стороны должны же когдато предоставить возможность множественного кроссовера как например делается с растениями или в генетическом алгоритме — это был бы прорыв


Это уже проходили в С++. При среднем уровне программиста вреда от множественного наследования больше, чем пользы, да и ногу отстрелить себе значительно легче. За 10 лет программирования на .Net как-то не возникало задачи, требующей множественное наследование.
Re[2]: Что нужно добавить в C#?
От: Flammable Россия  
Дата: 11.04.13 06:40
Оценка:
Здравствуйте, pavel783, Вы писали:
P> возможность множественного кроссовера как например делается с растениями или в генетическом алгоритме — это был бы прорыв
Кроссинговера, наверное. А вообще, как уже написали — не нужно.
Re: Что нужно добавить в C#?
От: Аноним  
Дата: 12.04.13 14:11
Оценка:
Автоматические свойства, с возможностью изменения только из конструктора.

int Property { get; initonly set; }
Re[2]: Что нужно добавить в C#?
От: hardcase Пират http://nemerle.org
Дата: 12.04.13 18:00
Оценка: +4
Здравствуйте, Аноним, Вы писали:

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


А>
А>int Property { get; initonly set; }
А>


Два слова тут лишние: initonly и set. Именно так сделано в Nemerle.
/* иЗвиНите зА неРовнЫй поЧерК */
Re: Что нужно добавить в C#?
От: Silver_S Ниоткуда  
Дата: 23.04.13 10:23
Оценка:
Как-то автоматизировать написание 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); }
  ...
}
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.