![]() |
Модераторы: Partizan, gambit |
![]() ![]() ![]() |
|
Exception |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 29 Всего: 186 |
||||
|
||||
mr.DUDA |
|
|||
![]() 3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
Что-то я совсем запутался... Старый стал, наверно ![]() Добавлено @ 20:41 З.Ы. статья написана сложновато, с отступлениями, кое-где смысл улавливается с трудом... но плюс ставлю заслуженно - Гигант, сам такое осилил ! -------------------- ![]() |
|||
|
||||
Exception |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 29 Всего: 186 |
Имхо, единственный способ действительно все это осилить и понять - самому экспериментировать и компилировать каждый пример. Именно так я и делал
![]() Добавлено @ 23:49 Пожалуйста, укажи непонятные места, постараюсь объяснить по-лучше ![]() |
|||
|
||||
mr.DUDA |
|
|||
![]() 3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
прочитал всю статью и может просто на ночь лучше мозг не напрягать, но ближе к середине код стал слегка непонятным, а к концу даже не вчитывался.
![]() -------------------- ![]() |
|||
|
||||
Exception |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 29 Всего: 186 |
Честно говоря, иногда сам не понимал, что они там в примерах пишут. Заставлял себя копи-пастить код в студию и разбирать...
|
|||
|
||||
Stargazer |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 11.3.2006 Репутация: нет Всего: нет |
Супер конечно. SQL-like запросы интегрированные в язык это нечто, из-за чего я могу поступиться прЫнципами и перейти на c#
![]() Такого вроде даже в Nemerle нету. Это сообщение отредактировал(а) Stargazer - 12.3.2006, 06:15 |
|||
|
||||
Ch0bits |
|
|||
![]() Python Dev. ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2124 Регистрация: 21.2.2005 Где: Казань Репутация: 9 Всего: 62 |
||||
|
||||
mr.DUDA |
|
|||
![]() 3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
Там в конце почитай, есть инструкция вроде... -------------------- ![]() |
|||
|
||||
Exception |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 29 Всего: 186 |
||||
|
||||
Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 25 Всего: 173 |
В Nemerle аналог (и даже клон) LINQ можно сделать очень быстро с помощью макросов, тем более значительная часть необходимого синтаксического сахара в языке уже есть. А вот в Шарпе по-прежнему некоторых элементарных вещей не хватает, и появятся они в нем или нет, решать не нам, а Microsoft. -------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
Exception |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 29 Всего: 186 |
Ну уж клон DLinq ты там точно не сделаешь...
![]() По содержимому самой статьи (по LINQ) вопросов нет? |
|||
|
||||
chipset |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 1 Всего: 164 |
Скажу больше, такое можно сделать и в C++. --------------------
|
|||
|
||||
Exception |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 29 Всего: 186 |
Тут главное - не сам LINQ, а DLinq, имхо. Жутко удобная технология, позволяющая избавиться от применения бизнес-объектов - объекты - это и есть записи.
|
|||
|
||||
Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 25 Всего: 173 |
Почему ты так уверен? В макросах Nemerle в compile-time доступна вся мощь языка. Макросы компилируются в сборки, которые подключаются компилятором на определенных этапах синтаксического и семантического разбора. Так что любые compile-time преобразования исходников — хоть LINQ в T-SQL, хоть интеграция XML, хоть реализация ORM — никаких проблем не вызовут. При этом возможно обеспечить внятные и прозрачные сообщения об ошибках. -------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
Exception |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 29 Всего: 186 |
Я имею в виду, нет готовой и такой простой реализации. Самому делать - другое дело
![]() |
|||
|
||||
Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 25 Всего: 173 |
Ты имеешь в виду простоту создания или простоту использования? Если второе, то, как я уже сказал, можно сделать полный аналог реализации MS. Если первое, то трудоемкость реализации LINQ я оцениваю в один день от силы; про остальное сказать не могу, ни с DLinq, ни с XLinq подробно не разбирался. -------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
mr.DUDA |
|
|||
![]() 3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
Правильно, так их ламеров из M$, по мелкомягкому месту ! ![]() ![]() ![]() А если серьёзно: неужели за 1 день можно заколбасить хотя бы отдалённое подобие линка ? Что-то меня мучают сомнения... ![]() -------------------- ![]() |
|||
|
||||
Exception |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 29 Всего: 186 |
||||
|
||||
Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 25 Всего: 173 |
На Nemerle — да. То, что товарищи в MS колбасили соответствующий код в компиляторе не один день, я знаю ![]() Я сам на Nemerle не специализируюсь, кто хочет подробнее — welcome to RSDN: сюда, да и вообще в Философии по этому поводу много в последнее время говорено. Фильтруйте флейм и будет вам масса полезной информации ![]() Это сообщение отредактировал(а) Void - 13.3.2006, 21:25 -------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: 3 Всего: 154 |
Пока, к сожалению, больше теоретически... -------------------- |
|||
|
||||
chipset |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 1 Всего: 164 |
Ы? Метапрограммирование это те-же самые шаблоны и макросы из C++. Просто в Немерле сейчас самый мощный, распространенный механизм метапрограммирования из языков что мне известны. В совокупности с хорошей библиотекой классов (FCL) Немерле представляеться мне очень и очень неплохой средой разработки ;) Ох ужи эти слоники... ![]() --------------------
|
|||
|
||||
mr.DUDA |
|
|||
![]() 3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
А что такое DSL ? Вот на RSDN (в том числе в темке про немерле) все говорят что рульная мегатехнология программирования, а никто не объяснит в чём суть.
-------------------- ![]() |
|||
|
||||
Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: 3 Всего: 154 |
Суть уловил, но имхо все же я бы не стал так говорить. Метапрограммирование включает в себя гораздо больше понятий. R# смотрели? MS сейчас очень активно развивает именно эти направления. Метапрограммирование - это программмирование самого процесса программирования. Хочу почитать об этом в Wiki R# – метапрограммирование в .NET В общем все идет к тому, чтобы программировать не в исходных кодах, а в диаграммах UML, или чего-то похожего, если конечно будет придуманно что-то лучше. ИМХО правильно сказал один мой знакомый - будущее за скриптовыми языками. -------------------- |
|||
|
||||
arilou |
|
|||
![]() Великий МунаБудвин ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2646 Регистрация: 15.7.2004 Где: город-герой Минск Репутация: 21 Всего: 61 |
DSL = Domain Specific Language - Язык Предметной Области. Велкам сюда : http://softwarefactories.com/ В двух словах - реализуется словарь понятий прикладной области для которой создается программа, и собственно сама программа пишется на этом языке. Добавлено @ 13:24 Кстати, Microsoft тут уже засветился ![]() http://msdn.microsoft.com/vstudio/DSLTools/ |
|||
|
||||
chipset |
|
||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 1 Всего: 164 |
Языке в языке. Суть в том что для каждой области можно создать свой, специфичный язык и жечь на нём. Такое можно было-бы извлечь из C++ если бы его макросы были посложнее. В Немерле макросы имеют дело прямо с веткой токенов, и поэтому они мощны ![]() --------------------
|
||||
|
|||||
Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 25 Всего: 173 |
Pegas, Влад фактически отказался от развития R# после знакомства с Nemerle.
Переводя на язык теории, макросы в Nemerle работают с AST, а не с текстовым представлением ![]() Авторы уловили правильное направление, взяли лучшее из макросов Лиспа и CamlP4, отказались от части их возможностей ради большего удобства применения, повысили типобезопасность и обеспечили прозрачный механизм сообщений об ошибках, почти решив одну из основных проблем традиционных макросистем. -------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |