[OT] Python like lanugages [was Re: After C++, what with Python?]

Tim Harig usernet at ilthio.net
Mon Jan 17 07:25:57 EST 2011


On 2011-01-17, Steven D'Aprano <steve+comp.lang.python at pearwood.info> wrote:
> On Mon, 17 Jan 2011 09:12:04 +0000, Tim Harig wrote:
>
>> Python has been widely used by people like us that happen to like the
>> language and found ways to use it in our workplaces; but, most of the
>> time it is an unofficial use that the company.  You still don't see many
>> companies doing large scale internal development using Python and you
>> definately don't see any doing external developement using a language
>> that gives the customers full access to the source code.
>
> Careful with the FUD there *wink*

This isn't FUD, I am as enthusiastic about Python as anybody here; but, I
also have to be realistic about its actual impact in the industry.

> http://www.python.org/about/quotes/

There are always success stories; although, many of those are web based
companies which, if you will look up the thread, I already excuded
from the conversation.  However from my experience, a small percentage
of people make their primary income from writing non-web based Python
software.  It certainly hasn't displaced, or even encroached on the
primary langauge leaders.

> Sometimes giving access to the source code is a feature, not a bug. Just 
> ask Red Hat. And for those who think otherwise, you can always ship 
> the .pyc files alone. Or turn your software into a web-app.

Red Hat is the big example; but, few other companies actually make
substantial profits from FOSS.  I am not interested in an idealogy debate
about whether exposing your source is good or bad; the fact is that those
who fund software developement have a strong preference to choosing closed
source.  Any software that doesn't provide good methods for closed sourced
software is going to suffer.

1. Distributing .pyc files still requires the user to have a Python
	interpreter.

2. My understanding is that Python bytecode is not guaranteed to be
	compatible between releases?

3. I have already excluded web apps where Python has a large market
	penetration (were most of the dynamic languages have found
	their niche).  My point pertains to those areas where Python
	cannot, or doesn't, compete well with systems level languages
	and that even for its web niche, it didn't arrive here overnight.
	There was a long period where it was less likely the Perl to be
	used for server side web scripting.

You can see the recent thread about a web based IDE for what I think
about many web applications.

> In any case, most companies, and individuals, follow the crowd. They do 
> what everybody else does. There are good reasons for this, as well as bad 
> reasons, but the end result is that most companies' software development 
> is, quite frankly, crap, using the wrong language and the wrong 
> methodology for the wrong reasons. If you doubt this, then perhaps you 

People funding software developement really don't care about the quality
of the software.  They care how much money it will make them.  If you
really think quality matters, then look at Microsoft's meteoric rise
to dominance.  Early Microsoft was not known for its superior quality.
Only in the last ten years, since they have had to contend with a really
poor reputation and competition from their own products have they started
to be conserned with writing better software.

> methodology for the wrong reasons. If you doubt this, then perhaps you 
> would like to explain why most software projects fail and those that 
> don't rarely come in on time or on budget?

Yes, lots of projects fail; but, the choice of language is seldom the
primary, or even a major contributing reason, for the failure.  Python
holds the distinction of having had a book written about one such failed
project.

> It would probably be crap regardless of what language they used 
> (Sturgeon's Law), but there are degrees of crap. Being optimized for 
> rapid development, at least with Python the average company will develop 
> their crap software five times as quickly and at a third the cost than if 
> they had chosen C++ or Java.

If I didn't think Python was a good language, I wouldn't be here.
Nevertheless, it isn't a good fit for many pieces of software where a
systems language is better suited.  Reasons include ease of distribution
without an interpeter, non-necessity of distributing source with the
product, ability to leverage multiple CPU and multicore systems, and
simple sequential performance.

Given that Python does't work well in many areas, we could just give up
and accept having to write C++ for our day jobs or we can look for a
language which bridges the gap between those tasks that require C++'s
level of control and those which work well for dynamic languages.
Java attempted to do that, and has the market share to show that the
concept works, but I think that it missed the mark for many needs.  It is
still much lower level then Python for purposes of rapid developement
and too slow to be competative for non-long-lived tasks.



More information about the Python-list mailing list