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

RE: Functional Paradigm popularity and Maths (Was: XML as a transition to s-expr)

S. Alexander Jacobson wrote:
> So, who is programming in VB and Delphi and who is using that software?
> Who is writing all the code that runs in corporate america?
> More to the point, are ALL/MOST the people contributing source to
> Mozilla really that saavy?
> Is that true of most open source projects?  How much of the code in
> linux, emacs, apache, fetchmail, was written by developers who knew a lot
> about formal methods?

I'd say this ties in very closely to Dan Weinreb's comment regarding
formal vs informal training.  The only open source project I've
contributed was maintained by the original programmer - he won't just
accept a patch because it works, it needs certain consistent structure,
a reasonable size to functionality ratio, and a decent target audience.

>From what I've read, Linus would require patches to be recoded again
and again until he was satisfied with it.  This recoding would usually
be done by the original submitter in a "that's not good enough, do it
again" type of way.

I think that leads to informal training.  Very dependent on the
standards set by the maintainer though - of course.

> Two general points:
> 1. most software maintenance is done by less saavy programmers.  Even if
>    the original kernel of the software was written by someone brilliant,
>    it is usually maintained by lesser lights.

Linus Torvalds vs Alan Cox?  Oops, you said usually.  I'm not sure
whether I agree with you or not.  It certainly seems possible, or maybe
even likely.  However, when you yourself have to maintain someone else's
code (if you ever do) do you not find yourself rewriting bits that
have obvious improvements.  This is often due to having the hindsight
and overall structure of the code at hand... something the original
programmer may not have done.  I'd stop short of saying that improving
someone else's code makes you a better programmer than them though.
But whether 'lesser lights' is a fair term is debateable.  Maybe
'less experienced', or 'younger', or 'junior' etc...

>    For example, I've heard that the guy who wrote Yahoo Shopping is pretty
>    bright.  If he is as bright as they say, it would be hard to believe
>    that the people who maintain it now are up to his level.  If they are,
>    what are they doing just maintaining Yahoo Shopping?

Waiting for inspiration to strike?  Companies either want experience (in
the form of a CV) or, they want proof - in the form of personally
produced software - that an individual is a good programmer and/or
developer.  You wouldn't put an unproven programmer in charge of a
product, would you?  Does lack of creativity mean someone isn't a good
programmer?  I haven't produced a Yahoo Shopping or Messenger product,
but if I was employed to do it, I have no hesitation in claiming I could.

> 2. most "retail" programming is also done by less saavy programmers. If
>    they were more saavy they would be writing the next Yahoo Shopping.
>    Instead they develop domain expertise to devote to large numbers of
>    small projects (corporate apps, web sites, etc).
> Really saavy developers make their own languages and tools and control
> their own development environment.  Less saavy developers use what they
> can.

I don't think there's anything in a maintenance cycle that stops you
choosing your own development tools etc.  There may even be some
advantage in changing the debuggers, profilers, source control etc.

I think savvy is just the wrong keyword.  Enterprising perhaps?