The Ex Factor

by chromatic

If you want to criticize a language or platform or technology you don't use, attack its scalability. Though the word could mean that the entity requires a proportionate amount of effort to work for small loads as well as large ones, the common derogatory connotation is that it's inappropriate for the largest, manliest projects where so-called real developers build serious systems.

(If that offends you, good. It should.)


8 Comments

izzy
2006-09-22 20:01:35
Have you read "On the Expressive Power of Programming Languages"?


http://www.ccs.neu.edu/scheme/pubs/

sean
2006-09-23 05:19:49
Are there statistics for language choice in large projects?


I would imagine the language used in successful large projects says a lot (albeit indirectly) about that language's scalutility, scalutability, etc.


A large project isn't likely to have all experienced gurus - surely there will be some merely serviceable programmers who never-the-less manage to make contributions in the language of choice. (Probably no children or complete novices though)


To maintain popularity the product must be able to match the desirable developments of its competitors, so the language needs to be powerful enough to quickly play catch-up.


Of course, architecture, management, team-work, etc all play a role in the success of a large project. How to determine the contribution of language choice?


And large projects may use several languages (best tool for the job)


And large projects will have conservative language choice by default. And won't get rewritten in the latest best language. At least not all at once.


Although not all projects would have been started expecting to be large. They may have had the freedom to use whatever language was liked, and then only rewritten when they found it didn't scale. Or maybe they found their language did scale.


Are there statistics for large successful projects that have retained language choice from their small beginnings?


cheers,
SDH


2006-09-23 05:45:57
Good analyze chromatic. I always like your blog.

2006-09-24 17:03:37
"Or maybe they found their language did scale."


First of all, the CS definition scalability is all about architecture. A shared-nothing architecture will scale, no matter what language you write it in. Therefore, "language scalability" means nothing in CS.


Second, looking to "large projects" for validation is silly. Just because a language has a "large project" doesn't mean anything. For example, the Vetrans Administration uses a language called "Mumps" with it's own proprietary database. Yes, the system works. Yes, there are tools (even IDE's) for Mumps and Mumps databases. Yes, there is a pool of Mumps programmers. But Mumps is still a terrible language that no sane person would recommend for anything.

Bart van Kuik
2006-09-25 06:39:18
Slightly offtopic: I didn't know what a tesselation was: Wikipedia on Tesselations
chromatic
2006-09-25 16:20:17
sean, I agree, with the caveat that we should consider "successful" projects, not necessarily only "large" projects. An important question is whether the choice of a platform or language helps keep the project small.


I suspect that it's possible.

David N. Welton
2006-10-03 01:55:49
This article is similar in nature to my own article, "scaling down":


http://dedasys.com/articles/scalable_systems.html

chromatic
2006-10-03 16:37:16
David, great article; thanks for the link! I'd read it before, but I wish I'd linked it from mine.