<div class="gmail_quote">On Wed, Jan 4, 2012 at 4:29 AM, Nick Coghlan <span dir="ltr"><<a href="mailto:ncoghlan@gmail.com">ncoghlan@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div class="im">On Wed, Jan 4, 2012 at 3:29 AM, Antoine Pitrou <<a href="mailto:solipsis@pitrou.net">solipsis@pitrou.net</a>> wrote:<br>
> On Tue, 03 Jan 2012 16:27:35 +0000<br>
> Robert Kern <<a href="mailto:robert.kern@gmail.com">robert.kern@gmail.com</a>> wrote:<br>
</div><div class="im">>> The nice thing about the dunders is that no one will make a module with a<br>
>> conflicting name. That's really the common factor behind all uses of dunders:<br>
>> reserving a name for Python's use. Whether something is a protocol or bag of<br>
>> switches doesn't really enter into it.<br>
><br>
> Plus, writing "from __preview__ import regex" looks cooler than<br>
> "from exp import regex".<br>
<br>
</div>Dunder names also alert people that something special is going on (in<br>
this case, it helps alert them to the fact that the modules in this<br>
namespace *will* be moved in the future).</blockquote><div><br></div>I am afraid that dunders will become a standard thing in many Python packages, because of everybody's natural desire to use latest features that work right. That means that new people to Python will have to deal with Python magic right from the start, which will make language more complicated for them.</div>

<div class="gmail_quote"><br></div><div class="gmail_quote">A correct way IMO would be to introduce a versioned exp27, exp271 packages:</div><div class="gmail_quote">1. It makes it explicitly clear when imported package version was considered experimental</div>

<div class="gmail_quote">2. It allows to switch between multiple experimental package versions</div><div class="gmail_quote">3. It will provide future compatibility if a package released from `exp` breaks API</div><div class="gmail_quote">

<div class="gmail_quote">5. as a sum of 2+3 above - it provides a development process and extends time to stabilize API with public testing and feedback before freezing the package to die in stdlib</div><div><br></div></div>

<div class="gmail_quote">-- <br>anatoly t. </div>