Re[8]: No mention of either Silverlight or .NET on Windows 8
От: mrTwister Россия  
Дата: 18.09.11 20:22
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

1>>). А стратегий WinRT насколько я понимаю является работа через деструктор.


НС>А деструкторов в шарпе и VB нет, вот незадача.


С чего это вдруг?
лэт ми спик фром май харт
Re[9]: No mention of either Silverlight or .NET on Windows 8
От: Ночной Смотрящий Россия  
Дата: 18.09.11 20:30
Оценка:
Здравствуйте, mrTwister, Вы писали:

НС>>А деструкторов в шарпе и VB нет, вот незадача.


T>С чего это вдруг?


Да вот так вот. На всякий случай — финалайзеры это не деструкторы.
Re[8]: No mention of either Silverlight or .NET on Windows 8
От: 11molniev  
Дата: 18.09.11 20:36
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>Здравствуйте, 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
От: hattab  
Дата: 18.09.11 22:47
Оценка:
Здравствуйте, 11molniev, Вы писали:

1> До Microsoft-a работал этот очень замечательный человек в borlan-e. И был главным архитектором Delphi до 7 версии (после которой она загнулась). А когда все понравились первые версии делфи сделал C++ Builder. но вот плюснутый компилятор там вроде как писан на паскале.


Это не так. Компиляторы там на сях написаны, и дельфийский тоже.

1> Ну сама иде и библиотеки точно во всяком случае.


Это да.
avalon 1.0rc3 rev 419, zlib 1.2.3
Re[10]: No mention of either Silverlight or .NET on Windows
От: mrTwister Россия  
Дата: 19.09.11 05:27
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>Здравствуйте, mrTwister, Вы писали:


НС>>>А деструкторов в шарпе и VB нет, вот незадача.


T>>С чего это вдруг?


НС>Да вот так вот. На всякий случай — финалайзеры это не деструкторы.


Конечно. Зато IDisposable::Destroy вполне себе деструктор.
лэт ми спик фром май харт
Re[11]: No mention of either Silverlight or .NET on Windows
От: Ночной Смотрящий Россия  
Дата: 19.09.11 17:54
Оценка:
Здравствуйте, mrTwister, Вы писали:

T>Конечно. Зато IDisposable::Destroy вполне себе деструктор.


Тоже нет.
Re[9]: No mention of either Silverlight or .NET on Windows 8
От: Ночной Смотрящий Россия  
Дата: 19.09.11 17:54
Оценка:
Здравствуйте, 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 Россия  
Дата: 19.09.11 18:36
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>Здравствуйте, mrTwister, Вы писали:


T>>Конечно. Зато IDisposable::Destroy вполне себе деструктор.


НС>Тоже нет.


Почему нет? А создатели C++\CLI об этом знают?
лэт ми спик фром май харт
Re[13]: No mention of either Silverlight or .NET on Windows
От: Ночной Смотрящий Россия  
Дата: 19.09.11 18:41
Оценка:
Здравствуйте, mrTwister, Вы писали:

T>>>Конечно. Зато IDisposable::Destroy вполне себе деструктор.


НС>>Тоже нет.


T>Почему нет?


По определению.
http://en.wikipedia.org/wiki/Destructor_(computer_science)

In object-oriented programming, a destructor (sometimes shortened to dtor) is a method which is automatically invoked when the object is destroyed.


T> А создатели C++\CLI об этом знают?


Думаю, да. А вот ты, похоже не знаешь, что C++/CLI и C# это разные языки.
Re[10]: No mention of either Silverlight or .NET on Windows
От: 11molniev  
Дата: 19.09.11 19:03
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>Здравствуйте, 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
От: Ночной Смотрящий Россия  
Дата: 19.09.11 20:36
Оценка:
Здравствуйте, 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.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.