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

Re: Industry versus academia



Hi, Matt: Thank you for the post. 

>The point of my remarks was to highlight the dilemma facing language
>designers: do you optimize your system for the wizards (thus requring
>a greater level of competence to use the tool correctly), or do you
>optimize for the mediocre (thus limiting what the wizards can do with
>your tool)?  Different languages have taken different positions.

Depends on your goals doesn't it? Marketing pros tell me that
appealing to lead users is an entirely different ball game than cracking
established markets with stable customer bases -- yet people do manage
to do it. Someone did identify cup-holders as the differentiating
value proposition w/ cars after all (to use your analogy), and I'd
recommend "From Good to Great".

What's important for me is that you didn't phrase your response in
terms of capability of the end user -- for example where cars were
concerned. You began with the assumption that "everyone could
drive.. or learn to drive". All I was saying is that your view of
programming problems would alter similarly if you accorded and
targeted that base level capability in the markets (of developers,
managers, IT directors .. whatever) you seek to influence. So thank
you.

And you miss my point about Ilog and other such technologies you label
as "tools". Sure they are tools, but if they cut out the "programmer"
from the construction and maintenance of business applications, they
are a very different kind of tool. (I never got why some of my friends
were excited about "voice" until recently -- it's the
disintermediation possibilities that create value). Sure such tools
may not succeed, but they point out (to me at least) a different
approach than writing/evangelizing yet another programming
language. Note that Ilog JRules is really a RETE engine written using
Java introspection facilities.

>What needs to change, if we're going to succeed in building software
>that doesn't suck, is the way that many decisions about software
>development tools are made. 
I guess I don't quite understand your point.. yet. I don't think
software development tools or decisions made about them necessarily
affect the quality of software one constructs. Perhaps that's because
I've hosed myself in just about every environment I've run across in
every stupid way imaginable.. 

Are you after quality? Are you after writing languages/tools that gain
widespread adoption? Both? I'm a bit confused.