thedeemon: (office)
[personal profile] thedeemon
В начале мая в логове фейсбука прошла конференция DConf, посвященная языку D. Финансировали ее всем миром через проект на кикстартере, я там тоже поучаствовал скромным спонсором. Видео всех выступлений были выложены на ютюбе, вот наиболее мне понравившиеся, которые могу порекомендовать всем тем, кто открыт к новому и имеет немного любопытства:

1. Web Development in D - какие есть замечательные инструменты (в первую очередь vibe.d), как с ними все получается просто и красиво (и эффективно), благодаря грамотному использованию возможностей D.
2. Writing Testable Code in D - тут больше демонстрация умений и удобств языка.
3. Metaprogramming in the Real World - занятный experience report от компании с сотней программистов, где весь код пишется на D.

Date: 2013-08-25 09:29 am (UTC)
From: [identity profile] chaource.livejournal.com
Я посмотрѣлъ еще заключительный докладъ Александреску. Онъ сказалъ правильную вещь - во всѣхъ учебникахъ по ФП даются какъ первые примѣры три алгоритма - факторiалъ, Фибоначчи, и сортировка - которые изъ-за отсутствiя tail recursion работаютъ совершенно непрiемлемо, а вставить tail recursion означаетъ сильно усложнять изложенiе. Его рѣшенiе - допускать императивность внутрь чистыхъ функцiй - однако же мнѣ кажется педагогически неправильнымъ, т.к. оно не объясняетъ, что такое ФП. Я думаю, правильнымъ было бы вообще не использовать рекурсiю тамъ, гдѣ можно использовать библiотечныя функцiи типа fold/map/zip, т.е. опрѣделять факторiалъ какъ map (*) (seq 1 n), Фибоначчи черезъ zip, и т.д. Вообще можно рекурсiю запрѣтить, оставить только fold/map/zip - для программированiя этого будетъ почти всегда достаточно.

Date: 2013-08-25 10:33 am (UTC)
From: [identity profile] thedeemon.livejournal.com
Верно. Я думаю, ему просто хотелось продемонстрировать D'шный подход к чистоте. Если использовать комбинаторы из стандартной библиотеки, можно было написать
long fac(long n) { return iota(1,n+1).reduce!"a*b"; }

Profile

thedeemon: (Default)
Dmitry Popov

December 2025

S M T W T F S
 12 3456
789101112 13
14151617181920
21222324252627
28293031   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 29th, 2026 12:37 pm
Powered by Dreamwidth Studios