Is Python really a scripting language?

mensanator at aol.com mensanator at aol.com
Fri Dec 14 16:15:17 EST 2007


On Dec 14, 2:48 pm, "Chris Mellon" <arka... at gmail.com> wrote:
> On Dec 14, 2007 2:09 PM, mensana... at aol.com <mensana... at aol.com> wrote:
>
>
>
> > On Dec 11, 10:34 pm, "Terry Reedy" <tjre... at udel.edu> wrote:
> > > "Ron Provost" <ron.lo... at cox.net> wrote in message
>
> > >news:009101c83c55$4ee07a00$6501a8c0 at aristotle...
> > > But here's my problem, most of my coworkers, when they see my apps and
> > > learn that they are written in Python ask questions like, "Why would you
> > > write that in a scripting language?"  Whenever I hear a comment like that I
> > > can feel myself boiling inside.
> > > ===================
>
> > > I don't blame you.  Python is an full-fledged algorithm/programming
> > > language that was designed to *also* be used a scripting language.
>
> > When you buy a new car, which is more important, the styling
> > or what's under the hood?
>
> <snip>
>
> > That's for the whole sequence, not a single term!
>
> > 25.67 MINUTES compared to 17.65 HOURS!
>
> > So, sure, some languages compile to .exe programs.
>
> > In the trade, we call that "polishing a turd".
>
> While I agree with the sentiment, surely this can't be a good example
> of F#s general performance?

Of course. They example was deliberately chosen to make
F#'s BigInt library look as bad as possible.

> I would expect .NET code to smoke stock
> (non-Psycoed) Python in this benchmark.

Probably. It just so happens that the example chosen
is typical of _my_ number theory research and I was
toying with the idea of converting my Collatz Conjecture
function library to F#.

And that would take a lot of work since F# doesn't have
anywhere near the functionality of gmpy. There isn't
even a BigInt.mod function for cryin' out loud, let alone
stuff like GCD or modular inverse, critical to my research.

Sure, I could write my own Extended Euclidean Algorithm,
but now that I now that F# is just a Volkswagen with a
fiberglass shell that looks like a Ferrari, there isn't
much point, eh?

And don't even get me started about the stupid stuff,
like having TWO different type of Big Rationals. One's
more efficient than the other, they say. So why two?
The less efficient one has functions not implemented
in the other. And F# is strongly typed, so you can't
use BigRational methods with BigNum types. And they
have all sorts of conversion methods for to/from ints,
strings, bigints, etc. Guess which conversions they
don't have? BigRational <-> BigNum, of course.

MAybe I'll check it out again in the future after it
has gone through several revisions.



More information about the Python-list mailing list