Здравствуйте, AndrewVK, Вы писали:
O>>Да, прочитал ссылку и понял. Ну тогда не знаю — можно пересмотреть дизайн
AVK>Хороший совет
Я ж не говорю сейчас (это был бы полный лол), я говорю — учесть в следующий раз.
O>> и ту "другую метаинформацию" хранить отдельно.
AVK>Зачем? Если редактируется она совместно? Ты пойми — редактируют не класс, а бизнес-сущность, а куча производных от него классов и интерфейсов суть поддержка этой сущности. Резать метаданные на несколько кусков, а потом склеивать их при деплойменте и в рантайме не лучшая идея.
Ну а какие ещё данные из этого XML ты используешь и где? Можно вместе подумать, что тут можно сделать лучше Нет, я не настолько наивен, чтобы думать, что я сразу предложу лучшее решение. Просто в момент, когда вы текущее решение принимали, у вас под рукой не было того же Nemerle, например. И дизайн был сделан с учётом его отсутствия, а финальная версия дизайна (та, которая в исходниках отражена) вообще была заточена под хранение в XML и использование XSLT, скорее всего.
Поэтому я и думаю, что, возможно, тут можно что-то поменять. В будущем.
O>>А исходники на Nemerle можно тоже хранить в ресурсах.
AVK>И парсить их в рантайме? Спасибо, я лучше XML обойдусь.
Почему парсить? Компилировать. Чем хуже натравливания XSLT на XML, в принципе?
O>>Что тебе мешает таскать с собой компилятор Nemerle?
AVK>Видишь ли, не всегда приемлемо распространять код в исходниках.
Таскай его как набор сборок. Кстати, он по лицензии BSD распространяется, так что можно его спокойно использовать — только сослаться в доке на продукт, что используешь.
Re[33]: Снова о Nemerle или профанация не пройдет :)
Здравствуйте, Oyster, Вы писали:
O>Ну а какие ещё данные из этого XML ты используешь и где?
Я уже говорил — для кодогенерации в деплойменте. Еще для настройки O/R Mapper, для автоматического формирования GUI, для привнесения автоматики в ряд стандартных алгоритмов и т.д. Много где, всего и не упомнишь.
AVK>>И парсить их в рантайме? Спасибо, я лучше XML обойдусь.
O>Почему парсить? Компилировать.
Нет именно парсить, потому что метаданные (расширенные!) нужны в рантайме.
O> Чем хуже натравливания XSLT на XML, в принципе?
Тяжеловесностью.
AVK>>Видишь ли, не всегда приемлемо распространять код в исходниках.
O>Таскай его как набор сборок.
И что это изменит?
O> Кстати, он по лицензии BSD распространяется, так что можно его спокойно использовать — только сослаться в доке на продукт, что используешь.
Да он то пожалуйста. Я говорю про прикладной код.
... << RSDN@Home 1.2.0 alpha rev. 642 on Windows XP 5.1.2600.131072>>
Здравствуйте, AndrewVK, Вы писали:
O>>Ну а какие ещё данные из этого XML ты используешь и где?
AVK>Я уже говорил — для кодогенерации в деплойменте. Еще для настройки O/R Mapper, для автоматического формирования GUI, для привнесения автоматики в ряд стандартных алгоритмов и т.д. Много где, всего и не упомнишь.
Ну я понял, в общем. Для того дизайна, что имеется сейчас, Nemerle пролетает.
Re[37]: Снова о Nemerle или профанация не пройдет :)
Здравствуйте, Oyster, Вы писали:
AVK>>Я уже говорил — для кодогенерации в деплойменте. Еще для настройки O/R Mapper, для автоматического формирования GUI, для привнесения автоматики в ряд стандартных алгоритмов и т.д. Много где, всего и не упомнишь.
O>Ну я понял, в общем. Для того дизайна, что имеется сейчас, Nemerle пролетает.
Кстати, занятно. Я хотел сказать, что (как и плюс) минус макросам Nemerle, то что они работают, во время компиляции. Но никак не мог найти повод
Здравствуйте, Andrei N.Sobchuck, Вы писали:
ANS>Кстати, занятно. Я хотел сказать, что (как и плюс) минус макросам Nemerle, то что они работают, во время компиляции. Но никак не мог найти повод
Совершенно верно — макросы Nemerle работают во время компиляции. Но я не уверен, что это минус, т.к. это вытекает из задачи, которую они решают. Например, не назовёшь же минусом отсутствие Intellisense в Нотепаде
Т.е. их, конечно, тоже надо использовать адекватно.
Re[39]: Снова о Nemerle или профанация не пройдет :)
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, Сергей Туленцев, Вы писали:
VD>>>Поделись, плиз, как это делается (баг-репорты отправляются). А то я тоже тут уже на парочку багов наткнулся. Незначительных, но все же...
СТ>>Тебе .сюды.
VD>А. Это я уже видил. Только так и не понял, что там делать то надо.
VD>Как туда что-то добавить?
Регишься, заходишь. Там будет ссылка в меню, "Report issue"
--
Re[40]: Снова о Nemerle или профанация не пройдет :)
Здравствуйте, Andrei N.Sobchuck, Вы писали:
O>>Совершенно верно — макросы Nemerle работают во время компиляции. Но я не уверен, что это минус
ANS>Для меня, как бы, толи очевидна, толи "философски обоснована" ограниченность возможностей времени компиляции.
+1
Ага, динамические языки накладывают отпечаток на мировосприятие
SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[40]: Снова о Nemerle или профанация не пройдет :)
Здравствуйте, Andrei N.Sobchuck, Вы писали:
O>>Совершенно верно — макросы Nemerle работают во время компиляции. Но я не уверен, что это минус
ANS>Для меня, как бы, толи очевидна, толи "философски обоснована" ограниченность возможностей времени компиляции.
Чем ограничена?
... << RSDN@Home 1.2.0 alpha rev. 0>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[40]: Снова о Nemerle или профанация не пройдет :)
Здравствуйте, Andrei N.Sobchuck, Вы писали:
ANS>Для меня, как бы, толи очевидна, толи "философски обоснована" ограниченность возможностей времени компиляции.
Ну во время выполнения у тебя есть reflection, собственно, и он есть даже в C#. В Nemerle макросы потому и придумали, что не было средств метапрограммирования на этапе компиляции, чего так хотелось.
Re[41]: Снова о Nemerle или профанация не пройдет :)
Здравствуйте, IT, Вы писали:
ANS>>Для меня, как бы, толи очевидна, толи "философски обоснована" ограниченность возможностей времени компиляции.
IT>Чем ограничена?
Врядли обосновать это можно двумя словами, а "зуб даю" тебя же не убедит
С другой стороны, если бы всё можно было сделать во время компиляции, то исполнение программ было бы не нужно. И плавно переходим к следующей мысли — если допустить, что это таки возможно, когда компилятор может заниматься компиляцией неограниченное время, то получим ненужность запуска скомпилированной (прикладной) программы. Вот ST и Lisp просто отбрасывают эту прикладную программу занимаясь бесконечной компиляцией, пока пользователь не согласится с результатом...
В общем, братия, сегодня пятница, возрадуемся же!!!
Здравствуйте, vdimas, Вы писали:
V>>>Давайте лучше Лисп (а еще лучше — Схему) для дотнет напишем.
VD>>Уже давно написаны.
V>-1
V>Стоило ли так подставляешься громкими высказываниями, не имея ни малейшего представления о существе вопроса?
— для этого нужен небольшой твик компилятора. Код, приведённый nazgul, не работает и работать не будет (они разворачивают макросы на Define(), а не на Compile()), насколько я понял.
Я тоже так понял. Остается узнать будет ли это исправлено и если да, то когда.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[34]: Снова о Nemerle или профанация не пройдет :)
Здравствуйте, Andrei N.Sobchuck, Вы писали:
ANS>Эта, Влад, Сразу уточни чего ты хочеш, что бы я написал генератор, который используется в твоём пример?
Ага.
ANS> Просто в нём за 800 строчек (считал с пустыми). Это уже не "2 метода на 3 класса".
Если твои слова были верны, то данная задача своидилась бы к тупому перекодированию. На самом же деле ты на ней зашьешся так как на C# данная задача становится слишком объемной и сложной, так как на C# ты будешь вынужден обложиться паттернами.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[33]: Снова о Nemerle или профанация не пройдет :)
Здравствуйте, AndrewVK, Вы писали:
AVK>>>Сделаешь хеш-табличку на T-SQL?
VD>>Да. Склько заплатишь?
AVK>Слив засчитан.
Без оскорблений на такое ответить нельзя. Так что промолчу.
Лучше поясню свой ответ.
Реализовать хэш-таблицу на T-SQL можно. Никаких технических проблем это не вызовет.
Вот только хэш-таблица — это нехилый объем кода который я не побугу колотить тольк чтобы доказать паре людей то, что они забулждаются.
За штуку баксов (на спор) я готов написать реализацию хэш-таблицы на T-SQL. Если не страшно можешь поставить свою штуку против моей?
Ну, что "слив" засчитан?
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[34]: Снова о Nemerle или профанация не пройдет :)
Здравствуйте, Oyster, Вы писали:
O>Extended stored procedure?
Ненужны для реализации хэш-таблиц никакие внешние модули. T-SQL — это полноценный императивный язык. Единственная его проблема — это ограничение на рекурсию в процедурах. Но это не является фатальной проблемой. На многих языках (если не ошибаюсь даже на Фортране) тоже первое время нельзя было делать рекурсию. Но писать программы это не мешало.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.