Re[10]: Почему в генерике невозможно объявить влож. Enum и V
От: VladD2 Российская Империя www.nemerle.org
Дата: 24.08.11 17:19
Оценка:
Здравствуйте, FDSC, Вы писали:

FDS>А, собственно, что в этом плохого? Мы просто хотим структурировать программу, вводя некоторый вложенный Enum, как и в других классах. Что даст инкапсуляция перечисления в нешаблонный класс?


Ну, тогда надо было разрешать только private-энумы. Это в компиляторе можно разрулить. Сам энум сделать internal, но сделать вид, что он доступен только из конкретного типа.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[10]: Почему в генерике невозможно объявить влож. Enum и V
От: VladD2 Российская Империя www.nemerle.org
Дата: 24.08.11 17:31
Оценка:
Здравствуйте, catbert, Вы писали:

VD>>И что даст такая инкапсуляция? Что случится если этот enum будет internal?


C>То, что данный enum можно спрятать от классов внутри сборки.


Если у сборки нет друзей, то никакой разницы не будет. Да и не ясно зачем прятать константы.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[7]: Почему в генерике невозможно объявить влож. Enum и Va
От: VladD2 Российская Империя www.nemerle.org
Дата: 24.08.11 17:33
Оценка:
Здравствуйте, VladD2, Вы писали:

IT>>А почему это в Nemerle сделать нельзя?


VD>SRE не позволяет. Да и не нужно никому.


У меня встречный вопрос к _FRED_ и IT. Сколько в написанных вами проектов enum-ов вложенных в дженерик-типы?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[7]: Почему в генерике невозможно объявить влож. Enum и Va
От: IT Россия linq2db.com
Дата: 24.08.11 17:39
Оценка: +1
Здравствуйте, VladD2, Вы писали:

IT>>А почему это в Nemerle сделать нельзя?


VD>SRE не позволяет. Да и не нужно никому.


Первое мне понятно. А вот как ты догодался про никому не нужно никак в толк не возьму
Если нам не помогут, то мы тоже никого не пощадим.
Re[8]: Почему в генерике невозможно объявить влож. Enum и Va
От: VladD2 Российская Империя www.nemerle.org
Дата: 24.08.11 18:49
Оценка:
Здравствуйте, IT, Вы писали:

IT>Первое мне понятно. А вот как ты догодался про никому не нужно никак в толк не возьму


Было бы нужно, хоть кто-то за 7 лет попросил бы.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[9]: Почему в генерике невозможно объявить влож. Enum и Va
От: IT Россия linq2db.com
Дата: 24.08.11 18:59
Оценка:
Здравствуйте, VladD2, Вы писали:

IT>>Первое мне понятно. А вот как ты догодался про никому не нужно никак в толк не возьму

VD>Было бы нужно, хоть кто-то за 7 лет попросил бы.

Ну вот просят. Что теперь?
Если нам не помогут, то мы тоже никого не пощадим.
Re[10]: Почему в генерике невозможно объявить влож. Enum и V
От: VladD2 Российская Империя www.nemerle.org
Дата: 24.08.11 19:35
Оценка:
Здравствуйте, IT, Вы писали:

IT>Ну вот просят. Что теперь?


Никто ничего не просит. Орел просто перебирает доступные варианты. Он вот еще баг нашел появляющийся если класс назвать new и использовать его в констрэйнах. Баг конечно, но воспроизвести его смогут только знатные извращенцы.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[11]: Почему в генерике невозможно объявить влож. Enum и V
От: FDSC Россия consp11.github.io блог
Дата: 24.08.11 19:49
Оценка:
Здравствуйте, VladD2, Вы писали:

VD> Никто ничего не просит. Орел просто перебирает доступные варианты.


Ну, здесь ты прав: я вообще Enum не люблю, просто вяло пишу описание деклараций AST. Хотя если всё делать с перечисляемыми типами, а не простыми int-ами, то это и понадобится может.

VD> Он вот еще баг нашел появляющийся если класс назвать new и использовать его в констрэйнах. Баг конечно, но воспроизвести его смогут только знатные извращенцы.


Кстати, я таких извращенцев видел: человек 15 со словом base, когда переносили код с Java на C# с помощью "автоматического" трансформатора, который не знал, что с ним делать. А ведь в C# такой Enum создать можно, что будет, если код начнут переносить с C# на Nemerle?
Нереально?
Re[12]: Почему в генерике невозможно объявить влож. Enum и V
От: hardcase Пират http://nemerle.org
Дата: 24.08.11 20:00
Оценка: +1
Здравствуйте, FDSC, Вы писали:

FDS>Кстати, я таких извращенцев видел: человек 15 со словом base, когда переносили код с Java на C# с помощью "автоматического" трансформатора, который не знал, что с ним делать. А ведь в C# такой Enum создать можно, что будет, если код начнут переносить с C# на Nemerle?

FDS>Нереально?

Конкретно эта ситуация с этим перечислением вряд ли будет доставлять проблемы (вынос перечисления вне класса тривален). Проблемы трансляции switch-а с goto значительно реальнее.
/* иЗвиНите зА неРовнЫй поЧерК */
Re[13]: Почему в генерике невозможно объявить влож. Enum и V
От: FDSC Россия consp11.github.io блог
Дата: 24.08.11 20:03
Оценка:
Здравствуйте, hardcase, Вы писали:

H>Конкретно эта ситуация с этим перечислением вряд ли будет доставлять проблемы (вынос перечисления вне класса тривален). Проблемы трансляции switch-а с goto значительно реальнее.


Заменить base на @base — тоже тривиально. Но мучений с этим что-то было не мало.
Я вот например, никаких switch с goto у себя в коде не припомню: для меня это как раз нереально.
Re[11]: Почему в генерике невозможно объявить влож. Enum и V
От: IT Россия linq2db.com
Дата: 24.08.11 20:20
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Баг конечно, но воспроизвести его смогут только знатные извращенцы.


Одному такому извращенцу Хейльсбрг подарил стандарт C# с личной благодарностью. Видимо от создателей Немерле этого в принципе не стоит ожидать.
Если нам не помогут, то мы тоже никого не пощадим.
Re[14]: Почему в генерике невозможно объявить влож. Enum и V
От: VladD2 Российская Империя www.nemerle.org
Дата: 24.08.11 20:25
Оценка: -1
Здравствуйте, FDSC, Вы писали:

FDS>Я вот например, никаких switch с goto у себя в коде не припомню: для меня это как раз нереально.


Еще раз повторюсь, что мир на тебе не заканчивается. У тебя нет, у других может быть. В прочем, пока что никто не жаловался вроде.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[12]: Почему в генерике невозможно объявить влож. Enum и V
От: VladD2 Российская Империя www.nemerle.org
Дата: 24.08.11 20:26
Оценка:
Здравствуйте, FDSC, Вы писали:

FDS>Кстати, я таких извращенцев видел: человек 15 со словом base, когда переносили код с Java на C# с помощью "автоматического" трансформатора, который не знал, что с ним делать. А ведь в C# такой Enum создать можно, что будет, если код начнут переносить с C# на Nemerle?

FDS>Нереально?

Этого просто не надо делать. C# можно подключить к проекту в исходном виде. Далее можно использовать partial-классы или переносить нужные (мелкие) части.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[12]: Почему в генерике невозможно объявить влож. Enum и V
От: VladD2 Российская Империя www.nemerle.org
Дата: 24.08.11 20:27
Оценка: :)
Здравствуйте, IT, Вы писали:

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


VD>>Баг конечно, но воспроизвести его смогут только знатные извращенцы.


IT>Одному такому извращенцу Хейльсбрг подарил стандарт C# с личной благодарностью. Видимо от создателей Немерле этого в принципе не стоит ожидать.


Да, это точно. Дарить стандарт C#, лично я никому не намерен .
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[15]: Почему в генерике невозможно объявить влож. Enum и V
От: FDSC Россия consp11.github.io блог
Дата: 24.08.11 20:38
Оценка: +1
Здравствуйте, VladD2, Вы писали:

VD>Еще раз повторюсь, что мир на тебе не заканчивается.


Да я как раз это и говорю: кто-то считает, что незначительно, а мой опыт говорит об обратном. Для кого-то значительно, а для меня — нет.

Но почему-то разработчики судят только по своему опыту, как будто компилятор используют только они, а других этого права лишают.
Re[13]: Почему в генерике невозможно объявить влож. Enum и V
От: IT Россия linq2db.com
Дата: 24.08.11 20:41
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Да, это точно. Дарить стандарт C#, лично я никому не намерен .


Нисколечки в этом не сомневаюсь.
Если нам не помогут, то мы тоже никого не пощадим.
Re[15]: Почему в генерике невозможно объявить влож. Enum и V
От: IT Россия linq2db.com
Дата: 24.08.11 23:51
Оценка: 1 (1) -1 :))
Здравствуйте, VladD2, Вы писали:

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


Да уж. Хороший язык Немерле, жаль только, что он попался в руки людям с феноменальными способностями отбивать у других желание его использовать.
Если нам не помогут, то мы тоже никого не пощадим.
Re[11]: Почему в генерике невозможно объявить влож. Enum и V
От: catbert  
Дата: 25.08.11 02:19
Оценка: +2
Здравствуйте, VladD2, Вы писали:

VD>Если у сборки нет друзей, то никакой разницы не будет. Да и не ясно зачем прятать константы.


Это называется инкапсуляция. Иногда код прячется не только от сторонних сборок, но и от сторонних классов. Ключевое слово private (а не internal) именно для этого есть в ОО-языках программирования.
Re[16]: Почему в генерике невозможно объявить влож. Enum и V
От: VladD2 Российская Империя www.nemerle.org
Дата: 25.08.11 16:09
Оценка: :)
Здравствуйте, IT, Вы писали:

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


IT>Да уж. Хороший язык Немерле, жаль только, что он попался в руки людям с феноменальными способностями отбивать у других желание его использовать.


IT, ты или по троллить сегодня захотел, или читать разучился. Если последнее, то попробую выразить свою мысль более прямолинейно. Язык не должен быть заточен на прихоти одного конкретного человека. Он должен удовлетворять потребности всех потребителей. И если эти потребности входят в противоречие, то нужно или искать компромисс, или выбирать решения удобные для большинства.

Так понятнее? Если, да, то с чем ты не согласен то?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[12]: Почему в генерике невозможно объявить влож. Enum и V
От: VladD2 Российская Империя www.nemerle.org
Дата: 25.08.11 16:12
Оценка:
Здравствуйте, catbert, Вы писали:

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


VD>>Если у сборки нет друзей, то никакой разницы не будет. Да и не ясно зачем прятать константы.


C>Это называется инкапсуляция. Иногда код прячется не только от сторонних сборок, но и от сторонних классов. Ключевое слово private (а не internal) именно для этого есть в ОО-языках программирования.


Я в курсе как это называется. Но инкапсуляция констант — это и есть дурь. Нечего там инкапсулировать.

Инкапсуляция она же ведь не ради самой себя нужна. Это метод позволяющий избежать ошибок и т.п. Инкапсуляция перечислений ни от чего не избавляет, потому как код в них — 0.0.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.