[Baypiggies] Frequently Argued Objections
joelvanderkwaak at yahoo.com
Sat Jun 21 20:05:09 CEST 2008
I work at a geophysics company in Santa Clara, and have written a fairly complex scheduler + parallel processing system using Python that allows us to split/merge large data sets onto/from a cluster and run c or fortran-based processing kernels on each data chunk. Sorta map-reduce in a gross sense, with the data movement, cat and sum operations handled using special mpi-enabled utilites. As a scale comparison, we ran a test recently that took 430,000 cpu hours (~50 years) in a couple weeks.
My 2 cents here is that most of the geophysicists have picked up Python to create processing flows, chaining together multiple data processing steps. They often come to my office with Python questions, and often leave with comments like 'wow, that's really easy'. I'm sure they could do most things in perl or a shell script, but we're slowly becoming a 'python shop' for glue sort of code. The 'cool' thing is we can bundle up our combined work as a product and drop it into a single directory at a client, and it (usually) just works; the only prerequisit is python, ssh, and a farily robust network.
One common complaint they have, appropriate givein their origins in scientific computing, is the lack of 'types' for variables. It's confusing to them at first, and has been the source of some bugs. I wrote a simple 'convert' function similar to those presented earlier on this list and the complaints have (mostly) dried up.
----- Original Message ----
From: Sean Perry <shaleh at speakeasy.net>
To: baypiggies at python.org
Sent: Saturday, June 21, 2008 10:37:45 AM
Subject: Re: [Baypiggies] Frequently Argued Objections
As a setup, been coding Python on Linux since 1.5.2 came out. It is my
preferred hacking language. I just type into my editor and the code
tends to work within an edit/test cycle or too and off I go.
*) none of my coworkers know Python. This hasn't changed since 1.5.2
came out. I am competent in Perl simply because every place I go that is
the fallback language.
*) I love the whitespace rule. When I get people to try the language for
20 minutes they like the whitespace rule. But getting people to try it
is not easy. Kinda like say kimchi or natto (-:
*) explicit self. Some cowboy hackers find this annoying, but most of
the people I have programmed with like it. Explicit good! Most of the
surface level complaints -- syntax, whitespace, self, etc. boil down to
the explicit good / hackers like implicit religious war.
*) the inconsistent standard library. Is it a function? A class? A
method? CamelCase? To this day I despise " ".join(some_list). Give me
string.join(" ", some_list) any day. But then, my 1.5 heritage is showing.
*) now the annoying one. Management doesn't let me hack in Python
because of the first item above *AND* the fact that it is a scripting
language. Not being able to hide the source means I can only put Python
in back-end server code where end users will never see it. This has
never bothered me (I did mention my Linux heritage...) but it means
Python only gets used for utility scripts by the engineers.
Speed of execution has never been an issue for me. Developer efficiency
has always been more important and the domains where Python can be used
by me tend not to care but so much about timings.
In my experience, Perl got the word of mouth thing right very early on.
Then O'Reilly pushed it really, really hard. The first big web explosion
helped too. MySQL is popular in part because it had Perl bindings really
early. IMHO, Ruby would still be fringe language were it not for Rails.
Python still lacks the obvious killer application. Django is helping for
sure. But notice both Rails and Django are server side tech.
Baypiggies mailing list
Baypiggies at python.org
To change your subscription options or unsubscribe:
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Baypiggies