digitalmars.D - Discussion about D at a C++ forum
- Andrei Alexandrescu (4/4) Jan 07 2012 Here's an interesting discussion that may reflect the perceptions and
- Jonathan M Davis (14/18) Jan 07 2012 Not exactly the most informed discussion. But I would expect that some o...
- Mike Parker (26/44) Jan 07 2012 Unfortunately, there's nothing anyone really can do about it (and I'm
- Somedude (2/41) Jan 13 2012 It hasn't prevented Java from being extremely successful in its own area...
- Nick Sabalausky (25/61) Jan 13 2012 While that's certainly a real phonomenon, in the case of Java, I think
- Mehrdad (31/32) Jan 08 2012 Well, some of their comments _ARE_ spot-on correct...
- dsimcha (19/28) Jan 08 2012 As someone who does performance-critical scientific work in D, this
- Mehrdad (7/17) Jan 08 2012 Who said anything about performance?
- Gour (23/29) Jan 08 2012 Considering we'd need to do some work for our project involving number
- Vladimir Panteleev (3/9) Jan 08 2012 I don't understand how you came to that conclusion? "delete" will
- Mehrdad (5/14) Jan 09 2012 Would it still have the same functionality (i.e. disposing of GC'd
- Jonathan M Davis (9/27) Jan 09 2012 I believe that the general idea is that if you want to manually manage m...
- Jesse Phillips (13/16) Jan 08 2012 computerquip did a very good job highlighting the bad points.
- Steven Schveighoffer (18/24) Jan 09 2012 C doesn't have delete.
- Zachary Lund (7/31) Jan 09 2012 I was under the impression you could overload new and delete per
- Steven Schveighoffer (8/44) Jan 09 2012 Currently, but scheduled for deprecation (to be replaced by existing
- Sean Kelly (11/36) Jan 09 2012 Already possible via Runtime.collectHandler, though I'll admit it could ...
- Nick Sabalausky (18/21) Jan 07 2012 Every time I log in and go to that page it tells me "Sign in or register...
- F i L (4/7) Jan 08 2012 Awesome! Mono-D has code-completion and renaming features as
- Caligo (3/5) Jan 08 2012 rapidcoder's brother has put up a video on YouTube:
- Dejan Lekic (4/7) Jan 09 2012 They did not touch any new topic we did not talk about here on
- Marco Leise (5/5) Jan 09 2012 "note that D removes probably the most important feature of C++ that mak...
- Walter Bright (4/9) Jan 09 2012 Also, he talks about D debuting in 1999. At the end of 1999, I decided t...
- Jonathan M Davis (6/17) Jan 09 2012 I suspect that part of the problem is that Wikipedia lists D as appearin...
- Walter Bright (2/6) Jan 09 2012 Please fix the wikipedia entry!
- Jonathan M Davis (3/11) Jan 09 2012 With what? Make it say 2003 for D1 and 2007 for D2?
- Walter Bright (2/4) Jan 09 2012 Yes, but 2001 for D1.
- Iain Buclaw (5/12) Jan 09 2012 [citation needed]
- Sean Kelly (4/16) Jan 09 2012 How about the changelog? Or does it have to be an actual article. =
- Alexander Malakhov (2/18) Jan 09 2012 D1 changelog starts with 1.001, 2007-01-23
- Mike Wey (5/25) Jan 10 2012 D 0.00 was released on 9 December 2001.
- Alexander Malakhov (2/6) Jan 11 2012 Oh, missed that links. Thanks!
- Dejan Lekic (5/10) Jan 13 2012 Walter, I suppose you will have to clearly state that somewhere
- Walter Bright (2/13) Jan 13 2012 http://www.digitalmars.com/d/1.0/changelog1.html#new000
- Alexander Malakhov (8/23) Jan 10 2012 Other languages have just 1 date. I think wikipedia's editors
- bearophile (4/6) Jan 10 2012 A solution is to have two Wikipedia pages, una for D1 and one for D.
- Alexander Malakhov (6/13) Jan 11 2012 I believe that would be much more difficult.
- a (2/4) Jan 11 2012 They are actually deleting pages due to low visit counts? This is just w...
- Alexander Malakhov (14/19) Jan 12 2012 Turns out I was wrong. I was thinking about Nemerle, which was
- Steven Schveighoffer (4/13) Jan 09 2012 According to the D changelog, the first version was released in 2001.
- Brad Roberts (3/16) Jan 09 2012 All of the above. More information there is better than trying to pick ...
- Manfred Nowak (7/9) Jan 09 2012 ... but only for easy people.
- Jonathan M Davis (7/18) Jan 09 2012 Really? None of Merriam Webster's definitions for job involve being paid...
- Manfred Nowak (8/12) Jan 09 2012 "A job is a regular activity performed in exchange for payment."
- Jonathan M Davis (12/27) Jan 09 2012 http://www.merriam-webster.com/dictionary/job[1]
- Manfred Nowak (4/6) Jan 09 2012 It looks to me like they are all trolls.
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
Jan 07 2012
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
Jan 07 2012
On 1/8/2012 3:57 PM, Jonathan M Davis wrote:On Saturday, January 07, 2012 22:19:53 Andrei Alexandrescu wrote: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!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
Jan 07 2012
Le 08/01/2012 08:47, Mike Parker a écrit :On 1/8/2012 3:57 PM, Jonathan M Davis wrote:It hasn't prevented Java from being extremely successful in its own area.On Saturday, January 07, 2012 22:19:53 Andrei Alexandrescu wrote: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.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
Jan 13 2012
"Mike Parker" <aldacron gmail.com> wrote in message news:jebhmg$20vf$1 digitalmars.com...On 1/8/2012 3:57 PM, Jonathan M Davis wrote: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).On Saturday, January 07, 2012 22:19:53 Andrei Alexandrescu wrote: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.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
Jan 13 2012
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." 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.
Jan 08 2012
On 1/8/2012 6:28 PM, Mehrdad wrote:On 1/7/2012 10:57 PM, Jonathan M Davis 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. (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.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...
Jan 08 2012
On 1/8/2012 4:26 PM, dsimcha wrote:On 1/8/2012 6:28 PM, Mehrdad wrote: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"...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
Jan 08 2012
On Sun, 08 Jan 2012 19:26:15 -0500 dsimcha <dsimcha yahoo.com> wrote:As someone who does performance-critical scientific work in D, this=20 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=20 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. 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 --=20 Never was there a time when I did not exist,=20 nor you, nor all these kings; nor in the future=20 shall any of us cease to be. http://atmarama.net | Hlapicina (Croatia) | GPG: 52B5C810
Jan 08 2012
On 1/9/2012 2:56 AM, Gour wrote:On Sun, 08 Jan 2012 19:26:15 -0500 dsimcha<dsimcha yahoo.com> wrote:Pure command line/console.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?
Jan 09 2012
On Mon, 09 Jan 2012 09:28:11 -0500 dsimcha <dsimcha yahoo.com> wrote:Pure command line/console.Thank you. Sincerely, Gour --=20 As a strong wind sweeps away a boat on the water,=20 even one of the roaming senses on which the mind=20 focuses can carry away a man's intelligence. http://atmarama.net | Hlapicina (Croatia) | GPG: 52B5C810
Jan 09 2012
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.
Jan 08 2012
On 1/8/2012 7:09 PM, Vladimir Panteleev wrote:On Sunday, 8 January 2012 at 23:28:57 UTC, Mehrdad wrote: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.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.
Jan 09 2012
On Monday, January 09, 2012 00:51:57 Mehrdad wrote:On 1/8/2012 7:09 PM, Vladimir Panteleev 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 DavisOn Sunday, 8 January 2012 at 23:28:57 UTC, Mehrdad wrote: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.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.
Jan 09 2012
Jonathan M Davis wrote:On Monday, January 09, 2012 00:51:57 Mehrdad wrote: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.On 1/8/2012 7:09 PM, Vladimir Panteleev 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 DavisOn Sunday, 8 January 2012 at 23:28:57 UTC, Mehrdad wrote: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.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.
Jan 09 2012
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 DavisThe 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.
Jan 09 2012
On Sunday, 8 January 2012 at 23:28:57 UTC, Mehrdad wrote:On 1/7/2012 10:57 PM, Jonathan M Davis wrote:computerquip did a very good job highlighting the bad points. rapidcoder failed miserably to provide accurate claims. Most of the discussion is these two going back and forth (where computerquip states rapidcoder's inability to argue). The conclusion that not a systems language is the only thing I partially disagree with from computerquip. I don't think it can be used for such at this time, or at least not it a way that is any better than C (and may even be worse in some situations). But systems programming is a goal, we just don't have a big enough section in the community spending time to improve this area. Sadly there isn't anything new that we can take away from this discussion.Not exactly the most informed discussion.Well, some of their comments _ARE_ spot-on correct...
Jan 08 2012
On Sun, 08 Jan 2012 18:28:54 -0500, Mehrdad <wfunction 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
Jan 09 2012
On 01/09/2012 07:58 AM, Steven Schveighoffer wrote:On Sun, 08 Jan 2012 18:28:54 -0500, Mehrdad <wfunction hotmail.com> wrote: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...).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
Jan 09 2012
On Mon, 09 Jan 2012 09:47:13 -0500, Zachary Lund <admin computerquip.com> wrote:On 01/09/2012 07:58 AM, Steven Schveighoffer wrote: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. -SteveOn Sun, 08 Jan 2012 18:28:54 -0500, Mehrdad <wfunction hotmail.com> wrote: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.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
Jan 09 2012
Already possible via Runtime.collectHandler, though I'll admit it could be d= one more elegantly.=20 Sent from my iPhone On Jan 9, 2012, at 5:58 AM, "Steven Schveighoffer" <schveiguy yahoo.com> wro= te:On Sun, 08 Jan 2012 18:28:54 -0500, Mehrdad <wfunction hotmail.com> wrote:==20oving "delete" as it's apparently deprecated (which will officially make it n= ot usable as an SP language).7. Unstable language. They're currently considering doing things like rem=anguage... unless you ignore the GC completely, which isn't even possible, p= ractically speaking.Looks 100% correct. Removing 'delete' /does/ make D unusable as an SP l==20 C doesn't have delete. =20 But removing delete isn't the problem anyways. Here is the problem (which=exists with delete present in the language):=20 class C { private int[] buf; this() { buf =3D new int[5]; } ~this() {/* can't destroy buf here */} } =20 void main() { auto c =3D new C; delete c; // doesn't destroy c.buf } =20 What we need is a way to hook deterministic destruction vs. GC destruction=. Only then, a SP language will you be.=20 -Steve
Jan 09 2012
"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.
Jan 07 2012
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.
Jan 08 2012
On Sun, Jan 8, 2012 at 1:47 AM, Nick Sabalausky <a a.a> wrote:rapidcoder's brother has put up a video on YouTube: http://www.youtube.com/watch?v=3rI85jH3F4U&feature=relatedI was impressed though that none of them seemed to be buying any of the crapthat "rapidcoder" was spreading.
Jan 08 2012
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 . :)
Jan 09 2012
"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.
Jan 09 2012
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.
Jan 09 2012
On Monday, January 09, 2012 10:15:37 Walter Bright wrote:On 1/9/2012 7:31 AM, Marco Leise 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. - Jonathan M Davis"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.
Jan 09 2012
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!
Jan 09 2012
On Monday, January 09, 2012 11:37:50 Walter Bright wrote:On 1/9/2012 10:59 AM, Jonathan M Davis wrote:With what? Make it say 2003 for D1 and 2007 for D2? - Jonathan M DavisI 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!
Jan 09 2012
On 1/9/2012 11:45 AM, Jonathan M Davis wrote:Yes, but 2001 for D1.Please fix the wikipedia entry!With what? Make it say 2003 for D1 and 2007 for D2?
Jan 09 2012
On 9 January 2012 21:29, Walter Bright <newshound2 digitalmars.com> wrote:On 1/9/2012 11:45 AM, Jonathan M Davis wrote:[citation needed] -- Iain Buclaw *(p < e ? p++ : p) = (c & 0x0f) + '0';Yes, but 2001 for D1.Please fix the wikipedia entry!With what? Make it say 2003 for D1 and 2007 for D2?
Jan 09 2012
On Jan 9, 2012, at 3:45 PM, Iain Buclaw wrote:On 9 January 2012 21:29, Walter Bright <newshound2 digitalmars.com> =wrote:How about the changelog? Or does it have to be an actual article. = Maybe Walter's written something at DDJ?=On 1/9/2012 11:45 AM, Jonathan M Davis wrote:=20 [citation needed]=20 =20 Yes, but 2001 for D1.=20 Please fix the wikipedia entry!=20 =20 With what? Make it say 2003 for D1 and 2007 for D2?
Jan 09 2012
On Tuesday, 10 January 2012 at 00:04:31 UTC, Sean Kelly wrote:On Jan 9, 2012, at 3:45 PM, Iain Buclaw wrote:D1 changelog starts with 1.001, 2007-01-23On 9 January 2012 21:29, Walter Bright <newshound2 digitalmars.com> wrote:How about the changelog? Or does it have to be an actual article. Maybe Walter's written something at DDJ?On 1/9/2012 11:45 AM, Jonathan M Davis wrote:[citation needed]Yes, but 2001 for D1.Please fix the wikipedia entry!With what? Make it say 2003 for D1 and 2007 for D2?
Jan 09 2012
On 01/10/2012 08:47 AM, Alexander Malakhov wrote:On Tuesday, 10 January 2012 at 00:04:31 UTC, Sean Kelly wrote:D 0.00 was released on 9 December 2001. http://www.digitalmars.com/d/1.0/changelog1.html#new000 -- Mike WeyOn Jan 9, 2012, at 3:45 PM, Iain Buclaw wrote:D1 changelog starts with 1.001, 2007-01-23On 9 January 2012 21:29, Walter Bright <newshound2 digitalmars.com> wrote:How about the changelog? Or does it have to be an actual article. Maybe Walter's written something at DDJ?On 1/9/2012 11:45 AM, Jonathan M Davis wrote:[citation needed]Yes, but 2001 for D1.Please fix the wikipedia entry!With what? Make it say 2003 for D1 and 2007 for D2?
Jan 10 2012
On Tuesday, 10 January 2012 at 18:58:41 UTC, Mike Wey wrote:On 01/10/2012 08:47 AM, Alexander Malakhov wrote:Oh, missed that links. Thanks!D1 changelog starts with 1.001, 2007-01-23D 0.00 was released on 9 December 2001. http://www.digitalmars.com/d/1.0/changelog1.html#new000
Jan 11 2012
On Monday, 9 January 2012 at 21:29:27 UTC, Walter Bright wrote:On 1/9/2012 11:45 AM, Jonathan M Davis wrote: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.Yes, but 2001 for D1.Please fix the wikipedia entry!With what? Make it say 2003 for D1 and 2007 for D2?
Jan 13 2012
On 1/13/2012 7:57 AM, Dejan Lekic wrote:On Monday, 9 January 2012 at 21:29:27 UTC, Walter Bright wrote:http://www.digitalmars.com/d/1.0/changelog1.html#new000On 1/9/2012 11:45 AM, Jonathan M Davis wrote: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.Yes, but 2001 for D1.Please fix the wikipedia entry!With what? Make it say 2003 for D1 and 2007 for D2?
Jan 13 2012
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: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 )On 1/9/2012 10:59 AM, Jonathan M Davis wrote:With what? Make it say 2003 for D1 and 2007 for D2? - Jonathan M DavisI 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!
Jan 10 2012
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
Jan 10 2012
On Tuesday, 10 January 2012 at 12:08:41 UTC, bearophile wrote:Alexander Malakhov: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 countOther 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
Jan 11 2012
Alexander Malakhov Wrote:And even if that will happen, D1 page most likely will be deleted later due to little visits countThey are actually deleting pages due to low visit counts? This is just wrong.
Jan 11 2012
On Thursday, 12 January 2012 at 06:17:43 UTC, a wrote:Alexander Malakhov Wrote: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=2215168And even if that will happen, D1 page most likely will be deleted later due to little visits countThey are actually deleting pages due to low visit counts? This is just wrong.
Jan 12 2012
On Mon, 09 Jan 2012 14:37:50 -0500, Walter Bright <newshound2 digitalmars.com> wrote:On 1/9/2012 10:59 AM, Jonathan M Davis wrote:According to the D changelog, the first version was released in 2001. -SteveI 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!
Jan 09 2012
On Mon, 9 Jan 2012, Jonathan M Davis wrote:On Monday, January 09, 2012 11:37:50 Walter Bright wrote:All of the above. More information there is better than trying to pick a tiny part of it.On 1/9/2012 10:59 AM, Jonathan M Davis wrote:With what? Make it say 2003 for D1 and 2007 for D2? - Jonathan M DavisI 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!
Jan 09 2012
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
Jan 09 2012
On Monday, January 09, 2012 21:29:01 Manfred Nowak wrote:Jonathan M Davis wrote: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 Daviseasily 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"
Jan 09 2012
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
Jan 09 2012
On Tuesday, January 10, 2012 01:55:23 Manfred Nowak wrote:Jonathan M Davis wrote: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.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.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 DavisAnd 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.
Jan 09 2012
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
Jan 09 2012