When I want a GC'd C-like I use Go.
D has to find a space between those two for me and a lot of other people.
I don't dislike D. I think D has a LOT of great work done in it. I just really want all my libraries to be able to be used without GC. And I'm not sure it's really feasible to have each foot in either world and not just get split down the middle.
Can someone argue against this worry? It's literally the only thing stopping me spending more time with D.
Also I've been coding in Ada (lord help me) for fun. Contracts are interesting.
`void main() @nogc { /* ... */ }`
Done.
I've written a log of `@nogc` code lately.
Subsetting languages (and comunities) usually doesn't end well...
[0] http://dconf.org/2016/talks/watson.html
[1] https://wiki.dlang.org/Language_design_discussions#Automatic...
[2] http://www.digitalmars.com/d/archives/digitalmars/D/ARC_in_D...
This does seem to come up sometimes. I'm wondering if it makes sense to add a "end-vision for GC-less D" section to the D GC documentation, now that there are various undertakings to make it easier. Might also help with finding volunteers that care about @nogc to help out with various bits.
You can delete objects early, or call GC.disable
If you have called GC.disable, the collector becomes `return;`. Sure, the GC function is called, but it doesn't do anything, it just immediately returns.
Go has Google.
Swift & ObjC has Apple.
D... Doesn't have a large mindshare/corporation backing it.
I had a strong interest in D from 2007-2009. The problem is that there were two competing, incompatible standard libraries for D1 (Phobos and Tango). Then came D2, which was a large improvement, both language-wise and library-wise, but basically split the ecosystem in three for some time.
I think the library and D1 vs. D2 situation stifled the growth of D. I gave up on D because the community was so fragmented.
Rust and Go .. made better design choices that made them more popular
I don't think Go would have been popular without Google. It's easier to sell a solution to your manager when it is backed by a big org, and when people are paid fulltime to work on it. Same for Rust and Mozilla. The barrier for adoption of new languages is pretty high today in enterprise space.
and why isnt dart more popular
Ruby became popular because of Rails.
Dart isn't popular because it was designed to be a browser language but did little to court Web developers who like JS (contrary to the HN consensus, a lot of Web developers actually like JS) or other browser vendors.
more examples that debunk that corporate backing is what made rust or go ... are scala and clojure, scala being way more popular than d and clojure ... and neither have corporate backing
in conclusion, you dont really need corporate backing if you have a nicely designed language that have its own path
Cs syntax can be awful. Similar symbols with different meanings. But, it was powerful, fast and simpler than some competitors.
Bash is frequently used today, for all sorts of things. Its even in production products, like git. However, even its creator thought it was a kludge.
There is no simple answer to language success, but a large group of people adopting and improving a language is probably going to be helpful.
d is unpopular because of poor project objectives and positioning and playing catch up with other languages rather than leading in any specific area
d needs a novel idea ... i guess they made bet on execution rather than innovation
[citation needed]
I wrote a Fizzbuzz implementation. I did it to test language features. As language features and the standard library kept on changing, I kept updating my repository. It's had something like 70+ commits to it since 0.6 days.
https://bitbucket.org/iopq/fizzbuzz-in-rust/src/d4638b2ba3f0...
it's a little bit more complicated than necessary BECAUSE it's a test of new functionality (even now it only compiles on Nightly)
but it has a certain charm to it (fizzbuzz done in a few filter and map operations)
two legendary programmers
i dont know what have changed to make it work in the future
i dont remember Go or Rust ever focusing on comparing themselves to another language as much as d compare itself to c++
d should create its own path same way any other more popular language did