Главная
Блог разработчиков phpBB
 
+ 17 предустановленных модов
+ SEO-оптимизация форума
+ авторизация через соц. сети
+ защита от спама

Не пора ли нам в D?

Anna | 24.06.2014 | нет комментариев

На прошлой неделе Андрей Александреску отрапортовал твиттером о первом коммите на языке D в кодовую базу Фейсбука. «5112 lines of sweet code!» В подробностях, опубликованных на форуме dlang.org, Андрей говорит про важные совершенствования в продуктивности, скорости сборки и объеме кода по сопоставлению со ветхим на С . Новость абсолютно восхитительная для D сообщества, так как она служит подтверждением годности языка в контексте профессиональной разработки.

Безусловно, такие новости привлекают внимание разработчиков и за пределами D сообщества. Все же хотят огромнее продуктивности и поменьше кода. Основной вопрос, если Александреску переписывает код с C на D, то не пора ли и нам?

Язык D возник в 2001 году и прогрессировал во многом как альтернатива С , очищенная от тяжелого достояния последнего. Он собрал массу пророческой, считавшихся хиповыми в околоплюсовом сообществе: трейты типов, статические данные, модули. Кое что, как трейты, вошло потом в эталон С 11, кое что, как модули, до сих пор в мире С является предметом обсуждения.

В 2006 году Александреску присоединился к разработке языка, и не бесполезно. Для тех, кто читал «Modern C Design», D не покажется чужим. Он имеет массу вероятностей для статического метапрограммирования. Реально он настоль метаориентирован, что модульные тесты срабатывают двукратно: при компиляции и при выполнении.

D — язык отличный и теперешний. Модульные тесты, кстати, поддерживаются в нем на ярусе языка. Равно как и контрактное программирование либо проверка чистоты функций. ?сно, чем он классен. Но чем он тогда дрянен, раз только через двенадцать лет энергичной разработки он подал первую трусливую заявку на мейнстримность, и то от лица одного из авторов?

Во-первых, он все-таки трудный. Так не принято, вероятно, говорить, но он подлинно требует от программиста сосредоточения и понимания внутренней кухни, а многие, и я в том числе, не любят думать головой при программировании. Достаточно досадно, разбираясь со трудным алгорифмом, получить от компилятора сообщение: “(int) Is not an Expression”. Доводится задумываться над тем, откуда вообще здесь взялся int, какой тест его принес и отчего. А хочется чай задумываться над алгорифмом. Метапрограммирование подлинно приносит в программирование еще одно измерение. Но не все умеют и любят им наслаждаться.

Во-вторых, и это следствие первого, сообщество его немногочисленно. Правда единовременно не так уж и немного: вопросы на StackOverflow, скажем, пускай не мигом, но все-таки находят ответчиков, а множество вопросов без подвоха вообще гуглится и находится прямо на dlang.org (кстати, небольшой совет, гуглить вообще стоит по «dlang», а не «d»). Впрочем маленькое сообщество — это все же маленькое сообщество. Локальных ивентов по D в ближайшее время не предвидится.

В-третьих, и это следствие второго, библиотек под D искренне немного. Кое-что имеется, да, но если пройтись по гитхабу, то множество разработок будут заброшены их авторами на ранней стадии и никем не подхвачены. Единовременно с этим, стандартная библиотека, скажем, страдает раздвоением фигуры. Помимо стандартного Phobos сообщество энергично пропагандирует Tango, которая в всеобщем делает то же самое, что и Фобос, но больше по-рабоче-крестьянски. Невзирая на то, что Фобос понемногу вбирает в себя удачные вещи из Танго, и открытого раздора библиотек как бы как нет, в некоторых сорцах дозволено видеть различные сборки под различные библиотеки, а это имеет дрянный запах.

В-третьих с половиной: инструменты, IDE, книги, туториалы и т. п. Все есть, но каждого немного.

То есть в тезисе язык находится на положительном пути. Он давным-давно теснее вышел из точки А, и только-только, в лице его авангарда числом 1 (один), дотянулся до точки Б. Это теснее причина почитать про него статей и вообще различно насторожиться. Но стоит ли браться переписывать код с C на D в погоне за счастьем и убыстрением сборки? Как мне кажется, еще не пора, если только вы не Александреску.

 

Источник: programmingmaster.ru

 

Оставить комментарий
Форум phpBB, русская поддержка форума phpBB
Рейтинг@Mail.ru 2008 - 2017 © BB3x.ru - русская поддержка форума phpBB