On Wed, Aug 28, 2019 at 1:44 PM Breck Yunits <bre...@gmail.com> wrote:
> > I'm not sure this was clear, but I think the clear goal for backwards 
> > compatibility is that code that used to run continues to run indefinitely. 
> > With no changes. That's certainly what the Racket core developers mean by 
> > "backwards compatible".  In other words "requiring porting" is the opposite 
> > of "backwards compatible", at least in my mind.
> I get this, but I think it's a strategic mistake. I think the goal should be 
> to move people forward to the new versions (whenever they come out) as 
> quickly as possible (think Apple and the rapid adoption of new iOS versions, 
> compared to Microsoft). NEVER break people's stuff, but make it dead simple 
> for them to upgrade to the new stuff, by changing their code for them. I 
> think the success of Apple has proved this is the better long-term strategy.
> If Racket's truly a Language Oriented Programming language, than parsing it 
> and upgrading it should be dead simple. Otherwise, why would I want to use a 
> language that's difficult to upgrade?

I'm not sure I agree with this position, at least in the strong sense
it is written here.

In my opinion, it is essential that a good programming environment (by
that I mean the language, libraries, community, IDE, the whole ball of
wax) should support what the programmer needs -- that's the primary
goal. Things like making people move forward to new versions are good
for the developers of the language (eg, less to maintain etc) but a
programmer has needs that are often driven by their bottom line and if
the programming language/environment gets in the way of that decision,
programmers will stop using it ... in the worst case as they run out
of income because they're busy satisfying things other than their
bottom line.

Of course, it is good to make it easy to move to new versions of the
language, but if there is no real benefit to the transition for the
programmer (eg they aren't planning to touch that code for the next N
months anyway as it does its job well) then I think we should let them
leave it alone and come to it when they need to.


You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 

Reply via email to