<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>