On Tuesday, November 8, 2016 at 9:34:53 AM UTC-6, Colin Yates wrote:
>
> you mean Java with the 'billion dollar mistake' known as null? 


Yep, that one, which millions of programmers use every day.
 

> The Java which has just completed changed its Date and Time API _for the 
> better_? 


They did not "completely change" the API. They embarked on a lengthy (other 
process issues involved of course) process that created a new *additive* 
API with carefully considered integrations with the prior API(s). Every 
aspect of the "old" API continues to work.
 

> Or maybe you are referring to JavaScript with its insane 
> scoping rules? Maybe Ruby with its ridiculously wide scoping rules? 
> And I am pretty sure Java has and will continue to use the deprecated 
> tag more than once. 
>

Yes, but they also continue to NOT remove the deprecated parts, avoiding 
breaking existing code. We have no plans to removed the deprecated parts of 
Clojure either.
 

> NEW languages are exciting precisely (or at least mainly) because they 
> offer the opportunity to do things better, to evolve and learn from 
> the past 


Absolutely. But Clojure is no longer a new language and has 10ks of 
existing users. There is only a narrow period of time where a language has 
the latitude to change in significant breaking ways and I think we are past 
that time for Clojure.
 

> - legacy debt is by definition only legacy. I am not sure you 
> are really suggesting that continuing to pay for a mistake _for ever_ 
> is better than paying the cost of change once? 
>

I think you are under-estimating the costs of change and over-estimating 
the value of seeking perfection. 

I don't even believe that there is some "right" answer to questions of 
language. Choices of language are inherently dependent on context (of the 
language, of the designer, of the users, of history, of meaning) and there 
are too many constraints for any set of words to perfectly convey a large 
set of concepts. So, there will inevitably be function names that do not 
seem right to you, or do not seem in sync with all other semantically 
similar words in the other set of functions. I don't agree with every 
choice Rich has made and we have wide-ranging disagreements about things 
like this constantly. That's ok, I still like Clojure and in hindsight, the 
majority of his choices are either better or unimportantly different.
 

> Taking your argument literally we are only going to continue to see 
> languages emerge to excitement only to then crumble under previous 
> design decisions. 


To some degree, yes <https://en.wikipedia.org/wiki/Hype_cycle>. Personally, 
I still find Clojure to be the most fun, productive, and useful language I 
have ever used. I do not have the hubris to believe that it is perfect. But 
I'll take fun and productive over perfect every day.
 

> People make mistakes, new realities emerge, why on 
> earth would you want to prevent the opportunity to upgrade? 
>

Because there is tremendous utility in stability.
 

> Unless I am mistaken any? was only introduced in the Clojure 9 alpha 
> so comparing this to the stability of the Java APIs (which are in some 
> parts horrendous to work with, purely because of legacy) is a bit of a 
> straw man. 
>

I'm talking in broader terms than just about any?. But re any?, see the 
language comments above. I think "any?" is exactly the best word for this 
case re spec (note that it's the same word used by both Schema and 
Herbert). It's not the best word in relation to other existing functions. I 
do not see this as the end of the world.
 

> I entirely agree with your upgraded definition of 'good', I am not 
> sure I buy the size of the constraint you mention (changing an API 
> introduced whilst in alpha). 
>
> Don't get me wrong, I am no Rich Hickey or Brian Goetz, and I highly 
> rate Clojure and the design decisions behind it. Watching a number of 
> Rich Hickey videos was like a breath of fresh air with a bunch of 
> "yes, that is the nagging feeling I haven't managed to articulate" 
> light bulb moments, but everybody makes mistakes. 
>
> I can see this getting a bit out of hand, I wrote some inflammatory 
> stuff which you are responding to in absolute terms. I am pretty sure 
> that were this discussion next to the magical water cooler we would be 
> much more on the same page as I can't believe you mean what you typed 
> :-). 
>

Would be happy to have the same conversation over a beer at more leisure. :)
 

> Peace. 
>

Back at ya. I respect your opinion - I just see things differently.

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to