LINUX.ORG.RU

QtD 0.1

 ,


0

0

Вышел первый релиз QtD — биндинга языка D к фреймворку Qt. Уже работает более чем 150 Qt классов из core, gui и opengl.

Полный список

QtD использует tango и распространяется под GNU GPL v3. Сейчас можно собрать только под GNU/Linux.

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



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

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

> Вообще это зависит.... от бюджета, от компании, от экономической
> ситуации в стране и т.д. Сейчас, к примеру, с учётом того что многие

> компанию поджимают персонал да и кризис вокруг - это сделать попроще.


Странно. У меня было впечатление что в первую очередь повыгнали разный баласт. А в результате ситуация должна стать еще хуже. Впрочем не знаю. Последние полтора года никого не собеседовал :).

> Не думаю, что действительно опытных разрабов, к примеру, на Java, C#

> или Python найти серьёзно легче. :)


Не. Это не java/c#/python/lisp итд найти проще, а C++ ников сложнее :).

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

> Кстати говоря как я понял в Китае немаленькое сообщество D(относительно конечно).
Не знаю насчёт Китая. Но в Японии есть Kenta Cho (ABA Games) и книга по D.

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

>> стандартизацией занимался не комитет, а сообщество и автор языка

> Судя по всему это уникальный случай.

В Java и C# не так?

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

>Странно. У меня было впечатление что в первую очередь повыгнали разный баласт.

Угу, а небалласт - поприжали, ну или сделали попытку. :) Вообще всегда есть некоторое количество гавайцев, которое чем-либо недовольны (причём мы все знаем фирмы-производители такого рода товара :)), а теперь, в условиях кризиса, образовалось некоторое дополнительное количество недовольных гавайцев.

>Не. Это не java/c#/python/lisp итд найти проще, а C++ ников сложнее :).

Ну... 20 человек... опытных... ммм... сомнительно.

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

upd (конец мысли): канэшна сишников-с-крестами найти посложнее будет, но и прочих - хрен отыщешь. :)

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

Вы бы почитали черновой стандарт C++09.

Ну чтож, ещё лет 10 и можно будет пользоваться (без шуток), отстоится, ненужное отвалится, молодцы, если не бросите - а то каждый год новый ультрамодный язык это слишком.

Про препроцессор, даже туп страуса перманентно хотел его убрать, но заменить не смог. Ежели эти ребята смогли без минусов - тогда они гении.

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

> То есть пока плюсисты роятся в коде друг...

Как замечательно, что пришёл настоящий специалист и нам всё разжевал. Но вот беда, тех учёных которые из ряда экспериментов оставляют только подходящее под их гипотезу в науке называют шарлатанами. В нашем случае, это 1(один) эксперимент. Ни входных, ни выходных данных мы не имеем. Требуется: поверить на слово. Вывод: не верить, ибо неизвестна область действия(хар-ки проекта), квалификация студентов-халтурщиков, квалификация erlang-гуру, квалификация руководящего персонала что 2 года не могли выбрать инструмент и видимо внятно поставить задачу.

Есть мнение что ADA, LISP и С тоже очень старые.

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

Некоторые применения препроцессора заменены аккуратно подобранными фичами языка, остальные - mixin'ами, лишёнными недостатков текстового препроцессора, но сохраняющими почти всю его мощь. Например, в template mixin допускаются только декларации. Функций, переменных, классов и т.д. А string mixin может появляться только в там, где может быть expression или statement, т.е. заменить "{" на "BEGIN" нельзя. :)

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

> s/T<T::it<bt> >::tt >/T<<T::it<bt> >::tt >

Врёте, стандарт iso14882 не позволяет <<, надо так ;-) :

s/T<T::it<bt> >::tt >/T< <T::it<bt> >::tt >

Что-то здесь безграмотное чудится. Кстати, C++ с шаблонами только мне LISP напоминает?

Кроме того, если вы про instantiation, то в новом c++09 можно будет писать auto. И '<<' он будет понимать.

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

Меня беспокоит include. Значит ли это автоматический header precompiling? Как оно в core debug в библиотеке будет выглядеть.

Далее, как обрабатывается типа такой ФИГНИ: gcc -DФИГНЯ

Или конкатенация строк.

Типа вот такого сойдёт(с вариацией по ФИГНЕ)?: # define MACRO_EP(pars,args...) PLJK(E,pars, ##args)

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

сто пудей моно, ну может придётся типа UL написать в конце или типа того.

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

> Меня беспокоит include. Значит ли это автоматический header precompiling?
Хедеров нет. Сгенерённый компилятором .di или, при его отсутствии, .d парсится компилятором при семантическом анализе, чтобы определить типы символов.

> Далее, как обрабатывается типа такой ФИГНИ: gcc -DФИГНЯ

-DФИГНЯ в C используеся для conditional compilation. Аналог в dmd - -version=ФИГНЯ

> Типа вот такого сойдёт(с вариацией по ФИГНЕ)?: # define MACRO_EP(pars,args...) PLJK(E,pars, ##args)

Напомните, что в этом случае происходит с args. :)

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

> Аналог в dmd - -version=ФИГНЯ

Не понял, а как параметры самого dmd отличаются от моих ключей? Или может dmd -- --version=ФИГНЯ? Чтобы отличить.

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

>Кстати, C++ с шаблонами только мне LISP напоминает?

Мне не напоминает ни разу. А вот творения анонимусов обзывающих типы T, tt. ttt, bt, Btt, составляющих из них длинную строку с точками и скобочками ;) и потом удивляющихся что ничего непонятно сильно напоминают сизифов труд. :)

А чем именно Вам C++ с шаблонами Lisp напоминает?

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

> А чем именно Вам C++ с шаблонами Lisp напоминает?

Если писать с шаблонами и функторами получается что-то навроде A(c(),b(),K(m(),m(),d));

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

>По моему, обобщенные алгоритмы и набор удобных контейнеров - это отличная идея

идея - да. с реализацией несколько хуже

>в планах постепенная эволюция до boost

это как, интересно? пока третья рука не вырастет - не учить и не пользовать?

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

void MACRO_EP(T, U...)(T pars, U args) {
    PLJK(E, pars, args);
}

где args - expression tuple, разворачивающийся в список фактических аргументов во второй строке. Компилятор успешно сделает inline. Вызов может выглядеть так:
MACRO_EP(1, 3.14, "abc");

В данном случае можно сделать по другому:
void MACRO_EP(T...)(T args) {
    static assert(T.length >= 2);
    PLJK(E, args);
}

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

Или
void MACRO_EP(T...)(Pars pars, T args) {
    PLJK(E, pars, args);
}

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

>Ну... 20 человек... опытных... ммм... сомнительно

опыт показывает, что подавляющее число действительно хороших плюсовых программистов (с шаблонами головного мозга) рано или поздно эволюционируют до Haskell/*ML/LISP/Erlang,- так что поиск одного может привести к обнаружению другого

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

> Ну... 20 человек... опытных... ммм... сомнительно.

Ну 10 я лично видел :)

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

> опыт показывает, что подавляющее число действительно хороших
> плюсовых программистов


Опыт показывает что действительно хороших плюсовых программистов не бывает. Они как минимум знают еще один-два языка. А вот обратное не вверно :)

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

Любопытственно, ну буду ждать пару лет, и попробую.

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

> В шарпе синтаксис будет похожий.

Елки-палки! Синтаксис я знаю. Вопрос в том, где в этих языках ловят исключения из деструкторов при сборке мусора!

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

shty обладает забавным свойством отвечать на незаданные вопросы. :)

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