LINUX.ORG.RU

Язык D доступен для FreeBSD

 , ,


0

0

Официальная сборка компилятора и рантайм-библиотеки прекрасного языка D теперь доступна и для FreeBSD. Обещана поддержка FreeBSD 7-й версии.
Порт компилятора языка D второй версии пока не готов, т.к., по словам одного из авторов языка, Уолтера Брайта, необходимо провести большую работу по портированию библиотек D.

Тенденция радует, этот язык начинает поддерживать все больше платформ. Еще немного — и можно переписывать ядра...

>>> Источник - dprogramming.ru

★★

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

Насколько он совместим с C и C++? Насколько много надо переписать в программе, и какой выигрыш даст пересборка компилятором D?

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

Сто то он мне сильно по синтаксису с# напомнил,ООП поддерживает, хотя надо посмотреть на его концепцию наследования классов. Ну и он компилит наверное все таки в машинный код а не промежуточный. Что ж поиграемся скажем свое авторитетное мнение а пока с виду вроде ничего.

VlSePr
()

Сколько их развелось, и ни один до ума не доведут.

mamay_cozak
()

Версия 1.x сего язычка ниразу неинтересна. Версия 2.x поддерживается только dmd, а его нет для x86_64. Так что напрашивается естественный вывод: субж ненужен.

Joe_Bishop
()

D уже обзавелся стандартом?

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

> Версия 1.x сего язычка ниразу неинтересна. Версия 2.x поддерживается только dmd

Эта чехарда с версиями весьма напрягает. Из-за этого писать сейчас что то серьёзное на D просто смысла нет. А для "just for fun" есть более интересные языки. Давно посматриваю на D, но дальше хелло-ворлдов дело не идёт. А так было бы неплохо использовать его как замену C в прикладухе вроде гуйни на GTK. Надеюсь 2.x всё же допилят в ближайшее время.

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

> А так было бы неплохо использовать его как замену C в прикладухе вроде гуйни на GTK.

для этого есть vala. Хотя как язык D2.x лучше.

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

>Все начинает и начинает все...

веришь, 3 раза перечитывал - не заметил :)
2moders: исправьте пожалуйста

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

>Чего они там такого наворотили, что столько портируют на родственную ОС? 0_о

сам удивляюсь. В мире есть мнение что dmd внутри настолько крив и убог что вообще удивительно почему он работает (пруфлинк не помню).
Ждем D on LLVM

k0l0b0k ★★
() автор топика

В DMD 2.027 появилось неполиморфное наследование для структур. Пример из документации:

struct S
{ int x;
alias x this;
}

int foo(int i) { return i * 2; }

void test()
{
S s;
s.x = 7;
int i = -s; // i == -7
i = s + 8; // i == 15
i = s + s; // i == 14
i = 9 + s; // i == 16
i = foo(s); // implicit conversion to int
}


alias'нутый тип может быть и примитивом и структурой и классом. т.е. чем угодно кроме интерфейсов.

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

>alias'нутый тип может быть и примитивом и структурой и классом. т.е. чем угодно кроме интерфейсов.

Что делает язык D невероятно запутанным если писать в таком фот жутком стиле, и открывает возможности для совершенно новых и интересных ошибок
Хотя может это мне с не привычки так страшно на такое смотреть

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

> В мире есть мнение что dmd внутри настолько крив и убог что вообще удивительно почему он работает (пруфлинк не помню).

Так почитай исходнки и убедись что мнение неверно.

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

> Что делает язык D невероятно запутанным если писать в таком фот жутком стиле, и открывает возможности для совершенно новых и интересных ошибок
> Хотя может это мне с не привычки так страшно на такое смотреть


"As long as our hypothetical Blub programmer is looking down the power continuum, he knows he's looking down. Languages less powerful than Blub are obviously less powerful, because they're missing some feature he's used to. But when our hypothetical Blub programmer looks in the other direction, up the power continuum, he doesn't realize he's looking up. What he sees are merely weird languages. He probably considers them about equivalent in power to Blub, but with all this other hairy stuff thrown in as well. Blub is good enough for him, because he thinks in Blub." -- Paul Graham

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

Прозрачное для пользователя расширение встроенных типов - сомнительная фишка? В приведённом выше примере пользователь может использовать структуру S, как int с методом foo.

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

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

>Так почитай исходнки и убедись что мнение неверно

честно говоря я это мнение не разделяю (ибо не читал), а читать исходники компилера мне лень. Но сложности портирования фобоса на FreeBSD удивляет. При том что порты на Linux и MacOS работают на ура. Хотя, может, у Брайта просто не хватает времени

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

>а язык ада доступен во фрибсд?

нет, это фрибсд доступен в аду.

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

> А смысл структуры с одним полем?
Так можно и не с одним. :D

> какая потенциальная выгода может быть?

Например с помощью структуры с одним полем (Proxy) можно красиво избавиться от необходимости выделять память под промежуточные результаты в матричных выражениях. C++ решает эту проблему (и получает пачку других) выделением классов и структур на стеке и обращением к ним по значению.

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

>Прозрачное для пользователя расширение встроенных типов - сомнительная фишка?

хехе, туплю. не подумал о таком применении. реально клево.

>В приведённом выше примере пользователь может использовать структуру

S, как int с методом foo.

это понятно

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

Красивое выражение, и кстати правильное я до сих пор думаю на С и меня если честно смущают всякие классы и их подобие ООП в общем не совсем для меня

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

правильно делаете, есть Object C он и интерфейсы поддерживает, есть Java она совсем замудренный ООП поддерживает, а мне больше нравится множественное наследование С++

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

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

Представляю что творится в голове человека который освоил первым ассемблер :)

VlSePr
()

>Официальная сборка компилятора и рантайм-библиотеки прекрасного языка D

Ну хорошо хоть не душевного:)

anonymfus ★★★★
()

Не, поезд его уже уехал. Надо было раньше шевелиться.

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

> Срочно ломать моск хаскелем и прологом! В итоге на C станешь лучше писàть.

Это так. Но в результате переход на D и прочую экзотику не очевиден :)

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

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

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

>Срочно ломать моск хаскелем и прологом! В итоге на C станешь лучше писàть.

Thinkign Forth!

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

>а язык ада доступен во фрибсд?

конечно

> ls /usr/ports/lang/ | grep gnat

drwxr-xr-x 3 root wheel 512B 5 окт 2008 gnat/
drwxr-xr-x 2 root wheel 512B 5 окт 2008 gnat-doc-html/
drwxr-xr-x 2 root wheel 512B 5 окт 2008 gnat-doc-info/
drwxr-xr-x 2 root wheel 512B 5 окт 2008 gnat-doc-ps/
drwxr-xr-x 2 root wheel 512B 5 окт 2008 gnat-doc-texi/
drwxr-xr-x 2 root wheel 512B 5 окт 2008 gnat-doc-txt/
drwxr-xr-x 3 root wheel 512B 5 окт 2008 gnat-gcc41/
drwxr-xr-x 3 root wheel 512B 5 окт 2008 gnat-gcc42/
drwxr-xr-x 3 root wheel 512B 31 янв 16:36 gnat-gcc43/
drwxr-xr-x 3 root wheel 512B 5 окт 2008 gnat-glade/
> cat /usr/ports/lang/gnat/pkg-descr

The GPL version of GNU Ada compiler system built on GCC 3.4.6

Binaries built with this version of compiler are covered by the
GPL license. Use the Ada compiler bundled with GCC 4.0 and
subsequent for LGPL licensing.

The libraries supplied with this version of GNAT support tasking
with FreeBSD 4 and greater using libc_r and libpthread.

WWW: http://libre.act-europe.com/

iZEN ★★★★★
()

чесно признатсья -- по мне так D это только искажённый C++09.. отличии только в записи конструкций (а принципиально -- всё тоже самое).


если сравнивать "языковОй недострОй" -- По Моему Скромному Мнению -- лучше Vala....

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

> по мне так D это только искажённый C++09

Тогда уж наоборот.

Да и первое впечатление в данном случае обманчиво. Мне доводилось видеть программки на D написанные в стиле (по уменьшению численности):
1. Java.
2. C++.
3. D.
4. C.

Общего между ними немного.

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

В сравнении с D, будущий статндарт цпп выглядит довольно убого. Взять те же контракты.

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

>> по мне так D это только искажённый C++09

> Тогда уж наоборот.

может я както неправильно изъяснился:

я имел ввиду что Vala по стилю ПОХОЖ на C++, но при этом имеет немного другой ВНУТРЕННИЙ объектно-ориантированный подход..

..а D наоборот имеет мении пожохий стиль (написание конструкций) по сравнению с C++, но объекно-ориентированная модель -- ТАЖЕ САМАЯ.

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

>Представляю что творится в голове человека который освоил первым ассемблер :)

Мой первый ЯП - ассемблер 8080, освоил в далеких 80х годах прошлого века. Любимый ЯП - C.

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

> Зачем нужно еще один велосипед из руды изобретать?

Боюсь, что тебе объяснять этого уже никто не будет, бо девиз "Ничего кроме Явы никому никогда и не нужно" довольно широко известен.

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

> Представляю что творится в голове человека который освоил первым ассемблер :)

Да там всё нормально как раз, лишь если на нём не зациклился в детстве.

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