<div class="gmail_quote">On Thu, Oct 8, 2009 at 7:59 PM, Mark Visser <span dir="ltr">&lt;<a href="mailto:markv@lumierevfx.com">markv@lumierevfx.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Is there a project underway to modernize twisted?<br></blockquote><div><br>Yes.  The project is called &quot;twisted&quot; :).  Personally I find that it is very &quot;modern&quot;.<br><br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

I&#39;ve been bitten a couple times by twisted&#39;s use of old-style classes.<br>
Now that Jython is finally off the 2.2 branch, is there any real reason<br>
to stay backwards compatible?<br></blockquote><div><br>Changing a class from old-style to new-style is an incompatible change.  The difficulty is that if existing libraries use a particular class and inherit from it, changing the class to be new-style can have effects from changing how their descriptors work to causing an exception when their module is imported.<br>
<br>We have a compatibility policy, intended to prevent people&#39;s applications from breaking when they upgrade Twisted: <a href="http://twistedmatrix.com/trac/wiki/CompatibilityPolicy">http://twistedmatrix.com/trac/wiki/CompatibilityPolicy</a><br>
<br>If old-style classes can be evolved into new-style classes while somehow following this policy, that would be great.  The problem is that providing compatibility at this level is time-consuming and difficult.  One problem in particular is that we don&#39;t want to litter the codebase with lots of &quot;Foo&quot; and &quot;NewFoo&quot; or &quot;Foo2&quot; sitting right next to it, so we would have to think of new names for everything.<br>
<br>If you have a particular interest in the new-style vs. old-style problem, please feel free to submit patches!  This is one of those areas where we need a continuous stream of small improvements from the community, because it&#39;s just too much drudgework for the core team to take care of in our spare time.<br>
</div></div>