Posts tagged: WEB FRAMEWORKS

Does Python scale?

(This is another thing I found myself writing on Quora and wanted to keep. The question was “Does Python have any scalability limitations?”)

“Scalability” is a term people like to throw around, but the less specific you are as to what you mean by it, the less substantial the answers will be. It is not a simple linear measure on which languages can be given some numerical score.

Languages and their implementations do have certain inherent performance characteristics, but in order to understand their relevance to your needs you have to get specific about your needs.

Making your way from PHP to Python and Django

“I’m a PHP programmer and I want to check out this Django thing. What should I do?”

I’ve been seeing this kind of question pop up more and more, and I have a few answers.

First-hand experience as well as many conversations with developers online have led me to the same conclusion: the curious person behind such a question should be encouraged and assisted. (I’ll call that person “Pat” for the rest of the post, for convenience and conscientious gender-neutrality.)

The Language I Will Kind of Learn in 2008: Smalltalk

In 2007, I took a whack at learning Haskell as my Language of the Year. It was an educational experience on more levels than I had expected. I didn’t get as far with the language as I might have hoped, but I did have the essential mind-opening experience of dealing with a purely functional, “lazy” language. My approach and style in my primary day-to-day language (Python) changed in a positive way. I really like Haskell and hope to continue playing, and possibly working, with it in the future.

A little something I've been working on

The latest This Week in Django podcast, out today, has an interview with me. I really enjoyed talking with Michael and Brian, and hope I didn’t come off sounding too dorky (or long-winded – I haven’t yet listened to the show, but based on the timestamps in the show notes I could probably use an edit!). I think they do a very good job with the show, and in fact I think that the structure Michael came up with – Tracking Trunk, Branching & Merging, Community Catchup, Tip of the Week – is one that other open source projects would do well to emulate in their news missives.

Web developer evolution

After the frameworks post I kept thinking about this. Of course any generalizations I make are heavily colored by my own direct experience, but the progression seems to go along these lines:

  1. Make static web pages.

  2. Make modular pages using simple includes (in SSI, PHP, ASP, or what have you).

  3. Make pages with more involved functionality (form submissions to database, basic CRUD).

  4. Get sick of re-building dynamic stuff for every project; write your own kinda portable library or framework.

Framework de-flummoxing

Eric Meyer recently wrote a post titled “Flummoxed by Frameworks” that received a lot of commentary. I belatedly added my own two cents. I have a feeling that this isn’t the last time the subject will come up; I’m copying my own response here (along with the link to Eric’s post) mostly so that I can find it later when I want to explain this to somebody else!

Eric, you mention that you wrote all of An Event Apart’s registration stuff using PHP and MySQL. I take this to mean that you did it once. Imagine if you did it three times, or five times, or fifty times for different clients, with minor variations. Imagine how sick you’d be of re-implementing the same core features over and over. Your approach would change a little bit with each job, as you discovered better ways to implement certain features. Imagine the nightmare of trying to support all those clients each one using a slightly different snapshot of your learning process.

The Zend Framework

The Zend Framework was released a few days ago. This is a PHP5-only web application framework from Zend, “the PHP company.” It has been in development for a long time, but if that had a chilling effect on the development of other PHP frameworks, it’s hard to see.

I’m going to go straight for my grim conclusion here: I think many of the other PHP web frameworks in development have no long-term prayer against Zend. It’s not about technical merits, it’s about the business case that Zend is a safer bet than five random guys with a Trac install and a cool logo.