On Thu, Oct 10, 2002 at 12:00:09PM -0400, Chris Devers wrote:
> I've heard it said that no person should consider themself a musician if
> all they can do is play guitar. Or drums. Or saxophone. Whatever. Rather,
> if you can play a variety of instruments -- and better still, instruments
> from different families (strings, percussion, wind) -- then your overall
> musical skill is greatly enhanced.

A similar theme, but but geared towards more towards the subject of
programming:

        A programmer who hasn't been exposed to all four of the
        imperative, functional, objective, and logical programming
        styles has one or more conceptual blindspots.  It's like
        knowing how to boil but not fry.  Programming is not a skill
        one develops in five easy lessons.
             -- Tom Christiansen

<http:[EMAIL PROTECTED]/msg00544.html>

(when I went to find the source of the quote, I discovered that it was
from this mailing list, about two years ago. That must mean something.)

Although I'm not quite sure if Python vs. Perl supports this
argument. The two languages have enough unique concepts to teach a
programmer something new.

On the other hand, this started by talking about a business
environment, and so education and a developer's personal intellectual
growth isn't of primary importance.

If an organization chooses to support software written in multiple
languages, it will take some sort of toll, and can probably be
measured in time and money.

If you have developers who only understand one of the languages that
the systems are built on, you increase the size of your development
staff. If you bring on a new language that the current staff doesn't
understand, then there are training costs (or lost time as the
developers learn it themselves.) If your staff is fluent in all of the
languages your organization uses, then they become worth more in the
marketplace, and become more expensive to keep.

There is also the issue of duplicate code. Right now, I'm working for
a company that has a large amount of legacy perl code, and is
developing a new content management system based on Zope and python.
We've designed the data feeds system to be able to be able to call
feed specific code written in either perl or python, and in order to
facilitate it, we've had to write libraries that do the same utility
functions in both languages. That is new code developed twice. There
are also new python applications that recreate the functionality of
old modperl ones. If we were remaining a perl shop, that time could
have been spent on adding functionality.

I've also had developers who want to do something in java, since that
was the language on a similar project on a previous job. There are
other divisions who hire their own development consultants and want us
to deploy a PHP application. It may be beneficial for an individual to
become a polyglot for computer languages, but a business should
consider the costs involved.

On the other hand, it might be most managable to have different types
of systems have different implementation languages. All web
applications will be written in Python to the Zope API, all data
munging scripts in Perl, sysadmin utilities written in /bin/sh, and
all editing macros in elisp.

-- 
I drew a sky and some grass because our house isn't floating in outer space.
 -- Samantha Langmead, age 5.

Reply via email to