Здравствуйте, Ночной Смотрящий, Вы писали:
1>>). А стратегий WinRT насколько я понимаю является работа через деструктор.
НС>А деструкторов в шарпе и VB нет, вот незадача.
С чего это вдруг?
лэт ми спик фром май харт
Re[9]: No mention of either Silverlight or .NET on Windows 8
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>Здравствуйте, 11molniev, Вы писали:
НС>>>Т.е., скажем, про новый редактор в 10 студии ты не в курсе? И про Roslyn никогда не слышал? 1>>Кхм. Выделил жирным, как бы в курсе. Про roslyn — к этому все идет ещё версии толи с первой толи со второй
НС>Жаль, тогда даже Хейлсберг об этом был не в курсе, и на прямой вопрос в 2007 году отвечал, что нет, не будет ничего похожего.
А в 2008 уже говорил, что все будет.
1>>от развития песочниц
НС>Каких песочниц?
Домены безопасности.
1>>. И де факто, вопрос тут именно в предоставлении компилятора как части платформы, а не переписывании кода.
НС>Компилятор с первой версии — часть платформы, причем даже не студии, а рантайма. О чем ты? А Розлин это именно переписывание языковых пакетов для C# и VB и унификация их с новым компилятором. Больно тяжело стало поддерживать и править текущий вариант, релизы студии из-за этого на пару лет от компиляторов отстают.
А я кстати не понял. Разве компилятор C# не написан на C#?: http://blogs.msdn.com/b/jmstall/archive/2005/02/06/368192.aspx
1>>Не только слышал, но и пользую такую тулзу.
НС>Вот видишь
1>> За Андресом вообще было замечено написание билдера на дельфях
НС>Опять не понял мысль.
До Microsoft-a работал этот очень замечательный человек в borlan-e. И был главным архитектором Delphi до 7 версии (после которой она загнулась). А когда все понравились первые версии делфи сделал C++ Builder. но вот плюснутый компилятор там вроде как писан на паскале. Ну сама иде и библиотеки точно во всяком случае.
1>>)) Компилятор языка на самом языке — это нормально + Андрес же хочет предоставлять его как часть платформы, что то же кажется интересным.
НС>Тебя обманули — Андерс как раз не хочет. И CaaS это пока что предполагается частью студии, а не платформы.
На всего, что выше посмотрю пруфы и отпишусь завтра/послезавтра. Может и правда путаю.
1>> Хотя с учетом этого да, я готов с вами согласиться о переписывании части студии на С#. НС>Да уж сложно не согласиться с очевидным — в полной студии managed кода процентов 80, не меньше. И с каждым релизом его доля растет.
Доступа к её исходникам не имею, так что могу развести руками — скока процентов не считал. 1>>Я к тому, что влияния на вашу деятельность факт написания студии на C# или на C++ ближайшее десятилетие не повлияет никак.
НС>Смелое утверждение. И неверное. На мою деятельность точно повлияет. Но вот при чем тут моя деятельность — вот это вопрос.
Действительно смело)) На деятельность большинства программистов не повлияет. Для нововведений требуется время. А если майкрософт совершит револючию и завтра откажется от С++, то многие могут отказаться и от майкрософта)) Да и совместимость опять же. Поэтому я предполагаю наличие у МС С++ ещё хотя б 9-10 лет.
НС>>>Начнем с того, что для неуправляемых компонентных моделей нужен либо подсчет ссылок, либо какая нибудь хитрюще-специальная стратегия управления памятью. А в managed языках этого нафик не надо. 1>>Вы смотрели доклады?
НС>Да
1>> Для WinRT в C++ активно юзаються C++0x + Ещё расширения МС (насчет второго не уверен, со стандартом ещё не знакомился детально).
НС>Это никакого отношения к GC не имеет.
WinRT gc и не нужен вроде как. Фактически память освобождается в деструкторах. За счет ухищрений с умными указателями и областями видимости утечки представляются возможными только при повышенной криворукости.
1>> В стиле new ==> ref new. В итоге подсчет ссылок как раз такие есть и работает.
НС>Верно. А для managed API никакого подсчета ссылок не нужно. Совсем.
1>>Вообще то в managed подсчет ссылок вроде как нужен кстати
НС>Для работы с unmanaged — да, нужен, хотя и довольно специфичный. А вот для managed — не нужен.
1>>GC же должен как то работать
НС>Т.е. что такое mark&sweep ты тоже не в курсе. Так и запишем.
Ндас. Ты не поверишь, но я такой алгоритм даже применял в сишном проекте))) Только не дерево с пометками а время последнего использования брал, плюс убиение в несколько этапов. Теперь хоть буду знать как называется. Хотя с gc в шарпе и правда промахнулся. Не приходилось как то активно взаимодействовать с сборкой мусора в дотнете.
1>>). А стратегий WinRT насколько я понимаю является работа через деструктор.
НС>А деструкторов в шарпе и VB нет, вот незадача.
Кхм. Параграф 10.13 спецификации шарпа просто в шоке. Вот так незатейливо вы его запамятовали, вот незадача. Нет деструктора с явным вызовом при выходе из области видимости. И есть деструктор (как называется в документации) или финализатор (как в умных книжках) который вызывает сам gc.
Re[9]: No mention of either Silverlight or .NET on Windows 8
Здравствуйте, 11molniev, Вы писали:
1> До Microsoft-a работал этот очень замечательный человек в borlan-e. И был главным архитектором Delphi до 7 версии (после которой она загнулась). А когда все понравились первые версии делфи сделал C++ Builder. но вот плюснутый компилятор там вроде как писан на паскале.
Это не так. Компиляторы там на сях написаны, и дельфийский тоже.
1> Ну сама иде и библиотеки точно во всяком случае.
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>Здравствуйте, mrTwister, Вы писали:
НС>>>А деструкторов в шарпе и VB нет, вот незадача.
T>>С чего это вдруг?
НС>Да вот так вот. На всякий случай — финалайзеры это не деструкторы.
Конечно. Зато IDisposable::Destroy вполне себе деструктор.
лэт ми спик фром май харт
Re[11]: No mention of either Silverlight or .NET on Windows
Здравствуйте, 11molniev, Вы писали:
1>>>от развития песочниц
НС>>Каких песочниц? 1>Домены безопасности.
Это чего еще за зверь? Про домены приложения знаю, про домены безопасности первый раз слышу.
1>А я кстати не понял. Разве компилятор C# не написан на C#?:
Который? Текущий нет, не на C#. На С++. Будущий да, на C#.
1>>> За Андресом вообще было замечено написание билдера на дельфях
НС>>Опять не понял мысль. 1>До Microsoft-a работал этот очень замечательный человек в borlan-e.
Все в курсе.
1> И был главным архитектором Delphi до 7 версии (после которой она загнулась). А когда все понравились первые версии делфи сделал C++ Builder.
История была несколько сложнее.
1> но вот плюснутый компилятор там вроде как писан на паскале.
Боюсь, там даже компилятор Дельфи не был на Паскале написан.
НС>>Смелое утверждение. И неверное. На мою деятельность точно повлияет. Но вот при чем тут моя деятельность — вот это вопрос.
1>Действительно смело)) На деятельность большинства программистов не повлияет. Для нововведений требуется время. А если майкрософт совершит револючию и завтра откажется от С++, то многие могут отказаться и от майкрософта))
Никто не говорил про отказ от С++. Речь про вполне конкретные вещи — код студии.
НС>>Это никакого отношения к GC не имеет. 1>WinRT gc и не нужен вроде как. Фактически память освобождается в деструкторах. За счет ухищрений с умными указателями и областями видимости утечки представляются возможными только при повышенной криворукости.
Ты опять не понял. В C# нет автоматических деструкторов и умных указателей там тоже нет.
НС>>А деструкторов в шарпе и VB нет, вот незадача. 1>Кхм. Параграф 10.13 спецификации шарпа просто в шоке. Вот так незатейливо вы его запамятовали, вот незадача. Нет деструктора с явным вызовом при выходе из области видимости. И есть деструктор (как называется в документации) или финализатор (как в умных книжках) который вызывает сам gc.
Финалайзер это не деструктор даже близко. В спецификации к шарпу — ошибка.
Re[12]: No mention of either Silverlight or .NET on Windows
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>Здравствуйте, mrTwister, Вы писали:
T>>Конечно. Зато IDisposable::Destroy вполне себе деструктор.
НС>Тоже нет.
Почему нет? А создатели C++\CLI об этом знают?
лэт ми спик фром май харт
Re[13]: No mention of either Silverlight or .NET on Windows
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>Здравствуйте, 11molniev, Вы писали:
1>>>>от развития песочниц
НС>>>Каких песочниц? 1>>Домены безопасности.
НС>Это чего еще за зверь? Про домены приложения знаю, про домены безопасности первый раз слышу.
Перепутал.
1>>А я кстати не понял. Разве компилятор C# не написан на C#?:
НС>Который? Текущий нет, не на C#. На С++. Будущий да, на C#.
Я привел ссылку на блог разработчика, где он рапортует "Source for a C# compiler written in pure C#.", за 2005 год. Откуда ваши сведения о написании компилятора C# на языке C++?
1>>>> За Андресом вообще было замечено написание билдера на дельфях
НС>>>Опять не понял мысль. 1>>До Microsoft-a работал этот очень замечательный человек в borlan-e.
НС>Все в курсе.
1>> И был главным архитектором Delphi до 7 версии (после которой она загнулась). А когда все понравились первые версии делфи сделал C++ Builder.
НС>История была несколько сложнее.
В двух предложениях не распишешь.
1>> но вот плюснутый компилятор там вроде как писан на паскале.
НС>Боюсь, там даже компилятор Дельфи не был на Паскале написан.
Пруфов не могу найти ни на первое ни на второе.
НС>>>Смелое утверждение. И неверное. На мою деятельность точно повлияет. Но вот при чем тут моя деятельность — вот это вопрос.
1>>Действительно смело)) На деятельность большинства программистов не повлияет. Для нововведений требуется время. А если майкрософт совершит револючию и завтра откажется от С++, то многие могут отказаться и от майкрософта))
НС>Никто не говорил про отказ от С++. Речь про вполне конкретные вещи — код студии.
Переписывание кода студии на C# — означает отказ С++ для студии. Отказ от подержи языка на котором написана среда разработки для него намекает на перспективу отказа от самого языка для платформы. В чем мои умозаключения неверны?
НС>>>Это никакого отношения к GC не имеет. 1>>WinRT gc и не нужен вроде как. Фактически память освобождается в деструкторах. За счет ухищрений с умными указателями и областями видимости утечки представляются возможными только при повышенной криворукости.
НС>Ты опять не понял. В C# нет автоматических деструкторов и умных указателей там тоже нет.
В C# есть деструкторы, вызываемые gc, при уничтожении объекта во время сборки мусора. Что я здесь не понял?
НС>>>А деструкторов в шарпе и VB нет, вот незадача. 1>>Кхм. Параграф 10.13 спецификации шарпа просто в шоке. Вот так незатейливо вы его запамятовали, вот незадача. Нет деструктора с явным вызовом при выходе из области видимости. И есть деструктор (как называется в документации) или финализатор (как в умных книжках) который вызывает сам gc.
НС>Финалайзер это не деструктор даже близко. В спецификации к шарпу — ошибка.
Не деструктор. Я специально разделил — как в документации и как в "умных книжках". Только скажите, а какая разница для WinRT в этом? Ресурсы утекать не будут, а большего вроде как и не требуется. Кстати сам дизайн WinRT способствует независимости между ресурсами, минимализирую сценарии блокировки.
Re[11]: No mention of either Silverlight or .NET on Windows
Здравствуйте, 11molniev, Вы писали:
НС>>Это чего еще за зверь? Про домены приложения знаю, про домены безопасности первый раз слышу. 1>Перепутал.
Что с чем? И какое отношение это имеет к Розлину?
НС>>Который? Текущий нет, не на C#. На С++. Будущий да, на C#. 1>Я привел ссылку на блог разработчика, где он рапортует "Source for a C# compiler written in pure C#.", за 2005 год.
Ты внимательно читал? Судя по всему — нет. Он пишет про какой то свой собственный компайлер.
1> Откуда ваши сведения о написании компилятора C# на языке C++?
Из первых рук. Я лично знаком с некоторыми из тех, кто его писал.
НС>>История была несколько сложнее. 1>В двух предложениях не распишешь.
В двух — нет. А подробнее вроде бы было в википедии.
НС>>Боюсь, там даже компилятор Дельфи не был на Паскале написан. 1>Пруфов не могу найти ни на первое ни на второе.
Не сомневайся. Если уж hattab пишет, что на С++
НС>>Никто не говорил про отказ от С++. Речь про вполне конкретные вещи — код студии. 1>Переписывание кода студии на C# — означает отказ С++ для студии.
Да, для студии. Но не от поддержки С++ в студии. Ты как думаешь, на чем пишется код Винды и Оффиса? Пока эти продукты приносят почти весь доход, никуда С++ не денется.
1> Отказ от подержи языка на котором написана среда разработки для него намекает на перспективу отказа от самого языка для платформы. В чем мои умозаключения неверны?
НС>>Ты опять не понял. В C# нет автоматических деструкторов и умных указателей там тоже нет. 1>В C# есть деструкторы, вызываемые gc
Финалайзеры — не деструкторы. Запомни это наконец.
1>Что я здесь не понял?
То, что счетчики ссылок в generational GC работают посредственно. И трах с подсчетом этих самых ссылок в CCW/RCW тому прекрасное доказательство. И в WinRT, как только там появится компонентная модель, весь этот СОМовский трах встанет в полный рост.
НС>>Финалайзер это не деструктор даже близко. В спецификации к шарпу — ошибка. 1>Не деструктор. Я специально разделил — как в документации и как в "умных книжках".
В документации вроде бы в более свежих версиях баг с деструкторами убрали. Но тут я могу ошибаться.
1> Только скажите, а какая разница для WinRT в этом? Ресурсы утекать не будут, а большего вроде как и не требуется.
Разница в компонентной модели. Ее придется адаптировать с COM-образным API, что приведет к некоторой чужеродности его для C# и VB. С этого, собственно, нитка эта и началась.
А по свежим слухам, в WinRT еще и асинхронность в полный рост (планшеты, оптить, мобилорастия в полный рост), что отдельный челлендж при разработке API.