www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Vote: No - I would NOT like to see "immutable" in D

reply Brad Beveridge <brad somewhere.net> writes:
If you would NOT like to see the concept of immutable data in D (as 
discussed in other threads) - or you think that it would be a waste of 
Walter's time, please simply reply to this message directly.  Please do 
not discuss anything in this thread.  I would like that people issue 
their vote by replying, hence only reply once.
In this way the votes should be very easy to count.

If you would like to see D have the concept of immutable data, please 
vote in the "Vote: Yes" thread.

Walter - if I have overstepped the purpose of the newsgroup with these 
posts, please delete them or make a posting that people not vote.

Thanks
Brad
Jun 30 2005
next sibling parent "Ben Hinkle" <bhinkle mathworks.com> writes:
"Brad Beveridge" <brad somewhere.net> wrote in message 
news:da1bd0$1iki$1 digitaldaemon.com...
 If you would NOT like to see the concept of immutable data in D (as 
 discussed in other threads) - or you think that it would be a waste of 
 Walter's time, please simply reply to this message directly.  Please do 
 not discuss anything in this thread.  I would like that people issue their 
 vote by replying, hence only reply once.
 In this way the votes should be very easy to count.

 If you would like to see D have the concept of immutable data, please vote 
 in the "Vote: Yes" thread.

 Walter - if I have overstepped the purpose of the newsgroup with these 
 posts, please delete them or make a posting that people not vote.

 Thanks
 Brad
No* (*) I'd like to see a warning for possible COW violations.
Jun 30 2005
prev sibling next sibling parent reply David Medlock <noone nowhere.com> writes:
No.

Complexity added outweighs tiny benefits.

Brad Beveridge wrote:
 If you would NOT like to see the concept of immutable data in D (as 
 discussed in other threads) - or you think that it would be a waste of 
 Walter's time, please simply reply to this message directly.  Please do 
 not discuss anything in this thread.  I would like that people issue 
 their vote by replying, hence only reply once.
 In this way the votes should be very easy to count.
 
 If you would like to see D have the concept of immutable data, please 
 vote in the "Vote: Yes" thread.
 
 Walter - if I have overstepped the purpose of the newsgroup with these 
 posts, please delete them or make a posting that people not vote.
 
 Thanks
 Brad
Jun 30 2005
parent reply "Andrew Fedoniouk" <news terrainformatica.com> writes:
"David Medlock" <noone nowhere.com> wrote in message 
news:da1qe5$2719$1 digitaldaemon.com...
 No.

 Complexity added outweighs tiny benefits.
complexity.... What do you mean by that? Just curious. PS: I don't know any other compileable language in active use which does not have concept of immutable references. In one or another form.
Jun 30 2005
parent reply David Medlock <noone nowhere.com> writes:
Andrew Fedoniouk wrote:
 "David Medlock" <noone nowhere.com> wrote in message 
 news:da1qe5$2719$1 digitaldaemon.com...
 
No.

Complexity added outweighs tiny benefits.
complexity.... What do you mean by that? Just curious.
I mean it adds complexity to the compiler, as well as to the programmer and provides very minimal benefit, if any. I have done quite a bit of C++ and I can never point to a situation where I said, 'thank heavens for const'. Const can be casted away so its not a security mechanism. It is value based so its not memory protection. (I can still modify a member of a pointer to const object) Getting const-correctness in C++ is basically to ensure that something isn't delete'd before it should be(or if it can't be). Especially with C++ auto-casting operator overloading (call delete on a object, which assumes you wish to cast to pointer, boom). I believe that garbage collection is superior to this. -DavidM
 PS: I don't know any other compileable language
 in active use which does not have concept
 of immutable references. In one or another form.
Fine but what capability is missing from D which requires us to add it? Just because others have it is not a valid reason, imo.
Jul 01 2005
next sibling parent reply Mike Capp <mike.capp gmail.com> writes:
(Subject changed to prevent misinterpretation as vote)

In article <da3ahh$rpv$1 digitaldaemon.com>, David Medlock says...
Getting const-correctness in C++ is basically to ensure that something 
isn't delete'd before it should be(or if it can't be). 
Huh? Deleting a const pointer is perfectly legal in C++. Try it: int const * const p = new int(123); delete p; Am I misunderstanding your point? cheers Mike
Jul 01 2005
parent David Medlock <noone nowhere.com> writes:
Mike Capp wrote:

 (Subject changed to prevent misinterpretation as vote)
 
 In article <da3ahh$rpv$1 digitaldaemon.com>, David Medlock says...
 
Getting const-correctness in C++ is basically to ensure that something 
isn't delete'd before it should be(or if it can't be). 
Huh? Deleting a const pointer is perfectly legal in C++. Try it: int const * const p = new int(123); delete p; Am I misunderstanding your point? cheers Mike
Oops. I was thinking of const return values, which must be deposited into const variables. As you say though, there isn't anything protecting the variable's contents.
Jul 01 2005
prev sibling parent "Andrew Fedoniouk" <news terrainformatica.com> writes:
"David Medlock" <noone nowhere.com> wrote in message 
news:da3ahh$rpv$1 digitaldaemon.com...
 Andrew Fedoniouk wrote:
 "David Medlock" <noone nowhere.com> wrote in message 
 news:da1qe5$2719$1 digitaldaemon.com...

No.

Complexity added outweighs tiny benefits.
complexity.... What do you mean by that? Just curious.
I mean it adds complexity to the compiler, as well as to the programmer and provides very minimal benefit, if any. I have done quite a bit of C++ and I can never point to a situation where I said, 'thank heavens for const'.
The problem is in this "I". If you will coordinate a team of 8 developers spreaded from Asia Far East to Canada West you *will* say 'thank heavens for const' and any other public/private/package/etc attributes. I am personally can live without const and public/private/package/etc in the toy language and project. But in real life and in real projects - beg my pardon.
 Const can be casted away so its not a security mechanism.

 It is value based so its not memory protection. (I can still modify a 
 member of a pointer to const object)

 Getting const-correctness in C++ is basically to ensure that something 
 isn't delete'd before it should be(or if it can't be).  Especially with 
 C++ auto-casting operator overloading (call delete on a object, which 
 assumes you wish to cast to pointer, boom).

 I believe that garbage collection is superior to this.

 -DavidM

 PS: I don't know any other compileable language
 in active use which does not have concept
 of immutable references. In one or another form.
Fine but what capability is missing from D which requires us to add it? Just because others have it is not a valid reason, imo.
Jul 01 2005
prev sibling next sibling parent "Charles" <noone nowhere.com> writes:
Nah.  What David said.

"Brad Beveridge" <brad somewhere.net> wrote in message
news:da1bd0$1iki$1 digitaldaemon.com...
 If you would NOT like to see the concept of immutable data in D (as
 discussed in other threads) - or you think that it would be a waste of
 Walter's time, please simply reply to this message directly.  Please do
 not discuss anything in this thread.  I would like that people issue
 their vote by replying, hence only reply once.
 In this way the votes should be very easy to count.

 If you would like to see D have the concept of immutable data, please
 vote in the "Vote: Yes" thread.

 Walter - if I have overstepped the purpose of the newsgroup with these
 posts, please delete them or make a posting that people not vote.

 Thanks
 Brad
Jun 30 2005
prev sibling next sibling parent Mike Parker <aldacron71 yahoo.com> writes:
No
Jun 30 2005
prev sibling parent Dejan Lekic <leka entropy.tmok.com> writes:
No
- That is my vote I guess...

-- 
...........
Dejan Lekic
  http://dejan.lekic.org
  
Jul 01 2005