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

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!

"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.

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.

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

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.

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.

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"...

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.