[clean-list] Clean in the Real World

fzuurbie@inter.nl.net fzuurbie@inter.nl.net
Fri, 5 Dec 2003 09:25:50 UT


This is a multi-part message in MIME format.

--_----------=_1070616350187172
Content-Disposition: inline
Content-Length: 1741
Content-Transfer-Encoding: binary
Content-Type: text/plain

Bill,

> 1) Has Clean been used successfully for large, deployed,  production-
> grade
>     applications?

The Clean compiler, the Clean IDE, the Sparkle proof tool. Clean lacks exception handling though. If (a part of) an application runs out of stack or heap space, the application just quits. If you want to tell the user that a certain action cannot be completed because of a memory restriction, you have to detarmine the memory needs in advance (if you can) and explicitly program a test on that.

> 
> 2) How difficult is it to get a programming group experienced in, say,
> C,
>     Pascal and Assembler to get up-to-speed with Clean?
>     -- How expensive in training and ramp-up time?
> 

The experience is probably counter-productive.

> 3) How does Clean code compare in speed and memory use with imperative
>     languages?

Clean is supposed to be nearly as fast, but of course, see 4) below

> 
> 4) How great is the "distance" between Clean code designed for clarity
> and
>     Clean code designed for performance?
>     -- "academic" versus "real" code?

The compiler - written in Clean - was optimized for speed. Probably a number of higher order functions and other aspects that would further clarity have been hand-optimized away. The good news is that with the recent fusion algorithm a number of those hand-optimizations have been automated, so that code clarity can be retained fo future applications.

> 6) Would anyone recommend using Clean to handle complex logic involving
> access
>     to a multi-gigabyte database, in a transaction processing
> environment?
> 

Noone probably. I haven't heard about any interface from Clean to any database system.

Regards Erik Zuurbier
--_----------=_1070616350187172--