[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

economics [ was Re: Industry versus academia ]



Hi;

This is a the text of the message that Sundar responded to (plus one
paragraph), and which the "thread index" says is unavailable.  Now
that I am subscribed, I presume I can post myself...

On Saturday 22 February 2003 11:55 pm, Sundar Narasimhan wrote:
> Hi, John: Still doing those tank simulators? (I worked on a simnet

Yes, it's certainly a niche market (so far).  Thank God.

> This is what I was trying to point out, but not many here seem to have
> truly faced up to the economic realities of what's happening out there
> in the market. Maybe it's because in their businesses/markets they
> haven't run into such pressures yet. But it's only a matter of time.

Well, I know that as I have made the transition (only partially
successful, by any measure) from code-monkey to Running Dog Capitalist
Pig, my worldview has changed significantly along the lines you
describe.

And I fear that not only is the world changing, the speed at which the
changes occur is beginning to outstrip our individual and group
capacities to react (that old, hackneyed phrase "Internet Time"
connotes a real phenomenon).  Basically, by the time you notice there
is a problem, it's too late (e.g., Netscape, Borland, Lotus, SCO,
CMGI, Enron -- with Microsoft's about-face on the Internet an
exception for arguably several reasons).  This means one no longer has
the luxury of reacting, one must be proactive.

This seems to me to be especially true in the case of the software
industry, where there are fewer structural impediments to competition
(e.g., manufacturing plants, inventory, special-purpose distribution
networks, etc.).  I know we use these qualities to our advantage when
competing against big, well-resourced companies like SAIC,
Lockheed-Martin, and Mitsubishi in our little niche market, but it is
a two-edged sword.

> My question for you is that if this were true (i.e. cool academic
> languages provide competitive advantages to programmers) wouldn't a
> mass migration to such tools/languages have already occurred? Or do
> you believe in your own version of your "most people are too stupid"
> reason/excuse .. which is "managers are stupid so can't recognize
> this" or .. "people don't realize their jobs are about to disappaear"
> or "marketing for such cool solutions that academia knows about is non
> existent because there's no one to do it"?

First off, I think one must resist the natural tendency to attribute a
complex (undesirable, in this case) situation (lack of use of cool
academic languages/techniques) to a single root cause.  IMNSHO, this
is almost never the case (YMMV).  So, I'd answer with a speculative
list in roughly descending order IMNSHO of importance:

(1) Law of Increasing Returns: The ever-increasing body of
    dominant-language code militates for new software to be written to
    be compatible with it.  We sell SDKs, so we MUST write in either
    C++ or Java.  With apologies to Monty Python, Lisp is Right Out.
    (Ironically, now our engineers have discovered they need a
    scripting language...)

(2) Mass production techniques either cannot be or have not been
    applied to software development. The "sale" of academic
    languages/techniques (don't kid yourself, it's a sale you're
    trying to make, and it's the toughest kind of sale to make -- the
    "highly technical sale") is made to individuals, not to
    corporations.  The resulting costs are shifted to the corporation
    and thence the rest of the economy.  The classical, very time and
    education-intensive techniques for closing the "highly technical
    sale" do not (in so far as I know) scale to several million
    developers.

(3) Open source (especially the "free" kind) has set the price point
    to zero for new languages and techniques.  Even if you had a
    world-beating technology, and some people don't care about the Law
    of Increasing Returns (e.g., web developers who only need to
    produce HTML), nobody would pay for it.  E.g. (and I am not making
    value judgements here on specific languages), CURL, the various
    Lisp vendors, Water, etc.

(4) People do not like to leave their comfort zones.  Old dogs do not
    like to learn new tricks.  (The personal sunk costs of learning a
    computer language is very high.)

(5) Lack of education provided by academics to students, and lack of
    "continuing education."  Somebody (hint, hint) should be teaching
    them the advantages of extensible languages, code as data, dynamic
    type systems, etc.  They should be taught to recognize either
    hacks or poor substitutes when they see them (arguably, several of
    the trendy Design Patterns, C++ templates, etc.).  You can read
    this as a euphemistic way of saying what other people have
    discussed on other messages in this list.

(6) Anti-competitive tactics by Microsoft (e.g., their immune-system
    response to Java).

(7) Volatility in the job market, due either to lack of long-term
    relationship between employer and employee, or Schumpeterian
    "creative destruction" of employers. These, in concert with
    shortening of product development cycles and increased competition
    between employers (putting downward pressure on cost structures),
    make it less likely that employers will hire to train and develop
    skill sets, and more likely that they will only hire those with
    the "right," pre-existing skill sets.  This means if your skill
    set is not mainstream, you are unemployable.  Niche languages are
    thus not only a waste of time, any time spent pursuing them rather
    than mainstream languages is self-destructive.

> For some amusement...see
>
> http://www.tiobe.com/tpci.htm
>
> I don't really believe Tiobe, but I do note that C# jumped and PHP
> went down last month -- Lisp and others continue not to make A :)
> Judging from this list, I'd venture that python should make A, but
> time will tell.

I have seen this page, and it is a source of despair for me.  I am
halfway to retirement (chronologically, should I be so fortunate as to
live to retirement age, and I do not succumb to carpal-tunnel
syndrome), and we are way past 2001, and where the Hell is HAL-9000?
Our engineers are still tracing memory leaks, for crying out loud.

The only source hope I have, which is founded upon more than wishful
thinking, is Prof Manny Lehman's work (see the postscript below)
regarding software evolution.  I hope that eventually the complexity
of modern languages and platforms (is there a difference, as was
pointed out at LL1?)  will unavoidably make them evolutionary
dead-ends.

I just hope it happens before I retire.  (I ended up in
Gnome/SSL/XFree86 dependency Hell last night trying to upgrade a
single Gnome application without trashing my system. While I flatter
myself that I know Unix, I was unable to satisfy all the conflicting
constraints.  Why should a project planning tool require me to upgrade
OpenSSL?)

-jm

p.s., see the "Eight Laws" paper:

http://www.doc.ic.ac.uk/~mml/feast2/papers/pdf/556.pdf

amongst the other publications at:

http://www.doc.ic.ac.uk/~mml/feast2/papers.html#feast2pubs

-- 
==== John Morrison
==== MAK Technologies Inc.
==== 185 Alewife Brook Parkway, Cambridge, MA 02138
==== http://www.mak.com/
==== vox:617-876-8085 x115
==== fax:617-876-9208
==== jm@mak.com