В принципе глава неплохо демонстрирует мощь языка. Многие вещи который встраивают в другие языки (например go) здесь
реализованы в стандартной библиотеке, мне особенно понравился "паттерн матчинг" :
T>А как этот receive работает? Что тут не встроено?
Выбирает сообщения из очереди потока.
Тут ничего ни встроено receive самая обычная шаблонная функция которая принимает переменное число аргументов.
Каждый аргумент это делегат или лямбда, receive смотрит в очередь и если там есть данные нужного типа вызывает
соответствующую лямбду.
Я посмотрел в исходники concurrency.d вся реализация несколько десятков строк, в С++ например сделать это
так просто практически нереально.
T>>А как этот receive работает? Что тут не встроено?
FR>Выбирает сообщения из очереди потока. FR>Тут ничего ни встроено receive самая обычная шаблонная функция которая принимает переменное число аргументов. FR>Каждый аргумент это делегат или лямбда, receive смотрит в очередь и если там есть данные нужного типа вызывает FR>соответствующую лямбду. FR>Я посмотрел в исходники concurrency.d вся реализация несколько десятков строк, в С++ например сделать это FR>так просто практически нереально.
То есть запись
(long x) { writeln(x); }
это лямбда \x -> writeln x или lambda x: writeln(x) ?
Здравствуйте, FR, Вы писали:
FR>Книга Александреску "The D Programming Language" уже около месяца как продается в бумажном виде
...и всё равно в сети нет PDF версии. С таким началом D можно уже закапывать мелкими совками.
Отсутствие вменяемой документации сильно тормозит популяризацию этого чудо-языка.
Если у кого будет электронный вариант, киньте ссылочкой, плиз?
Здравствуйте, matumba, Вы писали:
FR>>Книга Александреску "The D Programming Language" уже около месяца как продается в бумажном виде M>...и всё равно в сети нет PDF версии. С таким началом D можно уже закапывать мелкими совками. M>Отсутствие вменяемой документации сильно тормозит популяризацию этого чудо-языка. M>Если у кого будет электронный вариант, киньте ссылочкой, плиз?
Нету. Как только появится — на торрентах сразу
И "Elements of programming" там же рядом продается
Были бы они в электронном виде, я бы обе эти книги купил.
Здравствуйте, x-code, Вы писали:
XC>Здравствуйте, matumba, Вы писали:
FR>>>Книга Александреску "The D Programming Language" уже около месяца как продается в бумажном виде M>>...и всё равно в сети нет PDF версии. С таким началом D можно уже закапывать мелкими совками. M>>Отсутствие вменяемой документации сильно тормозит популяризацию этого чудо-языка. M>>Если у кого будет электронный вариант, киньте ссылочкой, плиз?
Вот вроде. здесь
В каком-то извращенном виде, скачать нельзя (по крайней мере я не вижу как можно), но читать вроде можно.
M>...и всё равно в сети нет PDF версии. С таким началом D можно уже закапывать мелкими совками.
Ну если честно большинство поклонников его уже давно закопали из-за долгостроя.
Я пока все еще надеюсь, жалко очень хороший язык никак ни может народится.
Вот последний http://www.digitalmars.com/d/2.0/changelog.html в котором одни багфиксы как бы
подтверждает надежду.
M>Отсутствие вменяемой документации сильно тормозит популяризацию этого чудо-языка.
В ссылке выше все объясняется.
А кратко это обработчик сообщений потока, в си это могло бы выглядеть как большой switch, здесь
сделано по подобию паттерн матчинга в функциональных языках.
Издательство "Символ-плюс" хочет перевести-таки книгу по D. Только пока не знает какую — "Learn Tango with D" или "D programming language". Большая просьба всех неравнодушных высказать свое мнение в этой ветке: http://symbol.ru/forum/viewtopic.php?f=4&t=363
Здравствуйте, FR, Вы писали:
FR>Я посмотрел в исходники concurrency.d вся реализация несколько десятков строк, в С++ например сделать это FR>так просто практически нереально.
Насчёт "практически" не знаю, а насчёт "теоретически" — легко! Даже без 0x.
Берём boost::bind — и напильником его, напильником!
Щас демку напишу...
Здравствуйте, Кодт, Вы писали:
К>...и напильником его, напильником!
Это как в том анекдоте когда амениканские спиёны стащили чертежи нашей секретной подлодки, но как не бились собирали паровоз, а потом им наш рабочий подсказал, что нужно было в углу читать внимательнее. А в углу было написано "до готовности довести напильником". Да?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.