The D Programming Language
От: FR  
Дата: 01.08.10 12:43
Оценка: 22 (2)
Книга Александреску "The D Programming Language" уже около месяца как продается в бумажном виде
http://www.amazon.com/D-Programming-Language-Andrei-Alexandrescu/dp/0321635361

Тут http://www.informit.com/articles/printerfriendly.aspx?p=1609144 одна из глав.

В принципе глава неплохо демонстрирует мощь языка. Многие вещи который встраивают в другие языки (например go) здесь
реализованы в стандартной библиотеке, мне особенно понравился "паттерн матчинг" :


receive(
   (long x) { ... },
   (string x) { ... },
   (double x, double y) { ... },
   ...
   (Variant any) { ... }
);
Re: The D Programming Language
От: Temoto  
Дата: 01.08.10 12:51
Оценка:
FR>Книга Александреску "The D Programming Language" уже около месяца как продается в бумажном виде
FR>http://www.amazon.com/D-Programming-Language-Andrei-Alexandrescu/dp/0321635361

FR>Тут http://www.informit.com/articles/printerfriendly.aspx?p=1609144 одна из глав.


FR>В принципе глава неплохо демонстрирует мощь языка. Многие вещи который встраивают в другие языки (например go) здесь

FR>реализованы в стандартной библиотеке, мне особенно понравился "паттерн матчинг" :


FR>
FR>receive(
FR>   (long x) { ... },
FR>   (string x) { ... },
FR>   (double x, double y) { ... },
FR>   ...
FR>   (Variant any) { ... }
FR>);
FR>


А как этот receive работает? Что тут не встроено?
Re[2]: The D Programming Language
От: FR  
Дата: 01.08.10 13:02
Оценка:
Здравствуйте, Temoto, Вы писали:


T>А как этот receive работает? Что тут не встроено?



Выбирает сообщения из очереди потока.
Тут ничего ни встроено receive самая обычная шаблонная функция которая принимает переменное число аргументов.
Каждый аргумент это делегат или лямбда, receive смотрит в очередь и если там есть данные нужного типа вызывает
соответствующую лямбду.
Я посмотрел в исходники concurrency.d вся реализация несколько десятков строк, в С++ например сделать это
так просто практически нереально.
Re[3]: The D Programming Language
От: Temoto  
Дата: 01.08.10 13:18
Оценка:
T>>А как этот receive работает? Что тут не встроено?


FR>Выбирает сообщения из очереди потока.

FR>Тут ничего ни встроено receive самая обычная шаблонная функция которая принимает переменное число аргументов.
FR>Каждый аргумент это делегат или лямбда, receive смотрит в очередь и если там есть данные нужного типа вызывает
FR>соответствующую лямбду.
FR>Я посмотрел в исходники concurrency.d вся реализация несколько десятков строк, в С++ например сделать это
FR>так просто практически нереально.

То есть запись
 (long x) { writeln(x); }
это лямбда \x -> writeln x или lambda x: writeln(x) ?
Re[4]: The D Programming Language
От: FR  
Дата: 01.08.10 13:19
Оценка:
Здравствуйте, Temoto, Вы писали:


T>То есть запись
 (long x) { writeln(x); }
это лямбда \x -> writeln x или lambda x: writeln(x) ?


Да.
Re[5]: The D Programming Language
От: Temoto  
Дата: 01.08.10 14:02
Оценка: :)))
T>>То есть запись
 (long x) { writeln(x); }
это лямбда \x -> writeln x или lambda x: writeln(x) ?


FR>Да.


Очень круто receive сделан.
Re[6]: The D Programming Language
От: FR  
Дата: 01.08.10 14:34
Оценка:
Здравствуйте, Temoto, Вы писали:


T>Очень круто receive сделан.


Понятно что на фоне функциональщины фигня, но на фоне C++ очень даже круто.
Re: The D Programming Language
От: matumba  
Дата: 12.08.10 12:04
Оценка:
Здравствуйте, FR, Вы писали:

FR>Книга Александреску "The D Programming Language" уже около месяца как продается в бумажном виде


...и всё равно в сети нет PDF версии. С таким началом D можно уже закапывать мелкими совками.
Отсутствие вменяемой документации сильно тормозит популяризацию этого чудо-языка.
Если у кого будет электронный вариант, киньте ссылочкой, плиз?
Re[2]: The D Programming Language
От: x-code  
Дата: 12.08.10 16:32
Оценка:
Здравствуйте, matumba, Вы писали:

FR>>Книга Александреску "The D Programming Language" уже около месяца как продается в бумажном виде

M>...и всё равно в сети нет PDF версии. С таким началом D можно уже закапывать мелкими совками.
M>Отсутствие вменяемой документации сильно тормозит популяризацию этого чудо-языка.
M>Если у кого будет электронный вариант, киньте ссылочкой, плиз?

Нету. Как только появится — на торрентах сразу
И "Elements of programming" там же рядом продается
Были бы они в электронном виде, я бы обе эти книги купил.
Re[3]: The D Programming Language
От: x-code  
Дата: 13.08.10 07:06
Оценка:
Здравствуйте, x-code, Вы писали:

XC>Здравствуйте, matumba, Вы писали:


FR>>>Книга Александреску "The D Programming Language" уже около месяца как продается в бумажном виде

M>>...и всё равно в сети нет PDF версии. С таким началом D можно уже закапывать мелкими совками.
M>>Отсутствие вменяемой документации сильно тормозит популяризацию этого чудо-языка.
M>>Если у кого будет электронный вариант, киньте ссылочкой, плиз?

Вот вроде.
здесь
В каком-то извращенном виде, скачать нельзя (по крайней мере я не вижу как можно), но читать вроде можно.
Re[2]: The D Programming Language
От: FR  
Дата: 13.08.10 11:15
Оценка:
Здравствуйте, matumba, Вы писали:


M>...и всё равно в сети нет PDF версии. С таким началом D можно уже закапывать мелкими совками.


Ну если честно большинство поклонников его уже давно закопали из-за долгостроя.
Я пока все еще надеюсь, жалко очень хороший язык никак ни может народится.

Вот последний http://www.digitalmars.com/d/2.0/changelog.html в котором одни багфиксы как бы
подтверждает надежду.

M>Отсутствие вменяемой документации сильно тормозит популяризацию этого чудо-языка.


По моему тут http://www.digitalmars.com/d/2.0/index.html вполне вменяемо.
Re: The D Programming Language
От: vpchelko  
Дата: 13.08.10 12:55
Оценка:
Здравствуйте, FR, Вы писали:

FR>Книга Александреску "The D Programming Language" уже около месяца как продается в бумажном виде

FR>http://www.amazon.com/D-Programming-Language-Andrei-Alexandrescu/dp/0321635361

FR>Тут http://www.informit.com/articles/printerfriendly.aspx?p=1609144 одна из глав.


FR>В принципе глава неплохо демонстрирует мощь языка. Многие вещи который встраивают в другие языки (например go) здесь

FR>реализованы в стандартной библиотеке, мне особенно понравился "паттерн матчинг" :


FR>
FR>receive(
FR>   (long x) { ... },
FR>   (string x) { ... },
FR>   (double x, double y) { ... },
FR>   ...
FR>   (Variant any) { ... }
FR>);
FR>


Чет ни фига не понятно очем вы тут...
Сало Украине, Героям Сала
Re[2]: The D Programming Language
От: FR  
Дата: 13.08.10 13:25
Оценка:
Здравствуйте, vpchelko, Вы писали:



FR>>Тут http://www.informit.com/articles/printerfriendly.aspx?p=1609144 одна из глав.


.........

V>Чет ни фига не понятно очем вы тут...


В ссылке выше все объясняется.
А кратко это обработчик сообщений потока, в си это могло бы выглядеть как большой switch, здесь
сделано по подобию паттерн матчинга в функциональных языках.
Re[2]: The D Programming Language
От: x-code  
Дата: 20.08.10 20:47
Оценка:
Здравствуйте, matumba, Вы писали:

M>Если у кого будет электронный вариант, киньте ссылочкой, плиз?


Уже есть, только что скачал. Ищите.
Re[3]: The D Programming Language
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 21.08.10 06:27
Оценка:
Здравствуйте, FR, Вы писали:

T>>А как этот receive работает? Что тут не встроено?

FR>Выбирает сообщения из очереди потока.

А из нескольких очередей может выбирать? Мне в эрланге этого заметно не хватает.
The God is real, unless declared integer.
Re: The D Programming Language
От: Drednout  
Дата: 24.08.10 13:58
Оценка:
Здравствуйте, FR, Вы писали:

FR>Книга Александреску "The D Programming Language" уже около месяца как продается в бумажном виде


Уже в инете свободно можно скачать.
Re: The D Programming Language
От: existen  
Дата: 25.08.10 16:57
Оценка: 20 (2)
Издательство "Символ-плюс" хочет перевести-таки книгу по D. Только пока не знает какую — "Learn Tango with D" или "D programming language". Большая просьба всех неравнодушных высказать свое мнение в этой ветке:
http://symbol.ru/forum/viewtopic.php?f=4&t=363

Сам по какой-то причине залогиниться не могу
Re[3]: The D Programming Language
От: Кодт Россия  
Дата: 26.08.10 08:37
Оценка: :)
Здравствуйте, FR, Вы писали:

FR>Я посмотрел в исходники concurrency.d вся реализация несколько десятков строк, в С++ например сделать это

FR>так просто практически нереально.

Насчёт "практически" не знаю, а насчёт "теоретически" — легко! Даже без 0x.
Берём boost::bind — и напильником его, напильником!
Щас демку напишу...
Перекуём баги на фичи!
Re[7]: The D Programming Language
От: VladD2 Российская Империя www.nemerle.org
Дата: 26.08.10 23:37
Оценка: :)
Здравствуйте, FR, Вы писали:

FR>Понятно что на фоне функциональщины фигня, но на фоне C++ очень даже круто.


На фоне C++ даже C++0X и C++CLI — круто.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: The D Programming Language
От: VladD2 Российская Империя www.nemerle.org
Дата: 26.08.10 23:40
Оценка: :)
Здравствуйте, Кодт, Вы писали:

К>...и напильником его, напильником!


Это как в том анекдоте когда амениканские спиёны стащили чертежи нашей секретной подлодки, но как не бились собирали паровоз, а потом им наш рабочий подсказал, что нужно было в углу читать внимательнее. А в углу было написано "до готовности довести напильником". Да?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.