[Gllug] Web Site Creation

Nix nix at esperi.org.uk
Fri Nov 4 20:26:55 UTC 2005


On Thu, 03 Nov 2005, Dave Cross prattled cheerily:
> I don't like that term "scripting language". It always seems to be
> used in a slightly disparaging manner. As if a "scripting language"
> is, in some usually unspecified way, not a "real language".

The point is that it was originally conceived as a language in which
one would write small amounts of code without complex structure.

Thus such languages tend to have poor support for sophisticated data
structures (see Tcl, Perl), extreme sloth (Tcl, PHP), or be grossly
inexpressive or nonorthogonal for the sake of ease-of-writing-quick-
hacks (Perl) or even for the sake of ease-of-implementation (PHP).

The `extreme sloth' can be fixed after the fact (and Tcl is much
faster than it used to be) --- but the rest is pretty much unfixable
without redesigning the language (hence Perl 6).

>                                                             Yes, Perl
> was originally concieved as a glue language, but it has since evolved
> into a very capable programming language.

It's exactly as capable as all other Turing-complete languages with
large libraries. It's also thoroughly clumsy --- I think *everyone*
considers the list/scalar context distinction to have been an enormous
mistake by this point, and things like the decay and intermingling of
lists passed to functions is also appallingly annoying. And let's
not even talk about the ugliness of dereferncing references, or the
silly implicit initialization rules, or the even sillier (and now
ditched) pseudohashes nonsense...

... gah. It's got a lovely library, but my *god* it's a pig-ugly
language.

>                                           If you want to differentiate
> languages like Perl, Python and Ruby from the stricter languages like
> Java and C# then I prefer the term "dynamic language".

That's a silly term. They do use more of the power of the fact that
they're sitting on an interpreter, but by no means much more. The Lisp-
style system (with the ability to run, write and compile code at read-
time, compile-time and run-time) is still more flexible than anything
I've seen in Perl *or* Python. (I've not yet tried Ruby so can't comment
on it.)

> And I agree that Perl's OO sometimes feels a bit "bolted on". That's
> because it was bolted on :)

Exactly. It's not very nice to use. Therefore some of us prefer to use
something nicer. :)

>                             Yes, some of it's default behaviour can
> surprise people used to a stricter system (for example, encapsulation
> isn't strictly enforced without some extra work by the programmer),
> but it's a bloody powerful system - as anyone who has read Damian
> Conway's "Object Oriented Perl" can testify.

Yes, it's powerful. So is raw assembler, but I don't write things in
*that* unless I have to. I've written my share of Perl OO and it's
sufficiently nasty that I'm wondering if there's a way to embed a Python
interpreter into Perl so I can avoid having to do it any more.

> Oh bugger. I wasn't going to get drawn into the language debate :-/

Too late! :)

-- 
`Heinlein is quite competent at putting together sentences, but usually
he also puts together a plot to go with them.' --- Russ Allbery
-- 
Gllug mailing list  -  Gllug at gllug.org.uk
http://lists.gllug.org.uk/mailman/listinfo/gllug




More information about the GLLUG mailing list