<br><div class="gmail_quote">On Sat, May 21, 2011 at 8:49 AM, John J Lee <span dir="ltr"><<a href="mailto:jjl@pobox.com">jjl@pobox.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
</troll><br>
<br>
I still like Python after using it for over a decade, but there are<br>
things I don't like.<br>
<br>
What are your favourite up-and-coming languages of the moment?<br>
<br>
Here's my wishlist (not really in any order):<br>
<br>
 * A widely used standard for (optional) interface declaration -- or<br>
   something better.  I want it to be easier to know what interface an<br>
   object has when reading code, and which objects provide that<br>
   interface.<br></blockquote><div><br>I do miss this sometimes, but pylint takes things far enough for me.<br> </div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">

 * Lower memory usage and faster execution speed.  Yes, this has been a<br>
   price worth paying.  But I do want jam on it, please: give me a<br>
   language where I get most of Python's advantages but don't have to<br>
   pay it.<br></blockquote><div><br>PyPy has quite good speed.  Memory use,  I'm willing to ignore.<br> </div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">

 * Better support for writing correct programs in the form of better<br>
   support for things like non-imperative programming, DBC, etc. (with<br>
   the emphasis on "etc").<br></blockquote><div><br>And here I thought Python had pretty good functional programming facilities.  What do you miss?<br><br>AFAIK, DBC in terms of "if condition: raise AssertionError" (or assert).<br>
<br>What _is_ the "etc"?<br> </div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
 * Perhaps better built-in support for common tasks in common application<br>
   domains.  Concurrency, persistence, database queries come to mind.<br></blockquote><div><br><a href="http://wiki.python.org/moin/Concurrency/">http://wiki.python.org/moin/Concurrency/</a><br><br>For persistence, I tend to use gdbm or the dohdbm I just wrote.  But there are at least a few other options.<br>
<br>For database queries, why build it in?  What's wrong with using a module?<br> </div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">

 * Better refactoring tools, better code analysis tools (lint, search,<br>
   etc.).<br></blockquote><div><br>I find pylint excellent.  My idea of a refactoring tool is vim's n.n.n.,  but have you looked at PyCharm?<br> </div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">

 * An even larger user base, contributing more and better free and<br>
   commercial software.<br></blockquote><div><br>Gee, you want a scripting language with a larger userbase?<br> </div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">

I'm prepared to compromise on the last one.  Obviously, it should do all<br>
that while preserving all the nice features of Python -- surely an easy<br>
task.<br></blockquote><div> </div></div>