You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<p>There’s no shortage of enhancement requests and DIPs, but most of them don’t get realized. Walter Bright jokingly calls himself ‘Dr. No’ because he has to say ‘no’ to so many proposals. This is not a way to make friends. Why can’t he be ‘Yes Man’ instead and live happily ever after?</p>
385
388
<p>As someone who has been using D and working on DMD for quite some time now, Dennis finds himself arguing against new features more and more as well. To explain this perspective, he’ll talk about technical debt in the compiler using examples of actual bugs he has fixed, and show you first hand why that small feature we can easily add is actually a huge maintenance burden.</p>
@@ -441,6 +444,9 @@ <h1>Schedule</h1>
441
444
<divclass="talkmeta">
442
445
Audience: All<br>
443
446
Duration: 40 minutes<br>
447
+
<divclass="talklinks">
448
+
<ahref="./slides/lotem.pdf">Slides (PDF)</a>
449
+
</div>
444
450
</div>
445
451
<p>Weka has been successfully using D for over a decade to drive innovation in a demanding, high-performance environment. In this talk, Eyal will share some of the unique and interesting ways D has been used at Weka, and how it continues to deliver real value in production.</p>
446
452
</div>
@@ -474,6 +480,9 @@ <h1>Schedule</h1>
474
480
<divclass="talkmeta">
475
481
Audience: All<br>
476
482
Duration: 40 Minutes<br>
483
+
<divclass="talklinks">
484
+
<ahref="./slides/ben-david.pdf">Slides (PDF)</a>
485
+
</div>
477
486
</div>
478
487
<p>TBA</p>
479
488
</div>
@@ -493,6 +502,7 @@ <h1>Schedule</h1>
493
502
Audience: All<br>
494
503
Duration: 40 Minutes<br>
495
504
<divclass="talklinks">
505
+
<ahref="./slides/wilson.pptx">Slides (PPTX)</a>
496
506
</div>
497
507
</div>
498
508
<p>At DConf ’24 we introduced our vision for Phobos 3. Since then, we’ve been quietly working on the modules that will form the foundation of Phobos 3 and preparing to increase the scope and pace of development. But did you know that there are Phobos 3 modules you can use today? Perhaps you’re wondering where are we on Ranges. And the question that is on everybody’s mind: How are we going to handle <code>@nogc</code> and <code>nothrow</code>? This has been one of the most hotly debated topics in the community, so this talk will dive into our plan to address this vexing question.</p>
@@ -555,6 +565,10 @@ <h1>Schedule</h1>
555
565
<divclass="talkmeta">
556
566
Audience: Intermediate/Advanced<br>
557
567
Duration: 40 Minutes<br>
568
+
<divclass="talklinks">
569
+
<ahref="./slides/gehr.pdf">Slides (PDF)</a>
570
+
<ahref="./slides/gehr-src.zip">Code (ZIP)</a>
571
+
</div>
558
572
</div>
559
573
<p>This talk is a deep dive into D’s compile-time introspection capabilities and limitations. Timon will also give an experience report of his (by now, decade-old) foray into attempting to improve the situation in his experimental custom compiler front end for D.</p>
560
574
</div>
@@ -622,6 +636,9 @@ <h1>Schedule</h1>
622
636
<divclass="talkmeta">
623
637
Audience: All<br>
624
638
Duration: 45 Minutes<br>
639
+
<divclass="talklinks">
640
+
<ahref="./slides/neves.pdf">Slides (PDF)</a>
641
+
</div>
625
642
</div>
626
643
<p>D is frequently praised for how easy its templates are to use, and how one does not need to be an expert in order to use them. However, even in D, metaprogramming is harder than regular programming and could be considered a different language altogether. This talk will delve into the differences between the two styles and how exactly metaprogramming is harder, and use a reflection library for D as a case study of how replacing templates with string mixins can lead to simpler, more readable code.</p>
627
644
</div>
@@ -659,7 +676,10 @@ <h1>Schedule</h1>
659
676
</div>
660
677
<divclass="talkmeta">
661
678
Audience: Intermediate/Advanced<br>
662
-
Duration: 30 Minutes<br>
679
+
Duration: 30 Minutes<br>
680
+
<divclass="talklinks">
681
+
<ahref="./slides/jones.pdf">Slides (PDF)</a>
682
+
</div>
663
683
</div>
664
684
<p>Declarative programming is a powerful paradigm for writing succinct and ‘correct by inspection’ code. By delegating the ‘how’ to a library implementation, programmers only need to specify ‘what’ they want accomplished. Ben will share two projects where he has used this approach for working with complex data formats: the first a parser/editor for the .mov multimedia container format, the second a PEG-inspired recursive descent parser generator.</p>
665
685
<p>The .mov file format is a binary format for multimedia files. Since it uses big endian encoding of integers and can contain variably sized arrays, it is not amenable to a simple ‘mmap and cast’ approach to decoding. The format consists of many different atom types which can contain primitives, arrays, or other atoms. With <code>opDispatch</code> and a little bit of metaprogramming, atoms can be described as normal D structs whose contents are basically copied verbatim from the format spec. The library abstracts format and layout differences and allows access to the binary file as if it were made up of normal D struct objects.</p>
@@ -705,6 +725,9 @@ <h1>Schedule</h1>
705
725
<divclass="talkmeta">
706
726
Audience: Intermediate<br>
707
727
Duration: 40 Minutes<br>
728
+
<divclass="talklinks">
729
+
<ahref="./slides/lucenic.odp">Slides (ODP)</a>
730
+
</div>
708
731
</div>
709
732
<p>What is it like to clearly see and directly code architectural concepts? Can software be skillfully maintained over a long period of time without compromising or reducing its quality? Or is it even possible to increase its quality in a controlled manner during its operation while keeping costs low? Can the approach to software testing eventually become obsolete? The elegant idea behind the Arinas platform, a software development concept enabled by the D language ecosystem, seeks to address some of these issues while also enabling engineers to practically grasp higher levels of abstraction, a wider part of the addressable domain, and manage entropy sensibly. Ľudovít invites you to join him on his journey into the realms of efficiently organized software solutions.</p>
710
733
</div>
@@ -723,6 +746,9 @@ <h1>Schedule</h1>
723
746
<divclass="talkmeta">
724
747
Audience: All<br>
725
748
Duration: 45 Minutes<br>
749
+
<divclass="talklinks">
750
+
<ahref="./slides/miranda.odp">Slides (ODP)</a>
751
+
</div>
726
752
</div>
727
753
<p>How about using beautiful, colorful blocks to create your source code while the entire documentation is simultaneously elaborated by the software? This is what Murilo is trying to create using D. He will create a version of the game ‘Metal Slug’ in front of the audience to demonstrate the power of this new tool.</p>
0 commit comments