Здравствуйте, Disappear, Вы писали:
WH>А вот D об этом только мечтает... И как по мне шансов нет. WH>>Ибо лично я возьму либо Java/.NET/... либо С++ (зависит от). WH>>А вот ниши для D я не вижу.
D>Это ниша С++
Если вы намекаете на то, что в будущем D начнет вытеснять C++ из ниши C++, то против этого говорят несколько факторов:
* современные управляемые C-подобные языки (Java и C#) уже достаточно сильно ограничили область применения C++. При этом JVM и .NET сейчас обладают гораздо лучшим GC, чем D сможет получить в будущем. И уж точно D вряд ли когда-нибудь заимеет такое количество библиотек, инструментов, средств разработки, книг и учебных курсов, как Java и .NET. Поэтому не стоит надеятся на то, что D будет отхватывать у C++ те же куски, которые могут отхватить Java и .NET;
* С++ остается вне конкуренции (сейчас по крайней мере) за счет своей низкоуровневости -- способность работать прямо по железу и с явным управлением памятью, в условиях ограниченных ресурсов -- это то, что не могут дать JVM/.NET. И тут оказывается, что D не многим лучше Java/C#. Да, он работает по железу, но GC придется обходить. Но зачем что-то обходить в D, если этого вообще нет в C++?
Да, по своим фичам D является "очищенным" и "облагороженным" C++. В D сумели избавиться от многих граблей C++ (попутно добавив несколько своих). Но при всем этом D так и не стал стабильным языком. За все время своего существования у D вряд ли был промежуток времени в год-полтора, когда написанный на предыдущих версиях D код безболезненно компилировался новыми версиями компилятора. И сегодняшнее состояние дел с ветками D1.0 и D2.0 тому подтверждение.
Вообще, складывается впечатление, что у Брайта нет четкого представления о том, что же он хочет получить. Соответственно, нет и четкого плана действий (чем D разительно, и не в лучшую сторону, отличается от Scala). Изменения в язык и компилятор вносятся спонтанно и безсистемно. При этом у меня не сложилось впечатления о том, что Брайт заинтересован в доведении до ума D1.0. Он сам и сложившаяся в digitalmars.D тусовка увлечена созданием все более и более лучшего языка -- это и есть цель. Хотя надо бы, чтобы целью было создание рабочего инструмента, который был нужен разработчикам еще вчера.
Так вот, такая нестабильность и туманное будущее языка лично меня удерживает от попыток начать делать на D что-нибудь для коммерческого использования. Все-таки у меня хороший пример перед глазами -- пять с половиной лет назад у нас стартовало несколько C++ проектов, которые до сих пор эксплуатируются и развиваются. Местами без модификации работает код, написанный более пяти (а то и больше, учитывая предшествующие наработки) лет назад. В D подобное просто не возможно до сих пор. И вряд ли будет возможно в ближайшее будущее.
Поэтому я не надеюсь, что D сможет серьезно потеснить C++. Вообще высока вероятность, что GCC, Intel C++ и Visual C++ реализуют C++0x еще до того, как в D появятся все те фичи, о которых Брайт и Александреску рассказывали на D Conf.
Так что поколонникам D нужно придумывать и создавать для D свою нишу. Судя по переписке в digitalmars.D и digitalmars.D.announce среди любителей D много разработчиков игр и занимающихся расчетами математиков/физиков. Может быть эти области и станут стартовой площадкой для D.
А вы, если хотите показать крутизну и достоинства D, попробуйте разработать на D что-нибудь. И продемонстрировать общественности. Это будет полезнее, чем утверждения, что "за D будущее". Полезно, в первую очередь, для самого языка -- он очень нуждается в наращивании кодовой базы.
SObjectizer: <микро>Агентно-ориентированное программирование на C++.
WolfHound wrote: > Сервер RSDN ниписан на C#. Сейча его хотят переписать на nemerle. Про D > никто даже не заикался.
А давайте перепишем RSDN сначала на D, а потом вообще на С++!
> А когда компиляторы осилят С++0х то преимущества D станут совсем никакими. > А в той нише откуда С++ выбили C# и Java у D нет шансов перед C# и Java'ой.
У D была возможность занять нишу между битовыжимательным С и Java/.NET.
ИМХО, он эту возможность упустил.
Сейчас доля .NET/Java (или других языков типа связки HTML+JS, Ruby...)
будет только расти.
Здравствуйте, Disappear, Вы писали:
D>Здравствуйте, prVovik, Вы писали:
V>>Здравствуйте, Cyberax, Вы писали:
V>>Держа в уме, при этом, подходяший С++0х
D>D еще в версии 1.0 имел все фичи C++0x
Здравствуйте, WolfHound, Вы писали:
C>>А давайте перепишем RSDN сначала на D, а потом вообще на С++! WH>Переписывай.
Нет, спасибо. Мое дело — предложить
C>>У D была возможность занять нишу между битовыжимательным С и Java/.NET. WH>А где там ниша?
Прикладные программы для пользователя. .NET/Java до сих пор для всяких download manager'ов неудобно использовать из-за большого потребления памяти и заметного времени запуска.
D тут был бы идеален — достаточно простой язык, с простым сборщиком мусора с минимальным overhead'ом по памяти, но без сложностей с установкой JRE/.NET FW.
К сожалению, поезд ушел. Через пару лет можно будет уже забить на ограничения по памяти на типичных десктопах.
Здравствуйте, Left2, Вы писали:
C>>D тут был бы идеален — достаточно простой язык, с простым сборщиком мусора с минимальным overhead'ом по памяти, но без сложностей с установкой JRE/.NET FW. C>>К сожалению, поезд ушел. Через пару лет можно будет уже забить на ограничения по памяти на типичных десктопах. L>Через пару лет можно будет забыть об Download manager-ах Да и весь рынок desktop приложений потихоньку начинает чахнуть.
Download manager я привел только в качестве примера (кстати, никуда они не денутся ). На самом деле, есть же куча всяких мелких (и не очень) десктопных приложений, которые сейчас используются. Тот же Skype мог бы быть написан не на Delphi, а на D.
L>ИМХО ниша на которую D может (мог?) реально претендавать — это embedded programming. Пожалуй, это единственная оставшаяся крупная (к тому же растущая) ниша для unmanaged языков.
Там сейчас два лагеря:
1. Hardcore-щики — жесткий реалтайм на С/С++, никакого GC там не будет.
2. Все остальные — тут ситуация как на десктопах, только с боооольшим запаздыванием.
Кстати да, во второй группе пока еще есть некоторые возможности, которые можно еще ухватить.
Здравствуйте, Disappear, Вы писали:
D>JIT-ам не когда не стать мэйнстримом.
ИМХО, у языков, компилирующихся во всякие разновидности байт-кода есть то преимущество, что полученный код легко подвергнуть всякой верификации/валидации, чтобы убедиться что он не делает того, что не нужно. А это чрезвычайно важно для кода, который приходит из не вполне доверенных источников (Интернет).
Здравствуйте, Disappear, Вы писали:
D>Будущее за D мужеки! D>JIT-ам не когда не стать мэйнстримом.
Проблема в том что JIT'ы давно мэйнстрим... А вот D об этом только мечтает... И как по мне шансов нет.
Ибо лично я возьму либо Java/.NET/... либо С++ (зависит от).
А вот ниши для D я не вижу.
... << RSDN@Home 1.2.0 alpha rev. 745>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Здравствуйте, WolfHound, Вы писали:
WH>Здравствуйте, Disappear, Вы писали:
D>>Будущее за D мужеки! D>>JIT-ам не когда не стать мэйнстримом. WH>Проблема в том что JIT'ы давно мэйнстрим...
На каком языке написано все то ПО, что установлено у вас на машине?
А вот D об этом только мечтает... И как по мне шансов нет. WH>Ибо лично я возьму либо Java/.NET/... либо С++ (зависит от). WH>А вот ниши для D я не вижу.
Здравствуйте, Disappear, Вы писали:
D>На каком языке написано все то ПО, что установлено у вас на машине?
На D точно ничего не написано.
А например это сообщение я пишу из программы написанной на C#.
Сервер RSDN ниписан на C#. Сейча его хотят переписать на nemerle. Про D никто даже не заикался.
А уж сколько .NET'а и жабы в секторе приложений для бизнеса...
D>Это ниша С++
Без шансов.
У D нет объективных преимуществ перед С++ в нише С++.
Мелкие синтаксические рюшечки не повод отказоваться от огромного колличества кода на С++.
А когда компиляторы осилят С++0х то преимущества D станут совсем никакими.
А в той нише откуда С++ выбили C# и Java у D нет шансов перед C# и Java'ой.
... << RSDN@Home 1.2.0 alpha rev. 745>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Здравствуйте, Cyberax, Вы писали:
C>А давайте перепишем RSDN сначала на D, а потом вообще на С++!
Переписывай.
C>У D была возможность занять нишу между битовыжимательным С и Java/.NET.
А где там ниша?
... << RSDN@Home 1.2.0 alpha rev. 745>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Здравствуйте, WolfHound, Вы писали:
WH>Без шансов.
С этим согласен, практически шансы близки к нулю.
WH>У D нет объективных преимуществ перед С++ в нише С++.
Ну тогда у Немерли тоже нет объективных преимуществ перед шарпом
WH>Мелкие синтаксические рюшечки не повод отказоваться от огромного колличества кода на С++. WH>А когда компиляторы осилят С++0х то преимущества D станут совсем никакими.
Ну к тому времени судя по последним презентациям D будет уже гораздо мощнее,
и макросы запланированы и патерн матчинг.
WH>А в той нише откуда С++ выбили C# и Java у D нет шансов перед C# и Java'ой.
Ну ниша большая, D вполне мог бы там себе место найти. Но тут согласен с eao197 мешает отсутствие стабильности.
C>Прикладные программы для пользователя. .NET/Java до сих пор для всяких download manager'ов неудобно использовать из-за большого потребления памяти и заметного времени запуска. C>D тут был бы идеален — достаточно простой язык, с простым сборщиком мусора с минимальным overhead'ом по памяти, но без сложностей с установкой JRE/.NET FW. C>К сожалению, поезд ушел. Через пару лет можно будет уже забить на ограничения по памяти на типичных десктопах.
Через пару лет можно будет забыть об Download manager-ах Да и весь рынок desktop приложений потихоньку начинает чахнуть.
ИМХО ниша на которую D может (мог?) реально претендавать — это embedded programming. Пожалуй, это единственная оставшаяся крупная (к тому же растущая) ниша для unmanaged языков.
Здравствуйте, Cyberax, Вы писали:
C>WolfHound wrote: >> Сервер RSDN ниписан на C#. Сейча его хотят переписать на nemerle. Про D >> никто даже не заикался. C>А давайте перепишем RSDN сначала на D, а потом вообще на С++!
Здравствуйте, D. Mon, Вы писали:
C>>К сожалению, поезд ушел. Через пару лет можно будет уже забить на ограничения по памяти на типичных десктопах.
DM>А что со скоростью? D быстрее C#/Java? Можно ли его рассматривать как "быстрый C#"?
Здравствуйте, nikov, Вы писали:
D>>JIT-ам не когда не стать мэйнстримом.
N>ИМХО, у языков, компилирующихся во всякие разновидности байт-кода есть то преимущество, что полученный код легко подвергнуть всякой верификации/валидации, чтобы убедиться что он не делает того, что не нужно. А это чрезвычайно важно для кода, который приходит из не вполне доверенных источников (Интернет).
А байткодные языки не обязаны работать только через JIT-ы. Явовский байткод можно предкомпилировать (что делают для мидлетов некоторые телефоны, точнее Jbed от esmertec), можно компилировать в нэйтивный код (GCJ). .NET-овский байткод тоже можно скомпилировать, на этапе установки (если я ничего не попутал).
Здравствуйте, nikov, Вы писали:
N>Здравствуйте, Disappear, Вы писали:
D>>JIT-ам не когда не стать мэйнстримом.
N>ИМХО, у языков, компилирующихся во всякие разновидности байт-кода есть то преимущество, что полученный код легко подвергнуть всякой верификации/валидации, чтобы убедиться что он не делает того, что не нужно. А это чрезвычайно важно для кода, который приходит из не вполне доверенных источников (Интернет).
С учетом того, что сейчас есть опасные для браузеров JavaScript-ы, HTML-странички и даже специальным образом построенные URL, проверка байт-кода на безопасность всего приложения выглядит слишком утопической, имхо.
SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Здравствуйте, eao197, Вы писали:
E>С учетом того, что сейчас есть опасные для браузеров JavaScript-ы, HTML-странички и даже специальным образом построенные URL, проверка байт-кода на безопасность всего приложения выглядит слишком утопической, имхо.
Специальным образом построенные URL-ы пользуют переполнение буфера или что-то в этом роде. С языками, которые верифицируют код, этот номер не проходит. Если ты явно не разрешишь апплету делать опасные операции — ничего он сделать не сможет опасного.
Здравствуйте, mkizub, Вы писали:
E>>С учетом того, что сейчас есть опасные для браузеров JavaScript-ы, HTML-странички и даже специальным образом построенные URL, проверка байт-кода на безопасность всего приложения выглядит слишком утопической, имхо.
M>Специальным образом построенные URL-ы пользуют переполнение буфера или что-то в этом роде. С языками, которые верифицируют код, этот номер не проходит. Если ты явно не разрешишь апплету делать опасные операции — ничего он сделать не сможет опасного.
А разве это определяется на уровне инструкций байт-кода?
Мне казалось, что набором доступных апплету функций и библиотек.
SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Здравствуйте, eao197, Вы писали: E>А разве это определяется на уровне инструкций байт-кода?
Это определяется на уровне пермиссий, ддя проверки которых необходимо иметь доступ к стеку. E>Мне казалось, что набором доступных апплету функций и библиотек.
При этом обмануть систему проверки привилегий может только неуправляемый код.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
eao197 wrote: > M>Специальным образом построенные URL-ы пользуют переполнение буфера или > что-то в этом роде. С языками, которые верифицируют код, этот номер не > проходит. Если ты явно не разрешишь апплету делать опасные операции — > ничего он сделать не сможет опасного. > А разве это определяется на уровне инструкций байт-кода?
В том числе. Почитай про стадию верификации байт-кодов в Java.
> Мне казалось, что набором доступных апплету функций и библиотек.
Это уже производная от первого пункта.