Hello haskell-cafe,
first, i should say that i'm real-world programmer with 15 years
experience. and my experience taught me that programming language in first
place should allow to express complex algorithms easily, factor out any
code patterns, and facilitate development of error-proof programs. from
several tens of languages that i know, Haskell is best in these areas and
therefore i think that it is the best language for professional program
development
i've written several medium-sized apps and libs in Haskell so i somewhat
know how to write real-world programs here, and have written a few pages
that may help other haskellers to grok tricky parts of Haskell
the note on lambdadot mentioned here don't contain anything new for us -
the problems are the same as for any other not-so-popular language. there
is even Wadler's paper "Why Haskell will NOT become popular" which said
exactly the same: while language itself is great, we lack in areas of
libraries, tools/IDEs, and information support (teaching, books,
training...); i call all these things "infrastructure". Moreover, for any
other language not in "top 5" list, you will found just the same problems
Is this means that developers of C# and Java are only smart guys and all
other are suckers? No, it's just chicken-and-egg problem - development of
rich infrastructure needs large number of developers and gathering large
number of interesting developers needs rich infrastructure. the only thing
we cam do now is to find "critical points", where small improvements may
give significant overall changes and address these problems
one of such points may be the book for commercial programmers that will
show them how their real programs can be written Haskell and convince them
that Haskell really cuts off development cycle and increase software
reliability
a few pages that i already wrote may be considered as precursors of such
book and i will be glad to take part in this work but only if this book
will be online-available. not everyone prefers (or even can) order the
paper book. it should be allowed to translate book to other languages too
next question - how this book should be organized. i think that it should
contain two parts: first, we should look which concepts are already
described in YAHT and other introductory books, and cover all remaining
concepts that will be required for professional programming. second part
will describe process of development real program(s) which use all
above-mentioned concepts. we can even start with second part just to find
which concepts will be required in first part. of course, first part should
also contain small examples for each described detail, because it's better
one time to look rather than 100 times to hear
my a few pages:
http://haskell.org/haskellwiki/Modern_array_librarieshttp://haskell.org/haskellwiki/OOP_vs_type_classeshttp://haskell.org/haskellwiki/IO_insidehttp://www.haskell.org/bz/th3.htm
--
Best regards,
Bulat mailto:Bulat.Ziganshin at gmail.com