"Lambda Dance", Haskell polemic,... (Jerzy Karczmarczuk)

Dejan Jelovic djelovic@sezampro.yu
Tue, 3 Apr 2001 08:39:30 +0200


Jerzy Karczmarczuk wrote:

> 1. I didn't find ANYTHING about FP on your pages,
> only that accusations.

I already explained that was not an accusation.

How does it follow that since there's nothing else about FP on my website
that I "never had anything to do with functional languages"? Do you really
think that the 10 pages or so on my website describe the composite of
everything I ever did?

> 2. I don't remember any of your eventual contribution to discussion
> lists, newsgroups, etc. I might be wrong. Please give some references,
> publications, functional software, etc. I will apologize then
> immediately, with regret, but also with satisfaction that the Truth won.

I have never before posted anything on FP to any list or newsgroups. In fact
I subscribed to this list only when I saw your message in the list archives.

But that's irrelevant. Do you think that everybody that has ever used a
functional laguage has contributed to discussion lists and newsgroups?

> 3. Personally you don't care about Haskell. Your page *explicitly*
> discourages local people from touching functional languages, the
> category of people you want to hire is a very strong signal.
> A potential employer who does what you did serves the devil, don't
> try to suggest that this isn't relevant.

Nonsense. I'm hiring C++ and Java programmers because I need help with the
C++ and Java projects I do. I don't see how that would discourage anybody
from learning about other languages?

And why would you assume that I personally don't care about Haskell? You
seem to be piling these assumptions about me at random.

> 1. Saying that the Haskell community offers Hugs98, and not
> mentioning neither GHC, nor NHC is either incompetent or
> provocative.

Hugs is the distribution that's suggested to newcommers. It didn't seem
relevant to talk about other distributions if we are talking about people
migrating to Haskell.

> 2. A decent programming language *must* be stable. If the main
> criterion of the "quality" you attribute to programming languages
> is the speed of its modifications, I wonder what don't you accuse
> of staleness your favourite languages: Java and C++.

Again, wrong assumptions. Neither C++ nor Java are not my favourite
language. I don't have a favourite language.

The fact that Java has not grown for a number of years is a horror. The
language lacks support for types with value semantics, generic types and
other useful facilities. Those have all been proposed but Sun has not moved
to implement them.

C++ is more expressive. The only addition I can think of right now that
would be worth the added complexity would be Java-like inner classes and
anonymous classes and functions.

I was actually contemplating writing about the above things. But it just so
happened that I wrote about Haskell first. I don't understand why the order
in which I write things is bothering you? Or did you expect to come and find
a complete 200-page analysis of all popular programming languages?

But again, this is irrelevant. I was not talking about the language. In fact
I said that Haskell is superior to Python, Perl and Ruby at the very
beginning of my article. But the Haskell website and the _distributions_
seem to be moving at a slower pace.

> Hugs 2001????   Are you sure that you really know what does it mean
> a STANDARD?

Yes. Haskell 98 is a standard. Hugs is a product. It doesn't have to be
called Hugs 98. It can be called Hugs 2001, Hugs XP, Hugs ME, Visual Hugs :)
or any other attractive name.

Anybody programming in Haskell will benefit from other users migrating to
it. More users means more vendors and more libraries.

Perception is one of the factors that influences the number of users.
Commercial world knows this. Microsoft incremented the version of Word from
2.0 to 6.0 in order to avoid having Word perceived as less mature than
WordPerfect. The incremented the Visual C++ version from 2.0 to 4.0 in order
to match Borland C++. Sun called Java 1.2 "Java 2". Etc.

The examples above are extreme and, IMO, slightly dishonest. I just brought
them up to illustrate the point vividly. Calling the Hugs February 2001
distribution "Hugs 2001" is not dishonest, it's just good marketing.

> 1. Oh yes. Thousands of books about Ruby. Actually one, in Japanese.
>    Have you looked here:
>    http://www.haskell.org/bookshelf/
>    This is comparable with Python. Of course, Python IS more popular,
> but - -

I included Ruby in the trio because it fits the scripting language
phenomenon. Python is the one to compare against due to similar starting
positions.

Go to a bookstore. The fact that many books on Haskell have been published
doesn't mean that many people are buying them. The bookstores I visit in the
States have a number of books on Perl and Python. If they carry books on
Haskell at all that's usually one title hidden somewhere on the shelf.

Also, it is a known fact that books on specific products ("Teach Yourself
Visual C++ in 21 Days") greatly outsell books on programming languages ("The
C++ Programming Language"). Guess of which kind are Haskell books?

> 2. You neglect, and I suspect that you do it on purpose, that the main
> driving force behind the evolution of Haskell is *RESEARCH*. An issue
> absent from many "popular" languages which are meant to be
> immediately exploitable with very flat learning curve.

Flat learning curve is ideal. Since that's not possible, the smallest
possible barrier to entry is the next best thing. Why does that bother you?

>The documentation on line is sufficiently good that e.g. -
> my students won't even think about going and trying to buy a book.

No doubt. Ditto for Python and Java.

But that's besides the point. If Haskell was more popular the publishing
industry would be on the bandwagon. No? Remember, I brought up the number of
books sold as a way to gauge the popularity of Haskell in relation to
Python.

> Still, there are more publications on FP every month that I can
> digest. What about Python? Java?

Do you have _any_ idea what the average programmer is reading these days?
_Nothing_. Not one trade publication, not one book. (See "Rapid Development"
for statistics on this.)

DDJ is probably one of the most popular trade magazines. Its circulation is
155,000. What percentage of the working programmers is that?

How big is the membership in IEEE or ACM? How many practicing programmers
read IEEE Software, let alone any of the Journals?

All those publications on FP are _not_ reaching the average programmer.

> > BTW, you seem to be well-informed about who this Jelovic is. Why don't
you
> > share that knowledge with us? :)
>
> Oh, but I did.
> You seem to be a self-appointed specialist on functional languages, who
> expresses in public some very dubious truths, which I find harmful.

I never said I was a specialist. Do only specialists get a voice?

> > 1. I didn't accuse anybody of anything. I was just curious about why
people
> > aren't using Haskell and started to think about it.
>
> I understood this in such a way.

You seem to be the only one. On this list and off. Doesn't this tell you
anything?

> You are explicitly negative in your *judgement*.

I said that the language is good, but that the distributions are not good
enough to facilliate widespead use. A number of people on this list agreed.
Why is this giving you an ulcer?

> There are hundreds of libraries of Java classes and C++ classes
> and procedures which are distributed separately. The "standard"
> GNU distribution of C++ is quite limited, there is no point in
> overloading the standard environment by things whose usage
> is limited. The ease of installation is also important.

The standard Java library is actually quite comprehensive. I'd go so far to
say that it's one of the main reasons why Java has spread so quickly.

The standard C++ library is too small. That's a problem with C++. But the
language spread before GUIs and before the Web when people required less.

If Haskell is to have a chance its distribution(s) must have a comprehensive
library.

> BTW. the GHC "standard" distribution has an adequate amount of runtime
> support for normal tasks. It worked for me without any problem.

You underestimate the value of a large community and lots of vendors. In my
last project I had to manipulate some graphic files in various formats. For
C++ and Java I had turnkey solutions. (Java being better as it has a
standard Image class while for C++ no standard exists.) The closest thing I
found for Haskell is a GD wrapper with limited functionality.

> RRight. I found one point worth mentioning. Wonderful, splendid, and
> original. Hereby I declare that you are the winner of this discussion,
> and I am the loser.

Relax. I was just nitpicking in order to get a rise out of you.

So far you have used "silly", "incompetent", "accuse", "Truth", "serve the
devil", "moral", "nasty", "dubious" and "harmful". Funny how people are
eager to use such qualifications over the Internet but avoid saying them
when they have to look the other person in the eyes, don't you think?

You also didn't have the common courtesy and courage to CC: me on your
initial posting to this list.

Dejan
http://www.jelovic.com