LINUX.ORG.RU

Создание D foundation, организации, которая будет заниматься развитием языка

 


0

5

Сегодня Андрей Александреску, один из соавторов языка D, довольно известный также в мире С++, сделал неожиданное заявление — он уходит из Facebook, где работал последние пять лет, чтобы вплотную заняться развитием языка D. Он также заявил о начале процесса по созданию D foundation — “организации D” или “фонда D”, организации, которая будет заниматься развитием и продвижением языка. Он также заявил, что доходы от продаж его книг будут идти в бюджет вновь созданной организации.

Анонс на официальном форуме - http://forum.dlang.org/post/xsqrdgwnzehdmfmvcznn@forum.dlang.org

Будущее языка будет лучезарным. D'scuss?

В этом августе D очень активно шевелится. Буквально вчера был анонс на оф. форуме о благополучном переходе фронтенда с С++ на D (полшага до бутстрапа!), выход новой версии языка, теперь еще D foundation.

tired_eyes ()
Ответ на: комментарий от anonymous

Ну как же на ЛОРе без родного «ненужно»? Считай, освятил топик.

tired_eyes ()
Ответ на: комментарий от DELIRIUM

Ага. Ждем подробностей в ближайшее время (чувствую себя репортером).

tired_eyes ()

Насколько долго продержится эта фаудэйшн? Вот кончатся у Александреску деньги, и он пойдёт работать обратно в Facebook. Надо ему на D начать писать «большой и важный» проект, типа как Servo на Rust. Иначе ничего хорошего из этой затеи не выйдет.

rupert ★★★★★ ()
Ответ на: комментарий от tired_eyes

Э, батенька, лисп, он живет в веках, как подвиг народа. А ваш D - ненужно, пока не докажет своё удобство на практике.

anonymous ()
Ответ на: комментарий от tired_eyes

В продуманном дизайне, удобстве и выразительности.

Ты точно о D сейчас? Если с крестами сравнивать, то может быть(хотя сборщик мусора в D слишком навязчивый, например).

Но с выходом C++11, 14, а вскоре и 17, преимуществ все меньше. Особенно с учетом существующей кодовой базы.

С другими же языками сравнивать вообще бессмысленно.

anonymous ()
Ответ на: комментарий от anonymous

Модулей в С++ до сих пор нет и непонятно, когда будут. Менеджера пакетов нет. Центрального репозитория пакетов нет. Нормального метапрограммирования нет и вряд ли уже будет. Препроцессор - осколок доисторического говна - никуда не денется. Работа со строками и массивами уродлива и останется таковой. Ranges только в жирнобусте, который сам по себе вызывает множество нареканий. auto отменили, насколько я знаю.

В последних версиях С++ стандарта проделана большая работа, но есть вещи, которые в крестах будут уродливы до конца. Привыкнуть ко всему можно, но «привык» и «хорошо» - это все же немного разные вещи.

tired_eyes ()
Ответ на: комментарий от tired_eyes

язык хорош, когда на нем пишут реальные проекты и эти проекты приносят профит. чуешь, где D?

anonymous ()
Ответ на: комментарий от tired_eyes

В этом августе D очень активно шевелится

Опарыши.

anonymous ()
Ответ на: комментарий от tired_eyes

Что? В каком смысле auto отменили?

anonymous ()
Ответ на: комментарий от tired_eyes

Модулей в С++ до сих пор нет и непонятно, когда будут

Ну и что? Возможно, будут в 17. Не сказал бы, что это критичная вещь.

Менеджера пакетов нет

Никогда не понимал, зачем он на уровне языка. Особенно если речь о кроссплатформенности без потери эффективности.

Нормального метапрограммирования нет и вряд ли уже будет

«Нормальное» - это какое? =) Вкусовщина.

Того, что есть, вполне достаточно. Возможности D не стоят перехода на новый язык.

Препроцессор - осколок доисторического говна - никуда не денется.

А он тебе сильно мешает?

Работа со строками и массивами уродлива и останется таковой.

Опять вкусовщина. std::basic_string и std::vector вполне юзабельны.

Ranges только в жирнобусте, который сам по себе вызывает множество нареканий.

Это проблемы библиотек, а не языка. Не так уж и нужно, раз не распространяется широко.

auto отменили, насколько я знаю.

Судя по всему, твои знания C++ крайне слабы.

Привыкнуть ко всему можно, но «привык» и «хорошо» - это все же немного разные вещи.

«Хорошо» не бывает. Бывает «подходит» или «не подходит». Во всем есть свои преимущества и недостатки.

anonymous ()
Ответ на: комментарий от tired_eyes

Я считаю, что это мощный, удобный и выразительный язык

По сравнению с чем? С C++? Возможно. Но C++ выигрывает другим. Сообществом, стандартизацией, развитием, стабильностью, библиотеками, рынком труда, переносимостью, широтой использования(тот же D без сборки мусора становится ненужным шлаком, а сборка мусора не везде хороша) и т.д. и т.п. Я вот смотрю на D и вижу определенные плюшки. Но они не стоят того, чтобы переходить с C++ на D. Даже Rust в этом смысле перспективнее - у него есть фичи по безопасности. У D нет ничего, кроме косметики. При этом язык довольно сложный.

А если сравнивать с другими языками, то не такой уж D гибкий и выразительный. Тут нас с одной стороны поджимают динамические языки вроде Питона и Руби, а с другой - функциональные/гибридные языки вроде Haskell, Ocaml и практичных Scala и F#. С Java D не сможет тягаться с точки зрения инфраструктуры и фреймворков. Тоже касается и C#, которому D может проиграть и с точки зрения языковых фич.

anonymous ()
Ответ на: комментарий от tired_eyes

В продуманном дизайне, удобстве и выразительности.

С случае с D это было было актуально 15 лет назад, когда он только появился. Сейчас же D выглядит как говно мамонта, если сравнивать с другими языками.

hateyoufeel ★★★★★ ()
Ответ на: комментарий от anonymous

Сообществом

Ахахахахах

стандартизацией

Серьёзно? И даже export везде был? Про отдельные «особенности» некоторых реализаций STL я промолчу.

развитием

В 2015 до сих пор надо с памятью руками работать.

стабильностью

bash: segmentation fault. Алсо http://trevorjim.com/lets-sunset-c-c /

библиотеками

См. сообщество и стандартизацию

рынком труда

Тут C++ просасывает как минимум жабе.

переносимостью

Нет, это уже не смешно.

TL;DR C++ давно надо закопать, но D - дерьмовая замена.

hateyoufeel ★★★★★ ()
Последнее исправление: hateyoufeel (всего исправлений: 1)

Будущее языка будет лучезарным.

В талксы?

Manhunt ★★★★★ ()
Ответ на: комментарий от tired_eyes

Буквально вчера был анонс на оф. форуме о благополучном переходе фронтенда с С++ на D (полшага до бутстрапа!)

Любопытно, что у Rust этот шаг давно позади.

В этом августе D очень активно шевелится.

Бесплодные метания, время D уже истекло.

Manhunt ★★★★★ ()
Ответ на: комментарий от hateyoufeel

Вообще-то с D и было сравнение.

anonymous ()
Ответ на: комментарий от hateyoufeel

Ахахахахах

Что смешного?

Серьёзно?

Вполне.

В 2015 до сих пор надо с памятью руками работать.

Руками не надо, есть RAII и подсчет ссылок. Отсутствие(опциональность) сборщика мусора является одной из ключевых фич C++.

Под стабильностью языка понималась стабильность языка. Внезапно. Причем тут рукожопость отдельных разработчиков пока не ясно.

Тут C++ просасывает как минимум жабе.

А кто тут говорил о жабе?

anonymous ()
Ответ на: комментарий от hateyoufeel

Нет, это уже не смешно.

А чего тут может быть смешного?

C++ давно надо закопать, но D - дерьмовая замена.

...

C++ давно надо закопать, но С - дерьмовая замена.

C++ давно надо закопать, но Java - дерьмовая замена.

C++ давно надо закопать, но Go - дерьмовая замена.

C++ давно надо закопать, но Rust - дерьмовая замена.

...

anonymous ()
Ответ на: комментарий от anonymous

есть RAII и подсчет ссылок

Это убогие костыли, и нормальный GC ими не заменишь.

Отсутствие(опциональность) сборщика мусора является одной из ключевых фич C++.

Это не фича. Просто GC нормально хрен приделаешь когда у тебя указатели присунуты в язык по самые гланды и без них шагу ступить нельзя.

Причем тут рукожопость отдельных разработчиков пока не ясно.

Если у гугла рукожопые разработчики (см. статистику багов в хроме), то где чёрт возьми они вообще нормальные?

hateyoufeel ★★★★★ ()
Ответ на: комментарий от anonymous

C++ давно надо закопать, но С - дерьмовая замена.

C ещё хуже C++ и не может быть ему заменой.

C++ давно надо закопать, но Java - дерьмовая замена.

Java отлично заменила C++ в энтерпрайзном софте. Сравни треш и угар середины 90х и сейчас.

C++ давно надо закопать, но Go - дерьмовая замена.

Go - просто дерьмовая поделка, зачем ты про него вспомнил?

C++ давно надо закопать, но Rust - дерьмовая замена.

Rust кстати отлично заменяет C++.

hateyoufeel ★★★★★ ()
Ответ на: комментарий от hateyoufeel

Это убогие костыли, и нормальный GC ими не заменишь.

Ровно наоборот, убогий GC не может иметь такие же качества и потому позорно выкинут на помойку, например, в Apple и в новых языках Swift и Rust.

anonymous ()
Ответ на: комментарий от anonymous

широтой использования(тот же D без сборки мусора становится ненужным шлаком, а сборка мусора не везде хороша)

ну её можно не использовать. правда, для этого нужно переписать рантайм D, который сильно на неё завязан (Phobos).

Я вот смотрю на D и вижу определенные плюшки. Но они не стоят того, чтобы переходить с C++ на D. Даже Rust в этом смысле перспективнее - у него есть фичи по безопасности. У D нет ничего, кроме косметики. При этом язык довольно сложный.

я смотрю на него с другой перспективы: вот А. Столяров в публикациях на тему «универсальный ЯП» пишет, что таким языком может быть С++. таким языком может быть не только С++, но и D, и даже Rust. это всё на тему «не платишь за те фичи, которые не используешь». но здесь у D потенциальные плюсы — typeinfo, type types и рефлексия в рантайме. и правильные концепты, на CTFE + typeinfo замешанные. а у С++ минус в том, что рефлексии нет — нужно делать велосипед. у Rust потенциально больше перспектив, однако: если сделать тот же GC отстреливаемым, библиотекой и контролируемым ключом компилятора (не линковать эту библиотеку). опять же, плагины к компилятору решают.

в общем, хочется ключика как в Nim / Nimrod для отключения GC.

У D нет ничего, кроме косметики.

у С++ даже этой косметики c полноценным CTFE нет. есть неполноценный. но Столяров и тут изображает «алгебру языка программирования», вводит «операцию пробел» и прочие извращения. то есть, что-то эмулирует на неполноценном CTFE. тезис в том, что в D такие вот штуки делать проще. не говоря уже о Rust с плагинами компилятору, макросами и аннотациями.

С Java D не сможет тягаться с точки зрения инфраструктуры и фреймворков.

ну например SWT что в Java, что DWT в D практически одинаковый.

Тоже касается и C#, которому D может проиграть и с точки зрения языковых фич.

это каких фич ?

anonymous ()
Ответ на: комментарий от hateyoufeel

TL;DR C++ давно надо закопать, но D - дерьмовая замена.

хз. вот OpenMorrowind например, переписали с D на C++. и что? разумное ли это решение?

с одной стороны, скорость разработки: сначала понизилась и стала меньше, чем было на D. но подключились новые люди. правда потом в ChangeLog стало много записей типа «исправили переполнение буфера и другие типичные детские проблемы с++». которые бы вообще не возникали на D, да.

другое дело, что эти программисты на С++ не хотят таки изучать «С++, сделанный правильно». а не на С++ — тем более. профит спорен.

anonymous ()
Ответ на: комментарий от Manhunt

с точки зрения «универсального ЯП» А. Столярова — ИМХО, вполне адекватная. если допилить нужные плагины к компилятору и макросы, ога.

anonymous ()
Ответ на: комментарий от anonymous

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

Их волнует стоимость проекта, time to market, и возможность нанять достаточное количество владеющих языком кодеров. Где-то в этой плоскости Rust-у и предстоит бороться с С++, с Питоном, и с прочими уже доказавшими свою состоятельность языками.

Manhunt ★★★★★ ()
Последнее исправление: Manhunt (всего исправлений: 7)
Ответ на: комментарий от anonymous

которые бы вообще не возникали на D, да

Откровенное вранье.

anonymous ()

А лично мне этот язык нравится, я бы на нем писал, и QtD вот бы поддерживалось прямо в Qt Creator...

I-Love-Microsoft ★★★★★ ()
Ответ на: комментарий от anonymous

эти программисты на С++ не хотят таки изучать «С++, сделанный правильно». а не на С++ — тем более.

Кого волнует мнение ущербных мозгом?

hateyoufeel ★★★★★ ()
Ответ на: комментарий от anonymous

убогий GC не может иметь такие же качества

А вот если бы ты ещё пруф этого привёл, было бы вообще замечательно. Rust не имеет GC потому что разработчики считают, что время жизни объектов можно предсказать во время компиляции через статический анализ, из-за чего в языке появились конструкции типа заимствования и т.д. В случае со Swift всё ещё проще: legacy в виде ObjC.

hateyoufeel ★★★★★ ()
Последнее исправление: hateyoufeel (всего исправлений: 2)
Ответ на: комментарий от Manhunt

стоимость проекта, time to market, и возможность нанять достаточное количество владеющих языком кодеров

Ни один язык не имел таких показателей изначально. Когда Java появилась, C++ уже имел и кучу батареек, и кадров, и тулчейн и т.д. И D уже имел бы, если бы не история с D1/D2.

Можно понять тех, кто сейчас лопатой размахивает, как бы язык формально с 2001 года существует. Но в 2007 был очень конкретный полом обратной совместимости и куча перспективных проектов просто умерла. Тем не менее, сейчас все достаточно стабильно и «катастроф» не предвидится, поэтому все же хочется быть оптимистом. В конце концов, если бы не ломалась обратная совместимость, D как язык был бы сейчас хуже (хотя экосистема была бы лучше).

tired_eyes ()
Ответ на: комментарий от tired_eyes

Ни один язык не имел таких показателей изначально.

Тем не менее, при принятии решений именно эти показатели рассматриваются. Я могу придти к менеджменту и заявить, что новый проект нам нужно писать на ${NEW_FUNNY_LANG} потому что по сравнению с теми языками, которые мы сейчас используем, у нового языка есть ${LIST_OF_KILLER_FEATURES}. Так вот, если смена языка приведет к увеличению стоимости/сроков/кадровым_трудностям, то для менеджмента это будет шоу-стоппер, и никакие гиковские рюшечки оправданием этому быть не могут. Да я и сам не рискну идти и выступать с инициативой перехода до тех пор, пока у меня нет уверенности, что с новым языком не возникнет каких-то труднопреодолимых проблем после того, как мы вбахаем в код на нём несколько человеколет. Подобные инициативы — это большая ответственность, на самом деле.

Когда Java появилась

Java с самого начала обещала снижение стоимости. «Java's write-once-run-everywhere capability»

Manhunt ★★★★★ ()
Последнее исправление: Manhunt (всего исправлений: 3)
Ответ на: комментарий от Manhunt

Все так, но тем не менее новые языки периодически появляются и в некоторых случаях вытесняют старые, несмотря на экономические показатели. Где сейчас какой-нибудь Кобол?

И потом, кровавым энтерпрайзом дело не ограничивается. Ну там,

I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones.

tired_eyes ()
Ответ на: комментарий от tired_eyes

Ну, тот же Rust обещает повысить надежность кода и тем самым сократить количество багов, что в свою очередь должно хорошо сказаться на совокупной продолжительности разработки-тестирования. Кроме того, более надежный софт, при прочих равных, повысит удовлетворенность покупателей. Это selling points, с которыми нужно идти к начальству после того, как Rust вырастет из подгузников и Servo станет самым лучшим броузерным движком в мире и будет работать на личном компьютере директора.

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

И потом, кровавым энтерпрайзом дело не ограничивается. Ну там,

На голом «just a hobby» далеко не уедешь. Особенно, с такими громоздкими языками, как c/c++/d и компания.

Manhunt ★★★★★ ()
Ответ на: комментарий от tired_eyes

На голом «just a hobby» далеко не уедешь.

Огромная часть опенсорса это «just a hobby», и еще больше было таковым в прошлом. Кроме того, у D есть некоторое коммерческое использование, не уровня монстров типа MS и Google, но вполне себе энтерпрайз.

tired_eyes ()
Ответ на: комментарий от tired_eyes

Продуктивность программиста

Есть серьезные сравнения продуктивности D vs C++/boost? Или это твои субъективные впечатления?

Manhunt ★★★★★ ()
Последнее исправление: Manhunt (всего исправлений: 2)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.