<html><head><style type="text/css"><!-- DIV {margin:0px;} --></style></head><body><div style="font-family:times new roman,new york,times,serif;font-size:12pt"><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;">Howdy,<br><br>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.<br><br>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.<br><br>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.<br><br>Joel<br><br><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;">----- Original Message ----<br>From: Sean Perry &lt;shaleh@speakeasy.net&gt;<br>To: baypiggies@python.org<br>Sent: Saturday, June 21, 2008
 10:37:45 AM<br>Subject: Re: [Baypiggies] Frequently Argued Objections<br><br>
As a setup, been coding Python on Linux since 1.5.2 came out. It is my <br>preferred hacking language. I just type into my editor and the code <br>tends to work within an edit/test cycle or too and off I go.<br><br>*) none of my coworkers know Python. This hasn't changed since 1.5.2 <br>came out. I am competent in Perl simply because every place I go that is <br>the fallback language.<br><br>*) I love the whitespace rule. When I get people to try the language for <br>20 minutes they like the whitespace rule. But getting people to try it <br>is not easy. Kinda like say kimchi or natto (-:<br><br>*) explicit self. Some cowboy hackers find this annoying, but most of <br>the people I have programmed with like it. Explicit good! Most of the <br>surface level complaints -- syntax, whitespace, self, etc. boil down to <br>the explicit good / hackers like implicit religious war.<br><br>*) the inconsistent standard library. Is it a function? A class? A <br>method?
 CamelCase? To this day I despise " ".join(some_list). Give me <br>string.join(" ", some_list) any day. But then, my 1.5 heritage is showing.<br><br>*) now the annoying one. Management doesn't let me hack in Python <br>because of the first item above *AND* the fact that it is a scripting <br>language. Not being able to hide the source means I can only put Python <br>in back-end server code where end users will never see it. This has <br>never bothered me (I did mention my Linux heritage...) but it means <br>Python only gets used for utility scripts by the engineers.<br><br>Speed of execution has never been an issue for me. Developer efficiency <br>has always been more important and the domains where Python can be used <br>by me tend not to care but so much about timings.<br><br>In my experience, Perl got the word of mouth thing right very early on. <br>Then O'Reilly pushed it really, really hard. The first big web explosion <br>helped too. MySQL is
 popular in part because it had Perl bindings really <br>early. IMHO, Ruby would still be fringe language were it not for Rails. <br>Python still lacks the obvious killer application. Django is helping for <br>sure. But notice both Rails and Django are server side tech.<br>_______________________________________________<br>Baypiggies mailing list<br><a ymailto="mailto:Baypiggies@python.org" href="mailto:Baypiggies@python.org">Baypiggies@python.org</a><br>To change your subscription options or unsubscribe:<br><a href="http://mail.python.org/mailman/listinfo/baypiggies" target="_blank">http://mail.python.org/mailman/listinfo/baypiggies</a><br></div></div></div></body></html>