From: Tamas K Papp on
On Wed, 10 Mar 2010 19:09:16 -0800, ccc31807 wrote:

> On Mar 10, 7:19 pm, Tamas K Papp <tkp...(a)gmail.com> wrote:
>
>> When you made a statement about "ignoring the horribleness and the
>> abominable in another language", I thought you meant Common Lisp.  Did
>> you mean Perl?
>
> I didn't mean ANY particular language -- I meant the process of
> characterizing a language the way RG did based on reading a few chapters
> of an anonymous book. In the same way, I took it as fact that someone

That doesn't make sense. If somebody judges a language based on
insufficient information, they will be ignoring horribleness and
abominations in another one? Do I need some kind of hallucinogen to
understand this reasoning?

> Here's the point: Don't disparage a language before you know it, and
> don't rely on ignorant bias to disparage a language.

A truly deep point. I guess people didn't know this before.

I humbly offer the following pieces of advice, equally profound and
relevant to these newsgroups (but slightly more general):

It never rains but it pours.
A watched pot never boils.

Regards,

Tamas
From: Tim X on
Tamas K Papp <tkpapp(a)gmail.com> writes:

> On Wed, 10 Mar 2010 07:01:14 -0800, ccc31807 wrote:
>
>
> Your post actually highlights some similarities between Perl and CL:

I thought that was part of his point. i.e. the differences are largely
just differences of syntactic sugar and that criticising one for being
'horrible' when you don't understand its type of refined sugar while
ignoring aspects of the sugar you are familiar with that could be just
as easily abused or confusing to the uninitiated was illlogical and
meaningless.

> both have various namespaces, once you see through the thin layer of
> syntax for accessing these. So your feeble attempt at starting a
> flamewar is pretty... funny.
>
Flamewar? I thought it was a reasonably thought out and argued response.
Unlike RG's original comments on perl, the gist I got from the post was
in fact anti-flamewar i.e. that the differences were really about
differences in familiarity and that claiming one is better than the
other is pretty pointless. If anything, it was the more rational and
balanced assessment compared to RG's original comment.

For the record, I find a lot about perl I don't like, especially with
respect to its syntax and somewhat inconsistent behavior in certain
areas. I much prefer CLs simpler and far more consistent approach. I
disagree with Perl's philosophy of allowing everyone to do it 'their
way' and anyone who has worked with perl on either a project with many
develoers or maintaining code written by many different authors will
know what I'm getting at. However, I've also frequently come across
problems that are much easier to solve with perl than they are with CL.

In fact, I ran into one just recently. I had to do some work with a
system that makes extensive use of Oracle and Oracle stored procedures.
I wanted to use CL for the task. However, after many many hours of
searching and trying out various CL interfaces to Oracle, I had to give
up because I could not find one single CL to Oracle library that would
allow you to work with stored procedures and ref cursors. Plenty, like clsql and Clisps
Oracle DB extension would allow you to do basic SQL queries, but none
would allow you to call a stored procedure and have access to all Oracle
parameter type (IN, OUT and IN OUT) or ref cursors (at least I couldn't
work it out from the docs or source code or experimentation).

After many many days of installing various libs, which in itself was
often painful, going through lots of docs, many of which were outdated,
incomplete or poorly written and even having compiled clisp extensions
etc, I had to give up.

I turned to perl. In less than half a day, I had things working via
Perl's DBI interface using the DBD::Oracle driver. Installation was
rediculously simple - essentially starting the perl CPAN shell and
asking it to install DBI and DBD::Oracle and it came with extensive and
well written comprehensive documentation. In half a day I had all the
tools working ans was able to concentrate on the problem I wanted to
work on rather than tyring to just get an environment that would let me
even start.

I'd prefer to be working with CL, but taht wasn't possible. Arguements
regarding which language is better or more powerful at a theoretical
level become pointless if you cannot use it to solve a real world
problem. This type of issue gets raised in this group frequently and the
general response is to attack the poster and become extremely defensive,
making all sorts of wild claims about CLs power and the ease at which
you can implement a library etc. However, the reality is that for many
problems, CL is not a good choice because it lacks the user base of
other languages such as perl and therefore lacks the extensive
repository of working useful libs that give the productive edge you need
to survive in the commercial world.

If, on the other hand, I want to experiment with some ideas or write
some software for pleasure or do something where I have the luxury of
time etc, I will likely use CL because it is one of the languages I
really enjoy programming in and which frustrates me less. It is
frequently the language I'll turn to if I want to try out something
unusual or a bit left of field where I don't want the preconceptions of
Larry, Gido or Matz getting in my way. However, if I want to get paid
for solving a problem and want to get a reasonable hourly rate, I'm
afraid CL will seldom be my first choice because I cannot rely on basic
library functionality being available and I don't ahve time to write
everyhting from scratch.

We probably need tobe a little less sensitive regarding criticisms of
CL. Sometimes, they are valid and we should listen and learn.

Tim

P.S. If anyone knows of a CL library that will allow me to interact with
an Oracle database AND allow me to call stored procedures, passing data
in both directions and access ref cursors, *PLEASE* let me know - I
would still prefer to use CL for these jobs over perl.





--
tcross (at) rapttech dot com dot au
From: Tim Bradshaw on
On 2010-03-11 02:58:54 +0000, Ron Garret said:

> And how am I supposed to know that if I don't know Perl?

This whole "Perl is really hard to learn" thing you have going on is
kind of intersting. I mean, one would think you could test this sort
of hypothesis by looking at the number of people who learn it. Oh,
damn.

From: Tamas K Papp on
On Thu, 11 Mar 2010 09:35:09 +0000, Tim Bradshaw wrote:

> On 2010-03-11 02:58:54 +0000, Ron Garret said:
>
>> And how am I supposed to know that if I don't know Perl?
>
> This whole "Perl is really hard to learn" thing you have going on is
> kind of intersting. I mean, one would think you could test this sort of
> hypothesis by looking at the number of people who learn it. Oh, damn.

I don't think that this is a binary outcome, with some people learning
Perl (or any other language) and others not. When can you claim that
you have "learned" a language? Probably it is a continuous variable,
most likely multidimensional.

Sure, there are a lot of people out there who know some Perl, but do they
know it well? For example, what would be the fraction of Perl
programmers who know the language at the level of MJD's Higher Order
Perl book?

Please don't misunderstand, I am not bashing Perl --- I think that it
is advantageous that you can write useful programs in it with a
minimal investment of learning. But to claim that people who can do
this have "learned" Perl may not be the best way to phrase it.

Tamas
From: Alessio Stalla on
On Mar 11, 8:32 am, Tim X <t...(a)nospam.dev.null> wrote:
>
> P.S. If anyone knows of a CL library that will allow me to interact with
> an Oracle database AND allow me to call stored procedures, passing data
> in both directions and access ref cursors, *PLEASE* let me know - I
> would still prefer to use CL for these jobs over perl.

If it's a viable option for you, you could use ABCL on the JVM and use
Oracle's JDBC driver.

Alessio