Re: Discussion about D at a C++ forum

2012-01-13 Thread Somedude
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

2012-01-13 Thread Dejan Lekic

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

2012-01-13 Thread Walter Bright

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

2012-01-13 Thread Nick Sabalausky
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

2012-01-12 Thread Alexander Malakhov

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

2012-01-11 Thread Alexander Malakhov

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

2012-01-11 Thread Alexander Malakhov

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

2012-01-11 Thread a
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

2012-01-10 Thread Alexander Malakhov

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

2012-01-10 Thread bearophile
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

2012-01-10 Thread Mike Wey

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

2012-01-09 Thread Gour
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

2012-01-09 Thread Mehrdad

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

2012-01-09 Thread Jonathan M Davis
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

2012-01-09 Thread Kiith-Sa
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

2012-01-09 Thread Steven Schveighoffer

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

2012-01-09 Thread dsimcha

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

2012-01-09 Thread Dejan Lekic
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

2012-01-09 Thread Zachary Lund

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

2012-01-09 Thread Steven Schveighoffer
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

2012-01-09 Thread Mehrdad

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

2012-01-09 Thread Sean Kelly
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

2012-01-09 Thread Walter Bright

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

2012-01-09 Thread Jonathan M Davis
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

2012-01-09 Thread Walter Bright

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

2012-01-09 Thread Jonathan M Davis
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

2012-01-09 Thread Steven Schveighoffer
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

2012-01-09 Thread Manfred Nowak
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

2012-01-09 Thread Jonathan M Davis
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

2012-01-09 Thread Iain Buclaw
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

2012-01-09 Thread Sean Kelly
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

2012-01-09 Thread Brad Roberts
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

2012-01-09 Thread Manfred Nowak
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

2012-01-09 Thread Jonathan M Davis
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

2012-01-09 Thread Manfred Nowak
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

2012-01-09 Thread Alexander Malakhov

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

2012-01-08 Thread F i L

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

2012-01-08 Thread Caligo
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

2012-01-08 Thread Mehrdad

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

2012-01-08 Thread dsimcha

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

2012-01-08 Thread Mehrdad

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

2012-01-08 Thread Vladimir Panteleev

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

2012-01-07 Thread Jonathan M Davis
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

2012-01-07 Thread Mike Parker

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

2012-01-07 Thread Nick Sabalausky
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.