Article of interest: Python pros/cons for the enterprise
steve at holdenweb.com
Thu Feb 21 20:39:54 CET 2008
Jeff Schwab wrote:
> Bruno Desthuilliers wrote:
>> Carl Banks a écrit :
>>> On Feb 20, 8:58 am, Tim Chase <python.l... at tim.thechases.com> wrote:
>>>>> You Used Python to Write WHAT?
>>>> Furthermore, the power and expressivity that Python offers means
>>>> that it may require more skilled developers.
>>>> [...down to the summary...]
>>>> Python may not be an appropriate choice if you:
>>>> * Rely on teams of less-experienced programmers. These
>>>> developers may benefit from the wider availability of training
>>>> for languages like Java and are less likely to make mistakes with
>>>> a compile-time, type-checked language.
>>> C++ is a compile-time, type-checked language, which means it is
>>> totally safer for newbies than Python. Yep, your big company is
>>> totally safe with newbie C++ programmers.
>> Mouarf ! Brillant demonstration, thanks Carl !-)
>> (and BTW, +1 QOTW)
> NB: This is not a troll. (Please, nobody try to be cute with a "yes it
> is" reply.)
> c.l.python seem to be about the most close-minded of any of the
> currently popular language-specific news groups. It's just taken for
> granted that Perl and C++, two of my personal favorite things in this
> world, inherently favor ugly, buggy code. That is the farthest thing
> from the truth as I see it. You can (and plenty of people will) write
> terrible code in any language, including Python.
I'm not sure I agree with that opinion. There is, however, a certain
amount of what we might term "defensive push back" against static
language bigots, some of whom come from the C++ camp. You are certainly
right about bad programmers producing bad programs in any language.
As far as C++ goes I usually defer to Alex Martelli, who used it a long
time at IBM and is therefore well able to address its deficiencies. I
believe you are also right in that the defensive posture tends to remain
even after the bigots go away.
For the record, there are many fine systems crafted in a mix of C++ and
Python (EVE Online being a prime example). For any sufficiently large
software system there will always be engineering problems, some of which
are conditioned by choice of language and some by other factors.
> To use Python effectively, you have to know something about how it
> works, and the same is true of Perl and C++. But a newbie who's
> learning from a decent source (avoid the "C++ for Morons" style books)
> is likely (I contend) to be writing semi-useful programs about as fast
> as with Python, and to be writing heavy-duty work-horse programs far sooner.
I agree that C++ is a nice language conceptually, and haven't used it
enough to hit the hard problems.
> Perl is, and always has been, a language for getting your job done; when
> everything else failed, Perl and C++ got me through some of the toughest
> tasks of my life. Translating file formats, automating system-level
> tasks... And now that the C++ standard library is getting regular
> expressions, I can replace plenty of glued-together scripts with
> single-language, cohesive applications.
Yes, Perl has always been a pragmatist's language (and indeed the
author's favored acronym has the P stand for "practical"). I *did* have
to use Perl for quite a while in the early days of the web and so got to
experience its many delights at first hand. Again, you are probably
right in saying we should accept Perl for its efficiencies (I believe
even now it will generally beat Python on regular expression processing)
and stop knocking it for its ill-though-out syntax and clumsy object
> I like Python, and I think it's got a brilliant future ahead of it. It
> is rapidly becoming the dynamic language of choice, especially for C++
> projects. I am glad that Python can be extended straightforwardly in
> any C-linkable language. But this bashing of other powerful languages
> on the basis that they're hard to read and hard to use correctly is,
> frankly, nonsense.
Agreed, mostly. I think Perl *is* hard to read (and frankly have been
amazed at the intentions of the Perl 6 designers), but that shouldn't
stop people using it, and isn't something that needs constant repetition.
Steve Holden +1 571 484 6266 +1 800 494 3119
Holden Web LLC http://www.holdenweb.com/
More information about the Python-list