Tim Bray’s Multi-Inflection-Point Alert


While lots of people wiser than I have already commented on Tim Bray’s excellent Multi-Inflection-Point Alert post, I’m eager to avoid housework today. 😉

…we’re simultaneously at inflection points in programming languages and databases and network programming and processor architectures and Web development and IT business models and desktop environments. Did I miss anything?

Ugh, I feel like I’m drowning in all of these areas. I’ve basically given up on keeping up with networking administration and technology (just give me HTTP and I’m happy).

I’m happy with my vanilla Gnome desktop environment, but I still have to be proficient with Microsoft Windows in order to survive. I’d love to be proficient with OSX, but I don’t have the money for Apple hardware (or the desire to learn yet-another-desktop-environment for that matter).

This is why documentation is so important and should often assume nothing about its reader’s knowledge. I’m sure there of lots of people jumping directly into TurboGears and Django development without knowing the basics of Python development like the interactive console and easy_setup.

CORBA is dead. DCOM is dead. WS-* is coughing its way down the slope to dusty death. REST, they say, is the way to go.

Thank God! As a web developer I find myself preaching the gospel of REST+HTTP+JSON over XML based technologies like SOAP and XMLRPC. Tim Bray actually had a great post about JSON vs. XML a couple of years ago to which I’d only add: “Use XML only if you absolutely have to.” 😉

…I think that SQL’s brain-lock on the development community for the past couple of decades has been actively harmful, and I’m glad that it’s now OK to look at alternatives.

I’ve been doing a very poor job of evangelizing this very point to a couple of my friends who develop primarily on PHP and MySQL. SQL is really really great for certain use cases, but forcing yourself to always have to think of object persistence in terms of SQL tables is just masochistic.

…it’s increasingly starting to look like threading is a bad idea; don’t go there.

As a pro-GIL Python developer, I obviously couldn’t agree more! The venerable Donald Knuth recently chastised hardware manufacturers as well for pushing software developers toward ubiquitous parallelism.

That being said, I think threads definitely have good uses. I just disagree with some people’s Code Parallel or Die mentality.

I think someone at PyCon this year basically summed up my feelings on threading for server applications: “If it needs to scale to multiple cores, it probably needs to scale to multiple machines which threading doesn’t help with at all.”

(I haven’t written a non-trivial desktop app in years, so perhaps threading is more useful there.)

Now all of a sudden it’s PHP and then Rails and a bunch of other frameworks…

No mention of Python… ouch. I think once Django hits 1.0 that will change though.

Go read the Business Models and Desktops sections for yourself. They’re fantastic. :)