LINUX.ORG.RU

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

 ,


0

4

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

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

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

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

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

★★

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

Я выше назвал какие. При этом IDE все равно придется настраивать.

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

Есть куча более адекватных языков для этих целей.

Скажи ещё, что пыхпых. Только он из скриптовых по популярности обгоняет питон.

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

Популярность линукса тоже штука непростая :}

Конкуренция между питоном и руби вполне честная, в отличие от.

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

При чем тут популярность вообще? Быдла всегда больше чем думающих людей вот и петон популярен.

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

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

Именно. Оккам - гавно!

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

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

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

питон это такой современный бесик с которого можно начать, чтобы потом перейти на что-то более адекватное?

А так и есть. У нас тут говностартап по обеспечению свистящими и пердящими говносайтами местный бизнес руками студентов-недучек. Так мы за главный язык для бэкэндов пистон и взяли, именно потому что порог вхождения небольшой, а результат приемлем.

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

Быдла всегда больше чем думающих людей вот и петон популярен.

Сказал писатель на яве, пользователь винды

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

Выражаю Вам искреннее сочувствие. :((

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

Да, почти так и есть. Только не на яве, а на скале, которая у меня немного скрещена с плюсами :)

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

чесгря после питона мне любой язык

честгря после того как питон слил коду на Fortran IV образца 1973 года в 700 раз, в 700 БЛЯТЬ РАЗ на современом железе типа amd opteron, на задаче истечения плоской ламинарной струи, мне хочется убивать программистов на питоне еще на университетской скамье. Когда они вырастут и придут к вам на работу, убивать их будет намного сложнее.

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

Инновации!

ЗЫ Наверное не так пробелы расставили, то было бы все наоборот.

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

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

Именно. Оккам - гавно!

Качество Оккама нерелевантно.

tailgunner ★★★★★
()

работа над созданием универсального кросплатформенного графического тулкита D-Quick

Прошел по ссылке - норкоманство, попытка сделать закос под QML, но с использованием lua. Только если с QML можно задействовать всю Qt, то тут все очень примитивно. Ну и да - жутчайший быдлокод.

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

В ТЗ было написано «увеличить производительность СПО, не менее чем в 10 раз, путем портирования (переноса и адаптации) используемго программного кода на современные СВТ иностранного производства, допущеных к продаже на территории РФ».

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

Это в питоне то? Где я могу поле объекта получить через o['field'], o.field, getattr(o, 'field') и возможно еще какими-то способами?

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

makyrros, привет. Как там, в баньке? Перестанешь скоро кукарекать?

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

Нет. Вы не правы...

... просто используйте правильный калибр. Девятого вполне должно хватить.

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

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

функции надо обязательно именовать, засоряя неймспейс.

Именовать надо, но можно без засорения неймспейса, все же в питоне хотябы можно определять функции внутри других.

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

Это все конечно хорошо, но когда я после этого вижу в коде экранирование переносов строк меня тошнит.

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

попытка сделать закос под QML, но с использованием lua. Только если с QML можно задействовать всю Qt, то тут все очень примитивно

Они собираются со временем перейти на D, так что должно быть не хуже.

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

Неправильно...

...

Почему-то и без эрланга работают высоконагруженные кластеры и никто не жалуется.

/* Fixed. */

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

Возможно...

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

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

Это не плохо, во многих языках данная инструкция является допустимой. Но создатели D решили, что если инструкция не выполняет никакого действия то является ошибочной. Соответственно, компилятор выдает ошибку. И непонятно, что в таком случае делать с scope(exit) и подобными. То есть какое выражение считать последним.

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

поле объекта
o['field']

не можешь

o.field

можешь, и что?

getattr(o, 'field')

getattr(o, 'field', default_value) так лучше?

существенное отличие в том, что в getattr можешь задать имя поля динамически

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

создатели D решили, что если инструкция не выполняет никакого действия то является ошибочной

Это относится только D. У expression-oriented языков такой проблемы нет. Совершенно очевидно, что первое выражение функции излишне:

int f(int x)
{
   x+1;
   x+2;
}

Так что в общем случае я не вижу проблем.

tailgunner ★★★★★
()
Ответ на: slowpoke mode от crowbar

Скажите, он уже поддерживает динамические библиотеки?

Да

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

три клана тулкитофобов

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

special-k ★★★★
()
Ответ на: комментарий от asaw

оно и одиночное не нужно, не то что множественное)

special-k ★★★★
()
Ответ на: комментарий от eugeno

Доо, я ещё удивляюсь как там не заставили ВСЕХ ставить исключительно по 2 пробела и не иначе.

vitalif ★★★★★
()
Ответ на: комментарий от special-k

Пишем ирц-бота. Хандлеры — практически двустрочные функции. Просто вызываем funcs[command](args) вместо портянки switch case. funcs удобнее определить полностью литералом, чем на ходу вгонять туда функции.

PolarFox ★★★★★
()
Ответ на: комментарий от special-k

У тебя до сих пор не прошло фанбойство, болезный?

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

Но почему это она не выполняет ничего? В этом вашем d что, + не возвращает значения? А как тогда работает присваивание?

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

Обычно когда возникает такая ситуация, следом, почти сразу начинает наблюдаться закономерность (повторяющийся код), и хочется сделать одну обобщающую функцию, чтобы стало посуше. А command просто попадает в один из параметров функции. У меня все массивы процев так заканчивались..

special-k ★★★★
()
Последнее исправление: special-k (всего исправлений: 1)
Ответ на: комментарий от tailgunner

Это относится только D.

Так про него я и говорю.

В общем случае, ИМХО, это может быть полезно если вообще убрать return, то есть тогда у функции всегда будет только одна точка возврата. Насколько это будет удобно судить не берусь.

Я имел ввиду конструкции вида

int f(int x)
{
    if(x>100) scope(exit) x+1;
    scope(exit) x+2;
    x+3;
}

at ★★
()

Как раз недавно решил язиык изучуть - читаю «d programing language» потихоньку. Пока впечатления неоднозначные.

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