Another Transitive const solution

Georg Wrede georg at nospam.org
Fri Apr 11 13:28:29 PDT 2008


Hans W. Uhlig wrote:
> Georg Wrede wrote:
> 
>> Hans W. Uhlig wrote:
>>
>>> Jarrett Billingsley wrote:
>>>
>>>> "Alex Burton" <alexibu at mac.com> wrote in message 
>>>> news:ftjfrg$24lu$1 at digitalmars.com...
>>>>
>>>>> Jarrett Billingsley Wrote:
>>>>>
>>>>>> "Alex Burton" <alexibu at mac.com> wrote in message
>>>>>> news:fti5dd$8h7$1 at digitalmars.com...
>>>>>>
>>>>>>> I wonder how many lurkers like me are waiting for D 2.0s const 
>>>>>>> system to be
>>>>>>> sorted out so that we can start using it.
>>>>>>> Experience shows that const is viral and you are either using it 
>>>>>>> or not
>>>>>>> using it, and if libraries are using it, then you have to use it 
>>>>>>> or you
>>>>>>> can't use the libraries.
>>>>>>> So I am not going to write a bunch of D 1.0 code until D 2.0's 
>>>>>>> transitive
>>>>>>> const is fixed.
>>>>>>
>>>>>>
>>>>>> What?  What does constness in D2 have anything to do with D1?
>>>>>>
>>>>> Knowing that fundamental changes to the language will come in the 
>>>>> next version makes me hesitant to start writing lots of code in D1.
>>>>>
>>>>
>>>> The entire reason for making D1 _D1_ was so that people _would_ 
>>>> start using it.  It strikes me as very odd that the exact opposite 
>>>> seems to have happened.  You're not the only one to come to this 
>>>> decision.
>>>>
>>>> Personally I won't even consider D2 until it's frozen.  Furthermore 
>>>> just because you write code in D1 doesn't mean you'll _have_ to 
>>>> start using D2.
>>>>
>>>
>>> I think this idea comes out of the same mindset as Java. You don't 
>>> want to use something you know is going to be deprecated so soon down 
>>> the road. Since D2.0 is an evolution of the product rather then a new 
>>> language it is seen as the next version, why write something that 
>>> wont work with the next version when you can write it for that 
>>> version. I think its simply the fact that D2 isn't backwards 
>>> compatible for a good chunk of things. Porting might end up being a 
>>> bigger pain then simply waiting is.
>>>
>>> I look forward to a lot of the changes in parallel processing and 
>>> library support coming for D2 and am waiting to start a few projects 
>>> until D2.0s feature set is frozen, till then I merely putter.
>>
>> But nobody knows when that'll happen!
>>
>> It might be months, but it might as well be late /next/ year.
>>
>> And if you do regular (as in just normal) programmin in D1, chances 
>> that you'd have to work hard to later port it to D2 are small. Most of 
>> the things in D1 aren't going to change anyway. There'll mostly be 
>> just more things to the language.
>>
>> Of course, some people don't buy a new cellular phone because next 
>> year you get a twice cooler one for half the price. Or they don't buy 
>> a new computer "because they're getting cheaper and stronger all the 
>> time, so for every month I push back buying one, I actually earn money".
>>
>> You might as well skip waiting alltogether, because (as with any 
>> programming language) the day /will/ come when D is obsolete.
>>
>> But then you shouldn't marry either, because one day she'll either 
>> divorce you or die.
>>
>> In reality, you might get a lot of things done in D1 while waiting, 
>> and possibly even enjoy both the programming, and the results of it.
> 
> I would disagree with this specifically in relation to const, enum and 
> the current peices here as once the state of this entire concurrent 
> programming underpinnings are complete I would both hope and assume the 
> standard libraries would embrace them and become threadsafe, happy and 
> productive(unless we are going to have two libraries, std and stdconst.
> 
> On your last note about waiting, D will eventually become obsolete, this 
> is true. However we already have dangling in front of us a fall freeze 
> date(tentative I know) which includes alot of features people are 
> holding their breath over. D1.0 lacks alot of features people seem to 
> want. Also code maintenance/expansion is easier when you have the widest 
> selection of libraries to choose from. and 2 years from now it wont be 
> D1 people are writing said libraries to. It will probobly be D2 or D3.
> I think alot of people are waiting for the core of the language to be 
> frozen where only new stuff gets mucked with. not existing keywords, 
> precidents and features.

When D2 is ready, then people start writing or porting libraries to it. 
That won't happen overnight. And until then, you can't start using it 
"at full strength".

And before those libraries are ready, already ideas and must-haves for 
D3 are widely discussed here and in other places. Those must-haves will 
feel just as important as the ones we want today, that is, you can't 
live without them.

So, again, you'd have to wait for the next D version, and its libraries, 
and by that time D4 will be in the pipelines. I'm sorry to say, that 
simply is the way things are. And that will never change. And we don't 
even want that to change. Other languages evolve, computers get faster 
and bigger, and what people take for granted as language properties 
changes too.



More information about the Digitalmars-d mailing list