Thread overview | ||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
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 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Andrei Alexandrescu | 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 | ||||
---|---|---|---|---|
| ||||
Posted in reply to 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!
|
January 08, 2012 Re: Discussion about D at a C++ forum | ||||
---|---|---|---|---|
| ||||
Posted in reply to Andrei Alexandrescu | "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 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Nick Sabalausky | 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 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Nick Sabalausky | 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 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Jonathan M Davis | 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 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Mehrdad | 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 | ||||
---|---|---|---|---|
| ||||
Posted in reply to dsimcha | 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 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Mehrdad | 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.
|
Copyright © 1999-2021 by the D Language Foundation