Jump to page: 1 243  
Page
Thread overview
What are the worst parts of D?
Sep 20, 2014
Tofu Ninja
Sep 20, 2014
Tofu Ninja
Sep 22, 2014
AsmMan
Sep 22, 2014
ketmar
Sep 23, 2014
ketmar
Sep 23, 2014
deadalnix
Sep 23, 2014
ketmar
Sep 23, 2014
H. S. Teoh
Sep 23, 2014
ketmar
Sep 23, 2014
Sean Kelly
Sep 23, 2014
Sean Kelly
Sep 23, 2014
Paolo Invernizzi
Sep 23, 2014
Atila Neves
Sep 24, 2014
Jacob Carlborg
Sep 23, 2014
bearophile
Sep 23, 2014
David Nadlinger
Sep 23, 2014
ketmar
Sep 23, 2014
Sean Kelly
Sep 30, 2014
Bruno Medeiros
Sep 23, 2014
H. S. Teoh
Sep 23, 2014
Sean Kelly
Sep 23, 2014
H. S. Teoh
Sep 23, 2014
deadalnix
Sep 24, 2014
H. S. Teoh
Sep 24, 2014
deadalnix
Sep 24, 2014
Kagamin
Sep 24, 2014
Jacob Carlborg
Sep 23, 2014
ketmar
Sep 24, 2014
Walter Bright
Sep 24, 2014
Sean Kelly
Sep 24, 2014
Brad Roberts
Sep 24, 2014
Jacob Carlborg
Sep 24, 2014
ketmar
Sep 24, 2014
Meta
Sep 24, 2014
ketmar
Sep 24, 2014
ketmar
Sep 24, 2014
Atila Neves
Sep 24, 2014
ketmar
Sep 24, 2014
H. S. Teoh
Sep 24, 2014
Walter Bright
Sep 24, 2014
Walter Bright
Sep 24, 2014
Jacob Carlborg
Sep 24, 2014
Walter Bright
Sep 24, 2014
ketmar
Sep 24, 2014
Paulo Pinto
Sep 24, 2014
Paolo Invernizzi
Sep 25, 2014
Ary Borenszweig
Sep 25, 2014
Jacob Carlborg
Sep 24, 2014
H. S. Teoh
Sep 24, 2014
bachmeier
Sep 24, 2014
Daniel Murphy
Sep 24, 2014
H. S. Teoh
Sep 24, 2014
Daniel Murphy
Sep 25, 2014
Walter Bright
Sep 24, 2014
ketmar
Sep 24, 2014
Cliff
Sep 24, 2014
ketmar
Sep 24, 2014
Atila Neves
Sep 24, 2014
ketmar
Sep 24, 2014
Paulo Pinto
Sep 24, 2014
ketmar
Sep 24, 2014
Chris
Sep 24, 2014
Paulo Pinto
Sep 24, 2014
ponce
Sep 24, 2014
ketmar
Sep 24, 2014
Paolo Invernizzi
Sep 24, 2014
ketmar
Sep 24, 2014
Thomas Mader
Sep 25, 2014
eles
Sep 25, 2014
eles
Sep 25, 2014
eles
Sep 25, 2014
bearophile
Sep 25, 2014
eles
Sep 26, 2014
ketmar
Sep 25, 2014
Sean Kelly
Sep 25, 2014
eles
Sep 25, 2014
Cliff
Sep 25, 2014
H. S. Teoh
Sep 26, 2014
Mike James
Sep 26, 2014
ketmar
Sep 25, 2014
eles
Sep 25, 2014
eles
Sep 25, 2014
eles
Sep 25, 2014
eles
Sep 25, 2014
H. S. Teoh
Oct 05, 2014
Shammah Chancellor
Sep 26, 2014
ketmar
Sep 20, 2014
Rikki Cattermole
Sep 21, 2014
Rikki Cattermole
Sep 20, 2014
Tofu Ninja
Sep 20, 2014
monarch_dodra
Sep 20, 2014
ketmar
Sep 20, 2014
K.K.
Sep 20, 2014
Brian Schott
Sep 20, 2014
H. S. Teoh
Sep 20, 2014
Adam D. Ruppe
Sep 20, 2014
Tofu Ninja
Sep 21, 2014
Daniel Murphy
Sep 21, 2014
Timon Gehr
Sep 22, 2014
Daniel Murphy
Sep 22, 2014
Timon Gehr
Sep 20, 2014
Brian Schott
Sep 20, 2014
Tofu Ninja
Sep 24, 2014
Walter Bright
Sep 24, 2014
Brian Schott
Sep 24, 2014
Kagamin
Sep 24, 2014
John Colvin
Sep 21, 2014
Vladimir Panteleev
Sep 21, 2014
Marc Schütz
Sep 21, 2014
H. S. Teoh
Sep 22, 2014
luminousone
Sep 24, 2014
Walter Bright
Sep 24, 2014
Vladimir Panteleev
Sep 24, 2014
Walter Bright
Sep 24, 2014
Jacob Carlborg
Sep 24, 2014
Walter Bright
Sep 24, 2014
Vladimir Panteleev
Sep 24, 2014
Walter Bright
Sep 24, 2014
H. S. Teoh
Sep 24, 2014
H. S. Teoh
Sep 24, 2014
Vladimir Panteleev
Sep 24, 2014
Jacob Carlborg
Sep 24, 2014
Cliff
Sep 24, 2014
H. S. Teoh
Sep 24, 2014
Cliff
Sep 24, 2014
Atila Neves
Sep 24, 2014
H. S. Teoh
Sep 24, 2014
Cliff
Sep 24, 2014
H. S. Teoh
Sep 24, 2014
Cliff
Sep 26, 2014
Marco Leise
Sep 26, 2014
Cliff
Sep 25, 2014
Atila Neves
Sep 25, 2014
Joakim
Sep 24, 2014
H. S. Teoh
Sep 25, 2014
H. S. Teoh
Sep 25, 2014
H. S. Teoh
Sep 25, 2014
Walter Bright
Sep 25, 2014
H. S. Teoh
Sep 25, 2014
Walter Bright
Sep 25, 2014
H. S. Teoh
Sep 25, 2014
Walter Bright
Sep 25, 2014
H. S. Teoh
Sep 25, 2014
Jacob Carlborg
Sep 25, 2014
H. S. Teoh
Sep 25, 2014
Atila Neves
Sep 25, 2014
Jacob Carlborg
Sep 25, 2014
Cliff
Sep 25, 2014
H. S. Teoh
Sep 25, 2014
Cliff
Sep 25, 2014
H. S. Teoh
Sep 25, 2014
Jacob Carlborg
Oct 09, 2014
Nick Sabalausky
Sep 25, 2014
ketmar
Sep 25, 2014
ketmar
Sep 25, 2014
Cliff
Sep 25, 2014
ketmar
Sep 25, 2014
Jacob Carlborg
Sep 25, 2014
ketmar
Sep 25, 2014
Atila Neves
Sep 25, 2014
Jacob Carlborg
Sep 25, 2014
eles
Sep 25, 2014
eles
Sep 25, 2014
H. S. Teoh
Sep 25, 2014
Atila Neves
Sep 25, 2014
Walter Bright
Sep 25, 2014
H. S. Teoh
Sep 26, 2014
Atila Neves
Sep 26, 2014
Jacob Carlborg
Sep 25, 2014
Jacob Carlborg
Sep 25, 2014
Jacob Carlborg
Sep 25, 2014
Atila Neves
Oct 05, 2014
Shammah Chancellor
Sep 25, 2014
Paolo Invernizzi
Sep 25, 2014
Dmitry Olshansky
Sep 25, 2014
H. S. Teoh
Sep 24, 2014
Atila Neves
Sep 24, 2014
ketmar
Sep 25, 2014
Walter Bright
Sep 24, 2014
Jacob Carlborg
Sep 24, 2014
Walter Bright
Sep 24, 2014
Walter Bright
Sep 24, 2014
Vladimir Panteleev
Sep 24, 2014
Walter Bright
Sep 24, 2014
Vladimir Panteleev
Sep 24, 2014
Walter Bright
Sep 24, 2014
Jacob Carlborg
Sep 24, 2014
Walter Bright
Sep 21, 2014
deadalnix
Sep 21, 2014
ponce
Sep 22, 2014
Iain Buclaw
Sep 21, 2014
H. S. Teoh
Sep 21, 2014
H. S. Teoh
Sep 21, 2014
Kagamin
Sep 21, 2014
Dicebot
Sep 24, 2014
Manu
Sep 24, 2014
Walter Bright
Sep 24, 2014
Don
Sep 24, 2014
Sean Kelly
Sep 24, 2014
Paolo Invernizzi
Sep 24, 2014
bearophile
Sep 24, 2014
ketmar
Sep 24, 2014
eles
Sep 24, 2014
ketmar
Sep 24, 2014
Manu
Sep 25, 2014
Walter Bright
Sep 25, 2014
Don
Sep 25, 2014
Johannes Pfau
Sep 25, 2014
Walter Bright
Sep 25, 2014
Brian Rogoff
Sep 25, 2014
Walter Bright
Sep 25, 2014
H. S. Teoh
Sep 25, 2014
Walter Bright
Sep 25, 2014
Marc Schütz
Sep 25, 2014
H. S. Teoh
Sep 26, 2014
Walter Bright
Sep 26, 2014
Walter Bright
Sep 26, 2014
H. S. Teoh
Sep 26, 2014
Daniel Murphy
Sep 26, 2014
Walter Bright
Sep 26, 2014
Daniel Murphy
Sep 26, 2014
Walter Bright
Sep 26, 2014
H. S. Teoh
Sep 26, 2014
H. S. Teoh
Sep 26, 2014
Walter Bright
Sep 26, 2014
Vladimir Panteleev
Sep 26, 2014
H. S. Teoh
Sep 26, 2014
Sean Kelly
Sep 26, 2014
bearophile
Sep 26, 2014
Walter Bright
Sep 26, 2014
Vladimir Panteleev
Oct 05, 2014
Marco Leise
Sep 26, 2014
Jacob Carlborg
Oct 09, 2014
Walter Bright
Oct 09, 2014
Paolo Invernizzi
Oct 06, 2014
ixid
Sep 24, 2014
Manu
Sep 25, 2014
Walter Bright
Sep 25, 2014
Manu
Sep 25, 2014
Walter Bright
Sep 25, 2014
H. S. Teoh
Sep 25, 2014
Walter Bright
Sep 25, 2014
H. S. Teoh
Oct 02, 2014
Bruno Medeiros
Sep 25, 2014
ketmar
Sep 25, 2014
Johannes Pfau
Sep 25, 2014
Jacob Carlborg
Sep 25, 2014
Wyatt
Sep 25, 2014
Jacob Carlborg
Sep 26, 2014
Wyatt
Sep 26, 2014
Jacob Carlborg
Sep 25, 2014
Paulo Pinto
Sep 26, 2014
Bigsandwich
Sep 25, 2014
Tofu Ninja
Sep 25, 2014
Joakim
Sep 25, 2014
Wyatt
Sep 26, 2014
Joakim
Sep 26, 2014
H. S. Teoh
Oct 02, 2014
Bruno Medeiros
Oct 02, 2014
ketmar
Oct 02, 2014
ketmar
Oct 02, 2014
po
Oct 02, 2014
ketmar
Oct 02, 2014
ketmar
Oct 02, 2014
ketmar
Oct 03, 2014
ketmar
Oct 03, 2014
Martin Drašar
Oct 03, 2014
ketmar
ketmar's debugging terminal console...
Mar 17, 2016
Laeeth Isharc
Oct 06, 2014
Martin Drašar
Oct 06, 2014
ketmar
Oct 06, 2014
Martin Drašar
Oct 13, 2014
ketmar
Oct 13, 2014
Martin Drašar
Oct 13, 2014
ketmar
Oct 13, 2014
ketmar
Sep 24, 2014
user
Sep 24, 2014
ketmar
Sep 24, 2014
eles
Sep 25, 2014
Iain Buclaw
Sep 25, 2014
Iain Buclaw
Sep 26, 2014
Daniel Murphy
Sep 26, 2014
Walter Bright
Oct 05, 2014
Charles Hixson
Oct 05, 2014
Dicebot
Oct 05, 2014
Dicebot
Oct 05, 2014
eles
Oct 05, 2014
eles
Oct 06, 2014
Wyatt
Oct 06, 2014
Wyatt
Oct 06, 2014
Wyatt
Oct 06, 2014
Joakim
Oct 06, 2014
Dicebot
Oct 06, 2014
H. S. Teoh
Oct 06, 2014
Dicebot
Oct 06, 2014
Paolo Invernizzi
Oct 08, 2014
Don
Oct 08, 2014
Manu
Oct 08, 2014
Joakim
Oct 08, 2014
Jonathan
Oct 08, 2014
Jeremy Powers
Oct 11, 2014
K.K.
Oct 08, 2014
Manu
Oct 09, 2014
Danni Coy
Oct 09, 2014
Dicebot
Oct 09, 2014
Atila Neves
Oct 09, 2014
Manu
Oct 09, 2014
Daniel Murphy
Oct 08, 2014
Manu
Oct 08, 2014
Walter Bright
Oct 09, 2014
Dicebot
Oct 10, 2014
Walter Bright
Oct 09, 2014
Paolo Invernizzi
Oct 11, 2014
yawniek
Oct 09, 2014
Dicebot
Oct 09, 2014
ixid
Oct 09, 2014
Dicebot
Oct 09, 2014
ixid
Oct 09, 2014
Dicebot
Oct 09, 2014
Dicebot
Oct 09, 2014
Dicebot
Oct 10, 2014
Marc Schütz
Oct 10, 2014
eles
Oct 11, 2014
Dicebot
Oct 11, 2014
Marc Schütz
Oct 11, 2014
Dicebot
Oct 09, 2014
Dicebot
Oct 09, 2014
Johannes Pfau
Oct 09, 2014
Dicebot
Oct 10, 2014
Jacob Carlborg
Oct 08, 2014
Walter Bright
Oct 09, 2014
Don
Oct 05, 2014
eles
Oct 06, 2014
eles
Oct 06, 2014
eles
Oct 06, 2014
eles
Oct 06, 2014
eles
Oct 06, 2014
Paulo Pinto
Oct 06, 2014
eles
Oct 06, 2014
Paolo Invernizzi
Oct 06, 2014
ketmar
Oct 06, 2014
Meta
Oct 06, 2014
ketmar
Oct 06, 2014
eles
Oct 06, 2014
Paolo Invernizzi
Oct 06, 2014
eles
Oct 06, 2014
H. S. Teoh
Oct 06, 2014
eles
Oct 06, 2014
Nicolas F.
Oct 06, 2014
Joakim
Oct 06, 2014
ketmar
Oct 06, 2014
ketmar
Oct 10, 2014
bearophile
September 20, 2014
There was a recent video[1] by Jonathan Blow about what he would want in a programming language designed specifically for game development. Go, Rust, and D were mentioned and his reason for not wanting to use D is is that it is "too much like C++" although he does not really go into it much and it was a very small part of the video it still brings up some questions.

What I am curious is what are the worst parts of D? What sort of things would be done differently if we could start over or if we were designing a D3? I am not asking to try and bash D but because it is helpful to know what's bad as well as good.

I will start off...
GC by default is a big sore point that everyone brings up
"is" expressions are pretty wonky
Libraries could definitely be split up better

What do you think are the worst parts of D?

[1] https://www.youtube.com/watch?v=TH9VCN6UkyQ
September 20, 2014
On Saturday, 20 September 2014 at 12:39:23 UTC, Tofu Ninja wrote:
> What do you think are the worst parts of D?

1. The whining in the forums.

2. Lacks focus on a dedicated application area.

3. No strategy for getting more people on board.

4. No visible roadmap.

5. Too much focus on retaining C semantics (go does a bit better)

6. Inconsistencies and hacks (too many low hanging fruits)

7. More hacks are being added rather than removing existing ones.

8. Not enough performance oriented process.

9. It's mysteriously addictive and annoying at the same time.

10. It's contagious and now I'm in bed with a cold.
September 20, 2014
On 21/09/2014 12:39 a.m., Tofu Ninja wrote:
> GC by default is a big sore point that everyone brings up

I like having a GC by default. But we really need to think of it as a last resort sort of thing.

> "is" expressions are pretty wonky

Ehh yeah, D3 we could I spose.

> Libraries could definitely be split up better

We can still fix that in D2.

Just as a note, we do want AST macros for D3. Which will be awesome!
Stuff like linq from c# could be done as a library.
September 20, 2014
On Saturday, 20 September 2014 at 13:31:06 UTC, Rikki Cattermole wrote:
> Just as a note, we do want AST macros for D3. Which will be awesome!

What kind of macros? Generic AST macros probably make source to source translation just as difficult as string mixins, don't they? Some simple term-rewriting is probably cleaner?

September 20, 2014
On Saturday, 20 September 2014 at 13:30:24 UTC, Ola Fosheim Grostad wrote:
> On Saturday, 20 September 2014 at 12:39:23 UTC, Tofu Ninja wrote:
>> What do you think are the worst parts of D?
>
> 1. The whining in the forums.
>
> 2. Lacks focus on a dedicated application area.
>
> 3. No strategy for getting more people on board.
>
> 4. No visible roadmap.

Not really a problem with the language. Just problems.

> 5. Too much focus on retaining C semantics (go does a bit better)
>
> 6. Inconsistencies and hacks (too many low hanging fruits)
>
> 7. More hacks are being added rather than removing existing ones.

Definitely can agree, I think it has to do with the sentiment that it is "too much like C++"

> 8. Not enough performance oriented process.

Not sure what you are saying, are you saying there is not a big enough focus on performance?

> 9. It's mysteriously addictive and annoying at the same time.

Is that a problem?

> 10. It's contagious and now I'm in bed with a cold.

:<
September 20, 2014
On Saturday, 20 September 2014 at 12:39:23 UTC, Tofu Ninja wrote:
> What do you think are the worst parts of D?

Oh another bad part of D is the attribute names with some being positive(pure) and some being negative(@nogc) and some of them not having an @ on them.
September 20, 2014
On Saturday, 20 September 2014 at 14:22:32 UTC, Tofu Ninja wrote:
> Not really a problem with the language. Just problems.

It is kind of interlinked in a world that keeps moving forward. I found myself agreeing (or at least empathising) with a lot of what Jonathan Blow said. Of course, since his presentation was laid-back the people on reddit kind of attacked him and who knows, maybe he lost inspiration. He did at least respond on twitter. And his language project probably depends on his next game Witness (which sounds cool) to succeed.

Anyway, I think he got the right take on it, reach out to other devs in his own sector and ask them about their practice, then tailor a language with little syntactical overhead for that use scenario. Of course, it won't fly if he doesn't manage to attract people who are more into the semantics of computer languages, but I root for him anyway. I like his attitude.

On a related note I also read somewhere that Carmack is looking at GC for the gameplay data. Basically only a heap scanning, but compacting GC, that can run per frame. Seems the game logic usually fits in 5MB, so it might work.

> Definitely can agree, I think it has to do with the sentiment that it is "too much like C++"

Yes, I think Jonathan got that part right. I guess also that any kind of "unique traits" that feels like "inventions" will be eagerly picked up and hold up as good ideas by enthusiasts. Even if they are just special cases of more general constructs or variations of existing concepts posing under a new name. Perhaps an important aspect of the sociology of computer languages. (Lispers tend to be terribly proud of their language of choice :)

>> 8. Not enough performance oriented process.
>
> Not sure what you are saying, are you saying there is not a big enough focus on performance?

I think there is too much focus on features both in language and library. I'd personally prefer smaller and more benchmark focused. It is better to be very good at something limited, IMO.

I also think that the big win in the coming years come for the language that most successfully can make elegant low overhead access to SIMD instructions without having to resort to intrinsics. I have no idea what the syntax would be, but that seems to be the most promising area of language design in terms of performance IMO.
September 20, 2014
Jonathan Blow has expressed himself about D before…

http://www.kotaku.com.au/2012/05/most-popular-video-games-are-dumb-can-we-stop-apologising-for-them-now/

It could be incidental, of course.
September 20, 2014
I watched Jonathan's talk last night, it was really good. I
really like the idea that he wants to make a community designed,
platform independent, game specific language. It's too bad he
doesn't really want to give D more of chance but for what he's
looking for, it'd really need to be designed from the ground up,
as he was saying. Also being that he's slowly rejecting C++, then
I can see D not making sense since D's slogan is pretty much "A
better C++!"; which is accurate but may not be the best marketing
scheme. Also D is a general purpose language, so I guess it
really wouldn't fit his bill.
Though he mentioned Go and Rust a lot, personally I wouldn't
really back those languages either, at least not for games. Rust
maybe if it ever hits version 1.0 I'll take another look at it.
I'm definitely all for the setup he was describing though: all
you need is an IDE/text editor and the compiler. I feel like D
definitely has the potential to be able to meet that setup
someday; I'm just not sure if that setup would be a screw over or
not to people of other fields. The platform independent thing
would be a HUGE plus! Something D isn't too, too far from, but
definitely not there at least of yet.

Overall I'd say D has some significant issues:

- The documentation is awful. If there's a problem you don't know
the answer to, the only three real options are pray that the docs
are correct/up to date, go ask someone who possibly does know, or
magic.

- Bugs. D is like Costco, expect for bugs, and all the bugs are
free.

- More of a suggestion than a problem: Someone needs to do an
O'reilly book series for D; but only after the first two problems
I listed are at least suppressed a bit.

- Very few native D libraries, and also for C/other libraries
almost all D bindings are maintained by usually only one person.
Usually very skilled people, but the work load for library
development and maintenance would probably thrive best with more
people doing more. (The community is probably just too small at
the moment)


....I'm sure there was more, but it's just not coming to me at
the moment.
  I'm definitely interested in Jon's theoretical language but I
don't think it's gonna take away from D for me.

Overall though, I absolutely love D! There's just ALOT of work to
be done. :)
September 20, 2014
On 9/20/14, 7:42 AM, Tofu Ninja wrote:
> On Saturday, 20 September 2014 at 12:39:23 UTC, Tofu Ninja wrote:
>> What do you think are the worst parts of D?
>
> Oh another bad part of D is the attribute names with some being
> positive(pure) and some being negative(@nogc) and some of them not
> having an @ on them.

If that's among the worst, yay :o).

My pet peeves about D gravitate around the lack of a clear approach to escape analysis and the sometimes confusing interaction of qualifiers with constructors.

For escape analysis, I think the limited form present inside constructors (that enforces forwarded this() calls to execute exactly once) is plenty fine and should be applied in other places as well.

For qualifiers, I think we need an overhaul of the interaction of qualifiers with copy construction.


Andrei

« First   ‹ Prev
1 2 3 4 5 6 7 8 9 10 11