Abandoning Python

J

John J Lee

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

John Bokma

John J Lee said:
</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.

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

Daniel Kluev

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

John J Lee

Daniel Kluev said:
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
 
J

John Lee

Bill Allen said:
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
 
J

John Lee

Dan Stromberg said:
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
 
J

John Lee

Stefan Behnel said:
John J Lee, 22.05.2011 17:58:

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
 
J

John Lee

Dan Stromberg said:
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
 
J

John Lee

John Lee said:
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
 
D

Daniel Kluev

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

Robin Becker

</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.
 
P

Paul Rubin

John Lee said:
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.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,756
Messages
2,569,534
Members
45,007
Latest member
OrderFitnessKetoCapsules

Latest Threads

Top