Re[8]: Совсем чуть чуть про C# 5
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 19.12.08 13:46
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Доклад читал парень из группы ВБ.


Уже нет, уже он немножко другим занят.
... << RSDN@Home 1.2.0 alpha 4 rev. 1127 on Windows Vista 6.0.6001.65536>>
AVK Blog
Re[9]: Совсем чуть чуть про C# 5
От: VladD2 Российская Империя www.nemerle.org
Дата: 19.12.08 14:06
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Уже нет, уже он немножко другим занят.


Это не важно. В прочем, в начале доклада он сказал что все же из ВБ.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: Совсем чуть чуть про C# 5
От: Andrei F.  
Дата: 19.12.08 14:30
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>В последних слайдах четко показано, что во время компиляции можно будет вмешаться и поиграться с объектным представлением кода (а-ка АСТ). Так что скорее всего ты не прав. Просто Хейльсберг конечно нагнал с дикамикой и мета-программированием по полной. Вот теперь все и шугаются.


Лучше постучать по дереву А то у них вечно одна рука не знает, что делает другая.

VD>Это беспочвенные страхи.


Какие еще беспочвенные? В слайдах вполне конкретно указано про эти ограничения.

VD>Что же касается IReadonlyList, то (хотя это к теме отношения не имеет) я считаю, что методы модифицирующие списки вообще лишние в интерфейсах. Но обратного пути уже нет.


Ну почему нет? Добавить ридонли-интерфейсы и сейчас можно, просто разработчики не чешутся. Как с другими косяками, вроде enum constraints.
... << RSDN@Home 1.2.0 alpha 4 rev. 1111>>
Re[6]: Совсем чуть чуть про C# 5
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 19.12.08 15:24
Оценка:
Здравствуйте, Andrei F., Вы писали:

AF>Лучше постучать по дереву А то у них вечно одна рука не знает, что делает другая.


compiler team, vs team и Хейлсберг это одна рука.

VD>>Это беспочвенные страхи.


AF>Какие еще беспочвенные? В слайдах вполне конкретно указано про эти ограничения.


Слайды там большей частью про C# 4.
... << RSDN@Home 1.2.0 alpha 4 rev. 1127 on Windows Vista 6.0.6001.65536>>
AVK Blog
Re[7]: Совсем чуть чуть про C# 5
От: IT Россия linq2db.com
Дата: 19.12.08 21:32
Оценка:
Здравствуйте, AndrewVK, Вы писали:

IT>>Как ты сам понимаешь, между использованием API для компиляции кода в run-time и расширением компилятора для генерации кода в compile-time огромная разница.


AVK>Как ты сам понимаешь, между тем, что есть сейчас, и тем что будет в релизной Dev11 огромная разница.


Для меня лично разница не огромная, т.к. run-time генерацией я занимаюсь давно и успешно. Принципиально нового для меня в этом ничего нет.

IT>> Пока, как видно из презентации, речь идёт исключительно о первом. К сожалению, для второго не достаточно переписать компилятор на C#. Но, надеюсь, мы доживём и до этого Они там сами говорят, что у них уже у самих слюнки текут, а если втянутся (а они втянутся), то есть надежда на то, что рано или поздно мы получим полноценное метапрограммирование в compile-time.


AVK>Только далеко не факт что в итоге у них получится Nemerle.


Получится как в Немерле. Дай бог. Если ты можешь придумать более лучшее дизайнерское решение, то поделись с нами, будет интересно послушать.
Если нам не помогут, то мы тоже никого не пощадим.
Re[6]: Совсем чуть чуть про C# 5
От: IT Россия linq2db.com
Дата: 19.12.08 21:33
Оценка:
Здравствуйте, yumi, Вы писали:

Y>Когда же будет следующий этап, когда они напишут микро-ядро, а все остальные фичи будут реализовывать поверх с помощью макросов? Вроде же говорили, мол есть спрос, многие заказчики требуют такие-то языковые фичи, но всем не угодишь... Дабы не превращать язык в помойку, логичнее было бы сделать язык с минимумом базовых вещей, а остальное по желанию пусть эти самые заказчики и делают сами.


Хочешь узнать как назвается такой язык?
Если нам не помогут, то мы тоже никого не пощадим.
Re[6]: Совсем чуть чуть про C# 5
От: IT Россия linq2db.com
Дата: 19.12.08 21:37
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Вообще-то АВК явно не про динамические фичи говорил, а про последние слайды презентации (не доступные в авишниках). Там говорится об объектной модели компилятора и о возможности вмешиваться в процесс компиляции.


О процессе вмешиваться в процесс компиляции во время самой компиляции там ни слова. Этого я не слышал ни у Хейльсберга, ни в этой презентации. Если я ошибаюсь дайте временную отметку в презентации, я послушаю ещё раз.

А объектная модель может понадобиться и для run-time генерации кода.
Если нам не помогут, то мы тоже никого не пощадим.
Re[8]: Совсем чуть чуть про C# 5
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 20.12.08 01:18
Оценка:
Здравствуйте, IT, Вы писали:

IT>Для меня лично разница не огромная


Где машину времени взял?

IT>Получится как в Немерле.


Не факт.

IT> Дай бог. Если ты можешь придумать более лучшее дизайнерское решение


А я тут причем?
... << RSDN@Home 1.2.0 alpha 4 rev. 1127 on Windows Vista 6.0.6001.65536>>
AVK Blog
Re[9]: Совсем чуть чуть про C# 5
От: IT Россия linq2db.com
Дата: 20.12.08 03:47
Оценка:
Здравствуйте, AndrewVK, Вы писали:

IT>>Для меня лично разница не огромная

AVK>Где машину времени взял?

Для run-time генерации не нужна машина времени. Нужны мозги, emit и чуть больше покодить, чем при генерации C#, а не MSIL кода.

IT>>Получится как в Немерле.

AVK>Не факт.

Значит однозначно будет хуже.

IT>> Дай бог. Если ты можешь придумать более лучшее дизайнерское решение

AVK>А я тут причем?

Т.е. лучшего решения у тебя нет. Тогда разумнее тебе будет скромно помолчать, а не наезжать на Немерле.
Если нам не помогут, то мы тоже никого не пощадим.
Re[10]: Совсем чуть чуть про C# 5
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 20.12.08 04:54
Оценка:
Здравствуйте, IT, Вы писали:

IT>Для run-time генерации


А кто сказал, что в релизе будет run-time генерация?

IT>>>Получится как в Немерле.

AVK>>Не факт.

IT>Значит однозначно будет хуже.


Не факт. Боже тебя упаси думать, что идеал уже достигнут и других вариантов быть не может.

IT>>> Дай бог. Если ты можешь придумать более лучшее дизайнерское решение

AVK>>А я тут причем?

IT>Т.е. лучшего решения у тебя нет.


Да я его и не пытался искать. Разработка универсальных языков на данный момент лежит за рамками сферы моих интересов.

IT> Тогда разумнее тебе будет скромно помолчать, а не наезжать на Немерле.


А я на него и не наезжаю. Это у вас уже болезнь какая то — во всем видеть наезды на Немерле.
... << RSDN@Home 1.2.0 alpha 4 rev. 1127 on Windows Vista 6.0.6001.65536>>
AVK Blog
Re[11]: Совсем чуть чуть про C# 5
От: LaPerouse  
Дата: 21.12.08 10:43
Оценка: -2
Здравствуйте, VladD2, Вы писали:

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


S>>Поясняю: настояшего джедая отсутствие API для управления компилятором не смутит.

S>>Декомпильнул — подправил — компильнул — и вперед, на танки

VD>Понял. Ну, Релектором компилируемую версию не получить. Править задолбаешся. Проще тогда декомпильнуть в IL с помощью Ildasm-а, а Рефлектором уже выцеплять только значимые функции и их править.


VD>Вот только это будут козьи потягушки, так как в мета-программировании главная проблема — это сложность написания мета-кода. Компилятор не только должен предоставлять возможность влезть в процесс компиляции, но и предоставить очень удобный АПИ для декомпозиции кода распарсенного из файлов и композиции нового.


Возможность менять AST во время компиляции — это слишком сильно, как я понимаю, для этого нужно переписывать компилятор, да и вообще данная возможность мало кем востребована.

В то время как достаточно будет косметических изменений (читай — обычного препроцессора), чтобы, скажем получить шаблоны наподобие С++. Мне, честно говоря, больше ничего и не нужно было бы. И ломать ничего не нужно, и удобство языка возрастает очень существенно.
... << RSDN@Home 1.2.0 alpha 4 rev. 1089>>
Социализм — это власть трудящихся и централизованная плановая экономика.
Re[12]: Совсем чуть чуть про C# 5
От: _FRED_ Черногория
Дата: 21.12.08 14:27
Оценка:
Здравствуйте, LaPerouse, Вы писали:

S>>>Поясняю: настояшего джедая отсутствие API для управления компилятором не смутит.

S>>>Декомпильнул — подправил — компильнул — и вперед, на танки

VD>>Понял. Ну, Релектором компилируемую версию не получить. Править задолбаешся. Проще тогда декомпильнуть в IL с помощью Ildasm-а, а Рефлектором уже выцеплять только значимые функции и их править.


VD>>Вот только это будут козьи потягушки, так как в мета-программировании главная проблема — это сложность написания мета-кода. Компилятор не только должен предоставлять возможность влезть в процесс компиляции, но и предоставить очень удобный АПИ для декомпозиции кода распарсенного из файлов и композиции нового.


LP>Возможность менять AST во время компиляции — это слишком сильно, как я понимаю, для этого нужно переписывать компилятор, …


Если я правльно понял то, о чём говорится в презентации, речь как раз и идёт о том, что компилятор будут переделывать.

LP>…да и вообще данная возможность мало кем востребована.


АОП позволяет практически бесплатно иметь ряд удобных стратегий контроля кода (логирование, политика обработки исключений, транзакции). Сейчас для использования АОП нужно специальным образом дизайнить приложения (билдеры\DI-контейнеры) и классы (интерфейсы\не-sealed классы\TransparentProxy) или патчить скомпилированный код сторонней тулзой (PostSharp). О том, насколько такие подходы распространены, может дать ответ гугл. Наличие средства мета-обработки программ в самом компиляторе позволит сделать дизайн "более чистым" и избавит от завязки от "сторонних инструментов", дав в руки разработчикам более гибкий и более мощный инструмент.

АОП же — только _лишь_один_ из многих бенефитов метапрограмирования. О том, _как_ можно будет програмировать с расширяемым компилятором в статьях про Nemerle расказано достаточно подробно: это и расширение синтаксиса, и проверяемое компилятором форматирование строк и многое другое. Наверное, у каждой их этих feature найдутся свои противники, но то, что вместе они позволят работать более продуктивно [и с большим интересом, к ужасу многих ] — абсолютно точно весьма вероятно.

LP>В то время как достаточно будет косметических изменений (читай — обычного препроцессора),


Если нужен именно препроцессор, в сишном понимании, то ни что не мешает использовать "cl.exe /E" уже сейчас.

LP>чтобы, скажем получить шаблоны наподобие С++.


Шаблоны в С++ препроцессором не разруливаются. Что значит "наподобие" вообще не ясно
Help will always be given at Hogwarts to those who ask for it.
Re[12]: Совсем чуть чуть про C# 5
От: Кэр  
Дата: 21.12.08 16:08
Оценка: +2
Здравствуйте, LaPerouse, Вы писали:

LP>Возможность менять AST во время компиляции — это слишком сильно, как я понимаю, для этого нужно переписывать компилятор, да и вообще данная возможность мало кем востребована.

LP>В то время как достаточно будет косметических изменений (читай — обычного препроцессора), чтобы, скажем получить шаблоны наподобие С++. Мне, честно говоря, больше ничего и не нужно было бы. И ломать ничего не нужно, и удобство языка возрастает очень существенно.

Не так давно наблюдал за обсуждением разговора "а почему бы не добавить сишные макросы в C#" в локальной переписке. Eric Lippert (насколько я понимаю, один из наиболее отвественных разработчиков этой фичи в C# 5.0) ответил вполне четко: мы еще толком не знаем, на что будет похоже мета-программирование в C# 5.0, но это гарантировано не будут сишные макросы. Просто потому с компилятором можно общаться на гораздо более высоком уровне, чем скриптовый язычок, который генерит строки кода. По его мнению, которое я полностью поддерживаю, от сишных макросов вреда больше, чем пользы. Так что они специально сопротивляются такой "фиче" C#.
Re[13]: Совсем чуть чуть про C# 5
От: Sinclair Россия https://github.com/evilguest/
Дата: 21.12.08 18:09
Оценка:
Здравствуйте, VladD2, Вы писали:
VD>В общем, такие смехриночки смотрятся или как неуважение, или как зазнайство.
Спокойно. Мне всего лишь понравился термин "козьи потягушки".
Не стоит уделять так много внимания оценкам — береги нервы
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[11]: Совсем чуть чуть про C# 5
От: IT Россия linq2db.com
Дата: 21.12.08 18:46
Оценка:
Здравствуйте, AndrewVK, Вы писали:

IT>>Для run-time генерации

AVK>А кто сказал, что в релизе будет run-time генерация?

Ещё раз. В демонстрации не было ни слова о других вариантах. Если бы они там были, я бы заметил.

AVK>Не факт. Боже тебя упаси думать, что идеал уже достигнут и других вариантов быть не может.


Идеал вообще не может быть достигнут. Но попытаться можно, причём разными способами. Один более менее удачный способ уже продемонстрирован в Немерле. На альтернативы было бы интересно посмотреть, но пока их что-то не наблюдается.

IT>>Т.е. лучшего решения у тебя нет.

AVK>Да я его и не пытался искать. Разработка универсальных языков на данный момент лежит за рамками сферы моих интересов.

Что не мешает тебе тем не менее делать далекоидущие умозаключения и разыгрывать здесь роль предсказамуса.

IT>> Тогда разумнее тебе будет скромно помолчать, а не наезжать на Немерле.

AVK>А я на него и не наезжаю. Это у вас уже болезнь какая то — во всем видеть наезды на Немерле.

Как раз это у вас фобия такая. Даже в этой теме вы с Ваней начали первыми делать махательные движения руками из серии "изыдь, изыдь, проклятый". Право смешно, ребята. Вроде взрослые люди, а ведёте себя как маленькие студебеккеры.
Если нам не помогут, то мы тоже никого не пощадим.
Re[12]: Совсем чуть чуть про C# 5
От: IB Австрия http://rsdn.ru
Дата: 21.12.08 19:51
Оценка:
Здравствуйте, IT, Вы писали:

IT> Даже в этой теме вы с Ваней начали первыми делать махательные движения руками из серии "изыдь, изыдь, проклятый".

Где?!!
... << RSDN@Home 1.2.0 alpha 4 rev. 1082>>
Мы уже победили, просто это еще не так заметно...
Re[12]: Совсем чуть чуть про C# 5
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 21.12.08 20:07
Оценка:
Здравствуйте, IT, Вы писали:

IT>Ещё раз. В демонстрации не было ни слова о других вариантах.


Не было. Но демонстрация эта датирована не датой релиза Dev11 совсем.

AVK>>Не факт. Боже тебя упаси думать, что идеал уже достигнут и других вариантов быть не может.


IT>Идеал вообще не может быть достигнут. Но попытаться можно, причём разными способами.


Во, разными!

IT> Один более менее удачный способ уже продемонстрирован в Немерле. На альтернативы было бы интересно посмотреть


Мне тоже.

IT>, но пока их что-то не наблюдается.


Еще C# 4 не вышел.

IT>Что не мешает тебе тем не менее делать далекоидущие умозаключения


Какие?

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


Э нет, это ты тут предсказаниями занимаешься. А я лишь высказываю сомнение.

AVK>>А я на него и не наезжаю. Это у вас уже болезнь какая то — во всем видеть наезды на Немерле.


IT>Как раз это у вас фобия такая.


Да? Цитаты с фобией можешь привести?

IT> Право смешно, ребята. Вроде взрослые люди, а ведёте себя как маленькие студебеккеры.


Смешно, когда вы дергаетесь по малейшему подозрению, что про Nemerle кто то плохо сказал. Если бы я так реагировал каждый раз, когда вы тут рассказываете, какой отстой C# ...
... << RSDN@Home 1.2.0 alpha 4 rev. 1132 on Windows Vista 6.0.6001.65536>>
AVK Blog
Re[7]: Совсем чуть чуть про C# 5
От: VladD2 Российская Империя www.nemerle.org
Дата: 21.12.08 22:43
Оценка:
Здравствуйте, IT, Вы писали:

Y>>Когда же будет следующий этап, когда они напишут микро-ядро, а все остальные фичи будут реализовывать поверх с помощью макросов? Вроде же говорили, мол есть спрос, многие заказчики требуют такие-то языковые фичи, но всем не угодишь... Дабы не превращать язык в помойку, логичнее было бы сделать язык с минимумом базовых вещей, а остальное по желанию пусть эти самые заказчики и делают сами.


IT>Хочешь узнать как назвается такой язык?


Он уже знает.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[7]: Совсем чуть чуть про C# 5
От: VladD2 Российская Империя www.nemerle.org
Дата: 21.12.08 22:45
Оценка:
Здравствуйте, IT, Вы писали:

IT>О процессе вмешиваться в процесс компиляции во время самой компиляции там ни слова. Этого я не слышал ни у Хейльсберга, ни в этой презентации. Если я ошибаюсь дайте временную отметку в презентации, я послушаю ещё раз.


Смотри внимательно слайды (последние). Там все очевидно.

IT>А объектная модель может понадобиться и для run-time генерации кода.


В рантайме есть рефлексия и городить еще оден огород смысла нет. Там явно показано, что компилятор будет предоставлять АСТ во время компиляции.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[12]: Совсем чуть чуть про C# 5
От: VladD2 Российская Империя www.nemerle.org
Дата: 21.12.08 22:52
Оценка:
Здравствуйте, LaPerouse, Вы писали:

LP>Возможность менять AST во время компиляции — это слишком сильно, как я понимаю, для этого нужно переписывать компилятор,


Если слушать внимательно, то не трудно заметить, что именно это (переписывание компилятора на C#) и делается вот уже год.

LP> да и вообще данная возможность мало кем востребована.


Говори за себя. Есть не мало народу доросшего до метапрограммирования.

LP>В то время как достаточно будет косметических изменений (читай — обычного препроцессора), чтобы, скажем получить шаблоны наподобие С++. Мне, честно говоря, больше ничего и не нужно было бы. И ломать ничего не нужно, и удобство языка возрастает очень существенно.


Слава Богу, разработчики C# не такие критины, чтобы повторять убожество от которого даже Страуструп открешивается.
А слово "обычные" вообе звучит, лично для меня, как насмешка. Обычные макросы были в Лиспе за долго до появления C. А в С появились уродские текстовые макросы от которых больше вреда, чем пользы.

Если кому-то нужно это убожество, то просто возмите компилятор С/С++ и вызовете его из командной строки для cs-файла задав опцию препроцесирования. Большинство современных компиляторов С++ такую возможность поддерживают.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.