Fog Creek Software
Discussion Board




Welcome! and rules

Joel on Software

Non-stop and highly concurrent requirments

Are languages like C# and Java unsuited to problem domains where you need to update the software but you can't stop it? Like billing software in telecom. Or massively-multiplayer online games. How would you tell all of the jobs outstanding to call the old version of the subroutine but all new jobs from this moment forth must run the new one? How do you tell jobs to automatically spill onto the next free server you've just booted up? Can this sort of day-to-day requirement be effortless. I am asking because there are languages designed just for such requirements (erlang from Ericsson comes to mind) but it seems kinda extreme to use a different language for a requirement like this.

Li-fan chen
Thursday, January 13, 2005

"Like massively-multiplayer online games."

If you think MMOGs aren't ever offline, you clearly don't play any MMOGs. :-p

Brad Wilson
Thursday, January 13, 2005

In my world (stock broker type stuff) this is a big issue but it is not really an attribute of the language, its much moreso an attribute of the database. We can whack around the object code all we want (though we have to observe some reasonable limitations about doing stuff outside business hours), but screwing around with the DB schema (etc.) is generally a major undertaking 24x365.

NetFreak
Thursday, January 13, 2005

It isn't so much the language as the underlying infrastructure that counts.

For example, ASP.NET does what you suggest, as far as replacing code and existing requests use the old version and new requests the new version. This is all free and handled for you.

Nemesis
Friday, January 14, 2005

*  Recent Topics

*  Fog Creek Home