Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Общие вопросы по .NET и C# > Будущее C# и VB .NET |
Автор: Exception 11.3.2006, 19:14 |
Уфф.... дописал-таки ![]() http://forum.vingrad.ru/index.php?showtopic=87055 |
Автор: mr.DUDA 11.3.2006, 20:39 | ||
Что-то я совсем запутался... Старый стал, наверно ![]() Добавлено @ 20:41 З.Ы. статья написана сложновато, с отступлениями, кое-где смысл улавливается с трудом... но плюс ставлю заслуженно - Гигант, сам такое осилил ! |
Автор: Exception 11.3.2006, 23:36 |
Имхо, единственный способ действительно все это осилить и понять - самому экспериментировать и компилировать каждый пример. Именно так я и делал ![]() Добавлено @ 23:49 Пожалуйста, укажи непонятные места, постараюсь объяснить по-лучше ![]() |
Автор: mr.DUDA 11.3.2006, 23:51 |
прочитал всю статью и может просто на ночь лучше мозг не напрягать, но ближе к середине код стал слегка непонятным, а к концу даже не вчитывался. ![]() |
Автор: Exception 12.3.2006, 00:06 |
Честно говоря, иногда сам не понимал, что они там в примерах пишут. Заставлял себя копи-пастить код в студию и разбирать... |
Автор: Stargazer 12.3.2006, 06:15 |
Супер конечно. SQL-like запросы интегрированные в язык это нечто, из-за чего я могу поступиться прЫнципами и перейти на c# ![]() Такого вроде даже в Nemerle нету. |
Автор: mr.DUDA 12.3.2006, 11:40 |
Там в конце почитай, есть инструкция вроде... |
Автор: Exception 12.3.2006, 12:02 |
http://msdn.microsoft.com/vcsharp/future качай там LINQ Technology Preview. |
Автор: Void 12.3.2006, 21:08 |
В Nemerle аналог (и даже клон) LINQ можно сделать очень быстро с помощью макросов, тем более значительная часть необходимого синтаксического сахара в языке уже есть. А вот в Шарпе по-прежнему некоторых элементарных вещей не хватает, и появятся они в нем или нет, решать не нам, а Microsoft. |
Автор: Exception 13.3.2006, 02:22 |
Ну уж клон DLinq ты там точно не сделаешь... ![]() По содержимому самой статьи (по LINQ) вопросов нет? |
Автор: chipset 13.3.2006, 08:17 | ||
Скажу больше, такое можно сделать и в C++. |
Автор: Exception 13.3.2006, 09:27 |
Тут главное - не сам LINQ, а DLinq, имхо. Жутко удобная технология, позволяющая избавиться от применения бизнес-объектов - объекты - это и есть записи. |
Автор: Void 13.3.2006, 17:29 |
Почему ты так уверен? В макросах Nemerle в compile-time доступна вся мощь языка. Макросы компилируются в сборки, которые подключаются компилятором на определенных этапах синтаксического и семантического разбора. Так что любые compile-time преобразования исходников — хоть LINQ в T-SQL, хоть интеграция XML, хоть реализация ORM — никаких проблем не вызовут. При этом возможно обеспечить внятные и прозрачные сообщения об ошибках. |
Автор: Exception 13.3.2006, 17:36 |
Я имею в виду, нет готовой и такой простой реализации. Самому делать - другое дело ![]() |
Автор: Void 13.3.2006, 17:45 |
Ты имеешь в виду простоту создания или простоту использования? Если второе, то, как я уже сказал, можно сделать полный аналог реализации MS. Если первое, то трудоемкость реализации LINQ я оцениваю в один день от силы; про остальное сказать не могу, ни с DLinq, ни с XLinq подробно не разбирался. |
Автор: mr.DUDA 13.3.2006, 18:44 | ||
Правильно, так их ламеров из M$, по мелкомягкому месту ! ![]() ![]() ![]() А если серьёзно: неужели за 1 день можно заколбасить хотя бы отдалённое подобие линка ? Что-то меня мучают сомнения... ![]() |
Автор: Exception 13.3.2006, 19:25 |
![]() Как время будет, напишу о них отдельно. |
Автор: Void 13.3.2006, 21:15 | ||||
На Nemerle — да. То, что товарищи в MS колбасили соответствующий код в компиляторе не один день, я знаю ![]() Я сам на Nemerle не специализируюсь, кто хочет подробнее — welcome to RSDN: http://rsdn.ru/forum/Message.aspx?mid=1678819, да и вообще в http://www.rsdn.ru/forum/?group=philosophy по этому поводу много в последнее время говорено. Фильтруйте флейм и будет вам масса полезной информации ![]() |
Автор: Medved 15.3.2006, 01:15 |
Пока, к сожалению, больше теоретически... |
Автор: chipset 15.3.2006, 05:06 |
Ы? Метапрограммирование это те-же самые шаблоны и макросы из C++. Просто в Немерле сейчас самый мощный, распространенный механизм метапрограммирования из языков что мне известны. В совокупности с хорошей библиотекой классов (FCL) Немерле представляеться мне очень и очень неплохой средой разработки ;) Ох ужи эти слоники... ![]() |
Автор: mr.DUDA 15.3.2006, 08:31 |
А что такое DSL ? Вот на RSDN (в том числе в темке про немерле) все говорят что рульная мегатехнология программирования, а никто не объяснит в чём суть. |
Автор: Medved 15.3.2006, 12:34 |
Суть уловил, но имхо все же я бы не стал так говорить. Метапрограммирование включает в себя гораздо больше понятий. R# смотрели? MS сейчас очень активно развивает именно эти направления. Метапрограммирование - это программмирование самого процесса программирования. http://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D1%82%D0%B0%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5 http://www.rsdn.ru/projects/rsharp/article/rsharp_mag.xml В общем все идет к тому, чтобы программировать не в исходных кодах, а в диаграммах UML, или чего-то похожего, если конечно будет придуманно что-то лучше. ИМХО правильно сказал один мой знакомый - будущее за скриптовыми языками. |
Автор: arilou 15.3.2006, 13:11 |
DSL = Domain Specific Language - Язык Предметной Области. Велкам сюда : http://softwarefactories.com/ В двух словах - реализуется словарь понятий прикладной области для которой создается программа, и собственно сама программа пишется на этом языке. Добавлено @ 13:24 Кстати, Microsoft тут уже засветился ![]() http://msdn.microsoft.com/vstudio/DSLTools/ |
Автор: chipset 15.3.2006, 17:24 | ||
Языке в языке. Суть в том что для каждой области можно создать свой, специфичный язык и жечь на нём. Такое можно было-бы извлечь из C++ если бы его макросы были посложнее. В Немерле макросы имеют дело прямо с веткой токенов, и поэтому они мощны ![]() |
Автор: Void 15.3.2006, 17:35 | ||
Pegas, Влад фактически отказался от развития R# после знакомства с Nemerle.
Переводя на язык теории, макросы в Nemerle работают с AST, а не с текстовым представлением ![]() Авторы уловили правильное направление, взяли лучшее из макросов Лиспа и CamlP4, отказались от части их возможностей ради большего удобства применения, повысили типобезопасность и обеспечили прозрачный механизм сообщений об ошибках, почти решив одну из основных проблем традиционных макросистем. |