Re: Discussion about D at a C++ forum
Le 08/01/2012 08:47, Mike Parker a écrit : 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. It hasn't prevented Java from being extremely successful in its own area.
Re: Discussion about D at a C++ forum
On Monday, 9 January 2012 at 21:29:27 UTC, Walter Bright wrote: On 1/9/2012 11:45 AM, Jonathan M Davis wrote: Please fix the wikipedia entry! With what? Make it say 2003 for D1 and 2007 for D2? Yes, but 2001 for D1. Walter, I suppose you will have to clearly state that somewhere in D documentation (A history page perhaps?), so people can modify the wikipedia page and use above-mentioned page as a reference, otherwise the change is going to be ignored.
Re: Discussion about D at a C++ forum
On 1/13/2012 7:57 AM, Dejan Lekic wrote: On Monday, 9 January 2012 at 21:29:27 UTC, Walter Bright wrote: On 1/9/2012 11:45 AM, Jonathan M Davis wrote: Please fix the wikipedia entry! With what? Make it say 2003 for D1 and 2007 for D2? Yes, but 2001 for D1. Walter, I suppose you will have to clearly state that somewhere in D documentation (A history page perhaps?), so people can modify the wikipedia page and use above-mentioned page as a reference, otherwise the change is going to be ignored. http://www.digitalmars.com/d/1.0/changelog1.html#new000
Re: Discussion about D at a C++ forum
Mike Parker aldac...@gmail.com wrote in message news:jebhmg$20vf$1...@digitalmars.com... 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. While that's certainly a real phonomenon, in the case of Java, I think there's much more involved than just that: With Java, there's actual *reinforcement* of the Java is slow (regardless of whether right or wrong), and there are also other reasons for not wanting to give Java another chance regardless of it's speed. Consider this: People start hearing Java's fast now!. The subset of non-Java-users who *haven't* already become fed up with Java's OO-religiousness and other issues might actually give Java another chance. When most people think Java development, they think Eclipse. So they grab Eclipse, fire it up, and...holy hell, this is still slow! WTF are people talking about? Java's not fast now! And then they'll leave with a reinforced belief that Java is still slow and Java fans are nuts. Note that in this scenerio, whether or not Eclipse is an accurate representation of Java's speed is irrelevent. I think the take-away is this: While we certainly should keep moving forward, improving things, correcting misconceptions of D when possible, and accepting that there will always people with outdated ideas of D, we should also keep an eye out for ways in which we might be accidentally reinforcing misconceptions (whether right or wrong), *especially* to those people who actually give us a try. And I do think it also helps that the language we have is just simply much better than Java anyway (less likely for people to be fed up with the langauge and leave in disgust in the first place - language shortcomings are known to be harder to fix than tool shortcomings).
Re: Discussion about D at a C++ forum
On Thursday, 12 January 2012 at 06:17:43 UTC, a wrote: Alexander Malakhov Wrote: And even if that will happen, D1 page most likely will be deleted later due to little visits count They are actually deleting pages due to low visit counts? This is just wrong. Turns out I was wrong. I was thinking about Nemerle, which was delete in 2011 (but now is undeleted). Actually, it was deleted due to low notability, which could be the case for D1, btw. If interested, here is Nemerle story: 1. deletion http://en.wikipedia.org/wiki/Wikipedia:Articles_for_deletion/Nemerle 2. undeletion (click show at right) http://en.wikipedia.org/wiki/Wikipedia:Deletion_review/Log/2011_February_14 3. on reddit http://www.reddit.com/r/programming/comments/fkt7t/nemerle_factor_alice_ml_and_other_programming/ 4. on Hacker News http://news.ycombinator.com/item?id=2215168
Re: Discussion about D at a C++ forum
On Tuesday, 10 January 2012 at 18:58:41 UTC, Mike Wey wrote: On 01/10/2012 08:47 AM, Alexander Malakhov wrote: D1 changelog starts with 1.001, 2007-01-23 D 0.00 was released on 9 December 2001. http://www.digitalmars.com/d/1.0/changelog1.html#new000 Oh, missed that links. Thanks!
Re: Discussion about D at a C++ forum
On Tuesday, 10 January 2012 at 12:08:41 UTC, bearophile wrote: Alexander Malakhov: Other languages have just 1 date. I think wikipedia's editors would resist if D will be different. A solution is to have two Wikipedia pages, una for D1 and one for D. Bye, bearophile I believe that would be much more difficult. Actually, I can't imagine how anyone could convince wikipedians to do this. And even if that will happen, D1 page most likely will be deleted later due to little visits count
Re: Discussion about D at a C++ forum
Alexander Malakhov Wrote: And even if that will happen, D1 page most likely will be deleted later due to little visits count They are actually deleting pages due to low visit counts? This is just wrong.
Re: Discussion about D at a C++ forum
On Monday, 9 January 2012 at 19:46:03 UTC, Jonathan M Davis wrote: On Monday, January 09, 2012 11:37:50 Walter Bright wrote: On 1/9/2012 10:59 AM, Jonathan M Davis wrote: I suspect that part of the problem is that Wikipedia lists D as appearing in 1999. And, of course, since D2 didn't start until 2007, saying that D has been around since 1999 easily gives the mistaken impression that we're doing a bad job, since D _still_ isn't complete and fully stable. Please fix the wikipedia entry! With what? Make it say 2003 for D1 and 2007 for D2? - Jonathan M Davis Other languages have just 1 date. I think wikipedia's editors would resist if D will be different. If we want to do so, there should be convincing rationale in entry source. Like comment for file extensions (see file_ext here http://en.wikipedia.org/w/index.php?title=D_(programming_language)action=edit )
Re: Discussion about D at a C++ forum
Alexander Malakhov: Other languages have just 1 date. I think wikipedia's editors would resist if D will be different. A solution is to have two Wikipedia pages, una for D1 and one for D. Bye, bearophile
Re: Discussion about D at a C++ forum
On 01/10/2012 08:47 AM, Alexander Malakhov wrote: On Tuesday, 10 January 2012 at 00:04:31 UTC, Sean Kelly wrote: On Jan 9, 2012, at 3:45 PM, Iain Buclaw wrote: On 9 January 2012 21:29, Walter Bright newshou...@digitalmars.com wrote: On 1/9/2012 11:45 AM, Jonathan M Davis wrote: Please fix the wikipedia entry! With what? Make it say 2003 for D1 and 2007 for D2? Yes, but 2001 for D1. [citation needed] How about the changelog? Or does it have to be an actual article. Maybe Walter's written something at DDJ? D1 changelog starts with 1.001, 2007-01-23 D 0.00 was released on 9 December 2001. http://www.digitalmars.com/d/1.0/changelog1.html#new000 -- Mike Wey
Re: Discussion about D at a C++ forum
On Sun, 08 Jan 2012 19:26:15 -0500 dsimcha dsim...@yahoo.com wrote: 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. Considering we'd need to do some work for our project involving number crunching in the form of producing several libs to be (later) used by GUI part of the app, I'm curious to know do you use ncurses or just plain console output for your UI? I'm askin considering to start work on non-GUI part of the project and just have simple UI to test results and along with that work try to improve GUI situation in the D's ecosystem. 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. That's vey nice to hear from someone like yourself. We did small research about possible alternatives for D by looking at Scala Clojure, but understood we don't get much in terms of GUIs, but only lose otherwise. Last consideration was C#/Mono, but, again, not much to gain and more to lose, so we'll stay with D, try to write non-GUI parts and later (hopefully) sell D as overall language of the projet. Sincerely, Gour -- Never was there a time when I did not exist, nor you, nor all these kings; nor in the future shall any of us cease to be. http://atmarama.net | Hlapicina (Croatia) | GPG: 52B5C810 signature.asc Description: PGP signature
Re: Discussion about D at a C++ forum
On 1/8/2012 7:09 PM, Vladimir Panteleev wrote: 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. Would it still have the same functionality (i.e. disposing of GC'd objects and reclaiming their memory, as though the GC had done it)? If so, what's the point of removing it in the first place? If not, then I guess my point is obvious.
Re: Discussion about D at a C++ forum
On Monday, January 09, 2012 00:51:57 Mehrdad wrote: On 1/8/2012 7:09 PM, Vladimir Panteleev wrote: 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. Would it still have the same functionality (i.e. disposing of GC'd objects and reclaiming their memory, as though the GC had done it)? If so, what's the point of removing it in the first place? If not, then I guess my point is obvious. I believe that the general idea is that if you want to manually manage memory, then you don't use the GC heap, though core.memory.GC will still allow some level of manual control for the GC. I'm not aware of any plan to add a delete function to anything, but if something like that is added, it'll probably be to core.memory with the idea that it's there if you really need it but that you really shouldn't be using it normally. Explicitly freeing memory goes with manually memory management, not garbage collection. - Jonathan M Davis
Re: Discussion about D at a C++ forum
Jonathan M Davis wrote: On Monday, January 09, 2012 00:51:57 Mehrdad wrote: On 1/8/2012 7:09 PM, Vladimir Panteleev wrote: 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. Would it still have the same functionality (i.e. disposing of GC'd objects and reclaiming their memory, as though the GC had done it)? If so, what's the point of removing it in the first place? If not, then I guess my point is obvious. I believe that the general idea is that if you want to manually manage memory, then you don't use the GC heap, though core.memory.GC will still allow some level of manual control for the GC. I'm not aware of any plan to add a delete function to anything, but if something like that is added, it'll probably be to core.memory with the idea that it's there if you really need it but that you really shouldn't be using it normally. Explicitly freeing memory goes with manually memory management, not garbage collection. - Jonathan M Davis AFAIK, core.memory.GC.free() can be used to manually deallocate GC allocated data (you'll have to clear the classes to destroy them, though). But, correct, if you want manual allocation, you should use manual allocation. My game project uses GC all over the code - yet most memory is manually allocated as the largest allocations are in specific parts of code (mostly video related, e.g. textures). This way you get the benefits of both a GC and manual allocation.
Re: Discussion about D at a C++ forum
On Sun, 08 Jan 2012 18:28:54 -0500, Mehrdad wfunct...@hotmail.com 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. C doesn't have delete. But removing delete isn't the problem anyways. Here is the problem (which exists with delete present in the language): class C { private int[] buf; this() { buf = new int[5]; } ~this() {/* can't destroy buf here */} } void main() { auto c = new C; delete c; // doesn't destroy c.buf } What we need is a way to hook deterministic destruction vs. GC destruction. Only then, a SP language will you be. -Steve
Re: Discussion about D at a C++ forum
On 1/9/2012 2:56 AM, Gour wrote: On Sun, 08 Jan 2012 19:26:15 -0500 dsimchadsim...@yahoo.com wrote: 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. Considering we'd need to do some work for our project involving number crunching in the form of producing several libs to be (later) used by GUI part of the app, I'm curious to know do you use ncurses or just plain console output for your UI? Pure command line/console.
Re: Discussion about D at a C++ forum
On Sunday, 8 January 2012 at 04:19:52 UTC, Andrei Alexandrescu wrote: Here's an interesting discussion that may reflect the perceptions and misperceptions about D within the larger community. They did not touch any new topic we did not talk about here on this NG, and on irc://irc.freenode.org/d . :)
Re: Discussion about D at a C++ forum
On 01/09/2012 07:58 AM, Steven Schveighoffer wrote: On Sun, 08 Jan 2012 18:28:54 -0500, Mehrdad wfunct...@hotmail.com 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. C doesn't have delete. But removing delete isn't the problem anyways. Here is the problem (which exists with delete present in the language): class C { private int[] buf; this() { buf = new int[5]; } ~this() {/* can't destroy buf here */} } void main() { auto c = new C; delete c; // doesn't destroy c.buf } What we need is a way to hook deterministic destruction vs. GC destruction. Only then, a SP language will you be. -Steve I was under the impression you could overload new and delete per class/union/struct which gave you the ability to control how things were allocated. I was also under the impression that this would be longer possible with some of the comments made on IRC. I'm probably wrong (or I hope I'm wrong...).
Re: Discussion about D at a C++ forum
On Mon, 09 Jan 2012 09:47:13 -0500, Zachary Lund ad...@computerquip.com wrote: On 01/09/2012 07:58 AM, Steven Schveighoffer wrote: On Sun, 08 Jan 2012 18:28:54 -0500, Mehrdad wfunct...@hotmail.com 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. C doesn't have delete. But removing delete isn't the problem anyways. Here is the problem (which exists with delete present in the language): class C { private int[] buf; this() { buf = new int[5]; } ~this() {/* can't destroy buf here */} } void main() { auto c = new C; delete c; // doesn't destroy c.buf } What we need is a way to hook deterministic destruction vs. GC destruction. Only then, a SP language will you be. -Steve I was under the impression you could overload new and delete per class/union/struct which gave you the ability to control how things were allocated. Currently, but scheduled for deprecation (to be replaced by existing library solutions). But it's not good enough anyways. If I want to use the GC to allocate my buffer, I still must rely on the GC to destroy it, even if I destroy my class deterministically. Using an allocator won't fix that. -Steve
Re: Discussion about D at a C++ forum
On 1/9/2012 1:02 AM, Jonathan M Davis wrote: I believe that the general idea is that if you want to manually manage memory, then you don't use the GC heap, though core.memory.GC will still allow some level of manual control for the GC. I'm not aware of any plan to add a delete function to anything, but if something like that is added, it'll probably be to core.memory with the idea that it's there if you really need it but that you really shouldn't be using it normally. Explicitly freeing memory goes with manually memory management, not garbage collection. - Jonathan M Davis The precise trouble with that is that the _language_ DEPENDS on a GC in order to function correctly. Arrays, AAs, closures, etc. use a GC for allocation, and essentially you're saying don't delete AAs, even though that could very well be the memory hog in my program. Object /also/ depends on a GC... yes, we have emplace(), yada yada, but it's is pretty darn un-handy to use (compared to placement new in C++, which is a breeze) so it's indeed quite a bit more difficult to use than in C++. Unless you're saying I can't use AAs if I don't want a GC, then I don't see how that argument works out.
Re: Discussion about D at a C++ forum
Already possible via Runtime.collectHandler, though I'll admit it could be done more elegantly. Sent from my iPhone On Jan 9, 2012, at 5:58 AM, Steven Schveighoffer schvei...@yahoo.com wrote: On Sun, 08 Jan 2012 18:28:54 -0500, Mehrdad wfunct...@hotmail.com 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. C doesn't have delete. But removing delete isn't the problem anyways. Here is the problem (which exists with delete present in the language): class C { private int[] buf; this() { buf = new int[5]; } ~this() {/* can't destroy buf here */} } void main() { auto c = new C; delete c; // doesn't destroy c.buf } What we need is a way to hook deterministic destruction vs. GC destruction. Only then, a SP language will you be. -Steve
Re: Discussion about D at a C++ forum
On 1/9/2012 7:31 AM, Marco Leise wrote: note that D removes probably the most important feature of C++ that makes C++ so powerful: templates and replaces it with something even weaker than Java generics I had to read that sentence over again. Did he say D? Oh well... talking about misperceptions. Also, he talks about D debuting in 1999. At the end of 1999, I decided to start working on it. A working compiler didn't appear until 2003 or so, though that was very primitive compared with what we have now.
Re: Discussion about D at a C++ forum
On Monday, January 09, 2012 10:15:37 Walter Bright wrote: On 1/9/2012 7:31 AM, Marco Leise wrote: note that D removes probably the most important feature of C++ that makes C++ so powerful: templates and replaces it with something even weaker than Java generics I had to read that sentence over again. Did he say D? Oh well... talking about misperceptions. Also, he talks about D debuting in 1999. At the end of 1999, I decided to start working on it. A working compiler didn't appear until 2003 or so, though that was very primitive compared with what we have now. I suspect that part of the problem is that Wikipedia lists D as appearing in 1999. And, of course, since D2 didn't start until 2007, saying that D has been around since 1999 easily gives the mistaken impression that we're doing a bad job, since D _still_ isn't complete and fully stable. - Jonathan M Davis
Re: Discussion about D at a C++ forum
On 1/9/2012 10:59 AM, Jonathan M Davis wrote: I suspect that part of the problem is that Wikipedia lists D as appearing in 1999. And, of course, since D2 didn't start until 2007, saying that D has been around since 1999 easily gives the mistaken impression that we're doing a bad job, since D _still_ isn't complete and fully stable. Please fix the wikipedia entry!
Re: Discussion about D at a C++ forum
On Monday, January 09, 2012 11:37:50 Walter Bright wrote: On 1/9/2012 10:59 AM, Jonathan M Davis wrote: I suspect that part of the problem is that Wikipedia lists D as appearing in 1999. And, of course, since D2 didn't start until 2007, saying that D has been around since 1999 easily gives the mistaken impression that we're doing a bad job, since D _still_ isn't complete and fully stable. Please fix the wikipedia entry! With what? Make it say 2003 for D1 and 2007 for D2? - Jonathan M Davis
Re: Discussion about D at a C++ forum
On Mon, 09 Jan 2012 14:37:50 -0500, Walter Bright newshou...@digitalmars.com wrote: On 1/9/2012 10:59 AM, Jonathan M Davis wrote: I suspect that part of the problem is that Wikipedia lists D as appearing in 1999. And, of course, since D2 didn't start until 2007, saying that D has been around since 1999 easily gives the mistaken impression that we're doing a bad job, since D _still_ isn't complete and fully stable. Please fix the wikipedia entry! According to the D changelog, the first version was released in 2001. -Steve
Re: Discussion about D at a C++ forum
Jonathan M Davis wrote: easily gives the mistaken impression that we're doing a bad job ... but only for easy people. In addition: a:without indication of paid time there isn't a job; b:without specifying the number of full-time service providers, there isn't a we -manfred
Re: Discussion about D at a C++ forum
On Monday, January 09, 2012 21:29:01 Manfred Nowak wrote: Jonathan M Davis wrote: easily gives the mistaken impression that we're doing a bad job ... but only for easy people. In addition: a:without indication of paid time there isn't a job; b:without specifying the number of full-time service providers, there isn't a we Really? None of Merriam Webster's definitions for job involve being paid (though obviously, you _can_ be paid to do a job - it just isn't required for it to be a job): http://www.merriam-webster.com/dictionary/job And since there is a group of us working on D, there is most definitely a we. I'm not quite sure what point you're trying to make here though. - Jonathan M Davis
Re: Discussion about D at a C++ forum
On 9 January 2012 21:29, Walter Bright newshou...@digitalmars.com wrote: On 1/9/2012 11:45 AM, Jonathan M Davis wrote: Please fix the wikipedia entry! With what? Make it say 2003 for D1 and 2007 for D2? Yes, but 2001 for D1. [citation needed] -- Iain Buclaw *(p e ? p++ : p) = (c 0x0f) + '0';
Re: Discussion about D at a C++ forum
On Jan 9, 2012, at 3:45 PM, Iain Buclaw wrote: On 9 January 2012 21:29, Walter Bright newshou...@digitalmars.com wrote: On 1/9/2012 11:45 AM, Jonathan M Davis wrote: Please fix the wikipedia entry! With what? Make it say 2003 for D1 and 2007 for D2? Yes, but 2001 for D1. [citation needed] How about the changelog? Or does it have to be an actual article. Maybe Walter's written something at DDJ?
Re: Discussion about D at a C++ forum
On Mon, 9 Jan 2012, Jonathan M Davis wrote: On Monday, January 09, 2012 11:37:50 Walter Bright wrote: On 1/9/2012 10:59 AM, Jonathan M Davis wrote: I suspect that part of the problem is that Wikipedia lists D as appearing in 1999. And, of course, since D2 didn't start until 2007, saying that D has been around since 1999 easily gives the mistaken impression that we're doing a bad job, since D _still_ isn't complete and fully stable. Please fix the wikipedia entry! With what? Make it say 2003 for D1 and 2007 for D2? - Jonathan M Davis All of the above. More information there is better than trying to pick a tiny part of it.
Re: Discussion about D at a C++ forum
Jonathan M Davis wrote: Really? A job is a regular activity performed in exchange for payment. http://en.wikipedia.org/wiki/Job, cited 01/10/2012 Your citation defines the religious figure. And since there is a group of us working on D, there is most definitely a we. What is a group, what is working and if there is a we, who belongs to the others? I'm not quite sure what point you're trying to make here though. Limit yourself only by scales, which you yourself have chosen. -manfred
Re: Discussion about D at a C++ forum
On Tuesday, January 10, 2012 01:55:23 Manfred Nowak wrote: Jonathan M Davis wrote: Really? A job is a regular activity performed in exchange for payment. http://en.wikipedia.org/wiki/Job, cited 01/10/2012 Your citation defines the religious figure. http://www.merriam-webster.com/dictionary/job[1] For some reason, my browser didn't update the URL when clicking on the noun non-pronoun version of the word. There is _zero_ mention of compensation in the dictionary definition. Yes, one's employment is typically referred to as one's job (which is likely why Wikipedia says what it does), but it doesn't _have_ to refer to one's employment. Wikipedia is giving an overly narrow definition. And since there is a group of us working on D, there is most definitely a we. What is a group, what is working and if there is a we, who belongs to the others? I'm not quite sure what point you're trying to make here though. Limit yourself only by scales, which you yourself have chosen. I still don't see why any of this is relevant to the discussion at hand. We're talking about the state of D and how it's perceived by those outside of the D community. It looks to me like you're just trying to be a troll. - Jonathan M Davis
Re: Discussion about D at a C++ forum
Jonathan M Davis wrote: It looks to me like you're just trying to be a troll. Nice. how it's perceived by those outside of the D community. It looks to me like they are all trolls. -manfred
Re: Discussion about D at a C++ forum
On Tuesday, 10 January 2012 at 00:04:31 UTC, Sean Kelly wrote: On Jan 9, 2012, at 3:45 PM, Iain Buclaw wrote: On 9 January 2012 21:29, Walter Bright newshou...@digitalmars.com wrote: On 1/9/2012 11:45 AM, Jonathan M Davis wrote: Please fix the wikipedia entry! With what? Make it say 2003 for D1 and 2007 for D2? Yes, but 2001 for D1. [citation needed] How about the changelog? Or does it have to be an actual article. Maybe Walter's written something at DDJ? D1 changelog starts with 1.001, 2007-01-23
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.
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=3rI85jH3F4Ufeature=related
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.
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.
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...
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.
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
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!
Re: Discussion about D at a C++ forum
Andrei Alexandrescu seewebsiteforem...@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.