LINUX.ORG.RU

DMD 2.029

 , ,


0

0

Очередной релиз языка D.

На сей раз обширные изменения коснулись стандартной библиотеки:

  • std.algorithm
  • std.array
  • std.bitmanip
  • std.contracts
  • std.conv
  • std.date
  • std.file
  • std.format
  • std.functional

... и.т.д

+ исправлены некоторые ошибки.

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



Проверено: Shaman007 ()

Ответ на: комментарий от schnauss

> ДЭ не нужен

Спасибо, Капитан Очевидность.

(Спасибо разработчику языка Д, регулярно ловящему на себя шишки, предназначявшиеся D)

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

>Я к тому, что библиотеки надо писать на C, а на C++, D - только конечные приложения.

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

r ★★★★★
()

ДЭйствительно не нужен. Пионерия все никак не успокоится.

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

>Надо просто в 21 веку уже разработать стандартизированный вменяемый формат связываний.

.NET

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

>А библиотеки эфеестивно?

Библиотеки обычно менее сложны структурно и поэтому их писать в этом смысле проще.

А вопрос тут именно в связывании. Си связывается с кем угодно нативно, а вот про остальные языки такого не скажешь.

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

> А вопрос тут именно в связывании. Си связывается с кем угодно нативно, а вот про остальные языки такого не скажешь.

Да. Это достаточно серьезная проблема. Но на все это в С++ есть extern "C", но это поможет только если интерфейс не слишком сложный

да и подходит это опять же к простым библиотекам

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

В С неичего переносить не надо - он вы этом смысле не нужен.

r ★★★★★
()

Две большие фичи в этой версии:
1. function literal теперь literal во всех смыслах. Ими можно даже параметризовать шаблоны.
2. Один из пользователей случайно обнаружил, что при обьявлении анонимных функций и делегатов происходит вывод типов аргументов. Когда это было реализовано не помнит даже автор. :)

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

Вру. Автор помнит. type inference аргументов реализован специально для template function literals.

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

> 1. function literal теперь literal во всех смыслах. Ими можно даже параметризовать шаблоны.

Если не сложно, дай URL на страничку документации, где эти новые function literal описаны. А я что-то не вижу :(

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

>> Но на все это в С++ есть extern "C"

> Это для использования Сишных функций в C++, но не наоборот.

Вы бы это... с травой завязывали бы.

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

Похоже документация немного отстаёт. Вот пример:

import std.stdio: writeln;

void foo(alias f)() {
     writeln(f(3, 4));
}

void main() {
    foo!((x,y){ return x * y; })();
}

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

> void main() { > foo!((x,y){ return x * y; })(); > }

Похоже, количество способов записать лямбда-функцию в D начинает зашкаливать... Эх, а так все хорошо начиналось :)))

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

>Похоже, количество способов записать лямбда-функцию в D начинает зашкаливать... Эх, а так все хорошо начиналось :)))

Язык который призван заменить С++ обречен повторить его судьбу:)

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

>>Похоже, количество способов записать лямбда-функцию в D начинает зашкаливать... Эх, а так все хорошо начиналось :)))

>Язык который призван заменить С++ обречен повторить его судьбу:)

У D, имхо, нет шансов стать одним из самых восстребованных и широкоиспользуемых языков в мире. Так что судьба C++ ему не грозит. Тем более, что в C++ только-только появляется _единственная_ возможность записать лямбда-функцию.

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

>У D, имхо, нет шансов стать одним из самых восстребованных и широкоиспользуемых языков в мире.

У него сильных конкурентов больше, а killer-features меньше. Так что, да. Уникальную судьбу Си++ он не повторит :)

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

> У него сильных конкурентов больше, а killer-features меньше. Так что, да. Уникальную судьбу Си++ он не повторит :)

Ну дык о том и речь :)

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

Сейчас есть три способа расширить тип. Наследование, opDot, alias this и поговаривают об opDotEx. Из них в первой ветке только наследование. Подозреваю, что к релизу D2 из четырёх способов выживет только наследование и либо alias this, либо opDotEx.

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

foreach ( n; take(2, uniform(0, 0.75)) ) {
writeln(n);
}

Завуалированое "дайте две!". :)

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