Will Haskell be commercialized in the future?
Fri, 24 Nov 2000 20:18:55 +0100
> This is probably stating the obvious but...
> I'm not sure that impure features are necessary if you are thinking of
> using Haskell as a component language -- a component language
> which is functional -- which will be used for parts of systems where it is
> believed to be appropriate. I'm working on an industrial project in a
> university setting and (once I get this damned PhD written up) will be
> working on an image processing/archiving system. I plan to use Haskell as
> a language to be called from the main C++ code for those algorithms which
> are easy to code in Haskell but not in C++. I doubt that I'll be using
> anything which isn't pure functional (e.g., monads) simply because I can't
> conceive of any problem where using them wouldn't mean the particular
> algorithm wouldn't be better written in C++. I've been criticised
> (possibly rightly :-) ) for saying that part of the reason why functional
> languages aren't more widely used is that people who understand C regard
> them as weird. (This isn't theory--this is what the people I work with say
> to me; I may just work with atypical people :-) ) It seems much more
> likely that they'll become popular if they can enroach from being
> component languages, rather than expecting a full beach-head of whole
> systems being implemented entirely in functional languages.
> Of course, I'm wrong about lots of things...
I agree with you concerning the usage of functional languages for industrial
purposes. Of course, C/C++, Java, etc. are more common than Haskell. However,
there are specific "industrial" problems that can be solved much easier when
using a functional language - and in the "real world" that's quite often the
case. However, very often industry people don't see this - because they just
don't know the 'declarative alternative'!
In my opinion, there is a great chance for functional languages in industry,
but currently they are just not popular enough.
I also agree with you that the way of combining the two worlds of functional
and imperative programming and always to use the most suitable language is the
best possible solution. The integration of Haskell with other languages is
already quite good (I think of the FFI and tools like HaskellDirect). This
should be further improved!!, f.e. a support of CORBA would be useful.
However, I think, that also the (existing) impure part of Haskell is needed -
i.e. for interfacing with the outside world.