Is Python really a scripting language?

MonkeeSage MonkeeSage at gmail.com
Sun Dec 16 08:09:32 EST 2007


On Dec 14, 3:15 pm, "mensana... at aol.com" <mensana... at aol.com> wrote:
> 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.

Since F# is a caml derivative, you may want to look at OCaml. Though,
I've never used OCaml for any kind of heavy number-crunching, so maybe
it has even worse library support; can't say. Ps. The two types are
probably for boxed and unboxed versions, q.v. this article, about half-
way down: http://msdn.microsoft.com/msdnmag/issues/1200/dotnet/

Regards,
Jordan



More information about the Python-list mailing list