
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_libraries http://haskell.org/haskellwiki/OOP_vs_type_classes http://haskell.org/haskellwiki/IO_inside http://www.haskell.org/bz/th3.htm -- Best regards, Bulat mailto:Bulat.Ziganshin@gmail.com

Hello Bulat, you are talking about the real world, but maybe it useful to think about, that the real world might have different forms, falls into different categories. What I mean: The real world for a computer game programmer, network service application developper, complex simulation software engineer, embedded system designer, business software developper or university researcher might look quite different.
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
This sounds like an economical problem, and although there are certainly the benefits you describe it is important to think about the cost and risk of learning a new skill. I was thinking about this lately at the post office where they trained a new employee to send packets. Although all the efforts they made to make this simple activity smooth for the customer, I realized that they made a mistake with pricing at the end. Because I was already on my way home, the mistake caused by training the new employee costed them 1euro50. To make training or teaching material successful, the content should focus on reducing potential mistakes or overengineering (= the cost and risk of learning something so "complicated" as a functional programming language). Regards, Patrick ___________________________________________________________ Der frühe Vogel fängt den Wurm. Hier gelangen Sie zum neuen Yahoo! Mail: http://mail.yahoo.de
participants (2)
-
Bulat Ziganshin
-
Patrick Mulder