Что-то на выходных потянуло на философские размышления о времени. И как-то вспомнился такой язык программирования, как D. Вальтер Брайт начал им заниматься в 1999-м, впервые D был представлен миру в 2001. А сейчас на дворе уже 2012-й. Ни много, ни мало, но на разработку D уже ушло 13 лет, а с момента его появления на публике минуло уже 10 лет.
Для сравнения: язык C++ начал свою историю с 1979-го, имя свое получил в 1983-м, а первый публичный релиз состоялся в 1985-м. Через 13 лет после начала работ над C++ – а это 1992-й год – он был уже вполне себе мейнстримовым языком. Через 10 лет после публичного релиза – 1995-й – самым мейнстримом из мейнстримов. Работы по стандартизации C++ шли полным ходом. STL к тому времени уже существовал, и самым серьезным образом дорабатывался чтобы войти в стандарт языка.
Я с языком D познакомился где-то в районе 2001-2002 годов. Тогда было понятно, что это еще очень сырой проект. Но интересный. Поэтому время от времени его развитием я интересовался. И мне нравилось то, что я видел. Язык развивался в нужную сторону. В частности, со временем Брайт добавил в D шаблоны, да какие шаблоны! В C++ на тот момент таких не было.
В общем, на мой взгляд, где-то в районе 2005-2006 годов язык D уже был готов к релизу. Да и момент тогда был очень удобный. Ведь в это время случился взрыв интереса к Ruby на волне успеха Ruby-On-Rails. И Ruby тогда очень хорошо показал, что в какой-то конкретной нише может выстрелить даже не очень известный язык, без большого коммьюнити, без большого количества инструментов, без поддержки больших игроков.
И можно было бы вспомнить тогдашнюю ситуацию с C++. Это было время, когда усилиями Sun (Java) и Microsoft (C#) программирование на неуправляемых языках (т.н. native code) начало приобретать черты маргинального направления. И будущее самого языка C++ было туманным: работа над следующим стандартом языка казалась долгостроем, который никогда не закончится.
Вот в этот момент язык D, который был почти что C++, но много лучше, имел свой шанс на успех.
В то время я сам был готов его использовать. Для этого нужна была всего лишь малость – стабилизация. Выпуск официальной версии языка и переход только к его поддержке – исправлению ошибок, оптимизации, совершенствованию инструментария, расширения библиотек и т.д. Без этого взять курс на переписывание в течении нескольких лет нескольких сотен тысяч строк C++ного кода с параллельной разработкой новых проектов уже на D я бы не решился.
Такой переход к стабилизации языка для Вальтера Брайта был сродни подвигу. Если кто тогда следил за D, тот может помнить, что Брайт выпускал новые версии компилятора где-то раз в 2-3 недели. Иногда добавляя что-то очень классное, иногда ломая совместимость со старым, иногда просто устраняя несколько десятков ошибок. Но никто тогда не видел ни какого-то плана развития языка, ни даже списка озвученных целей, которые Брайт стремиться достичь в D.
Тем не менее, в конце 2006 в конце туннеля забрезжил свет и в самом начале 2007 состоялся релиз D 1.000.
Казалось бы – вот оно, свершилось! Но счастье длилось очень недолго. Уже по весне 2007-го зашли разговоры о языке D2, который не будет совместим с D1. И в середине 2007-го появилась первая версия компилятора D2. После чего развитие D2 пошло по тому же сценарию, что и D1 – периодические релизы новых версий компилятора и непонятное развитие языка по одному автору ведомому плану.
Это был трындец. После такого поворота даже мне, практически евангелисту языка D, стало понятно, что с D связываться нельзя. Он не взлетит.
В январе 2012-го исполнилось пять лет с релиза D 1.0. Пять лет! Это очень немаленький срок. И где же сейчас D 1.0? Что на нем написано? Какое распространение он получил? Полагаю, все это уже чисто риторические вопросы.
К чему я весь этот поток сознания выплеснул на головы читателей? Когда появились разговоры о D2 многие думали, что это ошибочное решение. Но доказать правомочность их опасений могло только время. И вот незаметно пробежало пять лет. Можно делать неутешительные выводы – скептики оказались правы :(