you mean Java with the 'billion dollar mistake' known as null? The Java which has just completed changed its Date and Time API _for the better_? 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.
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 - 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? Taking your argument literally we are only going to continue to see languages emerge to excitement only to then crumble under previous design decisions. People make mistakes, new realities emerge, why on earth would you want to prevent the opportunity to upgrade? 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 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 :-). Peace. On 8 November 2016 at 14:39, Alex Miller <[email protected]> wrote: > On Tuesday, November 8, 2016 at 2:28:54 AM UTC-6, Colin Yates wrote: >> >> The ship has indeed sailed. However, it is exactly these moments when >> software starts to degrade - there are many examples of crufty >> software crippled by legacy decisions. > > > I completely disagree with this idea, particularly in the realm of > programming languages. Java did not become one of the most popular languages > ever by redoing and breaking things every release. The stability of the Java > APIs is an essential ingredient in their success. Clojure leans far, far in > this direction. I'll refer you to Brian Goetz's Conj keynote a couple years > ago: > > https://www.youtube.com/watch?v=2y5Pv4yN0b0 > >> >> I would much rather have ruthless application of 'good' engineering, >> deprecating where necessary than continue to pay the cost of a poor >> decision with every new person. > > > In my opinion, 'good' engineering involves making progress while working > within your constraints. > >> >> Just remember that every 'yeah, it has >> always worked like that' or 'yeah, I know, just accept it' a puppy >> riding on the back of a unicorn led by an angel dies. >> >> Optimise for the current users or optimise for the new user? Almost >> always optimising for the new user is the right decision. > > > Rich has done talks about his perspective on this. > > https://github.com/matthiasn/talk-transcripts/blob/master/Hickey_Rich/DesignCompositionPerformance.md > > -- > You received this message because you are subscribed to the Google > Groups "Clojure" group. > To post to this group, send email to [email protected] > Note that posts from new members are moderated - please be patient with your > first post. > To unsubscribe from this group, send email to > [email protected] > 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 [email protected]. > For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to [email protected] Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to [email protected] 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 [email protected]. For more options, visit https://groups.google.com/d/optout.
