Speaking a whole new language: DConf 2013 at Facebook

Visit the post for more.

Ben Hamilton
5 min readintermediate
--
View Original

Overview

DConf 2013, hosted by Facebook, brought together over 60 engineers and thinkers to explore the D Programming Language. The conference featured insightful talks on D's features, community growth, and practical applications in real-world scenarios.

What You'll Learn

1

How to integrate D with existing C and C++ codebases

2

Why compile-time function evaluation is beneficial in D

3

How to utilize shared libraries in D programming

4

When to use D for real-time applications like advertising auctions

Prerequisites & Requirements

  • Understanding of systems programming concepts
  • Familiarity with C or C++ programming(optional)

Key Questions Answered

What are the unique features of the D programming language?
D is a modern systems programming language that includes features like garbage collection, strong type safety, compile-time function evaluation, and Erlang-style message passing for asynchrony. These features make D suitable for both high-performance applications and ease of use.
How does D compare to other programming languages like C and C++?
D builds on the foundations of C and C++ while introducing modern features such as robust generics and functional programming capabilities. This allows developers to write safer and more efficient code, making D a compelling alternative for systems programming.
What are the benefits of using D in web development?
While not a core focus, D offers speed and convenience advantages for web development, especially with frameworks like vibe.d. These tools enable developers to create efficient web applications, leveraging D's performance characteristics.
What insights were shared about real-time applications using D?
Don Clugston discussed how Sociomantic Labs utilizes D for real-time advertising auctions, highlighting D's compile-time function evaluation feature that allows for type-safe code execution at compile time, enhancing performance and reliability.

Technologies & Tools

Programming Language
D
Used for systems programming and real-time applications.
Web Framework
Vibe.d
An open-sourced web development framework for D.
Compiler Technology
Llvm
Used in the LDC compiler for performance improvements.

Key Actionable Insights

1
Consider adopting D for projects requiring high performance and safety.
D's features like garbage collection and compile-time evaluation make it suitable for applications where performance is critical, such as game development or real-time systems.
2
Leverage D's strong community and resources for learning and support.
The D community is active and provides numerous resources, including online books and forums, which can help new developers get up to speed quickly.
3
Explore the integration of D with existing C/C++ codebases for legacy systems.
Many companies are finding success in using D alongside C/C++ to modernize their applications without a complete rewrite, allowing for gradual adoption.

Common Pitfalls

1
Underestimating the learning curve of transitioning from C/C++ to D.
Developers may find some features in D unfamiliar, which can lead to initial challenges. It's important to invest time in understanding D's unique paradigms and features.

Related Concepts

Systems Programming
Real-time Applications
Web Development Frameworks
Compiler Design