http://www.perlmonks.org?node_id=49060


in reply to Re: Re: Re:: Adam:: Re:: OO-style question
in thread OO-style question

I agree with you that Perl is not always the right tool for the job. I even agree with you on some of what its weaknesses are.

However I have to disagree on your belief that somehow other languages are necessarily better. My opinions have come up before. For instance I state them at length in RE (tilly) 1: Java vs. Perl from the CB. More (IMO good) points at RE (tilly) 3 (disaster): Java vs. Perl from the CB. There is no silver bullet for maintainability, and indeed it is a sore spot for the whole industry.

That said, the kid you see breaking a Perl project will cause pain on a Java project as well. IMO the only good ways to use incompetent people are move them to someone you don't like, put them on data entry problems where you don't really care what they do, or invest the time and energy to make them competent. I prefer the last option but YMMV. But I don't consider it a good criticism of a language that it gives people who shouldn't be given responsibility the ability to cause damage if they are given that responsibility. To me that is, "Well, duh. Don't give them responsibility." But I would diss a language for making competent people unproductive...

Now, Perl is not right for all problems. I agree that large OO projects are an example of a problem it is bad for. Another is complex GUIs. Another is anything where tight space/time optimizations matter. (Just ask jcwren for more on that.) So learn its strengths and weaknesses, then use it where it fits.

Replies are listed 'Best First'.
Re: Perl vs Other Languages
by mkmcconn (Chaplain) on Jan 01, 2001 at 02:43 UTC
    says tilly Now, Perl is not right for all problems. I agree that large OO projects are an example of a problem it is bad for. Another is complex GUIs. Another is anything where tight space/time optimizations matter. (Just ask jcwren for more on that.) So learn its strengths and weaknesses, then use it where it fits.

    Being very new to programming -- self-taught and not a fast learner -- much of my time has been spent trying to decide which language to work on the most.

    Perl wins my time, not because of a technological benchmark, but because it proves itself the most practical solution. That is, as I've begun to conclude: the most important aspect of any language's practical value is, there must be a community practicing the language. It's from their use of it, that I've learned its usefulness.

    I learn from the users of the language, the mode of thought that taps into the power of its expressions. I observe from them how the language itself structures their thoughts and coaxes out new ideas. I observe how the language shapes, and is shaped by the ethic of the community. I learn in this way not only how to speak, but how to think that way.

    I'm discovering that a programming language is something like a natural language in that way. It does not consist only of its terms and syntax, its design and structure, its parts. Besides these low-level issues, a language is its users and the use they make of it.

    So, the aspect of Perl that most commends it to me as the best solution to most problems is, the way it's used by people to solve their problems. As long as Perl continues to be characterized by this push to improve, and helps others to improve (which includes an ethic capable of discerning who shouldn't be helped), it will continue to be the most natural choice for people looking for a practical solution, and the language itself will continue to improve.

    mkmcconn