TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

D at 20: Hits and Misses [pdf]

123 pointsby nochover 5 years ago

9 comments

sedatkover 5 years ago
I think the presentation exposes the big picture: D is a <i>very</i> loaded language. It tries to serve every possible exotic need imaginable. Probably not as much as C++ but that’s a committe-designed language, it doesn’t count.<p>The feature bloat makes it very hard to learn D, let alone being an expert on it. I think it’s telling why its creator focuses on individual features to assess its success. Now, all those missed features either have to be maintained or carefully removed which is a lot of work and might actually break existing code.<p>I like D because of its vision: C++ for humans. It fails on that vision simply because it has become a gigantic incoherent product like a research project.<p>It probably needed a harsher approach to feature requests to make sure the language stayed on the vision. Now it’s a programmer’s dream and a programmer’s nightmare at the same time.<p>I think Go, for instance, has made a better decision to stay barebones.<p>I see that the creator intends to include Rust’s borrow-checking semantics which reminds me that Rust is probably what D should have been in all aspects.
评论 #21296872 未加载
评论 #21297141 未加载
评论 #21297371 未加载
评论 #21297291 未加载
lesbakerover 5 years ago
Looks like this is slides from a talk Walter Bright gave which has been posted to YouTube [1]. It helps with some missing context.<p>For example, I wondered why in the slides he felt implementing contract programming in D was a miss; it seemed like a strong selling point for the language. According to the talk (around 1:34:30), however, he felt that contract programming was relatively unpopular&#x2F;unused in D and that &quot;assert&quot; covered most of the use cases for it.<p>[1] <a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=p22MM1wc7xQ" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=p22MM1wc7xQ</a>
评论 #21296467 未加载
评论 #21298046 未加载
CamperBob2over 5 years ago
I use binary literals all the time, for what it&#x27;s worth, in code involving hardware interfacing. Only complaint with C++14&#x27;s implementation is that they didn&#x27;t allow underscores to be inserted for clarity, a la Verilog.<p>Those underscores turn out to be a <i>really</i> big deal, and leaving them out of C++ was a massive mistake. Nobody wants to read constants like 00110100101101011011011101011110, but 00110100_10110101_10110111_01011110 is fine. An implementation of binary constants that doesn&#x27;t allow this is going to be less popular.
评论 #21296316 未加载
评论 #21296419 未加载
Thorrezover 5 years ago
Interesting that garbage collection is listed as a miss due to latency, and Go has gotten popular with garbage collection with an emphasis on low latency.
评论 #21297331 未加载
评论 #21299342 未加载
voldacarover 5 years ago
Will the &quot;misses&quot; be removed from D eventually?
评论 #21296820 未加载
fithisuxover 5 years ago
What I find D interesting is that it is a really good fit for scientific programming. Maybe Julia is an answer, but in terms of producing interoperable code, it is the holly Grail. And people can port their Java code mostly painlessly. Science is the killer app of D where GC is a blessing in disguise.
renoxover 5 years ago
Some of the slides are contradictory: miss lack of safety by default and miss focus on GC. Well if you want safety by default, then either you use a GC or you&#x27;re a Rust&#x2F;cyclone clone, I don&#x27;t see a third way..
评论 #21303127 未加载
评论 #21300933 未加载
kjs3over 5 years ago
D is 20? That&#x27;s.......telling.
评论 #21296894 未加载
评论 #21297538 未加载
faissalooover 5 years ago
I guess they never miss huh