[erlang-questions] Erlang is the best choice for building commercial application servers
Tue Mar 13 04:45:04 CET 2012
I have to concur with Richard here, at least insofar as he's saying
"Big Company X is still around" can't be the overwhelming factor in
language success. It is neither necessary nor sufficient.
Pascal used to have enormous momentum. It was the de facto standard
undergraduate language for computer science instruction -- if you had
a CS degree, you knew Pascal, period. It had standards committees
behind it. It had a de facto standard VM (UCSD pCode) for platform
independence. It had support from big software vendors. Macpaint, the
program that sold a million customers on the Mac, was prototyped in
Pascal on the Apple Lisa.
Then, in a few short years, almost everybody (Macintosh developers
included) had pretty much switched to C. Borland keeps Pascal alive
now (Delphi), but "Borland supports it" is not the magic incantation
How did C and the C standard library win? It wasn't because AT&T was
brilliant at marketing, or because it was a huge company. In marketing
terms, it was downright awful, shooting itself in the foot repeatedly.
And it wasn't because C was the core programming tool for Unix and
Unix was winning -- neither DOS nor the Mac were Unix-based. Unix (in
some form) didn't really reach the desktop at any significant scale
until OS X, I'd say. At which point, Apple was never going to become
the dominant desktop player.
C/stdlib won because it already had fitness for purpose in a
burgeoning market. Microcomputers were basically recapitulating the
technological evolution of minicomputers, in fast-forward and at price
points an order of magnitude lower, where mass-market consumers could
reach them. And C had been initially targeted for a minicomputer
hardly as powerful as the IBM PC/AT.
The flexibility of C won out over the relative safety of Pascal -- to
get some things done in Pascal, you needed extensions and every Pascal
vendor extended in a different, non-standard way. C could not only do
more, it could run within a factor of three or so as fast as
hand-tweaked assembler. This mattered at a time when microcomputer
software developers would exult when the z80 went from 2MHz to 4Mhz.
In software, time-to-market is *almost* everything. Early adopters of
new software tended to have faster machines with more RAM, so even if
the C version of what was then ordinarily written in z80 or 8086
assembler was a little bulky and slow on the standard desktop in terms
of demands on the hardware, the end-user performance standard was
changing so fast anyway that it hardly mattered by the time a new
software product appeared on the radar of mainstream users -- many of
whom were buying a computer for the first time.
What's happening now is true utility computing -- the mass-market end
user is finally moving toward client-server distributed computing in a
big way, and the servers are increasingly multi-core and "cloudy".
Many people are backing up their hard drives to the Internet -- for
the first time. I'm writing this on Gmail, then I will go back to
working on the chapter of a book hosted in Google Docs, and edited
through a web interface. Such paradigm shifts play to Erlang's
I've never been in the Java enterprise software milieu. However,
everything I hear about it reminds me of the cover of The Mythical Man
Month: those beasts struggling vainly to escape from the tar pit. Even
if they can still escape, the real question is: how fast can they move
toward a new opportunity as conditions change?
On Tue, Mar 13, 2012 at 6:55 AM, Richard O'Keefe <ok@REDACTED> wrote:
> On 13/03/2012, at 5:10 AM, Miles Fidelman wrote:
>> The important part is "in the business of selling software." The critical business consideration, when selecting infrastructure, is the level of continued support you can expect. IBM is going to be around for a while, so is Microsoft. If you prefer vendor independence, you can be pretty confident that C is going to be supported by someone, so is Apache.
> "Company <X> is going to be around for a while" is misleading.
> IBM is still around, but they abandoned their Pascal compiler a long time ago,
> long before other companies did.
> IBM is still around, but Lisp/370 (or Lisp/VM) isn't.
> IBM is still around, but IBM Prolog doesn't seem to be.
> IBM is still around, but they sold off their Smalltalk unit.
> HP is still around, but Compaq Visual Fortran for Windows is not.
> Microsoft is still around, but they dropped their Fortran compiler a long time ago.
> Microsoft is still around, but they dropped Visual Basic for Applications from
> the Macintosh port of Office several years ago, and while it had been pretty bad
> having to use VBA, it was even worse NOT being able to use it.
> Microsoft is still around, but they sold MS-Test to Rational who renamed it to
> Rational Visual Test; they got bought by IBM; I _think_ it's now SQABasic
> One of my colleagues is really keen on Rational Purify. It's still around,
> but if you look up the Windows support, it's "Intel IA-32" only, even under
> Windows 7. No 64-bit Windows. 64-bit Linux, yes. But if you are a
> Windows developer, Purify has moved away from you by standing still.
> erlang-questions mailing list
More information about the erlang-questions