Хотел бы поинтересоваться: в каком состоянии, по Вашему мнению, сейчас находится D? Готов ли он для серьезных разработок? Что ему не хватает? Может ли он стать заменой C++?
Язык D, по моему мнению, находится в глубокой заднице. И единственный шанс оттуда выбраться -- это его форк и самостоятельное развитие в виде независимого от Брайта проекта (например, в рамках llvm).
Сам Брайт и сложившаяся вокруг него тусовка продемострировали, что у них нет четких целей и планов. Им пофигу пользователи языка. Им пофигу, что для языка нужна стабильность, качественные инструменты и инфраструктура. Ничего этого нет и через три года после выхода якобы стабильного D1.0.
Когда выйдет D2.0 никто не знает. Большинство релизов в ветке D2.0 привносят какие-то новшества. В таких условиях я лично не возьмусь делать что-нибудь на D.
Так что я давно в этом проекте разочаровался. Но смотреть со стороны забавно.
Добавлю, что я бы на месте Брайта после выхода D1.0 сосредоточился бы не на развитии языка (он тогда был гораздо привлекательнее грядущего C++0x), а на помощи в создании инструментов для D1.0 -- улучшением компилятора, помощи в развитии библиотек (того же Tango), отладчиков и пр.
На тот момент было понятно, что D1.0 вещь очень интересная, но не оснащенная. Ей бы библиотек солидных, на D написанных (вроде Tango) -- глядишь сегодня это была бы платформа класса OCaml-а (ну не OCaml-а, так Ruby). Т.е. еще сырая и мало где используемая, но уже используемая и набирающая популярность.
Но вместо этого было заявлено о разработке несовместимой с D1.0 версии D2.0. Вот это было ошибка. Лично я тогда решил, что нет смысла делать что-то на D1.0 до выхода D2.0. И, боюсь, не я один.
Кстати, если посмотреть на языки, которые достигли изрядной популярности (С++, C#, Java, Ruby) -- у них всех есть общая черта -- они не ломали коренным образом совместимости с ранее написанным кодом. Да, мелкие усилия для перехода на новую версию нужно было приложить. Но не более того.
А разработчики D на этот принцип наплевали. Поэтому самому языку ничего не светит, пока эти люди им занимаются.
И еще добавлю. Даже если D2.0 появится в течении этого года, его время, имхо, уже упущено. C++0x уже проникает в массы. Да, в C++0x нет сборки мусора, но уже есть лямбды, rvalue references, библиотека tr1 со стандартным shared_ptr. Плюс огромное количество кода, который будет без проблем переведен на C++0x. Смысла переходить на D2.0 нет.
Разработчикам D уже нужно выпускать не D2.0, а D3.0 с какими-то killer-фичами. Только вот что это должно быть, чтобы даже меня торкнуло -- хз.
Ну ради справедливости надо сказать что C++0x очень прилично уступает как язык D2. D2 по мощности вполне близок к C++0x + C# 3 :) Но с тем что разработчики D все прошляпили я согласен :(
>Ну ради справедливости надо сказать что C++0x очень прилично уступает как язык D2
По моим поверхностным знаниям C++0x -- да, D2 круче. Но если брать C++0x и D2 как экосистемы, то D2 до C++0x еще пилить и пилить. Один выход VC++2010 и GCC 4.5 чего стоит. А Intel C++ еще раньше фичи из C++0x начал поддерживать.
Хотел бы поинтересоваться: в каком состоянии, по Вашему мнению, сейчас находится D? Готов ли он для серьезных разработок? Что ему не хватает? Может ли он стать заменой C++?
ОтветитьУдалитьЯзык D, по моему мнению, находится в глубокой заднице. И единственный шанс оттуда выбраться -- это его форк и самостоятельное развитие в виде независимого от Брайта проекта (например, в рамках llvm).
ОтветитьУдалитьСам Брайт и сложившаяся вокруг него тусовка продемострировали, что у них нет четких целей и планов. Им пофигу пользователи языка. Им пофигу, что для языка нужна стабильность, качественные инструменты и инфраструктура. Ничего этого нет и через три года после выхода якобы стабильного D1.0.
Когда выйдет D2.0 никто не знает. Большинство релизов в ветке D2.0 привносят какие-то новшества. В таких условиях я лично не возьмусь делать что-нибудь на D.
Так что я давно в этом проекте разочаровался. Но смотреть со стороны забавно.
Добавлю, что я бы на месте Брайта после выхода D1.0 сосредоточился бы не на развитии языка (он тогда был гораздо привлекательнее грядущего C++0x), а на помощи в создании инструментов для D1.0 -- улучшением компилятора, помощи в развитии библиотек (того же Tango), отладчиков и пр.
ОтветитьУдалитьНа тот момент было понятно, что D1.0 вещь очень интересная, но не оснащенная. Ей бы библиотек солидных, на D написанных (вроде Tango) -- глядишь сегодня это была бы платформа класса OCaml-а (ну не OCaml-а, так Ruby). Т.е. еще сырая и мало где используемая, но уже используемая и набирающая популярность.
Но вместо этого было заявлено о разработке несовместимой с D1.0 версии D2.0. Вот это было ошибка. Лично я тогда решил, что нет смысла делать что-то на D1.0 до выхода D2.0. И, боюсь, не я один.
Кстати, если посмотреть на языки, которые достигли изрядной популярности (С++, C#, Java, Ruby) -- у них всех есть общая черта -- они не ломали коренным образом совместимости с ранее написанным кодом. Да, мелкие усилия для перехода на новую версию нужно было приложить. Но не более того.
А разработчики D на этот принцип наплевали. Поэтому самому языку ничего не светит, пока эти люди им занимаются.
И еще добавлю. Даже если D2.0 появится в течении этого года, его время, имхо, уже упущено. C++0x уже проникает в массы. Да, в C++0x нет сборки мусора, но уже есть лямбды, rvalue references, библиотека tr1 со стандартным shared_ptr. Плюс огромное количество кода, который будет без проблем переведен на C++0x. Смысла переходить на D2.0 нет.
ОтветитьУдалитьРазработчикам D уже нужно выпускать не D2.0, а D3.0 с какими-то killer-фичами. Только вот что это должно быть, чтобы даже меня торкнуло -- хз.
Ну ради справедливости надо сказать что C++0x очень прилично уступает как язык D2. D2 по мощности вполне близок к C++0x + C# 3 :)
ОтветитьУдалитьНо с тем что разработчики D все прошляпили я согласен :(
>Ну ради справедливости надо сказать что C++0x очень прилично уступает как язык D2
ОтветитьУдалитьПо моим поверхностным знаниям C++0x -- да, D2 круче. Но если брать C++0x и D2 как экосистемы, то D2 до C++0x еще пилить и пилить. Один выход VC++2010 и GCC 4.5 чего стоит. А Intel C++ еще раньше фичи из C++0x начал поддерживать.
Как экосистема конечно, вокруг D практически пустыня :(
ОтветитьУдалитьЯ сейчас как раз VC 2010 поставил, ковыряю, как язык после D не впечатляет :)
>как язык после D не впечатляет
ОтветитьУдалитьТак это и обиднее всего -- была хорошая штука, но ее так бездарно просрали.
Имхо, у какого-нибудь Haskell-я больше шансов стать мейнстримом, чем у D.