----- Original Message -----
> From: Robert Jacques <[email protected]>
> To: Steve Schveighoffer <[email protected]>; Discuss the phobos library for 
> D <[email protected]>
> Cc: 
> Sent: Saturday, April 23, 2011 1:42 PM
> Subject: Re: [phobos] Time to get ready for the next release
> 
> On Fri, 22 Apr 2011 15:26:51 -0400, Steve Schveighoffer 
> <[email protected]> wrote:
> [snip]
>>  Another analogy I like to draw upon is casing.  What if D's casing was 
> insensitive?  That is, ReadValue is the same thing as readValue and readvalue 
> .  
> There are probably many people who would love to always use their learned 
> conventions for calling your code (e.g. I always make methods upper case), 
> but 
> then someone comes along and types in reAdvalue (my super-uncreative brain 
> can't come up with a clever example to show something worse, but you get the 
> idea).  The name is the same, but the casing makes all the difference to 
> interpreting what it means!  Like it or not, the same thing applies to things 
> like:
>> 
>>  writeln = "hello";
>> 
>>  Even though we know this is not the right way to call it, the compiler 
> doesn't give an error to enforce the semantics.
> 
> The user is aways right. As a library designer, the user is your customer. 
> And 
> if they discover a new (and meaningful to them) way to use your code, take it 
> as 
> a chance to iterate in a new feature (or improve the design if it's a bug).

It's impossible to improve the design when the compiler doesn't let you enforce 
your design!

And no, the user is not always right.  That's why we have the compiler to tell 
them so ;)

-Steve

_______________________________________________
phobos mailing list
[email protected]
http://lists.puremagic.com/mailman/listinfo/phobos

Reply via email to