From: Tim X on
Alessio Stalla <alessiostalla(a)gmail.com> writes:

> 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.
>

Yes, I was thinking about that as a possible option. Don't know anything
about ABCL and was hoping to stick with a familiar ANSI implementation
such as SBCL or even CLISP. Don't know anything about the
interface/mapping between ABCL and java libs and wsn't sure if I was
going that route whether I would be better off just jumping into clojure
as I've been thinking about finding some project to try it out.

Is there much that would take getting accustomed to in ABCL that may
feel 'foreign' and how ANSI compliant is it?

thanks,

Tim


thanks for the suggestion

Tim

--
tcross (at) rapttech dot com dot au
From: ccc31807 on
On Mar 10, 11:47 pm, Ben Morrow <b...(a)morrow.me.uk> wrote:
> > WRT Perl, I agree that it's an ugly, convoluted, write once read never
> > language,
>
> No. No No No. *Your* Perl may be, but don't tarnish the rest of us with
> the same brush. It's perfectly possible to write readable Perl; indeed,
> IMHO, it's wasier to write readable Perl (with a little effort) than
> most other languages.

Ben, I like Perl a lot, and I've developed enough proficiency in Perl
to do useful work and earn a living with it. I said this with my
tongue partly in my cheek, and without meaning to give reasons for
avoiding it. People can consider Perl ugly with all the punctuation
characters, just as Larry Wall can consider Lisp ugly with all the
parens (his remark about Lisp looking like oatmeal with finger nail
clippings.)

The OO and reference hacks are also convoluted, with arrays and hashes
only holding scalar values. This caused the convoluted assignment
statements which you objected to, i.e., $hash{$anotherhash{$k}{'key}}
('realkey'}. If you keep your data structures in mind, it's easy to
write these references without thinking, but hard to read them when
the data structures are out of mind.

In the thread on c.l.l. ("another frustrating learner question, CLOS")
I wrote a fairly extended defense of REs, which was the original point
of RG's complaint about Perl. REs are also ugly, convoluted, and write
once read never bits of code, but they can also be beautiful, elegant,
and perfectly lucid bits of code as well, and at the same time, too.

This is one of the mysteries of life which we might as well accept, as
we can do nothing to change it.

CC.
From: Alessio Stalla on
On Mar 11, 1:17 pm, Tim X <t...(a)nospam.dev.null> wrote:
> Alessio Stalla <alessiosta...(a)gmail.com> writes:
> > 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.
>
> Yes, I was thinking about that as a possible option. Don't know anything
> about ABCL and was hoping to stick with a familiar ANSI implementation
> such as SBCL or even CLISP. Don't know anything about the
> interface/mapping between ABCL and java libs and wsn't sure if I was
> going that route whether I would be better off just jumping into clojure
> as I've been thinking about finding some project to try it out.

The Java access API is derived from ACL's jlinker (http://
www.franz.com/support/documentation/current/doc/jlinker.htm). The
notable differences are:

- ACL's API assumes the JVM is a different process, while ABCL runs in-
process, so it lacks all the functions for managing the connection
with the JVM; and

- ABCL's API has the option to be a bit less verbose, letting ABCL
choose automatically the method to call from the argument types, at
the cost of a runtime performance hit. For example: (jcall (jmethod
"java.lang.Comparable" "compareTo" "java.lang.Object") instance obj)
vs (jcall "compareTo" instance obj). There's also the JSS library
maintained by Alan Ruttenberg which is even less verbose, has more
features and is more efficient (wrt ABCL's abbreviated API).

> Is there much that would take getting accustomed to in ABCL that may
> feel 'foreign' and how ANSI compliant is it?

It is mostly ANSI compliant; it lacks the long form of define-method-
combination and fails 30-something tests from the GCL ANSI test suite
(IIRC 21k+ tests).
Compared to other, more mature implementations with a larger user
base, it lacks a number of things that are usually taken for granted;
for example, the MOP is incomplete, the debugger could be improved in
many ways (e.g. it doesn't show local variable information), the
compiler doesn't use type information very much, etc.
Oh, and it's the only CL implementation I know of where = fixnums are
not always EQ, due to boxing imposed by the JVM.

hth,
Alessio
From: Ron Garret on
In article <hnadgc$id4$1(a)news.eternal-september.org>,
Tim Bradshaw <tfb(a)tfeb.org> 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.

You would think you could test this sort of hypothesis by looking at the
number of people who learn it, but you would be wrong. C++ is clearly
harder to learn than, say, Scheme, and yet I'm pretty sure that more
people know C++ than know Scheme. Esperanto is easier to learn than
Mandarin, and yet more people know Mandarin.

rg
From: Martijn Lievaart on
On Wed, 10 Mar 2010 16:41:27 -0800, Ron Garret wrote:

> Why must those be the only possibilities? It was because the Perl code,
> which had been working fine for months, suddenly started failing
> silently and intermittently, and I was told there was no way to do the
> equivalent of wrapping the whole script in the equivalent of a
> TRY...EXCEPT form in order to catch the error. Whether this was in fact
> true or whether the entire engineering team was incompetent I do not
> know. But they seemed pretty bright and capable otherwise, so it would
> be pretty odd for them all to be mistaken about this.

If they didn't know about eval { original code here };, they were
incompetent. But there were probably other factors at work you didn't
tell about.

M4