comp.lang.ada
 help / color / mirror / Atom feed
From: Markus Kuhn <Markus.Kuhn@cl.cam.ac.uk>
Subject: Re: LZW
Date: 1998/02/20
Date: 1998-02-20T00:00:00+00:00	[thread overview]
Message-ID: <34ED83B2.49176D99@cl.cam.ac.uk> (raw)
In-Reply-To: 6cga98$lmv$1@news3.isdnet.net


Vicious wrote:
> I've not found any clean port of LZW in ADA.
> So can you send me please the result of your C to ADA translation?

I think, the best approach is to use an off-the-shelf
high-quality compression library in C such as the GNU zlib
available from the usual archives and call it using Ada95's
standardized C interfacing capabilities. If you are working
in a project where there is some "pure Ada" mandate that does
not even allow to reuse high-quality reusable widely-available
C components, then your bosses have something thoroughly
missunderstood about how to use Ada95 effectively in a project.

A reasonable mandate that you have to write your own new code in
Ada95 should never ban you from including existing C libraries. Note
that GNAT uses libc in the runtime library and that there exist
many useful C libraries out there (for JPEG compression,
LZW compression, bignum arithmetic, encryption, etc.) that
contain highly optimized assembler parts for quite some
architectures, etc. Given the excellent C interfacing capabilities
that Ada has, it would be a tremendous waste to reimplement these
just tohave them in Ada to fullfil some braindamaged pure-Ada
requirement.

Use Ada intelligently to get your project done quickly and do
not waste time to fulfill a silly mandatory buerocratic
doctrine by recoding existing highly optimized C code into
Ada.

It would be useful to write Ada95 wrappers for many of the
popular C libraries available from the GNU project and others.

Markus

-- 
Markus G. Kuhn, Security Group, Computer Lab, Cambridge University, UK
email: mkuhn at acm.org,  home page: <http://www.cl.cam.ac.uk/~mgk25/>




  reply	other threads:[~1998-02-20  0:00 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1998-02-16  0:00 LZW Vicious
1998-02-18  0:00 ` LZW Doug Haseltine
1998-02-17  0:00   ` LZW Robert Dewar
1998-02-19  0:00     ` LZW Doug Haseltine
1998-02-18  0:00   ` LZW John M. Mills
1998-02-19  0:00   ` LZW Vicious
1998-02-20  0:00     ` Markus Kuhn [this message]
1998-02-20  0:00       ` LZW Brian Rogoff
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox