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-28 06:14 pm (UTC)
From: [identity profile] thedeemon.livejournal.com
Туториал на эту тему сейчас не припомню.

С вызовом функций в компайл-тайме на практике редко сталкиваешься, т.к. все интересные данные программа получает уже в рантайме, а при компиляции какие данные есть? Собственные исходники разве что, так что фича эта в основном используется внутри всяких шаблонов, генерирующих код. Чтобы код удобно было генерить, нужна работа со строками, массивами и основные алгоритмические штуки из стандартной библиотеки, вот они и используются. Т.е. в целом фича, может, и мегакрутая, но замечают это лишь библиотекописатели, а при написании обычных программ ее и не замечаешь, даже если где-то внутри используемых библиотек она и работает активно.

Date: 2013-08-28 06:16 pm (UTC)
From: [identity profile] xeno-by.livejournal.com
О, хорошо, что ты напомнил на тему строк. Не напрягает ли сборка кода на коленке? Не хочется ли временами квазицитат?

Date: 2013-08-28 06:29 pm (UTC)
From: [identity profile] thedeemon.livejournal.com
Мне самому сборка кода из строчек ни разу не пригождалась, и в идиоматичном коде она обычно не используется. Хватает сочетания шаблонов и static if. Что-то вроде:

class MyClass(T) {
...
static if (SomePredicate!(T)) {
  Result!T my_function(T x, ...) {
    ....
  }
}
...

Тут и квазицитаты не нужны, пишешь обычный код.

Date: 2013-08-28 06:30 pm (UTC)
From: [identity profile] xeno-by.livejournal.com
Класс, то, что я думал! Тогда следующий вопрос находится вот тут: http://thedeemon.livejournal.com/68456.html?thread=1192040#t1192040 :)

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 10:25 pm
Powered by Dreamwidth Studios