VladD2,
IT>>Нет. А ты можешь доказать, что такое применение не найдётся в будущем?
VD>Самая большая ошика программистов — это попытки реализовать супер универсальные вещи учитывающие все что может произойти в будущем.
Для прикладных программистов это стопудова +1.
Но language designer-ы — это особые фрукты. От их деятельности зависят (потенциально) тысячи людей. Поэтому они (LD) должны обладать даром предвидения (и чем больше дар, тем лучше) и теоретической базой для создания наиболее общих решений, иначе язык погрязнет в десятках несовместимых версий (или тяжёлом наследии с другой стороны) и кривых воркэраундах. Примеров предостаточно (те же указатели на члены в C++).
Здравствуйте, Lazy Cjow Rhrr, Вы писали:
LCR>Но language designer-ы — это особые фрукты. От их деятельности зависят (потенциально) тысячи людей. Поэтому они (LD) должны обладать даром предвидения (и чем больше дар, тем лучше) и теоретической базой для создания наиболее общих решений, иначе язык погрязнет в десятках несовместимых версий (или тяжёлом наследии с другой стороны) и кривых воркэраундах. Примеров предостаточно (те же указатели на члены в C++).
Это все оправдывает впихивание фич "на всякий пожарный"?
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[11]: Добавил поддержку auto-property (как в C# 3.0)
Здравствуйте, VladD2, Вы писали:
IT>>Главное теперь осталось определить грань между "всяким пожарным" и даром предвидения
VD>Отсуствие внятного обоснования.
Интуиция такая вещь, которую нельзя обосновать. Точнее если её обосновать, то это уже не будет интуицией.
... << RSDN@Home 1.2.0 alpha rev. 0>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[11]: Добавил поддержку auto-property (как в C# 3.0)
Здравствуйте, IT, Вы писали:
VD>>Отсуствие внятного обоснования.
IT>Интуиция такая вещь, которую нельзя обосновать. Точнее если её обосновать, то это уже не будет интуицией.
Итересная инженерная технология .
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[12]: Добавил поддержку auto-property (как в C# 3.0)
Здравствуйте, Lazy Cjow Rhrr, Вы писали:
VD>>Это все оправдывает впихивание фич "на всякий пожарный"?
LCR>Фича уже впихнута. Называется "auto-properties". Предлагается просто чуть-чуть обобщить её поведение, нет? Обобщение слишком сложно в реализации?
Где предлагается? Предлагается принудить других дуать над какой-то черт знает чем, причем совершенно неизвесно зачем.
Вот действия по такому сценарию и приводят к появлению С++. Хотя ради справедливости надо заметить, Струсруп был все же более разумен.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, VladD2 & IT, Вы писали:
IT>>А только getter или только setter можно задать? VD>Нет. В этом нет смысла. Поле то ведь скрытое. VD>Вообще спецификацию C# писали разумные люди .
Илья в своём блоге доказывает обратное. Мысли довольно здравые.
Здравствуйте, Блудов Павел, Вы писали:
IT>>>А только getter или только setter можно задать? VD>>Нет. В этом нет смысла. Поле то ведь скрытое. VD>>Вообще спецификацию C# писали разумные люди . БП>Илья в своём блоге доказывает обратное. Мысли довольно здравые.
Ты читал что там написано? Он предлагает разумные расширения. А IT не разумное (точнее бессмысленное).
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, VladD2, Вы писали:
VD>Можно, кстати, продумать синтаксис и добавить расширения в Немерле.
Я думал сегодня ночью об этом и понял, почему нет инициализаторов для автосвойств в C#
public Foo { get; } : Foo = Foo();
можно понимать как
private _foo : Foo = Foo();
public Foo : Foo { get { _foo; } }
а можно как
private _foo : Foo;
public Foo : Foo{ get { _foo ?? (_foo = Foo()); } }
Поведение получается разным.
Можно конечно придумать два синтаксиса для обоих случаев, но разработчики C# пошли более простым путём — забили на инициализаторов.
Вобщем чем больше я смотрю на автосвойства, тем они мне меньше нравятся. А макрос Accessor нравится всё больше и больше.
Здравствуйте, Блудов Павел, Вы писали:
БП>Вобщем чем больше я смотрю на автосвойства, тем они мне меньше нравятся. А макрос Accessor нравится всё больше и больше.
Хорошо, когда есть выбор. Record+Accessor, они, конечно, сладкая парочка.
Но кому-то нравится больше писать так
public Foo : int
{ get; private set;}
// нежели так
[Accessor(WantSetter = true)] _foo;
Может, я отстал от жизни и Accessor обзавелся красивой формой, типа Accessor(get; set?