Hal Fulton writes:
    >
    >Here's an opinion question for you all.

    >His interest level was mild. He said that he 
    >thought object orientation was a good thing in
    >general, but that for the things scripting 
    >languages are generally used for, it's not that
    >useful.
    >
    >In his words, "If I were going to write a 60,000
    >line chess program or something, I wouldn't do it
    >in Perl or any other script; I'd use Java or C++
    >or something. And if I were doing something like
    >a filter, like 'munging' a text file, I wouldn't
    >really need OO."

He misses a very important point -- it's those stupid little
10 line scripts that end up as mission critical bits of 
software, and they are usually never designed, never documented,
never put through QA, etc.

You never know how a "trivial" little script may grow; even
evolving from a 10 line script to a 20 line script OO will
help you.  It helps to focus your thinking.

    >I think I see his point; but perhaps one reason he
    >would not use a scripting language for a large 
    >project is that he simply has never SEEN a scripting
    >language powerful enough for large projects.

I think the term "scripting" language is demeaning, Ruby is
far more than that.  It happens to be interpreted, but so what.
Ruby is a convenient OO language.

    >There is also the speed issue; but he cites Java as
    >a "real" language, and we are certainly not 
    >guaranteed that it will be speedy on every platform.

Java is not a real language, on several counts.  Popular, yes.
But it is not type safe, it is not fully OO, it is awkward as
hell to write some of the most basic OO style code, inner classes
are an ugly hack, ... I could go on.

Speed of execution is a minor issue in the end -- if you find
a bottleneck, optimize it in C code.  Development and design time
matters, but all of these are dwarfed by the amount of time
and money spent on maintenance.

If OO makes that 10 line script even *slighty* more maintainable,
you can realize a huge savings in maintenance costs over the 
life of the system.

I'd also tell him that code is written once, but read hundreds,
even thousands of times.  Thus I would tend to think
readability and understandability should be considered to be
much more important (which leaves out C++ :-)

That's what *I'd* tell him; your mileage may vary :-)

/\ndy


--
Andrew Hunt, The Pragmatic Programmers, LLC.
Innovative Object-Oriented Software Development
web:   http://www.pragmaticprogrammer.com   email: andy / pragmaticprogrammer.com
--
Our New Book: "The Pragmatic Programmer" Published by Addison-Wesley Oct 1999
              (see www.pragmaticprogrammer.com/ppbook)
--