DConf 2014 wrap-up of talks mentioning vibe.d
This year's DConf is already over for a while now, but better late than never… The talks are packed with interesting topics and this post will mention a few particularly interesting ones in the context of developing with vibe.d.
Declarative programming in D
The Declarative programming in D talk by Михаил Страшун aka Dicebot talks about a programming paradigm that has become much more popular in the D community since the relatively recent introduction of user defined attributes. The gist of it is combining compile-time reflection together with compile-time code generation using a combination of templates, compile-time function evaluation (CTFE) and string/template mixins to be able to separate the "what" (what it achieves) of a component from the "how" (how this is actually implemented procedurally).
The prime examples in vibe.d for this are the vibe.web.rest and vibe.web.web modules, of which the former is presented as an example in the talk. The resulting code is usually a lot more modular and more concise than the procedural equivalent.
Mobile Gameserver Backend in D
Stephan Dilly aka Extrawurst talks about the implementation of a Mobile Gameserver Backend in D. This gives some insight in an actual production system made using modern web building blocks.
More interesting talks
Especially two other non-vibe.d related talks are also worth mentioning here. First there is the Case Studies In Simplifying Code With Compile-Time Reflection talk by Atila Neves about his MQTT broker, which, fitting right in with Dicebot's talk, focuses on the declarative approach that he took when implementing it. The MQTT broker is also written with vibe.d as its network layer and was used to carry out some comparative benchmarks.
The second talk is about Reducing D bugs by Vladimir Panteleev. He presents some of the tools that he made, which can be extremely useful when debugging and tracing back the origin of bugs. This talk is highly recommended for any D developer. Not also that the Dustmite tool is shipped together with DMD and is also integrated into DUB since version 0.9.22 (run
dub dustmite --help).