вторник, 20 апреля 2010 г.

[prog.d] Язык D обзавелся плагином для Visual Studio

Плагин называется Visual D. Написан на D.

Впечатляет скриншот, который показывает отладку D-шного кода в Visual Studio:

Не могу удержаться, и не спошлить: осталось только нормальный компилятор сделать… :/

8 комментариев:

Quaker комментирует...

Хотел бы поинтересоваться: в каком состоянии, по Вашему мнению, сейчас находится D? Готов ли он для серьезных разработок? Что ему не хватает? Может ли он стать заменой C++?

eao197 комментирует...

Язык D, по моему мнению, находится в глубокой заднице. И единственный шанс оттуда выбраться -- это его форк и самостоятельное развитие в виде независимого от Брайта проекта (например, в рамках llvm).

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

Когда выйдет D2.0 никто не знает. Большинство релизов в ветке D2.0 привносят какие-то новшества. В таких условиях я лично не возьмусь делать что-нибудь на D.

Так что я давно в этом проекте разочаровался. Но смотреть со стороны забавно.

eao197 комментирует...

Добавлю, что я бы на месте Брайта после выхода 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 на этот принцип наплевали. Поэтому самому языку ничего не светит, пока эти люди им занимаются.

eao197 комментирует...

И еще добавлю. Даже если D2.0 появится в течении этого года, его время, имхо, уже упущено. C++0x уже проникает в массы. Да, в C++0x нет сборки мусора, но уже есть лямбды, rvalue references, библиотека tr1 со стандартным shared_ptr. Плюс огромное количество кода, который будет без проблем переведен на C++0x. Смысла переходить на D2.0 нет.

Разработчикам D уже нужно выпускать не D2.0, а D3.0 с какими-то killer-фичами. Только вот что это должно быть, чтобы даже меня торкнуло -- хз.

Rustam комментирует...

Ну ради справедливости надо сказать что C++0x очень прилично уступает как язык D2. D2 по мощности вполне близок к C++0x + C# 3 :)
Но с тем что разработчики D все прошляпили я согласен :(

eao197 комментирует...

>Ну ради справедливости надо сказать что C++0x очень прилично уступает как язык D2

По моим поверхностным знаниям C++0x -- да, D2 круче. Но если брать C++0x и D2 как экосистемы, то D2 до C++0x еще пилить и пилить. Один выход VC++2010 и GCC 4.5 чего стоит. А Intel C++ еще раньше фичи из C++0x начал поддерживать.

Rustam комментирует...

Как экосистема конечно, вокруг D практически пустыня :(
Я сейчас как раз VC 2010 поставил, ковыряю, как язык после D не впечатляет :)

eao197 комментирует...

>как язык после D не впечатляет

Так это и обиднее всего -- была хорошая штука, но ее так бездарно просрали.

Имхо, у какого-нибудь Haskell-я больше шансов стать мейнстримом, чем у D.