[erlang-questions] Erlang Intro/Evangelism Presentation -- Starbucks!
Michael Turner
michael.eugene.turner@REDACTED
Fri Jan 21 17:59:58 CET 2011
"Paul's core argument (which I initially missed) was that popularity is
never a good reason to do anything, especially if you're trying to innovate.
If you do it how most people do it you're more likely to get what most
people get -- mediocrity."
True, modulo programmer talent. But programmer talent varies by an order of
magnitude. So it still comes down to programmer ability, mainly.
And ability to do what, exactly, in software? Most work in software is
still where it's been since the 1960s: in maintenance of existing systems.
If a large Java system has a bug, you're not going to fix it in Ruby. If a
large PHP/MySql system needs a modest new feature, you're not going add it
in Erlang.
There are times when you should question popularity, and Paul Graham's essay
makes a good case that people don't question it enough, at those times --
and that, because of that, if you do question it, at those times, you can
win. But when you're maintaining a large, sprawling, legacy system, you're
not doing it in that system's (main) language because the language is
popular -- I've even had to do maintenance in Fortran, a language that, as
far as I can tell, was unpopular almost the day it was born. No, you're
doing it because to do otherwise is either impossible or so awkward at the
interfaces as to not be worth it, and/or because you're asking other
programmers to learn and like the new language you choose even when it is
possible to incrementally change the code base in the new language, and/or
because to start rewriting the system from scratch is nowhere near an
option, financially, for the profit-making (you hope) entity you work for.
This is an aspect of the software profession that I suspect Paul Graham, for
all his other deep insights, has never really been exposed to, and which he
doesn't really understand at the level of migraine headaches, unlike most
programmers. Near as I can make out from his own bio, he went from CS grad
school to art school to writing Viaweb from scratch in Lisp to cashing out
big-time from the Yahoo! acquisition of Viaweb to becoming a VC. Nice work
(and play) if you can get it.
-michael turner
On Fri, Jan 21, 2011 at 1:34 PM, Edmond Begumisa <
ebegumisa@REDACTED> wrote:
> When I first read Paul's essay many years ago I thought he was nuts. I
> agreed with most of Graham's essays except this one. I was initially with
> Joel Spolsky on this.
>
> I've since changed my mind :) I, like many, focused too much on the Lisp
> element of Paul's argument (probably coz I don't "get" Lisp -- I still don't
> get it!) Yet the important part of his essay was on questioning popularity.
> It took me a while to see this.
>
> We have this vague notion of "industry standard" which has become just a
> fancy way of saying "popular". Java, .Net, SQL-RDBMSs, curly brace syntax
> are "industry standards" because they are popular. Everything else is
> "weird" and dangerous. Paul's core argument (which I initially missed) was
> that popularity is never a good reason to do anything, especially if you're
> trying to innovate. If you do it how most people do it you're more likely to
> get what most people get -- mediocrity.
>
> If I had listened to Paul all those years ago I would have discovered
> Erlang sooner. I wound have searched for alternatives to RDMBSs sooner.
> Instead, I chose the misguided safety umbrella of sticking to "industry
> standards." I wasted many years under that umbrella when I should have been
> scattering through the rain trying find less crowded shelter elsewhere.
>
> But then, save for consulting jobs, I've always worked with small teams in
> de facto start-up scenarios (a special case as you note). So I'm probably
> incapable of fully appreciating the other side of the argument: finding
> interchangeable programmers to maintain/upgrade code in "corporate"
> environments like Yahoo!
>
> Steve Yegge once lamented about how you can't use Erlang or Python at
> Google (a company many consider to be innovative)...
>
> "...a company where there's an engineer with ten years of experience, an
> architect, who's in your face screaming at you, with spittle flying on you,
> because you suggested using, you know... D. Or Haskell. Or Lisp, or Erlang,
> or take your pick... at Google, when I first got there, I was all
> idealistic. I'm like, wow, well Google hires all these great computer
> scientists, and so they must all be completely language-agnostic, and ha,
> ha, little do I know..."
>
> Transcript:
> http://steve-yegge.blogspot.com/2008/05/dynamic-languages-strike-back.html
> Video:
> http://ee380.stanford.edu/cgi-bin/videologger.php?target=080507-ee380-300.asx
>
> - Edmond -
>
>
>
> On Sun, 09 Jan 2011 15:34:16 +1100, Michael Turner <
> michael.eugene.turner@REDACTED> wrote:
>
> Paul Graham's Beating the Averages can always bear another re-reading
>> (notwithstanding it's various exaggerations -- I'm sorry, Paul, but Cobol
>> IS
>> closer to Python than to assembly language.) You could probably
>> substitute
>> "Erlang" for "Lisp" everywhere in the essay, without doing violence to an
>> excellent point.
>>
>> The problem is, Graham is addressing a special case: the startup context,
>> when there is (almost by definition, from the VC point of view) a market
>> window for a new class of application. The overwhelming bulk of
>> production
>> code in the world does not match that description. Faced with the problem
>> of maintaining Yahoo! Stores as production code, Yahoo! rewrote it in C++
>> and Perl. Paul Graham opines that they did this only out of Lispophobia,
>> but I really wonder: if he'd been golden-handcuffed to Yahoo! and put in a
>> position to hire underlings, he'd be in an awkward position, wouldn't he?
>> "Gee, I have to hire quite a few Lisp hackers who are both (a) more or
>> less
>> in my league, and (b) all hot to work at Yahoo! on something like Viaweb,
>> rather than, say, some interesting problem in computational linguistics.
>> And, uh-oh, in the meantime, I'm getting a million resumes from people
>> who
>> have written a few hundred lines of bad Autolisp." I think the pickings
>> would be slim. In an interesting thread of commentary on Paul Graham's
>> essay, none other than Dan Weinreb, one of the preeminent Lisp hackers of
>> our time (or any time) writes:
>>
>> "... it would take a lot, or require special circumstances, to persuade me
>> to choose Lisp for a major software project, if I were in charge of
>> making the choice."
>>
>>
>> http://discuss.fogcreek.com/joelonsoftware/default.asp?cmd=show&ixPost=31402
>>
>> <
>> http://discuss.fogcreek.com/joelonsoftware/default.asp?cmd=show&ixPost=31402
>> >-michael
>> turner
>>
>> On Sun, Jan 9, 2011 at 6:20 AM, Robert Virding <
>> robert.virding@REDACTED> wrote:
>>
>> ----- "Edmond Begumisa" <ebegumisa@REDACTED> wrote:
>>>
>>> > Probably true. But I am reminded of something very interesting Ulf has
>>> >
>>> > just pointed me to...
>>> >
>>> > "The Innovator's Dilemma (C. Christensen) as quoted by Todd A.
>>> > Proebsting
>>> > ...
>>> >
>>> > "… companies [languages] that did everything right---were in tune with
>>> >
>>> > their competition, listened to their customers, and invested
>>> > aggressively
>>> > in new technologies---*still* lost their market leadership when
>>> > confronted
>>> > with disruptive changes in technology…"
>>> >
>>> > http://ll2.ai.mit.edu/talks/proebsting.ppt
>>>
>>> This is definitely a very interesting book to read (the Innovator's
>>> Dilemma). Also interesting is Paul Graham's essay "Beating the Averages",
>>> http://www.paulgraham.com/avg.html , which is also about disruptive
>>> technologies.
>>>
>>> Robert
>>>
>>> --
>>> Robert Virding, Erlang Solutions Ltd.
>>>
>>>
>
> --
> Using Opera's revolutionary e-mail client: http://www.opera.com/mail/
>
More information about the erlang-questions
mailing list