in reply to "people watching"

If only I had the time!

I think a lot of it has to do with the extreme flexibility of perl. Where Java pretty much forces you down the 'design first' route, and C/C++ takes days before you get it to do anything (OK, that might just be me :-|), perl allows everything from a pre-designed, structured solution worthy of shrinkwrapping to a quick bodge to solve the problem, in the same language. Full on software engineers, code monkeys and occasional scripters can all use the same language.
Plus of course the huge quantity of code freely available to solve any given problem
Both these things draw in lots of people with different priorities and needs from the language, and hence different ways of approaching a given problem.

charles.

Replies are listed 'Best First'.
Re^2: "people watching"
by Anonymous Monk on Jan 13, 2005 at 18:04 UTC

    I agree with you about Perl, and I think it takes this idea to a much further extent than other languages I've used, but I can't really agree with your assessment of Java (or C, but I'm much less experienced with C). Java may have more structure and stricture than Perl, but it's not exactly writing in stone tablets. In fact, there is enough room for movement that I never felt hindered by the language to the point where I proclaimed, "Ye Gods! I wish I was using Perl instead of this crap!" Of course, I'd often quietly think, "This would be much easier in Perl," but it was not strong enough to cause me much distress.

      OK, fair enough, I was indulging in a bit of hyperbole about Java (and C/C++ - a competent programmer can knock out code very quickly, but I can't). Having had overnight to think about it (I really ought to get a life), the point is better made as:

      The sainted Larry designed perl along the lines of a natural language (see 'Perl as natural language' on the wall shrine). Just like a natural language, someone with a limited command of perl can still make themselves understood. Like a child saying 'want biscuit', rather than 'would you mind passing me a biscuit?'.

      This makes perl incredibly easy and naturalistic to learn, and much less discouraging than spending weeks writing variants on 'hello world' - you can get on and do something useful (make yourself understood) almost straight away.

      As you progress with perl you learn new techniques, tricks, shortcuts etc, just like gradually learning the structure (and slang) of a spoken language.

      So non-programmers can learn perl easily as a quick and useful tool, while programmers can write full blown applications using the same language. I don't think thats ever been seen in a programming language before, and that may be a reason for some of the variety in the perl community.

      This is a great thing because it makes perl (or something similarly designed) the ideal choice as a language for an ever increasingly computer literate society - you can learn as little or as much as you need.

      charles.