Re[9]: Добавил поддержку auto-property (как в C# 3.0)
От: Lazy Cjow Rhrr Россия lj://_lcr_
Дата: 16.05.07 07:42
Оценка: 24 (2) +1
VladD2,

IT>>Нет. А ты можешь доказать, что такое применение не найдётся в будущем?


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


Для прикладных программистов это стопудова +1.

Но language designer-ы — это особые фрукты. От их деятельности зависят (потенциально) тысячи людей. Поэтому они (LD) должны обладать даром предвидения (и чем больше дар, тем лучше) и теоретической базой для создания наиболее общих решений, иначе язык погрязнет в десятках несовместимых версий (или тяжёлом наследии с другой стороны) и кривых воркэраундах. Примеров предостаточно (те же указатели на члены в C++).
quicksort =: (($:@(<#[),(=#[),$:@(>#[)) ({~ ?@#)) ^: (1<#)
Re[10]: Добавил поддержку auto-property (как в C# 3.0)
От: VladD2 Российская Империя www.nemerle.org
Дата: 16.05.07 13:06
Оценка:
Здравствуйте, Lazy Cjow Rhrr, Вы писали:

LCR>Но language designer-ы — это особые фрукты. От их деятельности зависят (потенциально) тысячи людей. Поэтому они (LD) должны обладать даром предвидения (и чем больше дар, тем лучше) и теоретической базой для создания наиболее общих решений, иначе язык погрязнет в десятках несовместимых версий (или тяжёлом наследии с другой стороны) и кривых воркэраундах. Примеров предостаточно (те же указатели на члены в C++).


Это все оправдывает впихивание фич "на всякий пожарный"?
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[11]: Добавил поддержку auto-property (как в C# 3.0)
От: IT Россия linq2db.com
Дата: 16.05.07 13:14
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Это все оправдывает впихивание фич "на всякий пожарный"?


Главное теперь осталось определить грань между "всяким пожарным" и даром предвидения
... << RSDN@Home 1.2.0 alpha rev. 0>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[12]: Добавил поддержку auto-property (как в C# 3.0)
От: VladD2 Российская Империя www.nemerle.org
Дата: 16.05.07 13:30
Оценка:
Здравствуйте, IT, Вы писали:

IT>Главное теперь осталось определить грань между "всяким пожарным" и даром предвидения


Отсуствие внятного обоснования.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[13]: Добавил поддержку auto-property (как в C# 3.0)
От: IT Россия linq2db.com
Дата: 16.05.07 22:42
Оценка:
Здравствуйте, VladD2, Вы писали:

IT>>Главное теперь осталось определить грань между "всяким пожарным" и даром предвидения


VD>Отсуствие внятного обоснования.


Интуиция такая вещь, которую нельзя обосновать. Точнее если её обосновать, то это уже не будет интуицией.
... << RSDN@Home 1.2.0 alpha rev. 0>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[11]: Добавил поддержку auto-property (как в C# 3.0)
От: Lazy Cjow Rhrr Россия lj://_lcr_
Дата: 17.05.07 06:37
Оценка:
VladD2,

VD>Это все оправдывает впихивание фич "на всякий пожарный"?


Фича уже впихнута. Называется "auto-properties". Предлагается просто чуть-чуть обобщить её поведение, нет? Обобщение слишком сложно в реализации?
quicksort =: (($:@(<#[),(=#[),$:@(>#[)) ({~ ?@#)) ^: (1<#)
Re[14]: Добавил поддержку auto-property (как в C# 3.0)
От: VladD2 Российская Империя www.nemerle.org
Дата: 17.05.07 13:00
Оценка:
Здравствуйте, IT, Вы писали:

VD>>Отсуствие внятного обоснования.


IT>Интуиция такая вещь, которую нельзя обосновать. Точнее если её обосновать, то это уже не будет интуицией.


Итересная инженерная технология .
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[12]: Добавил поддержку auto-property (как в C# 3.0)
От: VladD2 Российская Империя www.nemerle.org
Дата: 17.05.07 13:00
Оценка:
Здравствуйте, Lazy Cjow Rhrr, Вы писали:

VD>>Это все оправдывает впихивание фич "на всякий пожарный"?


LCR>Фича уже впихнута. Называется "auto-properties". Предлагается просто чуть-чуть обобщить её поведение, нет? Обобщение слишком сложно в реализации?


Где предлагается? Предлагается принудить других дуать над какой-то черт знает чем, причем совершенно неизвесно зачем.

Вот действия по такому сценарию и приводят к появлению С++. Хотя ради справедливости надо заметить, Струсруп был все же более разумен.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
В продолжение беседы
От: Блудов Павел Россия  
Дата: 23.10.07 02:09
Оценка:
Здравствуйте, VladD2 & IT, Вы писали:

IT>>А только getter или только setter можно задать?

VD>Нет. В этом нет смысла. Поле то ведь скрытое.
VD>Вообще спецификацию C# писали разумные люди .
Илья в своём блоге доказывает обратное. Мысли довольно здравые.
... << RSDN@Home 1.2.0 alpha rev. 774>>
Re: В продолжение беседы
От: VladD2 Российская Империя www.nemerle.org
Дата: 23.10.07 10:14
Оценка:
Здравствуйте, Блудов Павел, Вы писали:

IT>>>А только getter или только setter можно задать?

VD>>Нет. В этом нет смысла. Поле то ведь скрытое.
VD>>Вообще спецификацию C# писали разумные люди .
БП>Илья в своём блоге доказывает обратное. Мысли довольно здравые.

Ты читал что там написано? Он предлагает разумные расширения. А IT не разумное (точнее бессмысленное).
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: В продолжение беседы
От: VladD2 Российская Империя www.nemerle.org
Дата: 23.10.07 10:57
Оценка: 14 (1)
Здравствуйте, Блудов Павел, Вы писали:

БП>Илья в своём блоге доказывает обратное. Мысли довольно здравые.


Можно, кстати, продумать синтаксис и добавить расширения в Немерле.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Есть один момент
От: Блудов Павел Россия  
Дата: 24.10.07 00:49
Оценка:
Здравствуйте, 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 нравится всё больше и больше.
... << RSDN@Home 1.2.0 alpha rev. 774>>
Re: Есть один момент
От: Сергей Туленцев Россия http://software.tulentsev.com
Дата: 24.10.07 06:50
Оценка:
Здравствуйте, Блудов Павел, Вы писали:

БП>Вобщем чем больше я смотрю на автосвойства, тем они мне меньше нравятся. А макрос Accessor нравится всё больше и больше.

Хорошо, когда есть выбор. Record+Accessor, они, конечно, сладкая парочка.
Но кому-то нравится больше писать так

public Foo : int
{ get; private set;}

// нежели так
[Accessor(WantSetter = true)] _foo;


Может, я отстал от жизни и Accessor обзавелся красивой формой, типа Accessor(get; set?
--
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.