Dart - The worst of both worlds ?
От: Евгений Акиньшин grapholite.com
Дата: 12.10.11 14:15
Оценка:
Объясните мне кто-нибудь популярно, зачем гугл изобретает новый язык в котором мало того, что нет ни одной оригинальной особенности или идеи, так он еще и какой-то недотипизированный — т.е. типы есть, но во время исполнения информация о них не используется

вот неплохой пост на тему
Не шалю, никого не трогаю, починяю примус Diagrams Designer for iPad and Windows 10
Re: Dart - The worst of both worlds ?
От: ilnar Россия  
Дата: 12.10.11 14:26
Оценка:
Здравствуйте, Евгений Акиньшин, Вы писали:

ЕА>Объясните мне кто-нибудь популярно, зачем гугл изобретает новый язык в котором мало того, что нет ни одной оригинальной особенности или идеи, так он еще и какой-то недотипизированный — т.е. типы есть, но во время исполнения информация о них не используется


ЕА>вот неплохой пост на тему


дык Go не пошел, надежда на новый язык
Re[2]: Dart - The worst of both worlds ?
От: Mazay Россия  
Дата: 12.10.11 16:12
Оценка: 7 (2) +1
Здравствуйте, ilnar, Вы писали:

ЕА>>Объясните мне кто-нибудь популярно, зачем гугл изобретает новый язык в котором мало того, что нет ни одной оригинальной особенности или идеи, так он еще и какой-то недотипизированный — т.е. типы есть, но во время исполнения информация о них не используется


ЕА>>вот неплохой пост на тему


I>дык Go не пошел, надежда на новый язык


Потому что надо не языки придумывать, а компиляторы нормальные делать. Тогда и Го пойдёт, и Дарт взлетит. Развели тут, блин, народное творчество, а реальную работу делать никто не хочет. Вон С++ и Фортран, на что страшные языки, но в их компиляторы несколько человеко-веков уже вложено, вот их никто и не может прибить, несмотря на все усилия ярких личностей языкотворцев.
Мне вся эта возня с языками напоминает программные заявления нашего пока ещё Президента. Трёпа много, дела мало.
Главное гармония ...
Re[3]: Dart - The worst of both worlds ?
От: Tilir Россия http://tilir.livejournal.com
Дата: 12.10.11 17:19
Оценка: 15 (1) +1 -1 :)
Здравствуйте, Mazay, Вы писали:

M>Потому что надо не языки придумывать, а компиляторы нормальные делать. Тогда и Го пойдёт, и Дарт взлетит. Развели тут, блин, народное творчество, а реальную работу делать никто не хочет. Вон С++ и Фортран, на что страшные языки, но в их компиляторы несколько человеко-веков уже вложено, вот их никто и не может прибить, несмотря на все усилия ярких личностей языкотворцев.

M>Мне вся эта возня с языками напоминает программные заявления нашего пока ещё Президента. Трёпа много, дела мало.

Что называется плюс сто. Особенно умиляют слепые функциональщики, которые считают что язык это только фронтенд компилятора и потом удивляющиеся почему не взлетает. А потому и не взлетает. Фронтенд любого языка, его синтаксис и семантика, это всё только верхушка айсберга. Самое интересное начинается потом и это именно оптимизации в миддл-энде и кодогенерация. Я не знаю *ни одной* книжки хотя бы с перечнем существующих алгоритмов оптимизации с учётом функциональной специфики. Ну там что вместо loop unrolling, что вместо value numbering, что вместо constant propagation... Генерируемый код того же ghc это же без слёз не взглянешь. Хочется лезть в оптимизирующую часть и править ВСЁ.
Re[4]: Dart - The worst of both worlds ?
От: WolfHound  
Дата: 13.10.11 11:52
Оценка:
Здравствуйте, Tilir, Вы писали:

T>Генерируемый код того же ghc это же без слёз не взглянешь. Хочется лезть в оптимизирующую часть и править ВСЁ.

Тут ты не совсем прав.
Дело в том, что хаскель по своей природе тормоз просто дичайший.
Так что ребята проявляют просто чудеса смекалки для того чтобы он работал с той скоростью с какой работает. Но все равно тормозит.
Но все их усилия тратятся на высокоуровневую оптимизацию.
А на низкий уровень ни сил, ни желания не остается.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re: Dart - The worst of both worlds ?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 14.10.11 02:34
Оценка: 4 (1) +1
Здравствуйте, Евгений Акиньшин, Вы писали:

ЕА>Объясните мне кто-нибудь популярно, зачем гугл изобретает новый язык в котором мало того, что нет ни одной оригинальной особенности или идеи, так он еще и какой-то недотипизированный — т.е. типы есть, но во время исполнения информация о них не используется


ИМХО, всё Гугл делает вполне последовательно. Go — язык для "системного ядра", теперь Dart — замена JavaScript. В случае Dart, по-моему, они просто ищут приемлемое решение для устройств со слабым процессором.

ЕА>вот неплохой пост на тему


Рафаэль глядит не туда, куда надо, у него какие-то странные ожидания. Dart — замена JS и он вынужденно копирует подходы, принятые в JS-мире, в том числе и весь бедлам рантайм-конструирования чего-то фырчащего из не пойми чего, отсюда и специфика статических проверок, например. Вполне нормальный ход — уж какая культура сложилась, в неё и вписываемся.

И вообще Рафаэль местами ошибается:

Isolates communicate via message passing. It's not clear if there is some synchronisation method available in the standard libraries, semaphore-based or other.


Смотрим в спецификацию:

An isolate is a unit of concurrency. It has its own memory and its own
thread of control. Isolates communicate by message passing (10.14.4). No state
is ever shared between isolates.
Isolates are created by spawning (10.11).


Какие ещё семафоры?
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[2]: Dart - The worst of both worlds ?
От: Евгений Акиньшин grapholite.com
Дата: 14.10.11 02:53
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ЕА>>Объясните мне кто-нибудь популярно, зачем гугл изобретает новый язык в котором мало того, что нет ни одной оригинальной особенности или идеи, так он еще и какой-то недотипизированный — т.е. типы есть, но во время исполнения информация о них не используется


ГВ>ИМХО, всё Гугл делает вполне последовательно. Go — язык для "системного ядра", теперь Dart — замена JavaScript. В случае Dart, по-моему, они просто ищут приемлемое решение для устройств со слабым процессором.


а чем существующие не приемлемы? ну чем он например лучше Java будет?

ЕА>>вот неплохой пост на тему


ГВ>Рафаэль глядит не туда, куда надо, у него какие-то странные ожидания. Dart — замена JS и он вынужденно копирует подходы, принятые в JS-мире, в том числе и весь бедлам рантайм-конструирования чего-то фырчащего из не пойми чего, отсюда и специфика статических проверок, например. Вполне нормальный ход — уж какая культура сложилась, в неё и вписываемся.


Че то до меня не доходит, чем нормальная статика не угодила — раз информация о типах есть, почему ей не пользоваться хотя бы в своей VM ?


ГВ>И вообще Рафаэль местами ошибается:


Да, на аккуратный анализ не тянет, но многие вещи, как мне кажется, подмечены верно
Не шалю, никого не трогаю, починяю примус Diagrams Designer for iPad and Windows 10
Re[3]: Dart - The worst of both worlds ?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 14.10.11 03:27
Оценка:
Здравствуйте, Евгений Акиньшин, Вы писали:

ЕА>>>Объясните мне кто-нибудь популярно, зачем гугл изобретает новый язык в котором мало того, что нет ни одной оригинальной особенности или идеи, так он еще и какой-то недотипизированный — т.е. типы есть, но во время исполнения информация о них не используется

ГВ>>ИМХО, всё Гугл делает вполне последовательно. Go — язык для "системного ядра", теперь Dart — замена JavaScript. В случае Dart, по-моему, они просто ищут приемлемое решение для устройств со слабым процессором.
ЕА>а чем существующие не приемлемы? ну чем он например лучше Java будет?

Java обладает очень серьёзным недостатком — её контролирует Oracle. Странно было бы, если бы Гугл полез в возню вокруг Java. Ну и потом, этот вопрос можно задать и сугубо риторическим порядком: "Люди, почему вы пользуетесь JavaScript, а не Java?" Ну вот так сложилось.

ЕА>>>вот неплохой пост на тему

ГВ>>Рафаэль глядит не туда, куда надо, у него какие-то странные ожидания. Dart — замена JS и он вынужденно копирует подходы, принятые в JS-мире, в том числе и весь бедлам рантайм-конструирования чего-то фырчащего из не пойми чего, отсюда и специфика статических проверок, например. Вполне нормальный ход — уж какая культура сложилась, в неё и вписываемся.
ЕА>Че то до меня не доходит, чем нормальная статика не угодила — раз информация о типах есть, почему ей не пользоваться хотя бы в своей VM ?

Не знаю. Надо изучить повнимательней руководство к Dart, я пока его только вскользь просмотрел, вполне вероятно, что не всё так плохо.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[3]: Dart - The worst of both worlds ?
От: dmz Россия  
Дата: 14.10.11 04:31
Оценка:
I>>дык Go не пошел, надежда на новый язык

M>Потому что надо не языки придумывать, а компиляторы нормальные делать. Тогда и Го пойдёт, и Дарт взлетит.


Нормальный компилятор делает команда LLVM. И почему ее не использует Google --- это другой вопрос.
Re[4]: Dart - The worst of both worlds ?
От: dmz Россия  
Дата: 14.10.11 04:39
Оценка: 8 (1)
T>Что называется плюс сто. Особенно умиляют слепые функциональщики, которые считают что язык это только фронтенд компилятора и потом удивляющиеся почему не взлетает. А потому и не взлетает.

Они считают соверщенно справедливо, потому что на уровне IR уже все эквивалентно. Специфичные для ФЯ оптимизации многократно описаны в литературе и в интернете:
SPJ, Appel. Closure conversion, closure elimination, common subexpression elimination и т.п.

T>Фронтенд любого языка, его синтаксис и семантика, это всё только верхушка айсберга. Самое интересное начинается потом и это именно оптимизации в миддл-энде и


T>кодогенерация. Я не знаю *ни одной* книжки хотя бы с перечнем существующих алгоритмов оптимизации с учётом функциональной специфики. Ну там что вместо loop

T>unrolling,

Что бы был loop unrolling, нужно что бы появились сначала циклы. В императивных языка их семантика указывается явно, там много проще. Возможно, ответом на это является суперкомпиляция. Которой в GHC занимаются прямо сейчас. Кстати, возможно LLVM умеет на уровне IR.

T>что вместо value numbering, что вместо constant propagation...


Вместо constant propagation там constant propagation, сюрприз?

T>оптимизирующую часть и T>править ВСЁ.


Что же останавливает? Проекты открытые.
Re[4]: Dart - The worst of both worlds ?
От: Mazay Россия  
Дата: 14.10.11 04:46
Оценка:
Здравствуйте, dmz, Вы писали:

I>>>дык Go не пошел, надежда на новый язык


M>>Потому что надо не языки придумывать, а компиляторы нормальные делать. Тогда и Го пойдёт, и Дарт взлетит.


dmz>Нормальный компилятор делает команда LLVM. И почему ее не использует Google --- это другой вопрос.


На LLVM в большой степени влияет Apple ("вдохновитель LLVM — Крис Латтнер — теперь работает в Apple" wikipedia). Возможно Google опасается конфликта интересов. Хотя судя по всему в LLVM сильно вкладывается команда разрабатывающая GCC. Да и сам Google называют в числе главных спонсоров проекта (wikipedia).

А вообще я согласен, что за LLVM или чем-то подобным будущее. Go однозначно нужно было компилировать через LLVM IL. Почему этого не сделали
Главное гармония ...
Re[5]: Dart - The worst of both worlds ?
От: dmz Россия  
Дата: 14.10.11 04:46
Оценка:
T>>Генерируемый код того же ghc это же без слёз не взглянешь. Хочется лезть в оптимизирующую часть и править ВСЁ.
WH>Тут ты не совсем прав.
WH>Дело в том, что хаскель по своей природе тормоз просто дичайший.

Конкретнее можно? По какой природе он тормоз дичайший. А то тут надысь в тесте на совершенно несвойственную
для Haskell задачу рассчета crc16 получили отставание от Си 26%. При том, что в хаскелле делается на списках,
которыми в Си и не пахнет.

Подсчет sha1 от большого файла

fileHash :: FilePath -> IO FileHash
fileHash f = do
    content <- L.readFile f
    let hash = H.hashlazy content
    return $ concatMap (printf "%02x") (B.unpack hash)



работает со скоростью стандартной линуксовой sha1sum или чуть быстрее.

WH>Так что ребята проявляют просто чудеса смекалки для того чтобы он работал с той скоростью с какой работает. Но все равно тормозит.


Тормозит по сравнению с Си, наверное? Ну, извините.

WH>Но все их усилия тратятся на высокоуровневую оптимизацию.

WH>А на низкий уровень ни сил, ни желания не остается.

Да оптимизация низкого уровня не будет особенно отличаться от императивных языков, с чего бы?
Re[5]: Dart - The worst of both worlds ?
От: dmz Россия  
Дата: 14.10.11 04:50
Оценка:
M>На LLVM в большой степени влияет Apple ("вдохновитель LLVM — Крис Латтнер — теперь работает в Apple" wikipedia). Возможно Google опасается конфликта интересов.

Оно под BSD или похожей лицензией.

M>А вообще я согласен, что за LLVM или чем-то подобным будущее. Go однозначно нужно было компилировать через LLVM IL. Почему этого не сделали


Да, потому что бэкенды писать это сотни человеко-лет, и какой смысл их писать каждый раз заново?
Re[5]: Dart - The worst of both worlds ?
От: Mazay Россия  
Дата: 14.10.11 04:51
Оценка:
Здравствуйте, dmz, Вы писали:

T>>Что называется плюс сто. Особенно умиляют слепые функциональщики, которые считают что язык это только фронтенд компилятора и потом удивляющиеся почему не взлетает. А потому и не взлетает.


dmz>Они считают соверщенно справедливо, потому что на уровне IR уже все эквивалентно. Специфичные для ФЯ оптимизации многократно описаны в литературе и в интернете:

dmz>SPJ, Appel. Closure conversion, closure elimination, common subexpression elimination и т.п.

dmz>Что бы был loop unrolling, нужно что бы появились сначала циклы. В императивных языка их семантика указывается явно, там много проще. Возможно, ответом на это является суперкомпиляция. Которой в GHC занимаются прямо сейчас. Кстати, возможно LLVM умеет на уровне IR.


Вообще-то есть компилятор Haskell на LLVM: http://www.haskell.org/haskellwiki/LLVM
Кто-нибудь пробовал мерять производительность генерируемого им кода?
Главное гармония ...
Re[6]: Dart - The worst of both worlds ?
От: dmz Россия  
Дата: 14.10.11 04:53
Оценка:
M>Вообще-то есть компилятор Haskell на LLVM: http://www.haskell.org/haskellwiki/LLVM
M>Кто-нибудь пробовал мерять производительность генерируемого им кода?

Он пока сыроват и есть проблемы: http://dterei.blogspot.com/2011/09/ghc-project-for-all.html

Но мерять относительно чего?
Re[6]: Dart - The worst of both worlds ?
От: Mazay Россия  
Дата: 14.10.11 04:55
Оценка:
Здравствуйте, dmz, Вы писали:

M>>На LLVM в большой степени влияет Apple ("вдохновитель LLVM — Крис Латтнер — теперь работает в Apple" wikipedia). Возможно Google опасается конфликта интересов.

dmz>Оно под BSD или похожей лицензией.
Это понятно. Но в случае конфликта интересов, в сообществе разработчиков больше "голосов" будет у того, кто больше вкладывается.

M>>А вообще я согласен, что за LLVM или чем-то подобным будущее. Go однозначно нужно было компилировать через LLVM IL. Почему этого не сделали

dmz>Да, потому что бэкенды писать это сотни человеко-лет, и какой смысл их писать каждый раз заново?
Угу.
Главное гармония ...
Re[3]: Dart - The worst of both worlds ?
От: dmz Россия  
Дата: 14.10.11 04:59
Оценка:
ЕА>а чем существующие не приемлемы? ну чем он например лучше Java будет?

После того, как Javа стала контролироваться Ораклом и он уже начал плющить Гугл, уже даже неважно, хороша она хоть чем-то вообще, или нет.

ЕА>Че то до меня не доходит, чем нормальная статика не угодила — раз информация о типах есть, почему ей не пользоваться хотя бы в своей VM ?


Использование информации о типах в VM -- это уже динамическая типизация. Про ситуацию в типами в Dart нужно что бы кто-то изучил вопрос
и высказался, пока в интерпретациях понимания тамошней ситуации с типами не видно, так что при любых рассуждениях на эту тему можно сесть
в лужу. Нужно читать первоисточники, кому интересно.
Re[4]: Dart - The worst of both worlds ?
От: Mazay Россия  
Дата: 14.10.11 05:10
Оценка:
Здравствуйте, Tilir, Вы писали:

T>Что называется плюс сто. Особенно умиляют слепые функциональщики, которые считают что язык это только фронтенд компилятора и потом удивляющиеся почему не взлетает. А потому и не взлетает. Фронтенд любого языка, его синтаксис и семантика, это всё только верхушка айсберга. Самое интересное начинается потом и это именно оптимизации в миддл-энде и кодогенерация. Я не знаю *ни одной* книжки хотя бы с перечнем существующих алгоритмов оптимизации с учётом функциональной специфики. Ну там что вместо loop unrolling, что вместо value numbering, что вместо constant propagation... Генерируемый код того же ghc это же без слёз не взглянешь. Хочется лезть в оптимизирующую часть и править ВСЁ.


А ты не смотрел на код, генерируемый LLVM-компилятором Хаскеля (http://www.haskell.org/haskellwiki/LLVM)?
По идее сам LLVM должен генерить код не хуже gcc.

Я тут давно уже спрашивал, как реализовать решение двумерной модели Изинга на Хаскеле без дополнительных O(log N) к сложности. Ничего путного на этот счёт так и не услышал. Эта проблема явно не уровня кодогенерации, явно более высокоуровневая чем loop unrolling. Она должна решаться на миддл-энде или может даже суперкомпиляцией.

P.S.
Если в кратце, то проблема заключается в том, что функциональные языки запрещают изменять значения, но иногда это необходимо для эффективной реализации. Следовательно, нужно научить компилятор видеть, когда фактически можно изменять значения в памяти а не создавать модифицированные копии.
Главное гармония ...
Re[4]: Dart - The worst of both worlds ?
От: Евгений Акиньшин grapholite.com
Дата: 14.10.11 05:12
Оценка:
Здравствуйте, dmz, Вы писали:


ЕА>>а чем существующие не приемлемы? ну чем он например лучше Java будет?


dmz>После того, как Javа стала контролироваться Ораклом и он уже начал плющить Гугл, уже даже неважно, хороша она хоть чем-то вообще, или нет.


Ну да, я пока это вижу как единственный валидный аргумент, чтобы бросить развивать GWT и Java-VM и начинать делать то же самое с нуля.

ЕА>>Че то до меня не доходит, чем нормальная статика не угодила — раз информация о типах есть, почему ей не пользоваться хотя бы в своей VM ?


dmz>Использование информации о типах в VM -- это уже динамическая типизация.


Не, там как я понял как раз VM с динамической типизацией, т.е. несмотря на то, что информация о типах в коде есть и можно подставить вызов метода на этапе компиляции, они все равно считают, что тип неизвестен и разрешают все связи динамически.
Не шалю, никого не трогаю, починяю примус Diagrams Designer for iPad and Windows 10
Re[5]: Dart - The worst of both worlds ?
От: dmz Россия  
Дата: 14.10.11 05:24
Оценка:
M>Я тут давно уже спрашивал, как реализовать решение двумерной модели Изинга на Хаскеле без дополнительных O(log N) к сложности. Ничего путного на этот счёт так и не услышал.

Ну, например, никак. Выносить в Си, например. Использовать готовые модули для деструктивных структур данных. И да, это будет жить в IO.
Re[4]: Dart - The worst of both worlds ?
От: Евгений Акиньшин grapholite.com
Дата: 14.10.11 05:27
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Здравствуйте, Евгений Акиньшин, Вы писали:


ЕА>>>>Объясните мне кто-нибудь популярно, зачем гугл изобретает новый язык в котором мало того, что нет ни одной оригинальной особенности или идеи, так он еще и какой-то недотипизированный — т.е. типы есть, но во время исполнения информация о них не используется

ГВ>>>ИМХО, всё Гугл делает вполне последовательно. Go — язык для "системного ядра", теперь Dart — замена JavaScript. В случае Dart, по-моему, они просто ищут приемлемое решение для устройств со слабым процессором.
ЕА>>а чем существующие не приемлемы? ну чем он например лучше Java будет?

ГВ>Java обладает очень серьёзным недостатком — её контролирует Oracle.


Похоже это единственный серьезный аргумент, что Java контролируется ораклами а си-шарп — микрософтом.

ГВ>Ну и потом, этот вопрос можно задать и сугубо риторическим порядком: "Люди, почему вы пользуетесь JavaScript, а не Java?" Ну вот так сложилось.


Но то что сложилось это понятно. Но когда кто-то пытается поднять с нуля n + 1 язык, обычно говорят что у него есть некие преимущества перед существующими — реальные или хотя бы мнимые, иначе очень сложно найти Early Adapters которые начнут на нем хотя бы что-то писать. Я пока ни одного преимущества не вижу.
Не шалю, никого не трогаю, починяю примус Diagrams Designer for iPad and Windows 10
Re[5]: Dart - The worst of both worlds ?
От: Tilir Россия http://tilir.livejournal.com
Дата: 14.10.11 06:41
Оценка:
Здравствуйте, dmz, Вы писали:

dmz>Они считают соверщенно справедливо, потому что на уровне IR уже все эквивалентно. Специфичные для ФЯ оптимизации многократно описаны в литературе и в интернете:

dmz>SPJ, Appel. Closure conversion, closure elimination, common subexpression elimination и т.п.

То что на уровне IR они эквивалентны как раз и показывает неразработанность вопроса -- из самых общих соображений функциональный IR должен отличаться как небо и земля. Да, можно себе представить перевод функциональной программы в какой-нибудь вариант SSA как императивной... но это убивает саму идею. Компилятору сначала предлагается сделать неэффективное (крайне неэффективное, учитывая замыкания и постоянные вызовы функций) промежуточное представление, а потом крутить на нём сложные межпроцедурные оптимизации. На чём всё и кончается.
Re[5]: Dart - The worst of both worlds ?
От: Tilir Россия http://tilir.livejournal.com
Дата: 14.10.11 06:55
Оценка:
Здравствуйте, Mazay, Вы писали:

M>А ты не смотрел на код, генерируемый LLVM-компилятором Хаскеля (http://www.haskell.org/haskellwiki/LLVM)?

M>По идее сам LLVM должен генерить код не хуже gcc.

Хм.. Ну clang генерит вполне нормальный код для основных поддерживаемых им языков. Насчёт того, что Haskell попытались прикрутить к миддл-энду clang это новости Посмотрю, спасибо.

M>Если в кратце, то проблема заключается в том, что функциональные языки запрещают изменять значения, но иногда это необходимо для эффективной реализации. Следовательно, нужно научить компилятор видеть, когда фактически можно изменять значения в памяти а не создавать модифицированные копии.


В Haskell программа это в большей степени call graph, внутри функций там кода немного, в основном взаимные вызовы и комбинации. Поэтому data-flow там обычно межпроцедурный, а не внутрипроцедурный что с точки зрения оптимизатора -- печально. Инлайнинг что-то даёт, но в достаточно сложной программе -- ничего особенного. Идея свернуть эти вызовы к control-flow с присваиваниями -- достаточно безумна, мне нравится. Где-то в том месте, где программа на Haskell уже приведена к лямбда-выражениям взять и развернуть их по тезису Черча-Тьюринга в эквивалентную программу для УМТ с присваиваниями, а вот потом уже оптимизировать. Но, как я понимаю, это тема вообще не копанная никем никогда.
Re[6]: Dart - The worst of both worlds ?
От: dmz Россия  
Дата: 14.10.11 07:34
Оценка: +1
dmz>>Они считают соверщенно справедливо, потому что на уровне IR уже все эквивалентно. Специфичные для ФЯ оптимизации многократно описаны в литературе и в интернете:
dmz>>SPJ, Appel. Closure conversion, closure elimination, common subexpression elimination и т.п.

T>То что на уровне IR они эквивалентны как раз и показывает неразработанность вопроса -- из самых общих соображений функциональный IR должен отличаться как небо и земля.


А не надо самых общих соображений. Приведите примеры. У Аппеля, например, приводится пример разработки языка, который по желанию можно сделать императивным,
функциональным чистым, не чистым, ленивым и энергичным. Бэкенд, при этом, особо сильно не затрагивается --- SSA и IR/VM не различаются (и непонятно, зачем).

Так зачем? Вот есть бесконечное число переменных, каждая из которых присваивается один раз, проверки и прямые/непрямые переходы. В этот вид успешно преобразуется как императивная программа, так и функциональная.

T>Да, можно себе представить перевод функциональной программы в какой-нибудь вариант SSA как императивной... но это убивает саму идею.


Никто ничего не убивает; И представлять себе ничего не надо --- SSA и так является распространенным промежуточным представлением в различных компиляторах.
ФЯ напрямую отображаются на SSA. Императивные языки точно также отображаются на SSA. SSA, получаемое из функциональных языков намного проще
и удобнее в обработке, но суть не меняется.

Идея ФЯ, как и типов --- это повысить уровень абстракций. При компиляции он последовательно понижается вплоть до машинного кода на выходе.

T>Компилятору сначала предлагается сделать неэффективное (крайне неэффективное, учитывая замыкания и постоянные вызовы функций) промежуточное представление, а потом


Что значит "крайне неэффективное" ? Замыкания, какие возможно, уничтожаются. Closure conversion / Closure elimination. "Вызовы функций" совершенно необязательно транслируются в вызовы функций. Вызовы функций могут транслироваться в прямые или непрямые переходы, которые потом могут переставляться бэкендом для уничтожения переходов.

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

В остальном --- все так же. Да, циклы разворачивать сложнее, потому что в явном виде их нет. И инварианты из них доставать тоже сложнее.

T>крутить на нём сложные межпроцедурные оптимизации. На чём всё и кончается.


Что имеем в итоге: сущности, которыми оперируют ФЯ --- живут, в основном, выше уровня IR и успешно в него транслируются. Дальше --- все как обычно.
"Сложные межпроцедурные оптимизации" тоже по сути идентичны.

В итоге, я не очень понимаю, в чем проблема? Да, код, генерируемый их хаскелля стремноват, но не надо забывать о том, что он 1) ленивый 2) там требуется сборка мусора 3) RTTI 4) боксинг

все это небесплатно, и все это характерно для языков высокого уровня. Которых, кстати, компилируемых, что-то как-то не так много, а? Что бы было с чем сравнить. C и даже C++ --- это существенно другие языки.
Re[5]: Dart - The worst of both worlds ?
От: x-code  
Дата: 14.10.11 07:52
Оценка:
Здравствуйте, Евгений Акиньшин, Вы писали:

ЕА>Похоже это единственный серьезный аргумент, что Java контролируется ораклами а си-шарп — микрософтом.


Ну это же хорошо!
Java появилась давно, и она мне не нравится — в ней слишком мало фич. Когда я, еще будучи студентом-первокурсником, прочитал в конце книги по С++ Шилдта о Java, то честно говоря был в недоумении: указателей нет, многих конструкций С++ нет, все нельзя, все это работает медленнее чем С++ — И РАДИ ЧЕГО?
C# с точки зрения синтаксиса и возможностей уже заметно лучше Java, что не удивительно, т.к. появился он позже, и многие ошибки дизайна были в нем учтены. Но и C# неидеален.
Если гугл сделает свой язык уровня C# или выше, с мощной средой разработки (уровня Visual Studio), это будет замечательно.

И вообще, когда появляется новый язык, на форумах обычно все пишут "не нужен" и т.д. Не понимаю я этого. Новые языки программирования — это же интересно!
Re[5]: Dart - The worst of both worlds ?
От: fddima  
Дата: 14.10.11 09:01
Оценка:
Здравствуйте, Евгений Акиньшин, Вы писали:

dmz>>Использование информации о типах в VM -- это уже динамическая типизация.

ЕА>Не, там как я понял как раз VM с динамической типизацией, т.е. несмотря на то, что информация о типах в коде есть и можно подставить вызов метода на этапе компиляции, они все равно считают, что тип неизвестен и разрешают все связи динамически.
Возможно отчасти из-за WebIDL. Да и вообще если исчезнет возможность модифицировать объекты браузера (которые очень даже нативные) — то никому эта статическая типизация перестанет быть нужной как класс.
Re[2]: Dart - The worst of both worlds ?
От: WolfHound  
Дата: 14.10.11 09:21
Оценка: 2 (1) :)
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>ИМХО, всё Гугл делает вполне последовательно. Go — язык для "системного ядра",

Go для ядра?
Вот как ядра делать надо: Verve: типобезопасная ОС от MS Research
Автор: deniok
Дата: 07.12.10

А го это просто порнография.
Я вообще не понимаю для чего это недоразумение может понадобиться.

ГВ>теперь Dart — замена JavaScript. В случае Dart, по-моему, они просто ищут приемлемое решение для устройств со слабым процессором.

Динамически типизированный язык для слабых процессоров?
А ниче так что динамическая типизация тормозит раз в 10 и практически не лечится?
Всякие там V8 жрут тонны памяти и не особо сильно помогают.
Для слабых процессоров нужна статическая типизация. Причем с зависимыми типами чтобы по максимуму проверки на этап компиляции перенести.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[6]: Dart - The worst of both worlds ?
От: WolfHound  
Дата: 14.10.11 09:21
Оценка:
Здравствуйте, dmz, Вы писали:

dmz>Конкретнее можно? По какой природе он тормоз дичайший.

По причине ленивой семантики.
Если делать исполнение "влоб" то тормоза будут просто дичайшие.

dmz>А то тут надысь в тесте на совершенно несвойственную для Haskell задачу рассчета crc16 получили отставание от Си 26%.

Так я в следующем предложении написал про чудеса смекалки.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[2]: Dart - The worst of both worlds ?
От: MasterZiv СССР  
Дата: 14.10.11 10:49
Оценка:
On 12.10.2011 18:26, ilnar wrote:

> дык Go не пошел, надежда на новый язык


Надо было переименовать его в GoGo, может бы пошёл.
Если и этот не пошёл бы -- тогда в GoGoGo.
Posted via RSDN NNTP Server 2.1 beta
Re[7]: Dart - The worst of both worlds ?
От: dmz Россия  
Дата: 14.10.11 11:00
Оценка:
dmz>>Конкретнее можно? По какой природе он тормоз дичайший.
WH>По причине ленивой семантики.
WH>Если делать исполнение "влоб" то тормоза будут просто дичайшие.

Но ленивость это не всегда медленно. Иногда она быстрее. Хотя в целом согласен.
Re[6]: Dart - The worst of both worlds ?
От: Евгений Акиньшин grapholite.com
Дата: 14.10.11 12:48
Оценка:
Здравствуйте, x-code, Вы писали:

XC>Здравствуйте, Евгений Акиньшин, Вы писали:


ЕА>>Похоже это единственный серьезный аргумент, что Java контролируется ораклами а си-шарп — микрософтом.


XC>Ну это же хорошо!


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

XC>Если гугл сделает свой язык уровня C# или выше, с мощной средой разработки (уровня Visual Studio), это будет замечательно.


Так в том то и вопрос, чем Dart лучше Си-шарп?

XC>И вообще, когда появляется новый язык, на форумах обычно все пишут "не нужен" и т.д. Не понимаю я этого. Новые языки программирования — это же интересно!


Я конечно не специалист в языкостроении, собственно поэтому и спрашиваю. Но после беглого просмотра спецификации показалось, что все очень уж убого.
Не шалю, никого не трогаю, починяю примус Diagrams Designer for iPad and Windows 10
Re[3]: Dart - The worst of both worlds ?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 14.10.11 13:15
Оценка: 1 (1) +2 :)))
Здравствуйте, WolfHound, Вы писали:

ГВ>>ИМХО, всё Гугл делает вполне последовательно. Go — язык для "системного ядра",

WH>Go для ядра?

Для "серверной части", я неправильно сформулировал.

WH>Вот как ядра делать надо: Verve: типобезопасная ОС от MS Research
Автор: deniok
Дата: 07.12.10


Это исследовательский проект. Не спорю, он прекрасен, как спелая дыня... В саду алхимика. Но давай подождём, мой друг, пока эту дыню не привезут на базар. А потом подождём ещё — пока не вырастет одно или два поколения тех, кто вкусил этой дыни. Деду моего деда его дед рассказывал, что однажды молодой визирь позарился на неспелый плод из маленького сада придворного алхимика, где росли колдовские растения. И потом этот визирь превратился в чудище с телом льва, сердцем шакала и мозгом ослицы! Ни тебе, мой друг, ни тем кто тебе дорог не желаю такой участи!

WH>А го это просто порнография.

WH>Я вообще не понимаю для чего это недоразумение может понадобиться.

Ладно, не буду язвить. Идеалистичность — это, в конце концов, не порок.

ГВ>>теперь Dart — замена JavaScript. В случае Dart, по-моему, они просто ищут приемлемое решение для устройств со слабым процессором.

WH>Динамически типизированный язык для слабых процессоров?
WH>А ниче так что динамическая типизация тормозит раз в 10 и практически не лечится?
WH>Всякие там V8 жрут тонны памяти и не особо сильно помогают.
WH>Для слабых процессоров нужна статическая типизация. Причем с зависимыми типами чтобы по максимуму проверки на этап компиляции перенести.

Дык:

Dart provides, at the programmer’s option, a mixture of static and dynamic checking. When experimenting, the programmer can write untyped code for simple prototyping. As the application becomes larger and more stable, types can be added to aid debugging and impose structure where desired.

Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[6]: Dart - The worst of both worlds ?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 14.10.11 13:28
Оценка: :))
Здравствуйте, x-code, Вы писали:

XC>И вообще, когда появляется новый язык, на форумах обычно все пишут "не нужен" и т.д. Не понимаю я этого. Новые языки программирования — это же интересно!


В гугловых языках интересно как минимум то, что они сильнее других новоделов "прижаты" к сугубо практическим требованиям — минимум удивления, акцент на производительности, использование существующих платформ. И ещё мне очень импонирует реализация в гугловых языках идей CSP. Конечно, не всё гладко и не всё хорошо, но тенденция, ИМХО, вполне отчётливая.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[5]: Dart - The worst of both worlds ?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 14.10.11 13:45
Оценка:
Здравствуйте, Евгений Акиньшин, Вы писали:

ГВ>>Java обладает очень серьёзным недостатком — её контролирует Oracle.

ЕА>Похоже это единственный серьезный аргумент, что Java контролируется ораклами а си-шарп — микрософтом.

ИМХО, это архисерьёзный аргумент. И с другой стороны, на кой чёрт делать ещё одну реализацию JVM? Нехай этим IBM занимается, она большая и против Microsoft дружит.

ГВ>>Ну и потом, этот вопрос можно задать и сугубо риторическим порядком: "Люди, почему вы пользуетесь JavaScript, а не Java?" Ну вот так сложилось.

ЕА>Но то что сложилось это понятно. Но когда кто-то пытается поднять с нуля n + 1 язык, обычно говорят что у него есть некие преимущества перед существующими — реальные или хотя бы мнимые, иначе очень сложно найти Early Adapters которые начнут на нем хотя бы что-то писать. Я пока ни одного преимущества не вижу.

Как тебе сказать... Если не копаться в горних высях абстрактных моделей, а посмотреть под ноги, то, например, тот же Go вводит очень интересную концепцию goroutines и каналов. Сами по себе эти идеи не новы, интересно то, что они реализованы в C-подобном языке — а это, как минимум, устраняет немалую часть противоречий с современными системными программистами.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[7]: Dart - The worst of both worlds ?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 14.10.11 14:13
Оценка: 3 (1) +1
Здравствуйте, Евгений Акиньшин, Вы писали:

ЕА>>>Похоже это единственный серьезный аргумент, что Java контролируется ораклами а си-шарп — микрософтом.

XC>>Ну это же хорошо!
ЕА>Да я всегда только за новые языки, если они хоть чем-то лучше, или хотя бы просто имеют какие-то интересные особенности. У меня в общем хобби такое, пописать на чем-нибудь новеньком.

ИМХО, гугловые языки для этого не годятся. А вот для тех, кто уже точно очертил для себя проблему — вполне. Как канальная передача в Go. Никакой новизны и сногсшибательного инсайта — всё давно известно, просто реализовано на уровне языка. Мелочь, а приятно.

XC>>Если гугл сделает свой язык уровня C# или выше, с мощной средой разработки (уровня Visual Studio), это будет замечательно.

ЕА>Так в том то и вопрос, чем Dart лучше Си-шарп?

Болото он, этот C# — вчера были делегаты, сегодня функциональный стиль, завтра вообще анекдотов насочиняют. Вчера WinForms, завтра WPF, потом ещё какой-нибудь WxF. И насколько я понял (с немалым удивлением, прямо скажем), в Windows 8 его роль и "озвученные надежды" несколько снизятся — это уж вообще ни в какие ворота. Знаю, что ошибаюсь, но такое ощущение, что там Хейлсберг со своими безумными идеями с одной стороны и функциональщиками с такими же, но немного другими, переругались в дым, пока Windows team и плюсовики не разрубили этот гордиев узел вечного поиска. Короче говоря, на сегодняшний день языковые технологии Microsoft — это слишком нестабильная штука, чтобы делать на них стратегическую ставку (хе-хе, если это не C++). В этом смысле даже Java несколько лучше — она хоть имеет развитое community и как минимум, поддерживающего кита по имени IBM, а с C# получается, что индустрия становится в зависимость от изысканий узкой группы разработчиков.

XC>>И вообще, когда появляется новый язык, на форумах обычно все пишут "не нужен" и т.д. Не понимаю я этого. Новые языки программирования — это же интересно!

ЕА>Я конечно не специалист в языкостроении, собственно поэтому и спрашиваю. Но после беглого просмотра спецификации показалось, что все очень уж убого.

Ну, яблочко от яблоньки... Можно подумать, что JS — это нечто невероятное!
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[8]: Dart - The worst of both worlds ?
От: Евгений Акиньшин grapholite.com
Дата: 14.10.11 14:50
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Здравствуйте, Евгений Акиньшин, Вы писали:


ГВ>ИМХО, гугловые языки для этого не годятся. А вот для тех, кто уже точно очертил для себя проблему — вполне. Как канальная передача в Go. Никакой новизны и сногсшибательного инсайта — всё давно известно, просто реализовано на уровне языка. Мелочь, а приятно.


Сабж не про Go. Чего в Dart-е хорошего?

XC>>>Если гугл сделает свой язык уровня C# или выше, с мощной средой разработки (уровня Visual Studio), это будет замечательно.

ЕА>>Так в том то и вопрос, чем Dart лучше Си-шарп?

ГВ>Болото он, этот C# — вчера были делегаты, сегодня функциональный стиль, завтра вообще анекдотов насочиняют. Вчера WinForms, завтра WPF, потом ещё какой-нибудь WxF. И насколько я понял (с немалым удивлением, прямо скажем), в Windows 8 его роль и "озвученные надежды" несколько снизятся — это уж вообще ни в какие ворота. Знаю, что ошибаюсь, но такое ощущение, что там Хейлсберг со своими безумными идеями с одной стороны и функциональщиками с такими же, но немного другими, переругались в дым, пока Windows team и плюсовики не разрубили этот гордиев узел вечного поиска. Короче говоря, на сегодняшний день языковые технологии Microsoft — это слишком нестабильная штука, чтобы делать на них стратегическую ставку (хе-хе, если это не C++). В этом смысле даже Java несколько лучше — она хоть имеет развитое community и как минимум, поддерживающего кита по имени IBM, а с C# получается, что индустрия становится в зависимость от изысканий узкой группы разработчиков.



Какое отношение бардак с развитием ГУИшных библиотек имеет к языку программирования? Язык то как раз развивается вполне последовательно уже 10 лет. Как раз Java со своей комьюнити это полное болото, если бы Оракл за него не взялся, про развитие вообще можно было бы забыть.
Не шалю, никого не трогаю, починяю примус Diagrams Designer for iPad and Windows 10
Re[4]: Dart - The worst of both worlds ?
От: WolfHound  
Дата: 14.10.11 14:51
Оценка: +1 -1
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Для "серверной части", я неправильно сформулировал.

Для сервера в нем тоже нет ничего хорошего.
Этот язык вообще ни для чего не подходит лучше, чем жаба или там C#.
Для чего его такой сделали не ясно.

ГВ>Это исследовательский проект. Не спорю, он прекрасен, как спелая дыня... В саду алхимика. хъ

Пошла твоя обычная демагогия.
Слив можно засчитывать сразу.

ГВ>Дык:


ГВ>

Dart provides, at the programmer’s option, a mixture of static and dynamic checking. When experimenting, the programmer can write untyped code for simple prototyping. As the application becomes larger and more stable, types can be added to aid debugging and impose structure where desired.

А теперь прочитай то, как оно работает...
Я тебе по большому секрету скажу, что рантайм статическую типизацию не использует.
Там все всегда на динамике живет.
Так что здравствуйте глюки, тормоза и жор памяти на ровном месте.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[5]: Dart - The worst of both worlds ?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 14.10.11 15:08
Оценка: +1
Здравствуйте, WolfHound, Вы писали:

ГВ>>Для "серверной части", я неправильно сформулировал.

WH>Для сервера в нем тоже нет ничего хорошего.
WH>Этот язык вообще ни для чего не подходит лучше, чем жаба или там C#.
WH>Для чего его такой сделали не ясно.

Ну не ясно, так не ясно, в конце концов, никто не мешает тебе спросить об этом у Гугля.

ГВ>>Это исследовательский проект. Не спорю, он прекрасен, как спелая дыня... В саду алхимика. хъ

WH>Пошла твоя обычная демагогия.
WH>Слив можно засчитывать сразу.

Объясняю: пока MS не выпустит Windows на базе managed-ядра, и что не менее важно, эта Windows не завоюет своего пользователя, я не вижу ни малейшего резона утверждать, что "так надо делать". Знаешь, я этих "как надо" слышал чуть более, чем до хрена.

ГВ>>Дык:


ГВ>>

Dart provides, at the programmer’s option, a mixture of static and dynamic checking. When experimenting, the programmer can write untyped code for simple prototyping. As the application becomes larger and more stable, types can be added to aid debugging and impose structure where desired.

WH>А теперь прочитай то, как оно работает...
WH>Я тебе по большому секрету скажу, что рантайм статическую типизацию не использует.
WH>Там все всегда на динамике живет.
WH>Так что здравствуйте глюки, тормоза и жор памяти на ровном месте.

Тут я ещё не разобрался, надо смотреть дальше. Может быть, ты и прав.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[9]: Dart - The worst of both worlds ?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 14.10.11 19:00
Оценка: 1 (1)
Здравствуйте, Евгений Акиньшин, Вы писали:

ГВ>>ИМХО, гугловые языки для этого не годятся. А вот для тех, кто уже точно очертил для себя проблему — вполне. Как канальная передача в Go. Никакой новизны и сногсшибательного инсайта — всё давно известно, просто реализовано на уровне языка. Мелочь, а приятно.

ЕА>Сабж не про Go. Чего в Dart-е хорошего?

На мой скромный взгляд — хотя бы отказ от примитивов синхронизации. Что некоторым образом роднит его с Go и с Очень Правильной Парадигмой CSP.

XC>>>>Если гугл сделает свой язык уровня C# или выше, с мощной средой разработки (уровня Visual Studio), это будет замечательно.

ЕА>>>Так в том то и вопрос, чем Dart лучше Си-шарп?

ГВ>>Болото он, этот C# — вчера были делегаты, сегодня функциональный стиль, завтра вообще анекдотов насочиняют. Вчера WinForms, завтра WPF, потом ещё какой-нибудь WxF. И насколько я понял (с немалым удивлением, прямо скажем), в Windows 8 его роль и "озвученные надежды" несколько снизятся — это уж вообще ни в какие ворота. Знаю, что ошибаюсь, но такое ощущение, что там Хейлсберг со своими безумными идеями с одной стороны и функциональщиками с такими же, но немного другими, переругались в дым, пока Windows team и плюсовики не разрубили этот гордиев узел вечного поиска. Короче говоря, на сегодняшний день языковые технологии Microsoft — это слишком нестабильная штука, чтобы делать на них стратегическую ставку (хе-хе, если это не C++). В этом смысле даже Java несколько лучше — она хоть имеет развитое community и как минимум, поддерживающего кита по имени IBM, а с C# получается, что индустрия становится в зависимость от изысканий узкой группы разработчиков.


ЕА>Какое отношение бардак с развитием ГУИшных библиотек имеет к языку программирования?


Вообще говоря, это всё технические мелочи, важно другое. C# для MS в первую очередь — средство популяризации Windows, но никак не Android, Linux и иже с ними. Да, Mono пытается угнаться за виражами, но это происходит всегда с лагом, разнообразными недоработками и никогда заранее не понятно, не выкинет ли MS что-нибудь такое, что станет камнем преткновения для Mono. В сущности она имеет на это полное право и что характерно, у неё всегда есть мотив типа "отшибить конкурента". Вернее так: MS в данном случае — безоговорочный лидер и попросту что хочет, то и делает, а смогли за ней угнаться остальные или нет — это их трудности. Не хотите трудностей — пользуйтесь Windows. Приплыли. Ну и что удивительного, что не так уж много желающих играть в эту безвыигрышную лотерею?

Плюс к тому, ИМХО, Microsoft уже один раз дала понять пользователям на примере коммюнити VB, который одно время был чуть ли не самым массовым языком программирования для мелких приложений, что они её волнуют не так, чтобы очень сильно: вот вам VB.NET и делайте, что хотите. Понятно, что урон по сумме невелик (хотя как знать), но "осадочек остался". Аналогичная история с коммюнити C++, которые вот-вот и должны были (особенно если верить местным оракулам
Автор: Рек
Дата: 24.11.02
, обрати внимание на дату) мигрировать на .Net стройными рядами. И теперь MS пишет новую главу этой саги, Win8/WinRT/C++ reneissance — очередные метания из стороны в сторону. Для C++ исход не худший, но всё же без малого десять лет C++ "висел в воздухе" в идеологическом плане — это тоже не лучшим образом сказывается на отношении к MS. Но теперь (вот незадача!) аналогично закачалась лодка C# — просто если C# теперь официальный не-гегемон в мире Windows, а C++ пережил уже не один десяток ниспровергателей, то "зачем платить больше" (c)?

Ну и представь, что компания габаритов Гугла вдруг (внезапно!) выбирает C# в качестве основы для своих продуктов. Блин, да я охотней поверю, что Гугль десяток своих языков напишет и ещё раз перепишет всё на Лиспе, чем в то, что он когда-нибудь полезет в такой хаос. Тем более, что в отличие от MS Гугль звёзд с неба не хватает, а всего лишь пытается слегка улучшить существующие языки, и при этом поддерживает и Unix, и Windows, и свою ОС. В итоге всем пользователям лучше от того, что в этом серпентарии каждый сам по себе.

ЕА>Язык то как раз развивается вполне последовательно уже 10 лет.


Да и хай себе развивается. Здесь проблема в политике самой MS. ИМХО, разумеется.

ЕА>Как раз Java со своей комьюнити это полное болото, если бы Оракл за него не взялся, про развитие вообще можно было бы забыть.


Хм. А что там такого сделал Оракл? Дженерики и анонимные методы, если я ничего не путаю, появились задолго до того, как Sun стала подразделением Оракла.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[10]: Dart - The worst of both worlds ?
От: Евгений Акиньшин grapholite.com
Дата: 15.10.11 02:07
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Да и хай себе развивается. Здесь проблема в политике самой MS. ИМХО, разумеется.


Да, с этими доводами 100% согласен.

Только я то смотрю с позиции разработчика: гугл в данном случае делает язык, по синтаксису очень похожий на тот же шарп, только по всем параметрам намного хуже.

ЕА>>Как раз Java со своей комьюнити это полное болото, если бы Оракл за него не взялся, про развитие вообще можно было бы забыть.


ГВ>Хм. А что там такого сделал Оракл? Дженерики и анонимные методы, если я ничего не путаю, появились задолго до того, как Sun стала подразделением Оракла.


Наконец выпустили новый релиз языка. И насколько я понял, обещали по релизу в год выпускать, пока не догонят шарп.
Не шалю, никого не трогаю, починяю примус Diagrams Designer for iPad and Windows 10
Re[11]: Dart - The worst of both worlds ?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 15.10.11 05:29
Оценка:
Здравствуйте, Евгений Акиньшин, Вы писали:

ЕА>Только я то смотрю с позиции разработчика: гугл в данном случае делает язык, по синтаксису очень похожий на тот же шарп, только по всем параметрам намного хуже.


Хуже, лучше, какая разница? C# = Windows (иногда — Mono), а гуглоязыки по идее, работают везде, где есть браузер. Ну и какова здесь будет позиция разработчика, если он надеется охватить максимальную аудиторию при минимуме усилий?

ЕА>>>Как раз Java со своей комьюнити это полное болото, если бы Оракл за него не взялся, про развитие вообще можно было бы забыть.

ГВ>>Хм. А что там такого сделал Оракл? Дженерики и анонимные методы, если я ничего не путаю, появились задолго до того, как Sun стала подразделением Оракла.
ЕА>Наконец выпустили новый релиз языка. И насколько я понял, обещали по релизу в год выпускать, пока не догонят шарп.

Да, согласен, глянул Java roadmap на сайте. Правда, про C# ничего не нашёл, не подкинешь, часом, ссылку?
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[12]: Dart - The worst of both worlds ?
От: Евгений Акиньшин grapholite.com
Дата: 15.10.11 06:30
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Здравствуйте, Евгений Акиньшин, Вы писали:


ЕА>>Только я то смотрю с позиции разработчика: гугл в данном случае делает язык, по синтаксису очень похожий на тот же шарп, только по всем параметрам намного хуже.


ГВ>Хуже, лучше, какая разница? C# = Windows (иногда — Mono), а гуглоязыки по идее, работают везде, где есть браузер. Ну и какова здесь будет позиция разработчика, если он надеется охватить максимальную аудиторию при минимуме усилий?


А можно список гуглоязыков, которые работают в любом браузере?

ЕА>>>>Как раз Java со своей комьюнити это полное болото, если бы Оракл за него не взялся, про развитие вообще можно было бы забыть.

ГВ>>>Хм. А что там такого сделал Оракл? Дженерики и анонимные методы, если я ничего не путаю, появились задолго до того, как Sun стала подразделением Оракла.
ЕА>>Наконец выпустили новый релиз языка. И насколько я понял, обещали по релизу в год выпускать, пока не догонят шарп.

ГВ>Да, согласен, глянул Java roadmap на сайте. Правда, про C# ничего не нашёл, не подкинешь, часом, ссылку?


Ты чтож от них хочешь, чтобы они так прямо об этом и сказали? Я думаю достаточно посмотреть роадмап и учесть то, что .net сегодня основной конкурент явовской платформе, чтобы сделать такой вывод.
Не шалю, никого не трогаю, починяю примус Diagrams Designer for iPad and Windows 10
Re[13]: Dart - The worst of both worlds ?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 15.10.11 06:57
Оценка:
Здравствуйте, Евгений Акиньшин, Вы писали:

ЕА>А можно список гуглоязыков, которые работают в любом браузере?


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

ЕА>>>>>Как раз Java со своей комьюнити это полное болото, если бы Оракл за него не взялся, про развитие вообще можно было бы забыть.

ГВ>>>>Хм. А что там такого сделал Оракл? Дженерики и анонимные методы, если я ничего не путаю, появились задолго до того, как Sun стала подразделением Оракла.
ЕА>>>Наконец выпустили новый релиз языка. И насколько я понял, обещали по релизу в год выпускать, пока не догонят шарп.

ГВ>>Да, согласен, глянул Java roadmap на сайте. Правда, про C# ничего не нашёл, не подкинешь, часом, ссылку?

ЕА>Ты чтож от них хочешь, чтобы они так прямо об этом и сказали? Я думаю достаточно посмотреть роадмап и учесть то, что .net сегодня основной конкурент явовской платформе, чтобы сделать такой вывод.

Ясно. Просто я думаю, что никто C# догонять не собирается — слишком бессмысленное это занятие.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[14]: Dart - The worst of both worlds ?
От: Евгений Акиньшин grapholite.com
Дата: 15.10.11 07:52
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Здравствуйте, Евгений Акиньшин, Вы писали:


ЕА>>А можно список гуглоязыков, которые работают в любом браузере?


ГВ>На счёт множественного числа я не прав, но Dart, тем не менее, позиционируется как замена JS, который работает везде, где есть браузер.


За счет трансляции в jscript. Тогда и Java, и C# и еще куча языков работает в любом браузере.
Мы вот в коммерческом продукте используем C#-й код транслированный Script#-м в javascript — вполне себе работает во всех браузерах.
Не шалю, никого не трогаю, починяю примус Diagrams Designer for iPad and Windows 10
Re[12]: Dart - The worst of both worlds ?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 15.10.11 12:23
Оценка: 2 (1)
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Здравствуйте, Евгений Акиньшин, Вы писали:


ЕА>>Только я то смотрю с позиции разработчика: гугл в данном случае делает язык, по синтаксису очень похожий на тот же шарп, только по всем параметрам намного хуже.


ГВ>C# = Windows (иногда — Mono), а гуглоязыки по идее, работают везде, где есть браузер.

ну если уж на то пошло, то C# = Windows (90% компов) + Mono (еще 5%) + Azure (облака) + Windows Phone 7 + любой браузер с помощью (Script#) + почти любой браузер (silverlight) + корпоративный софт: Exchange, SharePoint, Dynamics crm, Lync

ГВ>Ну и какова здесь будет позиция разработчика, если он надеется охватить максимальную аудиторию при минимуме усилий?

Уж точно не dart и не go, и даже не любое гугловое апи.
Re[13]: Dart - The worst of both worlds ?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 15.10.11 14:16
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>ну если уж на то пошло, то C# = Windows (90% компов)


Мобильные устройства учёл?
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[14]: Dart - The worst of both worlds ?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 15.10.11 14:26
Оценка: 10 (1)
Здравствуйте, Геннадий Васильев, Вы писали:

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


G>>ну если уж на то пошло, то C# = Windows (90% компов)


ГВ>Мобильные устройства учёл?


Не учел, там есть Silverlight — Windows Phone 7, MonoTouch — iPhone\iPad, MonoDroid — Android, а еще на старых Windows phone 6 и 6.5 можно на .NET CF писать. Ну и Script# для веба.

Так что у C# как языка есть 100% покрытие мобильного рынка.
Re[15]: Dart - The worst of both worlds ?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 15.10.11 14:49
Оценка:
Здравствуйте, Евгений Акиньшин, Вы писали:

ЕА>>>А можно список гуглоязыков, которые работают в любом браузере?

ГВ>>На счёт множественного числа я не прав, но Dart, тем не менее, позиционируется как замена JS, который работает везде, где есть браузер.
ЕА>За счет трансляции в jscript. Тогда и Java, и C# и еще куча языков работает в любом браузере.

Если ты об этом, то как я понял, это у них "затычка", а вообще Гугл будет проталкивать свою скрипт-машину для Dart.

ЕА>Мы вот в коммерческом продукте используем C#-й код транслированный Script#-м в javascript — вполне себе работает во всех браузерах.


Гугль уверяет, что одна из целей Dart — сделать исполнение скриптов в браузере быстрее. ИМХО, странно было бы добиваться этого с помощью одной только трансляции в JS.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[15]: Dart - The worst of both worlds ?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 15.10.11 16:01
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>>>ну если уж на то пошло, то C# = Windows (90% компов)

ГВ>>Мобильные устройства учёл?

G>Не учел, там есть Silverlight — Windows Phone 7, MonoTouch — iPhone\iPad, MonoDroid — Android, а еще на старых Windows phone 6 и 6.5 можно на .NET CF писать. Ну и Script# для веба.


G>Так что у C# как языка есть 100% покрытие мобильного рынка.


Ну OK, согласен.

Осталось избавить C# от "фатального недостатка" — он написан не под эгидой Open Handset Alliance. С Mono вообще интересно, кстати. Почитал я апологию Mono по ссылке из википедии, забавно:

What we want by default are GREAT APPS. A user should boot an Ubuntu, Kubuntu, Xubuntu, or whatever CD and say to themselves “Wow, this Free Software stuff is great, I definitely don’t need Windows anymore”.


И вокруг там мысль развивается в пользу того, как Mono поможет отказаться от Windows. При такой риторике я бы ставить на Mono не стал: у Microsoft появляется слишком много аргументов в пользу того, чтобы нивелировать значение .Net и вместе с ним Mono. Я не знаю, как именно, может быть с помощью native, может, ещё как-то. Но уж больно велик стратегический риск: цели главного разработчика .Net очень уж явно противоречат целям Mono Team. Да, пока что всё тихо и думаю, что не последнюю роль в этой тишине играет слабая позиция Windows на мобильниках, но где гарантия, что раньше или позже они не схлестнутся в открытую?
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[16]: Dart - The worst of both worlds ?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 15.10.11 16:12
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

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


G>>>>ну если уж на то пошло, то C# = Windows (90% компов)

ГВ>>>Мобильные устройства учёл?

G>>Не учел, там есть Silverlight — Windows Phone 7, MonoTouch — iPhone\iPad, MonoDroid — Android, а еще на старых Windows phone 6 и 6.5 можно на .NET CF писать. Ну и Script# для веба.


G>>Так что у C# как языка есть 100% покрытие мобильного рынка.


ГВ>Ну OK, согласен.


ГВ>Осталось избавить C# от "фатального недостатка" — он написан не под эгидой Open Handset Alliance.


Да нахрен оно никому не упало.

ГВ>И вокруг там мысль развивается в пользу того, как Mono поможет отказаться от Windows.


Windows != .NET, даже без .NET виндовс имеет большую часть рынка. А само наличие mono не означает что внезапно windows программы заработают на других платформах.
Re[16]: Dart - The worst of both worlds ?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 15.10.11 16:17
Оценка:
ГВ>Да, пока что всё тихо и думаю, что не последнюю роль в этой тишине играет слабая позиция Windows на мобильниках, но где гарантия, что раньше или позже они не схлестнутся в открытую?

Тем более знаешь, что тут любопытно? Что сама MS свои ключевые продукты на .Net так и не переписала: ни Office, ни Internet Explorer, ни SQL Server, ни тем более — ядро Windows. То есть по сути дела, сама-то MS от .Net не особо зависит (оболочки студий не в счёт). И это сильно отличается от ситуации с COM, который затянут в кучу API.

Не, что ни говори, всё таки менеджмент у MS далеко не глуп.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[17]: Dart - The worst of both worlds ?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 15.10.11 16:21
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>>>Так что у C# как языка есть 100% покрытие мобильного рынка.

ГВ>>Ну OK, согласен.
ГВ>>Осталось избавить C# от "фатального недостатка" — он написан не под эгидой Open Handset Alliance.
G>
G>Да нахрен оно никому не упало.

Кто не упал? OHA? Хрен его знает, может быть, так оно и есть. Но я что вижу, о том пою.

ГВ>>И вокруг там мысль развивается в пользу того, как Mono поможет отказаться от Windows.

G>
G>Windows != .NET, даже без .NET виндовс имеет большую часть рынка.

За исключением мобильных устройств.

G>А само наличие mono не означает что внезапно windows программы заработают на других платформах.


Естественно. Только я тут говорил сугубо о риторическом приёме, который на самом деле "работает" не в пользу Mono.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[18]: Dart - The worst of both worlds ?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 15.10.11 16:35
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:


G>>А само наличие mono не означает что внезапно windows программы заработают на других платформах.

ГВ>Естественно. Только я тут говорил сугубо о риторическом приёме, который на самом деле "работает" не в пользу Mono.

Думаешь кого-то в Microsoft интересует мнение чувака в блоге?
Re[17]: Dart - The worst of both worlds ?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 15.10.11 16:44
Оценка: -2
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Что сама MS свои ключевые продукты на .Net так и не переписала: ни Office, ни Internet Explorer, ни SQL Server, ни тем более — ядро Windows.

А какой профит от переписывания? Никакого, а затраты огромные. Вот и не переписали.
Тем не менее: PowerPivot — расширение excel, которое позволяет обрабатывать огромные объемы данных — на .NET написано, Sql Server с 2005 версии требует .NET, очень много компонентов в нем на .NET. Далее powershell, exchange, sharepoint, dynamics, куча сайтов, все на .NET. WinRT в Windows 8 — работает на .NET, Azure, Windows Phone 7

ГВ>То есть по сути дела, сама-то MS от .Net не особо зависит (оболочки студий не в счёт).

Это бред.

ГВ>Не, что ни говори, всё таки менеджмент у MS далеко не глуп.

Да, именно поэтому они планомерно под .NET переписывают все. Следующая версия Exchange не будет содержать нативных компонент, надеюсь SharePoint и Dynamics также.
Re[18]: Dart - The worst of both worlds ?
От: Don Reba Канада https://stackoverflow.com/users/49329/don-reba
Дата: 15.10.11 17:07
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>WinRT в Windows 8 — работает на .NET, Windows Phone 7


WinRT на COM, а не .NET. В Windows Phone 7 системные приложения нативные.
Ce n'est que pour vous dire ce que je vous dis.
Re[19]: Dart - The worst of both worlds ?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 15.10.11 17:28
Оценка:
Здравствуйте, Don Reba, Вы писали:

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


G>>WinRT в Windows 8 — работает на .NET, Windows Phone 7


DR>WinRT на COM, а не .NET. да без разницы на чем сам WinRT написан, пусть хоть в паскале.

Главное что писать их можно будет в том числе на .NET

DR>В Windows Phone 7 системные приложения нативные.

И что? Мы же тут обсуждаем на чем писать приложения, а не на чем что-то там написано.
Писать для Windows Phone можно только на .NET
Re[18]: Dart - The worst of both worlds ?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 15.10.11 20:00
Оценка:
Здравствуйте, gandjustas, Вы писали:

ГВ>>Что сама MS свои ключевые продукты на .Net так и не переписала: ни Office, ни Internet Explorer, ни SQL Server, ни тем более — ядро Windows.

G>А какой профит от переписывания?

Не знаю.

G>Никакого, а затраты огромные. Вот и не переписали.

G>Тем не менее: PowerPivot — расширение excel, которое позволяет обрабатывать огромные объемы данных — на .NET написано, Sql Server с 2005 версии требует .NET, очень много компонентов в нем на .NET. Далее powershell, exchange, sharepoint, dynamics, куча сайтов, все на .NET.

Тем не менее и сам Excel, и Sql Server остались нативными. А интерфейсы, плагины и примочки — этого добра у любого развитого продукта выше крыши.

G>WinRT в Windows 8 — работает на .NET,


В том-то и пикантность новостей про Win8, что это не так.

G>Azure, Windows Phone 7


В руках не держал. Но по отзывам — это не совсем так. Во всяком случае, нативный Adobe Flash на WP7 вроде как поддерживается.

ГВ>>Не, что ни говори, всё таки менеджмент у MS далеко не глуп.

G>Да, именно поэтому они планомерно под .NET переписывают все.

То есть планомерно делают то, что не приносит профита? Забавная трактовка "не глупости" менеджмента.

G>Следующая версия Exchange не будет содержать нативных компонент,


Пруфлинк можно?
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[20]: Dart - The worst of both worlds ?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 15.10.11 20:02
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>>>WinRT в Windows 8 — работает на .NET, Windows Phone 7


DR>>WinRT на COM, а не .NET. да без разницы на чем сам WinRT написан, пусть хоть в паскале.

G>Главное что писать их можно будет в том числе на .NET

Ну знаешь! По такой логике Windows уже давно вся на .Net.

P.S.: Всё таки, вот именно здесь мы обсуждаем именно что на чём написано, а не где на чём можно писать.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[19]: Dart - The worst of both worlds ?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 15.10.11 20:08
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>>>А само наличие mono не означает что внезапно windows программы заработают на других платформах.

ГВ>>Естественно. Только я тут говорил сугубо о риторическом приёме, который на самом деле "работает" не в пользу Mono.
G>Думаешь кого-то в Microsoft интересует мнение чувака в блоге?

Что-то мне подсказывает, что он (Jo Shields) не единственный носитель подобных взглядов.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[19]: Dart - The worst of both worlds ?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 15.10.11 20:30
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

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


ГВ>>>Что сама MS свои ключевые продукты на .Net так и не переписала: ни Office, ни Internet Explorer, ни SQL Server, ни тем более — ядро Windows.

G>>А какой профит от переписывания?
ГВ>Не знаю.
Вот. И никто не знает, нет профита.


G>>Никакого, а затраты огромные. Вот и не переписали.

G>>Тем не менее: PowerPivot — расширение excel, которое позволяет обрабатывать огромные объемы данных — на .NET написано, Sql Server с 2005 версии требует .NET, очень много компонентов в нем на .NET. Далее powershell, exchange, sharepoint, dynamics, куча сайтов, все на .NET.

ГВ>Тем не менее и сам Excel, и Sql Server остались нативными. А интерфейсы, плагины и примочки — этого добра у любого развитого продукта выше крыши.

у они написаны были еще до того как .NET появился.

G>>WinRT в Windows 8 — работает на .NET,

ГВ>В том-то и пикантность новостей про Win8, что это не так.
Что не так? Я сам на .net уже делал metro — приложение.

G>>Azure, Windows Phone 7

ГВ>В руках не держал. Но по отзывам — это не совсем так. Во всяком случае, нативный Adobe Flash на WP7 вроде как поддерживается.
Не поддерживается.

ГВ>>>Не, что ни говори, всё таки менеджмент у MS далеко не глуп.

G>>Да, именно поэтому они планомерно под .NET переписывают все.
ГВ>То есть планомерно делают то, что не приносит профита? Забавная трактовка "не глупости" менеджмента.
так переписывают там где приносит. Это как раз серверные продукты, где важна стабильность работы и расширяемость.

G>>Следующая версия Exchange не будет содержать нативных компонент,

ГВ>Пруфлинк можно?
Пока нет, это еще не public информация.
Re[21]: Dart - The worst of both worlds ?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 15.10.11 20:32
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

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


G>>>>WinRT в Windows 8 — работает на .NET, Windows Phone 7


DR>>>WinRT на COM, а не .NET. да без разницы на чем сам WinRT написан, пусть хоть в паскале.

G>>Главное что писать их можно будет в том числе на .NET

ГВ>Ну знаешь! По такой логике Windows уже давно вся на .Net.

Нет, как раз для десктопа немного на .net пишут.

ГВ>P.S.: Всё таки, вот именно здесь мы обсуждаем именно что на чём написано, а не где на чём можно писать.

Да ну? Что на dart и go написано? Это возвращаясь к исходной теме.
Re[20]: Dart - The worst of both worlds ?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 15.10.11 22:28
Оценка: +1
Здравствуйте, gandjustas, Вы писали:

ГВ>>>>Что сама MS свои ключевые продукты на .Net так и не переписала: ни Office, ни Internet Explorer, ни SQL Server, ни тем более — ядро Windows.

G>>>А какой профит от переписывания?
ГВ>>Не знаю.
G>Вот. И никто не знает, нет профита.

Хорошо, так и запишем — профита для десктопных приложений в .Net не оказалось никакого.

G>>>WinRT в Windows 8 — работает на .NET,

ГВ>>В том-то и пикантность новостей про Win8, что это не так.
G>Что не так? Я сам на .net уже делал metro — приложение.

Если я правильно понимаю вот эту картинку:

(источник).

То из неё следует, что между WinRT и "системой" нет управляемой прослойки. В этом смысле C++ и C# вполне равноправны, то есть .Net как был, так и остался надстройкой над Windows API. Собственно, в этом и заключёна пикантность момента — вспомни, сколько было воплей, что вот-вот-вот, прямо завтра нативные-де приложения будут получать доступ к системе через .Net-прослойки. Или ещё краше, что часть системных сервисов будет переписана на .Net и нативным приложениям придётся довольствоваться сильно пониженными скоростями. Не помнишь таких разговоров?

G>>>Azure, Windows Phone 7

ГВ>>В руках не держал. Но по отзывам — это не совсем так. Во всяком случае, нативный Adobe Flash на WP7 вроде как поддерживается.
G>Не поддерживается.

Ясно.

ГВ>>>>Не, что ни говори, всё таки менеджмент у MS далеко не глуп.

G>>>Да, именно поэтому они планомерно под .NET переписывают все.
ГВ>>То есть планомерно делают то, что не приносит профита? Забавная трактовка "не глупости" менеджмента.
G>так переписывают там где приносит. Это как раз серверные продукты, где важна стабильность работы и расширяемость.

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

На мой взгляд, всё намного проще: .Net пока ещё толком не обкатан и что с ним станется до сих пор не ясно даже самой MS, вот .Net и засовывают пока во второстепенные подсистемы — интерфейс к UDF, диалоговые примочки, ещё что-то в этом духе типа очередного WxF. Короче, навешивают куда ни попадя, где его использование не сопряжено с большим риском. Платформа мобильных устройств, ИМХО, главная попытка сыграть "по-крупному", да и то, как я понимаю, ядро там по-прежнему нативное (хотя Singularity вышла не самой паршивой). А болтовню разводят — ну так куда ж без рекламы-то?! Не претендую на истину в последней инстанции, но во всяком случае, в таком объяснении нет программистских химер.

G>>>Следующая версия Exchange не будет содержать нативных компонент,

ГВ>>Пруфлинк можно?
G>Пока нет, это еще не public информация.

Хорошо, так и запишем: "по отдельным слухам". Правда, по таким же слухам .Net давно уже должна была завоевать мир и причинить ему немало непоправимого добра. Я чуть выше приводил ссылку на дискуссию 2002-го года, вот с тех самых пор.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[22]: Dart - The worst of both worlds ?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 15.10.11 22:34
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>>>>>WinRT в Windows 8 — работает на .NET, Windows Phone 7

DR>>>>WinRT на COM, а не .NET. да без разницы на чем сам WinRT написан, пусть хоть в паскале.
G>>>Главное что писать их можно будет в том числе на .NET
ГВ>>Ну знаешь! По такой логике Windows уже давно вся на .Net.
G>Нет, как раз для десктопа немного на .net пишут.

Так ты тогда определись, на какой вопрос отвечаешь: о том, что на чём написано, или о том, где на чём можно писать. Это два разных вопроса.

ГВ>>P.S.: Всё таки, вот именно здесь мы обсуждаем именно что на чём написано, а не где на чём можно писать.

G>Да ну?

Ну да. Именно в этой ветке я пустился в вольные рассуждения
Автор: Геннадий Васильев
Дата: 15.10.11
:

Что сама MS свои ключевые продукты на .Net так и не переписала: ни Office, ни Internet Explorer, ни SQL Server, ни тем более — ядро Windows.


G>Что на dart и go написано? Это возвращаясь к исходной теме.


А возвращаясь к исходной теме — на Dart и Go пока написано очень мало чего. На Dart так вообще ничего, скорее всего.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[21]: Dart - The worst of both worlds ?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 15.10.11 22:54
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

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


ГВ>>>>>Что сама MS свои ключевые продукты на .Net так и не переписала: ни Office, ни Internet Explorer, ни SQL Server, ни тем более — ядро Windows.

G>>>>А какой профит от переписывания?
ГВ>>>Не знаю.
G>>Вот. И никто не знает, нет профита.

ГВ>Хорошо, так и запишем — профита для десктопных приложений в .Net не оказалось никакого.

Выдаешь желаемое за действительное? Профита от переписывания — никакого.


ГВ>Если я правильно понимаю вот эту картинку:

ГВ>
ГВ>(источник).

ГВ>То из неё следует, что между WinRT и "системой" нет управляемой прослойки. В этом смысле C++ и C# вполне равноправны, то есть .Net как был, так и остался надстройкой над Windows API. Собственно, в этом и заключёна пикантность момента — вспомни, сколько было воплей, что вот-вот-вот, прямо завтра нативные-де приложения будут получать доступ к системе через .Net-прослойки. Или ещё краше, что часть системных сервисов будет переписана на .Net и нативным приложениям придётся довольствоваться сильно пониженными скоростями. Не помнишь таких разговоров?

Я подобный бред не читаю.

ГВ>>>>>Не, что ни говори, всё таки менеджмент у MS далеко не глуп.

G>>>>Да, именно поэтому они планомерно под .NET переписывают все.
ГВ>>>То есть планомерно делают то, что не приносит профита? Забавная трактовка "не глупости" менеджмента.
G>>так переписывают там где приносит. Это как раз серверные продукты, где важна стабильность работы и расширяемость.

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

По сути так и есть, потому что программисты везде одинаковые, на unmanaged тянуть большие, архитектурно сложные, проекты не получается.

ГВ>Я уже вырос из того возраста, когда легко верят в идиотизм управленцев.

... и начал верить в какой-то другой идиотизм.

ГВ>На мой взгляд, всё намного проще: .Net пока ещё толком не обкатан и что с ним станется до сих пор не ясно даже самой MS, вот .Net и засовывают пока во второстепенные подсистемы — интерфейс к UDF, диалоговые примочки, ещё что-то в этом духе типа очередного WxF.

Ага, 10 лет не определились, ты определенно в какой-то идиотизм веришь

ГВ>Короче, навешивают куда ни попадя, где его использование не сопряжено с большим риском.

Ага, особенно Azure и Windows Mobile

ГВ>Платформа мобильных устройств, ИМХО, главная попытка сыграть "по-крупному", да и то, как я понимаю, ядро там по-прежнему нативное (хотя Singularity вышла не самой паршивой).

Обычный взяли windows ce, выпилили оттуда все лишнее, сверху сделали silvelight для приложений.

ГВ>А болтовню разводят — ну так куда ж без рекламы-то?! Не претендую на истину в последней инстанции, но во всяком случае, в таком объяснении нет программистских химер.

Ты о чем?

G>>>>Следующая версия Exchange не будет содержать нативных компонент,

ГВ>>>Пруфлинк можно?
G>>Пока нет, это еще не public информация.

ГВ>Хорошо, так и запишем: "по отдельным слухам".

Ну как-бы MVP подписывают NDA, поэтому конкретные факты передавать не могут.

ГВ>Правда, по таким же слухам .Net давно уже должна была завоевать мир и причинить ему немало непоправимого добра. Я чуть выше приводил ссылку на дискуссию 2002-го года, вот с тех самых пор.

Я вижу какие аргументы ты тут про dart приводишь, они ни чем те лучше тех, на которые ты привел ссылку.
Re[23]: Dart - The worst of both worlds ?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 15.10.11 23:00
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

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


G>>>>>>WinRT в Windows 8 — работает на .NET, Windows Phone 7

DR>>>>>WinRT на COM, а не .NET. да без разницы на чем сам WinRT написан, пусть хоть в паскале.
G>>>>Главное что писать их можно будет в том числе на .NET
ГВ>>>Ну знаешь! По такой логике Windows уже давно вся на .Net.
G>>Нет, как раз для десктопа немного на .net пишут.
ГВ>Так ты тогда определись, на какой вопрос отвечаешь: о том, что на чём написано, или о том, где на чём можно писать. Это два разных вопроса.
Меня как программиста интересует что можно написать.

G>>Что на dart и go написано? Это возвращаясь к исходной теме.

ГВ>А возвращаясь к исходной теме — на Dart и Go пока написано очень мало чего. На Dart так вообще ничего, скорее всего.
И на go ничего. И не будет ничего на них написано.
Re[22]: Dart - The worst of both worlds ?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 16.10.11 00:02
Оценка: +1
Здравствуйте, gandjustas, Вы писали:

ГВ>>>>>>Что сама MS свои ключевые продукты на .Net так и не переписала: ни Office, ни Internet Explorer, ни SQL Server, ни тем более — ядро Windows.

G>>>>>А какой профит от переписывания?
ГВ>>>>Не знаю.
G>>>Вот. И никто не знает, нет профита.

ГВ>>Хорошо, так и запишем — профита для десктопных приложений в .Net не оказалось никакого.

G>Выдаешь желаемое за действительное? Профита от переписывания — никакого.

Э-э-э... Если переписанное на .Net приложение становится лучше, то очевидно, это и является профитом от переписывания. Не, я что-то не так сказал? Или переписывание само по себе может быть каким-то профитом, типа, процесс ради процесса?

ГВ>>Собственно, в этом и заключёна пикантность момента — вспомни, сколько было воплей, что вот-вот-вот, прямо завтра нативные-де приложения будут получать доступ к системе через .Net-прослойки. Или ещё краше, что часть системных сервисов будет переписана на .Net и нативным приложениям придётся довольствоваться сильно пониженными скоростями. Не помнишь таких разговоров?

G>Я подобный бред не читаю.

Поищи в ФП и, кажется, что-то в других форумах проскакивало. По-моему, что-то про Avalon и около того. Если не хочешь искать, то придётся поверить мне на слово, мне сейчас копаться лень.

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

G>По сути так и есть, потому что программисты везде одинаковые, на unmanaged тянуть большие, архитектурно сложные, проекты не получается.

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

ГВ>>Я уже вырос из того возраста, когда легко верят в идиотизм управленцев.

G>... и начал верить в какой-то другой идиотизм.

Возможно. В принципе, мне нравится Microsoft и то, что она делает (скажу по секрету — нравится гораздо сильнее, чем, скажем, OSF), вполне вероятно, что я где-то преувеличил достоинства её программистов и управленцев.

ГВ>>На мой взгляд, всё намного проще: .Net пока ещё толком не обкатан и что с ним станется до сих пор не ясно даже самой MS, вот .Net и засовывают пока во второстепенные подсистемы — интерфейс к UDF, диалоговые примочки, ещё что-то в этом духе типа очередного WxF.

G>Ага, 10 лет не определились, ты определенно в какой-то идиотизм веришь

Верю? Ну что ты! Я только пытаюсь рационализировать наблюдаемое.

ГВ>>Короче, навешивают куда ни попадя, где его использование не сопряжено с большим риском.

G>Ага, особенно Azure и Windows Mobile

А в чём риск использования .Net для Azure? Я ничего не путаю, что Azure хостится у Microsoft?

ГВ>>А болтовню разводят — ну так куда ж без рекламы-то?! Не претендую на истину в последней инстанции, но во всяком случае, в таком объяснении нет программистских химер.

G>Ты о чем?

Я считаю программистской химерой рассуждения о том, что одно лишь средство реализации (вроде .Net или Java) способно обеспечить масштабируемость, отказоустойчивость и т.п. Обычно это комплекс мер, включая организационные. Но если (и только если) Microsoft на самом деле руководствуется таким химеричными построениями, то пиши — пропало, от неё нужно улепётывать во все лопатки: та вечно юная скандалистка уже впала в маразм.

G>>>>>Следующая версия Exchange не будет содержать нативных компонент,

ГВ>>>>Пруфлинк можно?
G>>>Пока нет, это еще не public информация.
ГВ>>Хорошо, так и запишем: "по отдельным слухам".
G>Ну как-бы MVP подписывают NDA, поэтому конкретные факты передавать не могут.

Ну тогда подождём публично доступного релиза. Не апеллировать же к почти нарушенному NDA, правда?

ГВ>>Правда, по таким же слухам .Net давно уже должна была завоевать мир и причинить ему немало непоправимого добра. Я чуть выше приводил ссылку на дискуссию 2002-го года, вот с тех самых пор.

G>Я вижу какие аргументы ты тут про dart приводишь, они ни чем те лучше тех, на которые ты привел ссылку.

Наверное не лучше, не знаю. Я просто пересказываю то, что написано у Гугля и кое-что додумываю, пытаясь оставаться в рамках рациональных допущений.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[24]: Dart - The worst of both worlds ?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 16.10.11 00:28
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>>>>>>>WinRT в Windows 8 — работает на .NET, Windows Phone 7

DR>>>>>>WinRT на COM, а не .NET. да без разницы на чем сам WinRT написан, пусть хоть в паскале.
G>>>>>Главное что писать их можно будет в том числе на .NET
ГВ>>>>Ну знаешь! По такой логике Windows уже давно вся на .Net.
G>>>Нет, как раз для десктопа немного на .net пишут.
ГВ>>Так ты тогда определись, на какой вопрос отвечаешь: о том, что на чём написано, или о том, где на чём можно писать. Это два разных вопроса.
G>Меня как программиста интересует что можно написать.

Короче говоря, в огороде бузина...

G>>>Что на dart и go написано? Это возвращаясь к исходной теме.

ГВ>>А возвращаясь к исходной теме — на Dart и Go пока написано очень мало чего. На Dart так вообще ничего, скорее всего.
G>И на go ничего.

Да не скажи, какой-то "ж-ж-ж" есть. Например.

G>И не будет ничего на них написано.


Это тоже информация, распространяемая по секретным каналам для MVP?
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[23]: Dart - The worst of both worlds ?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 16.10.11 01:12
Оценка: :)
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Э-э-э... Если переписанное на .Net приложение становится лучше, то очевидно, это и является профитом от переписывания. Не, я что-то не так сказал? Или переписывание само по себе может быть каким-то профитом, типа, процесс ради процесса?

Именно, профит должен иметь денежный эквивалент. Если office перепишут для .NET его больше продадут? А вот VS например гораздо лучше продаваться стала, так как за счет плагинов получила больше функционала.

ГВ>>>Короче, навешивают куда ни попадя, где его использование не сопряжено с большим риском.

G>>Ага, особенно Azure и Windows Mobile

ГВ>А в чём риск использования .Net для Azure? Я ничего не путаю, что Azure хостится у Microsoft?

Да, но для него создана огромная инфраструктура и уж точно не unmanaged (кроме отдельных частей). Microsoft в облака вкладывает очень много денег, если бы реально был какой-то риск использования .NET, то в жизни бы за это не взялись.

ГВ>Я считаю программистской химерой рассуждения о том, что одно лишь средство реализации (вроде .Net или Java) способно обеспечить масштабируемость, отказоустойчивость и т.п. Обычно это комплекс мер, включая организационные. Но если (и только если) Microsoft на самом деле руководствуется таким химеричными построениями, то пиши — пропало, от неё нужно улепётывать во все лопатки: та вечно юная скандалистка уже впала в маразм.

Посмотри на ситуацию с другой стороны, обеспечить отказоустойчивость и масштабируемость на unmanaged получится? Вряд ли, там проблемы другого уровня будут.
Re[24]: Dart - The worst of both worlds ?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 16.10.11 03:31
Оценка:
Здравствуйте, gandjustas, Вы писали:

ГВ>>Э-э-э... Если переписанное на .Net приложение становится лучше, то очевидно, это и является профитом от переписывания. Не, я что-то не так сказал? Или переписывание само по себе может быть каким-то профитом, типа, процесс ради процесса?

G>Именно, профит должен иметь денежный эквивалент. Если office перепишут для .NET его больше продадут? А вот VS например гораздо лучше продаваться стала, так как за счет плагинов получила больше функционала.

Ага, осталось доказать, что без переписывания на .Net плагинов бы к студии не появилось.

ГВ>>>>Короче, навешивают куда ни попадя, где его использование не сопряжено с большим риском.

G>>>Ага, особенно Azure и Windows Mobile
ГВ>>А в чём риск использования .Net для Azure? Я ничего не путаю, что Azure хостится у Microsoft?
G>Да, но для него создана огромная инфраструктура и уж точно не unmanaged (кроме отдельных частей). Microsoft в облака вкладывает очень много денег, если бы реально был какой-то риск использования .NET, то в жизни бы за это не взялись.

Так я и не оспариваю того, что .Net в данном случае использовать можно. В конце концов, хостинг всегда под рукой и если что, то его можно быстро подправить. Со standalone-системой этого не получится, соответственно, в последнем случае риск появления "возмущённого пользователя" по определению намного выше.

ГВ>>Я считаю программистской химерой рассуждения о том, что одно лишь средство реализации (вроде .Net или Java) способно обеспечить масштабируемость, отказоустойчивость и т.п. Обычно это комплекс мер, включая организационные. Но если (и только если) Microsoft на самом деле руководствуется таким химеричными построениями, то пиши — пропало, от неё нужно улепётывать во все лопатки: та вечно юная скандалистка уже впала в маразм.

G>Посмотри на ситуацию с другой стороны, обеспечить отказоустойчивость и масштабируемость на unmanaged получится?

Конечно, получится. И подозреваю, что это будет даже проще, чем с навеской в виде .Net.

G>Вряд ли, там проблемы другого уровня будут.


Мы всё ещё говорим о компании, которая разработала кучу операционных систем, или о студентах-недоучках?
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[25]: Dart - The worst of both worlds ?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 16.10.11 10:03
Оценка: -3 :)
Здравствуйте, Геннадий Васильев, Вы писали:

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


ГВ>>>Э-э-э... Если переписанное на .Net приложение становится лучше, то очевидно, это и является профитом от переписывания. Не, я что-то не так сказал? Или переписывание само по себе может быть каким-то профитом, типа, процесс ради процесса?

G>>Именно, профит должен иметь денежный эквивалент. Если office перепишут для .NET его больше продадут? А вот VS например гораздо лучше продаваться стала, так как за счет плагинов получила больше функционала.

ГВ>Ага, осталось доказать, что без переписывания на .Net плагинов бы к студии не появилось.


А что доказывать? Просто сравни количество плагинов к 2008 и 2010.



ГВ>>>Я считаю программистской химерой рассуждения о том, что одно лишь средство реализации (вроде .Net или Java) способно обеспечить масштабируемость, отказоустойчивость и т.п. Обычно это комплекс мер, включая организационные. Но если (и только если) Microsoft на самом деле руководствуется таким химеричными построениями, то пиши — пропало, от неё нужно улепётывать во все лопатки: та вечно юная скандалистка уже впала в маразм.

G>>Посмотри на ситуацию с другой стороны, обеспечить отказоустойчивость и масштабируемость на unmanaged получится?

ГВ>Конечно, получится. И подозреваю, что это будет даже проще, чем с навеской в виде .Net.

Ок, покажи подобную систему. Что было архитектурно сложного написано на unmanaged за последние 10 лет?

G>>Вряд ли, там проблемы другого уровня будут.

ГВ>Мы всё ещё говорим о компании, которая разработала кучу операционных систем, или о студентах-недоучках?
Мы говорим о программистах, они в среднем одинаковые.
Re[15]: Dart - The worst of both worlds ?
От: Cyberax Марс  
Дата: 16.10.11 11:50
Оценка: 1 (1)
Здравствуйте, gandjustas, Вы писали:

ГВ>>Мобильные устройства учёл?

G>Не учел, там есть Silverlight — Windows Phone 7, MonoTouch — iPhone\iPad, MonoDroid — Android, а еще на старых Windows phone 6 и 6.5 можно на .NET CF писать. Ну и Script# для веба.
Только реально SL используется только для мувиков на сайте MS. MonoTouch — для кривых поделок уровня "тетриса", а MonoDroid — вообще смехотворен.

Точно так же можно сказать, что Java есть для .NET, для Андроида, для iPhone'а и даже в JavaScript компилироваться умеет с помощью GWT.
Sapienti sat!
Re[16]: Dart - The worst of both worlds ?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 16.10.11 13:05
Оценка:
Здравствуйте, Cyberax, Вы писали:

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


ГВ>>>Мобильные устройства учёл?

G>>Не учел, там есть Silverlight — Windows Phone 7, MonoTouch — iPhone\iPad, MonoDroid — Android, а еще на старых Windows phone 6 и 6.5 можно на .NET CF писать. Ну и Script# для веба.
C>Только реально SL используется только для мувиков на сайте MS. MonoTouch — для кривых поделок уровня "тетриса", а MonoDroid — вообще смехотворен.
Ты написал эмоции, они ничего общего с фактами не имеют.

C>Точно так же можно сказать, что Java есть для .NET, для Андроида, для iPhone'а и даже в JavaScript компилироваться умеет с помощью GWT.

Java для .NET, J# чтоли? Так его уже .NET 2.0 не стало.
Re[26]: Dart - The worst of both worlds ?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 16.10.11 14:03
Оценка: -1
Здравствуйте, gandjustas, Вы писали:

ГВ>>>>Э-э-э... Если переписанное на .Net приложение становится лучше, то очевидно, это и является профитом от переписывания. Не, я что-то не так сказал? Или переписывание само по себе может быть каким-то профитом, типа, процесс ради процесса?

G>>>Именно, профит должен иметь денежный эквивалент. Если office перепишут для .NET его больше продадут? А вот VS например гораздо лучше продаваться стала, так как за счет плагинов получила больше функционала.
ГВ>>Ага, осталось доказать, что без переписывания на .Net плагинов бы к студии не появилось.
G>А что доказывать? Просто сравни количество плагинов к 2008 и 2010.

Насколько я помню, на .Net студия переписана начиная с... Кажется, с 2003 (две тысячи три). Или мы о каких-то разных .Net говорим?

ГВ>>>>Я считаю программистской химерой рассуждения о том, что одно лишь средство реализации (вроде .Net или Java) способно обеспечить масштабируемость, отказоустойчивость и т.п. Обычно это комплекс мер, включая организационные. Но если (и только если) Microsoft на самом деле руководствуется таким химеричными построениями, то пиши — пропало, от неё нужно улепётывать во все лопатки: та вечно юная скандалистка уже впала в маразм.

G>>>Посмотри на ситуацию с другой стороны, обеспечить отказоустойчивость и масштабируемость на unmanaged получится?

ГВ>>Конечно, получится. И подозреваю, что это будет даже проще, чем с навеской в виде .Net.

G>Ок, покажи подобную систему.

Извини, дружище, делать тут экскурс по литературе по операционным системам я не буду, обратись по этой части к Дворкину с Лаптевым — они специалисты по обучению, но посмотри хотя бы в википедию.

G>Что было архитектурно сложного написано на unmanaged за последние 10 лет?


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

G>>>Вряд ли, там проблемы другого уровня будут.

ГВ>>Мы всё ещё говорим о компании, которая разработала кучу операционных систем, или о студентах-недоучках?
G>Мы говорим о программистах, они в среднем одинаковые.

Ага, то есть надо думать, что разработка Windows — это так, случайность, а как именно её сделали — они теперь и сами не понимают, и другим объяснить не могут, и программистов соответствующих найти не в состоянии. То есть по сути ты говоришь, что MS: а) действует по совершенно идиотским принципам исходя из того, что б) не может найти программистов для программирования гипервизора ОС. Заметь, что если всё действительно так, то MS — это колосс на глиняных ногах в буквальном смысле слова.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[27]: Dart - The worst of both worlds ?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 16.10.11 15:17
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

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


ГВ>>>>>Э-э-э... Если переписанное на .Net приложение становится лучше, то очевидно, это и является профитом от переписывания. Не, я что-то не так сказал? Или переписывание само по себе может быть каким-то профитом, типа, процесс ради процесса?

G>>>>Именно, профит должен иметь денежный эквивалент. Если office перепишут для .NET его больше продадут? А вот VS например гораздо лучше продаваться стала, так как за счет плагинов получила больше функционала.
ГВ>>>Ага, осталось доказать, что без переписывания на .Net плагинов бы к студии не появилось.
G>>А что доказывать? Просто сравни количество плагинов к 2008 и 2010.

ГВ>Насколько я помню, на .Net студия переписана начиная с... Кажется, с 2003 (две тысячи три). Или мы о каких-то разных .Net говорим?

тебе кажется. С 2003 были отдельные инструменты на .NET, и они довольно плохо встраивались в VS, кроме того нехорошие расширения (unmanaged) регулярно роняли студию. В 2010 на .NET был переписан shell, редактор, поддержка проектов и еще много чего. И резко это стало удобно расширять.
Эффект можешь наблюдать на сайте visualstudiogallery просто сравнив количество расширений для 2010 и для 2008 студии.

ГВ>>>>>Я считаю программистской химерой рассуждения о том, что одно лишь средство реализации (вроде .Net или Java) способно обеспечить масштабируемость, отказоустойчивость и т.п. Обычно это комплекс мер, включая организационные. Но если (и только если) Microsoft на самом деле руководствуется таким химеричными построениями, то пиши — пропало, от неё нужно улепётывать во все лопатки: та вечно юная скандалистка уже впала в маразм.

G>>>>Посмотри на ситуацию с другой стороны, обеспечить отказоустойчивость и масштабируемость на unmanaged получится?

ГВ>>>Конечно, получится. И подозреваю, что это будет даже проще, чем с навеской в виде .Net.

G>>Ок, покажи подобную систему.

ГВ>Извини, дружище, делать тут экскурс по литературе по операционным системам я не буду, обратись по этой части к Дворкину с Лаптевым — они специалисты по обучению, но посмотри хотя бы в википедию.

А где тут архитектурная сложность? Даже статья в википедии короткая. Основная проблема запрограммить hypervisor, которая как раз в unmanaged упирается.

G>>Что было архитектурно сложного написано на unmanaged за последние 10 лет?

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

G>>>>Вряд ли, там проблемы другого уровня будут.

ГВ>>>Мы всё ещё говорим о компании, которая разработала кучу операционных систем, или о студентах-недоучках?
G>>Мы говорим о программистах, они в среднем одинаковые.

ГВ>Ага, то есть надо думать, что разработка Windows — это так, случайность, а как именно её сделали — они теперь и сами не понимают, и другим объяснить не могут, и программистов соответствующих найти не в состоянии. То есть по сути ты говоришь, что MS: а) действует по совершенно идиотским принципам исходя из того, что б) не может найти программистов для программирования гипервизора ОС. Заметь, что если всё действительно так, то MS — это колосс на глиняных ногах в буквальном смысле слова.

Ты сейчас о чем вообще? Я вот буквально вчера смотрел как на build показали два Windows 8 Server, соединенных сетевым проводом и live migration виртуалки между ними. Эта возможности кстати есть и в WinServer2008 R2 SP1, только там failover кластер между ними поднимать надо.
Re[28]: Dart - The worst of both worlds ?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 16.10.11 17:15
Оценка:
Здравствуйте, gandjustas, Вы писали:

ГВ>>>>>>Э-э-э... Если переписанное на .Net приложение становится лучше, то очевидно, это и является профитом от переписывания. Не, я что-то не так сказал? Или переписывание само по себе может быть каким-то профитом, типа, процесс ради процесса?

G>>>>>Именно, профит должен иметь денежный эквивалент. Если office перепишут для .NET его больше продадут? А вот VS например гораздо лучше продаваться стала, так как за счет плагинов получила больше функционала.
ГВ>>>>Ага, осталось доказать, что без переписывания на .Net плагинов бы к студии не появилось.
G>>>А что доказывать? Просто сравни количество плагинов к 2008 и 2010.
ГВ>>Насколько я помню, на .Net студия переписана начиная с... Кажется, с 2003 (две тысячи три). Или мы о каких-то разных .Net говорим?
G>тебе кажется. С 2003 были отдельные инструменты на .NET, и они довольно плохо встраивались в VS, кроме того нехорошие расширения (unmanaged) регулярно роняли студию. В 2010 на .NET был переписан shell, редактор, поддержка проектов и еще много чего. И резко это стало удобно расширять.

OK, пусть так.

G>Эффект можешь наблюдать на сайте visualstudiogallery просто сравнив количество расширений для 2010 и для 2008 студии.


Не вопрос, сравниваем. 1704 результата для VS2008, 1983 — для VS2010. Вполне вписывается в общий для таких ситуаций прогноз: более новая версия привлекает большее внимание. Кстати, эта статистика прямо опровергает твоё высказывание о какой-то невероятно большой роли переписывания VS2010 на .Net в деле развития плагиностроения.

ГВ>>>>>>Я считаю программистской химерой рассуждения о том, что одно лишь средство реализации (вроде .Net или Java) способно обеспечить масштабируемость, отказоустойчивость и т.п. Обычно это комплекс мер, включая организационные. Но если (и только если) Microsoft на самом деле руководствуется таким химеричными построениями, то пиши — пропало, от неё нужно улепётывать во все лопатки: та вечно юная скандалистка уже впала в маразм.

G>>>>>Посмотри на ситуацию с другой стороны, обеспечить отказоустойчивость и масштабируемость на unmanaged получится?

ГВ>>>>Конечно, получится. И подозреваю, что это будет даже проще, чем с навеской в виде .Net.

G>>>Ок, покажи подобную систему.

ГВ>>Извини, дружище, делать тут экскурс по литературе по операционным системам я не буду, обратись по этой части к Дворкину с Лаптевым — они специалисты по обучению, но посмотри хотя бы в википедию.

G>А где тут архитектурная сложность?

Чем дальше, тем чудесатей. Ты спросил: "покажи подобную систему" — я показал, оттуда можно было пойти по ссылкам и найти, например, вот эту публикацию 2009-го года. Но при чём здесь архитектурная сложность? Речь-то не о ней.

G>Даже статья в википедии короткая. Основная проблема запрограммить hypervisor, которая как раз в unmanaged упирается.


Ну и посмотри, в скольких продуктах, помимо Microsoft-овских реализована эта возможность. Почему-то пресловутые unmanaged-кошмары камнем преткновения не стали.

G>>>Что было архитектурно сложного написано на unmanaged за последние 10 лет?

ГВ>>Извини ещё раз, но это уже совсем не смешно. Давай, мы будем обоюдно считать, что ты этого вопроса не задавал, а я в ответ воздержусь от излишних колкостей?
G>Сливаешь?

Пытаюсь руководствоваться принципом избегания дурацких вопросов. Знаешь, пожалуй, по этому направлению я лучше и в самом деле "солью" — продолжай считать, что за пределами .Net жизни нет и медведи с балалайками по улицам, разубеждать тебя мне нет никакой необходимости.

G>>>>>Вряд ли, там проблемы другого уровня будут.

ГВ>>>>Мы всё ещё говорим о компании, которая разработала кучу операционных систем, или о студентах-недоучках?
G>>>Мы говорим о программистах, они в среднем одинаковые.
ГВ>>Ага, то есть надо думать, что разработка Windows — это так, случайность, а как именно её сделали — они теперь и сами не понимают, и другим объяснить не могут, и программистов соответствующих найти не в состоянии. То есть по сути ты говоришь, что MS: а) действует по совершенно идиотским принципам исходя из того, что б) не может найти программистов для программирования гипервизора ОС. Заметь, что если всё действительно так, то MS — это колосс на глиняных ногах в буквальном смысле слова.
G>Ты сейчас о чем вообще?

О том, что по твоей логике выходит, что у Microsoft нехватка программистов достаточной квалификации, поэтому в Azure используется .Net.

G>Я вот буквально вчера смотрел как на build показали два Windows 8 Server, соединенных сетевым проводом и live migration виртуалки между ними. Эта возможности кстати есть и в WinServer2008 R2 SP1, только там failover кластер между ними поднимать надо.


Я очень рад за тебя, но почитай вот эту статью: http://www.pcweek.ru/its/article/detail.php?ID=114466. Обрати внимание, что она трёхлетней давности и там упоминается о том, что Live Migration на тот момент уже была реализована в Linux и vmWare.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[29]: Dart - The worst of both worlds ?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 16.10.11 18:03
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

G>>Эффект можешь наблюдать на сайте visualstudiogallery просто сравнив количество расширений для 2010 и для 2008 студии.


ГВ>Не вопрос, сравниваем. 1704 результата для VS2008, 1983 — для VS2010. Вполне вписывается в общий для таких ситуаций прогноз: более новая версия привлекает большее внимание. Кстати, эта статистика прямо опровергает твоё высказывание о какой-то невероятно большой роли переписывания VS2010 на .Net в деле развития плагиностроения.

VS2010 в два раза меньше времени живет и имеет при этом больше плагинов.


G>>Даже статья в википедии короткая. Основная проблема запрограммить hypervisor, которая как раз в unmanaged упирается.

ГВ>Ну и посмотри, в скольких продуктах, помимо Microsoft-овских реализована эта возможность. Почему-то пресловутые unmanaged-кошмары камнем преткновения не стали.
Так это не является архитектурно сложной задачей. Не надо сильно парится надо устойчивостью, масштабированием, распределенностью. Два компа — один передает данные другому. Проблема именно в гипервизоре и в том что он на очень низком уровне работать должен. Это значит что managed туда и не всунешь. Поэтому и live miration только последние год-два работает, хотя железо позволяло еще лет 5 назад.

ГВ>Пытаюсь руководствоваться принципом избегания дурацких вопросов. Знаешь, пожалуй, по этому направлению я лучше и в самом деле "солью" — продолжай считать, что за пределами .Net жизни нет и медведи с балалайками по улицам, разубеждать тебя мне нет никакой необходимости.

Это же ты не верил что на unmanaged архитектурно сложные вещи не делаются. А сам приводишь совершенно левые примеры и говоришь о принципе "избегания дурацких вопросов".

ГВ>О том, что по твоей логике выходит, что у Microsoft нехватка программистов достаточной квалификации, поэтому в Azure используется .Net.

Думаешь если бы у программистов была квалификация выше, то все бы на unmanaged писали?
Re[30]: Dart - The worst of both worlds ?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 16.10.11 19:03
Оценка: +1
Здравствуйте, gandjustas, Вы писали:

G>>>Эффект можешь наблюдать на сайте visualstudiogallery просто сравнив количество расширений для 2010 и для 2008 студии.


ГВ>>Не вопрос, сравниваем. 1704 результата для VS2008, 1983 — для VS2010. Вполне вписывается в общий для таких ситуаций прогноз: более новая версия привлекает большее внимание. Кстати, эта статистика прямо опровергает твоё высказывание о какой-то невероятно большой роли переписывания VS2010 на .Net в деле развития плагиностроения.

G> VS2010 в два раза меньше времени живет и имеет при этом больше плагинов.

А по-моему, ничего удивительного: часть плагинов VS2008 (если не все) мигрировали под VS2010, плюс добавились специфичные для VS2010. Всё объяснимо совершенно простыми вещами, явление вполне закономерное.

ГВ>>Пытаюсь руководствоваться принципом избегания дурацких вопросов. Знаешь, пожалуй, по этому направлению я лучше и в самом деле "солью" — продолжай считать, что за пределами .Net жизни нет и медведи с балалайками по улицам, разубеждать тебя мне нет никакой необходимости.

G>Это же ты не верил что на unmanaged архитектурно сложные вещи не делаются. А сам приводишь совершенно левые примеры и говоришь о принципе "избегания дурацких вопросов".

Почитай про маленький отказоустойчивый кластер своими руками, и про vSphere. Не знаю, может быть, я плохо искал, но ни Java, ни .Net там не фигурируют.

ГВ>>О том, что по твоей логике выходит, что у Microsoft нехватка программистов достаточной квалификации, поэтому в Azure используется .Net.

G> Думаешь если бы у программистов была квалификация выше, то все бы на unmanaged писали?

Не знаю. Это по твоим словам выходит, что .Net — удел "средних программистов".
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[30]: Dart - The worst of both worlds ?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 16.10.11 19:23
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>Это же ты не верил что на unmanaged архитектурно сложные вещи не делаются. А сам приводишь совершенно левые примеры и говоришь о принципе "избегания дурацких вопросов".


Ты извини, я просто немного (мягко говоря) офигел от заданного вопроса. Так вот, отказоустойчивые и исполненные разных иных достоинств вычислительные системы — штука очень давняя, ведущая свою историю с 70-х. Как ты понимаешь, managed-платформ тогда ещё даже в проекте не существовало. Просто сейчас организация таких систем стала доступна "рядовому пользователю" — и становится всё доступней и доступней. Заслуга managed в этом направлении чуть менее, чем никакая — тут, скорее, надо сказать спасибо Intel за высокопроизводительную аппаратуру.

А что до мегахостингов типа Azure — ну, я бы несказанно удивился, если бы Microsoft захостила у себя инфраструктуру для Java.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[31]: Dart - The worst of both worlds ?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 16.10.11 19:52
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

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


G>>Это же ты не верил что на unmanaged архитектурно сложные вещи не делаются. А сам приводишь совершенно левые примеры и говоришь о принципе "избегания дурацких вопросов".


ГВ>Ты извини, я просто немного (мягко говоря) офигел от заданного вопроса. Так вот, отказоустойчивые и исполненные разных иных достоинств вычислительные системы — штука очень давняя, ведущая свою историю с 70-х. Как ты понимаешь, managed-платформ тогда ещё даже в проекте не существовало. Просто сейчас организация таких систем стала доступна "рядовому пользователю" — и становится всё доступней и доступней. Заслуга managed в этом направлении чуть менее, чем никакая — тут, скорее, надо сказать спасибо Intel за высокопроизводительную аппаратуру.


Только 30 лет назад содание таких систем стоило таких денег, что сейчас столько не соберешь, а требования были гораздо ниже.
Re[17]: Dart - The worst of both worlds ?
От: Cyberax Марс  
Дата: 16.10.11 20:22
Оценка: :)
Здравствуйте, gandjustas, Вы писали:

C>>Только реально SL используется только для мувиков на сайте MS. MonoTouch — для кривых поделок уровня "тетриса", а MonoDroid — вообще смехотворен.

G>Ты написал эмоции, они ничего общего с фактами не имеют.
Согласен. Мувики на сайте MS уже тоже переделывают в <video>+h264.

C>>Точно так же можно сказать, что Java есть для .NET, для Андроида, для iPhone'а и даже в JavaScript компилироваться умеет с помощью GWT.

G>Java для .NET, J# чтоли? Так его уже .NET 2.0 не стало.
Нет, есть ikvm (http://www.ikvm.net/). Пофиг, что она убога и страшна как ядерная война, но ведь оно ЕСТЬ!

По факту, для .NET есть поделки разной степени паршивости. Они не будут (в том числе и по идеологическим причинам) использоваться в открытом Web'е. Точно так же, как раньше пролетела Java. При том, что у Java заявляемое "Java Everywhere" было намного ближе к реальности, чем с .NET.

Если бы MS выпустила значительную часть .NET-фреймворка на портируемом C++, под BSD-лицензией, с открытым стилем разработки — шанс у .NET был бы. А так сейчас только идиоты станут закладываться на него, так как есть ноль гарантий, что следующий .NET FW будет работать под YetAnotherCoolDevice.
Sapienti sat!
Re[18]: Dart - The worst of both worlds ?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 16.10.11 20:39
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>По факту, для .NET есть поделки разной степени паршивости. Они не будут (в том числе и по идеологическим причинам) использоваться в открытом Web'е. Точно так же, как раньше пролетела Java. При том, что у Java заявляемое "Java Everywhere" было намного ближе к реальности, чем с .NET.

А кто-то заявлял что .NET Everywhere? Достаточно того что .NET доступен для веба (как клиент, так и сервер). для десктопа (опять таки все платформы) и для мобилок в большей или меньшей степени.

.NET в чайниках, кофеварках и RT-системах нафиг не упал.

C>Если бы MS выпустила значительную часть .NET-фреймворка на портируемом C++, под BSD-лицензией, с открытым стилем разработки — шанс у .NET был бы. А так сейчас только идиоты станут закладываться на него, так как есть ноль гарантий, что следующий .NET FW будет работать под YetAnotherCoolDevice.

Странно ты рассуждаешь. Я вот делаю какойнить крутой интернет сервис, какая мне разница что .NET не будет доступен на андроиде?
Re[30]: Dart - The worst of both worlds ?
От: Cyberax Марс  
Дата: 16.10.11 20:53
Оценка: 10 (1)
Здравствуйте, gandjustas, Вы писали:

ГВ>>Ну и посмотри, в скольких продуктах, помимо Microsoft-овских реализована эта возможность. Почему-то пресловутые unmanaged-кошмары камнем преткновения не стали.

G>Так это не является архитектурно сложной задачей. Не надо сильно парится надо устойчивостью, масштабированием, распределенностью. Два компа — один передает данные другому. Проблема именно в гипервизоре и в том что он на очень низком уровне работать должен. Это значит что managed туда и не всунешь. Поэтому и live miration только последние год-два работает, хотя железо позволяло еще лет 5 назад.
OpenVZ имел живую миграцию контейнеров аж 2003-м году. VmWare в районе 2005-го. В районе 2009-го в XEN появился механизм повышенной устойчивости, когда две машины одновременно выполняют ОДИН И ТОТ ЖЕ код, и в случае падения одной из них, другая просто продолжает работу.

Каких-либо проблем с гипервизором и .NET здесь нет.
Sapienti sat!
Re[19]: Dart - The worst of both worlds ?
От: Cyberax Марс  
Дата: 16.10.11 20:55
Оценка: -1
Здравствуйте, gandjustas, Вы писали:

C>>По факту, для .NET есть поделки разной степени паршивости. Они не будут (в том числе и по идеологическим причинам) использоваться в открытом Web'е. Точно так же, как раньше пролетела Java. При том, что у Java заявляемое "Java Everywhere" было намного ближе к реальности, чем с .NET.

G>А кто-то заявлял что .NET Everywhere? Достаточно того что .NET доступен для веба (как клиент, так и сервер). для десктопа (опять таки все платформы) и для мобилок в большей или меньшей степени.
В реальности только он нафиг никому не сдался. Потому следующий стандарт HTML + JS не будет его использовать.

G>.NET в чайниках, кофеварках и RT-системах нафиг не упал.

В кофеварках нынче интерфейс на HTML5 будет делаться....

C>>Если бы MS выпустила значительную часть .NET-фреймворка на портируемом C++, под BSD-лицензией, с открытым стилем разработки — шанс у .NET был бы. А так сейчас только идиоты станут закладываться на него, так как есть ноль гарантий, что следующий .NET FW будет работать под YetAnotherCoolDevice.

G>Странно ты рассуждаешь. Я вот делаю какойнить крутой интернет сервис, какая мне разница что .NET не будет доступен на андроиде?
Он у тебя во что рендериться будет? В HTML? Ну тогда .NET-ность пофиг.
Sapienti sat!
Re[32]: Dart - The worst of both worlds ?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 16.10.11 21:13
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>>>Это же ты не верил что на unmanaged архитектурно сложные вещи не делаются. А сам приводишь совершенно левые примеры и говоришь о принципе "избегания дурацких вопросов".

ГВ>>Ты извини, я просто немного (мягко говоря) офигел от заданного вопроса. Так вот, отказоустойчивые и исполненные разных иных достоинств вычислительные системы — штука очень давняя, ведущая свою историю с 70-х. Как ты понимаешь, managed-платформ тогда ещё даже в проекте не существовало. Просто сейчас организация таких систем стала доступна "рядовому пользователю" — и становится всё доступней и доступней. Заслуга managed в этом направлении чуть менее, чем никакая — тут, скорее, надо сказать спасибо Intel за высокопроизводительную аппаратуру.
G>Только 30 лет назад содание таких систем стоило таких денег, что сейчас столько не соберешь, а требования были гораздо ниже.

40, а не 30, хотя по сути это ничего не меняет: отказоустойчивые системы с виртуализацией ресурсов успешно создавались как тогда, так и сейчас, и что характерно — без всякого участия managed-платформ.

Полагаю, что вопрос про "покажи такую систему" и про "последние 10 лет" исчерпан.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[19]: Dart - The worst of both worlds ?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 16.10.11 21:19
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>.NET в [...] RT-системах нафиг не упал.


Надо же, сколько интересной информации под NDA распространяют...
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[20]: Dart - The worst of both worlds ?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 16.10.11 21:41
Оценка:
Здравствуйте, Cyberax, Вы писали:

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


C>>>По факту, для .NET есть поделки разной степени паршивости. Они не будут (в том числе и по идеологическим причинам) использоваться в открытом Web'е. Точно так же, как раньше пролетела Java. При том, что у Java заявляемое "Java Everywhere" было намного ближе к реальности, чем с .NET.

G>>А кто-то заявлял что .NET Everywhere? Достаточно того что .NET доступен для веба (как клиент, так и сервер). для десктопа (опять таки все платформы) и для мобилок в большей или меньшей степени.
C>В реальности только он нафиг никому не сдался. Потому следующий стандарт HTML + JS не будет его использовать.
Ты удивишься, но можно JS на C# писать.

C>>>Если бы MS выпустила значительную часть .NET-фреймворка на портируемом C++, под BSD-лицензией, с открытым стилем разработки — шанс у .NET был бы. А так сейчас только идиоты станут закладываться на него, так как есть ноль гарантий, что следующий .NET FW будет работать под YetAnotherCoolDevice.

G>>Странно ты рассуждаешь. Я вот делаю какойнить крутой интернет сервис, какая мне разница что .NET не будет доступен на андроиде?
C>Он у тебя во что рендериться будет? В HTML? Ну тогда .NET-ность пофиг.
То есть любой серверный код пофигу?
Ты уже гонишь.
Re[33]: Dart - The worst of both worlds ?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 16.10.11 21:49
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

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


G>>>>Это же ты не верил что на unmanaged архитектурно сложные вещи не делаются. А сам приводишь совершенно левые примеры и говоришь о принципе "избегания дурацких вопросов".

ГВ>>>Ты извини, я просто немного (мягко говоря) офигел от заданного вопроса. Так вот, отказоустойчивые и исполненные разных иных достоинств вычислительные системы — штука очень давняя, ведущая свою историю с 70-х. Как ты понимаешь, managed-платформ тогда ещё даже в проекте не существовало. Просто сейчас организация таких систем стала доступна "рядовому пользователю" — и становится всё доступней и доступней. Заслуга managed в этом направлении чуть менее, чем никакая — тут, скорее, надо сказать спасибо Intel за высокопроизводительную аппаратуру.
G>>Только 30 лет назад содание таких систем стоило таких денег, что сейчас столько не соберешь, а требования были гораздо ниже.

ГВ>40, а не 30, хотя по сути это ничего не меняет: отказоустойчивые системы с виртуализацией ресурсов успешно создавались как тогда, так и сейчас, и что характерно — без всякого участия managed-платформ.

Что есть мера "успешности" ? 30 лет назад себе такие проекты могли позволить крупные исследовательские центры и министерство обороны США.

ГВ>Полагаю, что вопрос про "покажи такую систему" и про "последние 10 лет" исчерпан.

Да, ты не смог на него найти ответ. Дорого, хорошо и 10 лет писать может каждый, для этого и квалификация не особо нужна, нужно упорство менеджмента. но сейчас требования меняются быстрее, и так писать никому не нужно.
Re[21]: Dart - The worst of both worlds ?
От: Cyberax Марс  
Дата: 16.10.11 21:52
Оценка: +1 -1
Здравствуйте, gandjustas, Вы писали:

G>>>А кто-то заявлял что .NET Everywhere? Достаточно того что .NET доступен для веба (как клиент, так и сервер). для десктопа (опять таки все платформы) и для мобилок в большей или меньшей степени.

C>>В реальности только он нафиг никому не сдался. Потому следующий стандарт HTML + JS не будет его использовать.
G>Ты удивишься, но можно JS на C# писать.
Т.е. транслировать наподобии GWT? Это не выход.

C>>Он у тебя во что рендериться будет? В HTML? Ну тогда .NET-ность пофиг.

G>То есть любой серверный код пофигу?
G>Ты уже гонишь.
Абсолютно. Хоть на ассемблере пиши его. Для битвы за клиенты нужно присутствие именно на стороне клиентов. Dart пытается сделать именно это.
Sapienti sat!
Re[22]: Dart - The worst of both worlds ?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 16.10.11 21:55
Оценка:
Здравствуйте, Cyberax, Вы писали:

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


G>>>>А кто-то заявлял что .NET Everywhere? Достаточно того что .NET доступен для веба (как клиент, так и сервер). для десктопа (опять таки все платформы) и для мобилок в большей или меньшей степени.

C>>>В реальности только он нафиг никому не сдался. Потому следующий стандарт HTML + JS не будет его использовать.
G>>Ты удивишься, но можно JS на C# писать.
C>Т.е. транслировать наподобии GWT? Это не выход.
Почему же? Например bing maps последней версии так сделан.

C>>>Он у тебя во что рендериться будет? В HTML? Ну тогда .NET-ность пофиг.

G>>То есть любой серверный код пофигу?
G>>Ты уже гонишь.
C>Абсолютно. Хоть на ассемблере пиши его. Для битвы за клиенты нужно присутствие именно на стороне клиентов. Dart пытается сделать именно это.


dart также компилируется в JS, как и C# (script#) и java (gwt).
Ты совсем гонишь.
Re[23]: Dart - The worst of both worlds ?
От: Cyberax Марс  
Дата: 16.10.11 22:07
Оценка: +1
Здравствуйте, gandjustas, Вы писали:

G>>>Ты удивишься, но можно JS на C# писать.

C>>Т.е. транслировать наподобии GWT? Это не выход.
G>Почему же? Например bing maps последней версии так сделан.
На ком там делается очередной Bing Maps никого не колышет. GWT был с 2004-го года, причём вполне юзабельный. Его все забросили после того, как появились более-менее вменяемые JS-ные библиотеки, так как банально удобнее править JS напрямую.

G>dart также компилируется в JS, как и C# (script#) и java (gwt).

G>Ты совсем гонишь.
Есть единственное, но принципиальное различие. Dart будет реализован нативно без трансляции в JS, как минимум на FireFox'е и Chome'е. Т.е. для Dart'а режим компиляции в JS является таким legacy compatibility.

Как я уже сказал, ни один вменяемый производитель не будет закладываться на C# по совокупности причин.
Sapienti sat!
Re[24]: Dart - The worst of both worlds ?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 16.10.11 23:01
Оценка:
Здравствуйте, Cyberax, Вы писали:

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


G>>>>Ты удивишься, но можно JS на C# писать.

C>>>Т.е. транслировать наподобии GWT? Это не выход.
G>>Почему же? Например bing maps последней версии так сделан.
C>На ком там делается очередной Bing Maps никого не колышет. GWT был с 2004-го года, причём вполне юзабельный. Его все забросили после того, как появились более-менее вменяемые JS-ные библиотеки, так как банально удобнее править JS напрямую.
У GWT другая проблема — java. Сам язык java гораздо мнее выразителен, чем js. Поэтому писать javascript на java неудобно.

G>>dart также компилируется в JS, как и C# (script#) и java (gwt).

G>>Ты совсем гонишь.
C>Есть единственное, но принципиальное различие. Dart будет реализован нативно без трансляции в JS, как минимум на FireFox'е и Chome'е. Т.е. для Dart'а режим компиляции в JS является таким legacy compatibility.

Да пожалуйста, пусть хоть в нативный код компилируется. Только библиотек для него не будет. jQuery, Knockout, Backbone, Extjs, всяческие загрузчики, сотни, и даже тысячи уже готовых библиотекю Без них от очередной попытки сделать "язык будущего для веба" обречены. Но гугл банально не умеет раскручивать свои технологии на массовом рынке. Посмотри на Go, языку два года, а толку ноль. Полный ноль, ни одного приложения, ни одной юзабельной библиотеки.

C>Как я уже сказал, ни один вменяемый производитель не будет закладываться на C# по совокупности причин.

Ты пытаешься спорить с фактами. По факту очень много .NET используется. Смотри stackoverflow например.
Re[34]: Dart - The worst of both worlds ?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 16.10.11 23:19
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>>>>>Это же ты не верил что на unmanaged архитектурно сложные вещи не делаются. А сам приводишь совершенно левые примеры и говоришь о принципе "избегания дурацких вопросов".

ГВ>>>>Ты извини, я просто немного (мягко говоря) офигел от заданного вопроса. Так вот, отказоустойчивые и исполненные разных иных достоинств вычислительные системы — штука очень давняя, ведущая свою историю с 70-х. Как ты понимаешь, managed-платформ тогда ещё даже в проекте не существовало. Просто сейчас организация таких систем стала доступна "рядовому пользователю" — и становится всё доступней и доступней. Заслуга managed в этом направлении чуть менее, чем никакая — тут, скорее, надо сказать спасибо Intel за высокопроизводительную аппаратуру.
G>>>Только 30 лет назад содание таких систем стоило таких денег, что сейчас столько не соберешь, а требования были гораздо ниже.
ГВ>>40, а не 30, хотя по сути это ничего не меняет: отказоустойчивые системы с виртуализацией ресурсов успешно создавались как тогда, так и сейчас, и что характерно — без всякого участия managed-платформ.
G>Что есть мера "успешности" ? 30 лет назад себе такие проекты могли позволить крупные исследовательские центры и министерство обороны США.

Ну и что? Эти самые 30-40 лет уже миновали, какой смысл апеллировать к тем проблемам, которые уже позади? Сейчас построить failover-кластер может позволить себе почти любой. На один из таких примеров я тебе как раз и привёл ссылку. Продукты, на которых он построен, написаны на unmanaged как раз в искомый промежуток времени (2001-2011). Так чего тебе ещё надобно?

ГВ>>Полагаю, что вопрос про "покажи такую систему" и про "последние 10 лет" исчерпан.

G>Да, ты не смог на него найти ответ.

Ну, я уж не знаю. И предложенный 10-летний промежуток налицо, и unmanaged-код, и архитектурная сложность, и даже отказоустойчивость с виртуализацией. Какому ещё критерию не удовлетворяет мой ответ?

G>Дорого, хорошо и 10 лет писать может каждый, для этого и квалификация не особо нужна, нужно упорство менеджмента. но сейчас требования меняются быстрее, и так писать никому не нужно.


А это ты к чему? Показанные продукты разрабатывались совсем не 10 лет и, кстати, в отличие от Azure хостятся не у разработчика.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[25]: Dart - The worst of both worlds ?
От: Cyberax Марс  
Дата: 17.10.11 00:11
Оценка: -1
Здравствуйте, gandjustas, Вы писали:

C>>На ком там делается очередной Bing Maps никого не колышет. GWT был с 2004-го года, причём вполне юзабельный. Его все забросили после того, как появились более-менее вменяемые JS-ные библиотеки, так как банально удобнее править JS напрямую.

G>У GWT другая проблема — java. Сам язык java гораздо мнее выразителен, чем js. Поэтому писать javascript на java неудобно.
Нет. Проблема в плохой совместимости типизированного языка и модели JS.

C>>Есть единственное, но принципиальное различие. Dart будет реализован нативно без трансляции в JS, как минимум на FireFox'е и Chome'е. Т.е. для Dart'а режим компиляции в JS является таким legacy compatibility.

G>Да пожалуйста, пусть хоть в нативный код компилируется.
А оно так и будет.

G>Только библиотек для него не будет. jQuery, Knockout, Backbone, Extjs,

Они портируются без проблем, так что будут.

G>всяческие загрузчики, сотни, и даже тысячи уже готовых библиотекю Без них от очередной попытки сделать "язык будущего для веба" обречены.

Все эти "сотни, и даже тысячи уже готовых библиотек" — это по своей сути сотни и тысячи тонн навоза. Полезных и нужных из них — единицы, и вот их как раз портируют.

G>Но гугл банально не умеет раскручивать свои технологии на массовом рынке. Посмотри на Go, языку два года, а толку ноль. Полный ноль, ни одного приложения, ни одной юзабельной библиотеки.

На Go написаны уже миллионы строк внутри самого Гугла. Они его просто не особо пиарят, это у них такой внутренний язык для себя.

C>>Как я уже сказал, ни один вменяемый производитель не будет закладываться на C# по совокупности причин.

G>Ты пытаешься спорить с фактами. По факту очень много .NET используется. Смотри stackoverflow например.
Где в Stackoverflow хотя бы один Silverlight-апплет на основных страницах?
Sapienti sat!
Re[26]: Dart - The worst of both worlds ?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 17.10.11 00:36
Оценка:
Здравствуйте, Cyberax, Вы писали:

G>>Но гугл банально не умеет раскручивать свои технологии на массовом рынке. Посмотри на Go, языку два года, а толку ноль. Полный ноль, ни одного приложения, ни одной юзабельной библиотеки.

C>На Go написаны уже миллионы строк внутри самого Гугла. Они его просто не особо пиарят, это у них такой внутренний язык для себя.

Кстати, не только для себя: Go поддерживается в App Engine наряду с Java и Python — http://code.google.com/intl/en/appengine/docs/go/gettingstarted/introduction.html Довольно таки любопытно, язык по сути нативный.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[34]: Dart - The worst of both worlds ?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 17.10.11 01:19
Оценка:
Здравствуйте, gandjustas, Вы писали:

ГВ>>Полагаю, что вопрос про "покажи такую систему" и про "последние 10 лет" исчерпан.

G>Да, ты не смог на него найти ответ.

Я привёл эту ссылку в комментарии к сообщению Cyberax, приведу и тебе: http://code.google.com/intl/en/appengine/docs/go/gettingstarted/introduction.html (русскоязычной версии этой страницы пока нет).

Как видишь, вполне нативный Go поддерживается Google App Engine. Не знаю, какую роль тут играет managed или unmanaged, но факт остаётся фактом: Google предлагает облачный хостинг для native-языка. Собственно, Microsoft тоже позволяет хостить нативные приложения в Azure, что как бы намекает.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[26]: Dart - The worst of both worlds ?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 17.10.11 01:55
Оценка: -1 :)
Здравствуйте, Cyberax, Вы писали:

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


C>>>На ком там делается очередной Bing Maps никого не колышет. GWT был с 2004-го года, причём вполне юзабельный. Его все забросили после того, как появились более-менее вменяемые JS-ные библиотеки, так как банально удобнее править JS напрямую.

G>>У GWT другая проблема — java. Сам язык java гораздо мнее выразителен, чем js. Поэтому писать javascript на java неудобно.
C>Нет. Проблема в плохой совместимости типизированного языка и модели JS.
Это совершенно не проблема. См http://jsil.org, да и bingmaps на script# тоже.
Причем тут видны два подхода: первый анализирует IL и пытается из него построить JS, второй анализирует исходники (пока только на уровне C# 2).
Твои домыслы противоречат фактам.


G>>Только библиотек для него не будет. jQuery, Knockout, Backbone, Extjs,

C>Они портируются без проблем, так что будут.
Точно? Скажешь когда порт jquery + jqueryui + jquery templates ждать? А кто их ментейнить будет, ведь jquery обновляет постоянно. Думаешь гугл будет параллельно версию для Dart разрабатывать? Судя по тому как они относятся к Go такого не будет вообще.

G>>всяческие загрузчики, сотни, и даже тысячи уже готовых библиотекю Без них от очередной попытки сделать "язык будущего для веба" обречены.

C>Все эти "сотни, и даже тысячи уже готовых библиотек" — это по своей сути сотни и тысячи тонн навоза. Полезных и нужных из них — единицы, и вот их как раз портируют.
Ну когда портируют тогда посмотрим.

G>>Но гугл банально не умеет раскручивать свои технологии на массовом рынке. Посмотри на Go, языку два года, а толку ноль. Полный ноль, ни одного приложения, ни одной юзабельной библиотеки.

C>На Go написаны уже миллионы строк внутри самого Гугла. Они его просто не особо пиарят, это у них такой внутренний язык для себя.

Сомневаюсь, где они специалистов берут? Сами обучают? А в чем тогда профит по сранению с C?
Да и вообще откуда дровишки?

C>>>Как я уже сказал, ни один вменяемый производитель не будет закладываться на C# по совокупности причин.

G>>Ты пытаешься спорить с фактами. По факту очень много .NET используется. Смотри stackoverflow например.
C>Где в Stackoverflow хотя бы один Silverlight-апплет на основных страницах? А нафига он там нужен?
Там весь .NET на сервере. Вот создатели "заложились" на .NET и не проградали. При этом в авторах замечен как раз известный ненавистник .NET и управляемых платформ вообще — Joel Spolsky.

А десктопы сейчас не нужны никому, там за последние 5 лет новых программ то и не появилось. Все старое тянется.
Re[35]: Dart - The worst of both worlds ?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 17.10.11 01:56
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

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


ГВ>>>Полагаю, что вопрос про "покажи такую систему" и про "последние 10 лет" исчерпан.

G>>Да, ты не смог на него найти ответ.

ГВ>Я привёл эту ссылку в комментарии к сообщению Cyberax, приведу и тебе: http://code.google.com/intl/en/appengine/docs/go/gettingstarted/introduction.html (русскоязычной версии этой страницы пока нет).


А приложения есть? То что он поддерживается я и без тебя знаю.
Re[36]: Dart - The worst of both worlds ?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 17.10.11 02:23
Оценка:
Здравствуйте, gandjustas, Вы писали:

ГВ>>>>Полагаю, что вопрос про "покажи такую систему" и про "последние 10 лет" исчерпан.

G>>>Да, ты не смог на него найти ответ.
ГВ>>Я привёл эту ссылку в комментарии к сообщению Cyberax, приведу и тебе: http://code.google.com/intl/en/appengine/docs/go/gettingstarted/introduction.html (русскоязычной версии этой страницы пока нет).
G>А приложения есть? То что он поддерживается я и без тебя знаю.

Так у него версия 1.0 только-только вышла. Рано ещё для приложений, ИМХО. Хотя, может быть и есть, я не знаю.


Ответь, будь добр, на вопрос, который я задал тебе в соседнем сообщении
Автор: Геннадий Васильев
Дата: 17.10.11
:

Какому ещё критерию не удовлетворяет мой ответ?

Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[27]: Dart - The worst of both worlds ?
От: Cyberax Марс  
Дата: 17.10.11 04:53
Оценка: :)
Здравствуйте, gandjustas, Вы писали:

C>>Нет. Проблема в плохой совместимости типизированного языка и модели JS.

G>Это совершенно не проблема. См http://jsil.org, да и bingmaps на script# тоже.
Как мне на jsil использовать вот эту красоту: ?

G>Причем тут видны два подхода: первый анализирует IL и пытается из него построить JS, второй анализирует исходники (пока только на уровне C# 2).

G>Твои домыслы противоречат фактам.
Я тебе ещё раз говорю — мастурбации с байт-кодами IL и JVM никак не относятся к тому, что у самих Java и C# на клиентской платформе нет никаких шансов.

C>>Они портируются без проблем, так что будут.

G>Точно? Скажешь когда порт jquery + jqueryui + jquery templates ждать? А кто их ментейнить будет, ведь jquery обновляет постоянно. Думаешь гугл будет параллельно версию для Dart разрабатывать?
Да, будет.

G>Судя по тому как они относятся к Go такого не будет вообще.

И как Гугл относится к Go? Они для него поддерживают достаточно много библиотек, которые нужны им самим. К примеру, в Го есть полностью своя реализация SSL и ASN.1 превосходного качества. Для Го поддерживаются и развиваются ДВА компилятора, причём идёт активный процесс включения Го в основную ветку gcc.

То что Гугл не пиарит Го, рассказывая, что завтра он устроит революцию в Web — сорри, это тебе к евангелистам MS.

C>>На Go написаны уже миллионы строк внутри самого Гугла. Они его просто не особо пиарят, это у них такой внутренний язык для себя.

G>Сомневаюсь, где они специалистов берут? Сами обучают?
Ты знаешь кто такой Роб Пайк? Он вместе с командой других разработчиков и создал Го. А потом да, обучают. В Гугле традиционно работают не-индусы, которые могут изучить классический императивный язык с GC за пару недель.

G>А в чем тогда профит по сранению с C?

См. сайт Го. Кратко: GC, конкурентность, большая типобезопасность, быстрая компиляция.

G>Да и вообще откуда дровишки?

Из Гугла, вестимо.

C>>Где в Stackoverflow хотя бы один Silverlight-апплет на основных страницах? А нафига он там нужен?

G>Там весь .NET на сервере. Вот создатели "заложились" на .NET и не проградали. При этом в авторах замечен как раз известный ненавистник .NET и управляемых платформ вообще — Joel Spolsky.
Что значит "заложились"? Stackoverflow может быть внутри написан на десятках платформ, от Python и Ruby до Java. Это совершенно пофиг, и зависит лишь от предпочтений авторов. У Спольского была команда программистов, знакомых с .NET — вот они и использовали его.

К примеру, большая часть Youtube'а написана на Питоне, а заметная часть Facebook — на PHP. Значит ли это, что будущее — это PHP на клиентской стороне?

G>А десктопы сейчас не нужны никому, там за последние 5 лет новых программ то и не появилось. Все старое тянется.

ИЧСХ, на новых платформах (iPad, Android) нет родной поддержки Silverlight и .NET от самой MS или производителя устройств. Есть только порты третьих фирм, которые не пользуются популярностью.
Sapienti sat!
Re[28]: Dart - The worst of both worlds ?
От: Cyberax Марс  
Дата: 17.10.11 05:13
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>>>Нет. Проблема в плохой совместимости типизированного языка и модели JS.

G>>Это совершенно не проблема. См http://jsil.org, да и bingmaps на script# тоже.
C>Как мне на jsil использовать вот эту красоту: ?
Случайно стёр ссылку на красоту: http://knockoutjs.com/
Sapienti sat!
Re[6]: Dart - The worst of both worlds ?
От: Lazin Россия http://evgeny-lazin.blogspot.com
Дата: 17.10.11 05:48
Оценка: +1
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Как тебе сказать... Если не копаться в горних высях абстрактных моделей, а посмотреть под ноги, то, например, тот же Go вводит очень интересную концепцию goroutines и каналов. Сами по себе эти идеи не новы, интересно то, что они реализованы в C-подобном языке — а это, как минимум, устраняет немалую часть противоречий с современными системными программистами.


То, что goroutines(green threads) и каналы(блокирующие очереди сообщений) реализованы в С-подобном языке уже лет эдак *дцать никому не интересно. Для той же java есть проект kilim, который сам по себе куда более интересен нежели этот ваш Go, которому еще расти и расти.
Re[7]: Dart - The worst of both worlds ?
От: Cyberax Марс  
Дата: 17.10.11 05:58
Оценка:
Здравствуйте, Lazin, Вы писали:

L>То, что goroutines(green threads) и каналы(блокирующие очереди сообщений) реализованы в С-подобном языке уже лет эдак *дцать никому не интересно. Для той же java есть проект kilim, который сам по себе куда более интересен нежели этот ваш Go, которому еще расти и расти.

Академические проекты никого не интересуют. Совсем.

Го задумывался как практичный язык для системных вещей (по сути, замена С и части С++) внутри самого Гугла, а не как средство самоудовлетворения PhD-студента. С поставленной задачей Го вполне справляется, и пофиг что она неинтересна.

Ровно по той же причине Дарт вполне реально возможен, в отличие от МоегоКрутогоМодуляНаХаскеллеКоторыйМожетПрозрачноТранслироватьсяВJavaScript.
Sapienti sat!
Re[8]: Dart - The worst of both worlds ?
От: Lazin Россия http://evgeny-lazin.blogspot.com
Дата: 17.10.11 06:29
Оценка:
Здравствуйте, Cyberax, Вы писали:

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


L>>То, что goroutines(green threads) и каналы(блокирующие очереди сообщений) реализованы в С-подобном языке уже лет эдак *дцать никому не интересно. Для той же java есть проект kilim, который сам по себе куда более интересен нежели этот ваш Go, которому еще расти и расти.

C>Академические проекты никого не интересуют. Совсем.

где ты там увидел академические проекты, академические проекты очередей сообщений?

C>Го задумывался как практичный язык для системных вещей (по сути, замена С и части С++) внутри самого Гугла, а не как средство самоудовлетворения PhD-студента. С поставленной задачей Го вполне справляется, и пофиг что она неинтересна.


мы же не знаем что они там у себя пишут на Go, сомневаюсь что на Go написано что нибудь ключевое

C>Ровно по той же причине Дарт вполне реально возможен, в отличие от МоегоКрутогоМодуляНаХаскеллеКоторыйМожетПрозрачноТранслироватьсяВJavaScript.


у меня еще не сложилось свое мнение насчет Dart, так что спорить не буду
Re: Dart - The worst of both worlds ?
От: QrystaL Украина  
Дата: 17.10.11 08:40
Оценка:
Здравствуйте, Евгений Акиньшин, Вы писали:

ЕА>Объясните мне кто-нибудь популярно, зачем гугл изобретает новый язык в котором мало того, что нет ни одной оригинальной особенности или идеи, так он еще и какой-то недотипизированный — т.е. типы есть, но во время исполнения информация о них не используется


http://habrahabr.ru/blogs/webdev/130540/

Пару лет спустя мы имеем язык, который вместе с отличными средствами для разработки размывает границы и позволяет писать масштабные веб-приложения, которые нативно работают на половине десктопов, практически на всех мобильных устройствах, на сервере, размывая границы Web, Mobile и Front-end разработки.

Re[10]: Dart - The worst of both worlds ?
От: FR  
Дата: 17.10.11 08:40
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Плюс к тому, ИМХО, Microsoft уже один раз дала понять пользователям на примере коммюнити VB, который одно время был чуть ли не самым массовым языком программирования для мелких приложений, что они её волнуют не так, чтобы очень сильно: вот вам VB.NET и делайте, что хотите. Понятно, что урон по сумме невелик (хотя как знать), но "осадочек остался". Аналогичная история с коммюнити C++, которые вот-вот и должны были (особенно если верить местным оракулам
Автор: Рек
Дата: 24.11.02
, обрати внимание на дату) мигрировать на .Net стройными рядами. И теперь MS пишет новую главу этой саги, Win8/WinRT/C++ reneissance — очередные метания из стороны в сторону. Для C++ исход не худший, но всё же без малого десять лет C++ "висел в воздухе" в идеологическом плане — это тоже не лучшим образом сказывается на отношении к MS. Но теперь (вот незадача!) аналогично закачалась лодка C# — просто если C# теперь официальный не-гегемон в мире Windows, а C++ пережил уже не один десяток ниспровергателей, то "зачем платить больше" (c)?


Гугль тоже кстати очень легко свои начинания прикрывает, например http://internet.cnews.ru/news/top/index.shtml?2011/10/17/460334
По моему лучше всего если у технологии нет явных и особенно единственных "хозяев", например как у C++ или питона.
Re[2]: Dart - The worst of both worlds ?
От: yoriсk.kiev.ua  
Дата: 17.10.11 08:54
Оценка:
Здравствуйте, QrystaL, Вы писали:

QL>

QL>Пару лет спустя мы имеем язык, который вместе с отличными средствами для разработки размывает границы и позволяет писать масштабные веб-приложения, которые нативно работают на половине десктопов, практически на всех мобильных устройствах, на сервере, размывая границы Web, Mobile и Front-end разработки.


Будет одно сплошное телевидинье.(с)

Лет пятнадцать назад то-же самое про java говорили. Почти слово в слово.
Re[8]: Dart - The worst of both worlds ?
От: Klapaucius  
Дата: 17.10.11 09:14
Оценка: 1 (1) +1 :))
Здравствуйте, Cyberax, Вы писали:

C>Дарт вполне реально возможен


И это, наверное, самый большой его недостаток. Если бы он не был "реально возможен" — т.е. не представлял никакой угрозы для несчастных разработчиков, которым придется на нем писать — то и разговаривать было бы незачем.
... << RSDN@Home 1.2.0 alpha 4 rev. 1476>>
'You may call it "nonsense" if you like, but I'VE heard nonsense, compared with which that would be as sensible as a dictionary!' (c) Lewis Carroll
Re[9]: Dart - The worst of both worlds ?
От: vdimas Россия  
Дата: 17.10.11 09:46
Оценка:
Здравствуйте, Евгений Акиньшин, Вы писали:


ЕА>Какое отношение бардак с развитием ГУИшных библиотек имеет к языку программирования?


Да просто не бывает языков "для всего". В кач-ве инструмента некий ЯП обычно хорош для очень небольшого класса задач. На C# стали резко писать ГУИ под Windows. Это направление его исопльзования более чем важно, ИМХО. Понятно, что на нем же пишут серверные приложения и веб, но там требования к языку не такие жесткие, как в ГУИ, поэтому серверные приложения пишут много на чем.

ЕА>Язык то как раз развивается вполне последовательно уже 10 лет. Как раз Java со своей комьюнити это полное болото, если бы Оракл за него не взялся, про развитие вообще можно было бы забыть.


Э, нет. В Java много интересных фреймворков и библиотек, ставшими популярными не от производителя языка. Аналогичное в C# появляется только как порты с Java. И это настораживает в долгосрочной перспективе.
Re[27]: Dart - The worst of both worlds ?
От: gegMOPO4  
Дата: 17.10.11 10:13
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:
ГВ>Кстати, не только для себя: Go поддерживается в App Engine наряду с Java и Python — http://code.google.com/intl/en/appengine/docs/go/gettingstarted/introduction.html Довольно таки любопытно, язык по сути нативный.

Разве там не ограниченный Go, без самого важного — гопроцедур?

Проблему с возможностью проэксплоить map и выйти за пределы песочницы вроде так и не решили, потому и отключили параллельность.
Re[37]: Dart - The worst of both worlds ?
От: gegMOPO4  
Дата: 17.10.11 10:18
Оценка: 10 (1)
Здравствуйте, Геннадий Васильев, Вы писали:
ГВ>Так у него версия 1.0 только-только вышла. Рано ещё для приложений, ИМХО. Хотя, может быть и есть, я не знаю.

Ещё не вышла. Только готовятся, решают, что включить, а что отложить до 2.0. В рассылке обсуждение.
Re[28]: Dart - The worst of both worlds ?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 17.10.11 10:31
Оценка:
Здравствуйте, Cyberax, Вы писали:

G>>Причем тут видны два подхода: первый анализирует IL и пытается из него построить JS, второй анализирует исходники (пока только на уровне C# 2).

G>>Твои домыслы противоречат фактам.
C>Я тебе ещё раз говорю — мастурбации с байт-кодами IL и JVM никак не относятся к тому, что у самих Java и C# на клиентской платформе нет никаких шансов.
Опять какой-то бред говоришь. Если программа написана на C#, то пофигу где она исполняется.

C>>>Они портируются без проблем, так что будут.

G>>Точно? Скажешь когда порт jquery + jqueryui + jquery templates ждать? А кто их ментейнить будет, ведь jquery обновляет постоянно. Думаешь гугл будет параллельно версию для Dart разрабатывать?
C>Да, будет.
Когда? Без них dart не вытеснит js.

G>>Судя по тому как они относятся к Go такого не будет вообще.

C>И как Гугл относится к Go? Они для него поддерживают достаточно много библиотек, которые нужны им самим. К примеру, в Го есть полностью своя реализация SSL и ASN.1 превосходного качества. Для Го поддерживаются и развиваются ДВА компилятора, причём идёт активный процесс включения Го в основную ветку gcc.
А толку? Приложений на Go нет.


G>>Да и вообще откуда дровишки?

C>Из Гугла, вестимо.
Ссылку чтоли.

C>>>Где в Stackoverflow хотя бы один Silverlight-апплет на основных страницах? А нафига он там нужен?

G>>Там весь .NET на сервере. Вот создатели "заложились" на .NET и не проградали. При этом в авторах замечен как раз известный ненавистник .NET и управляемых платформ вообще — Joel Spolsky.
C>Что значит "заложились"?
Так ты написал это слово и не знаешь его смысл?

C>Stackoverflow может быть внутри написан на десятках платформ, от Python и Ruby до Java. Это совершенно пофиг, и зависит лишь от предпочтений авторов. У Спольского была команда программистов, знакомых с .NET — вот они и использовали его.

Но написан он именно на .NET, а не на Python, Ruby, java или Go.
Ты пытаешься спорить с фактами: на .NET пишут и очень много.

C>К примеру, большая часть Youtube'а написана на Питоне, а заметная часть Facebook — на PHP. Значит ли это, что будущее — это PHP на клиентской стороне?

А причем тут клиентская сторона? На ней js, который может получаться их того же PHP.

G>>А десктопы сейчас не нужны никому, там за последние 5 лет новых программ то и не появилось. Все старое тянется.

C>ИЧСХ, на новых платформах (iPad, Android) нет родной поддержки Silverlight и .NET от самой MS или производителя устройств. Есть только порты третьих фирм, которые не пользуются популярностью.
Тем не менее там есть поддержка .NET, хоть и не родная, но что-то не пахнет Dart, особенно на iPad.
Re[11]: Dart - The worst of both worlds ?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 17.10.11 10:32
Оценка:
Здравствуйте, FR, Вы писали:

FR>Гугль тоже кстати очень легко свои начинания прикрывает, например http://internet.cnews.ru/news/top/index.shtml?2011/10/17/460334

FR>По моему лучше всего если у технологии нет явных и особенно единственных "хозяев", например как у C++ или питона.

ИМХО, здесь сложно проводить прямую аналогию с языком программирования. И потом, код Go выложен в открытый доступ, так что с единым владельцем тут всё неоднозначно.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[7]: Dart - The worst of both worlds ?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 17.10.11 10:38
Оценка:
Здравствуйте, Lazin, Вы писали:

ГВ>>Как тебе сказать... Если не копаться в горних высях абстрактных моделей, а посмотреть под ноги, то, например, тот же Go вводит очень интересную концепцию goroutines и каналов. Сами по себе эти идеи не новы, интересно то, что они реализованы в C-подобном языке — а это, как минимум, устраняет немалую часть противоречий с современными системными программистами.


L>То, что goroutines(green threads) и каналы(блокирующие очереди сообщений) реализованы в С-подобном языке уже лет эдак *дцать никому не интересно. Для той же java есть проект kilim, который сам по себе куда более интересен нежели этот ваш Go, которому еще расти и расти.


Я бы всё же отделял тех, кому интересен C (как язык и модель его применения) от тех, кому интересна Java (с аналогичной точки зрения). Go адресован первой группе.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[12]: Dart - The worst of both worlds ?
От: Евгений Акиньшин grapholite.com
Дата: 17.10.11 10:40
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

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


FR>>Гугль тоже кстати очень легко свои начинания прикрывает, например http://internet.cnews.ru/news/top/index.shtml?2011/10/17/460334

FR>>По моему лучше всего если у технологии нет явных и особенно единственных "хозяев", например как у C++ или питона.

ГВ>ИМХО, здесь сложно проводить прямую аналогию с языком программирования. И потом, код Go выложен в открытый доступ, так что с единым владельцем тут всё неоднозначно.


А C# — это вообще Ecma стандарт. И есть еще microsoft community promise. Пользуйся сколько влезет.
Не шалю, никого не трогаю, починяю примус Diagrams Designer for iPad and Windows 10
Re[28]: Dart - The worst of both worlds ?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 17.10.11 10:54
Оценка:
Здравствуйте, gegMOPO4, Вы писали:

MOP>Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>>Кстати, не только для себя: Go поддерживается в App Engine наряду с Java и Python — http://code.google.com/intl/en/appengine/docs/go/gettingstarted/introduction.html Довольно таки любопытно, язык по сути нативный.

MOP>Разве там не ограниченный Go, без самого важного — гопроцедур?


Вроде как нет.

MOP>Проблему с возможностью проэксплоить map и выйти за пределы песочницы вроде так и не решили, потому и отключили параллельность.


Какие-то ограничения, похоже, что есть, но не полное отключение goroutines.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[13]: Dart - The worst of both worlds ?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 17.10.11 11:00
Оценка:
Здравствуйте, Евгений Акиньшин, Вы писали:

FR>>>Гугль тоже кстати очень легко свои начинания прикрывает, например http://internet.cnews.ru/news/top/index.shtml?2011/10/17/460334

FR>>>По моему лучше всего если у технологии нет явных и особенно единственных "хозяев", например как у C++ или питона.
ГВ>>ИМХО, здесь сложно проводить прямую аналогию с языком программирования. И потом, код Go выложен в открытый доступ, так что с единым владельцем тут всё неоднозначно.
ЕА>А C# — это вообще Ecma стандарт. И есть еще microsoft community promise. Пользуйся сколько влезет.

Это неплохо, но спецификация и исходники — не одно и то же, не находишь?
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[29]: Dart - The worst of both worlds ?
От: gegMOPO4  
Дата: 17.10.11 11:09
Оценка: 10 (1)
Здравствуйте, Геннадий Васильев, Вы писали:
ГВ>Здравствуйте, gegMOPO4, Вы писали:
MOP>>Здравствуйте, Геннадий Васильев, Вы писали:
ГВ>>>Кстати, не только для себя: Go поддерживается в App Engine наряду с Java и Python — http://code.google.com/intl/en/appengine/docs/go/gettingstarted/introduction.html Довольно таки любопытно, язык по сути нативный.
MOP>>Разве там не ограниченный Go, без самого важного — гопроцедур?
ГВ>Вроде как нет.

См. ниже. Не вижу как это опровергает.

MOP>>Проблему с возможностью проэксплоить map и выйти за пределы песочницы вроде так и не решили, потому и отключили параллельность.

ГВ>Какие-то ограничения, похоже, что есть, но не полное отключение goroutines.

http://blog.golang.org/2011/05/go-and-google-app-engine.html

Also, although goroutines and channels are present, when a Go app runs on App Engine only one thread is run in a given instance. That is, all goroutines run in a single operating system thread, so there is no CPU parallelism available for a given client request.


И я что-то не помню, чтобы это (критическое) ограничение сняли. Игрушечные какие-то гопроцедуры, кооперативная многозадачность.
Re[14]: Dart - The worst of both worlds ?
От: Евгений Акиньшин grapholite.com
Дата: 17.10.11 11:13
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Здравствуйте, Евгений Акиньшин, Вы писали:


FR>>>>Гугль тоже кстати очень легко свои начинания прикрывает, например http://internet.cnews.ru/news/top/index.shtml?2011/10/17/460334

FR>>>>По моему лучше всего если у технологии нет явных и особенно единственных "хозяев", например как у C++ или питона.
ГВ>>>ИМХО, здесь сложно проводить прямую аналогию с языком программирования. И потом, код Go выложен в открытый доступ, так что с единым владельцем тут всё неоднозначно.
ЕА>>А C# — это вообще Ecma стандарт. И есть еще microsoft community promise. Пользуйся сколько влезет.

ГВ>Это неплохо, но спецификация и исходники — не одно и то же, не находишь?


Спецификации + community promise дают мне возможность использовать(или создать) любой компилятор си-шарпа для любой платформы когда угодно. Дают ли мне те же права гугловские исходники?

А компилятор с исходниками можно из mono взять, если нужен.
Не шалю, никого не трогаю, починяю примус Diagrams Designer for iPad and Windows 10
Re[30]: Dart - The worst of both worlds ?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 17.10.11 11:27
Оценка:
Здравствуйте, gegMOPO4, Вы писали:

ГВ>>>>Кстати, не только для себя: Go поддерживается в App Engine наряду с Java и Python — http://code.google.com/intl/en/appengine/docs/go/gettingstarted/introduction.html Довольно таки любопытно, язык по сути нативный.

MOP>>>Разве там не ограниченный Go, без самого важного — гопроцедур?
ГВ>>Вроде как нет.

MOP>См. ниже. Не вижу как это опровергает.


Да, похоже, что я поторопился.

MOP>>>Проблему с возможностью проэксплоить map и выйти за пределы песочницы вроде так и не решили, потому и отключили параллельность.

ГВ>>Какие-то ограничения, похоже, что есть, но не полное отключение goroutines.
MOP>http://blog.golang.org/2011/05/go-and-google-app-engine.html

MOP>

Also, although goroutines and channels are present, when a Go app runs on App Engine only one thread is run in a given instance. That is, all goroutines run in a single operating system thread, so there is no CPU parallelism available for a given client request.


MOP>И я что-то не помню, чтобы это (критическое) ограничение сняли. Игрушечные какие-то гопроцедуры, кооперативная многозадачность.


Хо-хо! Ограничение-то серьёзное, не спорю, но с другой стороны, если допускается прозрачная подмена вытесняющей многозадачности кооперативной — это очень-очень большой технологический ништяк.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[9]: Dart - The worst of both worlds ?
От: Cyberax Марс  
Дата: 17.10.11 13:11
Оценка:
Здравствуйте, Klapaucius, Вы писали:

C>>Дарт вполне реально возможен

K>И это, наверное, самый большой его недостаток. Если бы он не был "реально возможен" — т.е. не представлял никакой угрозы для несчастных разработчиков, которым придется на нем писать — то и разговаривать было бы незачем.
Я не вижу в нём особых проблем. Тем более, что он явно будет развиваться дальше.
Sapienti sat!
Re[10]: Dart - The worst of both worlds ?
От: Klapaucius  
Дата: 17.10.11 13:34
Оценка: :)
Здравствуйте, Cyberax, Вы писали:

C>Я не вижу в нём особых проблем.


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

C>Тем более, что он явно будет развиваться дальше.


Надеюсь, что он будет не просто "развиваться", как смертельное заболивание, например, а улучшаться, причем вплоть до полного исчезновения, как это нередко случается с гугловскими продуктами.
... << RSDN@Home 1.2.0 alpha 4 rev. 1476>>
'You may call it "nonsense" if you like, but I'VE heard nonsense, compared with which that would be as sensible as a dictionary!' (c) Lewis Carroll
Re[9]: Dart - The worst of both worlds ?
От: Cyberax Марс  
Дата: 17.10.11 13:43
Оценка:
Здравствуйте, Lazin, Вы писали:

L>>>То, что goroutines(green threads) и каналы(блокирующие очереди сообщений) реализованы в С-подобном языке уже лет эдак *дцать никому не интересно. Для той же java есть проект kilim, который сам по себе куда более интересен нежели этот ваш Go, которому еще расти и расти.

C>>Академические проекты никого не интересуют. Совсем.
L>где ты там увидел академические проекты, академические проекты очередей сообщений?
Вот здесь:
http://www.malhar.net/sriram/kilim/

Publications

Kilim: Isolation-Typed Actors for Java. [ pdf ]
Sriram Srinivasan, Alan Mycroft
European Conference on Object Oriented Programming ECOOP 2008, Cyprus.

A Thread of One's Own. [ pdf ]
Sriram Srinivasan
New Horizons in Compilers Workshop, HIPC, Bangalore 2006


Абсолютно типичный академический проект аспиранта. Для статьи в журнал — самое оно. Для реальной жизни — низачто.

C>>Го задумывался как практичный язык для системных вещей (по сути, замена С и части С++) внутри самого Гугла, а не как средство самоудовлетворения PhD-студента. С поставленной задачей Го вполне справляется, и пофиг что она неинтересна.

L>мы же не знаем что они там у себя пишут на Go, сомневаюсь что на Go написано что нибудь ключевое
На Го у них сейчас пишется новая инфраструктура мониторинга и управления.

Вот публичный список проектов, которые добавлены в основной трекер: http://godashboard.appspot.com/project
Sapienti sat!
Re[3]: Dart - The worst of both worlds ?
От: Cyberax Марс  
Дата: 17.10.11 13:44
Оценка:
Здравствуйте, yoriсk.kiev.ua, Вы писали:

YKU>Будет одно сплошное телевидинье.(с)

YKU>Лет пятнадцать назад то-же самое про java говорили. Почти слово в слово.
Java немного опередила время, и реализация сильно хромала.
Sapienti sat!
Re[29]: Dart - The worst of both worlds ?
От: Cyberax Марс  
Дата: 17.10.11 13:49
Оценка: -1
Здравствуйте, gandjustas, Вы писали:

C>>Я тебе ещё раз говорю — мастурбации с байт-кодами IL и JVM никак не относятся к тому, что у самих Java и C# на клиентской платформе нет никаких шансов.

G>Опять какой-то бред говоришь. Если программа написана на C#, то пофигу где она исполняется.
Можно запустить хотя бы захудалый Janus под Monotouch на Андроиде? Нельзя? Ну вот.

G>>>Точно? Скажешь когда порт jquery + jqueryui + jquery templates ждать? А кто их ментейнить будет, ведь jquery обновляет постоянно. Думаешь гугл будет параллельно версию для Dart разрабатывать?

C>>Да, будет.
G>Когда? Без них dart не вытеснит js.
Когда нужно. Dart пока ещё в стадии глубокого эксперимента.

C>>И как Гугл относится к Go? Они для него поддерживают достаточно много библиотек, которые нужны им самим. К примеру, в Го есть полностью своя реализация SSL и ASN.1 превосходного качества. Для Го поддерживаются и развиваются ДВА компилятора, причём идёт активный процесс включения Го в основную ветку gcc.

G>А толку? Приложений на Go нет.
Я уже тут дал ссылку на список библиотек на Го.

G>>>Да и вообще откуда дровишки?

C>>Из Гугла, вестимо.
G>Ссылку чтоли.
Из личного общения.

C>>Stackoverflow может быть внутри написан на десятках платформ, от Python и Ruby до Java. Это совершенно пофиг, и зависит лишь от предпочтений авторов. У Спольского была команда программистов, знакомых с .NET — вот они и использовали его.

G>Но написан он именно на .NET, а не на Python, Ruby, java или Go.
И что?

G>Ты пытаешься спорить с фактами: на .NET пишут и очень много.

Да, точно так же как и на COBOL'е. Как из этого следует, что у C# есть будущее кроме как на серверной стороне?

C>>К примеру, большая часть Youtube'а написана на Питоне, а заметная часть Facebook — на PHP. Значит ли это, что будущее — это PHP на клиентской стороне?

G>А причем тут клиентская сторона? На ней js, который может получаться их того же PHP.
Ага. И пофиг на C#. А вот Dart будет, прежде всего, на клиенте с возможностью при желании писать и на серверной стороне.

C>>ИЧСХ, на новых платформах (iPad, Android) нет родной поддержки Silverlight и .NET от самой MS или производителя устройств. Есть только порты третьих фирм, которые не пользуются популярностью.

G>Тем не менее там есть поддержка .NET, хоть и не родная, но что-то не пахнет Dart, особенно на iPad.
iPad поддерживает HTML5+JS, значит и Dart там будет. А что будет дальше — это отдельный разговор.
Sapienti sat!
Re[13]: Dart - The worst of both worlds ?
От: Cyberax Марс  
Дата: 17.10.11 13:57
Оценка:
Здравствуйте, Евгений Акиньшин, Вы писали:

ГВ>>ИМХО, здесь сложно проводить прямую аналогию с языком программирования. И потом, код Go выложен в открытый доступ, так что с единым владельцем тут всё неоднозначно.

ЕА>А C# — это вообще Ecma стандарт. И есть еще microsoft community promise. Пользуйся сколько влезет.
Microsoft не обещает, что они не будут судить вообще. По этому community promise они могут тебя засудить за всё, что находится вне спецификации C#. Скажем, за реализацию библиотеки UI, совместимой с WPF.

А учитывая, что Microsoft доверять совершенно нельзя, никто из крупных игроков в индустрии не будет от MS использовать в своих продуктах что-то сверх необходимого.
Sapienti sat!
Re[4]: Dart - The worst of both worlds ?
От: yoriсk.kiev.ua  
Дата: 17.10.11 13:59
Оценка:
Здравствуйте, Cyberax, Вы писали:

YKU>>Будет одно сплошное телевидинье.(с)

YKU>>Лет пятнадцать назад то-же самое про java говорили. Почти слово в слово.
C>Java немного опередила время, и реализация сильно хромала.

Ну вот время наконец пришло, имеется фреймворки, огромное количество библиотек, дружелюбное комьюнити и всё такое... И?
Re[30]: Dart - The worst of both worlds ?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 17.10.11 14:02
Оценка:
Здравствуйте, Cyberax, Вы писали:

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


C>>>Я тебе ещё раз говорю — мастурбации с байт-кодами IL и JVM никак не относятся к тому, что у самих Java и C# на клиентской платформе нет никаких шансов.

G>>Опять какой-то бред говоришь. Если программа написана на C#, то пофигу где она исполняется.
C>Можно запустить хотя бы захудалый Janus под Monotouch на Андроиде? Нельзя? Ну вот.

Возьми любую десктопную софтину и запусти её на андроде. Че не вышло? Ну вот.

G>>>>Точно? Скажешь когда порт jquery + jqueryui + jquery templates ждать? А кто их ментейнить будет, ведь jquery обновляет постоянно. Думаешь гугл будет параллельно версию для Dart разрабатывать?

C>>>Да, будет.
G>>Когда? Без них dart не вытеснит js.
C>Когда нужно. Dart пока ещё в стадии глубокого эксперимента.
То есть в глубокой жопе. А ты уже доказываешь что он что-то там вытеснит.

C>>>И как Гугл относится к Go? Они для него поддерживают достаточно много библиотек, которые нужны им самим. К примеру, в Го есть полностью своя реализация SSL и ASN.1 превосходного качества. Для Го поддерживаются и развиваются ДВА компилятора, причём идёт активный процесс включения Го в основную ветку gcc.

G>>А толку? Приложений на Go нет.
C>Я уже тут дал ссылку на список библиотек на Го.
Библиотеки — не приложения.

G>>>>Да и вообще откуда дровишки?

C>>>Из Гугла, вестимо.
G>>Ссылку чтоли.
C>Из личного общения.
С кем?

C>>>Stackoverflow может быть внутри написан на десятках платформ, от Python и Ruby до Java. Это совершенно пофиг, и зависит лишь от предпочтений авторов. У Спольского была команда программистов, знакомых с .NET — вот они и использовали его.

G>>Но написан он именно на .NET, а не на Python, Ruby, java или Go.
C>И что?
См ниже.

G>>Ты пытаешься спорить с фактами: на .NET пишут и очень много.

C>Да, точно так же как и на COBOL'е. Как из этого следует, что у C# есть будущее кроме как на серверной стороне?
На коболе писали давно, а сейчас — нет.
C>>>К примеру, большая часть Youtube'а написана на Питоне, а заметная часть Facebook — на PHP. Значит ли это, что будущее — это PHP на клиентской стороне?
G>>А причем тут клиентская сторона? На ней js, который может получаться их того же PHP.
C>Ага. И пофиг на C#. А вот Dart будет, прежде всего, на клиенте с возможностью при желании писать и на серверной стороне.

C>>>ИЧСХ, на новых платформах (iPad, Android) нет родной поддержки Silverlight и .NET от самой MS или производителя устройств. Есть только порты третьих фирм, которые не пользуются популярностью.

G>>Тем не менее там есть поддержка .NET, хоть и не родная, но что-то не пахнет Dart, особенно на iPad.
C>iPad поддерживает HTML5+JS, значит и Dart там будет. А что будет дальше — это отдельный разговор.
Re[5]: Dart - The worst of both worlds ?
От: Sorc17 Россия  
Дата: 17.10.11 14:05
Оценка:
Здравствуйте, Евгений Акиньшин, Вы писали:

ГВ>>Ну и потом, этот вопрос можно задать и сугубо риторическим порядком: "Люди, почему вы пользуетесь JavaScript, а не Java?" Ну вот так сложилось.


ЕА>Но то что сложилось это понятно. Но когда кто-то пытается поднять с нуля n + 1 язык, обычно говорят что у него есть некие преимущества перед существующими — реальные или хотя бы мнимые, иначе очень сложно найти Early Adapters которые начнут на нем хотя бы что-то писать. Я пока ни одного преимущества не вижу.


У него есть одно замечательное преимущество: он поддерживается компанией Google. И если вы ходите зарабатывать на продуктах Google, так сказать "вместе с Goolge", то вы будете их учить и использовать, в противном случае поезд с деньгами уедет без вас.
Для нас [Thompson, Rob Pike, Robert Griesemer] это было просто исследование. Мы собрались вместе и решили, что ненавидим C++ [смех].
Re[30]: Dart - The worst of both worlds ?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 17.10.11 14:09
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>>>К примеру, большая часть Youtube'а написана на Питоне, а заметная часть Facebook — на PHP. Значит ли это, что будущее — это PHP на клиентской стороне?

G>>А причем тут клиентская сторона? На ней js, который может получаться их того же PHP.
C>Ага. И пофиг на C#. А вот Dart будет, прежде всего, на клиенте с возможностью при желании писать и на серверной стороне.
Ключевое слово "будет". Когда будет? .NET и Java уже сейчас есть, а что есть у dart чтобы с ними тягаться? А если что-то будет, то когда?

C>>>ИЧСХ, на новых платформах (iPad, Android) нет родной поддержки Silverlight и .NET от самой MS или производителя устройств. Есть только порты третьих фирм, которые не пользуются популярностью.

G>>Тем не менее там есть поддержка .NET, хоть и не родная, но что-то не пахнет Dart, особенно на iPad.
C>iPad поддерживает HTML5+JS, значит и Dart там будет. А что будет дальше — это отдельный разговор.
Каким образом? Компилироваться в js? тогда java и C# там уже есть.

Ты определенно гонишь.
Re[31]: Dart - The worst of both worlds ?
От: Cyberax Марс  
Дата: 17.10.11 14:25
Оценка: -1
Здравствуйте, gandjustas, Вы писали:

C>>Ага. И пофиг на C#. А вот Dart будет, прежде всего, на клиенте с возможностью при желании писать и на серверной стороне.

G>Ключевое слово "будет". Когда будет? .NET и Java уже сейчас есть, а что есть у dart чтобы с ними тягаться? А если что-то будет, то когда?
C# и Java на клиенте не будет в обозримой перспективе, это уже клинический факт. Начинай с этого.

G>>>Тем не менее там есть поддержка .NET, хоть и не родная, но что-то не пахнет Dart, особенно на iPad.

C>>iPad поддерживает HTML5+JS, значит и Dart там будет. А что будет дальше — это отдельный разговор.
G>Каким образом? Компилироваться в js? тогда java и C# там уже есть.
Но Dart при этом будет, как минимум, в виде нативного кода на андроидных планшетах, десктопе и андроидных телефонах. При таком раскладе он будет привлекателен для разработчиков, так как можно разрабатывать приложения для всех устройств на одном языке. Просто на определённых устройствах оно будет работать быстрее.

G>Ты определенно гонишь.

Нет, ты определённо не понимаешь.
Sapienti sat!
Re[5]: Dart - The worst of both worlds ?
От: Cyberax Марс  
Дата: 17.10.11 14:27
Оценка:
Здравствуйте, yoriсk.kiev.ua, Вы писали:

YKU>>>Лет пятнадцать назад то-же самое про java говорили. Почти слово в слово.

C>>Java немного опередила время, и реализация сильно хромала.
YKU>Ну вот время наконец пришло, имеется фреймворки, огромное количество библиотек, дружелюбное комьюнити и всё такое... И?
...и Java в руках компании, которая начала судить пользователей своего языка. Дополнительно, Java управляется одной компанией, тогда как HTML5 и JS разрабатываются сообществом.
Sapienti sat!
Re[32]: Dart - The worst of both worlds ?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 17.10.11 17:30
Оценка:
Здравствуйте, Cyberax, Вы писали:

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


C>>>Ага. И пофиг на C#. А вот Dart будет, прежде всего, на клиенте с возможностью при желании писать и на серверной стороне.

G>>Ключевое слово "будет". Когда будет? .NET и Java уже сейчас есть, а что есть у dart чтобы с ними тягаться? А если что-то будет, то когда?
C>C# и Java на клиенте не будет в обозримой перспективе, это уже клинический факт. Начинай с этого.
Java может и не будет, а .NET точно будет: Windows Phone — только .NET, Windows 8 — metro приложения в том числе на .NET, а также jsil и script#.
Написано на .NET, исполняется на клиентском компьютере.

G>>>>Тем не менее там есть поддержка .NET, хоть и не родная, но что-то не пахнет Dart, особенно на iPad.

C>>>iPad поддерживает HTML5+JS, значит и Dart там будет. А что будет дальше — это отдельный разговор.
G>>Каким образом? Компилироваться в js? тогда java и C# там уже есть.
C>Но Dart при этом будет, как минимум, в виде нативного кода на андроидных планшетах, десктопе и андроидных телефонах. При таком раскладе он будет привлекателен для разработчиков, так как можно разрабатывать приложения для всех устройств на одном языке. Просто на определённых устройствах оно будет работать быстрее.
Он в этом плане ничем не лучше JS, только dart еще нет, а JS уже есть. Кроме того если dart не будет во вех браузерах, то его не будет вообще. Нафига кому-то закладываться только на определенные браузеры. А если он будет компилироваться в JS, то он ничем не лучше того же C#, который не хуже умеет в JS компилироваться. Только C# уже умеет это делать и уже люди этим пользуются, а dart еще нет.

G>>Ты определенно гонишь.

C>Нет, ты определённо не понимаешь.
Конечно, я не понимаю фанатичного желания пользоваться всем что подсовывает гугл. Откровенное говно он подсовывает, что Go, что Dart, Wave, G+ и аналогичные сервисы.

Также я не понимаю двойные твои стандарты, когда Dart компилирующися в JS это нормально, а для C# и java это плохо.
Re[6]: Dart - The worst of both worlds ?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 17.10.11 18:32
Оценка:
Здравствуйте, Sorc17, Вы писали:

S>Здравствуйте, Евгений Акиньшин, Вы писали:


ГВ>>>Ну и потом, этот вопрос можно задать и сугубо риторическим порядком: "Люди, почему вы пользуетесь JavaScript, а не Java?" Ну вот так сложилось.


ЕА>>Но то что сложилось это понятно. Но когда кто-то пытается поднять с нуля n + 1 язык, обычно говорят что у него есть некие преимущества перед существующими — реальные или хотя бы мнимые, иначе очень сложно найти Early Adapters которые начнут на нем хотя бы что-то писать. Я пока ни одного преимущества не вижу.


S>У него есть одно замечательное преимущество: он поддерживается компанией Google.

Вот Go тоже гуглом поддерживается, толк есть? Нет. Почему с Dart будет другая история?

S>И если вы ходите зарабатывать на продуктах Google, так сказать "вместе с Goolge", то вы будете их учить и использовать, в противном случае поезд с деньгами уедет без вас.

А у гула есть партнерские программы или большая пиар-машина чтобы язык "выстрелил"? Или кто-то напишет для него килотонны библиотек писать?
Re[6]: Dart - The worst of both worlds ?
От: yoriсk.kiev.ua  
Дата: 17.10.11 20:08
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>...и Java в руках компании, которая начала судить пользователей своего языка. Дополнительно, Java управляется одной компанией,


И что в этом плохого?
A Darth кем управляется?
И как управление одной-двумя-десятью компаниями влияет? Просто вижу, как народ колется, ест кактусы, теряет деньги, но вот никак не хочет язык от "одной компании".

C>тогда как HTML5 и JS разрабатываются сообществом.


Оппа. В тред врывается html&js про Darth забыто.
Re[7]: Dart - The worst of both worlds ?
От: yoriсk.kiev.ua  
Дата: 17.10.11 20:11
Оценка:
Здравствуйте, yoriсk.kiev.ua, Вы писали:

YKU>Оппа. В тред врывается html&js про Darth забыто.


Упс... Он не Вейдер, он дротик! Перепутал.
Re[7]: Dart - The worst of both worlds ?
От: Cyberax Марс  
Дата: 17.10.11 21:03
Оценка:
Здравствуйте, yoriсk.kiev.ua, Вы писали:

C>>...и Java в руках компании, которая начала судить пользователей своего языка. Дополнительно, Java управляется одной компанией,

YKU>И что в этом плохого?
YKU>A Darth кем управляется?
Google планирует открытый процесс.

YKU>И как управление одной-двумя-десятью компаниями влияет? Просто вижу, как народ колется, ест кактусы, теряет деньги, но вот никак не хочет язык от "одной компании".

И правильно делает, так как индустрия на этом уже обжигалась.

C>>тогда как HTML5 и JS разрабатываются сообществом.

YKU>Оппа. В тред врывается html&js про Darth забыто.
Ты почитай что такое Dart — это язык, транслирующийся в JS и ориентированый на HTML5-приложения следующего поколения.
Sapienti sat!
Re[11]: Dart - The worst of both worlds ?
От: vdimas Россия  
Дата: 17.10.11 22:21
Оценка: +1
Здравствуйте, Klapaucius, Вы писали:

C>>Тем более, что он явно будет развиваться дальше.


K>Надеюсь, что он будет не просто "развиваться", как смертельное заболивание, например, а улучшаться, причем вплоть до полного исчезновения, как это нередко случается с гугловскими продуктами.


ИМХО, обычная фильтрация. Гугл в состоянии позволить себе начинать и отбрасывать множество проектов. Но некоторые постепенно становятся востребованными и неплохими. Новый язык для веба нужен однозначно. Пусть пробуют. То, что прямо сейчас он компилится в JavaScript — да пофиг. Первые версии компилятора С++ тоже компилировали в С, и программы работали не быстрее. Зато потом компиляторы С++ стали генерить куда как лучший код, без "посредника". JavaScript ведь не родился вместе с вебом, а стал стандартом де-факто сначала. Т.е. такой путь, через популярность и последующее признание в стандартах — вполне работает.
Re[5]: Dart - The worst of both worlds ?
От: vdimas Россия  
Дата: 17.10.11 22:24
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Я тебе по большому секрету скажу, что рантайм статическую типизацию не использует.

WH>Там все всегда на динамике живет.
WH>Так что здравствуйте глюки, тормоза и жор памяти на ровном месте.

Я не вижу, как это диктуется языком в обязательном порядке при указании типов. Боюсь, мы сейчас обсуждаем лишь текущую реализацию.
Re[7]: Dart - The worst of both worlds ?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 17.10.11 22:26
Оценка:
Здравствуйте, yoriсk.kiev.ua, Вы писали:

C>>...и Java в руках компании, которая начала судить пользователей своего языка. Дополнительно, Java управляется одной компанией,

YKU>И что в этом плохого?
YKU>A Darth кем управляется?
YKU>И как управление одной-двумя-десятью компаниями влияет? Просто вижу, как народ колется, ест кактусы, теряет деньги, но вот никак не хочет язык от "одной компании".

Вот такие коленца навевают мрачные размышления относительно Java (пройдись дальше по ссылкам на предысторию).
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[7]: Dart - The worst of both worlds ?
От: Sorc17 Россия  
Дата: 18.10.11 09:00
Оценка: :)
Здравствуйте, gandjustas, Вы писали:

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


S>>Здравствуйте, Евгений Акиньшин, Вы писали:


ГВ>>>>Ну и потом, этот вопрос можно задать и сугубо риторическим порядком: "Люди, почему вы пользуетесь JavaScript, а не Java?" Ну вот так сложилось.


ЕА>>>Но то что сложилось это понятно. Но когда кто-то пытается поднять с нуля n + 1 язык, обычно говорят что у него есть некие преимущества перед существующими — реальные или хотя бы мнимые, иначе очень сложно найти Early Adapters которые начнут на нем хотя бы что-то писать. Я пока ни одного преимущества не вижу.


S>>У него есть одно замечательное преимущество: он поддерживается компанией Google.

G>Вот Go тоже гуглом поддерживается, толк есть? Нет. Почему с Dart будет другая история?

Толк есть, для тех кто уже зарабатывает на технологиях Google. И толка будет ещё больше в эру мобильных девайсов на андройде.

S>>И если вы ходите зарабатывать на продуктах Google, так сказать "вместе с Goolge", то вы будете их учить и использовать, в противном случае поезд с деньгами уедет без вас.

G>А у гула есть партнерские программы или большая пиар-машина чтобы язык "выстрелил"? Или кто-то напишет для него килотонны библиотек писать?

Представьте себе, даже в Ярославле есть Google User Group. Так что двери Гугла открыты даже для наших провинциальных студентов. Библиотеки они напишут сами или возьмут открытые. Сил и средств у них для этого более чем достаточно, там уже работают светила типа мужиков в моей подписи.
Для нас [Thompson, Rob Pike, Robert Griesemer] это было просто исследование. Мы собрались вместе и решили, что ненавидим C++ [смех].
Re[8]: Dart - The worst of both worlds ?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 18.10.11 09:43
Оценка:
Здравствуйте, Sorc17, Вы писали:

S>Толк есть, для тех кто уже зарабатывает на технологиях Google.

Каким образом? Как гугл помогает разработчикам? (кроме Android, там понятно)


S>>>И если вы ходите зарабатывать на продуктах Google, так сказать "вместе с Goolge", то вы будете их учить и использовать, в противном случае поезд с деньгами уедет без вас.

G>>А у гула есть партнерские программы или большая пиар-машина чтобы язык "выстрелил"? Или кто-то напишет для него килотонны библиотек писать?

S>Представьте себе, даже в Ярославле есть Google User Group. Так что двери Гугла открыты даже для наших провинциальных студентов.

User Gorup это не то что создается самой компанией. А как гугл поддерживат юзрегруппы? Я сам 2 UG поднимал, будучи студентомю

S>Библиотеки они напишут сами или возьмут открытые. Сил и средств у них для этого более чем достаточно, там уже работают светила типа мужиков в моей подписи.

Откуда возьмут? надо чтобы их писал кто-то. Насчет сами "напишут" — не факт, это будет сильно от политики компании зависеть.
Re[8]: Dart - The worst of both worlds ?
От: yoriсk.kiev.ua  
Дата: 18.10.11 14:28
Оценка:
Здравствуйте, Cyberax, Вы писали:

YKU>>A Darth кем управляется?

C>Google планирует открытый процесс.

А с java разве не планировался открытый процесс?

YKU>>И как управление одной-двумя-десятью компаниями влияет? Просто вижу, как народ колется, ест кактусы, теряет деньги, но вот никак не хочет язык от "одной компании".

C>И правильно делает, так как индустрия на этом уже обжигалась.

Лозунги какие-то.

C>Ты почитай что такое Dart — это язык, транслирующийся в JS и ориентированый на HTML5-приложения следующего поколения.


Да, я уже понял: Дарт — это очень хороший язык, язык будующего, потому что его можно транслировать в js. Это уже было немного выше.
Re[9]: Dart - The worst of both worlds ?
От: Cyberax Марс  
Дата: 18.10.11 16:12
Оценка:
Здравствуйте, yoriсk.kiev.ua, Вы писали:

YKU>>>A Darth кем управляется?

C>>Google планирует открытый процесс.
YKU>А с java разве не планировался открытый процесс?
Нет. Были попытки с JCP, но серьёзно их не воспринимали.

YKU>>>И как управление одной-двумя-десятью компаниями влияет? Просто вижу, как народ колется, ест кактусы, теряет деньги, но вот никак не хочет язык от "одной компании".

C>>И правильно делает, так как индустрия на этом уже обжигалась.
YKU>Лозунги какие-то.
Собственно, нет. Идиотов доверять MS сейчас мало.

C>>Ты почитай что такое Dart — это язык, транслирующийся в JS и ориентированый на HTML5-приложения следующего поколения.

YKU>Да, я уже понял: Дарт — это очень хороший язык, язык будующего, потому что его можно транслировать в js. Это уже было немного выше.
Это средненький язык, но с реальной возможностью, что его другие вендоры начнут использовать.
Sapienti sat!
Re[12]: Dart - The worst of both worlds ?
От: FR  
Дата: 19.10.11 15:02
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>ИМХО, здесь сложно проводить прямую аналогию с языком программирования. И потом, код Go выложен в открытый доступ, так что с единым владельцем тут всё неоднозначно.


Сейчас этого мало, патентные тролли уже даже до шараварщиков добрались http://rsdn.ru/forum/shareware/4458366.flat.aspx#4458366
Автор: Matrix_Failure
Дата: 16.10.11
Re[12]: Dart - The worst of both worlds ?
От: Mamut Швеция http://dmitriid.com
Дата: 20.10.11 14:17
Оценка:
K>>Надеюсь, что он будет не просто "развиваться", как смертельное заболивание, например, а улучшаться, причем вплоть до полного исчезновения, как это нередко случается с гугловскими продуктами.

V>ИМХО, обычная фильтрация. Гугл в состоянии позволить себе начинать и отбрасывать множество проектов. Но некоторые постепенно становятся востребованными и неплохими. Новый язык для веба нужен однозначно.


В чем заключается однозначность?


dmitriid.comGitHubLinkedIn
Re[17]: Dart - The worst of both worlds ?
От: Sinclair Россия https://github.com/evilguest/
Дата: 24.10.11 05:09
Оценка: +1
Здравствуйте, Геннадий Васильев, Вы писали:
ГВ>Тем более знаешь, что тут любопытно? Что сама MS свои ключевые продукты на .Net так и не переписала: ни Office, ни Internet Explorer, ни SQL Server, ни тем более — ядро Windows. То есть по сути дела, сама-то MS от .Net не особо зависит (оболочки студий не в счёт). И это сильно отличается от ситуации с COM, который затянут в кучу API.

Вообще-то, от PowerShell MC сейчас зависит очень-очень сильно. Это, грубо говоря, 100% серверных продуктов МС.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[10]: Dart - The worst of both worlds ?
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 07.11.11 18:35
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Нет. Были попытки с JCP, но серьёзно их не воспринимали.


JCP был и остается вполне рабочим процессом. Кроме того, в рабочие группы по JSR тоже далеко не исключительно представители Sun входили.

YKU>>Лозунги какие-то.

C>Собственно, нет. Идиотов доверять MS сейчас мало.

А при чем тут МС? Болит?
... << RSDN@Home 1.2.0 alpha 5 rev. 1537 on Windows 7 6.1.7601.65536>>
AVK Blog
Re[8]: Dart - The worst of both worlds ?
От: Ночной Смотрящий Россия  
Дата: 07.11.11 19:16
Оценка: -1 :)
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Болото он, этот C# — вчера были делегаты, сегодня функциональный стиль


Который на базе делегатов. Болото то в чем?

ГВ>завтра вообще анекдотов насочиняют


Аргументики, да.

ГВ>Вчера WinForms, завтра WPF, потом ещё какой-нибудь WxF


При чем тут языки?

ГВ> И насколько я понял (с немалым удивлением, прямо скажем), в Windows 8 его роль и "озвученные надежды" несколько снизятся


Снизятся по сравнению с чем?

ГВ> это уж вообще ни в какие ворота


Это да — с каждой новой виндой истерика "любителей" дотнета возрождается аки феникс.

ГВ>Знаю, что ошибаюсь, но такое ощущение, что там Хейлсберг со своими безумными идеями с одной стороны и функциональщиками с такими же, но немного другими, переругались в дым


Ошибаешься. Ни Хейлсберг, ни функциональщики к политике никаким боком, там другие персоны фигурируют.

ГВ> пока Windows team и плюсовики не разрубили этот гордиев узел вечного поиска


Не было никакого гордиевого узла. Был классический NIH в исполнении Синовского (который давно известен своим отношением к .net).

ГВ> Короче говоря, на сегодняшний день языковые технологии Microsoft — это слишком нестабильная штука


На сегодняшний момент это слишком стабильная штука. Потому что лет 5 назад развитие шло куда быстрее.

ГВ> В этом смысле даже Java несколько лучше — она хоть имеет развитое community


А .NET не имеет? Как интересно.

ГВ> и как минимум, поддерживающего кита по имени IBM


Пока кит с ораклей не поругался.

ГВ>Ну, яблочко от яблоньки... Можно подумать, что JS — это нечто невероятное!


JS как технология — полное гавно. Как, впрочем, и почти все в вебе.
Re[9]: Dart - The worst of both worlds ?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 07.11.11 20:08
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

ГВ>>Болото он, этот C# — вчера были делегаты, сегодня функциональный стиль

НС>Который на базе делегатов. Болото то в чем?

ГВ>>завтра вообще анекдотов насочиняют

НС>Аргументики, да.

Аллегории, не более того.

ГВ>>Вчера WinForms, завтра WPF, потом ещё какой-нибудь WxF

НС>При чем тут языки?

В сущности — не при чём, но бурления это не отменяет.

ГВ>> И насколько я понял (с немалым удивлением, прямо скажем), в Windows 8 его роль и "озвученные надежды" несколько снизятся

НС>Снизятся по сравнению с чем?

Как это ни странно, но по сравнению с C++. Признаюсь, я сам был немало этому удивлён.

ГВ>> это уж вообще ни в какие ворота

НС>Это да — с каждой новой виндой истерика "любителей" дотнета возрождается аки феникс.

Так MS сама создаёт почву для такой "истерики". А так, в общем-то, .Net давно уже не рассматривается, как очень уж большой конкурент C++ и Java. Ну платформа и платформа. Что характерно, в этом году истерика исходила как раз от любителей .Net (любители в прямом смысле, без кавычек).

ГВ>>Знаю, что ошибаюсь, но такое ощущение, что там Хейлсберг со своими безумными идеями с одной стороны и функциональщиками с такими же, но немного другими, переругались в дым

НС>Ошибаешься. Ни Хейлсберг, ни функциональщики к политике никаким боком, там другие персоны фигурируют.

ГВ>> пока Windows team и плюсовики не разрубили этот гордиев узел вечного поиска

НС>Не было никакого гордиевого узла. Был классический NIH в исполнении Синовского (который давно известен своим отношением к .net).

Да нет, было сборище идеалистов, мечтавших перевоспитать пользователей, к которым пришел лесник инженер и поставил точку.

И потом, как бы это выразиться попроще — всё это производит впечатление какой-то разборки, а кто, кому, куда, за что и сколько — не важно. Важно, что в разборках принимают участие key persons, серьёзно влияющие на развитие платформы. NIH там или НАХ — разницы не имеет.

ГВ>> Короче говоря, на сегодняшний день языковые технологии Microsoft — это слишком нестабильная штука

НС>На сегодняшний момент это слишком стабильная штука. Потому что лет 5 назад развитие шло куда быстрее.

Да-да, только оценка стабильности/нестабильности в частности зависит как раз от поведения тех самых персоналий и от заявлений самой MS. Если MS долго-долго говорила (ну, пусть не говорила, но вела себя так, будто), что C++ плавно задвигается ей на задворки истории и тут вдруг, нате вам! WinRT строится вовсе не на managed-коде, а едва ли не в парадигме GDI+. Поверь, это производит неизгладимое впечатление. Даже на такого скептика, как я. А то, что там что-то стабильно — так VB тоже был стабильным перед тем, как MS отказалась от его развития. Навевает, ага.

ГВ>> В этом смысле даже Java несколько лучше — она хоть имеет развитое community

НС>А .NET не имеет? Как интересно.

Ну... Ты знаешь что-то подобное JCP?

ГВ>> и как минимум, поддерживающего кита по имени IBM

НС>Пока кит с ораклей не поругался.

А хрен ли им ругаться? IBM продаёт свои железяки и услуги в том числе и в комплекте с оракловым ПО. Они ещё могли поцапаться с Sun — те тоже серверы выпускали, но с Oracle, ИМХО, им делить особо нечего, хотя IBM не преминет перетянуть клиентуру Oracle к себе.

ГВ>>Ну, яблочко от яблоньки... Можно подумать, что JS — это нечто невероятное!

НС>JS как технология — полное гавно. Как, впрочем, и почти все в вебе.

Тем не менее, она распространена, хотя и "говно".
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[28]: Dart - The worst of both worlds ?
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 07.11.11 20:26
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>тебе кажется. С 2003 были отдельные инструменты на .NET, и они довольно плохо встраивались в VS, кроме того нехорошие расширения (unmanaged) регулярно роняли студию. В 2010 на .NET был переписан shell, редактор, поддержка проектов и еще много чего.


Поддержка проектов ака языковые пакеты пока что полностью нативная. Переписанная "поддержка проектов" называется Roslyn, и в следующей студии ее еще не будет.
... << RSDN@Home 1.2.0 alpha 5 rev. 1537 on Windows 7 6.1.7601.65536>>
AVK Blog
Re[18]: Dart - The worst of both worlds ?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 07.11.11 20:41
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>>Тем более знаешь, что тут любопытно? Что сама MS свои ключевые продукты на .Net так и не переписала: ни Office, ни Internet Explorer, ни SQL Server, ни тем более — ядро Windows. То есть по сути дела, сама-то MS от .Net не особо зависит (оболочки студий не в счёт). И это сильно отличается от ситуации с COM, который затянут в кучу API.

S>Вообще-то, от PowerShell MC сейчас зависит очень-очень сильно. Это, грубо говоря, 100% серверных продуктов МС.


Посмотри вот в эту бумажку. Бездна интересного. Например, на 76-й и 77-й страницах есть очень любопытные таблички, где приведены доходы и operating income разных подразделений — в лидерах там совсем не серверные продукты. ИМХО, своих "дойных коров" MS совсем не спешит на .Net переписывать.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[10]: Dart - The worst of both worlds ?
От: Ночной Смотрящий Россия  
Дата: 07.11.11 20:48
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Аллегории, не более того.


Выглядит, однако, какашечно.

ГВ>>>Вчера WinForms, завтра WPF, потом ещё какой-нибудь WxF

НС>>При чем тут языки?

ГВ>В сущности — не при чём, но бурления это не отменяет.


Ну то есть очередной приемчик.

ГВ>>> И насколько я понял (с немалым удивлением, прямо скажем), в Windows 8 его роль и "озвученные надежды" несколько снизятся

НС>>Снизятся по сравнению с чем?

ГВ>Как это ни странно, но по сравнению с C++. Признаюсь, я сам был немало этому удивлён.


Ничего не понял. Глагол снижение намекает на процесс. Т.е., согласно русскому языку, предполагается что раньше роль C# в Windows была выше. Вот пример этого и хотелось бы услышать.

НС>>Это да — с каждой новой виндой истерика "любителей" дотнета возрождается аки феникс.


ГВ>Так MS сама создаёт почву для такой "истерики".


Это неважно. Важно что это истерика, причем участвуют в ней люди, нифига в предмете не смыслящие.

ГВ> А так, в общем-то, .Net давно уже не рассматривается, как очень уж большой конкурент C++ и Java.


Опять какие то слова пустые. Кем конкретно не рассматривается?

ГВ> Ну платформа и платформа.


А С++ и Java это не просто платформа?

ГВ> Что характерно, в этом году истерика исходила как раз от любителей .Net (любители в прямом смысле, без кавычек).


Тебе показалось.

НС>>Не было никакого гордиевого узла. Был классический NIH в исполнении Синовского (который давно известен своим отношением к .net).


ГВ>Да нет


Да да. Я, в отличие от тебя, существенно большей информацией располагаю, а не гаданиями на пустом месте занимаюсь. И твои гадания даже близко не похожи на реальность.

ГВ> было сборище идеалистов, мечтавших перевоспитать пользователей, к которым пришел лесник инженер и поставил точку.


Не было ни идеалистов, ни лесника. Все намного сложнее и одновременно проще твоих лубочных картинок. Политика в голом виде. Синовский оказался круче Гатри, в результате получили фатальный недостаток в SL/WPF, новый SL с блекджеком и шлюхами, а Гатри задвинули в Лазурь.

ГВ>Да-да, только оценка стабильности/нестабильности в частности зависит как раз от поведения тех самых персоналий и от заявлений самой MS.


Это если только задаться целью доказать, что дотнет никуда не годится. А по факту эти разборки на развитие дотнета влияние оказывают несильное. Куда печальней тотальная оккупация dev div индусячьими менеджерами.
Но, такое дело, подобная же жопа у всех крупных игроков рынка, а в OSF, который так любит Cyberax, жопа в сто раз крупнее.

ГВ> Если MS долго-долго говорила (ну, пусть не говорила, но вела себя так, будто)


Ну да, сочиняем что нибудь, а потом, когда реальность с сочинениями не стыкуется, все грехи толкуем в сторону МС.
Вот у меня, почему то, особых разочарований в том, о чем ты рассказываешь, ни разу не было. Наверное потому что освоил несложное умение отсеивать бред маркетологов и истерики дилетантов от реальной информации. Но ты можешь продолжать руководствоваться истериками и маркетинговым булшитом при оценке технических моментов.

, что C++ плавно задвигается ей на задворки истории и тут вдруг, нате вам! WinRT строится вовсе не на managed-коде, а едва ли не в парадигме GDI+. Поверь, это производит неизгладимое впечатление. Даже на такого скептика, как я. А то, что там что-то стабильно — так VB тоже был стабильным перед тем, как MS отказалась от его развития. Навевает, ага.

НС>>А .NET не имеет? Как интересно.


ГВ>Ну... Ты знаешь что-то подобное JCP?


А Cyberax говорит, что JCP неживое . И да, знаю — смотри, к примеру, на ASP.NET MVC. Кроме того, и разработчики самого шарпа общаются много и охотно, чего в случае Java сроду не было.
Вообще, я, в свое время пописал и на Java и на шарпе, и поддержка со стороны МС и дотнетного коммьюнити на две головы сановской выше была. Все остальное — лирика.

НС>>Пока кит с ораклей не поругался.


ГВ>А хрен ли им ругаться?


А хрен ли МС хоронить дотнет?

НС>>JS как технология — полное гавно. Как, впрочем, и почти все в вебе.

ГВ>Тем не менее, она распространена, хотя и "говно".

Ага. Потому что ньюбов в вебе — тотальное и всеподавляющее большинство. И для них собственный баттхерт важнее любых технологий.
Re[11]: Dart - The worst of both worlds ?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 07.11.11 21:14
Оценка: +1
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>>>Не было никакого гордиевого узла. Был классический NIH в исполнении Синовского (который давно известен своим отношением к .net).

ГВ>>Да нет
НС>Да да. Я, в отличие от тебя, существенно большей информацией располагаю, а не гаданиями на пустом месте занимаюсь. И твои гадания даже близко не похожи на реальность.

Ой, да на здоровье! Хоть с Гейтсом чаёвничай. Мои реплики — это так, попытка сделать гротескную индукцию на недостаточных данных. Их ценность колеблется около нуля — сугубо для похихикать. Неужели это не понятно?

ГВ>> было сборище идеалистов, мечтавших перевоспитать пользователей, к которым пришел лесник инженер и поставил точку.

НС>Не было ни идеалистов, ни лесника. Все намного сложнее и одновременно проще твоих лубочных картинок. Политика в голом виде. Синовский оказался круче Гатри, в результате получили фатальный недостаток в SL/WPF, новый SL с блекджеком и шлюхами, а Гатри задвинули в Лазурь.

Хорошо, попробую перестать стебаться. Значит, смотри. Мне, на самом деле, глубоко начхать на то, как оно там было в реальности и чей шеф оказался круче. Важно другое: начиная с 2001-го года внешние проявления политики MS свидетельствовали в пользу того, что C++ действительно отодвигается на второй план. Неторопливо, планомерно, но отодвигается. С появлением Win8 картинка очень резко поменялась, только и всего.

Какие там персоналии задействованы, в каком порядке, и кто там самый крутой перец — не имеет на самом деле никакого значения. Вообще, от слова "совсем". Это всё внутренние дела MS, которые для внешнего наблюдателя совершенно не важны. Факт, предоставленный пользователям, остаётся фактом — WinRT построен на C++. Кого там куда передвинули — вопрос сто двадцатый.

ГВ>>Да-да, только оценка стабильности/нестабильности в частности зависит как раз от поведения тех самых персоналий и от заявлений самой MS.

НС>Это если только задаться целью доказать, что дотнет никуда не годится. А по факту эти разборки на развитие дотнета влияние оказывают несильное. Куда печальней тотальная оккупация dev div индусячьими менеджерами.
НС>Но, такое дело, подобная же жопа у всех крупных игроков рынка, а в OSF, который так любит Cyberax, жопа в сто раз крупнее.

OSF сам по себе — жопа ещё та, и таковой всю жизнь был. Тоже мне, новость.

ГВ>> Если MS долго-долго говорила (ну, пусть не говорила, но вела себя так, будто)

НС>Ну да, сочиняем что нибудь, а потом, когда реальность с сочинениями не стыкуется, все грехи толкуем в сторону МС.
НС>Вот у меня, почему то, особых разочарований в том, о чем ты рассказываешь, ни разу не было. Наверное потому что освоил несложное умение отсеивать бред маркетологов и истерики дилетантов от реальной информации. Но ты можешь продолжать руководствоваться истериками и маркетинговым булшитом при оценке технических моментов.

У меня разочарования никакого не было. Удивление от происходящего — было, а разочарования — нет. Может быть, от того, что я никогда и не возлагал каких-то запредельных ожиданий на .Net.

НС>>>А .NET не имеет? Как интересно.

ГВ>>Ну... Ты знаешь что-то подобное JCP?
НС>А Cyberax говорит, что JCP неживое . И да, знаю — смотри, к примеру, на ASP.NET MVC. Кроме того, и разработчики самого шарпа общаются много и охотно, чего в случае Java сроду не было.
НС>Вообще, я, в свое время пописал и на Java и на шарпе, и поддержка со стороны МС и дотнетного коммьюнити на две головы сановской выше была. Все остальное — лирика.

Я говорю о самой по себе формальной организации. Это на самом деле не так уж мало, чтобы кто там ни говорил. И это по сути несколько ортогонально поддержке.

НС>>>Пока кит с ораклей не поругался.

ГВ>>А хрен ли им ругаться?
НС>А хрен ли МС хоронить дотнет?

Никто этого и не говорит. Но некое удивление от политики MS имеет место быть, не более того.

НС>>>JS как технология — полное гавно. Как, впрочем, и почти все в вебе.

ГВ>>Тем не менее, она распространена, хотя и "говно".
НС>Ага. Потому что ньюбов в вебе — тотальное и всеподавляющее большинство. И для них собственный баттхерт важнее любых технологий.

ИМХО, это не имеет значения — ньюбы там или ещё кто. Важен сам факт распространённости.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[11]: Dart - The worst of both worlds ?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 07.11.11 21:34
Оценка: +1
Здравствуйте, Ночной Смотрящий, Вы писали:

ГВ>>Как это ни странно, но по сравнению с C++. Признаюсь, я сам был немало этому удивлён.

НС>Ничего не понял. Глагол снижение намекает на процесс. Т.е., согласно русскому языку, предполагается что раньше роль C# в Windows была выше. Вот пример этого и хотелось бы услышать.

Сейчас не могу сказать точно, но в частности, здесь (в ФП) нередко появлялись разговоры то о файловой системе, реализованой на .Net, то ещё о каком-то ключевом API, который будет совсем-совсем только для .Net, а нативные приложения будут получать к нему доступ через маршаллинг с сопутствующей потере в производительности. И вся информация исходила ну прямо таки из самых самых недр Microsoft от очень доверенных источников.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[11]: Dart - The worst of both worlds ?
От: vdimas Россия  
Дата: 08.11.11 02:29
Оценка: 27 (2)
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>Это неважно. Важно что это истерика, причем участвуют в ней люди, нифига в предмете не смыслящие.


Неправда. Все рассуждения о светлом будущем ГУИ и основных подсистем на основе дотнета исходили преимущественно от MVP и "приближенных". А по факту, WinForms — примитивщина, WPF не умеет нормально напрямую работать с АПИ "быстрого" рендеринга (DirectX), работает через сериализацию команд и исполнение их в другом потоке. Поэтому WPF в текущем виде представляет из себя смелый и бесполезный эксперимент, результаты которого MS не может применить на собственном десктопе.


ГВ>> А так, в общем-то, .Net давно уже не рассматривается, как очень уж большой конкурент C++ и Java.


НС>Опять какие то слова пустые. Кем конкретно не рассматривается?


MS и пользователями. АПИ W8 ведь не только что родилось, а обкатывалось, начиная с Висты. И показало себя отлично в семерке в оболочке (в сравнении с тем, что показывает WPF). Поэтому никаких NIH не было. Было два готовых и обкатанных решения, одно из которых напоминает наколенную поделку студентов, своей тормознутостью и монстрообразностью, а второе — солидный и эффективный продукт. Выбор был очевиден. Опять же, в "политике" сила не из пустого места берется, а по достижениям. Оболочка семерки выглядит и работает просто супер. На WPF это никак не повторить с такой же отзывчивостью интерфейса.


ГВ>> Ну платформа и платформа.


НС>А С++ и Java это не просто платформа?


С++ не совсем платформа. Скорее — технология.

Платформу .Net всячески рекламировали, в основном путем раздачи обещаний на "будущее". Т.е. пиши код сейчас, а с новой версией фреймворка он волшебныи образом будет работать заметно быстрее. Весь наблюдаемый негатив имеет причиной неисполнение того самого светлого будущего, клятвенно обещанного когда-то устами MVP и прочих лиц, непосредственно из MS. Прошло 10 лет, а уровень генерируемого JIT-подсистемой кода до сих пор ужасен... Как в первых C++ компиляторах. Фиг с ним, с реалтаймом... Я еще лет 6 назад высказывал мнение, что хотя бы для ngen могли бы что-нить оптимизирующее прикрутить, чтобы хотя бы сам фреймворк был пошустрее и клиентские либы тоже. Ведь неплохой код рожает их C++ компилятор, т.е. оптимизировать-то они умеют... Просто не стали это делать для дотнета. И это говорит о позиционировании платформы исключительно для задач, где эффективность не важна. Для сравнения, за время существования дотнета, оптимизация их С++ компилятора продвинулась очень далеко.


НС>>>Не было никакого гордиевого узла. Был классический NIH в исполнении Синовского (который давно известен своим отношением к .net).


ГВ>>Да нет


НС>Да да. Я, в отличие от тебя, существенно большей информацией располагаю, а не гаданиями на пустом месте занимаюсь. И твои гадания даже близко не похожи на реальность.


Ну и в чем информация заключается? Что один спец котируется выше другого во внутренней политике? А почему?



ГВ>> было сборище идеалистов, мечтавших перевоспитать пользователей, к которым пришел лесник инженер и поставил точку.


НС>Не было ни идеалистов, ни лесника. Все намного сложнее и одновременно проще твоих лубочных картинок. Политика в голом виде. Синовский оказался круче Гатри, в результате получили фатальный недостаток в SL/WPF, новый SL с блекджеком и шлюхами, а Гатри задвинули в Лазурь.


SL принципиально не отличается от WPF по своей технологии. А нужна была именно другая технология, которая не жрет энергию в таких кол-вах, как SL/WPF.


ГВ>>Да-да, только оценка стабильности/нестабильности в частности зависит как раз от поведения тех самых персоналий и от заявлений самой MS.


НС>Это если только задаться целью доказать, что дотнет никуда не годится.


Уже доказано. Хотя хотелось совсем обратного. Ведь многие рванули на дотнет когда-то... не для того же, чтобы потом разочароваться. Теперь спокойно опять пишут на плюсах... Вернее, и на том и на том, но на дотнете разве что-нить нетребовательное к ресурсам. Т.е. мало чего, если не заниматься разработкой сайтов или слабомасштабируемых складских/торговых систем.


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


Не ошибусь, если предположу, что ты тоже отмечался в сочинениях когда-то, в общем хоре остальных сочинителей. Так уж вышло, что обещания шли от более-менее специалистов, и к ним прислушивались. За что и поплатились.

НС>Вот у меня, почему то, особых разочарований в том, о чем ты рассказываешь, ни разу не было. Наверное потому что освоил несложное умение отсеивать бред маркетологов и истерики дилетантов от реальной информации. Но ты можешь продолжать руководствоваться истериками и маркетинговым булшитом при оценке технических моментов.


Это IT, а не порошок Тайд. Здесь маркетинг должен оперировать вполне конкретными и проверяемыми характеристиками, больше ничем.
Re[13]: Dart - The worst of both worlds ?
От: vdimas Россия  
Дата: 08.11.11 02:36
Оценка: +1
Здравствуйте, Mamut, Вы писали:

V>>Новый язык для веба нужен однозначно.


M>В чем заключается однозначность?


В слабости JS, вестимо. Проблема с эффективностью.
Re[11]: Синофски
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 08.11.11 02:38
Оценка: +1
Здравствуйте, Ночной Смотрящий,

Вот не скажи ты про какого-то "Синовского", я бы и не стал изучать. Но стало интересно.

ГВ>> было сборище идеалистов, мечтавших перевоспитать пользователей, к которым пришел лесник инженер и поставил точку.

НС>Не было ни идеалистов, ни лесника. Все намного сложнее и одновременно проще твоих лубочных картинок. Политика в голом виде. Синовский оказался круче Гатри,

Как я понял, подразделение Синофски зарабатывает львиную долю денег для MS. Ничего удивительного, что руководитель подразделения приобретает приличный вес в компании. Если он при этом вполне обходится без .Net — ну, значит .Net ему не нужен.

НС>в результате получили фатальный недостаток в SL/WPF, новый SL с блекджеком и шлюхами, а Гатри задвинули в Лазурь.


А знаешь, почитал я блог Синофски — очень толково пишет дядька. Вот это понравилось: http://blogs.msdn.com/b/b8_ru/archive/2011/10/12/windows-8-runtime.aspx Здраво и по делу: мы хотим, чтобы Windows 8 жрала меньше памяти и работала быстрее. В кои-то веки вспомнили о действительных проблемах пользователей, а не о "память больше не ресурс" и "производительность железа растёт быстрее, чем можно себе это представить". Так что, политика — политикой, но ratio там не кислое под этой политикой и не надо упрощать сверх меры.

И ещё момент касательно истерики и остальной озабоченности будущим .Net. Ты знаешь, я на самом деле куда оптимистичнее тех, кто пишет под .Net (см., например, здесь):

This isn't the case under Ballmer. All that's happening is a fostering of fear, uncertainly and doubt.

В общем, developers э-э-э... Как-то не рады и испытывают сомнения.

В этом контексте сильно позабавил ответ на вопрос на SO (Why is WinRT unmanaged):

Need the highest performance? Choose C++.

Need the easiest learnability (for the language, not for the APIs)/the easiest (UI) portability? Choose Javascript.

Need the cheapest maintainability, extensibility, reusability, highest safety, etc.? Senseless! Why would any software development want to focus on any of those areas?


Понятно, что это интерпретация и испорченный телефон, но...

Да, кстати, на место Баллмера прочат как раз Синофски. ИМХО, очень небезосновательно прочат, но опять таки, подноготная мне не известна и выводы я делаю сугубо по верхам — пробежался слегка по интернету.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[19]: Dart - The worst of both worlds ?
От: Sinclair Россия https://github.com/evilguest/
Дата: 08.11.11 03:49
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Посмотри вот в эту бумажку. Бездна интересного. Например, на 76-й и 77-й страницах есть очень любопытные таблички, где приведены доходы и operating income разных подразделений — в лидерах там совсем не серверные продукты. ИМХО, своих "дойных коров" MS совсем не спешит на .Net переписывать.

Ну давайте посмотрим в вашу табличку. "Дотнетная" выручка — $17076M, или 27%. То есть дотнет у нас присутствует в доходах, составляющих почти 1/3 выручки. С прибылью всё не так здорово — ровно потому, что объем инвестиций велик. Попытка переписать офис на дотнет резко бы перевела его пониже в табличке operating income.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[12]: Dart - The worst of both worlds ?
От: Евгений Акиньшин grapholite.com
Дата: 08.11.11 04:46
Оценка: +2
Здравствуйте, vdimas, Вы писали:



V>SL принципиально не отличается от WPF по своей технологии. А нужна была именно другая технология, которая не жрет энергию в таких кол-вах, как SL/WPF.


по моему WinRT и SL гораздо ближе к друг другу, чем SL и WPF
Не шалю, никого не трогаю, починяю примус Diagrams Designer for iPad and Windows 10
Re[13]: Dart - The worst of both worlds ?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 08.11.11 12:41
Оценка:
Здравствуйте, Евгений Акиньшин, Вы писали:

V>>SL принципиально не отличается от WPF по своей технологии. А нужна была именно другая технология, которая не жрет энергию в таких кол-вах, как SL/WPF.


ЕА>по моему WinRT и SL гораздо ближе к друг другу, чем SL и WPF


Почему?
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[14]: Dart - The worst of both worlds ?
От: Евгений Акиньшин grapholite.com
Дата: 08.11.11 13:06
Оценка: 6 (2) +1
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Здравствуйте, Евгений Акиньшин, Вы писали:


V>>>SL принципиально не отличается от WPF по своей технологии. А нужна была именно другая технология, которая не жрет энергию в таких кол-вах, как SL/WPF.


ЕА>>по моему WinRT и SL гораздо ближе к друг другу, чем SL и WPF


ГВ>Почему?


Ну во-первых набор контролов и АПИ в WinRT практически повторяет то что есть сильверлайте, за исключением специфических моментов. Там, где есть значительные различия между Silverlight и WPF (биндинги, RichText итд.),WinRT вариант почти всегда ближе к сильверлайтовскому.

Во-вторых много native-code в базовых классах (в WinRT — 100%, в Silverlight — большая часть), в то время как WPF почти полностью managed.

Сразу скажу, что это не детальный анализ, а просто первое впечатление, так что холиварить не буду.
Не шалю, никого не трогаю, починяю примус Diagrams Designer for iPad and Windows 10
Re[12]: Dart - The worst of both worlds ?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 08.11.11 13:34
Оценка:
Здравствуйте, vdimas, Вы писали:

НС>>Да да. Я, в отличие от тебя, существенно большей информацией располагаю, а не гаданиями на пустом месте занимаюсь. И твои гадания даже близко не похожи на реальность.

V>Ну и в чем информация заключается? Что один спец котируется выше другого во внутренней политике? А почему?

Потому что один — увешанный регалиями Стивен Синофски, руководитель Windows Team, которое приносит около половины прибыли MS. А второй (Скотт Гатри) — уж который год строит светлое будущее, в том числе, на деньги, приносимые первым.

Возникает два риторических вопроса: 1) Какой "спец" будет котироваться выше? 2) Можно ли назвать выбор на основе такой "котировки" политиканством?

P.S.: Статьи в википедии: Стивен Синофски, второй — Скотт Гатри. Дальше по ссылкам.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[20]: Dart - The worst of both worlds ?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 08.11.11 14:02
Оценка:
Здравствуйте, Sinclair, Вы писали:

ГВ>>Посмотри вот в эту бумажку. Бездна интересного. Например, на 76-й и 77-й страницах есть очень любопытные таблички, где приведены доходы и operating income разных подразделений — в лидерах там совсем не серверные продукты. ИМХО, своих "дойных коров" MS совсем не спешит на .Net переписывать.

S>Ну давайте посмотрим в вашу табличку. "Дотнетная" выручка — $17076M, или 27%. То есть дотнет у нас присутствует в доходах, составляющих почти 1/3 выручки. С прибылью всё не так здорово — ровно потому, что объем инвестиций велик. Попытка переписать офис на дотнет резко бы перевела его пониже в табличке operating income.

Собственно, о чём я и говорю — .Net пока находится в стороне от ключевых продуктов MS ("дойных коров"). Ну то есть не то, чтобы "в стороне", а в буквальном смысле "рядом стоит" — утилиты, шелл, UI, etc. Это, в общем, на чём угодно написать можно.

Тот же сегмент Server & Tools вырос не очень-то благодаря .Net (тот же отчёт, с. 24):

Server and Tools revenue increased mainly reflecting growth in product revenue. Product revenue increased $652 million or 6%, driven primarily by growth in Windows Server, SQL Server and Enterprise CAL Suites revenue, reflecting increased revenue from annuity volume licensing agreements and continued adoption of Windows platform applications, offset in part by a decline in developer tools revenue. Enterprise Services revenue was relatively flat, with growth in Premier product support services nearly offset by decreased consulting services.


А, вон ещё gandjustas уверяет
Автор: gandjustas
Дата: 15.10.11
, что:

Следующая версия Exchange не будет содержать нативных компонент, надеюсь SharePoint и Dynamics также.


Но поскольку эта информация опять прошла по "закрытым каналам", то доверия у меня к ней маловато. По закрытым каналам чего только не ходит.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[15]: Dart - The worst of both worlds ?
От: vdimas Россия  
Дата: 08.11.11 20:05
Оценка: -1
Здравствуйте, Евгений Акиньшин, Вы писали:


ЕА>Ну во-первых набор контролов и АПИ в WinRT практически повторяет то что есть сильверлайте, за исключением специфических моментов.


Учитывая, что DirectUI появился еще в WinXP, а полноценный XAML в XPS вышел раньше WPF, неизвестно, кто кого повторяет.

ИМХО, ровно наоборот, WPF — это была дотнетная попытка довеcти идею декларативного (XAML) и саморефлексируемого (через IAccessible) графического интерфейса до совершенства. Но не вышло... Как правильно тут однажды было сказано, WPF сам DirectX использует, а программе не дает. В общем, 100% managed исполнение библиотеки породило сначала проблему неэффективности частых непосредственных вызовов методов COM-интерфейсов DirectX, что пришлось команды рендеринга сериализовать и отправлять нативному потоку на проигрывание... а это решение, в свою очередь, породило все остальные проблемы WPF.


ЕА>Там, где есть значительные различия между Silverlight и WPF (биндинги, RichText итд.),WinRT вариант почти всегда ближе к сильверлайтовскому.


Не мудрено, SL поновее будет, т.е. уже с учетом обнаруженных косяков верхнеуровневого АПИ и прочих пожеланий. В принципе, WPF сделал нужное для MS дело — обкатал конкретные моменты XAML на миллионов хомяков.


ЕА>Во-вторых много native-code в базовых классах (в WinRT — 100%, в Silverlight — большая часть), в то время как WPF почти полностью managed.


DirectUI с рождения был нативный. Просто не было публично-опубликованного АПИ, и народ ковырял через IAccessible что мог в меру своей испорченности и любознательности.


ЕА>Сразу скажу, что это не детальный анализ, а просто первое впечатление, так что холиварить не буду.


Первое впечатление таково, что сделали серьезную работу, требуемую для открытия нативных вещей в качестве публичного АПИ. Был покрыт весь существующий Windows API. В плане конкретно UI я серьезных подвижек, в сравнении с тем, что вижу через таблицу экспорта в DUI70.dll, не вижу. Т.е. столь долгое ожидание этой вкусной вещи было не столько из-за UI, сколько из-за всей остальной инфраструктуры и новом единообразном подходе к АПИ в будущих версиях Windows.
Re[15]: Dart - The worst of both worlds ?
От: vdimas Россия  
Дата: 08.11.11 20:26
Оценка: 29 (2) +1
Здравствуйте, Евгений Акиньшин, Вы писали:

Вдогонку...

Когда-то, когда WPF только вышел, я весьма нелестно отзывался о способе реализации в нем зависимых свойств. Писал, что это грубый отход от возможностей и самого духа дотнета, настоящий шаг назад в сравнении с самоописываемым подходом, принятым в ComponentModel. Ибо ручная разметка акцессоров — это именно что единственный подход в нейтиве, когда необходимо поддержать рефлексию хоть в каком-то виде. (В данном случае, для построения графа объектов по XAML).

Характерно, что это именно то, за что дотнетчики поливали С++ грязью — типа вам все надо ручками описывать, а в дотнете САМО! (через рефлексию)... Но, как выяснилось, "само" работает очень небыстро, особенно когда речь идет о рефлексии приватных членов классов... А "ручному" описанию С++ такие тонкости до фени в плане эффективности... И лишь спустя несколько лет до меня дошло, что WPF был написан не с 0-ля, а стартовал как банальный порт готовой С++ реализации. Ослиные уши этого порта торчат в таком моменте, как деградировавшая типобезопасность. Например, в С++ при описании зависимых св-в можно ссылаться на типизированные указатели на члены классов, а в дотнете такой возможности нет принципиально. Поэтому используются строковые литералы для ссылки на св-ва/методы/события, а эти вещи компилятором никак не проверяются. Я уверен, что, разрабатывая архитекруту WPF с 0-ля, никакой архитектор не додумался бы до такого способа декларации зависимых св-в в дотнете... эта натуральная "коровья лепешка" могла появиться только в результате порта готового кода на технологию, которая не поддерживает кое-какие задействованные моменты технологии исходного варианта.
Re[29]: Dart - The worst of both worlds ?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 08.11.11 20:58
Оценка:
Здравствуйте, AndrewVK, Вы писали:

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


G>>тебе кажется. С 2003 были отдельные инструменты на .NET, и они довольно плохо встраивались в VS, кроме того нехорошие расширения (unmanaged) регулярно роняли студию. В 2010 на .NET был переписан shell, редактор, поддержка проектов и еще много чего.


AVK>Поддержка проектов ака языковые пакеты пока что полностью нативная. Переписанная "поддержка проектов" называется Roslyn, и в следующей студии ее еще не будет.


Roslyn вообще-то компилятор, а не "поддержка проектов". В студии вполне managed кодом "поддерживаются" проекты f#, IronPhyton и IronRuby.
Re[16]: Dart - The worst of both worlds ?
От: Евгений Акиньшин grapholite.com
Дата: 09.11.11 01:57
Оценка:
Здравствуйте, vdimas, Вы писали:

V>Здравствуйте, Евгений Акиньшин, Вы писали:


V>Вдогонку...


V>Когда-то, когда WPF только вышел, я весьма нелестно отзывался о способе реализации в нем зависимых свойств. Писал, что это грубый отход от возможностей и самого духа дотнета, настоящий шаг назад в сравнении с самоописываемым подходом, принятым в ComponentModel. Ибо ручная разметка акцессоров — это именно что единственный подход в нейтиве, когда необходимо поддержать рефлексию хоть в каком-то виде. (В данном случае, для построения графа объектов по XAML).


Я тоже так думал, а тут столкнулся в одном проекте с необходимостью сделать похожую систему свойств и в конце-концов получилось по сути почти как в WPF, только синтаксис получше.
А как по-другому нормально сделать? — со стилями, биндингами, триггерами, нотификациями на изменения, аттачед свойствами и прочим. И так, чтобы при изменении логики в новых версиях, не пришлось бы все переписывать? (Я серьезно буду рад, если подскажите — а то как-то некрасиво получилось)
Не шалю, никого не трогаю, починяю примус Diagrams Designer for iPad and Windows 10
Re[17]: Dart - The worst of both worlds ?
От: vdimas Россия  
Дата: 09.11.11 03:41
Оценка:
Здравствуйте, Евгений Акиньшин, Вы писали:

ЕА>Я тоже так думал, а тут столкнулся в одном проекте с необходимостью сделать похожую систему свойств и в конце-концов получилось по сути почти как в WPF, только синтаксис получше.

ЕА>А как по-другому нормально сделать? — со стилями, биндингами, триггерами, нотификациями на изменения, аттачед свойствами и прочим. И так, чтобы при изменении логики в новых версиях, не пришлось бы все переписывать? (Я серьезно буду рад, если подскажите — а то как-то некрасиво получилось)

Знаешь, я всегда недоумевал, почему потребность напрямую связать м/у собой св-ва объектов есть, а средств для этого никаких нету. Все эти биндинги на основе вербальных (!!!) "соглашений" (типа XxxChanging/XxxChanged) — это не просто костыли, это позоруха какая-то. Что мешает заведомо спроектировать св-ва так, чтобы костыль был не нужен?

Из далекого прошлого: http://www.rsdn.ru/forum/philosophy/1676773.1.aspx
Автор: vdimas
Дата: 14.02.06

Баловался когда-то, делал мини-макет конструктора музыкальных эффектов по описанному принципу, невероятно удобно.
Re[18]: Dart - The worst of both worlds ?
От: Евгений Акиньшин grapholite.com
Дата: 09.11.11 04:02
Оценка:
Здравствуйте, vdimas, Вы писали:

V>Здравствуйте, Евгений Акиньшин, Вы писали:


ЕА>>Я тоже так думал, а тут столкнулся в одном проекте с необходимостью сделать похожую систему свойств и в конце-концов получилось по сути почти как в WPF, только синтаксис получше.

ЕА>>А как по-другому нормально сделать? — со стилями, биндингами, триггерами, нотификациями на изменения, аттачед свойствами и прочим. И так, чтобы при изменении логики в новых версиях, не пришлось бы все переписывать? (Я серьезно буду рад, если подскажите — а то как-то некрасиво получилось)

V>Знаешь, я всегда недоумевал, почему потребность напрямую связать м/у собой св-ва объектов есть, а средств для этого никаких нету. Все эти биндинги на основе вербальных (!!!) "соглашений" (типа XxxChanging/XxxChanged) — это не просто костыли, это позоруха какая-то. Что мешает заведомо спроектировать св-ва так, чтобы костыль был не нужен?


согласен — стоило сделать какой-то стандартный механизм, а не передавать имя(!) свойства в PropertyChaged

V>Из далекого прошлого: http://www.rsdn.ru/forum/philosophy/1676773.1.aspx
Автор: vdimas
Дата: 14.02.06

V>Баловался когда-то, делал мини-макет конструктора музыкальных эффектов по описанному принципу, невероятно удобно.

т.е. предлагается в каждом свойстве значение оборачивать? тоже как-то некрасиво, да и пользователи таких классов будут недовольны усложнениями
Не шалю, никого не трогаю, починяю примус Diagrams Designer for iPad and Windows 10
Re[19]: Dart - The worst of both worlds ?
От: vdimas Россия  
Дата: 09.11.11 10:32
Оценка:
Здравствуйте, Евгений Акиньшин, Вы писали:

ЕА>т.е. предлагается в каждом свойстве значение оборачивать? тоже как-то некрасиво, да и пользователи таких классов будут недовольны усложнениями


Почему пользователи должны быть недовольны? В таком виде надо представлять только те св-ва, об изменении которых необходимо получать нотификации (реактивное програмирование), либо если необходимо параметризировать источник данных (чистое IoC). Обе плюшки бесплатными не бывают, а единообразное их исполнение приносит бенефиты, точно такие же, какие приносят зависимые св-ва.
Re[12]: Dart - The worst of both worlds ?
От: Ночной Смотрящий Россия  
Дата: 09.11.11 21:06
Оценка: :)
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Важно другое: начиная с 2001-го года внешние проявления политики MS свидетельствовали в пользу того, что C++ действительно отодвигается на второй план.


Тебе показалось.

ГВ> Неторопливо, планомерно, но отодвигается. С появлением Win8 картинка очень резко поменялась, только и всего.


Ничуть. Как дотнета в винде не было, так его там и нет. Ничего не изменилось.

ГВ>Факт, предоставленный пользователям, остаётся фактом — WinRT построен на C++.


А какое WinAPI было построено не на С++?

ГВ>У меня разочарования никакого не было. Удивление от происходящего — было


А вот у меня никакого удивления — все было заранее предсказуемо. Еще при живом Гатри я писал, что SL капец и WPF, скорее всего, тоже. Тогда меня ссаными тряпками закидали. Ну и?
Удивление твое, оно от незнания реальной ситуации.

ГВ>Может быть, от того, что я никогда и не возлагал каких-то запредельных ожиданий на .Net.


Ты не то что не возлагал, ты всегда был идейным и постоянным противником дотнета, не скромничай уж. И не пропустил, стоит заметить, ни одной истерики на тему "МС больше не верит в дотнет".

ГВ>Я говорю о самой по себе формальной организации


А мне плевать на формальности, мне результат важен.

НС>>А хрен ли МС хоронить дотнет?


ГВ>Никто этого и не говорит. Но некое удивление от политики MS имеет место быть, не более того.


Я тебе еще раз повторю — то что ты принимаешь за политику МС на самом деле мешанина из реальной политики, истерик дилетантов и прочего бушита. Реальная политика сама по себе у МС меняется очень медленно. И это если бы в Метро был SL, тогда действительно можно было бы говорить о каких то ощутимых изменениях. А сейчас, по факту, ничего не изменилось. Скорее наоборот — роль дотнета возросла, так как впервые низкоуровневое API параллельно разрабатывается уже с учетом интересов managed мира.

НС>>Ага. Потому что ньюбов в вебе — тотальное и всеподавляющее большинство. И для них собственный баттхерт важнее любых технологий.


ГВ>ИМХО, это не имеет значения — ньюбы там или ещё кто.


Только это и имеет значение.
Re[12]: Dart - The worst of both worlds ?
От: Ночной Смотрящий Россия  
Дата: 09.11.11 21:09
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Сейчас не могу сказать точно, но в частности, здесь (в ФП) нередко появлялись разговоры то о файловой системе, реализованой на .Net, то ещё о каком-то ключевом API, который будет совсем-совсем только для .Net, а нативные приложения будут получать к нему доступ через маршаллинг с сопутствующей потере в производительности.


Здесь чего только не появлялось. Здесь вон только что товарищ вроде как MVP на полном серьезе утверждает что Roslyn это компилятор. Только к реальной ситуации это далеко не всегда имеет хоть какое то отношение.

ГВ> И вся информация исходила ну прямо таки из самых самых недр Microsoft от очень доверенных источников.


Да да да. Вот я и говорю — все твои логические построения основаны на воплях непонятных личностей. Причем выбираешь ты только те, что доказывают твои теории, что красноречиво говорит об истинных мотивах.
Re[12]: Синофски
От: Ночной Смотрящий Россия  
Дата: 09.11.11 21:15
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Как я понял, подразделение Синофски зарабатывает львиную долю денег для MS.


Это не подразделение Синовского, это подразделение МС. И львиную долю денег оно зарабатывало и до его прихода.

ГВ>Ничего удивительного, что руководитель подразделения приобретает приличный вес в компании. Если он при этом вполне обходится без .Net — ну, значит .Net ему не нужен.


Спасибо, КО.

ГВ>И ещё момент касательно истерики и остальной озабоченности будущим .Net. Ты знаешь, я на самом деле куда оптимистичнее тех, кто пишет под .Net (см., например, здесь):

This isn't the case under Ballmer. All that's happening is a fostering of fear, uncertainly and doubt.


И чего? Истериков, если поискать, везде хватает.

ГВ>Да, кстати, на место Баллмера прочат как раз Синофски.


На данный момент — маловероятно. Пока не его уровень. А там посмотрим. Но было бы печально — тактик он превосходный, а вот стратег из него примерно такой же, как и из лысого.
Re[30]: Dart - The worst of both worlds ?
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 09.11.11 21:15
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>Roslyn вообще-то компилятор


Садись, двойка.

G>В студии вполне managed кодом "поддерживаются" проекты f#, IronPhyton и IronRuby.


Эти да. А C# и VB — нет.
... << RSDN@Home 1.2.0 alpha 5 rev. 1537 on Windows 7 6.1.7601.65536>>
AVK Blog
Re[12]: Dart - The worst of both worlds ?
От: Ночной Смотрящий Россия  
Дата: 09.11.11 21:26
Оценка:
Здравствуйте, vdimas, Вы писали:

V>Неправда. Все рассуждения о светлом будущем ГУИ и основных подсистем на основе дотнета исходили преимущественно от MVP и "приближенных".


MVP, они тоже разные бывают.

V>результаты которого MS не может применить на собственном десктопе.


Студия вполне работает и даже неплохо.

V>MS и пользователями. АПИ W8 ведь не только что родилось, а обкатывалось, начиная с Висты


Круть? И где там в Висте WinRT или Metro?

V>Платформу .Net всячески рекламировали, в основном путем раздачи обещаний на "будущее". Т.е. пиши код сейчас, а с новой версией фреймворка он волшебныи образом будет работать заметно быстрее.


МС такого никогда не обещал.

V> Весь наблюдаемый негатив имеет причиной неисполнение того самого светлого будущего


Весь наблюдаемый здесь и сейчас негатив исходит от тех самых людей, которые исходили негативом по тем же поводам прям с первого релиза дотнета.

V>Ну и в чем информация заключается? Что один спец котируется выше другого во внутренней политике? А почему?


А почему devdiv индусы оккупировали, причем до самого верха, а талантливые разработчики оттуда пачками свалили? Почему Балмер во главе корпа?

V>SL принципиально не отличается от WPF по своей технологии.


Отличается и принципиально. Это скорее MetroUI принципиально от SL не отличается, разве что окончательно урезан по самые помидоры. При внешней схожести XAML и компонентной модели, SL и WPF совершенно различные технологии. Именно поэтому SL неплохо себя и на мобилках чувствует, а WPF там нет и никогда не будет.

НС>>Это если только задаться целью доказать, что дотнет никуда не годится.


V>Уже доказано


Мечтай.

V>Хотя хотелось совсем обратного. Ведь многие рванули на дотнет когда-то... не для того же, чтобы потом разочароваться


А чего мне в нем разочаровываться? Он приносил и продолжает приносить мне доход уже 8 лет, с того момента как я первый свой проект на нем сделал еще на бете.
Но ты можешь верить, что все прям массово разочаровались и вернулись на С++.

V>Не ошибусь, если предположу, что ты тоже отмечался в сочинениях когда-то


Ошибешься.

V>Это IT, а не порошок Тайд. Здесь маркетинг должен оперировать вполне конкретными и проверяемыми характеристиками, больше ничем.


Ну тогда продолжай кушать маркетинговый булшит, мне то что.
Re[13]: Dart - The worst of both worlds ?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 10.11.11 02:36
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

ГВ>>Важно другое: начиная с 2001-го года внешние проявления политики MS свидетельствовали в пользу того, что C++ действительно отодвигается на второй план.

НС>Тебе показалось.

Может быть.

ГВ>> Неторопливо, планомерно, но отодвигается. С появлением Win8 картинка очень резко поменялась, только и всего.

НС>Ничуть. Как дотнета в винде не было, так его там и нет. Ничего не изменилось.

Ну в этом смысле — безусловно.

ГВ>>Факт, предоставленный пользователям, остаётся фактом — WinRT построен на C++.

НС>А какое WinAPI было построено не на С++?

Немалая часть у них построена вообще на C.

ГВ>>У меня разочарования никакого не было. Удивление от происходящего — было

НС>А вот у меня никакого удивления — все было заранее предсказуемо. Еще при живом Гатри я писал, что SL капец и WPF, скорее всего, тоже. Тогда меня ссаными тряпками закидали. Ну и?
НС>Удивление твое, оно от незнания реальной ситуации.

Я никак не пойму, что ты называешь реальной ситуацией?

ГВ>>Я говорю о самой по себе формальной организации

НС>А мне плевать на формальности, мне результат важен.

Ну и плюй на здоровье. Одно другого не отменяет: JCP — всё таки, некоторый формальный фактор, который так или иначе влияет на то, что Oracle сможет вытворять с Java. Фактор не ахти какой, но тем не менее.

НС>>>А хрен ли МС хоронить дотнет?

ГВ>>Никто этого и не говорит. Но некое удивление от политики MS имеет место быть, не более того.
НС>Я тебе еще раз повторю — то что ты принимаешь за политику МС на самом деле мешанина из реальной политики, истерик дилетантов и прочего бушита.

Объясняю — я смотрю на происходящее, как наблюдатель, который просто смотрит и, образно говоря, загибает пальцы — то появилось, это обещалось, то не появилось. Вот сумму таких явлений я и называю политикой. По крайней мере — в данном контексте. Информацию из разнообразных "секретных источников" я никак не могу назвать политикой — этого уже так много было...

НС>Реальная политика сама по себе у МС меняется очень медленно.


Ты хочешь сказать — цели, декларируемые топ-менеджментом? Или что-то другое? Что это такое, эта твоя "реальная" политика ли, ситуация ли?

НС>И это если бы в Метро был SL, тогда действительно можно было бы говорить о каких то ощутимых изменениях. А сейчас, по факту, ничего не изменилось. Скорее наоборот — роль дотнета возросла, так как впервые низкоуровневое API параллельно разрабатывается уже с учетом интересов managed мира.


А где там такой учёт?

НС>>>Ага. Потому что ньюбов в вебе — тотальное и всеподавляющее большинство. И для них собственный баттхерт важнее любых технологий.

ГВ>>ИМХО, это не имеет значения — ньюбы там или ещё кто.
НС>Только это и имеет значение.

Мы о разных вещах говорим. Я — только о самом факте распространённости JS.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[13]: Синофски
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 10.11.11 02:45
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

ГВ>>Как я понял, подразделение Синофски зарабатывает львиную долю денег для MS.

НС>Это не подразделение Синовского, это подразделение МС. И львиную долю денег оно зарабатывало и до его прихода.

Что вижу — о том пою.

ГВ>>И ещё момент касательно истерики и остальной озабоченности будущим .Net. Ты знаешь, я на самом деле куда оптимистичнее тех, кто пишет под .Net (см., например, здесь):

This isn't the case under Ballmer. All that's happening is a fostering of fear, uncertainly and doubt.


НС>И чего? Истериков, если поискать, везде хватает.


Ничего. Ты сам говорил пару постингов назад:

НС>>Это да — с каждой новой виндой истерика "любителей" дотнета возрождается аки феникс.

Я вот тебе и показываю, что истерят вовсе даже не "любители" (сиречь — хулители) дотнета, а люди, вполне даже заинтересованные в его развитии. Кто они такие на самом деле — мне до лампочки.

ГВ>>Да, кстати, на место Баллмера прочат как раз Синофски.

НС>На данный момент — маловероятно. Пока не его уровень. А там посмотрим. Но было бы печально — тактик он превосходный, а вот стратег из него примерно такой же, как и из лысого.

А вот теперь можно вопрос: на каком основании я должен верить тебе? У тебя тоже "секретные каналы"?
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[13]: Dart - The worst of both worlds ?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 10.11.11 03:11
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

ГВ>> И вся информация исходила ну прямо таки из самых самых недр Microsoft от очень доверенных источников.

НС>Да да да. Вот я и говорю — все твои логические построения основаны на воплях непонятных личностей.

А сам-то ты "чьих будешь"?

НС>Причем выбираешь ты только те, что доказывают твои теории, что красноречиво говорит об истинных мотивах.


Ad hominem, и как следствие — не имеет никакого значения.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[13]: Dart - The worst of both worlds ?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 10.11.11 03:56
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

V>>Неправда. Все рассуждения о светлом будущем ГУИ и основных подсистем на основе дотнета исходили преимущественно от MVP и "приближенных".

НС>MVP, они тоже разные бывают.

Знаешь ли, звёздочек на них не нарисовано. Так что, чем один MVP от другого отличается — тайна сия велика есть... Как Неуловимый Джо.

V>> Весь наблюдаемый негатив имеет причиной неисполнение того самого светлого будущего

НС>Весь наблюдаемый здесь и сейчас негатив исходит от тех самых людей, которые исходили негативом по тем же поводам прям с первого релиза дотнета.

Негатив, о котором говорит vdimas исходит как раз от дотнетчиков.

V>>Ну и в чем информация заключается? Что один спец котируется выше другого во внутренней политике? А почему?

НС>А почему devdiv индусы оккупировали, причем до самого верха, а талантливые разработчики оттуда пачками свалили? Почему Балмер во главе корпа?

Так всё таки, какова твоя версия причин победы Синофски над Гатри? Ты не уходи от вопроса.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[14]: уточню
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 10.11.11 04:03
Оценка:
ГВ>Кто они такие на самом деле — мне до лампочки.

В смысле — кто они такие "по сути", "глубокой сущности" и ещё каким-то неведомым характеристикам.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[13]: Dart - The worst of both worlds ?
От: vdimas Россия  
Дата: 10.11.11 14:59
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

V>>результаты которого MS не может применить на собственном десктопе.


НС>Студия вполне работает и даже неплохо.


Ну да, кое-что сугубо узко-нишевое есть. Как и девелоперская консоль к MS SQL на дотнете...

Гораздо важнее, что в оболочке Windows нет WPF, хотя:
a) есть XAML
b) оболочка для Висты и Win7 совершенно новая, те была написана с 0-ля позже выхода WPF.

Эти a и b совместно весьма красноречивы.

V>>MS и пользователями. АПИ W8 ведь не только что родилось, а обкатывалось, начиная с Висты


НС>Круть? И где там в Висте WinRT или Metro?


Ты ни разу не смотрел на АПИ DUI70.dll?

Что есть WinRT? — это пачка довольно-таки независимых библиотек. Та часть, которая обслуживает GUI, давно развивалась и была известна как DirectUI, только не была доступна в публичном виде, хотя через публичный интерфейс IAccessible ковыряется довольно подробно.

V>>Платформу .Net всячески рекламировали, в основном путем раздачи обещаний на "будущее". Т.е. пиши код сейчас, а с новой версией фреймворка он волшебныи образом будет работать заметно быстрее.


НС>МС такого никогда не обещал.


Это нам "втолковывали" местные MVP, которые с семинаров приезжали.


V>> Весь наблюдаемый негатив имеет причиной неисполнение того самого светлого будущего


НС>Весь наблюдаемый здесь и сейчас негатив исходит от тех самых людей, которые исходили негативом по тем же поводам прям с первого релиза дотнета.


Не совсем... Просто если раньше эти же люди выражали лишь скромный скептис по поводу разводимой ньювасюковщины, то теперь они с полным основанием говорят "ага! мы же говорили!".

Ну реально, я фактически весь фреймворк перерыл рефлектором в свое время... Качество кода — просто безобразное. Я бы дал среднему разработчику библиотек фреймворка стаж 3-5 лет, не больше. За дотнетный провайдер MS SQL и парсер его потока надо давать пожизненное отлучение от профессии. А детские баги провайдера соседнего с ним Embedded SQL репортил самолично... там вообще туши свет кидай гранату что творится в коде. И это при том, что если рассматривать MS как одну фирму, а не кучку несвязанных подразделений, то у них есть ОЧЕНЬ эффективный OLEDB провайдер к MS SQL... но нет почему-то преемственности и применения накопленного опыта. Отсюда и скептис.

Это всё в совокупности лишь показывает отношение к дотнету внутри самой MS. Выглядит так, будто это некий имеджевый продукт, с потенциальным прицелом на какое-то отдаленное будущее. Но когда это "будущее" наступит, т.е. когда они возьмутся за эффективность дотнет всерьез — непонятно. Сейчас их, похоже, устраивает ситуация, когда эффективное и отзывчивое пишется на плюсах, а что-нить совершенно некритичное к эффективности — на дотнете.

Ну и напомню о резко изменившемся тренде последних лет. Если в 2002-м все кричали "память и даже лишние тики процессора больше не ресурс"... то теперь, на фоне того, что самый динамично развивающийся сегмент IT — это мобильные и встроенные платформы, толкатели сих лозунгов, мягко говоря, обделались по полной.


НС>А почему devdiv индусы оккупировали, причем до самого верха, а талантливые разработчики оттуда пачками свалили? Почему Балмер во главе корпа?


Компилятор C++ тоже индусы пишут?
Re[16]: Dart - The worst of both worlds ?
От: MxMsk Португалия  
Дата: 11.11.11 09:29
Оценка: -1 :)
Здравствуйте, vdimas, Вы писали:

V>Когда-то, когда WPF только вышел, я весьма нелестно отзывался о способе реализации в нем зависимых свойств. Писал, что это грубый отход от возможностей и самого духа дотнета, настоящий шаг назад в сравнении с самоописываемым подходом, принятым в ComponentModel. Ибо ручная разметка акцессоров — это именно что единственный подход в нейтиве, когда необходимо поддержать рефлексию хоть в каком-то виде. (В данном случае, для построения графа объектов по XAML).

Что имеется ввиду под "ручной разметкой акцессоров" и "самоописываемым подходом"?
Re[16]: Dart - The worst of both worlds ?
От: MxMsk Португалия  
Дата: 11.11.11 10:18
Оценка:
Здравствуйте, vdimas, Вы писали:

V>Когда-то, когда WPF только вышел, я весьма нелестно отзывался о способе реализации в нем зависимых свойств. Писал, что это грубый отход от возможностей и самого духа дотнета, настоящий шаг назад в сравнении с самоописываемым подходом, принятым в ComponentModel. Ибо ручная разметка акцессоров — это именно что единственный подход в нейтиве, когда необходимо поддержать рефлексию хоть в каком-то виде. (В данном случае, для построения графа объектов по XAML).

Я серьезно спросил. Ибо под "ручной разметкой" можно до фига всего понимать, раз. Не очень то эти "акцессоры" (в том виде, в котором я понял) используются WPF, два.
Re[17]: Dart - The worst of both worlds ?
От: vdimas Россия  
Дата: 11.11.11 12:15
Оценка: 11 (1) :)
Здравствуйте, MxMsk, Вы писали:

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


V>>Когда-то, когда WPF только вышел, я весьма нелестно отзывался о способе реализации в нем зависимых свойств. Писал, что это грубый отход от возможностей и самого духа дотнета, настоящий шаг назад в сравнении с самоописываемым подходом, принятым в ComponentModel. Ибо ручная разметка акцессоров — это именно что единственный подход в нейтиве, когда необходимо поддержать рефлексию хоть в каком-то виде. (В данном случае, для построения графа объектов по XAML).

MM>Я серьезно спросил. Ибо под "ручной разметкой" можно до фига всего понимать, раз. Не очень то эти "акцессоры" (в том виде, в котором я понял) используются WPF, два.

Сорри, но эта тема уже обсуждалась лет 5-6 назад... по-быстрому не нашел, на досуге попробую найти и дать ссылки. Мое ИМХО в том, что описание зависимых св-в — это дублирующая функциональность рефлексии + компонентного подхода. Кроме того, неразбериха с ответственностями, на них были взвалены 3 ортогональные задачи.

Навскидку добавлю... Уши порта с С++ торчат еще в самом сценарии использования зависимых св-в для подчиненных компонент вышестоящего контейнера. Например, стоит задача чтения/записи св-в по составному ключу [компонент, св-во]. Для составных ключей применяют 2 dictionary (вернее, два отображения, не имею ввиду сам конкретно объект Dictionary). И если в компонентной модели цепочка их такова: property->component->value (причем, первый порой вовсе не dictionary, а непосредственное обращение, т.к. property известен в compile-time), то зависимые св-ва используют такую цепочку component->property->value. Это вынуждает накрутить целую инфраструктуру вокруг всего этого, для получения property у компонент, где результатом имеем жесткое ограничение на сами компоненты, которые должны поддерживать инфраструктуру зависимых св-в, т.е. обязательно быть наследником определенного типа! Заметь, в компонентной модели такого ограничения НЕТ, а имеющийся на платформе GC легко разруливает "обратность" этой цепочки словарей/зависимостей для случая компонентной модели. А то, что мы видим в WPF — это как раз удобно для систем, которые вынуждены вручную управлять ресурсами, например COM, чтобы с удалением подчиненного элемента вместе с ним удалились зависимые данные.
Re[18]: Dart - The worst of both worlds ?
От: MxMsk Португалия  
Дата: 11.11.11 22:36
Оценка:
Здравствуйте, vdimas, Вы писали:

V>Сорри, но эта тема уже обсуждалась лет 5-6 назад... по-быстрому не нашел, на досуге попробую найти и дать ссылки. Мое ИМХО в том, что описание зависимых св-в — это дублирующая функциональность рефлексии + компонентного подхода. Кроме того, неразбериха с ответственностями, на них были взвалены 3 ортогональные задачи.


V>Навскидку добавлю... Уши порта с С++ торчат еще в самом сценарии использования зависимых св-в для подчиненных компонент вышестоящего контейнера. Например, стоит задача чтения/записи св-в по составному ключу [компонент, св-во]. Для составных ключей применяют 2 dictionary (вернее, два отображения, не имею ввиду сам конкретно объект Dictionary). И если в компонентной модели цепочка их такова: property->component->value (причем, первый порой вовсе не dictionary, а непосредственное обращение, т.к. property известен в compile-time), то зависимые св-ва используют такую цепочку component->property->value. Это вынуждает накрутить целую инфраструктуру вокруг всего этого, для получения property у компонент, где результатом имеем жесткое ограничение на сами компоненты, которые должны поддерживать инфраструктуру зависимых св-в, т.е. обязательно быть наследником определенного типа! Заметь, в компонентной модели такого ограничения НЕТ, а имеющийся на платформе GC легко разруливает "обратность" этой цепочки словарей/зависимостей для случая компонентной модели. А то, что мы видим в WPF — это как раз удобно для систем, которые вынуждены вручную управлять ресурсами, например COM, чтобы с удалением подчиненного элемента вместе с ним удалились зависимые данные.


Интересно, как всё это отвечает на поставленные
Автор: MxMsk
Дата: 11.11.11
мною вопросы?
Re[19]: Dart - The worst of both worlds ?
От: vdimas Россия  
Дата: 12.11.11 16:09
Оценка:
Здравствуйте, MxMsk, Вы писали:

MM>Интересно, как всё это отвечает на поставленные
Автор: MxMsk
Дата: 11.11.11
мною вопросы?


Ну как же...

описание зависимых св-в — это дублирующая функциональность рефлексии + компонентного подхода.


Уже есть в компонентной модели PropertyDescriptor/EventDescriptor с удобным (то бишь абстрактным) получением связанных с ними аттрибутов, чтобы можно было получать эти PropertyInfo как через рефлексию, так и ручками создавать произвольным образом. И так же есть уже отлаженные технология и сценарии использования комовского IExpando или дотнетных ICustomTypeDescriptor/IExtenderProvider. Зачем было городить дубляж ко всему этому, а потом внутрях все-равно обеспечивать интероперабельность со всеми вышеперечисленными артефактами уже имеющейся компонентной модели для целей биндинга (причем, в бете эта интероперабельность хромала на обе ноги, что выглядело странно как минимум)? ИМХО, тут должна была быть серьезная причина, например — минимизация ср-в на разработку, путем порта готовой технологии.

В итоге, читабельность описания 99% обычных св-в компонент явно не соответствует принятому в дотнете отношению многословности и получаемой функциональности... натуральный птичий язык... вместо декларативного одного-двух аттрибутов, как в компонентной модели.

Кстати, нашел довольно содержательное обсуждение по теме http://www.rsdn.ru/forum/dotnet.gui/4014550.1.aspx
Автор: Fortnum
Дата: 27.10.10

Думаю, нет смысла обсуждать это же повторно, тем более, что с того времени я WPF в руки не брал ни разу... Как посмотрел когда-то внимательно на вышедший третий сервелат, так всё с WPF стало понятно... Могу с удовлетворением отметить, что касаемо роли и степени внимания к WPF оказался тогда полностью прав, хоть оппоненты называли его "mainstream для GUI".

И насчет необходимости непосредственной доступности мультимедиа надесктопе — тоже. Достаточно посмотреть на то, что представляет из себя Metro...
Re[20]: Dart - The worst of both worlds ?
От: MxMsk Португалия  
Дата: 12.11.11 18:33
Оценка:
Здравствуйте, vdimas, Вы писали:

V>Уже есть в компонентной модели PropertyDescriptor/EventDescriptor с удобным (то бишь абстрактным) получением связанных с ними аттрибутов, чтобы можно было получать эти PropertyInfo как через рефлексию, так и ручками создавать произвольным образом. И так же есть уже отлаженные технология и сценарии использования комовского IExpando или дотнетных ICustomTypeDescriptor/IExtenderProvider. Зачем было городить дубляж ко всему этому, а потом внутрях все-равно обеспечивать интероперабельность со всеми вышеперечисленными артефактами уже имеющейся компонентной модели для целей биндинга (причем, в бете эта интероперабельность хромала на обе ноги, что выглядело странно как минимум)? ИМХО, тут должна была быть серьезная причина, например — минимизация ср-в на разработку, путем порта готовой технологии.

Послушай, мне нужна вся эта вода. Я прошу дать мне два определения в контексте данного
Автор: vdimas
Дата: 09.11.11
поста. Первое — "ручная разметка акцессоров". Второе — "самоописываемый подход". Неужели это так сложно?
Re[21]: Dart - The worst of both worlds ?
От: vdimas Россия  
Дата: 12.11.11 19:54
Оценка:
Здравствуйте, MxMsk, Вы писали:

MM>Послушай, мне нужна вся эта вода. Я прошу дать мне два определения в контексте данного
Автор: vdimas
Дата: 09.11.11
поста. Первое — "ручная разметка акцессоров". Второе — "самоописываемый подход". Неужели это так сложно?


Я уже как-то сталкивался с подробным тролением с твоей стороны...

Но по делу: очень объемно, если полностью объяснять обе технологии... да и не делают этого здесь никогда, все-таки форум не для домохозяек. Предполагается, что собеседники в курсе о чем идет речь. Если в каждом посте разжевывать все до уровня 0... то обсуждения не получится.

Но чтобы закончить спекуляции, отсылаю для самостоятельного сравнения описания любого популярного св-ва в WinForms, например Background, и аналогичную связку в WPF св-а Background и зависимого св-ва BackgroundProperty, так же сравни способ их использования дизайнерами форм/страниц (конкретней уже некуда, согласись). По результатам сравнения, если что не понятно будет, спрашивай, но уже по-существу. А пока что я не могу предположить, что ты не в курсе, в чем разница описаний св-в там и там, или что не в курсе, как фреймворк формирует список PropertyDescriptor-ов и EventDescriptor-ов для компонентной модели (который способ я и назвал "в духе дотнета") и как это используется для целей визуального дизайна.
Re[22]: Dart - The worst of both worlds ?
От: MxMsk Португалия  
Дата: 12.11.11 20:36
Оценка: :))
Здравствуйте, vdimas, Вы писали:

V>Я уже как-то сталкивался с подробным тролением с твоей стороны...

Да не отмазывайся. Никакого троллинга. Я не хочу спорить. Я прошу, вместо рассуждения о том, как космические корабли бороздят просторы Большого театра, предоставить простое описание двух терминов. Мне не нужны эти огромные посты для девочек, мне не нужна вся эта болтовня в отрыве от конкретики, которая заставляет ретроградов вроде Геннадия (к сожалению) плюсовать твои роскозни. Мне нужны два банальных определения
Re[23]: Dart - The worst of both worlds ?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 12.11.11 21:23
Оценка: +1
Здравствуйте, MxMsk, Вы писали:

V>>Я уже как-то сталкивался с подробным тролением с твоей стороны...

MM>Да не отмазывайся. Никакого троллинга. Я не хочу спорить. Я прошу, вместо рассуждения о том, как космические корабли бороздят просторы Большого театра, предоставить простое описание двух терминов. Мне не нужны эти огромные посты для девочек, мне не нужна вся эта болтовня в отрыве от конкретики, которая заставляет ретроградов вроде Геннадия (к сожалению) плюсовать твои роскозни. Мне нужны два банальных определения

Во-первых, я отмечаю те посты, которые содержат интересную для меня информацию. Скажи что-нибудь интересное, я и твой пост отмечу.

Во-вторых, благодарю за сочувствие в мой адрес, но ты знаешь, да — я ретроград и ни разу этого не стыжусь. Если я знаю старый, проверенный и хорошо работающий способ решить некоторую задачу — я воспользуюсь им, а не тем, что говорят на десять разных голосов. Поскольку я знаю много способов решения многих задач, и известной палитры мне хватает — так "зачем платить больше"?
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[23]: Dart - The worst of both worlds ?
От: vdimas Россия  
Дата: 13.11.11 00:43
Оценка:
Здравствуйте, MxMsk, Вы писали:

V>>Я уже как-то сталкивался с подробным тролением с твоей стороны...

MM>Да не отмазывайся. Никакого троллинга.

Да ну? Тогда дай сначала определение, что значит дать определение двум емким инженерным решениям. Вкратце уже было сказано, даже с примерами. Задавай уточняющие вопросы, что не понятно после отсылки к конкретным примерам и озвучивания ключевых моментов технологий.


MM>Я прошу, вместо рассуждения о том, как космические корабли бороздят просторы Большого театра, предоставить простое описание двух терминов.


Где ты видел термины и космические просторы? Ты всерьез не понял, почему есть предположение насчет порта первых версий с плюсового DirectUI? Или тебя не это интересует, а знакомое слово увидел? Повторюсь, были упомянуты основные характеристики двух разных решений и вкратце их отличия тоже были упомянуты. Спроси конкретно, что ты не понял.


MM>Мне не нужны эти огромные посты для девочек, мне не нужна вся эта болтовня в отрыве от конкретики, которая заставляет ретроградов вроде Геннадия (к сожалению) плюсовать твои роскозни.


Хреновый из тебя тролль, никакого хладнокровия. Это уже нелицеприятная истерика. А ретроградом пока выступаешь ты, регулярно цепляясь за свой островок знаний прикладных аспектов WPF.


MM>Мне нужны два банальных определения


Мало ли кому что нужно... Тебе никто ничего не должен. Хочешь конструктива — изволь проявить конструктив со своей стороны. Спросишь по делу, получишь ответ по делу. Если ты изволил забыться, где находишься, то напомню, что мы инженерные решения обсуждаем, а они терминов обычно не имеют (если не брать устоявшиеся паттерны). Они имеют только словесные и графические описания, степень подробности которых может быть оччень разная. Никак не могу добиться от тебя, какая подробность тебя интересует. Не можешь сформулировать правильно вопросы? Иди тренируйся в нетехническом форуме.
Re[24]: Dart - The worst of both worlds ?
От: MxMsk Португалия  
Дата: 13.11.11 05:07
Оценка:
Здравствуйте, vdimas, Вы писали:

V>Хреновый из тебя тролль, никакого хладнокровия. Это уже нелицеприятная истерика. А ретроградом пока выступаешь ты, регулярно цепляясь за свой островок знаний прикладных аспектов WPF.

Хреновый, конечно, ведь я не троллю Ты видимо просто понять не можешь, что мне нет дела до того, откуда у WPF или еще чего растут ноги. Что толку гадать. В итоге мы имеем, "ручная разметка акцессоров" — это статическое поле с DependencyProperty. Спрашивал я об этом потому, что слово "акцессор" в ДотНете обычно означает методы get/set для свойства. Никакого троллинга, всё просто, меньше надо тараканов в голове держать.

А вот что такое "самоописываемый подход" мне как-то не удалось понять. Перечитываю твои посты по нескольку раз и не могу вычленить, что же это за подход такой, который бы смог обеспечить всю текущую функциональность Dependency Property. Давай рассмотрим сценарий attached behavior. Есть много разных контролов, переделать которые мы никак не можем. Есть простая задача: например мы хотим сделать простой биндинг к значениям, которые можно получить только в каком-нибудь событии этих контролов. Сейчас такое в WPF делается на ура, минут за 30. Как такое сделать в Windows Forms?

Следующий вопрос. У меня есть класс, в нем есть свойство, на изменение которого я хочу реагировать. Оказалось так, что автор класса не озаботился написанием метода OnSomePropertyChanged. Что предлагает в этом случае "самоописываемый подход"? Вешать обработчик через AddValueChanged плохо, потому что компонент навечно окажется в списке ссылок статического класса, следовательно никакой сборки мусора. Предусмотреть для всех контролов некий универсальный метод OnPropertyChanged? Хорошо, как будем проверять, какое именно свойство изменилось? Где взять некоторый идентификатор свойства? PropertyDescriptor? Покажи мне PropertyDescriptor в контракте хотя-бы одного контрола Windows Forms.
Re[24]: Dart - The worst of both worlds ?
От: MxMsk Португалия  
Дата: 13.11.11 06:01
Оценка:
Здравствуйте, vdimas, Вы писали:

V>Хреновый из тебя тролль, никакого хладнокровия. Это уже нелицеприятная истерика. А ретроградом пока выступаешь ты, регулярно цепляясь за свой островок знаний прикладных аспектов WPF.

С цепочками property->component->value тоже не все так просто. По двум причинам:
1. Инфраструктура нужна в любом случае. От чего не отталкивайся, свойства или компонента, присвоить значение в никуда невозможно.
2. Для DependencyProperty цепочку тоже можно начать от свойств. Ибо мы для свойств задаем обработчик изменений, для свойств задаем корректировки и валидацию. От свойств же мы отталкиваемся, перекрывая поведение для нужных нам компонентов.

Хех, да скорее DependencyProperty в большей степени соответствуют порядку property->component->value. Ну, а DependencyObject можно рассматривать как частный случай компонента, имеющего set-аксессор.
Re[14]: Dart - The worst of both worlds ?
От: Ночной Смотрящий Россия  
Дата: 13.11.11 11:59
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

НС>>Ничуть. Как дотнета в винде не было, так его там и нет. Ничего не изменилось.


ГВ>Ну в этом смысле — безусловно.


А, то есть уже какие то альтернативный смыслы в ход пошли?

НС>>Удивление твое, оно от незнания реальной ситуации.

ГВ>Я никак не пойму, что ты называешь реальной ситуацией?

Реальные факты, а не фантастические теории.

ГВ>Ну и плюй на здоровье. Одно другого не отменяет: JCP — всё таки, некоторый формальный фактор, который так или иначе влияет на то, что Oracle сможет вытворять с Java.


Примерчик такого флияния реальный есть?

ГВ>Объясняю — я смотрю на происходящее, как наблюдатель, который просто смотрит и, образно говоря, загибает пальцы — то появилось, это обещалось, то не появилось


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

НС>>И это если бы в Метро был SL, тогда действительно можно было бы говорить о каких то ощутимых изменениях. А сейчас, по факту, ничего не изменилось. Скорее наоборот — роль дотнета возросла, так как впервые низкоуровневое API параллельно разрабатывается уже с учетом интересов managed мира.


ГВ>А где там такой учёт?


Пастернака не читал, но осуждаю. Что ж, ожидаемо.
Re[14]: Dart - The worst of both worlds ?
От: Ночной Смотрящий Россия  
Дата: 13.11.11 12:01
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

НС>>Да да да. Вот я и говорю — все твои логические построения основаны на воплях непонятных личностей.


ГВ>А сам-то ты "чьих будешь"?


А это неважно. Мои высказывания ты в качестве доказательств не приводил.

НС>>Причем выбираешь ты только те, что доказывают твои теории, что красноречиво говорит об истинных мотивах.


ГВ>Ad hominem, и как следствие — не имеет никакого значения.


Ой, вот только не строй из себя идеально конструктивного собеседника. Если я начну фиксировать все твои приемчики, на остальное места не останется, бо у тебя их традиционно фантастическое количество.
Re[14]: Dart - The worst of both worlds ?
От: Ночной Смотрящий Россия  
Дата: 13.11.11 12:06
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

НС>>MVP, они тоже разные бывают.


ГВ>Знаешь ли, звёздочек на них не нарисовано.


Не нарисовано. Но, знаешь ли, у тебя моск есть. И если орел регулярно чушь несет, то неважно, есть у него лычка MVP или нету. А то самые крикливые MVP, если поскрести, на поверку даже основные MVPшные мероприятия ни разу не посещали.

ГВ> Так что, чем один MVP от другого отличается — тайна сия велика есть...


Верится что то с трудом в такое непонимание. Тем же, чем один человек от другого, ваш КО.

ГВ>Негатив, о котором говорит vdimas исходит как раз от дотнетчиков.


Я говорю про этот топик.

НС>>А почему devdiv индусы оккупировали, причем до самого верха, а талантливые разработчики оттуда пачками свалили? Почему Балмер во главе корпа?


ГВ>Так всё таки, какова твоя версия причин победы Синофски над Гатри? Ты не уходи от вопроса.


Не все ли равно? К техническим аспектам это никакого отношения не имеет. Все дело в личностях — Синовский давно и много политикой занимается и весьма поднаторел в этом. А Гатри занимается IT исключительно ради удовлетворения личных интересов, и в политику до сего случая сильно не лез.
Re[25]: Dart - The worst of both worlds ?
От: vdimas Россия  
Дата: 13.11.11 13:54
Оценка:
Здравствуйте, MxMsk, Вы писали:

V>>Хреновый из тебя тролль, никакого хладнокровия. Это уже нелицеприятная истерика. А ретроградом пока выступаешь ты, регулярно цепляясь за свой островок знаний прикладных аспектов WPF.

MM>Хреновый, конечно, ведь я не троллю Ты видимо просто понять не можешь, что мне нет дела до того, откуда у WPF или еще чего растут ноги. Что толку гадать. В итоге мы имеем, "ручная разметка акцессоров" — это статическое поле с DependencyProperty. Спрашивал я об этом потому, что слово "акцессор" в ДотНете обычно означает методы get/set для свойства.

Если этот get/set один на все св-ва, а для доступа к конкретному требуется уникальный объект-описатель св-ва, то именно его я и позволил себе так назвать. Иначе бы та фраза была в несколько раз длиннее, хотя все и так поняли, о чем шла речь. Акцессором я считаю так же потому, что эти уникальные объекты доступны публично. Не напомнишь, почему они не остались на уровне protected?


MM>Никакого троллинга, всё просто, меньше надо тараканов в голове держать.


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

MM>А вот что такое "самоописываемый подход" мне как-то не удалось понять. Перечитываю твои посты по нескольку раз и не могу вычленить, что же это за подход такой, который бы смог обеспечить всю текущую функциональность Dependency Property.


Дык, DependencyProperty, в свою очередь, тоже не всю функциональность обеспечивает, а только заложенную в него. Если что-то выходит за рамки, например, транзакционность изменений групп св-в в рамках одного логического события, то как и везде — ручками.

Еще немного сбивает с толку несколько плохосвязанных задач:
— динамическое расширение набора св-в, дублирует IPropertyProvider, IExpando, а так же динамику 4-го дотнета;
— рефлексия, дублирует встроенную;
— с 0-ля сделали YA диспатчинг, старательно наступив на грабли, которые были побороты еще в ActiveX/DCOM;

Для завязки всей этой функциональности в "единую точку" в WinForms и в WPF есть одноименный объект Binding (связь, связка). Если WinForms сей объект "сам" строится из описаний атрибутов и принятых соглашений, то в WPF мы описываем промежуточную декларативную единицу — DependecyProperty, потеряв легковесность и распределенность подхода ComponentModel (например, в последней можно отфильтровать как сами св-ва для биндинга, так и подкорректировать принадлежащие св-вам аттрибуты, что дает доопределять или переопределять характеристики св-в).


MM>Давай рассмотрим сценарий attached behavior. Есть много разных контролов, переделать которые мы никак не можем. Есть простая задача: например мы хотим сделать простой биндинг к значениям, которые можно получить только в каком-нибудь событии этих контролов. Сейчас такое в WPF делается на ура, минут за 30. Как такое сделать в Windows Forms?


В XAML или в коде? Просто в коде "ручками" это на любой технологии за 5 мин делается, через определение интерфейса Model, к которой осуществляется биндинг (в смысле публичного интерфейса некоего типа, не обязательно interface как тип данных). А если речь о XAML, то это уже поддержка декларативности... И не уверен, что оправданная для такой задачи, бо XAML не очень хорошо смотрится в виде "визуального языка программирования". C# удобнее смотрится для порождения абстракций.


MM>Следующий вопрос. У меня есть класс, в нем есть свойство, на изменение которого я хочу реагировать. Оказалось так, что автор класса не озаботился написанием метода OnSomePropertyChanged.


Значит, это св-во не предназначено для непосредственного биндинга.

MM>Что предлагает в этом случае "самоописываемый подход"? Вешать обработчик через AddValueChanged плохо, потому что компонент навечно окажется в списке ссылок статического класса, следовательно никакой сборки мусора.


Нет, не поэтому плохо.
А потому, что если объект НЕ предоставляет события о внутреннем изменении св-ва, то вешать хук на изменении св-ва извне — это источник популярного бага. Напомню, что бывают св-ва, которые вычисляются при каждом вызове, даже если есть сеттер. В общем, не все св-ва тривиальные, иначе бы не было смысла вводить св-ва взамен публичных полей. Поэтому, зачастую может не быть нотификации, если для вычисления значения св-ва используются внешние опрашиваемые данные, т.е. которые тоже не дают нотификаций. Оставлю за рамками обсуждение кривизны таких решений, но они есть сплошь и рядом в обозреваемых третьесторонних либах. Т.е. при твоей попытке обыграть отсутствие нотификатора в этом случае ты потратишь время на проектирование нетривиального в поиске бага.


MM>Предусмотреть для всех контролов некий универсальный метод OnPropertyChanged?


Для простых сценариев установки значения можно и так, через некий INotifyPropertyChanged. Заметь, что интерфейс, как тип данных, гибче по своей природе. А для сложных сценариев бывает что угодно, вплоть до ручного суспенда биндинга (т.е. диспетчеризации в текущем фрейме), частичного rollback/commit и продолжения затем "обычного" биндинга. Да, согласен, в WPF предусмотрено довольно много популярных сценариев вокруг изменения и валидации св-в, но все предусмотреть априори невозможно.


MM>Хорошо, как будем проверять, какое именно свойство изменилось? Где взять некоторый идентификатор свойства? PropertyDescriptor? Покажи мне PropertyDescriptor в контракте хотя-бы одного контрола Windows Forms.


ICustomTypeDescriptor много где.

Ну и обязательный боксинг значений DependencyProperty тоже как бы намекает, что универсальностью сей подход не страдает, в отличие от ComponentModel, где мы не платим за каждую минимальную операцию только лишь из-за факта использования некоей инфраструктуры. Мне уже подумалось, может оно и правильно, что DependencyObject из WPF завязан сугубо на WPF, что как бы намекает, что не стоит пытаться использовать фреймворк как универсальный общего назначения. В WCF аналогично... на уровне остальных затрат расходы на боксинг не видны под микроскопом... Но это верно лишь в рамках этой задачи, поэтому тамошний брат-близнец DependencyObject тоже доступен лишь в рамках того фреймворка.
Re[25]: Dart - The worst of both worlds ?
От: vdimas Россия  
Дата: 13.11.11 14:11
Оценка:
Здравствуйте, MxMsk, Вы писали:

MM>Хех, да скорее DependencyProperty в большей степени соответствуют порядку property->component->value. Ну, а DependencyObject можно рассматривать как частный случай компонента, имеющего set-аксессор.


Я имел ввиду не логически, а физически, как данные хранятся. Ну и внешний интерфейс, кстати, соответствует тому, как эти данные хранятся. Понятное дело, в обоих случаях (WPF/ComponentModel), когда контейнер награждает подчиненные объекты динамическими св-вами, он именно от целевых св-в пляшет, которые как бы константны, т.к. известны в compile-time и зашиты жестко в алгоритмы, но итерируется-то при этом по зависимым объектам времени исполнения... ИМХО, в компонентной модели такое отношение участников выражено в интерфейсах и их взаимодействии явно, т.е. прямо отражает происходяще. А в WPF мы получили YA реализацию шаблона "динамического объекта". А это залет, положа руку на... Бо совсем не хочется иметь неконтроллируемую компилятором (т.е. вне системы типов) возможность случайно присвоить не тому объекту значение не того св-ва (и испортить тем самым что-нить). В общем, здравствуй динамика во всей красе. В случае расширения по принципу компонентной модели извне нет никакого способа установить не то св-во не того объекта из-за приватной инкапсуляции всей логики вокруг расширяемых св-в и конкретного списка самих объектов конкретного контейнера.
Re[15]: Dart - The worst of both worlds ?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 13.11.11 15:03
Оценка: -1
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>>>Ничуть. Как дотнета в винде не было, так его там и нет. Ничего не изменилось.

ГВ>>Ну в этом смысле — безусловно.
НС>А, то есть уже какие то альтернативный смыслы в ход пошли?

Какие ещё альтернативные смыслы? О чём ты?

НС>>>Удивление твое, оно от незнания реальной ситуации.

ГВ>>Я никак не пойму, что ты называешь реальной ситуацией?
НС>Реальные факты, а не фантастические теории.

Так я этих фактов гору вывалил. Копаться в истории сообщений RSDN не буду, увольте. Если интересно — поищи сам.

ГВ>>Ну и плюй на здоровье. Одно другого не отменяет: JCP — всё таки, некоторый формальный фактор, который так или иначе влияет на то, что Oracle сможет вытворять с Java.

НС>Примерчик такого флияния реальный есть?

У меня нет, спроси у AndrewVK, он, вроде, знает
Автор: AndrewVK
Дата: 07.11.11
. Или AVK я тоже не должен доверять?

ГВ>>Объясняю — я смотрю на происходящее, как наблюдатель, который просто смотрит и, образно говоря, загибает пальцы — то появилось, это обещалось, то не появилось

НС>Ага, при этом ты совершенно не собираешься различать, от кого обещания исходят. И выбираешь исключительно руководствуясь совпадениями с твоими собственными теориями.

С какими ещё теориями? Как раз, что до меня лично, то я считаю, что дотнету, в общем, ничего не угрожает. Просто он становится "не первым". А то, что я тут давеча изливал — так это было так, хихиканье (я сам в этом и расписался).

НС>>>И это если бы в Метро был SL, тогда действительно можно было бы говорить о каких то ощутимых изменениях. А сейчас, по факту, ничего не изменилось. Скорее наоборот — роль дотнета возросла, так как впервые низкоуровневое API параллельно разрабатывается уже с учетом интересов managed мира.

ГВ>>А где там такой учёт?
НС>Пастернака не читал, но осуждаю. Что ж, ожидаемо.

Я хочу услышать твоё мнение.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[15]: Dart - The worst of both worlds ?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 13.11.11 15:04
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>>>MVP, они тоже разные бывают.

ГВ>>Знаешь ли, звёздочек на них не нарисовано.
НС>Не нарисовано. Но, знаешь ли, у тебя моск есть. И если орел регулярно чушь несет, то неважно, есть у него лычка MVP или нету. А то самые крикливые MVP, если поскрести, на поверку даже основные MVPшные мероприятия ни разу не посещали.

А мне оно надо — копаться в отличиях одного MVP от другого? Добро, когда информацию, исходящую от данного MVP я могу проверить сам, а если нет? Остаётся только уповать на его честность. Так что... Хотя спорить не буду — в последнее время лычка MVP уже себя несколько дискредитировала (в моих глазах, во всяком случае).

ГВ>> Так что, чем один MVP от другого отличается — тайна сия велика есть...

НС>Верится что то с трудом в такое непонимание. Тем же, чем один человек от другого, ваш КО.

Ad hominem, мой друг, ad hominem. Дурак тот MVP или нет, несёт время от времени чушь или нет — вопрос четырнадцатый. К примеру, он может нести чушь по техническим вопросам, но при этом точно пересказать чьё-нибудь выступление (опять таки, по той же самой глупости). Так что, ad hominem.

ГВ>>Негатив, о котором говорит vdimas исходит как раз от дотнетчиков.

НС>Я говорю про этот топик.

От кого тут негатив исходит? Люди озвучивают вполне реальные недостатки дотнета и политики MS. Если плюхи есть — то почему их констатация называется "негативом"? Повторюсь, волна воплей в этом году исходила вовсе не от традиционных "ругателей" дотнета.

НС>>>А почему devdiv индусы оккупировали, причем до самого верха, а талантливые разработчики оттуда пачками свалили? Почему Балмер во главе корпа?

ГВ>>Так всё таки, какова твоя версия причин победы Синофски над Гатри? Ты не уходи от вопроса.
НС>Не все ли равно?

Нет, не всё равно.

НС>К техническим аспектам это никакого отношения не имеет. Все дело в личностях — Синовский давно и много политикой занимается и весьма поднаторел в этом. А Гатри занимается IT исключительно ради удовлетворения личных интересов, и в политику до сего случая сильно не лез.


Ну, хорошо. Поясни тогда, пожалуйста, что означает: "давно и много политикой занимается" в данном контексте? В лицах и событиях.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[15]: Dart - The worst of both worlds ?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 13.11.11 15:05
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>>>Да да да. Вот я и говорю — все твои логические построения основаны на воплях непонятных личностей.

ГВ>>А сам-то ты "чьих будешь"?
НС>А это неважно. Мои высказывания ты в качестве доказательств не приводил.

И не собираюсь (пока что, во всяком случае). До тех пор, пока ты не убедишь меня в том, что твои высказывания — это что-то, отличное от очередной порции домыслов: "слышал звон, не понял, о чём он". То есть одно из двух: либо твои доводы принимаются наравне с доводами обруганных тобой MVP, либо (если мы отвергаем доводы MVP, поскольку это плохие MVP, негодные) — ты доказываешь, что уж твои-то доводы куда как ближе к реальности. Как ты это докажешь — не знаю. "Чьих ты будешь" — это, разумеется, подначка, на самом деле меня это не волнует.

На данный момент получается один голос НС против давешнего хора MVP и других любителей дотнета.

НС>>>Причем выбираешь ты только те, что доказывают твои теории, что красноречиво говорит об истинных мотивах.

ГВ>>Ad hominem, и как следствие — не имеет никакого значения.
НС>Ой, вот только не строй из себя идеально конструктивного собеседника. Если я начну фиксировать все твои приемчики, на остальное места не останется, бо у тебя их традиционно фантастическое количество.

Да на здоровье, фиксируй. Только на досуге почитай что-нибудь про некорректную аргументацию, а то уже не смешно. Меня-то ты этим не расстроишь, просто лишние буквы тратить надоедает.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[26]: Dart - The worst of both worlds ?
От: MxMsk Португалия  
Дата: 13.11.11 15:39
Оценка:
Здравствуйте, vdimas, Вы писали:

V>Если этот get/set один на все св-ва, а для доступа к конкретному требуется уникальный объект-описатель св-ва, то именно его я и позволил себе так назвать. Иначе бы та фраза была в несколько раз длиннее, хотя все и так поняли, о чем шла речь. Акцессором я считаю так же потому, что эти уникальные объекты доступны публично. Не напомнишь, почему они не остались на уровне protected?

MM>>Никакого троллинга, всё просто, меньше надо тараканов в голове держать.
V>Да уже понял, что придирка к термину... но это вдвойне троллинг, бо казалось, что ты хотел какие-то технические вещи спросить, хотя и сам ответы знаешь...
Давай я оставлю это без обсуждения, чтобы не продолжать тему троллинга. Ты заблуждаешься насчет меня.

MM>>А вот что такое "самоописываемый подход" мне как-то не удалось понять. Перечитываю твои посты по нескольку раз и не могу вычленить, что же это за подход такой, который бы смог обеспечить всю текущую функциональность Dependency Property.

V>Дык, DependencyProperty, в свою очередь, тоже не всю функциональность обеспечивает, а только заложенную в него. Если что-то выходит за рамки, например, транзакционность изменений групп св-в в рамках одного логического события, то как и везде — ручками.
А что, кто-то сказал, что DependencyProperty может всё?

V>Еще немного сбивает с толку несколько плохосвязанных задач:

V>- динамическое расширение набора св-в, дублирует IPropertyProvider, IExpando, а так же динамику 4-го дотнета;
Нет, не дублирует, а предлагает другой способ. Предлагает возможность расширения без затрагивания расширяемого класса.

V>- рефлексия, дублирует встроенную;

Не соглашусь, потому что в XAML вполне можно задавать и не Dependency свойства.

V>- с 0-ля сделали YA диспатчинг, старательно наступив на грабли, которые были побороты еще в ActiveX/DCOM;

Не знаю, что такое "YA диспатчинг". Буду рад, если напишешь в двух словах.

V>Для завязки всей этой функциональности в "единую точку" в WinForms и в WPF есть одноименный объект Binding (связь, связка). Если WinForms сей объект "сам" строится из описаний атрибутов и принятых соглашений, то в WPF мы описываем промежуточную декларативную единицу — DependecyProperty, потеряв легковесность и распределенность подхода ComponentModel (например, в последней можно отфильтровать как сами св-ва для биндинга, так и подкорректировать принадлежащие св-вам аттрибуты, что дает доопределять или переопределять характеристики св-в).

DependencyProperty не для binding-а вводили. Назначение DependencyProperty — обеспечивать выбор эффективного значения в зависимости от ситуации. По дефолту, из стиля, из биндинга, локально, из анимации. Мне думается в этом и проблема, что ты рассматриваешь эту функциональность только в разере binding-а.

MM>>Давай рассмотрим сценарий attached behavior. Есть много разных контролов, переделать которые мы никак не можем. Есть простая задача: например мы хотим сделать простой биндинг к значениям, которые можно получить только в каком-нибудь событии этих контролов. Сейчас такое в WPF делается на ура, минут за 30. Как такое сделать в Windows Forms?

V>В XAML или в коде? Просто в коде "ручками" это на любой технологии за 5 мин делается, через определение интерфейса Model, к которой осуществляется биндинг (в смысле публичного интерфейса некоего типа, не обязательно interface как тип данных). А если речь о XAML, то это уже поддержка декларативности... И не уверен, что оправданная для такой задачи, бо XAML не очень хорошо смотрится в виде "визуального языка программирования". C# удобнее смотрится для порождения абстракций.
Погоди, никакой модели нет. Речь о контролах. Скажем мне понадобилось сделать простую вещь: хочу при возникновении события вызывать команду. В любом контроле, в любом XAML-е, в коде. Хочу дать такую же возможность пользователем моей библиотеки. Эта задача очень просто решается через написание attached behavior (пример). Интересно, как ее "за 5 минут" сделать в Windows Forms?

MM>>Следующий вопрос. У меня есть класс, в нем есть свойство, на изменение которого я хочу реагировать. Оказалось так, что автор класса не озаботился написанием метода OnSomePropertyChanged.

V>Значит, это св-во не предназначено для непосредственного биндинга.
И снова я не о биндинге. Я наследуюсь от чужого контрола и мне требуется среагировать не изменение.

MM>>Что предлагает в этом случае "самоописываемый подход"? Вешать обработчик через AddValueChanged плохо, потому что компонент навечно окажется в списке ссылок статического класса, следовательно никакой сборки мусора.

V>Нет, не поэтому плохо.
V>А потому, что если объект НЕ предоставляет события о внутреннем изменении св-ва, то вешать хук на изменении св-ва извне — это источник популярного бага. Напомню, что бывают св-ва, которые вычисляются при каждом вызове, даже если есть сеттер. В общем, не все св-ва тривиальные, иначе бы не было смысла вводить св-ва взамен публичных полей. Поэтому, зачастую может не быть нотификации, если для вычисления значения св-ва используются внешние опрашиваемые данные, т.е. которые тоже не дают нотификаций. Оставлю за рамками обсуждение кривизны таких решений, но они есть сплошь и рядом в обозреваемых третьесторонних либах. Т.е. при твоей попытке обыграть отсутствие нотификатора в этом случае ты потратишь время на проектирование нетривиального в поиске бага.
Согласен с этим. И всё же, возможность изменять базовые свойства в DependencyProperty сделана лучше. Для регистрации обработчика нам нужен только идентификатор свойства. Не нужно добавлять в базовый класс виртуальные методы, не нужно писать какой-нибудь доп.метод инициализации свойств. Достаточно предоставить идентификатор. Это очень удобно — сам факт того, что идентификатор свойства имеет отражение в коде.

MM>>Хорошо, как будем проверять, какое именно свойство изменилось? Где взять некоторый идентификатор свойства? PropertyDescriptor? Покажи мне PropertyDescriptor в контракте хотя-бы одного контрола Windows Forms.

V>ICustomTypeDescriptor много где.
Хорошо, есть у меня ICustomTypeDescriptor. Как он поможет мне узнать, что за свойство изменилось?

V>Ну и обязательный боксинг значений DependencyProperty тоже как бы намекает, что универсальностью сей подход не страдает, в отличие от ComponentModel, где мы не платим за каждую минимальную операцию только лишь из-за факта использования некоей инфраструктуры. Мне уже подумалось, может оно и правильно, что DependencyObject из WPF завязан сугубо на WPF, что как бы намекает, что не стоит пытаться использовать фреймворк как универсальный общего назначения. В WCF аналогично... на уровне остальных затрат расходы на боксинг не видны под микроскопом... Но это верно лишь в рамках этой задачи, поэтому тамошний брат-близнец DependencyObject тоже доступен лишь в рамках того фреймворка.

Да, применять DependencyObject в отрыве от WPF не стоит. Поэтому зачастую примеры MVVM используют сочетание POCO объектов и INotifyPropertyChanged. Хотя лично я, по прошествии 3 лет использования WPF, уже не считаю это таким уж необходимым. Биндинг двух DependencyObject работает быстрее, чем через INotifyPropertyChanged. DependencyObject более расширяем и лучше адаптирован под написание UI, где в сущности и нужна ViewModel.
Re[26]: Dart - The worst of both worlds ?
От: MxMsk Португалия  
Дата: 13.11.11 15:46
Оценка:
Здравствуйте, vdimas, Вы писали:

V>Я имел ввиду не логически, а физически, как данные хранятся. Ну и внешний интерфейс, кстати, соответствует тому, как эти данные хранятся. Понятное дело, в обоих случаях (WPF/ComponentModel), когда контейнер награждает подчиненные объекты динамическими св-вами, он именно от целевых св-в пляшет, которые как бы константны, т.к. известны в compile-time и зашиты жестко в алгоритмы, но итерируется-то при этом по зависимым объектам времени исполнения... ИМХО, в компонентной модели такое отношение участников выражено в интерфейсах и их взаимодействии явно, т.е. прямо отражает происходяще. А в WPF мы получили YA реализацию шаблона "динамического объекта". А это залет, положа руку на... Бо совсем не хочется иметь неконтроллируемую компилятором (т.е. вне системы типов) возможность случайно присвоить не тому объекту значение не того св-ва (и испортить тем самым что-нить). В общем, здравствуй динамика во всей красе. В случае расширения по принципу компонентной модели извне нет никакого способа установить не то св-во не того объекта из-за приватной инкапсуляции всей логики вокруг расширяемых св-в и конкретного списка самих объектов конкретного контейнера.

Строго говоря, просто так не присвоишь. Сейчас компиляция XAML проверяет наличие аксессоров в коде, что превращает "невозможное" присваивание в хак. С другой стороны, присвоить не то свойство — это не так уж и страшно, а вот невозможность расширять поведение стандартных контролов без наследования — фича куда более востребованная.
Re[14]: Dart - The worst of both worlds ?
От: Ночной Смотрящий Россия  
Дата: 13.11.11 16:27
Оценка:
Здравствуйте, vdimas, Вы писали:

НС>>Студия вполне работает и даже неплохо.


V>Ну да, кое-что сугубо узко-нишевое есть.


И что там такого узконишевого? Вполне сложное GUI приложение, демонстрирующее, что технические проблемы решаемы.

V> Как и девелоперская консоль к MS SQL на дотнете...


Девелоперская консоль это та же самая студия. Недевелоперская, кстати, тоже на дотнете.

V>Гораздо важнее, что в оболочке Windows нет WPF


Кому важнее? Мне, к примеру, вобщем то пофигу, я оболочку Windows не разрабатываю.

V>b) оболочка для Висты и Win7 совершенно новая, те была написана с 0-ля


Пруфлинк про написание с нуля.

V>Эти a и b совместно весьма красноречивы.


Ага, они красноречиво говорят, что, пока Синовский рулит виндой, дотнета в винде не будет даже в минимальном количестве. При абсолютно любых технических характеристиках самого дотнета.

НС>>Круть? И где там в Висте WinRT или Metro?


V>Ты ни разу не смотрел на АПИ DUI70.dll?


Смотрел. Ничего общего.

V>>>Платформу .Net всячески рекламировали, в основном путем раздачи обещаний на "будущее". Т.е. пиши код сейчас, а с новой версией фреймворка он волшебныи образом будет работать заметно быстрее.


Ссылки в студию.

V>Это нам "втолковывали" местные MVP


Как это удобно — сослаться на мнение стороннего человека и на основании этого обвинить МС.

НС>>Весь наблюдаемый здесь и сейчас негатив исходит от тех самых людей, которые исходили негативом по тем же поводам прям с первого релиза дотнета.


V>Не совсем...


Совсем. Ну ни одного нового имени в этом топике.

V>Ну реально, я фактически весь фреймворк перерыл рефлектором в свое время... Качество кода — просто безобразное.


Качество кода — очень разное. От посредственного до очень высокого. Как и в абсолютно любой другой платформе.

V>Это всё в совокупности лишь показывает отношение к дотнету внутри самой MS.


Как будто внутри самой МС есть большие библиотеки с существенно лучшим кодом.

V>Ну и напомню о резко изменившемся тренде последних лет.


Ни ты ни ГВ пока что никакого тренда на фактах не продемонстрировали. Все ваши "доказательства" сводятся к крикам неназванных MVP.

НС>>А почему devdiv индусы оккупировали, причем до самого верха, а талантливые разработчики оттуда пачками свалили? Почему Балмер во главе корпа?


V>Компилятор C++ тоже индусы пишут?


Без понятия. Но вполне возможно. Никакого приоритета С++ перед C# внутри dev div нет. Более того, внутри Midori даже для низкоуровневых задач используется некая вариация C#. Но это dev div, Раддер и т.п. А там где прямо или косвенно рулит Синовский, там никакого дотнета ни в каком виде не было и нет. Тенденция со времен отодвигания СОМ от основной компонентной платформы неизменная уже 10 лет.
Re[14]: Синофски
От: Ночной Смотрящий Россия  
Дата: 13.11.11 16:29
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>>>Как я понял, подразделение Синофски зарабатывает львиную долю денег для MS.

НС>>Это не подразделение Синовского, это подразделение МС. И львиную долю денег оно зарабатывало и до его прихода.

ГВ>Что вижу — о том пою.


Ну то есть в очередной раз избирательное зрение. Понятно.

НС>>И чего? Истериков, если поискать, везде хватает.


ГВ>Ничего. Ты сам говорил пару постингов назад:

НС>>Это да — с каждой новой виндой истерика "любителей" дотнета возрождается аки феникс.

Я вот тебе и показываю, что истерят вовсе даже не "любители" (сиречь — хулители) дотнета, а люди, вполне даже заинтересованные в его развитии.


Ну да, попадаются и такие.

ГВ> Кто они такие на самом деле — мне до лампочки.


Вот я и говорю — ты крайне неразборчив в источниках информации.

ГВ>А вот теперь можно вопрос: на каком основании я должен верить тебе?


А я тебя разве к этому призываю? Верить надо не мне, а наблюдаемым объективным фактам.
Re[15]: Dart - The worst of both worlds ?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 13.11.11 16:39
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>>>Причем выбираешь ты только те, что доказывают твои теории, что красноречиво говорит об истинных мотивах.

ГВ>>Ad hominem, и как следствие — не имеет никакого значения.
НС>Ой, вот только не строй из себя идеально конструктивного собеседника. Если я начну фиксировать все твои приемчики, на остальное места не останется, бо у тебя их традиционно фантастическое количество.

К стыду своему, не отметил один любопытный момент. Ты здесь по сути говоришь, что если я указываю на некорректность довода, обращённого в свой адрес, то этим пытаюсь в некотором смысле "обелить себя" ("строить идеально конструктивного собеседника"). Так вот, ты заблуждаешься. Констатация некорректности довода означает ровно то, что она означает в буквальном смысле. А всё остальное — это только твои личные индукции.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[15]: Синофски
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 13.11.11 16:48
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

ГВ>>>>Как я понял, подразделение Синофски зарабатывает львиную долю денег для MS.

НС>>>Это не подразделение Синовского, это подразделение МС. И львиную долю денег оно зарабатывало и до его прихода.
ГВ>>Что вижу — о том пою.
НС>Ну то есть в очередной раз избирательное зрение. Понятно.

Сколько времени Синофски возглавляет это подразделение? AFAIK — с 2008-го. Не так уж мало. Продажи при этом, заметь, не упали, а вполне себе возросли. Ну нет, можно, конечно, рассматривать руководителя отдельно, а успехи подразделения отдельно, но это, по-моему, слишком сильное допущение.

НС>>>И чего? Истериков, если поискать, везде хватает.

ГВ>>Ничего. Ты сам говорил пару постингов назад:

НС>>Это да — с каждой новой виндой истерика "любителей" дотнета возрождается аки феникс.

Я вот тебе и показываю, что истерят вовсе даже не "любители" (сиречь — хулители) дотнета, а люди, вполне даже заинтересованные в его развитии.

НС>Ну да, попадаются и такие.

Да их, похоже, нынче большинство.

ГВ>> Кто они такие на самом деле — мне до лампочки.

НС>Вот я и говорю — ты крайне неразборчив в источниках информации.

Mary-Jo Foley пойдёт в качестве источника?

ГВ>>А вот теперь можно вопрос: на каком основании я должен верить тебе?

НС>А я тебя разве к этому призываю? Верить надо не мне, а наблюдаемым объективным фактам.

Дык. Я как раз про сумму фактов и говорю, включая в эту сумму высказывания и MVP, и Mary-Jo. И потом, извини, не ты ли сам стал рассказывать о "реальной картине" внутренних разборок в MS? Если ты не считаешь, что тебе при этом надо верить, то... Что-то путаница какая-то получается, не находишь?
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[15]: Dart - The worst of both worlds ?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 13.11.11 17:11
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>>>Студия вполне работает и даже неплохо.

V>>Ну да, кое-что сугубо узко-нишевое есть.
НС>И что там такого узконишевого? Вполне сложное GUI приложение, демонстрирующее, что технические проблемы решаемы.

Восхитительный довод: сначала создать проблему, а потом показать, что её можно решить. Так и хочется сказать: а нафига козе баян?

V>>Гораздо важнее, что в оболочке Windows нет WPF

НС>Кому важнее? Мне, к примеру, вобщем то пофигу, я оболочку Windows не разрабатываю.

Важнее для оценки отношения к дотнету внутри самой MS.

V>>Эти a и b совместно весьма красноречивы.

НС>Ага, они красноречиво говорят, что, пока Синовский рулит виндой, дотнета в винде не будет даже в минимальном количестве. При абсолютно любых технических характеристиках самого дотнета.

То есть Синофски отказывается создавать себе проблемы, чтобы потом с честью их решить. От, негодяй!

V>>Это нам "втолковывали" местные MVP

НС>Как это удобно — сослаться на мнение стороннего человека и на основании этого обвинить МС.

Эти сторонние люди не раз ссылались на высказывания "самих-самих", на доклады и т.п. Так что, не надо всё сводить к одним лишь MVP.

V>>Ну и напомню о резко изменившемся тренде последних лет.

НС>Ни ты ни ГВ пока что никакого тренда на фактах не продемонстрировали. Все ваши "доказательства" сводятся к крикам неназванных MVP.

Сходи в гугль с ключевым словом "c++ renaissance". Будет тебе и тренд, и тенденция.

НС>>>А почему devdiv индусы оккупировали, причем до самого верха, а талантливые разработчики оттуда пачками свалили? Почему Балмер во главе корпа?

V>>Компилятор C++ тоже индусы пишут?

НС>Без понятия. Но вполне возможно. Никакого приоритета С++ перед C# внутри dev div нет. Более того, внутри Midori даже для низкоуровневых задач используется некая вариация C#. Но это dev div, Раддер и т.п. А там где прямо или косвенно рулит Синовский, там никакого дотнета ни в каком виде не было и нет. Тенденция со времен отодвигания СОМ от основной компонентной платформы неизменная уже 10 лет.


Из того, что ты уже наговорил недвусмысленно следует, что действия Синофски весьма далеки от идиотизма и какого-то нелепого политиканства. Они гораздо ближе к голому рационализму. Пока что, во всяком случае, получается так.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[15]: Источники-2003
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 14.11.11 03:38
Оценка: 18 (1)
Здравствуйте, Ночной Смотрящий, Вы писали:

ГВ>> Кто они такие на самом деле — мне до лампочки.


НС>Вот я и говорю — ты крайне неразборчив в источниках информации.


Был далёкий 2003-й год. Некто Front написал: http://www.rsdn.ru/forum/philosophy/1779973.1.aspx
Автор: Front
Дата: 14.03.06


А сослался он не на что-нибудь, а прямо таки на Ричарда Грэймса, который немало пишет про COM, .Net и одновременно является... MVP.

И это самый Ричард... Предоставим слово ему самому, вернее, его источникам:

John Montgomery, Director of Product Management said the following in 2003:

Put another way, at PDC 2000, Microsoft debuted the .NET Framework, which introduced a new managed programming model on top of our existing Windows operating systems. With Longhorn and WinFX, we're keeping that managed programming model while building new core parts of the OS, such as moving to the Avalon subsystem next to GDI and User.

Michael Wallent, general manager of the Avalon team said in 2003 (on the .NET Show):

One of the most important things when you think about Longhorn is, it's not just another operating system release like Windows XP or Windows 2000. We think about it more like a wave, and the wave is really made up of more than just any one particular thing. Think about the wave being built upon a foundation of a new platform investment that we've made across the board, built on top of the .NET foundation. And then with Longhorn there'll be client releases and a server release.


Неплохо, правда? И источниками были вовсе даже не пешки, и не сами MVP это всё придумывали. Кстати, сам-то Ричард в конце статьи, мягко говоря, недоумевает по поводу расхождения обещаний MS с реальностью. Это, обращаю твоё внимание, 2003-й год, когда "злостный враг .Net" Стивен Синофски ещё возглавлял Office Product Unit (а вот поди ж ты, какие интриги строил! ).
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[27]: Dart - The worst of both worlds ?
От: vdimas Россия  
Дата: 14.11.11 10:01
Оценка:
Здравствуйте, MxMsk, Вы писали:

MM>Строго говоря, просто так не присвоишь. Сейчас компиляция XAML проверяет наличие аксессоров в коде, что превращает "невозможное" присваивание в хак.


А при чем тут XAML? Считай XAML как бонус, дающий возможность пользоваться такой фигней, как дизайнер форм. В первую очередь есть некое АПИ библиотеки, а из XAML оно доступно постольку-поскольку. Например, по опыту WinForms далеко не всегда получалось воспльзоваться дизайнером, иногда приходилось делать ГУИ ручками в рантайм, в зависимости от количества и вида данных. Понятно, что в WPF для этого есть шаблоны данных, но у них тоже есть свои ограничения: например, сложно будет на одной странице использовать разные шаблоны для одних и тех же типов данных, придется изворачиваться в исходной модели данных, чтобы вписаться в предоставляемые ср-ва XAML... Или же не изворачиваться с моделью, а построить ручками...


MM>С другой стороны, присвоить не то свойство — это не так уж и страшно,


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


MM>а вот невозможность расширять поведение стандартных контролов без наследования — фича куда более востребованная.


В WinForms мне было удобно использоваться такую вещь, как событийные аспекты — это маленькие объекты, которые подписываются на малое кол-во событий контрола, и что-то в ответ на эти события делают прямо с контролом: где-то подрисовывают, где-то устанавливают какие-то св-ва и т.д. Имея некий готовый список таких аспектов, я потом нужные навешивал на контролы, т.е. каждый контрол как виноградная гроздь этими аспектами был увешан, и во многих случаях получалось без наследования. Эта идея была подсказана теми самыми "расширителями", например ToolTip, который правильней было бы назвать ToolTipProvider. Отличие лишь в том, что такие провайдеры цепляются ко всем поддерживаемым типам контролов в контейнере, а аспекты навешивались адресно нужным контролам. В ComponentModel и WinForms подписаться на любое изменение св-ва довольно просто и очевидно, т.к. все события-нотификаторы наружу, для WPF тут нужен хелпер, для подписи к нотификациям, т.к. события об изменении св-в наружу не торчат.
Re[27]: Dart - The worst of both worlds ?
От: vdimas Россия  
Дата: 14.11.11 11:05
Оценка:
Здравствуйте, MxMsk, Вы писали:

Хотелось бы таки от гуру WPF услышать мнение насчет:

Не напомнишь, почему они не остались на уровне protected?


А то противоречие... GetValue/SetValue идет как protected, а ключ у нас public.


V>>Еще немного сбивает с толку несколько плохосвязанных задач:

V>>- динамическое расширение набора св-в, дублирует IPropertyProvider, IExpando, а так же динамику 4-го дотнета;
MM>Нет, не дублирует, а предлагает другой способ. Предлагает возможность расширения без затрагивания расширяемого класса.

Этот класс уже "затронут" тем, что должен быть наследован от DependencyObject.

V>>- рефлексия, дублирует встроенную;

MM>Не соглашусь, потому что в XAML вполне можно задавать и не Dependency свойства.

Да, но в первых бетах нельзя было, а потом в WPF перенесли ту же логику из компонентного подхода, поэтому для источников данных WPF в итоге полностью поддерживает соглашения компонентного подхода, т.е. покрывает обе технологии (со стороны источника данных).

V>>- с 0-ля сделали YA диспатчинг, старательно наступив на грабли, которые были побороты еще в ActiveX/DCOM;

MM>Не знаю, что такое "YA диспатчинг". Буду рад, если напишешь в двух словах.

Строго говоря, роутинг + диспатчинг (т.к. события могут идти из другого потока или даже процесса, как в ActiveX out of proc серверах, поэтому к роутингу нужен диспатчинг) — это распространение событий в иерархической системе ГУИ. Активным может быть один элемент, но событие может быть предназначено не ему, а его либо паренту, либо его подчиненному выбранному элементу/элементам. Фишка в том, что "выбранный" и "в фокусе" — это разные вещи. Задача диспатчинга доставить событие заинтересованному объекту. Задача непростая, тут легко зациклиться или наоборот, пропустиь одну из веток графа. В ActiveX получило развитие OnCommand из MFC, где "правила игры" довольно-таки жесткие и клиенту библиотеки трудно что-либо сломать, а WPF, сколько раз с диспатчингом и триггерами игрался, столько раз ломал систему буквально в первые 15 мин. Вот эта легкость что-нить сломать в распространении событий меня покоробила больше всего когда-то. Причем, несколько раз получалось что-то сломать даже не трогая сам диспатчинг и триггера, а просто комбинируя третьесторонние контролы в разных комбинациях вложенности друг в друга. Когда-то я это уже писал тебе...


V>>Для завязки всей этой функциональности в "единую точку" в WinForms и в WPF есть одноименный объект Binding (связь, связка). Если WinForms сей объект "сам" строится из описаний атрибутов и принятых соглашений, то в WPF мы описываем промежуточную декларативную единицу — DependecyProperty, потеряв легковесность и распределенность подхода ComponentModel (например, в последней можно отфильтровать как сами св-ва для биндинга, так и подкорректировать принадлежащие св-вам аттрибуты, что дает доопределять или переопределять характеристики св-в).

MM>DependencyProperty не для binding-а вводили. Назначение DependencyProperty — обеспечивать выбор эффективного значения в зависимости от ситуации. По дефолту, из стиля, из биндинга, локально, из анимации. Мне думается в этом и проблема, что ты рассматриваешь эту функциональность только в разере binding-а.

Справедливости ради, в WinForms похожая схема (посмотри рефлектором), т.е. не установленные явно значения не требуют памяти для хранения, а берутся дефолтные или из парента, но! эта схема там выполняет только эту задачу. Я не зря обращаю внимание, что на DependencyProperty было свалено несколько ортогональных задач, т.е. приписывать какую-то одну "важную" задачу им не стоит.


MM>>>Давай рассмотрим сценарий attached behavior. Есть много разных контролов, переделать которые мы никак не можем. Есть простая задача: например мы хотим сделать простой биндинг к значениям, которые можно получить только в каком-нибудь событии этих контролов. Сейчас такое в WPF делается на ура, минут за 30. Как такое сделать в Windows Forms?

V>>В XAML или в коде? Просто в коде "ручками" это на любой технологии за 5 мин делается, через определение интерфейса Model, к которой осуществляется биндинг (в смысле публичного интерфейса некоего типа, не обязательно interface как тип данных). А если речь о XAML, то это уже поддержка декларативности... И не уверен, что оправданная для такой задачи, бо XAML не очень хорошо смотрится в виде "визуального языка программирования". C# удобнее смотрится для порождения абстракций.
MM>Погоди, никакой модели нет. Речь о контролах. Скажем мне понадобилось сделать простую вещь: хочу при возникновении события вызывать команду. В любом контроле, в любом XAML-е, в коде. Хочу дать такую же возможность пользователем моей библиотеки. Эта задача очень просто решается через написание attached behavior (пример). Интересно, как ее "за 5 минут" сделать в Windows Forms?

Ааа... дык я тебе уже писал год назад:

Пример заключется в том, что PretranslateMessage() хоть и беднее в разы роутинга WPF, но так же дает меньше степеней свободы для глупых ошибок. По крайней мере свой командный фреймворк с поддержкой визуального дизайн-тайм для WinForms был написан когда-то за вечер, в то время как не будь похожей функциональности у WPF, даже не понятно, стоило бы за такое браться, возникни необходимость. Ибо ни одним, ни двумя вечерами тут не обойдешься.

Если ВДРУГ тебе по работе потребуется сделать что-то на ВинФормс и захочется любимую парадигму Command попользовать, обращайся, вышлю, там совсем чуть-чуть кода.
Выглядит это так в дизайнере при редактировании кнопки или меню:


Событие используется только Click, но несложно добавить так же выбор события, на которое реагировать. А свое мнение, насчет легкости добавки подобных примитивных вещей в WinForms и в WPF уже высказывал там же: http://www.rsdn.ru/forum/flame.comp/4030351.1.aspx
Автор: vdimas
Дата: 09.11.10


Т.е. для меня сей вывод из WPF печален: предоставляя больше возможностей и реализованных сценариев "из коробки", сложно что-либо добавлять свое, не поддерживаемое коробочной функциональностью. Идеология ComponentModel ровно наоборот — даны простые правила игры, и можно навертеть что угодно относительно дешево.


MM>>>Следующий вопрос. У меня есть класс, в нем есть свойство, на изменение которого я хочу реагировать. Оказалось так, что автор класса не озаботился написанием метода OnSomePropertyChanged.

V>>Значит, это св-во не предназначено для непосредственного биндинга.
MM>И снова я не о биндинге. Я наследуюсь от чужого контрола и мне требуется среагировать не изменение.

Те же яйца в профиль: тогда должна быть доступная для переопределения OnXXXPropertyChanged, если это не DependencyObject. А если ее нет, то св-во не предназначено для реагирования для его изменения, оно, значит, частично или полностью вычисляемое.

V>>А потому, что если объект НЕ предоставляет события о внутреннем изменении св-ва, то вешать хук на изменении св-ва извне — это источник популярного бага. Напомню, что бывают св-ва, которые вычисляются при каждом вызове, даже если есть сеттер. В общем, не все св-ва тривиальные, иначе бы не было смысла вводить св-ва взамен публичных полей. Поэтому, зачастую может не быть нотификации, если для вычисления значения св-ва используются внешние опрашиваемые данные, т.е. которые тоже не дают нотификаций. Оставлю за рамками обсуждение кривизны таких решений, но они есть сплошь и рядом в обозреваемых третьесторонних либах. Т.е. при твоей попытке обыграть отсутствие нотификатора в этом случае ты потратишь время на проектирование нетривиального в поиске бага.

MM>Согласен с этим. И всё же, возможность изменять базовые свойства в DependencyProperty сделана лучше. Для регистрации обработчика нам нужен только идентификатор свойства. Не нужно добавлять в базовый класс виртуальные методы, не нужно писать какой-нибудь доп.метод инициализации свойств. Достаточно предоставить идентификатор. Это очень удобно — сам факт того, что идентификатор свойства имеет отражение в коде.

INotiryPrpoertyChanged имеет такую же идеологию. Только идентификатор строковый. Я ведь всегда ЗА, когда есть какая-нить полезная функциональность, но против, когда эта функциональность одновременно выступает ограничением. Все, что ты говоришь, могло идти как библиотечная реализация, не накладывающая ограничений на другие объекты, т.е. в духе ComponentModel аспекты надо было разнести по интерфейсам, завязавшись только на них, чтобы где что-то надо сделать по-своему — не было проблем... А теперь, я вижу СКОЛЬКО вопросов и какие по характеру возникают по WPF в разделе Net GUI форума и делаю вывод, что эта библиотека не очень удобна разработчикам.


MM>>>Хорошо, как будем проверять, какое именно свойство изменилось? Где взять некоторый идентификатор свойства? PropertyDescriptor? Покажи мне PropertyDescriptor в контракте хотя-бы одного контрола Windows Forms.

V>>ICustomTypeDescriptor много где.
MM>Хорошо, есть у меня ICustomTypeDescriptor. Как он поможет мне узнать, что за свойство изменилось?

Это уже второй вопрос, не к контракту, а к функциональности. А функциональность — это библиотечное дело.


MM>Биндинг двух DependencyObject работает быстрее, чем через INotifyPropertyChanged.


INotifyPropertyChanged — лишь один из механизмов. Но твой биндинг не может работать быстрее, чем приятно в соглашениях ComponentModel насчет event XXXPropertychanged. Да и каждое обращение к св-ву — это обращение к dictionary, где уж тут быстрее?

MM>DependencyObject более расширяем и лучше адаптирован под написание UI, где в сущности и нужна ViewModel.


Скорее не так. Он оправдан там, где св-в у объектов много, а реально выставляется малое их кол-во. Тогда вся система вокруг дефолтных пропертей или из стилей показывает весь свой профит. Но про стили мы тоже как-то уже проходились, если ты помнишь то обсуждение насчет сравнения с возможностями системы стилей CSS... Неохота повторяться, но вывод такой, что стили в WPF — суть набор императивных действий, а не каскадное декларативное описание, с тосно таким же профитом насчет каскадности описаний дефолтных значений св-в как для HTML. Без этой вот каскадности идея дефолтных значений не доведена до ума.
Re[28]: Dart - The worst of both worlds ?
От: MxMsk Португалия  
Дата: 14.11.11 11:18
Оценка:
Здравствуйте, vdimas, Вы писали:

MM>>Строго говоря, просто так не присвоишь. Сейчас компиляция XAML проверяет наличие аксессоров в коде, что превращает "невозможное" присваивание в хак.

V>А при чем тут XAML? Считай XAML как бонус, дающий возможность пользоваться такой фигней, как дизайнер форм. В первую очередь есть некое АПИ библиотеки, а из XAML оно доступно постольку-поскольку. Например, по опыту WinForms далеко не всегда получалось воспльзоваться дизайнером, иногда приходилось делать ГУИ ручками в рантайм, в зависимости от количества и вида данных. Понятно, что в WPF для этого есть шаблоны данных, но у них тоже есть свои ограничения: например, сложно будет на одной странице использовать разные шаблоны для одних и тех же типов данных, придется изворачиваться в исходной модели данных, чтобы вписаться в предоставляемые ср-ва XAML... Или же не изворачиваться с моделью, а построить ручками...
Если речь не о XAML, то не стоит волноваться. Безусловно, я могу любому компоненту написать SetValue с указанием "левого" свойства. Это такая же проблема, как while(true) — исключительно на сознательности программиста. Принято создавать CLR-ное свойство вокруг SetValue/GetValue, с которым большинство и работает. Непосредственно SetValue и GetValue используют для attached свойств, а у них от природы ложиться туда, где их не ждут.

MM>>С другой стороны, присвоить не то свойство — это не так уж и страшно,

V>Если это св-во не использовалось другим каким-нить компонентом, то это всего один баг (потеря значения), а если мы что-то кому-то испортили, то это уже два бага в одном.
От этого не защитят и обычные свойства.

MM>>а вот невозможность расширять поведение стандартных контролов без наследования — фича куда более востребованная.

V>В WinForms мне было удобно использоваться такую вещь, как событийные аспекты — это маленькие объекты, которые подписываются на малое кол-во событий контрола, и что-то в ответ на эти события делают прямо с контролом: где-то подрисовывают, где-то устанавливают какие-то св-ва и т.д. Имея некий готовый список таких аспектов, я потом нужные навешивал на контролы, т.е. каждый контрол как виноградная гроздь этими аспектами был увешан, и во многих случаях получалось без наследования. Эта идея была подсказана теми самыми "расширителями", например ToolTip, который правильней было бы назвать ToolTipProvider. Отличие лишь в том, что такие провайдеры цепляются ко всем поддерживаемым типам контролов в контейнере, а аспекты навешивались адресно нужным контролам. В ComponentModel и WinForms подписаться на любое изменение св-ва довольно просто и очевидно, т.к. все события-нотификаторы наружу, для WPF тут нужен хелпер, для подписи к нотификациям, т.к. события об изменении св-в наружу не торчат.
Вообще то нет. В WPF контролы также имеет нотификации об изменениях свойств, если это предусмотрел автор. Также как и в WinForms. Если не хватит, можно прицепить Binding.
Re[15]: Dart - The worst of both worlds ?
От: vdimas Россия  
Дата: 14.11.11 12:05
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>>>Студия вполне работает и даже неплохо.


V>>Ну да, кое-что сугубо узко-нишевое есть.


НС>И что там такого узконишевого? Вполне сложное GUI приложение, демонстрирующее, что технические проблемы решаемы.


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


V>>b) оболочка для Висты и Win7 совершенно новая, те была написана с 0-ля


НС>Пруфлинк про написание с нуля.


Пруфилинк заключается в сильно обновленном Shell API, а так же в том, что десктопное окно и окна эксплорера, а так же фреймы обычных окон рисуются явно на DirectX Surface, бо такую отзывчивость тех же операций на классическом GDI не получить. Так же отсылаю к значительным (я бы сказал, ломающим и революционным) изменениям в DirectX 10.0 (в сравнении со всеми остальными изменениями версий от 5 до 9), специально для Висты. ИМХО, там резко улучшилось взаимодействие HDC и DirectX Surface, т.е. стало удобней из всех поз получать первое из второго, т.е. рисовать легаси-кодом прямо на DirectX поверхности. Отличия версии 11 (для Win7) от 10 опять незначительные, т.е. не ломают сам принцип использования DirectX, как это было при переходе 9 -> 10.


V>>Эти a и b совместно весьма красноречивы.


НС>Ага, они красноречиво говорят, что, пока Синовский рулит виндой, дотнета в винде не будет даже в минимальном количестве. При абсолютно любых технических характеристиках самого дотнета.


Плохо верится в эту самую "абсолютность". Если характеристики начнут не уступать тому, что делает современный их компилятор С++, ситуация поменяется оч быстро. Вряд ли на таком уровне сидят совсем уж дураки. А пока я вижу, что они борятся за эффективность даже в нейтиве в новых версиях win8, известная ссылка его доклада насчет технологий уплотнения памяти пробегала тут многократно.


V>>Ты ни разу не смотрел на АПИ DUI70.dll?


НС>Смотрел. Ничего общего.


Я вижу практически такое же АПИ основных контролов. Хотя формат XAML отличается от формата DirectUI XML, но это разница в парсере другого XAML, т.е. не такая уж принципиальная, в сравнении с трудоемкостью разработки самой windowless GUI библиотеки.


V>>>>Платформу .Net всячески рекламировали, в основном путем раздачи обещаний на "будущее". Т.е. пиши код сейчас, а с новой версией фреймворка он волшебныи образом будет работать заметно быстрее.


НС>Ссылки в студию.


Скажем так, этого человека я уважаю здесь за другие его посты по делу, не касательные холиваров, так что предлагаю поверить мне на слово или найти самому.


НС>Как это удобно — сослаться на мнение стороннего человека и на основании этого обвинить МС.


В принципе да... это касается конкретно форумов этого сайта больше, чем MS. Слишком уж высокий был градус со стороны рекламистов дотнета когда-то... Но мы же на этом же форуме сейчас продолжаем, верно?


V>>Это всё в совокупности лишь показывает отношение к дотнету внутри самой MS.


НС>Как будто внутри самой МС есть большие библиотеки с существенно лучшим кодом.


Хотя бы ATL, весьма грамотная разработка. Думаю и MFC могли бы переделать, если бы не эта вся та же самая проклятая совместимость с версиями, разработанными еще на первых компиляторах С++.


V>>Ну и напомню о резко изменившемся тренде последних лет.


НС>Ни ты ни ГВ пока что никакого тренда на фактах не продемонстрировали. Все ваши "доказательства" сводятся к крикам неназванных MVP.


Ориентация Win8 на широкий класс устройств — тоже демонстрация этого тренда. Масштабируемость начинает быть требованием по-умолчанию. А дотнет этим не страдает, он плохо работает на маленьких устройствах, и не умеет выжимать все из больших (где десятки ядер).

НС>>>А почему devdiv индусы оккупировали, причем до самого верха, а талантливые разработчики оттуда пачками свалили? Почему Балмер во главе корпа?


V>>Компилятор C++ тоже индусы пишут?


НС>Без понятия. Но вполне возможно. Никакого приоритета С++ перед C# внутри dev div нет.


Не знаю, я много исследовал примерно 3 года назад бинарный код, который после JIT или после ngen, с тем, что генерит на аналогичное компилятор С++, чтобы понять разницу в быстродействии в 3-5 раз для целей обработки сигналов... Ну там просто несравнимое генерируемое кач-во кода, поэтому я и уверен, что JIT-подсистеме и ngen-у уделяется внимание, сравнимое с выделяемым компилятору С++.


НС>Более того, внутри Midori даже для низкоуровневых задач используется некая вариация C#.


Мне показалось, что его забросили в пользу BarrelFish. А последний вообще открыли, что показывает степень коммерческой заинтересованности.


НС>Тенденция со времен отодвигания СОМ от основной компонентной платформы неизменная уже 10 лет.


Дотнет удобен, но его характеристики недалеко ушли от явовских. ИМХО, до тех пор, пока будет целью ставится конкуренция с явой — ничего не изменится. Мне, как инженеру, совершенно непонятно, чем оптимизация на этапе ngen должна отличаться от оптимизаци нативного приложения. Я понимаю, требования GC и прочего, но я специально исследовал случаи, когда на стеке располагаю исключительно свои value-типы, представляющие из себя состояния фильтров сигналов, т.е не подключаю ничего такого, чтобы бы требовало специального обсуживания фреймов стека для целей GC — и не вижу множества возможных оптимизаций в сравнении с кодом от компилятора С++.
Re[29]: Dart - The worst of both worlds ?
От: vdimas Россия  
Дата: 14.11.11 12:18
Оценка:
Здравствуйте, MxMsk, Вы писали:

MM>>>С другой стороны, присвоить не то свойство — это не так уж и страшно,

V>>Если это св-во не использовалось другим каким-нить компонентом, то это всего один баг (потеря значения), а если мы что-то кому-то испортили, то это уже два бага в одном.
MM>От этого не защитят и обычные свойства.

Ты не можешь у обычных св-в вызвать несуществующее св-во или испортить расширяемое св-во некоторого компонента-расширителя.
Re[28]: Dart - The worst of both worlds ?
От: MxMsk Португалия  
Дата: 14.11.11 13:06
Оценка:
Здравствуйте, vdimas, Вы писали:

V>Хотелось бы таки от гуру WPF услышать мнение насчет:

V>Не напомнишь, почему они не остались на уровне protected?
V>А то противоречие... GetValue/SetValue идет как protected, а ключ у нас public.
Мнение, что GetValue и SetValue имеют модификатор доступа public

V>>>Еще немного сбивает с толку несколько плохосвязанных задач:

V>>>- динамическое расширение набора св-в, дублирует IPropertyProvider, IExpando, а так же динамику 4-го дотнета;
MM>>Нет, не дублирует, а предлагает другой способ. Предлагает возможность расширения без затрагивания расширяемого класса.
V>Этот класс уже "затронут" тем, что должен быть наследован от DependencyObject.
Хорошо, предлагает возможность расширения любого класса, унаследованного от DependencyObject, не затрагивая реализацию. Это не отменяет того факта, что здесь не дублирование, а попытка решить задачу более удобным способом, на уровне по понятным причинам не затрагивающим весь .Net.

V>>>- рефлексия, дублирует встроенную;

MM>>Не соглашусь, потому что в XAML вполне можно задавать и не Dependency свойства.
V>Да, но в первых бетах нельзя было, а потом в WPF перенесли ту же логику из компонентного подхода, поэтому для источников данных WPF в итоге полностью поддерживает соглашения компонентного подхода, т.е. покрывает обе технологии (со стороны источника данных).
Получается, что не дублирует, а поддерживает как новый подход, так и старый. Это более чем логично, учитывая, что WPF живет не обособленно, и должна поддерживать и обычные классы .Net.

V>>>- с 0-ля сделали YA диспатчинг, старательно наступив на грабли, которые были побороты еще в ActiveX/DCOM;

MM>>Не знаю, что такое "YA диспатчинг". Буду рад, если напишешь в двух словах.
V>Строго говоря, роутинг + диспатчинг (т.к. события могут идти из другого потока или даже процесса, как в ActiveX out of proc серверах, поэтому к роутингу нужен диспатчинг) — это распространение событий в иерархической системе ГУИ. Активным может быть один элемент, но событие может быть предназначено не ему, а его либо паренту, либо его подчиненному выбранному элементу/элементам. Фишка в том, что "выбранный" и "в фокусе" — это разные вещи. Задача диспатчинга доставить событие заинтересованному объекту. Задача непростая, тут легко зациклиться или наоборот, пропустиь одну из веток графа. В ActiveX получило развитие OnCommand из MFC, где "правила игры" довольно-таки жесткие и клиенту библиотеки трудно что-либо сломать, а WPF, сколько раз с диспатчингом и триггерами игрался, столько раз ломал систему буквально в первые 15 мин. Вот эта легкость что-нить сломать в распространении событий меня покоробила больше всего когда-то. Причем, несколько раз получалось что-то сломать даже не трогая сам диспатчинг и триггера, а просто комбинируя третьесторонние контролы в разных комбинациях вложенности друг в друга. Когда-то я это уже писал тебе...
Я не могу из этого сделать никакого вывода. Кто-то где-то когда-то во что-то игрался — у него не получалось... Ну допустим! А как надо было сделать?

V>>>Для завязки всей этой функциональности в "единую точку" в WinForms и в WPF есть одноименный объект Binding (связь, связка). Если WinForms сей объект "сам" строится из описаний атрибутов и принятых соглашений, то в WPF мы описываем промежуточную декларативную единицу — DependecyProperty, потеряв легковесность и распределенность подхода ComponentModel (например, в последней можно отфильтровать как сами св-ва для биндинга, так и подкорректировать принадлежащие св-вам аттрибуты, что дает доопределять или переопределять характеристики св-в).

MM>>DependencyProperty не для binding-а вводили. Назначение DependencyProperty — обеспечивать выбор эффективного значения в зависимости от ситуации. По дефолту, из стиля, из биндинга, локально, из анимации. Мне думается в этом и проблема, что ты рассматриваешь эту функциональность только в разере binding-а.
V>Справедливости ради, в WinForms похожая схема (посмотри рефлектором), т.е. не установленные явно значения не требуют памяти для хранения, а берутся дефолтные или из парента, но! эта схема там выполняет только эту задачу. Я не зря обращаю внимание, что на DependencyProperty было свалено несколько ортогональных задач, т.е. приписывать какую-то одну "важную" задачу им не стоит.
Не получается. В WinForms нет схемы источников. В WinForms есть хэш-таблица с ключами свойств, сделанная в первую очередь для экономии памяти, потому что свойств дофига, а используются немногие. В случае DependencyProperty экономия просто бонус, есть же у WPF объектов и не dependency свойства. Сочетания разных источников — вот главная цель DependencyProperty. Им это не я приписываю, а авторы книг по WPF и очевидно сама Microsoft

MM>>>>Давай рассмотрим сценарий attached behavior. Есть много разных контролов, переделать которые мы никак не можем. Есть простая задача: например мы хотим сделать простой биндинг к значениям, которые можно получить только в каком-нибудь событии этих контролов. Сейчас такое в WPF делается на ура, минут за 30. Как такое сделать в Windows Forms?

V>>>В XAML или в коде? Просто в коде "ручками" это на любой технологии за 5 мин делается, через определение интерфейса Model, к которой осуществляется биндинг (в смысле публичного интерфейса некоего типа, не обязательно interface как тип данных). А если речь о XAML, то это уже поддержка декларативности... И не уверен, что оправданная для такой задачи, бо XAML не очень хорошо смотрится в виде "визуального языка программирования". C# удобнее смотрится для порождения абстракций.
MM>>Погоди, никакой модели нет. Речь о контролах. Скажем мне понадобилось сделать простую вещь: хочу при возникновении события вызывать команду. В любом контроле, в любом XAML-е, в коде. Хочу дать такую же возможность пользователем моей библиотеки. Эта задача очень просто решается через написание attached behavior (пример). Интересно, как ее "за 5 минут" сделать в Windows Forms?
V>Ааа... дык я тебе уже писал год назад:
Стоило глянуть ссылочку. Там совсем не про команды речь, но зато объясняется суть attached behavior. Команды — это только пример. У меня есть и другие примочки. В чем то это аналогично твоим "событийным аспектам".

V>

V>Пример заключется в том, что PretranslateMessage() хоть и беднее в разы роутинга WPF, но так же дает меньше степеней свободы для глупых ошибок. По крайней мере свой командный фреймворк с поддержкой визуального дизайн-тайм для WinForms был написан когда-то за вечер, в то время как не будь похожей функциональности у WPF, даже не понятно, стоило бы за такое браться, возникни необходимость. Ибо ни одним, ни двумя вечерами тут не обойдешься.

V>Если ВДРУГ тебе по работе потребуется сделать что-то на ВинФормс и захочется любимую парадигму Command попользовать, обращайся, вышлю, там совсем чуть-чуть кода.
Тяжело с тобой. И откуда столько предвзятости...

V>Событие используется только Click, но несложно добавить так же выбор события, на которое реагировать. А свое мнение, насчет легкости добавки подобных примитивных вещей в WinForms и в WPF уже высказывал там же: http://www.rsdn.ru/forum/flame.comp/4030351.1.aspx
Автор: vdimas
Дата: 09.11.10

Команды в WPF и так есть, незачем их туда добавлять. Вообще да, у меня код для команд писался не один вечер. Только это потому, что он поддерживает передачу параметров через Binding и умеет прикрепляться не только к маршрутизируемым, но и к CLR-событиям. Если сузить задачу до простого вызова команды по клику, то, гм, полчаса, не более. И, кстати, помнится тогда ты писал, что на обдумывание у тебя отнюдь не один вечер ушел. Я разрабатывал эту фичу параллельно с другими задачами и еще возился с некоторыми вверенными мне разработчиками. К тому же, это был мой первый опыт использования FreezableCollection. Теперь гляжу, может суммарно чистого времени там такой же вечер и получился...

V>Т.е. для меня сей вывод из WPF печален: предоставляя больше возможностей и реализованных сценариев "из коробки", сложно что-либо добавлять свое, не поддерживаемое коробочной функциональностью. Идеология ComponentModel ровно наоборот — даны простые правила игры, и можно навертеть что угодно относительно дешево.

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

MM>>Согласен с этим. И всё же, возможность изменять базовые свойства в DependencyProperty сделана лучше. Для регистрации обработчика нам нужен только идентификатор свойства. Не нужно добавлять в базовый класс виртуальные методы, не нужно писать какой-нибудь доп.метод инициализации свойств. Достаточно предоставить идентификатор. Это очень удобно — сам факт того, что идентификатор свойства имеет отражение в коде.

V>INotiryPrpoertyChanged имеет такую же идеологию. Только идентификатор строковый. Я ведь всегда ЗА, когда есть какая-нить полезная функциональность, но против, когда эта функциональность одновременно выступает ограничением. Все, что ты говоришь, могло идти как библиотечная реализация, не накладывающая ограничений на другие объекты, т.е. в духе ComponentModel аспекты надо было разнести по интерфейсам, завязавшись только на них, чтобы где что-то надо сделать по-своему — не было проблем... А теперь, я вижу СКОЛЬКО вопросов и какие по характеру возникают по WPF в разделе Net GUI форума и делаю вывод, что эта библиотека не очень удобна разработчикам.
Эка ты скачешь! Вот недавно поднял устаревшую ветку про темы. Не подскажешь, как ComponentModel поможет ее решить? Что до форума .Net GUI в целом, то куча запросов там однотипны и зачастую являются следствием банального незнания технологии. Другая половина — в основном игры разума вокруг MVVM. Реально сложных проблем немного. Да, и еще такой момент: по Windows Forms там запросов никак не меньше

MM>>>>Хорошо, как будем проверять, какое именно свойство изменилось? Где взять некоторый идентификатор свойства? PropertyDescriptor? Покажи мне PropertyDescriptor в контракте хотя-бы одного контрола Windows Forms.

V>>>ICustomTypeDescriptor много где.
MM>>Хорошо, есть у меня ICustomTypeDescriptor. Как он поможет мне узнать, что за свойство изменилось?
V>Это уже второй вопрос, не к контракту, а к функциональности. А функциональность — это библиотечное дело.
Ну, т.е. правильный ответ — никак. Сиди сравнивай строчки, если автор озаботился их написанием и аккуратно следит за переименованием. По факту эта компонентная модель годится только для декларативного биндинга и дизайнера форм. Всё. Использование ее в коде — это полнейший геморрой.

MM>>Биндинг двух DependencyObject работает быстрее, чем через INotifyPropertyChanged.

V>INotifyPropertyChanged — лишь один из механизмов. Но твой биндинг не может работать быстрее, чем приятно в соглашениях ComponentModel насчет event XXXPropertychanged. Да и каждое обращение к св-ву — это обращение к dictionary, где уж тут быстрее?
Хитрость в том, что Binding может работать с DependencyProperty без Reflection.

MM>>DependencyObject более расширяем и лучше адаптирован под написание UI, где в сущности и нужна ViewModel.

V>Скорее не так. Он оправдан там, где св-в у объектов много, а реально выставляется малое их кол-во. Тогда вся система вокруг дефолтных пропертей или из стилей показывает весь свой профит. Но про стили мы тоже как-то уже проходились, если ты помнишь то обсуждение насчет сравнения с возможностями системы стилей CSS... Неохота повторяться, но вывод такой, что стили в WPF — суть набор императивных действий, а не каскадное декларативное описание, с тосно таким же профитом насчет каскадности описаний дефолтных значений св-в как для HTML. Без этой вот каскадности идея дефолтных значений не доведена до ума.
Я говорю о POCO vs DependencyObject в сценариях MVVM, а ты меня уводишь в сторону стилей. Потому я и жалуюсь, что ты пишешь очень много, но контекст постоянно плавающий. Вывести, что реально хочешь сказать сложно, по сто раз читать приходится.
Re[30]: Dart - The worst of both worlds ?
От: MxMsk Португалия  
Дата: 14.11.11 13:08
Оценка:
Здравствуйте, vdimas, Вы писали:

V>Ты не можешь у обычных св-в вызвать несуществующее св-во или испортить расширяемое св-во некоторого компонента-расширителя.

Переведи. Лучше с примером.
Re[29]: Dart - The worst of both worlds ?
От: vdimas Россия  
Дата: 14.11.11 17:44
Оценка:
Здравствуйте, MxMsk, Вы писали:

V>>Т.е. для меня сей вывод из WPF печален: предоставляя больше возможностей и реализованных сценариев "из коробки", сложно что-либо добавлять свое, не поддерживаемое коробочной функциональностью. Идеология ComponentModel ровно наоборот — даны простые правила игры, и можно навертеть что угодно относительно дешево.

MM>Пока что я не увидел никакого преимущества ComponentModel. Пока что я наблюдаю... ох, тут меня снова обвинят в троллинге, но пока что я наблюдаю, ты с WPF знаком далеко не на таком высоком уровне, как сам себе представляешь.

Да уже и не буду, похоже. Ни разу не смог принять решение, делать на нем какой-нить ГУИ, по целому списку причин. Самая главная причина, конечно же, что итоговая трудоемкость получится больше, для чего-то нетривиального. А все вещи, которые действительно в WPF в шаговой доступности — это произвольное "вкладывание" контролов друг в друга, или параметризируемость стилей отображения, всё это почему-то не столь важно для приложения, где не надо ни контролы друг в друга вставлять, ни стилями играть (максимум палитрой).

Да и способ изучения библиотек у меня свой. Я изучаю что именно позволяют библиотеки, и в какую трудоемкость обходятся моменты, отходящие в сторону от данных из коробки. Например, сравнив реализацию роутинга рефлектором в WPF и свою, причем, срвним очень внимательно (надо же было разобраться, откуда столько кода), я получил представление, во что будут обходиться любые свои навороты. Так же экспериментировал с отображением (не из файла, а из произвольного потока) и захватом видео. Ничего лучше, чем бросить на WPF страницу WinForms контрол в итоге не получилось. И так во всем, что мне реально требовалось... А все эти эффекты вокруг рамок, или списки в виде "каруселей"... ну несерьезно, малость, да еще ценой такой долгой загрузки приложений.

Посмотрим на скорость загрузки нативных Metro-приложений и доступности непосредственного использования любого АПИ, например DirectX. Если не будет проблем ни с первым, ни с вторым, то будет использовано в будущих разработках... Так что, конкретно WPF пролетает в любом случае.

MM>Да, и еще такой момент: по Windows Forms там запросов никак не меньше


Характер вопросов разный. Последний год я не слежу, но до этого, по WinForms если по основам спрашивали совсем новички, а остальные обычно интересовались чем-нить нетривиальным. А по WPF я постоянно вижу вопросы от вовсе не новичков по неким основным вещам WPF, то событие получить не могут, то триггеры не срабатывают. И это уже скоро 7 лет как технология вышла. По WinForms похожий характер вопросов наблюдался максимум первый год.


MM>Ну, т.е. правильный ответ — никак. Сиди сравнивай строчки, если автор озаботился их написанием и аккуратно следит за переименованием. По факту эта компонентная модель годится только для декларативного биндинга и дизайнера форм. Всё. Использование ее в коде — это полнейший геморрой.


Ес-но, компонентная модель нужна для дизайнеров, ибо в коде можно в каждом конкретном месте прикрутить конкретные же соглашения. А в коде ровно наоборот, прикрутить св-во и нотификатор к нему гораздо проще в компонентной модели, чем в WPF. И шанса ошибиться — тоже. Декларация зависимых св-в выглядит страшно.


MM>>>Биндинг двух DependencyObject работает быстрее, чем через INotifyPropertyChanged.

V>>INotifyPropertyChanged — лишь один из механизмов. Но твой биндинг не может работать быстрее, чем приятно в соглашениях ComponentModel насчет event XXXPropertychanged. Да и каждое обращение к св-ву — это обращение к dictionary, где уж тут быстрее?
MM>Хитрость в том, что Binding может работать с DependencyProperty без Reflection.

Угу, а в целом WPF приложения гораздо тормознутее при открытии формы... Откуда же тормоза?

Да и вообще, доступ к св-вам в компонентной модели происходит через виртуальные PropertyDescriptor::GetValue/SetValue, и их переопределяют, если действительно требуется в каком-то моменте быстродействие, например, для источников данных для гридов (см DataRowView). Я это делал автоматически для нужного другого места однажды через библиотеку RFD (она умеет кодогенерить эффективные акцессоры).


MM>Я говорю о POCO vs DependencyObject в сценариях MVVM, а ты меня уводишь в сторону стилей. Потому я и жалуюсь, что ты пишешь очень много, но контекст постоянно плавающий. Вывести, что реально хочешь сказать сложно, по сто раз читать приходится.


Наверно потому, что концепция ViewModel нужна не только в GUI и конкретно паттерне MVVM, а вообще везде, где требуется обеспечить тестопригодность компонент без воссоздания всего остального окружения для тестов. К тому же, ты говоришь, в чем тебе видится профит DependencyObject (без пояснения, т.е. непонятно, с чего бы), а я говорю, в чем это видится мне, с пояснием. Как это стили здесь не при чем? Еще как причем. Для всего остального, типа нотификаций событий и прочей лабуды такое наворачивать не стоило бы, напр. строительство объектов по XAML вполне можно было сделать и на рефлексии. И только именно зависимые данные (зависимые от парентов, стилей, дефолтов, в т.ч. переопределяемых дефолтов, или зависимые от специальных внешних объектов, типа анимаций) и дают какой-то профит этой схемы.
Re[16]: Dart - The worst of both worlds ?
От: Ночной Смотрящий Россия  
Дата: 15.11.11 17:44
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Восхитительный довод: сначала создать проблему, а потом показать, что её можно решить.


Нет никакой проблемы.

НС>>Кому важнее? Мне, к примеру, вобщем то пофигу, я оболочку Windows не разрабатываю.


ГВ>Важнее для оценки отношения к дотнету внутри самой MS.


Нет никакого единого отношения внутри МС. Есть отношение разных команд и оно разное.

НС>>Ага, они красноречиво говорят, что, пока Синовский рулит виндой, дотнета в винде не будет даже в минимальном количестве. При абсолютно любых технических характеристиках самого дотнета.


ГВ>То есть Синофски отказывается создавать себе проблемы, чтобы потом с честью их решить.


Каие проблемы? Синовского в свое время отодвинули слегонца с его СОМом, поэтому с дотнетом у него личное. К техническим вопросам это отношения не имеет.

НС>>Как это удобно — сослаться на мнение стороннего человека и на основании этого обвинить МС.


ГВ>Эти сторонние люди


Да все уже давно понятно и малоинтересно.

ГВ>Сходи в гугль с ключевым словом "c++ renaissance". Будет тебе и тренд, и тенденция.


Неа, только мечты отдельных товарищей типа тебя.

ГВ>Из того, что ты уже наговорил недвусмысленно следует, что действия Синофски весьма далеки от идиотизма и какого-то нелепого политиканства.


Нет, не следует.
Re[16]: Dart - The worst of both worlds ?
От: Ночной Смотрящий Россия  
Дата: 15.11.11 17:59
Оценка:
Здравствуйте, vdimas, Вы писали:

НС>>И что там такого узконишевого? Вполне сложное GUI приложение, демонстрирующее, что технические проблемы решаемы.


V>Некритично время запуска приложения.


Кому как. И, это, 10 студия с WPF, особенно если мерять вместе с загрузкой солюшена, на моей машине запускается намного быстрее винформсной 9.

V> Позволю себе считать это очень уж нишевым допущением на десктопе.


А я даже и не сомневался.

НС>>Пруфлинк про написание с нуля.


V>Пруфилинк заключается в сильно обновленном Shell API


Ясно, опять пустой треп и фантазии.


НС>>Ага, они красноречиво говорят, что, пока Синовский рулит виндой, дотнета в винде не будет даже в минимальном количестве. При абсолютно любых технических характеристиках самого дотнета.


V>Плохо верится в эту самую "абсолютность"


Ну не верь, мне то что. Доказывать я не буду.

НС>>Смотрел. Ничего общего.


V>Я вижу практически такое же АПИ основных контролов.


Такое же API, ага. Без разделения моделей, шаблонов данных, соответствующего биндинга и кучи других ключевых особенностей WPF.

V> Хотя формат XAML отличается от формата DirectUI XML


Пофиг. Главное, архитектура отличается кардинально.

НС>>Ссылки в студию.


V>Скажем так, этого человека


И ссылок, внезапно, опять нет.

НС>>Как это удобно — сослаться на мнение стороннего человека и на основании этого обвинить МС.


V>В принципе да...


Да я уж вижу. Вы с ГВ даже не стесняетесь своей отборной демагогии. И аргументация у вас как была лет 8 назад, так и осталась. Сорри, не сочти за наезд, но лично я вас за экспертов в новых технологиях воспринимать уже не могу, вы там, 8 лет назад, так и остались.

V>Ориентация Win8 на широкий класс устройств — тоже демонстрация этого тренда


Нет, это демонстрация одной из двух основных стратегий, придуманных лысым. Корни там чисто коммерческие. К примеру, очень хочется подмять под себя хотя бы кусок кабельного ТВ в штатах — это очень вкусный кусок пирога. Планшеты опять же. Рынок растет, МС на нем не видно и в микроскоп, лысый задергался.

V> Масштабируемость начинает быть требованием по-умолчанию. А дотнет этим не страдает, он плохо работает на маленьких устройствах, и не умеет выжимать все из больших (где десятки ядер).


Именно поэтому в ажуре сплошной дотнет Фантазии, фантазии

НС>>Без понятия. Но вполне возможно. Никакого приоритета С++ перед C# внутри dev div нет.


V>Не знаю


Ну а я знаю.

НС>>Более того, внутри Midori даже для низкоуровневых задач используется некая вариация C#.

V>Мне показалось, что его забросили в пользу BarrelFish

Его не могли запросить в его пользу. BarrelFish это MSR, а Midori это корповая разработка. Разные люди, цели и деньги.

V>Дотнет удобен, но его характеристики недалеко ушли от явовских. ИМХО, до тех пор, пока будет целью ставится конкуренция с явой


Про цель — это ты опять сам придумал или пруфлинки есть?

V> Мне, как инженеру, совершенно непонятно, чем оптимизация на этапе ngen должна отличаться


Тебе, как инженеру, непонятно главное — судьба стратегических технологий в МС это не только и не столько технический вопрос, сколько политический. Уже много много раз хорошие продукты дохли из-за ухода ключевых людей, а плохие продукты влачили жалкое существование много много релизов.
Re[16]: Источники-2003
От: Ночной Смотрящий Россия  
Дата: 15.11.11 18:04
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Неплохо, правда?


Да просто отлично. ГВ наконец добрался до событий 8-милетней давности с Лонгхорном, мир праху его. Глядишь, лет через 8 и до сегодняшних реалий дело дойдет.

ГВ>Это, обращаю твоё внимание, 2003-й год, когда "злостный враг .Net" Стивен Синофски ещё возглавлял Office Product Unit (а вот поди ж ты, какие интриги строил! ).


Вот как раз потому что Синовский до windiv еще не добрался, такое и говорили. Впрочем, бардак с уходом Олчина начался.
Re[17]: Dart - The worst of both worlds ?
От: vdimas Россия  
Дата: 15.11.11 23:44
Оценка: 7 (1)
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>>>И что там такого узконишевого? Вполне сложное GUI приложение, демонстрирующее, что технические проблемы решаемы.

V>>Некритично время запуска приложения.
НС>Кому как. И, это, 10 студия с WPF, особенно если мерять вместе с загрузкой солюшена, на моей машине запускается намного быстрее винформсной 9.

Значит солюшены разные. У меня после перезагрузки, т.е. "по честному", с предварительно выключенным Решарпером, 2008-я запускается ~3 сек, 2010-я более 15-ти на одном и том же солюшене.


V>> Позволю себе считать это очень уж нишевым допущением на десктопе.

НС>А я даже и не сомневался.

Да писал бы уже от своего имени, мы точно такую же ангажированность с тобой уже проходили как-то.


НС>>>Пруфлинк про написание с нуля.

V>>Пруфилинк заключается в сильно обновленном Shell API
НС>Ясно, опять пустой треп и фантазии.

Ну ясно, не смотрел, но осуждаю... Про АПИ DirectX и способы рисования фреймов окон в Aero и самого десктопа вообще игнор. Смысл спрашивать пруфы и игнорировать?
Фишка в том, что без DirectX добавления к АПИ шелла были бы невозможны. По крайней мере, чтобы это работало так же эффективно, как в Висте/Win7.


НС>>>Ага, они красноречиво говорят, что, пока Синовский рулит виндой, дотнета в винде не будет даже в минимальном количестве. При абсолютно любых технических характеристиках самого дотнета.

V>>Плохо верится в эту самую "абсолютность"
НС>Ну не верь, мне то что. Доказывать я не буду.

Дык, иначе это будет натуральная религия. Если бы дотнет показывал на выч.задачах нормальную производительность, и происходило то, что сейчас происходит, то это можно было назвать политикой в самом ее циничном проявлении. А так это не политика, а расстановка акцентов среди технологий по их характеристикам.


НС>>>Смотрел. Ничего общего.

V>>Я вижу практически такое же АПИ основных контролов.
НС>Такое же API, ага. Без разделения моделей, шаблонов данных, соответствующего биндинга и кучи других ключевых особенностей WPF.

Можно конкретней, мы сейчас COM-АПИ обсуждаем, или ты дальше дотнетных роперов не смотрел? Как насчет всех эти интерфейсов: IGridProvider, IExpandCollapseProvider, IScrollItemProvider, и далее подряд по списку COM API WinRT (десятки интерфейсов).

Сдается мне, что ты опять попал пальцем в небо.


V>> Хотя формат XAML отличается от формата DirectUI XML

НС>Пофиг. Главное, архитектура отличается кардинально.

Угу, прикладная вершина айсберга, обслуживающая конкретно XAML, и пользующая несколько сотен уже отлаженных в DirectUI интерфейсов и классов на их основе. Код построения композиции по шаблонам, прямо скажем, не велик, по показаниям рефлектора в WPF, в сравнении с остальным. Да и как может быть иначе на обслуживание этой, прямо скажем, прикладной функциональности (хоть и очень удобной), не зависящей ни от какой низлежащей техногии. Если это есть твое "кардинально", то у тебя очень выборочное зрение.



НС>>>Как это удобно — сослаться на мнение стороннего человека и на основании этого обвинить МС.

V>>В принципе да...
НС>Да я уж вижу. Вы с ГВ даже не стесняетесь своей отборной демагогии. И аргументация у вас как была лет 8 назад, так и осталась.

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


НС>Сорри, не сочти за наезд, но лично я вас за экспертов в новых технологиях воспринимать уже не могу, вы там, 8 лет назад, так и остались.


Ну вот, узнаю старика Крупского...

Дотнет уже далеко не новая технология, так что относительно тебя позволю себе считать аналогично.

Только давай поправим, справедливости ради, пусть будет 6 лет, а не 8, бо новые библиотеки я технологиями считать никак не могу, за исключением WPF. Как раз 6 лет. А динамик в 4-м дотнете погоды не сделал, как и новый GC (чуть ниже). В этом смысле все дотнетчики, где был 6 лет назад, там и остались. Если хочешь увидеть действительно что-нить новое, посмотри на DirectX 10-11, помедитируй, почему именно так, в сравнении с 9-й... Посмотри внимательней на DirectUI. Станет понятно, почему стал возможен WinRT сейчас. Разработка такого масштаба не могла взяться из ничего по мановению волшебной палочки.

Опять же, что считать технологиями, вопрос спорный. Было много новых технологий помимо дотнета, включая медиа, способы обработки сигналов и сетевые технологии за эти годы. Это ортогонально технологиям платформ разработки, но тоже объемно. Конкретно на этом сайте эти темы непопулярны.


V>>Ориентация Win8 на широкий класс устройств — тоже демонстрация этого тренда


НС>Нет, это демонстрация одной из двух основных стратегий, придуманных лысым.


Сдается мне, что эту стратегию придумал вовсе не лысый, бо те же линуха или iOS этот тренд демонстрируют несколько дольше (первые — более десятка лет уже). Это обычные догонялки конкурентов. Не сомневаюсь, что, как обычно, MS догонит и перегонит. Противником конкретно MS я никогда не являлся, скорее наоборот, меня лишь раздражали перегибы на местах (конкретно на этом сайте) относительно позиционирования конкретно дотнета. Хоть сам его пользую вдоль и поперек, как мало кто здесь, и умею выжимать из него всё в плане эффективности, как тоже мало кто, но аргументы из разряда "мы помчимся на шикарных авто по асфальтовой дороге там, где вы будете по проселочной на велосипедах" никогда не принимал... бо активно разрабатываю как нейтив, так и под дотнет, и вижу, что полно задач, где C++ всяко удобнее и экономит кучу трудоемкости в сравнении с дотнетом. Т.е. обращаю внимание, что речь не о конечной эффективности программы, а об эффективности программиста, и такие заявы от известных людей как минимум непрофессиональны. ИМХО, узость профессионального кругозора, ограниченность одной платформой. И можно ты не будешь впредь троллить меня просьбами ссылок на подобные высказывания? Ищется на раз, только что проверил. Если действительно будешь испытывать проблемы с их поиском, обращайся в личку. Почему так, сказал постом выше. И еще потому, что ты и сам всё это прекрасно помнишь, как мне кажется, просто так троллишь в "фоновом режиме".


НС>Корни там чисто коммерческие. К примеру, очень хочется подмять под себя хотя бы кусок кабельного ТВ в штатах — это очень вкусный кусок пирога.


Опоздали что-то... Я начинку для штатовских set top box приставок разрабатывал еще в 2002-м, уже был мега-бум... Т.е. вряд ли set top box причина, этот рынок уже давно сформирован и насыщен на сегодня.


НС>Планшеты опять же. Рынок растет, МС на нем не видно и в микроскоп, лысый задергался.


Это более похоже... Телефоны опять же, у которых уже характеристики как у компов времен выхода WinXP. Это и есть тот тренд, о котором речь. Современные ОС очень сложны, будет трудно поддерживать кардинально разные ОС для разных сегментов, всяко удобней обеспечить масштабируемость одной ОС.



V>> Масштабируемость начинает быть требованием по-умолчанию. А дотнет этим не страдает, он плохо работает на маленьких устройствах, и не умеет выжимать все из больших (где десятки ядер).


НС>Именно поэтому в ажуре сплошной дотнет Фантазии, фантазии


На русском можно?

А потом, если будет интересно, можно про много ядер? Ты имеешь представление, как новый GC с 4-го дотнета масштабируется на большое кол-во ядер? При десятках ядер он по-прежнему начинает быть узким местом, как предыдущие GC были узким местом уже на 8-ми ядрах, блокируя все потоки. В общем, веб-сервера это одно, а не веб — несколько иное... Т.е. GC, изначально призванный побороть "узкое место" выделения/освобождения памяти, сам становится узким местом на машинах с десятками ядер. И если в нейтиве в рамках одного процесса используют независимые пулы памяти для независимых задач или подключений, так что можно масштабироваться до бесконечности, то в дотнете полный и окончательный приплызд, если деление процесса на домены не оправдано (в отличие от веба, опять же).

Хотя, как мы уже привыкли за последние 10 лет, нам обещают продолжать работать над GC, т.е. решать все эти проблемы "в будущем", прямо из MS из команды GC. Это всё, конечно, здорово... но куда ни ткни, если брать "прямо сейчас" в любой момент времени, то дотнет для более-менее серьезных задач не катит. Хотя вовсю используется для тех же задач как для всего утилитного софта, некритичных к быстродействию/масштабированию частей, напр. клиентского софта и прочая несложная ерунда.


НС>>>Без понятия. Но вполне возможно. Никакого приоритета С++ перед C# внутри dev div нет.

V>>Не знаю
НС>Ну а я знаю.

Т.е. работаешь там? Просто результаты говорят об обратном. И речь не о компиляторе C# (который примитивен в сравнении с компилятором С++, т.е. уже там не могут быть задействованы сравнимые ресурсы), а про оптимизации ngen и JIT. Вот в них всё упирается, и довольно сильно.


НС>Его не могли запросить в его пользу. BarrelFish это MSR, а Midori это корповая разработка. Разные люди, цели и деньги.


Singularity тоже был MSR, вроде... Я вижу другой подход к проектированию ядра, и то, что с этим носятся, как прежде с Singularity, поэтому предполагаю, что это ж-ж-ж не спроста. Хотя... в Singularity было много других аспектов, ортогональных архитектуре ядра, т.е. ядро вполне могут и заменить.


V>>Дотнет удобен, но его характеристики недалеко ушли от явовских. ИМХО, до тех пор, пока будет целью ставится конкуренция с явой

НС>Про цель — это ты опять сам придумал или пруфлинки есть?

Это официальная история дотнета, стыдно спрашивать пруфлинки. В 98-м году была создана рабочая группа в MS для изучения "феномена JAVA", результатом работы которой был дотнет. Тем паче, что в 98-м я еще из журналов часть новостей читал. А сие было во многих журналах одновременно. По выходу первой беты эту историю нам опять напомнили.


V>> Мне, как инженеру, совершенно непонятно, чем оптимизация на этапе ngen должна отличаться

НС>Тебе, как инженеру, непонятно главное — судьба стратегических технологий в МС это не только и не столько технический вопрос, сколько политический. Уже много много раз хорошие продукты дохли из-за ухода ключевых людей, а плохие продукты влачили жалкое существование много много релизов.

Да нет у меня претензий к конкретно MS, мы сейчас технологии обсуждаем одной и той же компании, если забыл. Если уж говорить о демагогии, то вот она во всей красе: с одной стороны — прошло почти 10 лет, с другой стороны — я упомянул результаты моих экспериментов, всё кристально ясно, воз и ныне там, нафига тут искать подоплеку и разводить демагогию? Любой адекватный инженер на сегодняшнем уровне развития технологий принял бы такое точно решение. Конкретно Синовский там имеет "нужный вес" всего-навсего с 2008-го года, хотя вещи, о которых я говорю, должны были быть сделаны еще в 2005-м, если бы дотнету действительно готовили роль технологии-замены нейтиву. Значит не готовили. Значит, придать вес дотнету, более чем он есть сейчас можно только от некоей ангажированности. Но для компании такого масштаба это может иметь серьезные последствия.

Я вообще проблемы не вижу. Сильверлайт прикрыли, но труд разработчиков никуда не пропадет: http://www.rsdn.ru/forum/flame.comp/4497169.1.aspx
Автор: vdimas
Дата: 15.11.11

Дотнету дают все АПИ, никто его не обижает, пусть себе потихоньку развивается и дотнетные разработчики пусть себе будут рады. Ну не готовы еще объективно технологии дотнета для обеспечения эффективности и нужной мастабируемости, поэтому низлежащие технологии ОС остаются нейтивными. Ведь крайне хреново работает WPF, и вовсе не из-за Синовски. Наоборот, нейтивная команда сделала так, что родственная технология (WinRT/DirectUI) стала работать чудесно, и дали дотнетчкам бинд на их их милое сердцу АПИ, в духе WPF — пользуйтесь себе на здоровье. Как и прежде, из дотнета ничего серьезного сделать нельзя будет (т.е. выходящее за рамки коробочной функциональности), можно будет только в нейтиве, но, справедливости ради, коробочной функциональности для дотнетчиков идет гораздо больше, чем в WPF. Например, наконец есть нормальное медиа, которые WPF в свое время "ни асилил"...

В общем, такой акцент на политике может быть только от ангажированности, если в упор игнорить характеристики технологий. К тому же, когда MS делает что-то "не так", то интернет набрасывается на MS и рвёт как тузик тряпку, а здесь нейтивное исполнение родственной WPF технологии было воспринято интернетом на "ура", что говорит само за себя.
Re[17]: Dart - The worst of both worlds ?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 19.11.11 09:56
Оценка: +2
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>>>Кому важнее? Мне, к примеру, вобщем то пофигу, я оболочку Windows не разрабатываю.

ГВ>>Важнее для оценки отношения к дотнету внутри самой MS.
НС>Нет никакого единого отношения внутри МС. Есть отношение разных команд и оно разное.

Что и требовалось доказать: оценка перспектив развития .Net упирается в необходимость разобраться в клубке отношений внутри MS. Иными словами — единого отношения нет, и стабильного предсказуемого пути развития — тоже. Зашибенно перспективная платформа. Эх, надо было порекомендовать её нашим конкурентам (слить секретную инфу по секретным каналам, гы-гы).

НС>>>Ага, они красноречиво говорят, что, пока Синовский рулит виндой, дотнета в винде не будет даже в минимальном количестве. При абсолютно любых технических характеристиках самого дотнета.

ГВ>>То есть Синофски отказывается создавать себе проблемы, чтобы потом с честью их решить.
НС>Каие проблемы? Синовского в свое время отодвинули слегонца с его СОМом, поэтому с дотнетом у него личное. К техническим вопросам это отношения не имеет.

Это он тебе сам сказал?

НС>>>Как это удобно — сослаться на мнение стороннего человека и на основании этого обвинить МС.

ГВ>>Эти сторонние люди
НС>Да все уже давно понятно и малоинтересно.

Ясен пень, понятно: высказываниям лидов MS верить в основном нельзя, о чём здесь и говорили не раз. Можно верить только API, да и то, после второго SP. Почему так произошло — действительно, не имеет значения. Важно только то, что массу людей неоднократно вводили в заблуждение и окружающим это уже поднадоело.

ГВ>>Сходи в гугль с ключевым словом "c++ renaissance". Будет тебе и тренд, и тенденция.

НС>Неа, только мечты отдельных товарищей типа тебя.

Угу, один из них — Herb Sutter с публичным выступлением (не последняя фигура в мире C++). Тоже, в общем, можно не доверять, только есть нюанс: он ничего конкретного не обещает, а лишь констатирует факты. Сумму фактов и практически ничего сверх того. Ну, наверное, когда он говорит о том, что "имеет значение Perf/$" — да, не сказал от кого узнал, хотя, это явление самоочевидно.

ГВ>>Из того, что ты уже наговорил недвусмысленно следует, что действия Синофски весьма далеки от идиотизма и какого-то нелепого политиканства.

НС>Нет, не следует.

Ну да, ну да, его же укусили за COM.

P.S.: Короче говоря, ты, видимо, сам не понимаешь... В общем, все эти "тайны" и прочие "отношения", анонимный ты наш источник, имеют цену чуть-чуть отличную от нуля в сторону отрицательной. По сути дела, то, о чём ты говоришь — это грязное бельё, которого в любой компании выше крыши и оно на самом деле никого не колышет. Важно другое: как компания выглядит извне и какие выводы можно сделать из её наблюдаемого поведения, всё остальное — досужая трепатня.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[14]: Dart - The worst of both worlds ?
От: Евгений Акиньшин grapholite.com
Дата: 23.11.11 15:12
Оценка: 39 (1)
Здравствуйте, Геннадий Васильев, Вы писали:

ЕА>>по моему WinRT и SL гораздо ближе к друг другу, чем SL и WPF


ГВ>Почему?


Вот кстати хорошая иллюстрация на тему:

http://thewire.vertigo.com/2011/the-winrt-genome-project/
Не шалю, никого не трогаю, починяю примус Diagrams Designer for iPad and Windows 10
Re[15]: Dart - The worst of both worlds ?
От: MxMsk Португалия  
Дата: 23.11.11 19:20
Оценка:
Здравствуйте, Евгений Акиньшин, Вы писали:

ЕА>Вот кстати хорошая иллюстрация на тему:

ЕА>http://thewire.vertigo.com/2011/the-winrt-genome-project/

На BUILD2011 было показано, что отличие программы на Silverlight для Windows Phone от той же программы для Windows 8 только в using, да в строчке запуска. Понятно, что приложение простенькое, но MS заострила на этом внимание.

Кстати, очень полезная видюшка, показывающая, что и C++ и C# и JavaScript должны стать равноправными языками в Windows 8, с полным доступом к WinRT. Ни Silverlight ни XAML никуда не деваются. Панику последних месяцев можно отменять.
Re[19]: Dart - The worst of both worlds ?
От: barn_czn  
Дата: 27.11.11 18:55
Оценка:
заинтересовал ваш диалог, вставлю свои реплики )

V>>Знаешь, я всегда недоумевал, почему потребность напрямую связать м/у собой св-ва объектов есть, а средств для этого никаких нету. Все эти биндинги на основе вербальных (!!!) "соглашений" (типа XxxChanging/XxxChanged) — это не просто костыли, это позоруха какая-то. Что мешает заведомо спроектировать св-ва так, чтобы костыль был не нужен?


Не понимаю ваших претензий: с одной стороны ругаете зависимые свойства WPF, с другой недовольны старым добрым INotifyPropertyChanged.

Способ декларировать зависимые свойства (с помощью static readonly полей) — лично для меня стал открытием. Так как это решает проблему с атрибутами (я имею ввиду то что в атрибуты не засунешь инстансы сложного типа). Я бы сказал, что это целый патерн, которому наверняка и название книжное есть.

Вот моя версия как было дело : МС, делая WPF, столкнулся с проблемой размещения метаинфы на проперти. В атрибуты пихать все не получится, или будет неюзабильно. Поэтому пошли по пути static readonly полей. Если подумать, то другого более изящного способа то и нет. Ну никак вы не засунете в код метаинфу иначе.

Про наличие "соглашений" — ну вы же понимаете что любая, сколь угодно мощная, формальная система имеет свои границы, за пределами которых начинаются "соглашения".
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.