Hi,

I'm writing for this list hoping to get some good insights on what I'm
going to say.
I started with BASIC for Timex 2068/ZX Spectrum, then learned Pascal.
Had a lot of years when my programming was only some Access databases
and Excel macros.
After these 'gray' years, I became interested very much in programming
again and learned Python. More recently, I began projects in C and
C++.

C++ is a very complex language that I really dislike, although I'm
implementing my PhD research on it (about clustering), because of
speed of execution.
I like somehow C, because it's simpler and one can know what to
expect, even though I didn't have my graduation or other studies in
Computer Science or related fields.  And C is fast!
On the other hand, Python is slow at run time.  I began to like very
much, but the absence of (optional) static typing gave me some
problems trying to find bugs at runtime.
I also need programming for my job, although it's not exclusively a
programming job, many times I program in PHP, add some SQL and Bash.

I've heard of Lisp, but it always felt as not a "serious" thing, with
slow execution and aimed at smaller scripts or compiled programs.
These were my perceptions until recently.
Going from Lisp to Scheme, to Rebol, to Red Lang, reading a lot, I
came across PicoLisp and 'fell in love' with what is promised by the
language.  It's pratical...

So, right now, I'm at 41 years old, striving for simpleness, and I'm
looking for a programming language that I can adopt (hopefully)
through the rest of my life, maybe also to a career change aiming at
working at consultation in management/IT/decision-aid applications.

This is my context.
I'd appreciate some enlightenment on some topics.  Please consider
that I haven't learned Lisp yet!

I keep reading that execution speed is not very important.  Well, it
certainly depends on the subject. Computers are quicker nowadays but
the quantity of data is increasing at also an increasing rate.
So, for example, when considering a time series with 100 000 elements,
what is the magnitude of slowness that I can expect from PicoLisp
compared to C++? 20x?  And what about if the number of elements grow
by a factor of ten, can I expect the time to increase less than, 10x
or more than 10 times the previous?
This can be the difference between getting a small break and check
results after some minutes or to have to leave some computation
running all night.  And about memory consumption compared to the
benchmark C++?  I've read that PicoLisp has simplified structure
representations in memory, but I'd like to know some rough number
about it.

Another question is about the integrated database.  I use PostGresSQL
and MySQL to handle my data.  In MySQL, there are tables with +10
million rows, others with +10^4 only.  The idea to have an integrated
database is excellent, but at what speed? How much slower than those
two databases?  Can the fields be indexed somehow?

Continuing with the integrated database, is it possible to build
'queries' of several joins and unions using Pilog?

Now regarding PicoLisp and C++ integration.  I'd like to build a
project in some language (hope not to have to use C++) that uses a
POSIX C++ API in the financial arena.  I've seen several examples of
PicoLisp 'talking' to C and it's said that C and C++ share the same
protocol (ABI?).   Is it possible to build a PicoLisp program that
uses that C++ API (probably full of objects and complexities) for
input and output?  Can I learn from examples given in PicoLisp
documentation, or is it needed some CS degree to be able to decipher
the process?

In C, C++, I can access data structures via pointers for great speed.
I guess I can achieve the same in PicoLisp somehow, is is right so?
(remember I haven't get my feet wet in Lisp yet).

Now, for the two last questions:
It's said that normally PicoLisp will find some type errors during run
time at an early stage.  But since I got burnt with Python in the
past, I'd like to know if there are tests available or easily
programmable to force some variables to only accept values of some
type.  With lint?

Since PicoLisp is interpreted and since the original author Alexander
Burger builds and sells himself applications for clients, isn't there
an issue that the code is given as is to those clients? Or is there
some JIT code that can be build that hides somehow the code from the
users?

If you got down here, thank you for reading my long message.


Luis
-- 
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe

Reply via email to