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
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.