I like haskell and many things connected with it as its type-engine, lot of packages at Hackage, nice community, active development etc.
Otoh, I had experience that some people gave up on our planned project considering Haskell too complicated (monads, lot of jargon from academia...) to grok (coming from C++ background), so it might be easier to bring some devs to our open-source project if we'd use D.
We want to develop general desktop application which needs to have database back-end (probably sqlite3), use C-lib for some extensive computational tasks (ephemeris calculation) and use Qt toolkit since we hope to provide 'light' version for MeeGo in the future.
Ability to document source-code easily as well as maintainance are impotant factors since our feature list is long and considering we'll develop in our free time, it may require long time to write everything what we'd like.
Python & other scripting languages are too slow for the project and I do not want go back to C++ after so many years, iow, prefer some more higher-level programming...Without going into too many details, I've excluded some other langauges as well (Go, Clojure, Java..) which brings list down to Haskell vs D.
One concern regarding D is that recetly QtD project was suspended, so I'm curious if in the short term one can even count D as adequate option.
Any pro/cons which one might be more suitable as general programming language covering Linux/MaC/Windows platforms?
Edit: Let me just add link to the post I sent to D list where I explain in more detail about our requirements.
Let's tease out some requirements here, and I'll try to make the Haskell case. Perhaps the D fans or others could try to do the same.
So Haskell's certainly used for desktop and server-side applications. The tools are available for all modern desktops, just using the Haskell Platform.
Well known database backends for Haskell, that have significant use, are HDBC-* and sqlite, though there are many others.
Other commercial groups that have used database-driven apps in Haskell include: Galois (our sqlite library is linked above); Deutsche Bank (see the talk); Hustler Turf Equipment (home of HDBC).
Haskell has a high level, widely used FFI, that is a standard part of Haskell 2010.
qtHaskell was developed for a commercial application, and is used by e.g. JoyRide Labs for their commercial games.
Haddock is widely used. Other analysis tools like: graphmod and sourcegraph also help with requirements documentation.
Several commercial users have cited purity and strong types as easing the maintainance burden for applications over long project cycles, as they make it easier to make local, safe changes to code. Purity reduces the complexity between components, and types ensure refactorings are sound.
Size of the community -- the open source Haskell community is thriving now, on par with other large FP languages (Erlang, Scala). The commercial users are funding direct development of GHC, ensuring its long term availability, and there are many experience reports to draw from. Hackage and Cabal help mitigate risk by making it easy to pull in new open source work -- saving you time.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With