View mode: basic / threaded / horizontal-split · Log in · Help
January 08, 2012
Discussion about D at a C++ forum
Here's an interesting discussion that may reflect the perceptions and 
misperceptions about D within the larger community.

http://www.cplusplus.com/forum/lounge/58832/


Andrei
January 08, 2012
Re: Discussion about D at a C++ forum
On Saturday, January 07, 2012 22:19:53 Andrei Alexandrescu wrote:
> Here's an interesting discussion that may reflect the perceptions and
> misperceptions about D within the larger community.
> 
> http://www.cplusplus.com/forum/lounge/58832/

Not exactly the most informed discussion. But I would expect that some of the 
misinformation is fairly typical. I'd say that a lot of what people think or 
know about D is from a couple of years ago (if not farther back) and/or 
derived from the opinions of others rather than real experience. And an 
initial bad experience (as has happened far too often, as we've seen with 
newbies reactions to stuff not working just around here, let alone in the D 
community as a whole) can definitely lead to negative and/or misinformed 
beliefs, which then spread to others outside the D comunity when D is brought 
up.

I'm not sure what we can do about that other than really improving what we 
have to offer, and while we still have plenty to do, we've definitely been 
making solid improvements.

- Jonathan M Davis
January 08, 2012
Re: Discussion about D at a C++ forum
On 1/8/2012 3:57 PM, Jonathan M Davis wrote:
> On Saturday, January 07, 2012 22:19:53 Andrei Alexandrescu wrote:
>> Here's an interesting discussion that may reflect the perceptions and
>> misperceptions about D within the larger community.
>>
>> http://www.cplusplus.com/forum/lounge/58832/
>
> Not exactly the most informed discussion. But I would expect that some of the
> misinformation is fairly typical. I'd say that a lot of what people think or
> know about D is from a couple of years ago (if not farther back) and/or
> derived from the opinions of others rather than real experience. And an
> initial bad experience (as has happened far too often, as we've seen with
> newbies reactions to stuff not working just around here, let alone in the D
> community as a whole) can definitely lead to negative and/or misinformed
> beliefs, which then spread to others outside the D comunity when D is brought
> up.
>
> I'm not sure what we can do about that other than really improving what we
> have to offer, and while we still have plenty to do, we've definitely been
> making solid improvements.
>
> - Jonathan M Davis

Unfortunately, there's nothing anyone really can do about it (and I'm 
not actually directing this post at you, Jonathan, just preaching in 
general). Java, for example, *still* suffers from the reputation it 
gained back in the late 90's. You have companies like Sony running 
successful online games with both the client and the server developed in 
Java, while around the net people are swearing up and down that it's too 
slow for games. There are issues with Java, sure, but modern JVM 
performance is perfectly acceptable (and then some) for a significant 
number of use cases.

We'll see the same thing with D, I'm sure. Once a negative rumor gets 
out there, it refuses to go away regardless of its current veracity. New 
programmers come along, hear things from their veteran colleagues, and 
spread it around themselves without ever once bothering to verify it. It 
seems very much to be a natural condition. Just look how bad it is in 
the political arena.

I think the best we can do is to put our heads down, get the work done, 
and step into an outside discussion every now and then to interject some 
FUD-fighting evangelism (in the belief that not all of the naysayers are 
knuckleheads, but simply misinformed). The people who really matter 
right now are the ones who are rational enough to ignore the FUD and and 
serious enough to give D more than a cursory look. Their initial 
experience is what will ultimately make or break D's chances for wider 
adoption.

That said, I do admit to a certain amount of blood boiling when I see my 
favorite language being verbally abused!
January 08, 2012
Re: Discussion about D at a C++ forum
"Andrei Alexandrescu" <SeeWebsiteForEmail@erdani.org> wrote in message 
news:jeb5h6$1c76$1@digitalmars.com...
> Here's an interesting discussion that may reflect the perceptions and 
> misperceptions about D within the larger community.
>
> http://www.cplusplus.com/forum/lounge/58832/
>

Every time I log in and go to that page it tells me "Sign in or register to 
post" (yes, even with JS on), so I can't post, but somebody should mention 
that the custom allocator proves we do care about manual memory management 
and is also the reason for the delay in getting a collections lib.

Also that Andrei, who they seem to know and respect, is actually in charge 
of Phobos and made Phobos's ranges, which have nicer syntax and semantics 
than STL iterators.

And that D's multi-level, not a high-, low-, or mid-level one-tick pony, and 
that that's a good thing.

And that it's not merely tying to be a C++ alternative, but is *also* trying 
to be incorporate higher level, like funtional purity and even better 
metaprogramming.

And that Visual-D just had a new release that includes experimental code 
completion, and that Visual-D and DDT are both rapidly evolving...

I was impressed though that none of them seemed to be buying any of the crap 
that "rapidcoder" was spreading.
January 08, 2012
Re: Discussion about D at a C++ forum
Nick Sabalausky wrote:
> And that Visual-D just had a new release that includes 
> experimental code completion, and that Visual-D and DDT are 
> both rapidly evolving...

Awesome! Mono-D has code-completion and renaming features as 
well. There's an issue with MonoDevelop preventing tooltips, but 
it'll be fixed in the next release.
January 08, 2012
Re: Discussion about D at a C++ forum
On Sun, Jan 8, 2012 at 1:47 AM, Nick Sabalausky <a@a.a> wrote:
> > I was impressed though that none of them seemed to be buying any of the crap
> that "rapidcoder" was spreading.
>

rapidcoder's brother has put up a video on YouTube:

http://www.youtube.com/watch?v=3rI85jH3F4U&feature=related
January 08, 2012
Re: Discussion about D at a C++ forum
On 1/7/2012 10:57 PM, Jonathan M Davis wrote:
> Not exactly the most informed discussion.

Well, some of their comments _ARE_ spot-on correct...

2. "While you can avoid the garbage collector, that basically means you 
can't use most of the standard library."
    Looks pretty darn correct to me -- from the fixed-size array 
literal issue (literals are on the GC heap), to all the string 
operations (very little is usable), to associative arrays (heck, they're 
even part of the language, but you can't use them without a GC), etc...

3. "The community really has a Java feel to it. They often don't care as 
much for efficiency as say a C++ programmer would."
   I'm pretty darn sure this is referring to #7, and I think it's 
pretty accurate. SP programmers should /know/ what they're doing, so not 
letting them delete GC'd objects manually is kinda stupid, and a pretty 
Java-like approach. Looks well-informed to me.

4. "Binary sizes are currently stupid. A simple hello program with DMD 
is over half a megabyte and with GDC, is nearly 1.4mB. This is mostly 
because it will not dynamically link to phobos (see below). They're 
working on this... This isn't the fault of the language."
   Looks pretty darn informed. You guys _are_ working on this, and this 
/has/ been an issue, and it obviously isn't the language's fault, so....

5. "Has poor shared library support (although this has grown 
significantly)."
   Looks 100% correct. Not sure what they mean by "there are symbol 
resolution problems because of the GC", but it's true that shared 
library support is poor right now, isn't it?

7. Unstable language. They're currently considering doing things like 
removing "delete" as it's apparently deprecated (which will officially 
make it not usable as an SP language).
   Looks 100% correct. Removing 'delete' /does/ make D unusable as an 
SP language... unless you ignore the GC completely, which isn't even 
possible, practically speaking.
January 09, 2012
Re: Discussion about D at a C++ forum
On 1/8/2012 6:28 PM, Mehrdad wrote:
> On 1/7/2012 10:57 PM, Jonathan M Davis wrote:
>> Not exactly the most informed discussion.
>
> Well, some of their comments _ARE_ spot-on correct...
>
> 2. "While you can avoid the garbage collector, that basically means you
> can't use most of the standard library."
> Looks pretty darn correct to me -- from the fixed-size array literal
> issue (literals are on the GC heap), to all the string operations (very
> little is usable), to associative arrays (heck, they're even part of the
> language, but you can't use them without a GC), etc...

As someone who does performance-critical scientific work in D, this 
comment is absolutely **wrong** because you only need to avoid the GC in 
the most performance-critical/realtime parts of your code, i.e. where 
you should be avoiding any dynamic allocation, GC or not.  (Though GC is 
admittedly worse than malloc, at least given D's current quality of 
implementation.)

My style of programming in D is to consciously transition between 
high-level D and low-level D depending on what I'm doing.  Low-level D 
avoids the GC, heavy use of std.range/std.algorithm since the compiler 
doesn't optimize these well yet, and basically anything else where the 
cost isn't clear.  It's a PITA to program in like all low-level 
languages, but not as bad as C or C++.  Nonetheless low-level D is just 
as fast as C or C++.  High-level D is slower than C or C++ but faster 
than Python, and integrates much more cleanly with low-level D than 
Python does with C and C++.  It's only slightly harder to program in 
than Python.

Bottom line:  D doesn't give you a free lunch but it does give you a 
cheaper lunch than C, C++ or even a combination of C/C++ and Python.
January 09, 2012
Re: Discussion about D at a C++ forum
On 1/8/2012 4:26 PM, dsimcha wrote:
> On 1/8/2012 6:28 PM, Mehrdad wrote:
>> 2. "While you can avoid the garbage collector, that basically means you
>> can't use most of the standard library."
>> Looks pretty darn correct to me -- from the fixed-size array literal
>> issue (literals are on the GC heap), to all the string operations (very
>> little is usable), to associative arrays (heck, they're even part of the
>> language, but you can't use them without a GC), etc...
>
> As someone who does performance-critical scientific work in D, this 
> comment is absolutely **wrong** because you only need to avoid the GC 
> in the most performance-critical/realtime parts of your code

Who said anything about performance?
And who's the "you" in this statement? What platform are you on?

I guess if you make the assumption that everyone is doing user-mode 
programming for Windows/Mac/Linux/BSD, then yes, you're 100% correct.

The trouble is, making GUIs and taking FFTs in user-mode isn't what 
people mean by "systems programming"...
January 09, 2012
Re: Discussion about D at a C++ forum
On Sunday, 8 January 2012 at 23:28:57 UTC, Mehrdad wrote:
> 7. Unstable language. They're currently considering doing 
> things like removing "delete" as it's apparently deprecated 
> (which will officially make it not usable as an SP language).
>   Looks 100% correct. Removing 'delete' /does/ make D unusable 
> as an SP language... unless you ignore the GC completely, which 
> isn't even possible, practically speaking.

I don't understand how you came to that conclusion? "delete" will 
become a standard library (or easily-implemented user) function.
« First   ‹ Prev
1 2 3 4 5
Top | Discussion index | About this forum | D home