From: Marc Battyani
Subject: Recommended way to developp applications for linux
Date: 
Message-ID: <CD2BFAE3F9DCEBD3.619201BC202965FC.1A0D6D0FE22DC5C5@lp.airnews.net>
I currently develop my Lisp application on FreeBSD for server applications
and on NT/W2K for desktop applications.
I have some clients who want the applications on Linux. So far I developed
them on FreeBSD or W2K and they have always moved smoothly to Linux (Lisp is
the only true write once run everywhere language). But I would like to setup
a Linux environment at least for testing and benchmarking.
From what I can see in another thread, All Lisp distributions are not equal.
So my question is : What is the recommended way to develop applications for
Linux. All my clients who have Linux have a commercial distribution,
generally Red Hat 7.1. Should I use this one or should I use Debian ? If I
use Debian can I tell them the tests and benchmarks results will be the same
or at least very similar for Red Hat. Or are Debian and Red Hat as different
as say, FreeBSD and Red Hat ?

Marc

From: Richard Krush
Subject: Re: Recommended way to developp applications for linux
Date: 
Message-ID: <9r2vco$qpekm$1@ID-60069.news.dfncis.de>
Marc Battyani <·············@fractalconcept.com> wrote:
> I currently develop my Lisp application on FreeBSD for server applications
> and on NT/W2K for desktop applications.
> I have some clients who want the applications on Linux. So far I developed
> them on FreeBSD or W2K and they have always moved smoothly to Linux (Lisp is
> the only true write once run everywhere language). But I would like to setup
> a Linux environment at least for testing and benchmarking.
> From what I can see in another thread, All Lisp distributions are not equal.
> So my question is : What is the recommended way to develop applications for
> Linux. All my clients who have Linux have a commercial distribution,
> generally Red Hat 7.1. Should I use this one or should I use Debian ?

Although I am not a Linux expert in any way, I would still like to share
what I have heard and what I have experienced during my days of Linux
(right now I am using FreeBSD).

From what I have heard, Debian would be more suitable for Lisp development
since it has a wide range of CL-related packages available. RedHat,
however, also has a package system, but AFAIK, the choice of CL packages is
very limited.

> If I use Debian can I tell them the tests and benchmarks results will
> be the same or at least very similar for Red Hat. Or are Debian and Red
> Hat as different as say, FreeBSD and Red Hat ?

Of course two Linux distrubutions would not be as different as FreeBSD and
a Linux distrubution, I would think there would be many differences on the
sustem level. However, as you said, since CL is a trully portable language
and you are always working in an environment, which is also portable, I am
quite sure the performance would not vary significantly.

Hope this helps,
 rk

P.S. Again, since I am not a Linux expert or even an experienced Linux
user, I would recommend that you get a second opinion on these things
before deciding anything.

-- 
 Richard Krushelnitskiy   "I know not with what weapons World War III will
 ·········@gmx.net         be fought, but World War IV will be fought with
 http://rkrush.cjb.net     sticks and stones." -- Albert Einstein
From: Craig Brozefsky
Subject: Re: Recommended way to developp applications for linux
Date: 
Message-ID: <87sncaju6r.fsf@piracy.red-bean.com>
Richard Krush <·········@gmx.net> writes:

> From what I have heard, Debian would be more suitable for Lisp development
> since it has a wide range of CL-related packages available. RedHat,
> however, also has a package system, but AFAIK, the choice of CL packages is
> very limited.

We have developed our application on Debian, and support Debian and
Red Hat deployments.  All of our development is done on Debian boxen,
using the CMUCL, ILISP, Emacs and Postgres packages.  It's a very
productive environment for us and we have only run into a few problems
with CMUCL and Postgres, all of which we've solved.  The supporting
libraries we've developed, IMHO and UncommonSQL and a few smaller
ones, have been packaged as .debs by Rahul Jain and as in cclan I
believe.  We've not completely incorporated his packaging work into
our CVS repositories for those packages, but he has been keeping them
up to date.  Thanx Rahul!

I am a big Debian fan myself, and I am a registered developer
(maintainer of ILISP, ex-maintainer of guile), and our CIO, Adam
DiCarlo is a big Debian contributor as well, maintaining
boot-floppies, install docs, and lots of SGML related stuff.  We've
got alot of experience with it in-house so it was the obvious choice
for us.  Also the Debian packages for CMUCL and common-lisp-controller
and all the CCLAN stuff make it a very easy platform in terms of
support and setup.

In terms of development support, Debian has packages for CVS and all
kinds of supporting tools.  We do all of our documentation in SGML,
using the Debian docbook support.  We use bugzilla and tinderbox as
well.  For deployment support, the debian packages for Webmin are
wonderful, and we've written webmin modules to control our
application, which we will be deploying in our next release.

Our application itself is not presently deployed as Debian packages,
we deploy via CVS instead.  We are working on changing this, making
rpms and debs of it now that the supporting libraries have been
packaged and we havea better understanding of how we want it to work.

We've run evaluation versions of LispWorks on Debian, in order to port
USQL, and have not run into significant problems with installation or
runtime operation.  In that situation we used LW's via ILISP,
rebuilding our image without the GUI shell.

As far as complaints about Debian or Linux and the CL support goes, I
have very few.  CMUCL is missing some nice things, Christopher Vogt
has alot of experience with Symbolics and other Lisp systems and did
some work for us and he had some well-formed complaints about this
environment, perhaps he can contribute those.  The ones I remember are
the lack of "who-calls" information and some debugger deficiencies.

> > If I use Debian can I tell them the tests and benchmarks results will
> > be the same or at least very similar for Red Hat. Or are Debian and Red
> > Hat as different as say, FreeBSD and Red Hat ?

We've not noticed significant performance differences between the
Linux distributions, but we have not done any benchmarking in a formal
sense.  Our largest installations run Debian, as do all of our
development and testing instances around the office.

-- 
Craig Brozefsky                             <·····@red-bean.com>
                                  http://www.red-bean.com/~craig
The outer space which me wears it has sexual intercourse. - opus
From: Marc Battyani
Subject: Re: Recommended way to developp applications for linux
Date: 
Message-ID: <34A0804C6C076F6E.E073FEC9719B72DA.DA07B934D2789265@lp.airnews.net>
Thanks to all,

I'm downloading Debian and Red Hat.
I will look at Debian as a dev environment, and Red Hat as a test
environment.
I've ordered a new Dell notebook with a 48Gb hard disk, so that I can
install those 2 Linux + FreeBSD 4.4 and W2K...

Marc
From: Doug Alcorn
Subject: Re: Recommended way to developp applications for linux
Date: 
Message-ID: <87k7xl3u2u.fsf@balder.seapine.com>
Craig Brozefsky <·····@red-bean.com> writes:

> We have developed our application on Debian, and support Debian and
> Red Hat deployments.  All of our development is done on Debian boxen,
> using the CMUCL, ILISP, Emacs and Postgres packages.

[snip beautiful development environment]

Can I come work for you?

-- 
 (__) Doug Alcorn (···········@lathi.net http://www.lathi.net)
 oo / PGP 02B3 1E26 BCF2 9AAF 93F1  61D7 450C B264 3E63 D543
 |_/  If you're a capitalist and you have the best goods and they're
      free, you don't have to proselytize, you just have to wait. 
From: Rahul Jain
Subject: Re: Recommended way to developp applications for linux
Date: 
Message-ID: <87bsiwyb4m.fsf@photino.sid.rice.edu>
Craig Brozefsky <·····@red-bean.com> writes:

> The supporting libraries we've developed, IMHO and UncommonSQL and a
> few smaller ones, have been packaged as .debs by Rahul Jain and as
> in cclan I believe.  We've not completely incorporated his packaging
> work into our CVS repositories for those packages, but he has been
> keeping them up to date.  Thanx Rahul!

No problem, Craig :) Actually, Adam told me about your internal effort
to get the c-l-c-ization done on your own source tree, and he has
published some debs, but they miss fixing one important problem I
encountered. Also, my debs aren't quite perfect, but I'm looking into
modifying the new debs that Adam made available off alpha.onshored.com
so that they work around the issues I faced. (Specifically, that the
backends need to be compiled via c-l-c, too.)

> The ones I remember are the lack of "who-calls" information and some
> debugger deficiencies.

The lack of who-calls was brought up on the cmucl list some time back,
and some ideas were thrown around. However, I don't know that anything
was actually done. The impression I got was that the information for
the who-calls database would need to be collected at compile-time,
ideally (otherwise the who-calls feature would have to scan
code-vectors for instructions that looked like function calls and
figure out what function they were calling).

> We've not noticed significant performance differences between the
> Linux distributions, but we have not done any benchmarking in a formal
> sense.  Our largest installations run Debian, as do all of our
> development and testing instances around the office.

There should be little, if any, performance difference between the
same versions of the same applications on different distros. The real
benefit of Debian is that you get a complete, consisitent, and
maintainable environement in which to hack lisp. Instead of searching
all around and manually hacking on Unix stuff, you get to just install
what you want and use it, leaving more time for lisp.

-- 
-> -/-                       - Rahul Jain -                       -\- <-
-> -\- http://linux.rice.edu/~rahul -=- ·················@usa.net -/- <-
-> -/- "I never could get the hang of Thursdays." - HHGTTG by DNA -\- <-
|--|--------|--------------|----|-------------|------|---------|-----|-|
   Version 11.423.999.220020101.23.50110101.042
   (c)1996-2000, All rights reserved. Disclaimer available upon request.
From: Tijs van Bakel
Subject: Re: Recommended way to developp applications for linux
Date: 
Message-ID: <lumwv1jvl22.fsf@dutiaw13.twi.tudelft.nl>
Rahul Jain <·····@sid-1129.sid.rice.edu> writes:

> The lack of who-calls was brought up on the cmucl list some time back,
> and some ideas were thrown around. However, I don't know that anything
> was actually done. The impression I got was that the information for
> the who-calls database would need to be collected at compile-time,
> ideally (otherwise the who-calls feature would have to scan
> code-vectors for instructions that looked like function calls and
> figure out what function they were calling).

With kind help from the CMUCL list, I have been able to implement the
latter suggestion to work with ILISP.  This worked reasonably well for
ordinary functions, but I stopped experimenting when CLOS methods
proved to be more difficult to cope with.

Making the compiler maintain a database for this would certainly take
too much of my time, but now that I see that I am not the only one
interested in this feature, I will retry extending the simple method
to handle CLOS.

--
Tijs van Bakel, <·····@wanadoo.nl>
From: Friedrich Dominicus
Subject: Re: Recommended way to developp applications for linux
Date: 
Message-ID: <87bsiyubuk.fsf@frown.here>
"Marc Battyani" <·············@fractalconcept.com> writes:

> I currently develop my Lisp application on FreeBSD for server applications
> and on NT/W2K for desktop applications.
> I have some clients who want the applications on Linux. So far I developed
> them on FreeBSD or W2K and they have always moved smoothly to Linux (Lisp is
> the only true write once run everywhere language). But I would like to setup
> a Linux environment at least for testing and benchmarking.
> From what I can see in another thread, All Lisp distributions are not equal.
> So my question is : What is the recommended way to develop applications for
> Linux.
This can't be answered and I'm sure you know that.


>All my clients who have Linux have a commercial distribution,
> generally Red Hat 7.1. Should I use this one or should I use Debian
>?
Well in that case I would suggest you use what you customer uses. If
you want more for whatever reason than you can of course use Debian.


>If I
> use Debian can I tell them the tests and benchmarks results will be the same
> or at least very similar for Red Hat. Or are Debian and Red Hat as different
> as say, FreeBSD and Red Hat ?
Well the all run Linux Kernel. And you're usually better
of to compiler a kernel for you special needs. If they both use the
same kernel version and C-compiler I can't see where differences
should slide in.

Regards
Friedrich
From: Tim Bradshaw
Subject: Re: Recommended way to developp applications for linux
Date: 
Message-ID: <ey3wv1md9ym.fsf@cley.com>
* Friedrich Dominicus wrote:
> Well the all run Linux Kernel. And you're usually better
> of to compiler a kernel for you special needs. If they both use the
> same kernel version and C-compiler I can't see where differences
> should slide in.

> Regards

Some obvious places are different options when compiling it, but
perhaps more significantly different filesystems can have fairly
different characteristics, so if the code is I/O bound you may well
see a difference there.

--tim
From: Will Deakin
Subject: Re: Recommended way to developp applications for linux
Date: 
Message-ID: <3BD543B6.10908@hotmail.com>
Marc Battyani wrote:

> So my question is : What is the recommended way to develop applications for
> Linux. All my clients who have Linux have a commercial distribution,
> generally Red Hat 7.1. Should I use this one or should I use Debian ?

For me, the nub of this is: are you running a test or a development platform?

  If this is a test platform -- which is what you indicate -- then you 
should try and mirror (as much as you can) the system. You need to bite the 
bullet and go through the Red Hat cruft.

If, however, ease of administration, stability is important and you want to
develop code under linux then, FWIW, I would seriously recommend debian.

> If I use Debian can I tell them the tests and benchmarks results will be the 

> same or at least very similar for Red Hat.

For functional testing, this is then a porting issue and I would see the 
differences between compilers to be more significant here that the platform
you are running.

Benchmarking is different. The major differences for benchmarking stuff (as 
Tim Bradshaw has already pointed out) is IO. What options are used to build 
the kernel and which glibc version is used will be more significant. Also, 
since Linux runs a stack of different file systems: ext2 (the default), 
DOS/Windows partitions (not recommended),  or a plethora of different 
journaled file systems these will have a more significant impact than `is 
this Red Hat' or `is this Debian'.

> Or are Debian and Red Hat as different as say, FreeBSD and Red Hat ?

In general, no. They have a common heritage of file system, kernel code and 
c-libraries. FreeBSD and Red Hat share *some* of the same c-libraries.

:)w
From: Vebjorn Ljosa
Subject: Re: Recommended way to developp applications for linux
Date: 
Message-ID: <cy31yjv82vu.fsf@ljosa.com>
* "Marc Battyani" <·············@fractalconcept.com>
| So my question is : What is the recommended way to develop applications for
| Linux. 

I'm not sure what you're asking here...could you elaborate?

| All my clients who have Linux have a commercial distribution,
| generally Red Hat 7.1. Should I use this one or should I use Debian ? 

I would say use Debian to reduce your own suffering, and slap in a
fresh Redhat installation on a separate partition should you ever need
to reproduce some bug that only occurs on Redhat.

-- 
Vebjorn Ljosa
From: ········@acm.org
Subject: Re: Recommended way to developp applications for linux
Date: 
Message-ID: <thkB7.11335$MG4.1453041@news20.bellglobal.com>
Vebjorn Ljosa <·····@ljosa.com> writes:
> * "Marc Battyani" <·············@fractalconcept.com>
> | So my question is : What is the recommended way to develop
> | applications for Linux.

> I'm not sure what you're asking here...could you elaborate?

I think you start by picking a text editor, a Lisp implementation, and
then go from there; 'tis not clear what other aspects of "recommended
way to develop applications" are appropriate to look to..

> | All my clients who have Linux have a commercial distribution,
> | generally Red Hat 7.1. Should I use this one or should I use
> | Debian ?

> I would say use Debian to reduce your own suffering, and slap in a
> fresh Redhat installation on a separate partition should you ever
> need to reproduce some bug that only occurs on Redhat.

The challenge here lies in that you might be using something like
CCLAN to keep your Debian tools up to date.  There is no equivalent
for Red Hat; anything having to do with packaging up more than just
the base CL environment will require a fair amount of effort put into
packaging-by-hand.  

And _that_ is _exactly_ where I would expect quite a lot of problems
to lie, in the differences between the environment provided for CL by
Debian (where there are some significant tools) as compared to that
provided by Red Hat (where there aren't many tools).
-- 
(concatenate 'string "aa454" ·@freenet.carleton.ca")
http://www.ntlug.org/~cbbrowne/linuxdistributions.html
lp1 on fire (One of the more obfuscated kernel messages)