Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Abandoning Python

134 views
Skip to first unread message

John J Lee

unread,
May 21, 2011, 11:49:50 AM5/21/11
to
</troll>

I still like Python after using it for over a decade, but there are
things I don't like.

What are your favourite up-and-coming languages of the moment?

Here's my wishlist (not really in any order):

* A widely used standard for (optional) interface declaration -- or
something better. I want it to be easier to know what interface an
object has when reading code, and which objects provide that
interface.
* Lower memory usage and faster execution speed. Yes, this has been a
price worth paying. But I do want jam on it, please: give me a
language where I get most of Python's advantages but don't have to
pay it.
* Better support for writing correct programs in the form of better
support for things like non-imperative programming, DBC, etc. (with
the emphasis on "etc").
* Perhaps better built-in support for common tasks in common application
domains. Concurrency, persistence, database queries come to mind.
* Better refactoring tools, better code analysis tools (lint, search,
etc.).
* An even larger user base, contributing more and better free and
commercial software.

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


John

John Bokma

unread,
May 21, 2011, 12:00:15 PM5/21/11
to

A language I want to give a serious try the coming months is Haskell.

--
John Bokma j3b

Blog: http://johnbokma.com/ Perl Consultancy: http://castleamber.com/
Perl for books: http://johnbokma.com/perl/help-in-exchange-for-books.html

Daniel Kluev

unread,
May 21, 2011, 9:25:21 PM5/21/11
to pytho...@python.org
On Sun, May 22, 2011 at 2:49 AM, John J Lee <j...@pobox.com> wrote:
> Here's my wishlist (not really in any order):

How come pony is not listed there? Language cannot be better than
python without pony!

>  * An even larger user base, contributing more and better free and
>   commercial software.

According to all language popularity indexes [1-10], C# and
Objective-C are only languages which have any chance to fulfill these
requirements, but they arguably less flexible than python and have
copyright/patent complications.
As there is rather heavy inertia in software development community,
expecting some language to acquire "even larger user base" is
hopeless.

Also, most of these complaints could be solved by using correct python
dialect for particular task - RPython, Cython and so on.

--
With best regards,
Daniel Kluev

Daniel Kluev

unread,
May 21, 2011, 9:27:08 PM5/21/11
to pytho...@python.org
On Sun, May 22, 2011 at 12:25 PM, Daniel Kluev <dan....@gmail.com> wrote:
> According to all language popularity indexes [1-10], C# and

Forgot to include references, although everyone probably already knows them,

[1] https://www.ohloh.net/languages?query=&sort=projects
[2] http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
[3] http://libresoft.es/debian-counting/lenny/index.php?menu=Statistics
[4] http://lang-index.sourceforge.net/
[5] http://langpop.com/
and so on

John J Lee

unread,
May 22, 2011, 11:58:09 AM5/22/11
to
Daniel Kluev <dan....@gmail.com> writes:

> On Sun, May 22, 2011 at 2:49 AM, John J Lee <j...@pobox.com> wrote:
>> Here's my wishlist (not really in any order):
>
> How come pony is not listed there? Language cannot be better than
> python without pony!

Pony, absolutely. I took that as read.


>>  * An even larger user base, contributing more and better free and
>>   commercial software.

[...]


> As there is rather heavy inertia in software development community,
> expecting some language to acquire "even larger user base" is
> hopeless.

I did say I was prepared to compromise on that one. After all, when I
started using Python it was a lot smaller that it is now. If a language
is good enough to tempt me away from Python, probably the same is true
for other people too -- as it was with Python a decade or so ago.


> Also, most of these complaints could be solved by using correct python
> dialect for particular task - RPython, Cython and so on.

Different topic.


John

John Lee

unread,
May 22, 2011, 1:11:17 PM5/22/11
to pytho...@python.org
Bill Allen <wallenpb <at> gmail.com> writes:

> You have ideas, a text editor, and a computer - best get to coding.
> What's stopping you? You largely want Python, with modifications.
> Join the development team and help implement those changes, or fork
> your own flavor and do what you wish. Right? You imagine it's an
> easy task, so get after it.
[...]

Is it possible that my calling it an easy task was a joke?

Honestly, I'd thought it safe with that one to leave out the smiley -- but then
I've been away from newsgroups for quite a while!


John


John Lee

unread,
May 22, 2011, 1:33:29 PM5/22/11
to pytho...@python.org
Dan Stromberg <drsalists <at> gmail.com> writes:

> On Sat, May 21, 2011 at 8:49 AM, John J Lee <jjl <at> pobox.com> wrote:
> </troll>
> I still like Python after using it for over a decade, but there are
> things I don't like.
> What are your favourite up-and-coming languages of the moment?
> Here's my wishlist (not really in any order):
>  * A widely used standard for (optional) interface declaration -- or
>   something better.  I want it to be easier to know what interface an
>   object has when reading code, and which objects provide that
>   interface.
>
>

> I do miss this sometimes, but pylint takes things far enough for me. 

Pylint? Does it provide some kind of guessed-at-type that has been integrated
with IDEs?

[...]
> And here I thought Python had pretty good functional programming facilities.
> What do you miss?AFAIK, DBC in terms of "if condition: raise AssertionError"
> (or assert).What _is_ the "etc"?
[...more of the same...]

You tell me: I'm here to fish for interesting pointers rather than to
evangelize. I mention those specific things as examples because I know they
have often been both the focus of research (well, perhaps not integration of
queries), and pain points in software development. It's not plausible to me
that there is not room for major improvement, but in any case the only way to
know is to try.


>  * Better refactoring tools, better code analysis tools (lint, search,
>   etc.).
>

> I find pylint excellent.  My idea of a refactoring tool is vim's n.n.n.,  but
have you looked at PyCharm? 

In this thread, I'm asking about the views of Python programmers on languages
other than Python. Thanks for the link, though (does PyCharm provide reliable
refactoring tools that are useable from emacs?).


>  * An even larger user base, contributing more and better free and
>   commercial software.
>

> Gee, you want a scripting language with a larger userbase? 

I don't want a scripting language, necessarily.


John


Stefan Behnel

unread,
May 22, 2011, 1:55:25 PM5/22/11
to pytho...@python.org
John J Lee, 22.05.2011 17:58:

> Daniel Kluev writes:
>> Also, most of these complaints could be solved by using correct python
>> dialect for particular task - RPython, Cython and so on.
>
> Different topic.

Why?

Stefan

John Lee

unread,
May 22, 2011, 2:26:42 PM5/22/11
to pytho...@python.org
Stefan Behnel <stefan_ml <at> behnel.de> writes:

>
> John J Lee, 22.05.2011 17:58:
> > Daniel Kluev writes:

> >> Also, most of these complaints could be solved by using correct python
> >> dialect for particular task - RPython, Cython and so on.
> >
> > Different topic.
>

> Why?

The intended focus was "things other than Python". RPython and Cython are
languages other than Python, but I regard them as part of the Python, er,
ecosystem. They have advantages and drawbacks that a lot of us are already
familiar with (even though in your position I imagine you notice the
misconceptions more than the correct ones). The thought behind my question was
to get Pythonista's opinions about things outside of that.


John


Ed Keith

unread,
May 22, 2011, 4:01:03 PM5/22/11
to pytho...@python.org, John Lee
Have you looked at Falcon (http://www.falconpl.org/)? It seems to have a lot of what you are looking for. I do not have much experience with it but I like what I've seen so far, except that there are not any third party tools or libraries libraries. Which is where Python shines.

-EdK

Ed Keith
e_...@yahoo.com

Blog: edkeith.blogspot.com

John Lee

unread,
May 22, 2011, 5:01:00 PM5/22/11
to pytho...@python.org
Dan Stromberg <drsalists <at> gmail.com> writes:
[...]
> Pylint does type inferencing - I find it very valuable on large projects, and
> even some not-so-large projects.I doubt Pylint's been integrated into any
> IDE's,
[...]

That's interesting, thanks. I see this is a different pylint than the old
logilab pylint. Unfortunate choice of name, since it makes it hard to find IDE
integration work that's already done.


> But PyCharm probably has refactoring.  For a bolt-on to vim or
> emacs, you might look at "Rope".

TBH, I'm not interested in Python refactoring tools until everybody starts
shouting that they're reliable and useful (because it seems like a hard problem
to solve, so I guess most implementations will be more trouble than they're
worth).


John


John Lee

unread,
May 22, 2011, 5:13:44 PM5/22/11
to pytho...@python.org
Ed Keith <e_d_k <at> yahoo.com> writes:

>
> Have you looked at Falcon (http://www.falconpl.org/)? It seems to have a lot
> of what you are looking for.

I'm more interested in other people's opinions than my own "looking for"s.

What *should* I be looking for (other than Python itself)? What's interesting,
widely applicable, and new(ish)?

Falcon fails my personal book-by-its-cover test. There are too many languages
to do without that test, unfortunately.


John


John Lee

unread,
May 22, 2011, 5:19:39 PM5/22/11
to pytho...@python.org
John Lee <jjl <at> pobox.com> writes:
[...]
> That's interesting, thanks. I see this is a different pylint than the old
> logilab pylint. Unfortunate choice of name, since it makes it hard to find
> IDE integration work that's already done.

Hmm, I see the last release was in 2003 :-(


John


Daniel Kluev

unread,
May 22, 2011, 7:16:46 PM5/22/11
to pytho...@python.org
On Mon, May 23, 2011 at 4:33 AM, John Lee <j...@pobox.com> wrote:
> Pylint?  Does it provide some kind of guessed-at-type that has been integrated
> with IDEs?

WingIDE Pro has both Pylint integration and advanced type-guessing.

Gregory Ewing

unread,
May 22, 2011, 9:11:40 PM5/22/11
to
Ed Keith wrote:
> Have you looked at Falcon (http://www.falconpl.org/)?

This paragraph on the first page doesn't exactly fire
me with enthuiasm:

> Falcon provides six integrated programming paradigms: procedural, object
> oriented, prototype oriented, functional, tabular and message oriented. And you
> don't have to master all of them;

...until you want to read someone *else's* code, that is.

--
Greg

Steven D'Aprano

unread,
May 23, 2011, 2:33:37 AM5/23/11
to


The same might be said about Python, which supports procedural, OO and
functional styles out of the box. Prototype-oriented is so close to OO
that you can fake it in Python:

http://stackoverflow.com/questions/4629224/prototypal-programming-in-python

I'm not sure what they mean by tabular, perhaps something like Resolver
System's Python-in-a-spreadsheet?

http://www.resolversystems.com/products/resolver-one/


And presumably anyone who has played around with GUI programming in
Python will have run into message oriented coding.

--
Steven

Chris Angelico

unread,
May 23, 2011, 2:49:32 AM5/23/11
to pytho...@python.org
On Mon, May 23, 2011 at 4:33 PM, Steven D'Aprano
<steve+comp....@pearwood.info> wrote:
> And presumably anyone who has played around with GUI programming in
> Python will have run into message oriented coding.
>

GUI code almost always involves a main loop somewhere that consists of:

while not time_to_terminate:
 get_message()
 dispatch_message()

Voila, you've just implemented message-oriented code in an imperative
way. Doesn't make the language inherently message-oriented. If you're
going to read someone else's code, then, you not only need to know the
language, you need to know the environment in which it runs. I found
that out the hard way when I tried to read some PHP code that was
designed to run inside Joomla - it's quite quite different from
standalone PHP.

<tongue location="cheek">I believe assembly language offers as many
paradigms as anything else you might want. With judicious use of
constructs like the Intel "JMP [BP+SI]" and a nice table of jump
targets, you could do message passing, OOP/inheritance, procedures,
and next-programmer-brain-destruction, and hey, it's tabular
too!</tongue>

Chris Angelico

Robin Becker

unread,
May 23, 2011, 6:45:35 AM5/23/11
to pytho...@python.org
On 21/05/2011 16:49, John J Lee wrote:
> </troll>
>
> I still like Python after using it for over a decade, but there are
> things I don't like.
......
a relatively new one that's going about is cobra, http://cobra-language.com/, it
appears to have some of the features you indicate eg speed, some kind of
interfaces (contracts I think), but it needs net or mono.
--
Robin Becker

Gregory Ewing

unread,
May 23, 2011, 8:04:53 PM5/23/11
to
Steven D'Aprano wrote:
> On Mon, 23 May 2011 13:11:40 +1200, Gregory Ewing wrote:
>
>>...until you want to read someone *else's* code, that is.
>
> The same might be said about Python, which supports procedural, OO and
> functional styles out of the box.

But it only uses *one* syntax and core set of concepts to
cover all of those. Unlike, apparently, Falcon... take a
look at this page concerning how Falcon approaches functional
programming (but don't look for too long or your eyes may
begin to bleed...)

http://falconpl.org/index.ftd?page_id=sitewiki&prj_id=_falcon_site&sid=wiki&pwid=Survival%20Guide&wid=Survival%3AFunctional+programming

Falcon seems to collect programming paradigms the way Perl
collects language features, i.e. by just munging them all
together and bending parts until they fit.

--
Greg

Message has been deleted

Paul Rubin

unread,
May 25, 2011, 12:45:06 AM5/25/11
to
John Lee <j...@pobox.com> writes:
> In this thread, I'm asking about the views of Python programmers on
> languages other than Python.

I sympathize with what you're looking for but I don't think there's
a really good answer at this time. Things IMO are converging in the
direction of functional languages like Haskell but it seems to
me that there is a big gap between the current academic ideas and
what makes sense for working programmers. The academics aren't
all that concerned with practicality, but good solutions really
have to incorporate their ideas since the rest of us are rather
badly behind the times.

Haskell probably has the most vibrant development community at
the moment but its learning curve is quite steep, and it has
various shortcomings some of which are being worked on but others
of which may be insurmountable.

If you like the Java ecosystem but not the Java language, check
out Scala.

You could look for the article "The Next Mainstream Programming
Languages" by Tim Sweeney. It discusses similar issues to what I
think you are facing.

harrismh777

unread,
May 27, 2011, 10:34:57 AM5/27/11
to
Paul Rubin wrote:
> Haskell probably has the most vibrant development community at
> the moment but its learning curve is quite steep, and it has
> various shortcomings some of which are being worked on but others
> of which may be insurmountable.


Yes. You might want to lurk on:

http://lambda-the-ultimate.org/

0 new messages