Войти
ФлеймФорумПрограммирование

Язык D (3 стр)

Страницы: 1 2 3 4 545 Следующая »
#30
21:05, 19 июля 2011

>ftp://ftp.styx.cabel.net/pub/UniLink/ulnb0317.zip
Спасибо. Скачал, но не может слинковать простую программу. Пишет, что не найден символ __acrtused_con. Что это за символ такой и где его взять?


#31
11:49, 13 авг. 2011

>До сих пор не исправили ситуацию с линковщиком потому что автор DMD очень боится судебных исков и поэтому пользуется только собственным бек эндом, написанным много лет назад.
Кстати, каких судебных исков он боится? Из gcc какого-нибудь нельзя взять этот бек энд?
Предыдущий вопрос актуален.

#32
12:23, 13 авг. 2011

gammaker
Был прецедент когда его обвиняли в суде в воровстве кода. С тех пор он принципиально не смотрит в код чужих бек-ендов.
Как упоминалось ранее - бекенд от gcc использует gdc.

#33
13:39, 13 авг. 2011

  Помню была тут как-то тема, в которой говорилось, что Александреску продвигает Rande на замену итераторов. Теперь оказывается, что в стандартной библиотеке D все алгоритмы используют именно ренжи. В С++ их уже никак не пропихнуть. И вроде они реально удобнее итераторов. В D даже есть специальная форма цикла for для обхода ренжей. А может и единственная, пока не знаю.
  Пока мне кажется, что фичи там особо друг другу не мешают. Например, static if - вот кто мешат в крестах его ввести? Кодогенерация там отличная. Пока из всего что я видил меня потрясло, как можно в качестве шаблонного параметра писать код в ковычках и он будет подставляться в место генерации. Как С++ можно с этим вообще сравнивать? Шаблоны тут не лежали и рядом. Две вещи: static if и подстановка кода напрочь избавляют от необходимости в шаблонах в том виде, как они есть в крестах. Как следствие исчезает огромный пласт связанных с ним трудноисправимых ошибок.
  Ещё я заметил, что почти всегда переменные объявляются со спецификатором auto, если объявление совмещено с определением. Это действительно удобно и опять таки ничему не мешает. В С++ это тоже ввели, но как всегда граблей там в десять раз больше, чем должно быть, потому что система типов сложная. Ну и ещё в качестве приятного дополнения - как и в Java в D нет операторов -> и ::, вместо них везде используется точка. RAII наверное отсутствует, раз объекты это всегда указатели, но зато это компенсируется возможностью включить сборку мусора.

  Вообще я уже несколько дней присматриваюсь к языку, но никак не могу начать писать на нём что-либо. Посоветуйте с чего начать. Поставил плагин на эклипс, качество устраивает, тестовые примеры компилируются. Пишут, что для программистов на С++ или Java изучение должно быть лёгким. Я заню и то и другое, но вижу, что язык местами сильно отличается. Надо выбрать метод быстрого изучения. Хотелось бы поучаствовать в конкурсе платформеров, который заканчивается в конце месяца.

#34
14:04, 13 авг. 2011

Zefick
> В С++ их уже никак не пропихнуть.
вообще без вопросов, берешь и используешь. средств языка хватит для этого.

#35
14:12, 13 авг. 2011

Sbtrn. Devil
> Они вообще двинулись не с той стороны. В наше время единственным анусом, через
> который язык имеет шанс пролезть в индустрию - начать в качестве скриптового
> довеска к чему-нибудь существующему. Желательно - в виде довеска небольшого и
> простого в употреблении. Именно так поднялись луа, жабаскрипт, пхп и петон (и,
> как минимум, 3 последних по навороченности уже не уступают какой-нть жабе). А Д
> строит из ся серьйосный самостоятельный инструмент и для скриптования не
> рекомендуется. Ну и кому он такой нужен?

Мне кажется ты тут не прав. Т.е. я конечно понимаю силу эволюционного развития и трудности новому пролезть в старое, но все же, если что-то задумано, ну не совсем конечно с нуля, но все же, то есть шанс все построить более стройно и непротиворечиво.
А индустрия, что индустрия? Она отслеживает тренды и если комьюнити откроет для себя D, то и индустрия тут же будет. Или вылетит из бизнеса.
Лично я займусь D или чем-то подобным, когда появится версия пригодная для программирования gpgpu, поскольку по настоящему иеет будущее только то, что пригодно для программирования параллельных систем.

#36
14:15, 13 авг. 2011

Zefick
> Хотелось бы поучаствовать в конкурсе платформеров, который заканчивается в
> конце месяца.

    Для т.н. kick-start`а лучше взять движок. Советую SMFL — http://www.sfml-dev.org/download.php (внизу есть D байндинги). Въехать в движок не сложно, главное собрать так называемую working-chain из Eclipse и DMD. Советую билдить проект чем-нибудь типа jake (из tango) или build (есть на dsource).

    И лучше использовать первую версию языка. Хотя, судя по тому, что используется Eclipse, речь как раз о нем.

    Комментарии к посту:
>в качестве шаблонного параметра писать код в ковычках
    Тела лямбд в виде строк — это неверно. Рефакторинг при таком подходе превращается в извращение. Как так получилось, учитывая что автор стремился создать простой для парсинга, контекстно-независимый язык — не понятно.

>Ещё я заметил, что почти всегда переменные объявляются со спецификатором auto, если объявление совмещено с определением
    auto — это, кстати, не просто вывод типа. Любая auto-переменная будет гарантированно удалена при выходе из контекста. В качестве замены можно использовать scope(exit).

>RAII наверное отсутствует
    Присутствует. В языке реализовано через scope и auto.

#37
14:16, 13 авг. 2011

О. Федор
майкрософт собирается продвигать C++ в качестве gpgpu языка, D там стоит ждать наверное в то же время когда туда доберется шарп.

#38
14:44, 13 авг. 2011

Pushkoff
> майкрософт собирается продвигать C++ в качестве gpgpu языка,

Знаю, посмотрим. Боюсь у них получится как с directcompute с тормозами.

> D там стоит ждать наверное в то же время когда туда доберется шарп.

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

#39
16:47, 13 авг. 2011

>Был прецедент когда его обвиняли в суде в воровстве кода. С тех пор он принципиально не смотрит в код чужих бек-ендов.
Но gcc ведь проект с открытым исходным кодом, dmd такой же, чего ему бояться-то? Или его после этого так переклинило, что он вообще не может брать чужой код, каким бы он ни был?
>Как упоминалось ранее - бекенд от gcc использует gdc.
Я знаю, но его вроде бы не доделали и забросили? К тому же там только первая версия языка. Хотя, я бы всё-равно попробовал, но не знаю, где скачать. Ещё LDC есть какой-то... Та же проблема.

Zefick
>Вообще я уже несколько дней присматриваюсь к языку, но никак не могу начать писать на нём что-либо. Посоветуйте с чего начать.
У Александреску есть книга "The D Programming Language". Там первая глава кратко описывает все возможности языка. Почитай, если не читал.

#40
17:05, 13 авг. 2011

gammaker
> Я знаю, но его вроде бы не доделали и забросили?

    Разработка GDC продолжается.

#41
17:26, 13 авг. 2011

gammaker
у DMD фронт енд - опен сорс под GPLv3, а бек енд нет. Волтер разрешил смотреть исходники, но разрешить ими свободно пользоваться не может т.к. хотя он и является автором, права принадлежат его бывшему работодателю и он его когда-то лицензировал.

#42
17:29, 13 авг. 2011

Zefick
>RAII наверное отсутствует.
Для объектов RAII нет, но есть для структур и с помощью scope.

#43
18:53, 13 авг. 2011

Хм, посмотрел на этот D.  Хммм, похож на весьма приятную смесь  C# и С++.  Надо заюзать!!

#44
19:07, 13 авг. 2011

>Разработка GDC продолжается.
Как его скачать и настроить? Пробовал в разделе Building on Windows выполнить инструкции по первой ссылке, но дошёл до пункта Run и не знаю, что делать с этими командами:
chmod +x getmingw.sh
./getmingw.sh
Командная строка их не понимает. Что делать? Может есть нормальный человеческий способ просто скачать инсталлятор и установить, как я это сделал с DMD?
Кстати, оказалось gdc и D2 понимает?

Страницы: 1 2 3 4 545 Следующая »
ФлеймФорумПрограммирование

Тема в архиве.