To LUGNET HomepageTo LUGNET News HomepageTo LUGNET Guide Homepage
 Help on Searching
 
Post new message to lugnet.off-topic.geekOpen lugnet.off-topic.geek in your NNTP NewsreaderTo LUGNET News Traffic PageSign In (Members)
 Off-Topic / Geek / 126
125  |  127
Subject: 
Re: Perl rules!
Newsgroups: 
lugnet.off-topic.debate, lugnet.off-topic.geek
Date: 
Sat, 19 Jun 1999 22:07:44 GMT
Viewed: 
33 times
  
In lugnet.off-topic.debate, Larry Pieniazek writes:
high-level** languages.

** Languages with features like closures, late binding, lambda functions,
   in-memory compilation of arbitrary code constructed on-the-fly, regular
   expression manipulation, arbitrary namespaces, and of course OO.

I agree with most all you say, but I am surprised that you consider
this:

  in-memory compilation of arbitrary code constructed on-the-fly,

necessary for a language to be "high level".

I didn't mean to say that it was necessary for a language to be "high level"
but it certainly is a common property of high-level langauges (for example
Lisp/Scheme, Logo, PostScript*, and Perl).


I rather consider it a
potential pitfall for the unwary instead of a feature. I certainly agree
that it's a sign of a good/powerful/rigorous design to be able to do it.
But I dispute that it's useful. I've not seen a situation yet where I
needed it, and I consider myself pretty good at doing clever things
programmatically.

It certainly has a variety of mis-uses, but where it really shines is that
it's a wonderfully elegant way to implement special-purpose or extension
languages for doing various things.  You slurp in a file of code (written
in your special language) and transmogrify this into the target language
(i.e. Perl or Lisp) and then execute that, either on-the-fly or save the
compiled/translated version back to disk for re-use later without having
to retranslate.


I guess I fall into the camp that wants languages to help enforce clear
thinking. C++ was a huge step above C because it helped do that, but not
far enough of a step, because you could drop down into C any time you
liked.

I consider Pascal (one of my early favorites, and still a holder of a
special place in my heart) and Java (my current true love) canonical
examples of languages that are easy to read and that help prevent silly
mistakes while teaching their novice and journeyman coders how to think
more clearly.

Modula-2, too.  :)


I know for sure that there are Pascal haters out there who find it
confining. Yes. It's not a sysprog lang. Fine. sysproging is not for
novices anyway. Ditto Java.

But it's plenty powerful for the experienced. Our (Novera's) entire
product is written in Java. The whole thing! All the tools, the coupling
to the orb, transaction management, monitors, load balancing, schema and
metadata management, the object relational mapper, protocol converters,
everything. And it was done by people that certainly could have coded in
C++ or C or whatever they chose to... See our website.

Awesome.  Java over C/C++ any day, man.


On another note:
What do you think of the more widespread 3GL/4GL taxonomy? I'd put PERL
as a 4GL under that scheme and Java as a 3GL. (although the official
definition is much more complex, I tend to think of the distinction as
4GL being primarily for automating or glueing components or systems
together, and 3GL for doing those components... although usages vary. a
3GL can be used for gluing... and a 4GL can be used for components.)

I don't know what to think about where those two would go.  There are so
many sides to the argument.  I think it's a lot more fun to talk about where
PostScript would go.  :)  PostScript on the pure semantic level is, IMHO, an
incredibly high-level language (on the order of Lisp) but with massive syntax
problems (heh, also on the order of Lisp, go figure).  One is prefix, the
other is postfix.  OTOH, PostScript is terrible for gluing.  I wonder what
FORTH is like?  GNU Emacs Lisp must also be a great thing to study the
placement of in the taxonomy -- it's supposedly the king of glue, even more
than Perl.  But I like Perl's pure syntax and semantics much more than its
glue-power.

--Todd



Message has 1 Reply:
  Re: Perl rules!
 
Todd Lehman wrote in message ... (...) functions, (...) regular (...) level" (...) I've always had a sport in my heart for SNOBOL which had an eval function to evaluate an expression, and a compile function if you needed real code. I used the (...) (25 years ago, 20-Jun-99, to lugnet.off-topic.geek)

Message is in Reply To:
  Re: Perl rules!
 
Good post! (...) I agree with most all you say, but I am surprised that you consider this: in-memory compilation of arbitrary code constructed on-the-fly, necessary for a language to be "high level". I rather consider it a potential pitfall for the (...) (25 years ago, 19-Jun-99, to lugnet.off-topic.debate, lugnet.off-topic.geek)

433 Messages in This Thread:
(Inline display suppressed due to large size. Click Dots below to view.)
Entire Thread on One Page:
Nested:  All | Brief | Compact | Dots
Linear:  All | Brief | Compact

This Message and its Replies on One Page:
Nested:  All | Brief | Compact | Dots
Linear:  All | Brief | Compact
    

Custom Search

©2005 LUGNET. All rights reserved. - hosted by steinbruch.info GbR