[Haskell-cafe] Non-technical Haskell question

Georg Martius mai99dgf at studserv.uni-leipzig.de
Fri Dec 3 17:18:10 EST 2004

Hi All,

On Fri, 03 Dec 2004 10:05:21 -0500, Jason Bailey <azrael at demonlords.net> wrote:

> Jules Bean wrote:
> I don't think you can really compare Haskell with the C's. C/C++, for
> the time being, is the basis of most low level api's. They don't really
> need a large standard library because their packages  are available
> everywhere and are easily installed and updated.  Other languages, such
> as Perl, Java, Python, need to supply their own extensive libraries just
> to compete.. To say in fact... look you can do whatever you want in our
> language just as you could in C/C++.
> Haskell has been around for quite a while, longer then Java or Python,
> and almost as long as Perl. Yet it doesn't have half the inherent
> library functionality that these other languages have. I find it
> curious. I like Haskell and I think it has a lot of promise. I just
> don't see why this problem exists.

The standart library is not that bad as you state here. Okay, programming languages like Python ship everything including the kitchen sink with their "standard libraries", but Perl for example lives from CPAN and not from the standard libraries. What we need is an easy to handle package system and an online resource like CPAN. Cabal and Hackage are on the way to support that.
The fact that Java, Perl and so on have more powerful libraries is just because there is a much larger community and also companies involved. I believe that Haskell has a very large potential also in real world programming, since one can produce more stable code in much less time. The reason why it is not so popular is because it is different from what people know and people tent to use known things. OO programming didn't conquer the world over night either. Smalltalk and Eiffel have been around for a very long time until C++ and Java came up and conquered the world. Functional programming is certainly not new and LISP for example is known and used quite a lot. I mean it needs time to get Haskell it the mind of the programmers around the world and since it is teached at some universities there is a good chance to increase the popularity over time. If there is a demand the consulting and training companies will be there, the other way around doesn't work IMHO.

>>>  and how complitaion and linking is handled feels antiquated.
>> Can you be more specific here?
> First off let me say that I come from a world of Java. With the
> occasional foray into scripting languages and I only do C when forced.
> So yes I am spoiled :)
> When I compile a language I expect to do some simple command and have a
> single end result that is dynamically linked.
> One of the first things I wrote to get a feel of Haskell was a small
> program that popped open a gtk window with a button and every time I
> clicked the button it incremented a counter.
>  When I compile it I get three files, an actual runnable binary (at only
> 5M in size), a .o file and a .hi file. I'm sure these additional files
> are usefull in someway and as soon as I come across the right piece of
> documentation everything should make sense. But as a person new to the
> language I'm just left wondering why.

Why the hell do you care about intermediate files generated by the compiler. I am sure they make perfectly sense and the main point is: you don't have to care about them at all. The --make option and the automatic module chaising of ghc is perfect and I can't see what else you need and what javac can do better. Another thing I like to state here is that I have never seen a compiler that produces that nice error messages as ghc does. Considering the fact that type and class errors and be quite difficult it does a extremly good job in my eyes.



---- Georg Martius,  Tel: (+49 34297) 89434 ----
------- http://www.flexman.homeip.net ---------

More information about the Haskell-Cafe mailing list