LINUX.ORG.RU
 
Theif

QtD 0.1


0

0

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

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

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

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

Метки: ,

* ()
Проверено: svu (06.02.2009 15:40:11)

[#] Ответ на: Re: QtD 0.1 от shty 08.02.2009 13:22:26  
eXOR

Re: QtD 0.1

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

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


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

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

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


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

***** ()
[#] Ответ на: Re: QtD 0.1 от anonymous 09.02.2009 1:26:34  

Re: QtD 0.1

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

*** ()
[#] Ответ на: Re: QtD 0.1 от eXOR 07.02.2009 15:51:47  

Re: QtD 0.1

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

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

В Java и C# не так?

***** ()
[#] Ответ на: Re: QtD 0.1 от eXOR 09.02.2009 3:14:32  
shty

Re: QtD 0.1

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

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

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

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

*** ()
[#] Ответ на: Re: QtD 0.1 от shty 09.02.2009 12:57:30  
shty

Re: QtD 0.1

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

*** ()
[#] Ответ на: Re: QtD 0.1 от AX 05.02.2009 21:30:58  

Re: QtD 0.1

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

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

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

**# ()
[#] Ответ на: Re: QtD 0.1 от anonymous 08.02.2009 11:08:53  

Re: QtD 0.1

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

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

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

**# ()
[#] Ответ на: Re: QtD 0.1 от alx_me 09.02.2009 13:13:50  

Re: QtD 0.1

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

*** ()
[#] Ответ на: Re: QtD 0.1 от anonymous 07.02.2009 11:57:06  

Re: QtD 0.1

> 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. И '<<' он будет понимать.

**# ()
[#] Ответ на: Re: QtD 0.1 от naryl 09.02.2009 13:59:00  

Re: QtD 0.1

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

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

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

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

**# ()
[#] Ответ на: Re: QtD 0.1 от alx_me 09.02.2009 14:11:18  

Re: QtD 0.1

> в новом c++09 можно будет писать auto

А можно будет писать "const c = 42"? :)
Или нужно "const auto c = 42"?

*** ()
[#] Ответ на: Re: QtD 0.1 от naryl 09.02.2009 14:26:12  

Re: QtD 0.1

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

**# ()
[#] Ответ на: Re: QtD 0.1 от alx_me 09.02.2009 14:23:48  

Re: QtD 0.1

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

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

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

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

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

*** ()
[#] Ответ на: Re: QtD 0.1 от naryl 09.02.2009 14:40:05  

Re: QtD 0.1

> Напомните...

Тупо подставляются. Если один '#', а не два '##', то не тупо, а как строка.

**# ()
[#] Ответ на: Re: QtD 0.1 от naryl 09.02.2009 14:40:05  

Re: QtD 0.1

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

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

**# ()
[#] Ответ на: Re: QtD 0.1 от naryl 09.02.2009 14:40:05  

Re: QtD 0.1

dmd - -ФИГНЯ=ЗНАЧЕНИЕ -так может? Ну ладно, идея ясна.

**# ()
[#] Ответ на: Re: QtD 0.1 от alx_me 09.02.2009 14:45:36  

Re: QtD 0.1

$ dmd -version=ФИГНЯ mysource.d

*** ()
[#] Ответ на: Re: QtD 0.1 от alx_me 09.02.2009 14:11:18  
shty

Re: QtD 0.1

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

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

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

*** ()
[#] Ответ на: Re: QtD 0.1 от alx_me 09.02.2009 14:42:47  

Re: QtD 0.1

т.е. "MACRO_EP(a, b, c, d)" заменятся на "PLJK(E, a, b, c, d)". Так?

*** ()
[#] Ответ на: Re: QtD 0.1 от shty 09.02.2009 14:49:23  

Re: QtD 0.1

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

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

**# ()
[#] Ответ на: Re: QtD 0.1 от d_a 08.02.2009 12:40:03  
jtootf

Re: QtD 0.1

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

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

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

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

***** ()
[#] Ответ на: Re: QtD 0.1 от naryl 09.02.2009 14:50:02  

Re: QtD 0.1

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);
}

*** ()
[#] Ответ на: Re: QtD 0.1 от naryl 09.02.2009 15:26:54  

Re: QtD 0.1

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

*** ()
[#] Ответ на: Re: QtD 0.1 от shty 09.02.2009 12:57:30  
jtootf

Re: QtD 0.1

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

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

***** ()
[#] Ответ на: Re: QtD 0.1 от sv75 09.02.2009 12:32:57  
eXOR

Re: QtD 0.1

> В Java и C# не так?

Нет.

***** ()
[#] Ответ на: Re: QtD 0.1 от shty 09.02.2009 12:57:30  
eXOR

Re: QtD 0.1

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

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

***** ()
[#] Ответ на: Re: QtD 0.1 от jtootf 09.02.2009 15:30:49  
eXOR

Re: QtD 0.1

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


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

***** ()
[#] Ответ на: Re: QtD 0.1 от naryl 09.02.2009 15:26:54  

Re: QtD 0.1

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

**# ()
[#] Ответ на: Re: QtD 0.1 от shty 09.02.2009 0:11:37  
www_linux_org_ru

Re: QtD 0.1

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

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

**** ()
[#] Ответ на: Re: QtD 0.1 от www_linux_org_ru 09.02.2009 23:53:53  

Re: QtD 0.1

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

*** ()