LINUX.ORG.RU

Вышла новая версия компилятора языка D DMD 2.064

 ,


0

4

C момента последнего релиза были проделаны большие работы по улучшению компилятора и самого языка. К основным нововведениям относится улучшенная система импорта модулей и расширение использования ключевого слово new. Множественным улучшениям подверглись шаблоны языка, которые получили не только новый синтаксический сахар, но и возможность неявного указания типа, а также ряд других новых возможностей.

Нововведения коснулись также системы документирования исходного кода DDoc, которая теперь выполняет анализ комментариев исходных кодов и может предупреждать программиста, если пример кода в комментарии не соответствует последующему исходному коду.

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

В настоящий момент идет активное расширение функциональности системной библиотеки Phobos и работа над созданием универсального кросплатформенного графического тулкита D-Quick

>>> Подробности

★★

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

О да! Тут вполне правильно написано все http://dlang.ru/Why-D-is-Better

Жгут!!!

Да прямо напалмом. Вот это вообще порвало на кусочки:

В реальной жизни вы не встретите ни одного серьезного приложения, которое бы базировалось на своей изначальной реализации. Каждые 5 лет мы шагаем в новые измерения и только самый прозорливый разработчик может себе позволить код, который не выкинут через 10 лет.

Авторы в какой-то другой реальности живут.

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

Жгут!!! D! Продакшен!!! Хочу еще!!!!!

По ссылке много странного, конечно, но что вас смущает в сочетании «D» + «продакшен»? (кроме того, что такого слова не существует)

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

Вы прикалываетесь?

Вот пример новости о D: Вышла очередная референсная реализация компиляторов языков D1 и D2

часть функций, в первую очередь в модулях std.string и std.uni, была переименована для соответствия с разработанными правилами именования, старые названия частично сохранены для совместимости, но будут удалены из последующих версий;

x86_64 ★★★
()
Ответ на: Вы прикалываетесь? от x86_64

Вы прикалываетесь?
Вот пример новости о D: Вышла очередная референсная реализация компиляторов языков D1 и D2

часть функций, в первую очередь в модулях std.string и std.uni, >была переименована для соответствия с разработанными правилами >именования, старые названия частично сохранены для >совместимости, но будут удалены из последующих версий;

Ну вы даете. Новость то двухлетней давности. Вполне возможно Ди использовать для продакшена. Только вот не во всех сферах - это да. Накидать быстренько форму для доступа к БД для офиса - для этого есть более лучшие инструменты. А тот же сайт - вполне люди пишут, и все летает говорят (сам не писал, не проверял, но с людьми общался - в том числе и на заказ пишут). vibe.d (фреймворк для async io), кстати, один из ярких примеров возможностей языка.

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

Ну вы даете. Новость то двухлетней давности.

Это вы даете. Люди делающие такое без смены первой цифры идут лесом. Этим самым они кричат, что они ни для чего не годны, кроме как палочкой потыкать.

x86_64 ★★★
()
Ответ на: Вы прикалываетесь? от x86_64

Нет, я на полном серьёзе. Я как бы работаю в компании, которая использует D в качестве основного языка уже более трёх лет и с интересом послушаю рассказ о то, что это, оказывается, глупо/невозможно.

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

Именно D2?

D1, в процессе перехода на D2 (пока используется в части внутреннего инструментария). А это что-то _радикально_ меняет?

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

D1 [...] А это что-то _радикально_ меняет?

В D1 давно не делается breaking changes, а в D2 - постоянно. Считать ли это «радикальным» - не знаю.

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

В D1 давно не делается breaking changes, а в D2 - постоянно. Считать ли это «радикальным» - не знаю.

На самом деле, в D2 уже довольно давно нет настоящих breaking changes (почти все нынешние случаи это починка accepts-invalid багов), а D1 от изменений отнюдь не избавлен, так как некоторые коммиты идут через cherry-pick в соответствующую ветку.

Только вот на практике значимость этого, мягко говоря, переоценена. Используется внутренняя сборка компилятора, изредка обновляется (когда есть время, без всякой связи с официальным релизами). Небольшие затраты времени на то, чтобы быть в курсе грозящих изменений с лихвой компенсируются экономией времени на том, что это (слава богам!) не С++.

Вот новых программистов найти трудно, это ощутимая проблема.

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

Нет, я на полном серьёзе. Я как бы работаю в компании, которая использует D в качестве основного языка уже более трёх лет и с интересом послушаю рассказ о то, что это, оказывается, глупо/невозможно.

Вопервых, желаю что бы вы не «как бы работали», а работали. :) Во вторых 3 года. За этот срок нормальный проект только подойдет к завершающей стадии. Пока он один - никакие изменения не страшны. Если таких проектов десяток - будут проблемы. У множества мелких проектов проблем то же быть не должно, в случае если надо будет что-то изменить, а язык уже поменялся, просто переписываешь и все. И да - это не продакшен. Это наколенное макетирование. В принципе, и на нем можно деньги зарабатывать.

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

За этот срок нормальный проект только подойдет к завершающей стадии.

~3 года этот тот срок, который система используется на живых серверах и продаётся. И да, это нормальный срок для разработки на C++. Для D нормальные сроки в несколько раз меньше. Впрочем, изначальные прототипы я игнорирую.

Чтобы не продолжать домысливать, то, чего нет - http://www.sociomantic.com

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

Я так понимаю, что вы уже пытались разработать какой-то проект на Ди и столкнулись с вышеуказанными вами проблемами, которые поставили крест на вашем проекте? Или это просто предположения о непригодности к продакшену?

Я пишу на Ди начиная с 2.057 версии и да, бывает, что код не собирается новой версией. Как например недавно перешел на 2.064 и он отказался собирать один проект (из нескольких). Было сильное нежелание разбираться что да как, но пришлось и оказалось, что был костыль и он на самом деле был не нужен. Я даже не знаю, жаловаться на это или наоборот радоваться что компилятор стал строже?

Были пару раз изменения которые заставили готовый код модифицировать в связи с удалением deprecated кода, но они заняли немного времени. С каждым релизом компилятор становится лучше, а с breaking changes я фактически не сталкивался. Это я еще раз к тому, что вы сами пробовали писать на Ди?

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

Я пишу на Ди начиная с 2.057 версии и да, бывает, что код не собирается новой версией. Как например недавно перешел на 2.064 и он отказался собирать один проект (из нескольких).

Я пишу с 2010 года, версия, кажется 2.048. С тех пор была дюжина изменений, которые приводили к некомпилируемости кода. Большинство из них я могу понять, хот некоторые не очень удобны. Но то, что теперь многие математические функции не хотят работать с переменными целых типов и приходится писать явное конвертирование в real, мне не очень понятно.

При этом я пробовал Go и соглашусь, что это язык гораздо более простой. D мне больше нравится, но в Go есть хорошие находки: множественный возврат значений функции там лучше реализован, например.

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

Да, использование real меня тоже смутило. И я не знаю, хорошо это или плохо - с одной стороны мне это непривычно, с другой стороны возможно кому-то наоборот real тип удобен, ведь все-таки это матрасчеты. Я встречал как минимум одну плюсовую либу, которая для улучшения расчетов свои типы вводила и функции - в Ди этого просто не надо будет делать.

Сам я Go не пробовал, но люди утверждают, что он более простой, причем заметнее. Но и по возможностям в целом уступает. Еще читал такую оценку, что Google не стоит за разработкой языка, такой цели у них не было, просто гугл в свое время (сейчас вроде лавочку они прикрывают) разрешал сотрудникам работать над личными проектами и это как раз личный проект некоторых инженеров гугл. Что многое объясняет. В любом случае нужно больше языков, хороших и разных. :)

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

Еще читал такую оценку, что Google не стоит за разработкой языка

Еще как стоит. В Google есть люди, которые на full-time занимаются языком Go.

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

Я так понимаю, что вы уже пытались разработать какой-то проект на Ди и столкнулись с вышеуказанными вами проблемами, которые поставили крест на вашем проекте? Или это просто предположения о непригодности к продакшену?

Нет. На нем проектов я не далал. Только смотрел. Многое понравилось. Но мои вкусовые ощущения значения не имеют.

Обязательно нужно отрубить себе голову, что бы убедиться что это плохо?

Я понимаю, что вы технооптимист, и готовы рисковать и тратить время на ликвидацию проблем ради новизны и удобства. Но есть другая категория людей, которая посмотрит на эту технологию, только когда будет версия языка скажем D3, про которую сразу скажут, что не будет ни одной проблемы с совместимостью, и пообещают, что если такая появятся, то ее попытаются тут же устранить.

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

Я пишу с 2010 года, версия, кажется 2.048. С тех пор была дюжина изменений, которые приводили к некомпилируемости кода.

А что именно пишете, если не секрет?

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

Еще как стоит. В Google есть люди, которые на full-time >занимаются языком Go.

Речь о том, что за идеей создания языка Google не стоял. Это личный проект сотрудников, который получил потом поддержку корпорации.

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

Обязательно нужно отрубить себе голову, что бы убедиться что это >плохо?

Обязательно о теплых странах судить по книжкам или лучше все-таки самому съездить? И сравнивать разработку на Ди с отрубанием головы это вы сильно переборщили. Все намного безопаснее.

Я понимаю, что вы технооптимист, и готовы рисковать и тратить >время на ликвидацию проблем ради новизны и удобства. Но есть >другая категория людей, которая посмотрит на эту технологию, >только когда будет версия языка скажем D3, про которую сразу >скажут, что не будет ни одной проблемы с совместимостью, и >пообещают, что если такая появятся, то ее попытаются тут же >устранить.

В том то и дело, что люди разные. И ваше утверждение про breaking changes которые мешают работать при том что сами вы даже не пробовали в этом свете выглядит беспочвенным. Особенно учитывая, что его уже используют в продакшене и не D3, а D1. Кому надо - те делают, кому не надо - ищут причины. Вот и все.

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

Речь о том, что за идеей создания языка Google не стоял. Это личный проект сотрудников, который получил потом поддержку корпорации.

Вообще-то между «не стоял» и «не стоит» очень большая разница :)

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

Суть в том, что хороших языков не существует, по крайней мере в области нативной разработки. Существующие инструменты настолько плохи, что приходится искать «наименьшее из зол». И неуклюжий процесс выпуска компилятора - далеко не самая большая проблема, которую может создать язык.

В итоге единственное что важно - это то, что D поставленную задачу решил. А всё остальное - сильная форумная аналитика в поисках идеала :)

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

Вообще-то между «не стоял» и «не стоит» очень большая разница :)

Согласен, формулировка была неверной. :)

yetanother ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.