Hi Neil,

It is my understanding that classic will die as soon or soon after Phoenix is released, Phoenix will support Py2.7, Py3.3+.

Looking at e.g. ClassDesigner I see same or similar errors showing with Classic 3.0 and Phoenix, which makes sense as the underlying wxWidgets code is the same. Phoenix is 'just' a different way of wrapping the C++ code and brings some clean up of the API, e.g. overloaded methods don't have multiple names in Python.

I would like to find a way that work on Phoenix is not duplicating the work you do on Classic and vice versa.

Maybe another way to split could be:

ui/wx = Dabo 0.9x using Classic 2.8
- This works, so don't disturb it
ui/wx2 = based on Dabo2 supporting Classic 3 on Py2 and Phoenix on Py2.7 and Py3.4+ - But does this bring more then a git branch? Especially all the IDE stuff is not separated by that.

Yes, there is a lot of "if phoenix else" needed, which can be relatively easily removed once Dabo fully transitioned to Phoenix.

The Py2/Py3 differences should all be handled with six, they can be left in or again be removed once Dabo fully transitioned to Py3.

Werner

On 2/26/2015 22:55, Neil Flowers wrote:
I don't doubt that it could be done. Obviously I have not participated in the Phoenix 
compatibility changes, but given what I have seen of them and the wx classic 3.0 changes, 
I believe it would be possible to have both classic and Phoenix exist under one UI 
umbrella, as they currently exist. Rather, my concern lies with the implications of this 
design. By keeping a unified code base, we make the implicit assumption that these forks 
will continue to stay close enough together to reasonably support. If this is not 
absolutely the case, future rebasing will have to involve ever increasing levels of 
"forked" code paths (if phoenix: ... else: ..., if py2: ... else: ..., etc). As 
John suggested, this would basically tank readability and elegance. Moreover, the more 
work invested in this design, the more work it would require to actually decouple them if 
the original assumption fails to hold.

I didn't see the original message, so you may have already discussed this. If 
there is compelling reason to believe that classic and Phoenix will remain 
tightly coupled - that is, changes will be ported between them reliably and the 
Py2/3+ divide itself does not spiral too far out of control - or alternatively 
if classic will be discontinued altogether, then it may be alright to avoid 
splitting. However, it is worth considering the downsides of this design, and 
that the choice could come back to haunt Dabo later, depending on wx.

In response to an older message, my thoughts on splitting the UI packages would 
be to just have two total, one for classic and one for Phoenix. Judging by 
Phoenix's purpose, classic will not be ported to python 3. As such, you would 
only need bases for classic/py2 and Phoenix/(py2?)/py3. Any backwards 
compatibility for classic 2.8 would probably best be left in with classic 3.x 
code.

Neil

On February 26, 2015 12:29:35 PM PST, john <[email protected]> wrote:
On 02/26/2015 09:32 AM, Werner wrote:
If this can be verified then I don't think there is a need to go to
another 'ui' module, as it should be possible to stay compatible with
2.8.12+ classic and 3.x Classic and Phoenix on Py2.7 and Py3.4.
I believe you are asking for a very tall order.  I'm sure Neil would
agree that when we reviewed the code the difference between python 2
and
python 3 along with the differences between wxpython versions would
have
made the final Dabo look like a old 50's comedy routine (who's on
first)
- and impossible to follow.  This I believe will break one of the first

rules of Python - make it readable.

But I guess if the others disagree with me - I'd have to go along.

Johnf

_______________________________________________
Post Messages to: [email protected]
Subscription Maintenance:
http://mail.leafe.com/mailman/listinfo/dabo-dev
Searchable Archives: http://leafe.com/archives/search/dabo-dev
This message:
http://leafe.com/archives/byMID/[email protected]

--- StripMime Report -- processed MIME parts ---
multipart/alternative
   text/plain (text body -- kept)
   text/html
---

[excessive quoting removed by server]

_______________________________________________
Post Messages to: [email protected]
Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/dabo-dev
Searchable Archives: http://leafe.com/archives/search/dabo-dev
This message: http://leafe.com/archives/byMID/[email protected]

Reply via email to