I was reading Eric Rescorla’s First Notes on Django, which mentions in passing that the IETF is rebuilding its (currently pretty lame) tooling in Django. A few pieces of infrastructure that are important to Sun are also in Python. Meanwhile, Rails and Ruby go from strength to strength in their world. It occurs to me that there might be a pattern here: Python for utilities and infrastructure, Ruby for applications. Early days yet, but it’s not completely implausible.
Comment feed for ongoing:
From: Jeremy Smith (Dec 05 2007, at 23:39)
So Python replaces Perl and Ruby(on Rails) replaces PHP... seems kind of fitting.
[link]
From: Jurjan-Paul Medema (Dec 06 2007, at 05:33)
So, are you trying to be genuinely nice about both languages (I guess) or solliciting yet another flamewar by throwing in an unneccesary, unfruitful and really unsubstantiated generalization? :-)
[link]
From: Nicola Larosa (Dec 06 2007, at 05:54)
I don't think so: this town ain't big enough for the two of us!
And now that we have Randall on our side, beware! ;-P
http://xkcd.com/353/
[link]
From: MikeH (Dec 06 2007, at 06:37)
The problem is that deploying RoR project to a somewhat-stable production environment can be problematic if you aren't familiar with web server configs and terminology. Django is a bit less difficult but still not for the faint of heart (I know -- I've done it!)
I don't especially care for PHP as a language, but the #1 reason it's so popular is that it's easy -- easy to learn, easy to write, and easy to deploy. If the Django and RoR can get their dependencies figured out,
[link]
From: Bruce (Dec 06 2007, at 08:32)
Yeah, Tim, I find the comparison here really bizarre. It seems to me that Python and Ruby, Django and Rails are likely to fill the same kind of niches. They're more alike than different, after all.
[link]
From: Walter Underwood (Dec 06 2007, at 10:48)
Python has a long history as back-end glue and coordination. We used it for that at Infoseek a dozen years ago, and I believe it is used for the same thing at Google.
The performance sensitive bits were written in C or C++, but everything was hooked together with Python. These days, CPUs are fast enough to do it all with Python.
[link]
From: Simon Willison (Dec 06 2007, at 16:32)
CERN are using Python as the scripting language for the new Large Hadron Collider, which I think is just insanely cool.
[link]
From: Joe Gregorio (Dec 11 2007, at 17:28)
"Python for utilities and infrastructure"
Sure, as long as you consider YouTube infrastructure.
[link]
From: Ongoing Lurker (Dec 18 2007, at 09:27)
I don't know Tim. I often find your generalizations insightful (and I take them as speculation rather than as assertions, largely on the grounds that you are forthright about making assertions :). But I think this one gives short shrift to both Python and Ruby. They _are_ "more alike than different". For one thing both are very general purpose languages that find homes in a great many niches. I think it's more likely that people will choose the one they like for whatever project they have in mind than that they will select the language depending on the project. For another the line between infrastructure and application is quite blurry and one often transforms into the other over time. Do you really think for instance that people who develop in Rails and are happy with Ruby will switch to Python to do their infrastructure work? (Do _you_ write Python scripts or Ruby scripts for your infrastructure work?) Conversely as successful as Rails is we've already seen people who use every other language (Python included) try to emulate the technique in their favorite language rather than switch to Ruby, witness Django and company. I'm not saying people don't switch to Ruby (or switch languages): they do. What I am saying is that a language these days comes with a set of libraries and toolchain, and the investment people make in those is generally greater than they make in any particular area of development. Unless there is something they simply can't do in the language and toolchain of their investment they will probably prefer to emulate rather than switch languages. And Python and Ruby are both similar enough that I think people will find the barrier to emulation lower than the barrier to switching toolsets.
[link]